diff --git a/deploy/jc-web-im-update.sh b/deploy/jc-web-im-update.sh new file mode 100755 index 0000000..776283c --- /dev/null +++ b/deploy/jc-web-im-update.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash +set -euo pipefail + +CONFIG_FILE=${JC_WEB_IM_UPDATE_CONFIG:-/etc/jc-web-im-update.conf} +STATE_DIR=/var/lib/jc-web-im-update +LOCK_FILE=/run/lock/jc-web-im-update.lock + +if [[ ! -r "$CONFIG_FILE" ]]; then + echo "Missing configuration: $CONFIG_FILE" >&2 + exit 1 +fi + +# shellcheck source=/dev/null +source "$CONFIG_FILE" + +: "${REPO_DIR:?REPO_DIR is required}" +: "${WEB_ROOT:?WEB_ROOT is required}" +: "${BRANCH:=main}" + +case "$REPO_DIR" in + /opt/jc-web-im-release|/opt/jc-web-im-release-*) ;; + *) echo "Unsafe REPO_DIR: $REPO_DIR" >&2; exit 1 ;; +esac +case "$WEB_ROOT" in + /var/www/jc-web-im|/var/www/jc-web-im-*) ;; + *) echo "Unsafe WEB_ROOT: $WEB_ROOT" >&2; exit 1 ;; +esac + +mkdir -p "$STATE_DIR" +exec 9>"$LOCK_FILE" +flock -n 9 || { + echo "Another update is already running" + exit 0 +} + +git -C "$REPO_DIR" fetch --quiet origin "$BRANCH" +TARGET_COMMIT=$(git -C "$REPO_DIR" rev-parse "origin/$BRANCH") +CURRENT_COMMIT=$(cat "$STATE_DIR/last_deployed" 2>/dev/null || true) + +if [[ "$TARGET_COMMIT" == "$CURRENT_COMMIT" ]]; then + echo "Already current: $TARGET_COMMIT" + exit 0 +fi + +git -C "$REPO_DIR" reset --hard --quiet "$TARGET_COMMIT" +DIST_DIR="$REPO_DIR/dist" +[[ -f "$DIST_DIR/index.html" ]] || { + echo "Missing dist/index.html at $TARGET_COMMIT" >&2 + exit 1 +} + +while IFS= read -r asset; do + [[ -f "$DIST_DIR/$asset" ]] || { + echo "Missing referenced asset: $asset" >&2 + exit 1 + } +done < <(sed -nE 's/.*(css\/[^" ]+|js\/[^" ]+).*/\1/p' "$DIST_DIR/index.html") + +find "$DIST_DIR/api" -type f -name '*.php' -print0 | + xargs -0 -r -n1 php -l >/dev/null + +BACKUP_DIR="/var/backups/jc-web-im/$(date +%Y%m%d-%H%M%S)" +mkdir -p "$BACKUP_DIR" +[[ -f "$WEB_ROOT/index.html" ]] && cp -a "$WEB_ROOT/index.html" "$BACKUP_DIR/" +[[ -f "$WEB_ROOT/config/runtime-config.js" ]] && { + mkdir -p "$BACKUP_DIR/config" + cp -a "$WEB_ROOT/config/runtime-config.js" "$BACKUP_DIR/config/" +} + +mkdir -p "$WEB_ROOT" +rsync -a --exclude='/config/runtime-config.js' "$DIST_DIR/" "$WEB_ROOT/" +chown -R www-data:www-data "$WEB_ROOT" +printf '%s\n' "$TARGET_COMMIT" >"$STATE_DIR/last_deployed" + +echo "Deployed: $TARGET_COMMIT -> $WEB_ROOT" diff --git a/dist/api/contacts.php b/dist/api/contacts.php index 31cd0f1..4fd62a4 100644 --- a/dist/api/contacts.php +++ b/dist/api/contacts.php @@ -34,6 +34,11 @@ try { } catch (Throwable) { $remarkMap = []; } + try { + $friendAliasMap = fetchImFriendAliasMap(imDb(), $userId, $friendIds); + } catch (Throwable) { + $friendAliasMap = []; + } $contactsByUid = []; foreach (array_values(array_filter($usersResult['userInfos'] ?? [], 'is_array')) as $user) { @@ -41,16 +46,7 @@ try { if ($uid === '' || isset($contactsByUid[$uid])) { continue; } - $alias = ''; - try { - $aliasResult = requireImSuccess( - imAdminPost('/admin/friend/get_alias', ['operator' => $userId, 'targetId' => $uid]), - '联系人备注加载失败' - ); - $alias = trim((string)($aliasResult['alias'] ?? '')); - } catch (Throwable $error) { - $alias = ''; - } + $alias = $friendAliasMap[$uid] ?? ''; if ($alias === '') { $alias = $remarkMap[$uid] ?? ''; } diff --git a/dist/api/conversation_actions.php b/dist/api/conversation_actions.php index c9679dd..282e7fe 100644 --- a/dist/api/conversation_actions.php +++ b/dist/api/conversation_actions.php @@ -70,6 +70,8 @@ function webGroupConversation(array $group, string $role = 'member'): array 'line' => 0, 'category' => $category, 'role' => $role, + 'nativeStatus' => (string)($group['native_status'] ?? ''), + 'nativeError' => (string)($group['native_error'] ?? ''), ], ]; } @@ -176,6 +178,48 @@ function createNativeGroup(string $operator, string $groupId, string $name, stri ]), '原生群组创建失败'); } +function fetchNativeGroupInfo(string $groupKey): array +{ + $payloads = [ + ['group_id' => $groupKey], + ['groupId' => $groupKey], + ['target_id' => $groupKey], + ]; + $lastError = null; + + foreach ($payloads as $payload) { + try { + return requireImSuccess(imAdminPost('/admin/group/get_info', $payload), '群组不存在'); + } catch (Throwable $error) { + $lastError = $error; + } + } + + throw new RuntimeException($lastError ? ($lastError->getMessage() ?: '群组不存在') : '群组不存在'); +} + +function nativeGroupInfoValue(array $native, string $key, string $fallback = ''): string +{ + $sources = [$native]; + if (is_array($native['group_info'] ?? null)) { + $sources[] = $native['group_info']; + } + if (is_array($native['group'] ?? null)) { + $sources[] = $native['group']; + if (is_array($native['group']['group_info'] ?? null)) { + $sources[] = $native['group']['group_info']; + } + } + + foreach ($sources as $source) { + if (isset($source[$key]) && (string)$source[$key] !== '') { + return (string)$source[$key]; + } + } + + return $fallback; +} + function addNativeGroupMember(string $operator, string $groupId, string $userId): void { requireImSuccess(imAdminPost('/admin/group/member/add', [ @@ -425,11 +469,134 @@ function currentMuteSetting(PDO $appDb, string $groupId): array ]; } +function nativeGroupRoleFromType(mixed $type): string +{ + $value = (int)$type; + if ($value === 2) { + return 'owner'; + } + if ($value === 1) { + return 'admin'; + } + + return 'member'; +} + +function fetchNativeGroupWithMember(PDO $imDb, string $groupId, string $userId): array +{ + $statement = $imDb->prepare( + 'select g.*, m.`_type` as `member_type`, m.`_alias` as `member_alias`' + . ' from `t_group` g' + . ' join `t_group_member` m on m.`_gid` = g.`_gid`' + . ' where g.`_gid` = ? and g.`_deleted` = 0 and m.`_mid` = ? limit 1' + ); + $statement->execute([$groupId, $userId]); + $group = $statement->fetch(); + + return is_array($group) ? $group : []; +} + +function ensureNativeGroupMember(PDO $imDb, string $groupId, string $userId): array +{ + $group = fetchNativeGroupWithMember($imDb, $groupId, $userId); + if ($group) { + return $group; + } + + $exists = $imDb->prepare('select 1 from `t_group` where `_gid` = ? and `_deleted` = 0 limit 1'); + $exists->execute([$groupId]); + if ($exists->fetchColumn()) { + respond(403, '你不在该群组中'); + } + + respond(404, '没有找到该群组'); +} + +function nativeGroupDetailAction(PDO $imDb, string $userId, string $groupId): array +{ + $group = ensureNativeGroupMember($imDb, $groupId, $userId); + $ownerId = (string)($group['_owner'] ?? ''); + $users = fetchWebUserMap($imDb, [$ownerId, $userId], $userId); + $owner = $users[$ownerId] ?? ['uid' => $ownerId, 'displayName' => $ownerId, 'contactAlias' => '']; + $me = $users[$userId] ?? ['uid' => $userId, 'displayName' => $userId]; + $myAlias = (string)($group['member_alias'] ?? ''); + + return [ + 'group' => [ + 'groupId' => (string)$group['_gid'], + 'name' => (string)($group['_name'] ?? ''), + 'category' => 'group', + 'announcement' => '', + 'welcomeText' => '', + 'ownerUid' => $ownerId, + 'ownerName' => (string)($owner['contactAlias'] ?? '') !== '' ? (string)$owner['contactAlias'] : (string)$owner['displayName'], + 'myRole' => nativeGroupRoleFromType($group['member_type'] ?? 0), + 'myAlias' => $myAlias, + 'myDisplayName' => $myAlias !== '' ? $myAlias : (string)$me['displayName'], + 'muteSetting' => [ + 'mode' => 'off', + 'scheduleType' => 'once', + 'startsAtMs' => 0, + 'endsAtMs' => 0, + 'dailyStart' => '', + 'dailyEnd' => '', + 'enabled' => false, + ], + 'native' => true, + ], + ]; +} + +function nativeGroupMembersAction(PDO $imDb, string $userId, string $groupId): array +{ + ensureNativeGroupMember($imDb, $groupId, $userId); + + $statement = $imDb->prepare( + 'select `_mid`, `_alias`, `_type`, `_create_dt` from `t_group_member`' + . ' where `_gid` = ? order by (`_type` = 2) desc, (`_type` = 1) desc, `_create_dt` asc limit 500' + ); + $statement->execute([$groupId]); + $members = $statement->fetchAll(); + $users = fetchWebUserMap($imDb, array_column($members, '_mid'), $userId); + + return [ + 'members' => array_map(static function (array $member) use ($users): array { + $uid = (string)$member['_mid']; + $user = $users[$uid] ?? [ + 'uid' => $uid, + 'displayName' => $uid, + 'mobile' => '', + 'portrait' => '', + 'contactAlias' => '', + 'friendAlias' => '', + 'remarkAlias' => '', + 'isContact' => false, + ]; + $alias = trim((string)($member['_alias'] ?? '')); + $contactAlias = trim((string)($user['contactAlias'] ?? '')); + return [ + 'uid' => $uid, + 'role' => nativeGroupRoleFromType($member['_type'] ?? 0), + 'alias' => $alias, + 'contactAlias' => $contactAlias, + 'friendAlias' => trim((string)($user['friendAlias'] ?? '')), + 'remarkAlias' => trim((string)($user['remarkAlias'] ?? '')), + 'isContact' => (bool)($user['isContact'] ?? false), + 'displayName' => $contactAlias !== '' ? $contactAlias : ($alias !== '' ? $alias : (string)$user['displayName']), + 'rawDisplayName' => (string)$user['displayName'], + 'groupDisplayName' => $alias, + 'mobile' => (string)($user['mobile'] ?? ''), + 'portrait' => (string)($user['portrait'] ?? ''), + ]; + }, $members), + ]; +} + function groupDetailAction(PDO $imDb, PDO $appDb, string $userId, string $groupId): array { $group = fetchWebGroup($appDb, $groupId); if (!$group) { - respond(404, '没有找到该群组'); + return nativeGroupDetailAction($imDb, $userId, $groupId); } $member = fetchWebGroupMember($appDb, $groupId, $userId); if (!$member) { @@ -462,7 +629,7 @@ function groupDetailAction(PDO $imDb, PDO $appDb, string $userId, string $groupI function groupMembersAction(PDO $imDb, PDO $appDb, string $userId, string $groupId): array { if (!fetchWebGroupMember($appDb, $groupId, $userId)) { - respond(403, '你不在该群组中'); + return nativeGroupMembersAction($imDb, $userId, $groupId); } $statement = $appDb->prepare( @@ -512,7 +679,10 @@ function updateGroupAliasAction(PDO $appDb, string $userId, string $groupId, str respond(400, '本群昵称过长'); } if (!fetchWebGroupMember($appDb, $groupId, $userId)) { - respond(403, '你不在该群组中'); + ensureNativeGroupMember(imDb(), $groupId, $userId); + $update = imDb()->prepare('update `t_group_member` set `_alias` = ? where `_gid` = ? and `_mid` = ?'); + $update->execute([$alias, $groupId, $userId]); + return ['alias' => $alias]; } $now = webImNowMs(); @@ -781,8 +951,16 @@ function joinWebGroupAction(PDO $appDb, string $userId, string $groupKey): array $group = fetchWebGroup($appDb, $groupKey); if (!$group) { try { - $native = requireImSuccess(imAdminPost('/admin/group/get_info', ['groupId' => $groupKey]), '群组不存在'); + $native = fetchNativeGroupInfo($groupKey); $now = webImNowMs(); + $nativeGroupId = nativeGroupInfoValue( + $native, + 'target_id', + nativeGroupInfoValue($native, 'targetId', nativeGroupInfoValue($native, 'group_id', nativeGroupInfoValue($native, 'groupId', $groupKey))) + ); + $nativeName = nativeGroupInfoValue($native, 'name', $nativeGroupId); + $nativePortrait = nativeGroupInfoValue($native, 'portrait', ''); + $nativeOwner = nativeGroupInfoValue($native, 'owner', nativeGroupInfoValue($native, 'owner_uid', nativeGroupInfoValue($native, 'ownerUid', ''))); $statement = $appDb->prepare( 'insert into `t_web_groups`' . ' (`group_id`, `category`, `name`, `portrait`, `owner_uid`, `join_mode`, `announcement`,' @@ -791,33 +969,38 @@ function joinWebGroupAction(PDO $appDb, string $userId, string $groupKey): array . ' on duplicate key update `updated_at_ms` = values(`updated_at_ms`)' ); $statement->execute([ - $groupKey, - (string)($native['name'] ?? $groupKey), - (string)($native['portrait'] ?? ''), - (string)($native['owner'] ?? ''), - $groupKey, + $nativeGroupId, + $nativeName, + $nativePortrait, + $nativeOwner, + $nativeGroupId, $userId, $now, $now, ]); - $group = fetchWebGroup($appDb, $groupKey); + $group = fetchWebGroup($appDb, $nativeGroupId); } catch (Throwable) { respond(404, '没有找到该群组'); } } $groupId = (string)$group['group_id']; + $nativeStatus = (string)($group['native_status'] ?? ''); + $nativeError = (string)($group['native_error'] ?? ''); upsertWebGroupMember($appDb, $groupId, $userId, 'member'); try { addNativeGroupMember((string)($group['owner_uid'] ?: $userId), $groupId, $userId); } catch (Throwable $error) { - // Web membership is authoritative for this web build; native group sync is best-effort. + $nativeStatus = $nativeStatus === 'ok' ? 'partial' : ($nativeStatus ?: 'fallback'); + $nativeError = mb_substr($error->getMessage() ?: '加入原生群组失败', 0, 255, 'UTF-8'); } $role = fetchWebGroupRole($appDb, $groupId, $userId); return [ 'group' => fetchWebGroup($appDb, $groupId), 'conversation' => webGroupConversation($group, $role), + 'nativeStatus' => $nativeStatus, + 'nativeError' => $nativeError, ]; } diff --git a/dist/api/im_web_bootstrap.php b/dist/api/im_web_bootstrap.php index fc796b7..77dcc5c 100644 --- a/dist/api/im_web_bootstrap.php +++ b/dist/api/im_web_bootstrap.php @@ -355,6 +355,31 @@ function fetchWebUserRemarkMap(PDO $db, string $ownerId, array $targetIds): arra return $remarks; } +function fetchImFriendAliasMap(PDO $db, string $ownerId, array $friendIds): array +{ + $friendIds = array_values(array_unique(array_filter(array_map(static function ($friendId): string { + return trim((string)$friendId); + }, $friendIds)))); + if ($ownerId === '' || !$friendIds) { + return []; + } + + $aliases = []; + foreach (array_chunk($friendIds, 500) as $chunk) { + $statement = $db->prepare( + 'select `_friend_uid`, `_alias` from `t_friend`' + . ' where `_uid` = ? and `_friend_uid` in (' . webImPlaceholders($chunk) . ') and `_state` = 0' + ); + $statement->execute(array_merge([$ownerId], $chunk)); + + foreach ($statement->fetchAll() as $row) { + $aliases[(string)$row['_friend_uid']] = trim((string)($row['_alias'] ?? '')); + } + } + + return $aliases; +} + function saveWebUserRemark(PDO $db, string $ownerId, string $targetId, string $alias): void { if ($ownerId === '' || $targetId === '') { diff --git a/dist/api/messages.php b/dist/api/messages.php index 4525f44..0727371 100644 --- a/dist/api/messages.php +++ b/dist/api/messages.php @@ -132,7 +132,7 @@ function fetchMessageRows(PDO $db, array $messageIds): array $messages = []; foreach ($idsByTable as $table => $ids) { - $sql = 'select `_mid`, `_from`, `_type`, `_target`, `_line`, `_searchable_key`, `_dt`, `_content_type`, `_to`' + $sql = 'select `_mid`, `_from`, `_type`, `_target`, `_line`, `_data`, `_searchable_key`, `_dt`, `_content_type`, `_to`' . ' from `' . $table . '` where `_mid` in (' . placeholders($ids) . ')'; $statement = $db->prepare($sql); $statement->execute($ids); @@ -232,12 +232,21 @@ function messagePreviewText(?array $message): string return ''; } $attachment = is_array($message['attachment'] ?? null) ? $message['attachment'] : null; + $contentType = (int)($message['contentType'] ?? 0); + $messageType = (string)($message['type'] ?? ''); + $placeholderIsImage = $contentType === 3 || $messageType === 'image'; + $text = trim((string)($message['text'] ?? '')); + if ($contentType !== 1 && $text === '[暂不支持的消息类型]') { + $text = ''; + } + if ($placeholderIsImage && ($text === '[图片]' || $text === '图片')) { + $text = ''; + } if ($attachment) { - $text = trim((string)($message['text'] ?? '')); return $text !== '' ? $text : attachmentFallbackText($attachment); } - return (string)($message['text'] ?? ''); + return $text; } function fetchUserInfoMap(PDO $db, array $userIds, string $ownerId = ''): array @@ -405,6 +414,42 @@ function isWebGroupTarget(PDO $appDb, string $targetId): bool return (bool)$statement->fetchColumn(); } +function nativeGroupRoleFromType(mixed $type): string +{ + $value = (int)$type; + if ($value === 2) { + return 'owner'; + } + if ($value === 1) { + return 'admin'; + } + + return 'member'; +} + +function isNativeGroupTarget(PDO $db, string $targetId): bool +{ + if ($targetId === '') { + return false; + } + + $statement = $db->prepare('select 1 from `t_group` where `_gid` = ? and `_deleted` = 0 limit 1'); + $statement->execute([$targetId]); + + return (bool)$statement->fetchColumn(); +} + +function nativeGroupRole(PDO $db, string $userId, string $groupId): string +{ + $statement = $db->prepare( + 'select `_type` from `t_group_member` where `_gid` = ? and `_mid` = ? limit 1' + ); + $statement->execute([$groupId, $userId]); + $type = $statement->fetchColumn(); + + return $type === false ? '' : nativeGroupRoleFromType($type); +} + function markWebGroupRead(PDO $appDb, string $userId, string $groupId, int $timestamp): void { if ($userId === '' || $groupId === '' || $timestamp <= 0) { @@ -422,6 +467,34 @@ function markWebGroupRead(PDO $appDb, string $userId, string $groupId, int $time $statement->execute([$groupId, $userId, $timestamp, $now]); } +function markNativeGroupRead(PDO $db, string $userId, string $groupId, int $timestamp): void +{ + if ($userId === '' || $groupId === '' || $timestamp <= 0) { + return; + } + + $statement = $db->prepare( + 'select `id`, `_dt` from `t_read_report`' + . ' where `_uid` = ? and `_type` = 1 and `_line` = 0 and `_target` = ?' + . ' order by `_dt` desc limit 1' + ); + $statement->execute([$userId, $groupId]); + $row = $statement->fetch(); + + if ($row) { + if ($timestamp > (int)$row['_dt']) { + $update = $db->prepare('update `t_read_report` set `_dt` = ? where `id` = ?'); + $update->execute([$timestamp, (int)$row['id']]); + } + return; + } + + $insert = $db->prepare( + 'insert into `t_read_report` (`_uid`, `_type`, `_line`, `_target`, `_dt`) values (?, 1, 0, ?, ?)' + ); + $insert->execute([$userId, $groupId, $timestamp]); +} + function webGroupRole(PDO $appDb, string $userId, string $groupId): string { $statement = $appDb->prepare( @@ -434,6 +507,50 @@ function webGroupRole(PDO $appDb, string $userId, string $groupId): string return is_string($role) && $role !== '' ? $role : ''; } +function loadNativeGroupReadStateMap(PDO $db, string $userId, array $groupIds): array +{ + $groupIds = array_values(array_unique(array_filter(array_map('strval', $groupIds)))); + if ($userId === '' || !$groupIds) { + return []; + } + + $statement = $db->prepare( + 'select `_target`, max(`_dt`) as `_read_at` from `t_read_report`' + . ' where `_uid` = ? and `_type` = 1 and `_line` = 0' + . ' and `_target` in (' . placeholders($groupIds) . ')' + . ' group by `_target`' + ); + $statement->execute(array_merge([$userId], $groupIds)); + + $readAtByGroup = []; + foreach ($statement->fetchAll() as $row) { + $readAtByGroup[(string)$row['_target']] = (int)$row['_read_at']; + } + + return $readAtByGroup; +} + +function fetchNativeGroupMemberMap(PDO $db, string $groupId, array $userIds): array +{ + $userIds = array_values(array_unique(array_filter(array_map('strval', $userIds)))); + if ($groupId === '' || !$userIds) { + return []; + } + + $statement = $db->prepare( + 'select `_mid`, `_alias`, `_type`, `_dt`, `_create_dt` from `t_group_member`' + . ' where `_gid` = ? and `_mid` in (' . placeholders($userIds) . ')' + ); + $statement->execute(array_merge([$groupId], $userIds)); + + $members = []; + foreach ($statement->fetchAll() as $row) { + $members[(string)$row['_mid']] = $row; + } + + return $members; +} + function formatWebGroupMessage( array $row, string $currentUserId, @@ -508,6 +625,314 @@ function formatWebGroupMessage( ]; } +function cleanupNativeMediaUrl(string $url): string +{ + return rtrim($url, " \t\r\n\0\x0B\"'<>.,;)]}"); +} + +function nativeMediaUrlScore(string $url): int +{ + $path = strtolower((string)(parse_url($url, PHP_URL_PATH) ?: $url)); + $score = 0; + if (preg_match('/\.(?:jpe?g|png|gif|webp|bmp|avif)$/i', $path)) { + $score += 30; + } + if (strpos($path, 'image') !== false || strpos($path, 'media') !== false || strpos($path, 'upload') !== false) { + $score += 5; + } + if (strpos($path, 'thumb') !== false || strpos($path, 'thumbnail') !== false) { + $score -= 10; + } + + return $score; +} + +function extractNativeMediaUrlFromData($data): string +{ + if (is_resource($data)) { + $data = stream_get_contents($data); + } + if (!is_string($data) || $data === '') { + return ''; + } + if (!preg_match_all("~https?://[^\\s\"'<>\\x00]+~i", $data, $matches)) { + return ''; + } + + $urls = []; + foreach ($matches[0] as $url) { + $url = cleanupNativeMediaUrl((string)$url); + if ($url !== '' && filter_var($url, FILTER_VALIDATE_URL)) { + $urls[$url] = $url; + } + } + if (!$urls) { + return ''; + } + + $urls = array_values($urls); + usort($urls, static function (string $left, string $right): int { + $scoreDelta = nativeMediaUrlScore($right) <=> nativeMediaUrlScore($left); + return $scoreDelta !== 0 ? $scoreDelta : strlen($right) <=> strlen($left); + }); + + return $urls[0] ?? ''; +} + +function nativeAttachmentName(string $url, string $type): string +{ + $path = (string)(parse_url($url, PHP_URL_PATH) ?: ''); + $name = trim(rawurldecode((string)basename($path))); + if ($name !== '' && $name !== '.' && $name !== '/') { + return $name; + } + + return $type === 'image' ? '图片' : '文件'; +} + +function nativeAttachmentMime(string $url, string $type): string +{ + if ($type !== 'image') { + return ''; + } + + $path = strtolower((string)(parse_url($url, PHP_URL_PATH) ?: '')); + if (preg_match('/\.jpe?g$/', $path)) { + return 'image/jpeg'; + } + if (preg_match('/\.png$/', $path)) { + return 'image/png'; + } + if (preg_match('/\.gif$/', $path)) { + return 'image/gif'; + } + if (preg_match('/\.webp$/', $path)) { + return 'image/webp'; + } + if (preg_match('/\.bmp$/', $path)) { + return 'image/bmp'; + } + if (preg_match('/\.avif$/', $path)) { + return 'image/avif'; + } + + return 'image/*'; +} + +function nativeAttachmentFromRow(array $row, ?array $attachment): ?array +{ + if ($attachment !== null) { + return $attachment; + } + + $contentType = (int)($row['_content_type'] ?? 0); + if ($contentType !== 3 && $contentType !== 5) { + return null; + } + + $url = extractNativeMediaUrlFromData($row['_data'] ?? ''); + if ($url === '') { + return null; + } + + $type = $contentType === 3 ? 'image' : 'file'; + + return [ + 'type' => $type, + 'url' => $url, + 'name' => nativeAttachmentName($url, $type), + 'mime' => nativeAttachmentMime($url, $type), + 'size' => 0, + ]; +} + +function isNativePlaceholderText(string $text, int $contentType): bool +{ + $text = trim($text); + if ($text === '') { + return false; + } + if ($contentType !== 1 && $text === '[暂不支持的消息类型]') { + return true; + } + + return $contentType === 3 && ($text === '[图片]' || $text === '图片'); +} + +function nativeDisplayText(string $searchableText, int $contentType, bool $hasAttachment, bool $isRecalled = false): string +{ + $text = trim($searchableText); + if (isNativePlaceholderText($text, $contentType)) { + return ''; + } + if ($text === '' && !$isRecalled) { + return nativeMessageFallbackText($contentType, $hasAttachment); + } + + return $text; +} + +function nativeMessageFallbackText(int $contentType, bool $hasAttachment): string +{ + if ($hasAttachment) { + return ''; + } + if ($contentType === 5) { + return '[文件]'; + } + + return ''; +} + +function nativeMessageTableForDate(DateTimeImmutable $date): string +{ + $localDate = $date->setTimezone(new DateTimeZone(IM_DB_TIMEZONE)); + $year = (int)$localDate->format('Y'); + $month = (int)$localDate->format('n') - 1; + + return 't_messages_' . (($year % 3) * 12 + $month); +} + +function recentNativeMessageTables(int $monthsBack = 3): array +{ + $monthsBack = max(1, min($monthsBack, 12)); + $cursor = (new DateTimeImmutable('now', new DateTimeZone(IM_DB_TIMEZONE))) + ->modify('first day of this month'); + $tables = []; + + for ($index = 0; $index < $monthsBack; $index++) { + $tables[] = nativeMessageTableForDate($cursor); + $cursor = $cursor->modify('-1 month'); + } + + return array_values(array_unique($tables)); +} + +function loadNativeGroupRowsFromGlobal(PDO $db, array $groupIds, int $limit): array +{ + $groupIds = array_values(array_unique(array_filter(array_map('strval', $groupIds)))); + if (!$groupIds) { + return []; + } + + $limit = min(max($limit, 50), 1000); + $rows = []; + foreach (recentNativeMessageTables(3) as $table) { + try { + $statement = $db->prepare( + 'select `_mid`, `_from`, `_type`, `_target`, `_line`, `_data`, `_searchable_key`, `_dt`, `_content_type`, `_to`' + . ' from `' . $table . '`' + . ' where `_type` = 1 and `_line` = 0' + . ' and `_target` in (' . placeholders($groupIds) . ')' + . ' order by `_mid` desc limit ' . $limit + ); + $statement->execute($groupIds); + } catch (Throwable) { + continue; + } + + foreach ($statement->fetchAll() as $row) { + $rows[] = $row; + } + } + + usort($rows, static fn($left, $right) => strcmp((string)$right['_mid'], (string)$left['_mid'])); + + $uniqueRows = []; + $seenMessageIds = []; + foreach ($rows as $row) { + $messageId = (string)$row['_mid']; + if ($messageId === '' || isset($seenMessageIds[$messageId])) { + continue; + } + $seenMessageIds[$messageId] = true; + $uniqueRows[] = $row; + if (count($uniqueRows) >= $limit) { + break; + } + } + + return $uniqueRows; +} + +function formatNativeGroupMessage( + array $row, + string $currentUserId, + array $group, + ?array $attachment = null, + array $users = [], + array $members = [] +): array { + $groupId = (string)$row['_target']; + $from = (string)$row['_from']; + $senderUser = $users[$from] ?? []; + $senderMember = $members[$from] ?? []; + $senderAlias = trim((string)($senderMember['_alias'] ?? '')); + $senderContactAlias = trim((string)($senderUser['_alias'] ?? '')); + $senderFriendAlias = trim((string)($senderUser['_friend_alias'] ?? '')); + $senderRemarkAlias = trim((string)($senderUser['_remark_alias'] ?? '')); + $senderRawName = trim((string)($senderUser['_display_name'] ?? '')) + ?: trim((string)($senderUser['_name'] ?? '')) + ?: trim((string)($senderUser['_mobile'] ?? '')) + ?: $from; + $senderName = $senderContactAlias + ?: $senderAlias + ?: $senderRawName; + $senderRole = nativeGroupRoleFromType($senderMember['_type'] ?? 0); + $messageId = (string)$row['_mid']; + $timestamp = timestampMs((string)($row['_dt'] ?? ''), $messageId); + $contentType = (int)($row['_content_type'] ?? 0); + $isRecalled = $contentType === 80; + $direction = $from === $currentUserId ? 'out' : 'in'; + $attachment = nativeAttachmentFromRow($row, $attachment); + $messageType = $attachment ? (string)$attachment['type'] : (($contentType === 1 || $isRecalled) ? 'text' : 'unknown'); + $text = nativeDisplayText((string)($row['_searchable_key'] ?? ''), $contentType, $attachment !== null, $isRecalled); + + return [ + 'id' => $messageId, + 'messageUid' => $messageId, + 'conversationId' => 'group-' . $groupId, + 'from' => $from, + 'senderRole' => $senderRole, + 'senderName' => $senderName, + 'senderPortrait' => (string)($senderUser['_portrait'] ?? ''), + 'senderProfile' => [ + 'uid' => $from, + 'displayName' => $senderName, + 'rawName' => $senderRawName, + 'contactAlias' => $senderContactAlias, + 'friendAlias' => $senderFriendAlias, + 'remarkAlias' => $senderRemarkAlias, + 'groupAlias' => $senderAlias, + 'isContact' => (bool)($senderUser['_is_friend'] ?? false), + 'mobile' => (string)($senderUser['_mobile'] ?? ''), + 'address' => (string)($senderUser['_address'] ?? ''), + 'portrait' => (string)($senderUser['_portrait'] ?? ''), + 'role' => $senderRole, + ], + 'to' => $groupId, + 'target' => $groupId, + 'direction' => $direction, + 'type' => $messageType, + 'contentType' => $contentType, + 'text' => attachmentDisplayText($text, $attachment), + 'attachment' => $attachment, + 'status' => $isRecalled && $direction === 'out' ? 'recalled' : 'sent', + 'deliveryStatus' => $direction === 'out' && !$isRecalled ? 'sent' : '', + 'recalled' => $isRecalled, + 'recallStatus' => $isRecalled ? '已撤回' : '', + 'editedAt' => 0, + 'timestamp' => $timestamp, + 'activityTimestamp' => $timestamp, + 'displayTimestamp' => $timestamp, + 'conversationType' => 'group', + 'raw' => [ + 'native' => true, + 'groupName' => (string)($group['_name'] ?? ''), + ], + ]; +} + function loadWebGroupMessages(PDO $appDb, string $userId, string $groupId, int $limit, bool $markRead): array { ensureWebImAppTables(); @@ -557,6 +982,81 @@ function loadWebGroupMessages(PDO $appDb, string $userId, string $groupId, int $ return $messages; } +function loadNativeGroupMessages(PDO $db, string $userId, string $groupId, int $limit, bool $markRead): array +{ + $role = nativeGroupRole($db, $userId, $groupId); + if ($role === '') { + return []; + } + + $groupStatement = $db->prepare('select * from `t_group` where `_gid` = ? and `_deleted` = 0 limit 1'); + $groupStatement->execute([$groupId]); + $group = $groupStatement->fetch(); + if (!is_array($group)) { + return []; + } + + $table = imUserMessagesTable($userId); + $scanLimit = min(max($limit * 4, $limit), 400); + $statement = $db->prepare( + 'select `_mid`, `_dt` from `' . $table . '`' + . ' where `_uid` = ? and `_type` = 1 and `_line` = 0 and `_target` = ?' + . ' order by `_mid` desc limit ' . $scanLimit + ); + $statement->execute([$userId, $groupId]); + $userRows = $statement->fetchAll(); + $messageRows = fetchMessageRows($db, array_column($userRows, '_mid')); + $globalRows = loadNativeGroupRowsFromGlobal($db, [$groupId], $scanLimit); + foreach ($globalRows as $row) { + $messageId = (string)$row['_mid']; + if ($messageId !== '') { + $messageRows[$messageId] = $row; + $userRows[] = [ + '_mid' => $messageId, + '_dt' => (string)($row['_dt'] ?? ''), + ]; + } + } + usort($userRows, static fn($left, $right) => strcmp((string)$right['_mid'], (string)$left['_mid'])); + $attachmentMap = fetchAttachmentMap(imAppDb(), array_column($userRows, '_mid')); + + $messages = []; + $seenMessageIds = []; + foreach ($userRows as $userRow) { + $messageId = (string)$userRow['_mid']; + if (isset($seenMessageIds[$messageId]) || !isset($messageRows[$messageId])) { + continue; + } + $seenMessageIds[$messageId] = true; + if (!shouldDisplayMessageForUser($messageRows[$messageId], $userId)) { + continue; + } + $messages[] = $messageRows[$messageId]; + if (count($messages) >= $limit) { + break; + } + } + $messages = array_reverse($messages); + $senderIds = array_values(array_unique(array_map(static fn(array $row): string => (string)$row['_from'], $messages))); + $users = fetchUserInfoMap($db, $senderIds, $userId); + $memberMap = fetchNativeGroupMemberMap($db, $groupId, $senderIds); + + $readTimestamp = 0; + $formatted = []; + foreach ($messages as $row) { + $messageId = (string)$row['_mid']; + $message = formatNativeGroupMessage($row, $userId, $group, $attachmentMap[$messageId] ?? null, $users, $memberMap); + $readTimestamp = max($readTimestamp, (int)$message['activityTimestamp']); + $formatted[] = $message; + } + + if ($markRead) { + markNativeGroupRead($db, $userId, $groupId, $readTimestamp); + } + + return $formatted; +} + function loadWebGroupConversations(PDO $appDb, string $userId, int $limit): array { ensureWebImAppTables(); @@ -619,7 +1119,7 @@ function loadWebGroupConversations(PDO $appDb, string $userId, int $limit): arra ? (messagePreviewText([ 'text' => attachmentDisplayText((string)$lastMessage['text'], $lastAttachment), 'attachment' => $lastAttachment, - ]) ?: (string)$lastMessage['text']) + ])) : ($isChannel ? '公告群' : ($memberCount > 0 ? $memberCount . ' 位成员' : '群组')); $updatedAt = $lastMessage ? max((int)$lastMessage['created_at_ms'], (int)($lastMessage['edited_at_ms'] ?? 0)) @@ -649,6 +1149,152 @@ function loadWebGroupConversations(PDO $appDb, string $userId, int $limit): arra return $conversations; } +function loadNativeGroupConversations(PDO $db, string $userId, int $limit): array +{ + $statement = $db->prepare( + 'select g.*, m.`_type` as `member_type`, m.`_alias` as `member_alias`' + . ' from `t_group_member` m' + . ' join `t_group` g on g.`_gid` = m.`_gid` and g.`_deleted` = 0' + . ' where m.`_mid` = ?' + . ' order by greatest(g.`_dt`, m.`_dt`) desc limit ' . min(max($limit, 50), 100) + ); + $statement->execute([$userId]); + $groups = $statement->fetchAll(); + if (!$groups) { + return []; + } + + $groupIds = array_values(array_unique(array_map(static fn(array $group): string => (string)$group['_gid'], $groups))); + $table = imUserMessagesTable($userId); + $scanLimit = min(max($limit * 20, 200), 1000); + $messageStatement = $db->prepare( + 'select `_mid`, `_target`, `_dt` from `' . $table . '`' + . ' where `_uid` = ? and `_type` = 1 and `_line` = 0' + . ' and `_target` in (' . placeholders($groupIds) . ')' + . ' order by `_mid` desc limit ' . $scanLimit + ); + $messageStatement->execute(array_merge([$userId], $groupIds)); + $scanRows = $messageStatement->fetchAll(); + $messageRows = fetchMessageRows($db, array_column($scanRows, '_mid')); + $globalRows = loadNativeGroupRowsFromGlobal($db, $groupIds, $scanLimit); + foreach ($globalRows as $row) { + $messageId = (string)$row['_mid']; + if ($messageId !== '') { + $messageRows[$messageId] = $row; + $scanRows[] = [ + '_mid' => $messageId, + '_target' => (string)($row['_target'] ?? ''), + '_dt' => (string)($row['_dt'] ?? ''), + ]; + } + } + usort($scanRows, static fn($left, $right) => strcmp((string)$right['_mid'], (string)$left['_mid'])); + $attachmentMap = fetchAttachmentMap(imAppDb(), array_column($scanRows, '_mid')); + $readAtByGroup = loadNativeGroupReadStateMap($db, $userId, $groupIds); + + $latestByGroup = []; + $unreadByGroup = []; + $seenMessageIds = []; + foreach ($scanRows as $row) { + $messageId = (string)$row['_mid']; + if (isset($seenMessageIds[$messageId])) { + continue; + } + $seenMessageIds[$messageId] = true; + $groupId = (string)$row['_target']; + $message = $messageRows[$messageId] ?? null; + if ($groupId === '' || !$message || !shouldDisplayMessageForUser($message, $userId)) { + continue; + } + $activityTimestamp = timestampMs((string)($message['_dt'] ?? ''), $messageId); + if (!isset($latestByGroup[$groupId]) || $activityTimestamp > (int)($latestByGroup[$groupId]['_activity_at'] ?? 0)) { + $row['_activity_at'] = $activityTimestamp; + $latestByGroup[$groupId] = $row; + } + if ((string)$message['_from'] !== $userId && !isRecallMessage($message)) { + if ($activityTimestamp > (int)($readAtByGroup[$groupId] ?? 0)) { + $unreadByGroup[$groupId] = (int)($unreadByGroup[$groupId] ?? 0) + 1; + } + } + } + + $groupsById = []; + foreach ($groups as $group) { + $groupsById[(string)$group['_gid']] = $group; + } + + $senderIds = []; + foreach ($latestByGroup as $row) { + $message = $messageRows[(string)$row['_mid']] ?? null; + if ($message) { + $senderIds[] = (string)$message['_from']; + } + } + $users = fetchUserInfoMap($db, $senderIds, $userId); + + $conversations = []; + foreach ($groupsById as $groupId => $group) { + $latestRow = $latestByGroup[$groupId] ?? null; + $messageId = $latestRow ? (string)$latestRow['_mid'] : ''; + $message = $messageId !== '' && isset($messageRows[$messageId]) + ? formatNativeGroupMessage( + $messageRows[$messageId], + $userId, + $group, + $attachmentMap[$messageId] ?? null, + $users, + fetchNativeGroupMemberMap($db, $groupId, [(string)$messageRows[$messageId]['_from']]) + ) + : null; + $title = (string)($group['_name'] ?? '') ?: $groupId; + $updatedAt = $message ? (int)$message['activityTimestamp'] : (int)($group['_dt'] ?? 0); + $conversations[] = [ + 'id' => 'group-' . $groupId, + 'type' => 'group', + 'target' => $groupId, + 'title' => $title, + 'subtitle' => $message + ? (messagePreviewText($message) ?: nativeMessageFallbackText((int)($message['contentType'] ?? 0), false)) + : (((int)($group['_member_count'] ?? 0) > 0) ? (int)$group['_member_count'] . ' 位成员' : '群组'), + 'unread' => (int)($unreadByGroup[$groupId] ?? 0), + 'portrait' => (string)($group['_portrait'] ?? ''), + 'avatarText' => mb_strtoupper(mb_substr($title, 0, 1, 'UTF-8'), 'UTF-8'), + 'updatedAt' => $updatedAt, + 'role' => nativeGroupRoleFromType($group['member_type'] ?? 0), + 'memberCount' => (int)($group['_member_count'] ?? 0), + 'raw' => [ + 'type' => 'group', + 'target' => $groupId, + 'line' => 0, + 'native' => true, + 'role' => nativeGroupRoleFromType($group['member_type'] ?? 0), + ], + ]; + } + + return $conversations; +} + +function mergeConversationsById(array $conversations, array $extraConversations): array +{ + $merged = []; + foreach (array_merge($conversations, $extraConversations) as $conversation) { + $id = (string)($conversation['id'] ?? ''); + if ($id === '') { + continue; + } + if (!isset($merged[$id])) { + $merged[$id] = $conversation; + continue; + } + if ((int)($conversation['updatedAt'] ?? 0) > (int)($merged[$id]['updatedAt'] ?? 0)) { + $merged[$id] = array_merge($merged[$id], $conversation); + } + } + + return array_values($merged); +} + function isRecallMessage(array $row): bool { return (int)($row['_content_type'] ?? 0) === 80; @@ -679,8 +1325,9 @@ function formatMessage( $text = (string)($row['_searchable_key'] ?? ''); $timestamp = timestampMs((string)($row['_dt'] ?? ''), $messageId); $direction = $from === $currentUserId ? 'out' : 'in'; + $attachment = nativeAttachmentFromRow($row, $attachment); $messageType = $attachment ? (string)$attachment['type'] : (($contentType === 1 || $isRecalled) ? 'text' : 'unknown'); - $messageText = $text !== '' ? $text : ($isRecalled || $attachment ? '' : '[暂不支持的消息类型]'); + $messageText = nativeDisplayText($text, $contentType, $attachment !== null, $isRecalled); $messageText = attachmentDisplayText($messageText, $attachment); $editedAt = (int)($editState['editedAt'] ?? 0); $activityTimestamp = messageActivityTimestamp($timestamp, $editState); @@ -854,10 +1501,16 @@ function loadRecentConversations(PDO $db, string $userId, int $limit): array } try { - $conversations = array_merge($conversations, loadWebGroupConversations(imAppDb(), $userId, $limit)); - } catch (Throwable) { + $conversations = mergeConversationsById($conversations, loadWebGroupConversations(imAppDb(), $userId, $limit)); + } catch (Throwable $error) { + error_log('web group conversation sync failed: ' . $error->getMessage()); // Keep single-chat sync available if appdata group metadata is temporarily unavailable. } + try { + $conversations = mergeConversationsById($conversations, loadNativeGroupConversations($db, $userId, $limit)); + } catch (Throwable $error) { + error_log('native group conversation sync failed: ' . $error->getMessage()); + } usort($conversations, static fn($a, $b) => $b['updatedAt'] <=> $a['updatedAt']); @@ -881,12 +1534,27 @@ try { markUserDelivered($db, $userId, nowMs()); if ($target !== '') { - $targetId = resolveUserId($db, $target); - if ($conversationType === 'group' || isWebGroupTarget(imAppDb(), $target)) { + if ($conversationType === 'group') { + if (isWebGroupTarget(imAppDb(), $target)) { + respond(0, 'success', [ + 'messages' => loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead), + ]); + } + if (isNativeGroupTarget($db, $target)) { + respond(0, 'success', [ + 'messages' => loadNativeGroupMessages($db, $userId, $target, $limit, $markRead), + ]); + } + respond(0, 'success', [ + 'messages' => [], + ]); + } + if (isWebGroupTarget(imAppDb(), $target)) { respond(0, 'success', [ 'messages' => loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead), ]); } + $targetId = resolveUserId($db, $target); respond(0, 'success', [ 'messages' => loadConversationMessages($db, $userId, $targetId, $limit, $markRead), ]); diff --git a/dist/api/send_message.php b/dist/api/send_message.php index 5582ce3..f2b07b8 100644 --- a/dist/api/send_message.php +++ b/dist/api/send_message.php @@ -6,12 +6,21 @@ header('Cache-Control: no-store'); require __DIR__ . '/im_web_bootstrap.php'; -const WEB_MEDIA_ROOT = '/opt/im-server/media'; +define( + 'WEB_MEDIA_ROOT', + webImEnv( + 'JC_WEB_IM_MEDIA_ROOT', + is_dir('/var/www/im/public/media') + ? '/var/www/im/public/media' + : (is_dir('/var/www/IM/public/media') ? '/var/www/IM/public/media' : '/opt/im-server/media') + ) +); define('WEB_MEDIA_PUBLIC_PORT', (int)webImEnv('JC_WEB_IM_MEDIA_PORT', '80')); const WEB_MEDIA_TYPE_IMAGE = 1; const WEB_MEDIA_TYPE_FILE = 4; const WEB_IMAGE_MAX_BYTES = 10 * 1024 * 1024; const WEB_FILE_MAX_BYTES = 50 * 1024 * 1024; +const WEB_MINIO_PROJECT_CODE = '001'; function isDailyMuteActive(string $dailyStart, string $dailyEnd, int $nowMs): bool { @@ -72,6 +81,33 @@ function isGroupMutedForSender(PDO $appDb, string $groupId, string $role, int $n return $startsAtMs > 0 && $endsAtMs > $startsAtMs && $nowMs >= $startsAtMs && $nowMs < $endsAtMs; } +function nativeGroupRoleFromType(mixed $type): string +{ + $value = (int)$type; + if ($value === 2) { + return 'owner'; + } + if ($value === 1) { + return 'admin'; + } + + return 'member'; +} + +function fetchNativeGroupForSender(PDO $db, string $sender, string $groupId): array +{ + $statement = $db->prepare( + 'select g.`_gid`, g.`_name`, g.`_mute`, g.`_deleted`, m.`_type` as `member_type`' + . ' from `t_group` g' + . ' join `t_group_member` m on m.`_gid` = g.`_gid`' + . ' where g.`_gid` = ? and g.`_deleted` = 0 and m.`_mid` = ? limit 1' + ); + $statement->execute([$groupId, $sender]); + $group = $statement->fetch(); + + return is_array($group) ? $group : []; +} + function messageRequestValue(array $payload, string $key, string $default = ''): string { return trim((string)($_POST[$key] ?? $payload[$key] ?? $default)); @@ -162,7 +198,106 @@ function mediaPublicBaseUrl(): string return $scheme . '://' . $host . ':' . $port; } -function saveMessageAttachmentFile(array $file, string $attachmentType): array +function messageStorageConfig(): array +{ + $config = ['enabled' => false, 'url' => '']; + foreach (['t_app_system_conf', 'system_conf'] as $table) { + try { + $statement = imAppDb()->query( + 'select `conf_name`, `conf_value` from `' . $table . '`' + . " where lower(`conf_name`) in ('is_minioplus', 'minio_url') and `is_valid` = 1" + ); + $rows = $statement->fetchAll(); + if (!$rows) { + continue; + } + foreach ($rows as $row) { + $name = strtolower((string)($row['conf_name'] ?? '')); + if ($name === 'is_minioplus') { + $config['enabled'] = (string)($row['conf_value'] ?? '0') === '1'; + } elseif ($name === 'minio_url') { + $config['url'] = rtrim(trim((string)($row['conf_value'] ?? '')), '/'); + } + } + break; + } catch (Throwable $error) { + continue; + } + } + + return $config; +} + +function saveMessageAttachmentToMinio( + array $file, + string $attachmentType, + string $sender, + string $baseUrl +): array { + $size = (int)($file['size'] ?? 0); + $tmpName = (string)($file['tmp_name'] ?? ''); + if ($tmpName === '' || !is_uploaded_file($tmpName)) { + throw new RuntimeException('文件上传失败'); + } + $mime = detectedUploadMime($tmpName); + if ($attachmentType === 'image') { + $mime = normalizedImageUploadMime($tmpName, $mime); + } + $originalName = safeUploadName((string)($file['name'] ?? ($attachmentType === 'image' ? 'image.jpg' : 'file'))); + $content = file_get_contents($tmpName); + if ($content === false) { + throw new RuntimeException('读取上传文件失败'); + } + $requestBody = json_encode([ + 'projectCode' => WEB_MINIO_PROJECT_CODE, + 'fileScene' => 'temp', + 'fileName' => $originalName, + 'contentType' => $mime, + 'base64Content' => base64_encode($content), + ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + if (!is_string($requestBody)) { + throw new RuntimeException('生成图片上传请求失败'); + } + + $handle = curl_init($baseUrl . '/project-storage/upload'); + curl_setopt_array($handle, [ + CURLOPT_POST => true, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_CONNECTTIMEOUT => 8, + CURLOPT_TIMEOUT => 60, + CURLOPT_HTTPHEADER => [ + 'Content-Type: application/json', + 'Authorization: minio-' . WEB_MINIO_PROJECT_CODE . '-' . $sender, + ], + CURLOPT_POSTFIELDS => $requestBody, + ]); + $responseBody = curl_exec($handle); + $status = (int)curl_getinfo($handle, CURLINFO_RESPONSE_CODE); + $curlError = curl_error($handle); + curl_close($handle); + $response = is_string($responseBody) ? json_decode($responseBody, true) : null; + $data = is_array($response) && is_array($response['data'] ?? null) ? $response['data'] : []; + $url = trim((string)($data['previewUrl'] ?? $data['downloadUrl'] ?? '')); + if ($status < 200 || $status >= 300 || (int)($response['code'] ?? -1) !== 0 || $url === '') { + $message = trim((string)($response['message'] ?? '')); + throw new RuntimeException( + $message !== '' + ? 'MinIO上传失败:' . $message + : 'MinIO上传失败' . ($curlError !== '' ? ':' . $curlError : '') + ); + } + + return [ + 'type' => $attachmentType, + 'url' => $url, + 'name' => $originalName, + 'mime' => $mime, + 'size' => $size, + 'mediaType' => $attachmentType === 'image' ? WEB_MEDIA_TYPE_IMAGE : WEB_MEDIA_TYPE_FILE, + ]; +} + +function saveMessageAttachmentFile(array $file, string $attachmentType, string $sender): array { if (($file['error'] ?? UPLOAD_ERR_NO_FILE) !== UPLOAD_ERR_OK) { throw new RuntimeException('文件上传失败'); @@ -172,10 +307,6 @@ function saveMessageAttachmentFile(array $file, string $attachmentType): array if ($size <= 0 || $size > $maxSize) { throw new RuntimeException($attachmentType === 'image' ? '图片不能超过10MB' : '文件不能超过50MB'); } - if (!is_dir(WEB_MEDIA_ROOT) || !is_writable(WEB_MEDIA_ROOT)) { - throw new RuntimeException('媒体存储目录不可写'); - } - $tmpName = (string)($file['tmp_name'] ?? ''); if ($tmpName === '' || !is_uploaded_file($tmpName)) { throw new RuntimeException('文件上传失败'); @@ -185,6 +316,17 @@ function saveMessageAttachmentFile(array $file, string $attachmentType): array $mime = normalizedImageUploadMime($tmpName, $mime); } + $storage = messageStorageConfig(); + if ($storage['enabled']) { + if ($storage['url'] === '') { + throw new RuntimeException('MinIO已开启但未配置服务地址'); + } + return saveMessageAttachmentToMinio($file, $attachmentType, $sender, $storage['url']); + } + if (!is_dir(WEB_MEDIA_ROOT) || !is_writable(WEB_MEDIA_ROOT)) { + throw new RuntimeException('媒体存储目录不可写'); + } + $mediaType = $attachmentType === 'image' ? WEB_MEDIA_TYPE_IMAGE : WEB_MEDIA_TYPE_FILE; $datePath = 'fs/' . $mediaType . '/' . date('Y/m/d/H/i/s'); $targetDir = rtrim(WEB_MEDIA_ROOT, '/') . '/' . $datePath; @@ -249,7 +391,7 @@ function storeMessageAttachment( ]); } -function attachmentFromRequest(string $messageType): ?array +function attachmentFromRequest(string $messageType, string $sender): ?array { if (!in_array($messageType, ['image', 'file'], true)) { return null; @@ -260,7 +402,61 @@ function attachmentFromRequest(string $messageType): ?array respond(400, '缺少上传文件'); } - return saveMessageAttachmentFile($attachmentFile, $messageType); + return saveMessageAttachmentFile($attachmentFile, $messageType, $sender); +} + +function messagePayloadBody(string $text, ?array $attachment): array +{ + $pushContent = $text !== '' + ? $text + : ($attachment + ? ((string)$attachment['type'] === 'image' ? '[图片]' : '[文件] ' . (string)$attachment['name']) + : $text); + $payloadBody = [ + 'type' => $attachment ? ((string)$attachment['type'] === 'image' ? 3 : 5) : 1, + 'searchableContent' => $pushContent, + 'pushContent' => $pushContent, + 'content' => $text, + 'persistFlag' => 3, + ]; + if ($attachment) { + $payloadBody['mediaType'] = (int)$attachment['mediaType']; + $payloadBody['remoteMediaUrl'] = (string)$attachment['url']; + $payloadBody['extra'] = json_encode([ + 'name' => (string)$attachment['name'], + 'mime' => (string)$attachment['mime'], + 'size' => (int)$attachment['size'], + ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + } + + return $payloadBody; +} + +function sendNativeGroupMessage(string $sender, string $target, string $text, ?array $attachment): array +{ + $result = requireImSuccess(imAdminPost('/admin/message/send', [ + 'sender' => $sender, + 'conv' => [ + 'type' => 1, + 'target' => $target, + 'line' => 0, + ], + 'payload' => messagePayloadBody($text, $attachment), + 'userMessage' => true, + ]), '原生群消息发送失败'); + + $messageUid = isset($result['messageUid']) ? (string)$result['messageUid'] : ''; + $timestamp = (int)($result['timestamp'] ?? webImNowMs()); + if ($attachment && $messageUid !== '') { + ensureWebImAppTables(); + storeMessageAttachment(imAppDb(), $messageUid, 'group', $target, $sender, $attachment, $timestamp); + } + + return [ + 'messageUid' => $messageUid !== '' ? $messageUid : null, + 'timestamp' => $timestamp, + 'attachment' => $attachment, + ]; } $contentTypeHeader = (string)($_SERVER['CONTENT_TYPE'] ?? ''); @@ -292,7 +488,17 @@ try { $memberStatement->execute([$target, $sender]); $group = $memberStatement->fetch(); if (!$group) { - respond(403, '你不在该群组中'); + $nativeGroup = fetchNativeGroupForSender(imDb(), $sender, $target); + if (!$nativeGroup) { + respond(403, '你不在该群组中'); + } + $attachment = attachmentFromRequest($messageType, $sender); + $nativeResult = sendNativeGroupMessage($sender, $target, $text, $attachment); + respond(0, 'success', [ + ...$nativeResult, + 'senderRole' => nativeGroupRoleFromType($nativeGroup['member_type'] ?? 0), + 'native' => true, + ]); } $category = (string)($group['category'] ?? 'group'); $role = (string)($group['role'] ?? 'member'); @@ -304,7 +510,7 @@ try { if ($category !== 'channel' && isGroupMutedForSender($appDb, $target, $role, $now)) { respond(403, '当前群组处于禁言时段'); } - $attachment = attachmentFromRequest($messageType); + $attachment = attachmentFromRequest($messageType, $sender); $messageUid = webImMessageUid(); $insert = $appDb->prepare( 'insert into `t_web_group_messages`' @@ -320,27 +526,6 @@ try { $nativeError = ''; try { - $pushContent = $text !== '' - ? $text - : ($attachment - ? ((string)$attachment['type'] === 'image' ? '[图片]' : '[文件] ' . (string)$attachment['name']) - : $text); - $payloadBody = [ - 'type' => $attachment ? ((string)$attachment['type'] === 'image' ? 3 : 5) : 1, - 'searchableContent' => $pushContent, - 'pushContent' => $pushContent, - 'content' => $text, - 'persistFlag' => 3, - ]; - if ($attachment) { - $payloadBody['mediaType'] = (int)$attachment['mediaType']; - $payloadBody['remoteMediaUrl'] = (string)$attachment['url']; - $payloadBody['extra'] = json_encode([ - 'name' => (string)$attachment['name'], - 'mime' => (string)$attachment['mime'], - 'size' => (int)$attachment['size'], - ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); - } requireImSuccess(imAdminPost('/admin/message/send', [ 'sender' => $sender, 'conv' => [ @@ -348,7 +533,7 @@ try { 'target' => $target, 'line' => 0, ], - 'payload' => $payloadBody, + 'payload' => messagePayloadBody($text, $attachment), 'userMessage' => true, ]), '原生群消息发送失败'); } catch (Throwable $error) { @@ -364,28 +549,7 @@ try { ]); } - $attachment = attachmentFromRequest($messageType); - $pushContent = $text !== '' - ? $text - : ($attachment - ? ((string)$attachment['type'] === 'image' ? '[图片]' : '[文件] ' . (string)$attachment['name']) - : $text); - $payloadBody = [ - 'type' => $attachment ? ((string)$attachment['type'] === 'image' ? 3 : 5) : 1, - 'searchableContent' => $pushContent, - 'pushContent' => $pushContent, - 'content' => $text, - 'persistFlag' => 3, - ]; - if ($attachment) { - $payloadBody['mediaType'] = (int)$attachment['mediaType']; - $payloadBody['remoteMediaUrl'] = (string)$attachment['url']; - $payloadBody['extra'] = json_encode([ - 'name' => (string)$attachment['name'], - 'mime' => (string)$attachment['mime'], - 'size' => (int)$attachment['size'], - ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); - } + $attachment = attachmentFromRequest($messageType, $sender); $result = requireImSuccess(imAdminPost('/admin/message/send', [ 'sender' => $sender, @@ -394,7 +558,7 @@ try { 'target' => $target, 'line' => 0, ], - 'payload' => $payloadBody, + 'payload' => messagePayloadBody($text, $attachment), 'userMessage' => true, ]), '发送失败'); diff --git a/dist/config/runtime-config.js b/dist/config/runtime-config.js index d913b82..45a1bb8 100644 --- a/dist/config/runtime-config.js +++ b/dist/config/runtime-config.js @@ -12,6 +12,10 @@ imRoutePort: 80, useWss: false, wsPath: '/ws', - sdkMode: 'http' + sdkMode: 'http', + syncIntervalMs: 15000, + sseEnabled: true, + sseTicketApi: '/api/sse_ticket.php', + sseUrl: '/ws-events' }; })(); diff --git a/dist/css/app.f8454e8e.css b/dist/css/app.2c52dabb.css similarity index 95% rename from dist/css/app.f8454e8e.css rename to dist/css/app.2c52dabb.css index 5a0f121..b726501 100644 --- a/dist/css/app.f8454e8e.css +++ b/dist/css/app.2c52dabb.css @@ -1257,6 +1257,14 @@ button { padding: 24px; } +.empty-list-actions { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 8px; + margin-top: 8px; +} + .empty-chat { min-height: 0; padding: 24px; @@ -1917,6 +1925,17 @@ button { font-size: 12px; } +.group-member-row .group-member-role { + width: -moz-fit-content; + width: fit-content; + padding: 2px 7px; + border: 1px solid #b8d8d1; + border-radius: 5px; + background: #edf8f5; + color: var(--primary); + font-weight: 700; +} + .group-management-dialog { width: min(520px, calc(100% - 32px)); } @@ -1977,7 +1996,9 @@ button { min-height: 0; overflow: auto; overscroll-behavior: contain; - padding: 24px; + padding: 24px 24px 72px; + scroll-padding-bottom: 72px; + scrollbar-gutter: stable; } .message-row { @@ -2793,9 +2814,11 @@ button { } .composer-tools button { - width: 32px; - height: 32px; - border: 0; + width: 34px; + height: 34px; + display: grid; + place-items: center; + border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); @@ -2806,6 +2829,105 @@ button { background: #edf2f5; } +.composer-tools button:disabled { + cursor: default; + opacity: 0.45; +} + +.composer-attachment-preview { + display: flex; + gap: 8px; + padding: 10px 16px 0; + overflow-x: auto; +} + +.composer-attachment-item { + position: relative; + width: 88px; + min-width: 88px; + height: 88px; + display: grid; + place-items: center; + overflow: hidden; + border: 1px solid var(--line); + border-radius: 8px; + background: #edf2f5; +} + +.composer-attachment-item img { + width: 100%; + height: 100%; + display: block; + -o-object-fit: cover; + object-fit: cover; +} + +.composer-attachment-file-icon { + color: var(--primary); + font-size: 30px; +} + +.composer-attachment-name { + position: absolute; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + padding: 4px 6px; + background: rgba(18, 28, 40, 0.72); + color: #fff; + font-size: 10px; + text-overflow: ellipsis; + white-space: nowrap; +} + +.composer-attachment-item > button { + position: absolute; + top: 4px; + right: 4px; + width: 24px; + height: 24px; + display: grid; + place-items: center; + border: 0; + border-radius: 50%; + background: rgba(18, 28, 40, 0.74); + color: #fff; + font-size: 17px; + line-height: 1; +} + +.composer-tool-button { + border-color: rgba(23, 125, 114, 0.28); + background: rgba(23, 125, 114, 0.1); + color: var(--primary); +} + +.composer-tool-button.file-tool { + border-color: rgba(216, 78, 63, 0.28); + background: rgba(216, 78, 63, 0.1); + color: var(--accent); +} + +.composer-tool-button:hover { + border-color: currentColor; + background: rgba(23, 125, 114, 0.16); +} + +.composer-tool-button.file-tool:hover { + background: rgba(216, 78, 63, 0.16); +} + +.composer-tool-icon { + width: 22px; + height: 22px; + fill: none; + stroke: currentColor; + stroke-width: 1.9; + stroke-linecap: round; + stroke-linejoin: round; +} + .emoji-picker { position: absolute; left: 16px; diff --git a/dist/index.html b/dist/index.html index df48102..a9716f9 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -Web IM
\ No newline at end of file +Web IM
\ No newline at end of file diff --git a/dist/js/app.ec5edb4d.js b/dist/js/app.5863459a.js similarity index 61% rename from dist/js/app.ec5edb4d.js rename to dist/js/app.5863459a.js index 175f56e..cec19fa 100644 --- a/dist/js/app.ec5edb4d.js +++ b/dist/js/app.5863459a.js @@ -2,1313 +2,1231 @@ /******/ "use strict"; /******/ var __webpack_modules__ = ({ -/***/ 6: +/***/ 4677: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var _ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(922); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(144); +/* harmony import */ var _components_LoginView_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3727); +/* harmony import */ var _components_ChatShell_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9531); +/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(926); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7566); -const __exports__ = _ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; -/* harmony default export */ __webpack_exports__.A = (__exports__); + + +/* harmony default export */ __webpack_exports__.A = ({ + __name: 'App', + setup(__props) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_4__/* .useSessionStore */ .B)(); + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_5__/* .useConversationStore */ .w)(); + (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(() => { + session.restore(); + }); + (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .watch */ .wB)(() => session.userId, userId => { + if (userId && session.isAuthenticated) { + conversations.bootstrapDemoData(); + return; + } + conversations.clearUserState(); + }); + return (_ctx, _cache) => { + return !(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .unref */ .R1)(session).isAuthenticated ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_components_LoginView_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, { + key: 0 + })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_components_ChatShell_vue__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, { + key: 1 + })); + }; + } +}); /***/ }), -/***/ 138: +/***/ 2511: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2534); - - -/***/ }), - -/***/ 262: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7987); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1857); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3865); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(144); +/* harmony import */ var _sidebar_NavigationRail_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8328); +/* harmony import */ var _sidebar_ConversationList_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(371); +/* harmony import */ var _sidebar_ContactList_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(578); +/* harmony import */ var _chat_ChatPanel_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7014); +/* harmony import */ var _contacts_ContactPanel_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3351); +/* harmony import */ var _favorites_FavoriteList_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(163); +/* harmony import */ var _favorites_FavoritePanel_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9123); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7566); +/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1414); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9045); const _hoisted_1 = { - class: "contact-panel" + class: "app-shell" +}; + + + + + + + + + + + +/* harmony default export */ __webpack_exports__.A = ({ + __name: 'ChatShell', + setup(__props) { + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_9__/* .useConversationStore */ .w)(); + const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_10__/* .useNavigationStore */ .l)(); + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_11__/* .useContactStore */ .p)(); + (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(() => { + conversations.refreshRemoteConversations(); + contacts.refreshContacts(); + }); + return (_ctx, _cache) => { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createElementBlock */ .CE)("main", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createVNode */ .bF)(_sidebar_NavigationRail_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .unref */ .R1)(navigation).section === 'messages' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_sidebar_ConversationList_vue__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, { + key: 0 + })) : (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .unref */ .R1)(navigation).section === 'favorites' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_favorites_FavoriteList_vue__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A, { + key: 1 + })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_sidebar_ContactList_vue__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, { + key: 2 + })), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .unref */ .R1)(navigation).section === 'messages' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_chat_ChatPanel_vue__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, { + key: 3 + })) : (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .unref */ .R1)(navigation).section === 'favorites' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_favorites_FavoritePanel_vue__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A, { + key: 4 + })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createBlock */ .Wv)(_contacts_ContactPanel_vue__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, { + key: 5 + }))]); + }; + } +}); + +/***/ }), + +/***/ 8607: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3579); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5187); +/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2387); +/* harmony import */ var jr_qrcode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2789); +/* harmony import */ var jr_qrcode__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(jr_qrcode__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2169); +/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(926); +/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5051); + + + +const _hoisted_1 = { + class: "login-page" }; const _hoisted_2 = { - class: "chat-header" + class: "login-panel" }; const _hoisted_3 = { - class: "contact-profile" + class: "brand-lockup" }; -const _hoisted_4 = ["src"]; +const _hoisted_4 = ["src", "alt"]; const _hoisted_5 = { - key: 1, - class: "profile-avatar" -}; -const _hoisted_6 = { - class: "profile-main" -}; -const _hoisted_7 = { - class: "remark-row" + class: "login-tabs" }; +const _hoisted_6 = ["disabled"]; +const _hoisted_7 = ["src"]; const _hoisted_8 = { - class: "profile-fields" + key: 1 }; const _hoisted_9 = { + key: 0, + class: "qr-scan-user" +}; +const _hoisted_10 = ["src"]; +const _hoisted_11 = { + key: 1 +}; +const _hoisted_12 = { + class: "qr-login-status" +}; +const _hoisted_13 = ["disabled"]; +const _hoisted_14 = { + key: 0 +}; +const _hoisted_15 = { + key: 1 +}; +const _hoisted_16 = { + class: "code-row" +}; +const _hoisted_17 = ["disabled"]; +const _hoisted_18 = ["disabled"]; +const _hoisted_19 = { + key: 2, + class: "form-error" +}; +const _hoisted_20 = { + key: 3, + class: "form-info" +}; +const _hoisted_21 = ["onClick"]; +const _hoisted_22 = { + key: 0 +}; +const _hoisted_23 = { + class: "label-row" +}; +const _hoisted_24 = { + key: 0, + class: "field-error-badge" +}; +const _hoisted_25 = { + class: "phone-row" +}; +const _hoisted_26 = { + class: "country-code-field" +}; +const _hoisted_27 = { + key: 1 +}; +const _hoisted_28 = { + key: 0, + class: "code-row" +}; +const _hoisted_29 = ["disabled"]; +const _hoisted_30 = { + key: 1, + class: "captcha-row" +}; +const _hoisted_31 = ["src"]; +const _hoisted_32 = (/* unused pure expression or super */ null && ({ + key: 2 +})); +const _hoisted_33 = (/* unused pure expression or super */ null && ({ + key: 3 +})); +const _hoisted_34 = (/* unused pure expression or super */ null && ({ + class: "code-row" +})); +const _hoisted_35 = { + key: 4 +}; +const _hoisted_36 = { + key: 5 +}; +const _hoisted_37 = { + class: "phone-row" +}; +const _hoisted_38 = ["value"]; +const _hoisted_39 = { + key: 6 +}; +const _hoisted_40 = { + class: "captcha-row" +}; +const _hoisted_41 = ["src"]; +const _hoisted_42 = { + key: 7 +}; +const _hoisted_43 = { + key: 8 +}; +const _hoisted_44 = ["disabled"]; +const _hoisted_45 = { + key: 9, + class: "form-error" +}; +const _hoisted_46 = { + key: 10, + class: "form-info" +}; +const _hoisted_47 = ["value"]; +const _hoisted_48 = ["disabled"]; +const _hoisted_49 = { key: 0, class: "form-error" }; -const _hoisted_10 = { - class: "modal-actions" -}; -const _hoisted_11 = ["disabled"]; -const _hoisted_12 = ["disabled"]; -const _hoisted_13 = { +const _hoisted_50 = { key: 1, - class: "empty-chat" + class: "form-info" }; + + + + +const QR_CODE_PREFIX_PC_SESSION = 'wildfirechat://pcsession/'; +const pendingRegistrationStorageKey = 'qmt-web-im-pending-registration'; +const defaultPlatformLogo = '/img/5IuOieu9PF8MJtp43kD2kCkdLVjVwDp7.ico'; +const emailRegisterEnabled = false; /* harmony default export */ __webpack_exports__.A = ({ - __name: 'ContactPanel', + __name: 'LoginView', setup(__props) { - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_0__/* .useContactStore */ .p)(); - const contact = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contacts.activeContact); - const remarkName = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.alias || '未设置'); - const username = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.rawUser?.displayName || contact.value?.rawUser?.name || contact.value?.uid || ''); - const mobile = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.rawUser?.mobile || '未知'); - const address = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.rawUser?.address || '未知'); - const editingAlias = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(false); - const aliasDraft = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(''); - const aliasSaving = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(false); - const aliasError = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(''); - (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .watch */ .wB)(contact, () => { - editingAlias.value = false; - aliasError.value = ''; + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_9__/* .useSessionStore */ .B)(); + const view = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)('login'); + const mode = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)('qr'); + const mobile = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const password = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const code = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)('66666'); + const sendingCode = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const info = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const qrStatus = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)('idle'); + const qrCodeImage = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const qrSessionToken = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const qrUserName = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const qrUserPortrait = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const qrPolling = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + let qrGeneration = 0; + let qrExpireTimer = null; + const defaultPlatformName = _config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.appName; + const platformName = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(defaultPlatformName); + const platformLogo = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(defaultPlatformLogo); + const registerType = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)('phone'); + const registerMethods = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)({ + phone: true, + email: false, + username: false }); - function openAliasEditor() { - aliasDraft.value = contact.value?.alias || ''; - aliasError.value = ''; - editingAlias.value = true; - } - function closeAliasEditor() { - if (aliasSaving.value) { - return; - } - editingAlias.value = false; - aliasError.value = ''; - } - async function submitAlias() { - if (!contact.value) { - return; - } - aliasSaving.value = true; - aliasError.value = ''; - const ok = await contacts.updateContactAlias(contact.value.uid, aliasDraft.value); - aliasSaving.value = false; - if (ok) { - editingAlias.value = false; - return; - } - aliasError.value = contacts.actionError || '备注名修改失败'; - } - return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("section", _hoisted_1, [contact.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_1__/* .Fragment */ .FK, { - key: 0 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("h2", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(remarkName.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(username.value), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_3, [contact.value.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("img", { - key: 0, - class: "profile-avatar image-avatar", - src: contact.value.portrait, - alt: "" - }, null, 8, _hoisted_4)) : ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("div", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(contact.value.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(remarkName.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "icon-button remark-edit-button", - title: "编辑备注名", - onClick: openAliasEditor - }, "✏️")])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dl", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [_cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dt", null, "用户名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(username.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [_cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dt", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(mobile.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dt", null, "地区", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(address.value), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { - class: "primary-action profile-action", - onClick: _cache[0] || (_cache[0] = $event => (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .unref */ .R1)(contacts).openChat(contact.value)) - }, "发消息")]), editingAlias.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("div", { - key: 0, - class: "modal-backdrop contact-modal-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .withModifiers */ .D$)(closeAliasEditor, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("form", { - class: "modal-panel", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .withModifiers */ .D$)(submitAlias, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("header", null, [_cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("strong", null, "编辑备注名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "icon-button", - title: "关闭", - onClick: closeAliasEditor - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("label", null, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("span", null, "备注名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => aliasDraft.value = $event), - maxlength: "32", - autocomplete: "off", - autofocus: "" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_4__/* .vModelText */ .Jo, aliasDraft.value, void 0, { - trim: true - }]])]), aliasError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("p", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(aliasError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "ghost-inline-action", - disabled: aliasSaving.value, - onClick: closeAliasEditor - }, "取消", 8, _hoisted_11), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { - type: "submit", - class: "primary-inline-action", - disabled: aliasSaving.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(aliasSaving.value ? '保存中' : '保存'), 9, _hoisted_12)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createCommentVNode */ .Q3)("", true)], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("div", _hoisted_13, _cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("strong", null, "选择一个联系人", -1), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("span", null, "好友列表同步完成后,可以在左侧查看资料", -1)])))]); - }; - } -}); - -/***/ }), - -/***/ 542: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5513); -/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9130); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8937); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8636); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1857); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7987); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3865); - - - - - - - - -const _hoisted_1 = ["data-message-key", "onClick"]; -const _hoisted_2 = { - key: 0, - class: "message-select" -}; -const _hoisted_3 = ["checked", "onChange"]; -const _hoisted_4 = ["title", "onClick"]; -const _hoisted_5 = ["src"]; -const _hoisted_6 = { - key: 1 -}; -const _hoisted_7 = { - class: "message-stack" -}; -const _hoisted_8 = ["onClick"]; -const _hoisted_9 = { - key: 0, - class: "message-sender-role" -}; -const _hoisted_10 = ["onContextmenu"]; -const _hoisted_11 = ["onClick"]; -const _hoisted_12 = ["src", "alt"]; -const _hoisted_13 = ["href"]; -const _hoisted_14 = { - class: "message-file-main" -}; -const _hoisted_15 = { - key: 2 -}; -const _hoisted_16 = { - key: 0, - class: "recall-mark" -}; -const _hoisted_17 = { - key: 1, - class: "edit-mark" -}; -const _hoisted_18 = { - key: 2, - class: "favorite-mark", - title: "已收藏", - "aria-label": "已收藏" -}; -const _hoisted_19 = ["title", "aria-label"]; -const _hoisted_20 = { - key: 0, - class: "delivery-check delivery-check-second" -}; -const _hoisted_21 = { - key: 4, - class: "delivery-error" -}; -const _hoisted_22 = ["onClick"]; -const _hoisted_23 = { - class: "image-viewer-toolbar" -}; -const _hoisted_24 = { - class: "image-viewer-title" -}; -const _hoisted_25 = ["src", "alt"]; -const _hoisted_26 = { - class: "sender-profile-main" -}; -const _hoisted_27 = ["src"]; -const _hoisted_28 = { - key: 1, - class: "profile-avatar" -}; -const _hoisted_29 = { - key: 2 -}; -const _hoisted_30 = { - class: "sender-profile-fields" -}; -const _hoisted_31 = { - class: "sender-profile-alias" -}; -const _hoisted_32 = ["disabled"]; -const _hoisted_33 = { - class: "sender-profile-actions" -}; -const _hoisted_34 = { - key: 0, - class: "inline-save-status" -}; -const _hoisted_35 = { - key: 1, - class: "inline-save-status error" -}; -const _hoisted_36 = ["disabled"]; -const _hoisted_37 = ["disabled"]; - - -const IMAGE_MIN_SCALE = 0.5; -const IMAGE_MAX_SCALE = 6; -/* harmony default export */ __webpack_exports__.A = ({ - __name: 'MessageList', - props: { - messages: { - type: Array, - default: () => [] - }, - selectionMode: { - type: Boolean, - default: false - }, - selectedMessageIds: { - type: Array, - default: () => [] - }, - favoriteMessageIds: { - type: Array, - default: () => [] - }, - attentionMessageId: { - type: String, - default: '' - }, - canRecallOthers: { - type: Boolean, - default: false - } - }, - emits: ['message-action', 'toggle-select', 'sender-profile-updated'], - setup(__props, { - emit: __emit - }) { - const props = __props; - const emit = __emit; - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_7__/* .useContactStore */ .p)(); - const listEl = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .ref */ .KR)(null); - const viewerStage = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .ref */ .KR)(null); - const contextMenu = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .reactive */ .Kh)({ - visible: false, - x: 0, - y: 0, - message: null - }); - const imageViewer = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .reactive */ .Kh)({ - visible: false, - url: '', - name: '', - scale: 1, - rotation: 0, - offsetX: 0, - offsetY: 0, - dragging: false, - dragStartX: 0, - dragStartY: 0, - dragOffsetX: 0, - dragOffsetY: 0 - }); - const senderProfile = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .reactive */ .Kh)({ - visible: false, - uid: '', - displayName: '', - rawName: '', + const mobileRealVerify = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const registerPhoneError = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const phoneCaptcha = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const phoneCaptchaImage = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const usernameCaptcha = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const usernameCaptchaImage = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const settingRegisterPassword = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const pendingRegistration = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .reactive */ .Kh)({ mobile: '', - address: '', - portrait: '', - avatarText: '', - role: '', - roleLabel: '', - contactAlias: '', - groupAlias: '', - isContact: false, - aliasDraft: '', - saving: false, - adding: false, - notice: '', - error: '' + result: null, + resetCode: '' }); - const imageViewerStyle = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .computed */ .EW)(() => ({ - transform: `translate3d(${imageViewer.offsetX}px, ${imageViewer.offsetY}px, 0) scale(${imageViewer.scale}) rotate(${imageViewer.rotation}deg)` - })); - const menuItems = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .computed */ .EW)(() => { - if (!contextMenu.message) { - return []; - } - const isOwnMessage = contextMenu.message.direction === 'out'; - if (isRecalledMessage(contextMenu.message)) { - return [...(isOwnMessage ? [{ - action: 'edit', - label: '编辑' - }] : []), { - action: 'copy', - label: '复制' - }, { - action: 'delete', - label: '删除' - }, { - action: 'detail', - label: '详情' - }]; - } - const favoriteLabel = isFavorite(contextMenu.message) ? '取消收藏' : '收藏'; - const items = [{ - action: 'copy', - label: '复制' - }, { - action: 'delete', - label: '删除' - }, { - action: 'forward', - label: '转发' - }, { - action: 'favorite', - label: favoriteLabel - }, { - action: 'quote', - label: '引用' - }, { - action: 'select', - label: '多选' - }, { - action: 'detail', - label: '详情' - }]; - if (isOwnMessage) { - items.unshift({ - action: 'edit', - label: '编辑' - }); - items.push({ - action: 'recall', - label: '撤回' - }); - } else if (props.canRecallOthers) { - items.push({ - action: 'recall', - label: '撤回' - }); - } - return items; + const registerForm = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .reactive */ .Kh)({ + phoneCountryCode: '86', + phone: '', + code: '', + email: '', + emailCode: '', + username: '', + usernamePhoneCountryCode: '+86', + usernamePhone: '', + usernameCode: '', + password: '', + confirmPassword: '' }); - function scrollToBottom() { - (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .nextTick */ .dY)(() => { - if (listEl.value) { - listEl.value.scrollTop = listEl.value.scrollHeight; - } - }); + const registerPasswordForm = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .reactive */ .Kh)({ + password: '', + confirmPassword: '' + }); + const countryCodeOptions = [{ + value: '+86', + label: '+86' + }, { + value: '+852', + label: '+852' + }, { + value: '+853', + label: '+853' + }, { + value: '+886', + label: '+886' + }, { + value: '+1', + label: '+1' + }, { + value: '+44', + label: '+44' + }, { + value: '+60', + label: '+60' + }, { + value: '+63', + label: '+63' + }, { + value: '+65', + label: '+65' + }, { + value: '+66', + label: '+66' + }, { + value: '+81', + label: '+81' + }, { + value: '+82', + label: '+82' + }]; + const registerMethodOptions = [{ + key: 'phone', + label: '手机号注册' + }, { + key: 'email', + label: '邮箱注册' + }, { + key: 'username', + label: '用户名注册' + }]; + const canSubmit = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + if (mode.value === 'password') { + return mobile.value.length >= 5 && password.value.length >= 1; + } + return mobile.value.length >= 5 && code.value.length >= 1; + }); + const visibleRegisterMethods = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + const enabled = registerMethodOptions.filter(item => item.key !== 'email' && registerMethods.value[item.key]); + return enabled.length ? enabled : [registerMethodOptions[0]]; + }); + const canRegisterSubmit = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + if (registerType.value === 'phone') { + return registerForm.phone.length >= 5 && (mobileRealVerify.value ? registerForm.code.length >= 1 : phoneCaptchaMatched.value); + } + if (registerType.value === 'email') { + return false; + } + return registerForm.username.length >= 3 && registerForm.usernamePhone.length >= 5 && usernameCaptchaMatched.value && registerForm.password.length >= 1 && registerForm.password === registerForm.confirmPassword; + }); + const canSetRegisterPassword = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + return pendingRegistration.mobile && pendingRegistration.resetCode && registerPasswordForm.password.length >= 1 && registerPasswordForm.password === registerPasswordForm.confirmPassword; + }); + const phoneCaptchaStatus = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => getCaptchaStatus(registerForm.code, phoneCaptcha.value)); + const phoneCaptchaMatched = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => phoneCaptchaStatus.value === 'valid'); + const phoneCaptchaClass = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => getCaptchaClass(phoneCaptchaStatus.value)); + const usernameCaptchaStatus = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + return getCaptchaStatus(registerForm.usernameCode, usernameCaptcha.value); + }); + const usernameCaptchaMatched = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => usernameCaptchaStatus.value === 'valid'); + const usernameCaptchaClass = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => getCaptchaClass(usernameCaptchaStatus.value)); + const qrUserInitial = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + return String(qrUserName.value || '用').slice(0, 1).toUpperCase(); + }); + const qrStatusTitle = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + if (session.connecting || qrStatus.value === 'confirmed') { + return '正在进入'; + } + if (qrStatus.value === 'loading') { + return '正在生成二维码'; + } + if (qrStatus.value === 'scanned') { + return qrUserName.value ? `${qrUserName.value} 已扫码` : '已扫码'; + } + if (qrStatus.value === 'expired') { + return '二维码已过期'; + } + if (qrStatus.value === 'error') { + return '二维码加载失败'; + } + return '手机扫码登录'; + }); + const qrStatusText = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + if (session.connecting || qrStatus.value === 'confirmed') { + return '登录信息已确认,正在建立连接'; + } + if (qrStatus.value === 'loading') { + return '正在向服务器创建登录会话'; + } + if (qrStatus.value === 'scanned') { + return '请在手机 App 上确认登录'; + } + if (qrStatus.value === 'expired') { + return '请刷新后重新扫码'; + } + if (qrStatus.value === 'error') { + return '请刷新二维码后重试'; + } + return '使用已登录的手机 App 扫描二维码'; + }); + const qrRefreshText = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => { + if (qrStatus.value === 'loading') { + return '生成中...'; + } + if (qrStatus.value === 'expired' || qrStatus.value === 'error') { + return '重新生成二维码'; + } + return '刷新二维码'; + }); + (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .watch */ .wB)(visibleRegisterMethods, methods => { + if (!methods.some(item => item.key === registerType.value)) { + registerType.value = methods[0]?.key || 'phone'; + } + }); + (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .onMounted */ .sV)(() => { + loadPlatformConfig(); + loadRegisterConfig(); + restorePendingRegistration(); + if (view.value === 'login' && mode.value === 'qr') { + startQrLogin(); + } + }); + (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .onBeforeUnmount */ .xo)(() => { + stopQrLogin(); + }); + async function requestCode() { + info.value = ''; + sendingCode.value = true; + try { + await _services_imClient__WEBPACK_IMPORTED_MODULE_10__/* .imClient */ .wD.requestAuthCode(mobile.value); + info.value = '验证码已发送;本地测试也可以直接使用 66666'; + } catch (error) { + session.error = error.message || '验证码发送失败'; + } finally { + sendingCode.value = false; + } } - function scrollToMessage(messageId) { - (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .nextTick */ .dY)(() => { - if (!listEl.value || !messageId) { + async function requestRegisterCode() { + info.value = ''; + sendingCode.value = true; + try { + await _services_imClient__WEBPACK_IMPORTED_MODULE_10__/* .imClient */ .wD.requestAuthCode(formatPhoneForApi(registerForm.phoneCountryCode, registerForm.phone)); + info.value = '验证码已发送;本地测试也可以直接使用 66666'; + } catch (error) { + session.error = error.message || '验证码发送失败'; + } finally { + sendingCode.value = false; + } + } + function submit() { + if (mode.value === 'qr') { + return; + } + if (mode.value === 'password') { + session.loginWithPassword(mobile.value, password.value); + return; + } + session.loginWithCode(mobile.value, code.value); + } + function setLoginMode(nextMode) { + session.error = ''; + info.value = ''; + mode.value = nextMode; + if (nextMode === 'qr') { + startQrLogin(); + return; + } + stopQrLogin(); + } + function resetQrState() { + qrStatus.value = 'idle'; + qrCodeImage.value = ''; + qrSessionToken.value = ''; + qrUserName.value = ''; + qrUserPortrait.value = ''; + qrPolling.value = false; + } + function clearQrExpireTimer() { + if (qrExpireTimer) { + window.clearTimeout(qrExpireTimer); + qrExpireTimer = null; + } + } + function stopQrLogin() { + qrGeneration += 1; + clearQrExpireTimer(); + resetQrState(); + } + function refreshQrLogin() { + startQrLogin(true); + } + async function startQrLogin(force = false) { + if (mode.value !== 'qr') { + return; + } + if (!force && qrSessionToken.value && qrCodeImage.value && qrStatus.value !== 'expired' && qrStatus.value !== 'error') { + return; + } + qrGeneration += 1; + const generation = qrGeneration; + clearQrExpireTimer(); + session.error = ''; + info.value = ''; + qrStatus.value = 'loading'; + qrCodeImage.value = ''; + qrSessionToken.value = ''; + qrUserName.value = ''; + qrUserPortrait.value = ''; + qrPolling.value = false; + try { + const pcSession = await _services_imClient__WEBPACK_IMPORTED_MODULE_10__/* .imClient */ .wD.createPcSession(); + if (generation !== qrGeneration || mode.value !== 'qr') { return; } - const row = Array.from(listEl.value.querySelectorAll('.message-row')).find(element => element.dataset.messageKey === messageId); - if (row) { - row.scrollIntoView({ - block: 'center', - behavior: 'smooth' - }); + const token = String(pcSession.token || ''); + if (!token) { + throw new Error('服务器没有返回扫码登录凭证'); } - }); - } - (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .watch */ .wB)(() => props.messages.map(message => `${message.id}:${message.status}:${message.deliveryStatus || ''}:${message.messageUid || ''}:${message.recalled ? '1' : ''}`).join('|'), scrollToBottom, { - immediate: true - }); - (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .watch */ .wB)(() => props.attentionMessageId, scrollToMessage); - (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .onMounted */ .sV)(() => { - document.addEventListener('click', closeMenu); - document.addEventListener('keydown', closeMenuOnEscape); - document.addEventListener('pointermove', moveImageDrag); - document.addEventListener('pointerup', stopImageDrag); - }); - (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .onBeforeUnmount */ .xo)(() => { - document.removeEventListener('click', closeMenu); - document.removeEventListener('keydown', closeMenuOnEscape); - document.removeEventListener('pointermove', moveImageDrag); - document.removeEventListener('pointerup', stopImageDrag); - }); - function messageIdentity(message) { - return String(message.messageUid || message.id || ''); - } - function canOpenMessageMenu(message) { - return message && message.status !== 'failed' && message.status !== 'sending'; - } - function isSelected(message) { - return props.selectedMessageIds.includes(messageIdentity(message)); - } - function isFavorite(message) { - return props.favoriteMessageIds.includes(messageIdentity(message)); - } - function isAttention(message) { - return props.attentionMessageId === messageIdentity(message); - } - function isRecallNotice(message) { - return message.direction === 'out' && (message.recalled || message.status === 'recalled'); - } - function isRecalledMessage(message) { - return message.recalled || message.status === 'recalled'; - } - function isImageMessage(message) { - return message?.type === 'image' && message?.attachment?.url; - } - function isFileMessage(message) { - return message?.type === 'file' && message?.attachment?.url; - } - function isGroupMessage(message) { - return ['group', 'channel'].includes(message?.conversationType || ''); - } - function showGroupSender(message) { - return isGroupMessage(message) && message?.direction === 'in'; - } - function senderRoleLabel(message) { - const role = message?.senderProfile?.role || message?.senderRole || ''; - if (role === 'owner') { - return '群主'; - } - if (role === 'admin') { - return '管理员'; - } - return ''; - } - function groupSenderName(message) { - return message?.senderName || message?.senderProfile?.displayName || message?.from || '未知用户'; - } - function groupSenderAvatarText(message) { - return String(groupSenderName(message) || '?').slice(0, 1).toUpperCase(); - } - function openSenderProfile(message) { - const profile = message?.senderProfile || {}; - const uid = profile.uid || message?.from || ''; - const cachedContact = contacts.contacts.find(contact => String(contact.uid || contact.id || '') === uid) || null; - const cachedAlias = String(cachedContact?.alias || '').trim(); - const contactAlias = String(profile.contactAlias || cachedAlias || profile.remarkAlias || '').trim(); - const groupAlias = String(profile.groupAlias || '').trim(); - const rawName = profile.rawName || cachedContact?.rawUser?.displayName || cachedContact?.rawUser?.name || cachedContact?.title || groupSenderName(message); - const displayName = contactAlias || groupAlias || rawName || uid; - senderProfile.visible = true; - senderProfile.uid = uid; - senderProfile.displayName = displayName; - senderProfile.rawName = rawName || ''; - senderProfile.mobile = profile.mobile || cachedContact?.rawUser?.mobile || ''; - senderProfile.address = profile.address || cachedContact?.address || cachedContact?.rawUser?.address || ''; - senderProfile.portrait = profile.portrait || cachedContact?.portrait || message?.senderPortrait || ''; - senderProfile.avatarText = String(displayName || senderProfile.uid || '?').slice(0, 1).toUpperCase(); - senderProfile.role = profile.role || message?.senderRole || ''; - senderProfile.roleLabel = senderRoleLabel(message); - senderProfile.contactAlias = contactAlias; - senderProfile.groupAlias = groupAlias; - senderProfile.isContact = Boolean(profile.isContact || cachedContact); - senderProfile.aliasDraft = contactAlias; - senderProfile.saving = false; - senderProfile.adding = false; - senderProfile.notice = ''; - senderProfile.error = ''; - closeMenu(); - } - function closeSenderProfile() { - if (senderProfile.saving || senderProfile.adding) { - return; - } - senderProfile.visible = false; - } - async function addSenderAsContact() { - if (!senderProfile.uid || senderProfile.adding || senderProfile.saving) { - return; - } - senderProfile.adding = true; - senderProfile.notice = ''; - senderProfile.error = ''; - const ok = await contacts.addContact(senderProfile.uid); - if (ok || String(contacts.actionError || '').includes('已经是联系人')) { - senderProfile.isContact = true; - const alias = senderProfile.aliasDraft.trim(); - let aliasSaved = false; - if (alias) { - aliasSaved = await contacts.updateContactAlias(senderProfile.uid, alias); - if (aliasSaved) { - senderProfile.contactAlias = alias; - senderProfile.displayName = alias; - senderProfile.avatarText = String(alias || senderProfile.uid || '?').slice(0, 1).toUpperCase(); + qrSessionToken.value = token; + qrCodeImage.value = jr_qrcode__WEBPACK_IMPORTED_MODULE_7___default().getQrBase64(QR_CODE_PREFIX_PC_SESSION + token); + qrStatus.value = 'waiting'; + const expireMs = Math.max(30000, Math.min(Number(pcSession.expired || 300000), 300000)); + qrExpireTimer = window.setTimeout(() => { + if (generation === qrGeneration && qrStatus.value !== 'confirmed' && !session.isAuthenticated) { + qrStatus.value = 'expired'; } + }, expireMs); + pollQrLogin(generation, token); + } catch (error) { + if (generation !== qrGeneration) { + return; } - await contacts.refreshContacts({ - force: true - }).catch(() => {}); - if (alias && !aliasSaved) { - senderProfile.notice = ''; - senderProfile.error = contacts.actionError ? `已添加为好友,但${contacts.actionError}` : '已添加为好友,但备注名同步失败'; - } else { - senderProfile.notice = alias ? '已添加为好友,备注名已保存' : ok ? '已添加为好友' : '已是好友'; - } - emit('sender-profile-updated', { - userId: senderProfile.uid - }); - } else { - senderProfile.error = contacts.actionError || '添加好友失败'; - } - senderProfile.adding = false; - } - async function saveSenderAlias() { - if (!senderProfile.uid || senderProfile.saving || senderProfile.adding) { - return; - } - senderProfile.saving = true; - senderProfile.notice = ''; - senderProfile.error = ''; - const ok = await contacts.updateContactAlias(senderProfile.uid, senderProfile.aliasDraft); - if (ok) { - await contacts.refreshContacts({ - force: true - }).catch(() => {}); - const alias = senderProfile.aliasDraft.trim(); - senderProfile.contactAlias = alias; - senderProfile.displayName = alias || senderProfile.groupAlias || senderProfile.rawName || senderProfile.uid; - senderProfile.avatarText = String(senderProfile.displayName || senderProfile.uid || '?').slice(0, 1).toUpperCase(); - senderProfile.notice = '备注名已保存'; - emit('sender-profile-updated', { - userId: senderProfile.uid - }); - } else { - senderProfile.error = contacts.actionError || '备注名修改失败'; - } - senderProfile.saving = false; - } - function roleBubbleClass(message) { - const role = message?.senderRole || ''; - if (role === 'owner') { - return 'role-bubble-owner'; - } - if (role === 'admin') { - return 'role-bubble-admin'; - } - return ''; - } - function formatFileSize(size) { - const bytes = Number(size || 0); - if (bytes >= 1024 * 1024) { - return `${(bytes / 1024 / 1024).toFixed(bytes >= 10 * 1024 * 1024 ? 0 : 1)} MB`; - } - if (bytes >= 1024) { - return `${(bytes / 1024).toFixed(bytes >= 10 * 1024 ? 0 : 1)} KB`; - } - return bytes > 0 ? `${bytes} B` : ''; - } - function handleMessageClick(message) { - if (props.selectionMode) { - emit('toggle-select', message); + qrStatus.value = 'error'; + session.error = error.message || '二维码加载失败'; } } - function handleImageClick(message) { - if (props.selectionMode) { - emit('toggle-select', message); - return; - } - openImageViewer(message); - } - function openImageViewer(message) { - const attachment = message?.attachment || {}; - if (!attachment.url) { - return; - } - closeMenu(); - imageViewer.visible = true; - imageViewer.url = attachment.url; - imageViewer.name = attachment.name || 'image'; - resetImageViewer(); - } - function closeImageViewer() { - imageViewer.visible = false; - imageViewer.dragging = false; - } - function resetImageViewer() { - imageViewer.scale = 1; - imageViewer.rotation = 0; - imageViewer.offsetX = 0; - imageViewer.offsetY = 0; - } - function clampImageScale(value) { - return Math.min(IMAGE_MAX_SCALE, Math.max(IMAGE_MIN_SCALE, Number(value.toFixed(2)))); - } - function setImageScale(value, originX = null, originY = null) { - const previousScale = imageViewer.scale; - const nextScale = clampImageScale(value); - if (nextScale === previousScale) { - return; - } - if (originX !== null && originY !== null && viewerStage.value) { - const rect = viewerStage.value.getBoundingClientRect(); - const centerX = rect.left + rect.width / 2; - const centerY = rect.top + rect.height / 2; - const ratio = nextScale / previousScale - 1; - imageViewer.offsetX -= (originX - centerX - imageViewer.offsetX) * ratio; - imageViewer.offsetY -= (originY - centerY - imageViewer.offsetY) * ratio; - } - imageViewer.scale = nextScale; - if (nextScale <= 1) { - imageViewer.offsetX = 0; - imageViewer.offsetY = 0; - } - } - function zoomImage(delta) { - setImageScale(imageViewer.scale + delta); - } - function rotateImage() { - imageViewer.rotation = (imageViewer.rotation + 90) % 360; - } - function handleImageWheel(event) { - const factor = event.deltaY < 0 ? 1.12 : 1 / 1.12; - setImageScale(imageViewer.scale * factor, event.clientX, event.clientY); - } - function startImageDrag(event) { - if (!imageViewer.visible || imageViewer.scale <= 1) { - return; - } - imageViewer.dragging = true; - imageViewer.dragStartX = event.clientX; - imageViewer.dragStartY = event.clientY; - imageViewer.dragOffsetX = imageViewer.offsetX; - imageViewer.dragOffsetY = imageViewer.offsetY; - } - function moveImageDrag(event) { - if (!imageViewer.dragging) { - return; - } - imageViewer.offsetX = imageViewer.dragOffsetX + event.clientX - imageViewer.dragStartX; - imageViewer.offsetY = imageViewer.dragOffsetY + event.clientY - imageViewer.dragStartY; - } - function stopImageDrag() { - imageViewer.dragging = false; - } - function saveViewerImage() { - if (!imageViewer.url) { - return; - } - const downloadUrl = new URL('/api/media_download.php', window.location.origin); - downloadUrl.searchParams.set('url', imageViewer.url); - downloadUrl.searchParams.set('name', imageViewer.name || 'image'); - const link = document.createElement('a'); - link.href = downloadUrl.toString(); - link.download = imageViewer.name || 'image'; - document.body.appendChild(link); - link.click(); - link.remove(); - } - function openMenu(event, message) { - if (!canOpenMessageMenu(message)) { - closeMenu(); - return; - } - contextMenu.visible = true; - contextMenu.message = message; - contextMenu.x = Math.min(event.clientX, window.innerWidth - 148); - contextMenu.y = Math.min(event.clientY, window.innerHeight - 352); - } - function closeMenu() { - contextMenu.visible = false; - contextMenu.message = null; - } - function closeMenuOnEscape(event) { - if (event.key === 'Escape') { - if (senderProfile.visible) { - closeSenderProfile(); - } - if (imageViewer.visible) { - closeImageViewer(); - } - closeMenu(); - } - } - function chooseMenuAction(action) { - if (contextMenu.message) { - emit('message-action', { - action, - message: contextMenu.message - }); - } - closeMenu(); - } - function formatTime(timestamp) { - return new Intl.DateTimeFormat('zh-CN', { - hour: '2-digit', - minute: '2-digit', - hour12: false, - timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone - }).format(timestamp); - } - function deliveryState(message) { - if (message.direction !== 'out' || message.status === 'failed' || message.status === 'recalled' || message.recalled) { - return ''; - } - const state = message.deliveryStatus || message.status; - if (state === 'read') { - return 'read'; - } - if (state === 'delivered') { - return 'delivered'; - } - if (state === 'sent') { - return 'sent'; - } - return ''; - } - function deliveryTitle(message) { - const state = deliveryState(message); - if (state === 'read') { - return '对方已读'; - } - if (state === 'delivered') { - return '已送达对方'; - } - if (state === 'sent') { - return '已送出'; - } - return ''; - } - function failureText(message) { - if (message.status === 'failed') { - if (message.errorCode) { - return message.error ? `失败:${message.error}(${message.errorCode})` : `失败:${message.errorCode}`; - } - return message.error ? `失败:${message.error}` : '失败'; - } - return ''; - } - return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("div", { - ref_key: "listEl", - ref: listEl, - class: "message-list" - }, [((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_9__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .renderList */ .pI)(__props.messages, message => { - return (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("article", { - key: message.id, - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["message-row", [message.direction, { - selected: isSelected(message), - attention: isAttention(message), - recalled: message.recalled || message.status === 'recalled' - }]]), - "data-message-key": messageIdentity(message), - onClick: $event => handleMessageClick(message) - }, [__props.selectionMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("label", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("input", { - type: "checkbox", - checked: isSelected(message), - onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(() => {}, ["stop"])), - onChange: $event => emit('toggle-select', message) - }, null, 40, _hoisted_3)])) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), showGroupSender(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("button", { - key: 1, - type: "button", - class: "message-sender-avatar", - title: groupSenderName(message), - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)($event => openSenderProfile(message), ["stop"]) - }, [message.senderPortrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("img", { - key: 0, - src: message.senderPortrait, - alt: "" - }, null, 8, _hoisted_5)) : ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(groupSenderAvatarText(message)), 1))], 8, _hoisted_4)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", _hoisted_7, [showGroupSender(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("button", { - key: 0, - type: "button", - class: "message-sender-name", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)($event => openSenderProfile(message), ["stop"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createTextVNode */ .eW)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(groupSenderName(message)) + " ", 1), senderRoleLabel(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderRoleLabel(message)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true)], 8, _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["message-bubble", roleBubbleClass(message)]), - onContextmenu: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)($event => openMenu($event, message), ["prevent"]) - }, [isImageMessage(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("button", { - key: 0, - type: "button", - class: "message-image", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)($event => handleImageClick(message), ["stop"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("img", { - src: message.attachment.url, - alt: message.attachment.name || '图片' - }, null, 8, _hoisted_12)], 8, _hoisted_11)) : isFileMessage(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("a", { - key: 1, - class: "message-file", - href: message.attachment.url, - target: "_blank", - rel: "noreferrer", - download: "" - }, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("span", { - class: "message-file-icon" - }, "▤", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("span", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(message.attachment.name || '文件'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(formatFileSize(message.attachment.size)), 1)])], 8, _hoisted_13)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), message.text ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("p", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(message.text), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("time", null, [isRecallNotice(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(message.recallStatus || '已撤回'), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(formatTime(message.displayTimestamp || message.timestamp)), 1), message.editedAt ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_17, "【edit " + (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(formatTime(message.editedAt)) + "】", 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), isFavorite(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_18, "★")) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), deliveryState(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", { - key: 3, - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["delivery-mark", `delivery-mark-${deliveryState(message)}`]), - title: deliveryTitle(message), - "aria-label": deliveryTitle(message) - }, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("span", { - class: "delivery-check" - }, "✓", -1)), deliveryState(message) !== 'sent' ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_20, "✓")) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true)], 10, _hoisted_19)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), message.status === 'failed' ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_21, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(failureText(message)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true)])], 42, _hoisted_10)])], 10, _hoisted_1); - }), 128)), contextMenu.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("div", { - key: 0, - class: "message-context-menu", - style: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeStyle */ .Tr)({ - left: `${contextMenu.x}px`, - top: `${contextMenu.y}px` - }), - onClick: _cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(() => {}, ["stop"])) - }, [((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_9__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .renderList */ .pI)(menuItems.value, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("button", { - key: item.action, - type: "button", - onClick: $event => chooseMenuAction(item.action) - }, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(item.label), 9, _hoisted_22); - }), 128))], 4)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createBlock */ .Wv)(vue__WEBPACK_IMPORTED_MODULE_9__/* .Teleport */ .Im, { - to: "body" - }, [imageViewer.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("div", { - key: 0, - class: "image-viewer-backdrop", - onClick: closeImageViewer - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", { - class: "image-viewer-dialog", - onClick: _cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(() => {}, ["stop"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", _hoisted_23, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("span", _hoisted_24, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(imageViewer.name || '图片'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - title: "缩小", - "aria-label": "缩小", - onClick: _cache[2] || (_cache[2] = $event => zoomImage(-0.25)) - }, "−"), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - title: "放大", - "aria-label": "放大", - onClick: _cache[3] || (_cache[3] = $event => zoomImage(0.25)) - }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - title: "还原", - "aria-label": "还原", - onClick: resetImageViewer - }, "1:1"), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - title: "旋转", - "aria-label": "旋转", - onClick: rotateImage - }, "⟳"), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - title: "保存", - "aria-label": "保存", - onClick: saveViewerImage - }, "⇩"), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - title: "关闭", - "aria-label": "关闭", - onClick: closeImageViewer - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", { - ref_key: "viewerStage", - ref: viewerStage, - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["image-viewer-stage", { - dragging: imageViewer.dragging, - zoomed: imageViewer.scale > 1 - }]), - onWheel: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(handleImageWheel, ["prevent"]), - onPointerdown: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(startImageDrag, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("img", { - class: "image-viewer-img", - src: imageViewer.url, - alt: imageViewer.name || '图片', - style: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeStyle */ .Tr)(imageViewerStyle.value), - draggable: "false" - }, null, 12, _hoisted_25)], 34)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true)])), ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createBlock */ .Wv)(vue__WEBPACK_IMPORTED_MODULE_9__/* .Teleport */ .Im, { - to: "body" - }, [senderProfile.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("div", { - key: 0, - class: "sender-profile-backdrop", - onClick: closeSenderProfile - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("section", { - class: "sender-profile-dialog", - onClick: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(() => {}, ["stop"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("header", null, [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("strong", null, "用户资料", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "icon-button", - title: "关闭", - onClick: closeSenderProfile - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", _hoisted_26, [senderProfile.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("img", { - key: 0, - class: "profile-avatar image-avatar", - src: senderProfile.portrait, - alt: "" - }, null, 8, _hoisted_27)) : ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("div", _hoisted_28, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.displayName || senderProfile.uid), 1), senderProfile.roleLabel ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_29, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.roleLabel), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dl", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", null, [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dt", null, "用户ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.uid || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", null, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dt", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.rawName || senderProfile.displayName || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", null, [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dt", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.mobile || '未知'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("div", null, [_cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dt", null, "地区", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.address || '未知'), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("label", _hoisted_31, [_cache[14] || (_cache[14] = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("span", null, "备注名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => senderProfile.aliasDraft = $event), - maxlength: "32", - autocomplete: "off", - placeholder: "可给群员设置备注", - disabled: senderProfile.saving || senderProfile.adding - }, null, 8, _hoisted_32), [[vue__WEBPACK_IMPORTED_MODULE_11__/* .vModelText */ .Jo, senderProfile.aliasDraft, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("footer", _hoisted_33, [senderProfile.notice ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_34, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.notice), 1)) : senderProfile.error ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("span", _hoisted_35, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), !senderProfile.isContact ? ((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementBlock */ .CE)("button", { - key: 2, - type: "button", - class: "ghost-inline-action", - disabled: senderProfile.adding || senderProfile.saving || !senderProfile.uid, - onClick: addSenderAsContact - }, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.adding ? '添加中...' : '添加为好友'), 9, _hoisted_36)) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "primary-inline-action", - disabled: senderProfile.saving || senderProfile.adding || !senderProfile.uid, - onClick: saveSenderAlias - }, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(senderProfile.saving ? '保存中...' : '保存备注'), 9, _hoisted_37)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .createCommentVNode */ .Q3)("", true)]))], 512); - }; - } -}); - -/***/ }), - -/***/ 901: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3121); - - -/***/ }), - -/***/ 922: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8446); - - -/***/ }), - -/***/ 1050: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ l: function() { return /* binding */ useNavigationStore; } -/* harmony export */ }); -/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9776); - -const useNavigationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_0__/* .defineStore */ .nY)('navigation', { - state: () => ({ - section: 'messages' - }), - actions: { - showMessages() { - this.section = 'messages'; - }, - showContacts() { - this.section = 'contacts'; - }, - showFavorites() { - this.section = 'favorites'; - } - } -}); - -/***/ }), - -/***/ 1362: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7987); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3842); -/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1050); - - - -const _hoisted_1 = { - class: "favorite-panel" -}; -const _hoisted_2 = { - class: "chat-header" -}; -const _hoisted_3 = { - class: "favorite-detail" -}; -const _hoisted_4 = { - class: "favorite-detail-body" -}; -const _hoisted_5 = { - key: 0, - class: "recall-mark" -}; -const _hoisted_6 = ["href"]; -const _hoisted_7 = ["src", "alt"]; -const _hoisted_8 = ["href"]; -const _hoisted_9 = { - class: "message-file-main" -}; -const _hoisted_10 = { - key: 3 -}; -const _hoisted_11 = { - class: "favorite-detail-actions" -}; -const _hoisted_12 = { - key: 0, - class: "inline-save-status" -}; -const _hoisted_13 = { - key: 1, - class: "inline-save-status error" -}; -const _hoisted_14 = { - key: 1, - class: "empty-chat" -}; - - - -/* harmony default export */ __webpack_exports__.A = ({ - __name: 'FavoritePanel', - setup(__props) { - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_2__/* .useConversationStore */ .w)(); - const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_3__/* .useNavigationStore */ .l)(); - const favorite = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .computed */ .EW)(() => conversations.activeFavorite); - const notice = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .ref */ .KR)(''); - const error = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .ref */ .KR)(''); - function clearFeedback() { - notice.value = ''; - error.value = ''; - } - function favoriteTitle(item) { - if (item.conversationTitle) { - return item.conversationTitle; - } - const conversation = conversations.conversations.find(entry => entry.id === item.conversationId); - return conversation?.title || item.conversationId || '未知会话'; - } - function favoriteText(item) { - return item.text || ''; - } - function isImageFavorite(item) { - return item?.type === 'image' && item?.attachment?.url; - } - function isFileFavorite(item) { - return item?.type === 'file' && item?.attachment?.url; - } - function favoriteCopyText(item) { - if (!item) { - return ''; - } - if (item.text) { - return item.text; - } - if (item.recalled) { - return item.recallStatus || '已撤回'; - } - if (isImageFavorite(item)) { - return item.attachment.url; - } - if (isFileFavorite(item)) { - return `${item.attachment.name || '文件'} ${item.attachment.url}`.trim(); - } - return item.preview || ''; - } - function formatFileSize(size) { - const bytes = Number(size || 0); - if (bytes >= 1024 * 1024) { - return `${(bytes / 1024 / 1024).toFixed(bytes >= 10 * 1024 * 1024 ? 0 : 1)} MB`; - } - if (bytes >= 1024) { - return `${(bytes / 1024).toFixed(bytes >= 10 * 1024 ? 0 : 1)} KB`; - } - return bytes > 0 ? `${bytes} B` : ''; - } - function formatFavoriteTime(timestamp) { - const value = Number(timestamp || 0); - if (!value) { - return ''; - } - return new Intl.DateTimeFormat('zh-CN', { - year: 'numeric', - month: '2-digit', - day: '2-digit', - hour: '2-digit', - minute: '2-digit', - hour12: false - }).format(value); - } - async function copyFavorite() { - clearFeedback(); - const text = favoriteCopyText(favorite.value || {}).trim(); - if (!text) { - error.value = '没有可复制的文字内容'; - return; - } + async function pollQrLogin(generation, token) { + qrPolling.value = true; try { - await writeClipboard(text); - notice.value = '已复制'; - } catch (copyError) { - error.value = '复制失败'; + while (generation === qrGeneration && mode.value === 'qr' && !session.isAuthenticated) { + const data = await _services_imClient__WEBPACK_IMPORTED_MODULE_10__/* .imClient */ .wD.loginWithPcSession(token); + if (generation !== qrGeneration || mode.value !== 'qr') { + return; + } + const codeValue = Number(data.code); + if (codeValue === 0) { + qrStatus.value = 'confirmed'; + clearQrExpireTimer(); + await session.completePcSessionLogin(data.result || {}); + return; + } + if (codeValue === 9) { + qrStatus.value = 'scanned'; + qrUserName.value = data.result?.userName || data.result?.displayName || qrUserName.value; + qrUserPortrait.value = data.result?.portrait || qrUserPortrait.value; + await delay(800); + continue; + } + if (codeValue === 10) { + qrStatus.value = 'waiting'; + await delay(1000); + continue; + } + if (codeValue === 18) { + qrStatus.value = 'expired'; + session.error = '手机端已取消登录'; + return; + } + if (codeValue === 8) { + qrStatus.value = 'expired'; + return; + } + throw new Error(data.message || '扫码登录失败'); + } + } catch (error) { + if (generation === qrGeneration && mode.value === 'qr' && !session.isAuthenticated) { + qrStatus.value = 'error'; + session.error = error.message || '扫码登录失败'; + } + } finally { + if (generation === qrGeneration) { + qrPolling.value = false; + } } } - async function writeClipboard(text) { - if (navigator.clipboard?.writeText) { - await navigator.clipboard.writeText(text); - return; - } - const element = document.createElement('textarea'); - element.value = text; - element.setAttribute('readonly', 'readonly'); - element.style.position = 'fixed'; - element.style.left = '-9999px'; - document.body.appendChild(element); - element.select(); - document.execCommand('copy'); - document.body.removeChild(element); + function delay(ms) { + return new Promise(resolve => window.setTimeout(resolve, ms)); } - function openConversation() { - clearFeedback(); - const item = favorite.value; - if (!item?.conversationId) { - error.value = '缺少原会话信息'; + function normalizeUsernameCaptchaInput() { + registerForm.usernameCode = registerForm.usernameCode.replace(/\D/g, '').slice(0, 6); + } + function normalizePhoneCaptchaInput() { + registerForm.code = registerForm.code.replace(/\D/g, '').slice(0, 6); + } + function normalizeRegisterCountryCode() { + registerForm.phoneCountryCode = registerForm.phoneCountryCode.replace(/\D/g, '').slice(0, 6); + } + function showPhoneCaptcha() { + phoneCaptcha.value = randomDigits(6); + phoneCaptchaImage.value = renderCaptchaImage(phoneCaptcha.value); + registerForm.code = ''; + } + function showUsernameCaptcha() { + usernameCaptcha.value = randomDigits(6); + usernameCaptchaImage.value = renderCaptchaImage(usernameCaptcha.value); + registerForm.usernameCode = ''; + } + function getCaptchaStatus(inputValue, captchaValue) { + if (inputValue.length < 6) { + return ''; + } + return captchaValue && inputValue === captchaValue ? 'valid' : 'invalid'; + } + function getCaptchaClass(status) { + return { + 'captcha-input-valid': status === 'valid', + 'captcha-input-invalid': status === 'invalid' + }; + } + function randomDigits(length) { + let value = ''; + for (let index = 0; index < length; index += 1) { + value += Math.floor(Math.random() * 10); + } + return value; + } + function renderCaptchaImage(text) { + const width = 112; + const height = 42; + const canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + const context = canvas.getContext('2d'); + context.fillStyle = '#f7fbfa'; + context.fillRect(0, 0, width, height); + for (let index = 0; index < 11; index += 1) { + context.beginPath(); + context.moveTo(Math.random() * width, Math.random() * height); + context.lineTo(Math.random() * width, Math.random() * height); + context.strokeStyle = `rgba(${25 + Math.random() * 60}, ${55 + Math.random() * 70}, ${55 + Math.random() * 70}, 0.82)`; + context.lineWidth = 1.4; + context.stroke(); + } + context.font = '700 23px Arial, sans-serif'; + context.textBaseline = 'middle'; + context.textAlign = 'center'; + for (let index = 0; index < text.length; index += 1) { + context.fillStyle = index % 2 === 0 ? '#153f3b' : '#1b6760'; + context.fillText(text[index], 14 + index * 17, height / 2 + 1); + } + for (let index = 0; index < 70; index += 1) { + context.fillStyle = `rgba(20, 70, 65, ${0.12 + Math.random() * 0.2})`; + context.fillRect(Math.random() * width, Math.random() * height, 1.2, 1.2); + } + return canvas.toDataURL('image/png'); + } + async function submitRegister() { + session.error = ''; + info.value = ''; + if (registerType.value === 'phone') { + clearRegisterPhoneError(); + if (!mobileRealVerify.value && !phoneCaptchaMatched.value) { + session.error = '请输入正确的验证码'; + return; + } + const formattedPhone = formatPhoneForApi(registerForm.phoneCountryCode, registerForm.phone); + const phoneExists = await isRegisterPhoneExists(formattedPhone); + if (phoneExists === null) { + return; + } + if (phoneExists) { + registerPhoneError.value = '该手机号已经注册过'; + return; + } + const loginCode = mobileRealVerify.value ? registerForm.code : '66666'; + const result = await session.registerWithPhone(formattedPhone, loginCode); + if (!result) { + return; + } + if (!result.resetCode) { + session.error = '注册成功,但没有收到设置密码凭证'; + return; + } + setPendingRegistration(formattedPhone, result); + registerPasswordForm.password = ''; + registerPasswordForm.confirmPassword = ''; + view.value = 'setPassword'; return; } - const conversation = conversations.conversations.find(entry => entry.id === item.conversationId); - if (!conversation) { - error.value = '原会话暂未加载,请刷新会话后再试'; - conversations.refreshRemoteConversations(); + if (registerType.value === 'email') { + session.error = '邮箱注册已暂时关闭,请使用手机号注册'; return; } - navigation.showMessages(); - conversations.setActiveConversation(item.conversationId); - window.setTimeout(() => { - conversations.focusMessage({ - id: item.id || item.key, - messageUid: item.messageUid || item.key + session.error = registerType.value === 'email' ? '邮箱注册接口还未接入,请先使用手机号注册' : '用户名注册接口还未接入,请先使用手机号注册'; + } + async function submitRegisterPassword() { + session.error = ''; + info.value = ''; + if (!pendingRegistration.mobile || !pendingRegistration.resetCode) { + session.error = '注册状态已失效,请重新注册'; + return; + } + if (!registerPasswordForm.password || !registerPasswordForm.confirmPassword) { + session.error = '请填写完整密码'; + return; + } + if (registerPasswordForm.password !== registerPasswordForm.confirmPassword) { + session.error = '两次输入的密码不一致'; + return; + } + settingRegisterPassword.value = true; + try { + await session.resetPasswordWithCode({ + mobile: pendingRegistration.mobile, + resetCode: pendingRegistration.resetCode, + newPassword: registerPasswordForm.password }); - }, 450); + await session.loginWithPassword(pendingRegistration.mobile, registerPasswordForm.password); + if (!session.error) { + clearPendingRegistration(); + } + } catch (error) { + session.error = error.message || '密码设置失败'; + } finally { + settingRegisterPassword.value = false; + } } - function removeFavorite() { - clearFeedback(); - const key = favorite.value?.key || ''; - if (!key) { + function formatPhoneForApi(countryCode, phone) { + const digits = String(countryCode || '86').replace(/\D/g, '') || '86'; + const normalizedCode = `+${digits}`; + const normalizedPhone = String(phone || '').replace(/\s/g, ''); + if (normalizedCode === '+86') { + return normalizedPhone; + } + return `${normalizedCode}${normalizedPhone}`; + } + async function loadRegisterConfig() { + try { + const response = await axios__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A.get(_config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.registerConfigApi, { + withCredentials: false + }); + const methods = response.data?.data?.methods; + if (methods) { + registerMethods.value = { + phone: Boolean(methods.phone), + email: false && 0, + username: Boolean(methods.username) + }; + } + mobileRealVerify.value = Boolean(response.data?.data?.mobile_real_verify); + } catch (error) { + registerMethods.value = { + phone: true, + email: false, + username: false + }; + mobileRealVerify.value = false; + } + } + async function loadPlatformConfig() { + try { + const response = await axios__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A.get(_config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.platformConfigApi, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '平台配置加载失败'); + } + const config = response.data?.result || {}; + const name = String(config.platformName || '').trim(); + const logo = String(config.logoUrl || config.logo || '').trim(); + const version = String(config.version || '').trim(); + platformName.value = name || defaultPlatformName; + platformLogo.value = resolveBrandLogo(logo, version); + } catch (error) { + platformName.value = defaultPlatformName; + platformLogo.value = defaultPlatformLogo; + } + applyDocumentBrand(); + } + function resolveBrandLogo(value, version = '') { + const logo = String(value || '').trim(); + if (!logo) { + return defaultPlatformLogo; + } + if (/^(https?:|data:|blob:)/i.test(logo)) { + return appendBrandVersion(logo, version); + } + if (logo.startsWith('//')) { + return appendBrandVersion(`${window.location.protocol}${logo}`, version); + } + const base = logo.startsWith('/') ? _config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.adminServer : `${_config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.adminServer}/`; + return appendBrandVersion(new URL(logo, base).toString(), version); + } + function appendBrandVersion(url, version) { + if (!version || /^(data:|blob:)/i.test(url)) { + return url; + } + const parsed = new URL(url, window.location.href); + parsed.searchParams.set('v', version); + return parsed.toString(); + } + function applyDocumentBrand() { + if (typeof document === 'undefined') { return; } - conversations.removeFavorite(key); - notice.value = '已取消收藏'; + document.title = platformName.value || defaultPlatformName; + const iconUrl = platformLogo.value || defaultPlatformLogo; + setDocumentIcon('icon', iconUrl); + setDocumentIcon('shortcut icon', iconUrl); + setDocumentIcon('apple-touch-icon', iconUrl); + } + function setDocumentIcon(rel, href) { + let icon = document.querySelector(`link[rel="${rel}"]`); + if (!icon) { + icon = document.createElement('link'); + icon.setAttribute('rel', rel); + document.head.appendChild(icon); + } + icon.setAttribute('href', href); + } + function handleBrandLogoError() { + if (platformLogo.value !== defaultPlatformLogo) { + platformLogo.value = defaultPlatformLogo; + applyDocumentBrand(); + } + } + async function isRegisterPhoneExists(phone) { + try { + const response = await axios__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.registerPhoneExistsApi, { + mobile: phone + }, { + withCredentials: false + }); + return Boolean(response.data?.data?.exists); + } catch (error) { + session.error = error.response?.data?.msg || error.message || '手机号检查失败,请稍后重试'; + return null; + } + } + function clearRegisterPhoneError() { + registerPhoneError.value = ''; + } + function clearPendingRegistration() { + pendingRegistration.mobile = ''; + pendingRegistration.result = null; + pendingRegistration.resetCode = ''; + registerPasswordForm.password = ''; + registerPasswordForm.confirmPassword = ''; + sessionStorage.removeItem(pendingRegistrationStorageKey); + } + function setPendingRegistration(phone, result) { + pendingRegistration.mobile = phone; + pendingRegistration.result = result; + pendingRegistration.resetCode = String(result.resetCode || ''); + sessionStorage.setItem(pendingRegistrationStorageKey, JSON.stringify({ + appServer: _config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.appServer, + mobile: pendingRegistration.mobile, + resetCode: pendingRegistration.resetCode, + result + })); + } + function restorePendingRegistration() { + try { + const pending = JSON.parse(sessionStorage.getItem(pendingRegistrationStorageKey) || 'null'); + if (!pending || pending.appServer !== _config__WEBPACK_IMPORTED_MODULE_8__/* .appConfig */ .U.appServer || !pending.mobile || !pending.resetCode) { + return; + } + pendingRegistration.mobile = pending.mobile; + pendingRegistration.result = pending.result || null; + pendingRegistration.resetCode = String(pending.resetCode || ''); + registerPasswordForm.password = ''; + registerPasswordForm.confirmPassword = ''; + view.value = 'setPassword'; + } catch (error) { + sessionStorage.removeItem(pendingRegistrationStorageKey); + } + } + function openRegister() { + session.error = ''; + info.value = ''; + stopQrLogin(); + clearRegisterPhoneError(); + clearPendingRegistration(); + registerForm.phone = registerForm.phone || mobile.value; + registerForm.code = ''; + phoneCaptcha.value = ''; + phoneCaptchaImage.value = ''; + view.value = 'register'; + loadRegisterConfig(); + } + function backToLogin() { + session.error = ''; + info.value = ''; + clearRegisterPhoneError(); + clearPendingRegistration(); + mode.value = 'qr'; + view.value = 'login'; + startQrLogin(); } return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("section", _hoisted_1, [favorite.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_4__/* .Fragment */ .FK, { + return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("main", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("section", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("img", { + class: "brand-mark", + src: platformLogo.value, + alt: `${platformName.value} 图标`, + onError: handleBrandLogoError + }, null, 40, _hoisted_4), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("h1", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(platformName.value), 1), _cache[20] || (_cache[20] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("p", null, "连接既有授权 IM 服务的新版 Web 客户端", -1))])]), view.value === 'login' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("form", { + key: 0, + class: "login-form", + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(submit, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)({ + active: mode.value === 'qr' + }), + onClick: _cache[0] || (_cache[0] = $event => setLoginMode('qr')) + }, "扫码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)({ + active: mode.value === 'password' + }), + onClick: _cache[1] || (_cache[1] = $event => setLoginMode('password')) + }, "密码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)({ + active: mode.value === 'code' + }), + onClick: _cache[2] || (_cache[2] = $event => setLoginMode('code')) + }, "验证码登录", 2)]), mode.value === 'qr' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, { key: 0 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", null, [_cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("h2", null, "收藏详情", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(favoriteTitle(favorite.value)), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .normalizeClass */ .C4)(["favorite-detail-message", { - recalled: favorite.value.recalled + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["qr-login-card", { + scanned: qrStatus.value === 'scanned', + expired: qrStatus.value === 'expired', + error: qrStatus.value === 'error' }]) - }, [_cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", { - class: "favorite-detail-star" - }, "★", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_4, [favorite.value.recalled ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("span", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(favorite.value.recallStatus || '已撤回'), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), isImageFavorite(favorite.value) ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("a", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "qr-code-button", + disabled: qrStatus.value === 'loading' || (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting, + onClick: refreshQrLogin + }, [qrCodeImage.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("img", { + key: 0, + src: qrCodeImage.value, + alt: "手机扫码登录二维码" + }, null, 8, _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(qrStatus.value === 'loading' ? '生成中' : '点击刷新'), 1))], 8, _hoisted_6), qrStatus.value === 'scanned' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", _hoisted_9, [qrUserPortrait.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("img", { + key: 0, + src: qrUserPortrait.value, + alt: "" + }, null, 8, _hoisted_10)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(qrUserInitial.value), 1))])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 2), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(qrStatusTitle.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(qrStatusText.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "primary-action", + disabled: qrStatus.value === 'loading' || (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting, + onClick: refreshQrLogin + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(qrRefreshText.value), 9, _hoisted_13)], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, { + key: 1 + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[21] || (_cache[21] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => mobile.value = $event), + autocomplete: "username", + inputmode: "tel", + placeholder: "请输入手机号" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, mobile.value, void 0, { + trim: true + }]])]), mode.value === 'password' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_14, [_cache[22] || (_cache[22] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => password.value = $event), + autocomplete: "current-password", + type: "password", + placeholder: "请输入密码" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, password.value]])])) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_15, [_cache[23] || (_cache[23] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "验证码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_16, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => code.value = $event), + autocomplete: "one-time-code", + inputmode: "numeric", + placeholder: "本地测试请输入 66666" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, code.value, void 0, { + trim: true + }]]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "code-action", + disabled: sendingCode.value || mobile.value.length < 5, + onClick: requestCode + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(sendingCode.value ? '发送中' : '发送验证码'), 9, _hoisted_17)])])), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + class: "primary-action", + disabled: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting || !canSubmit.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting ? '登录中...' : '登录'), 9, _hoisted_18)], 64)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).error ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("p", _hoisted_19, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), info.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("p", _hoisted_20, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(info.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 32)) : view.value === 'register' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("form", { key: 1, - class: "favorite-detail-image", - href: favorite.value.attachment.url, - target: "_blank", - rel: "noreferrer" - }, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("img", { - src: favorite.value.attachment.url, - alt: favorite.value.attachment.name || '图片' - }, null, 8, _hoisted_7)], 8, _hoisted_6)) : isFileFavorite(favorite.value) ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("a", { + class: "login-form", + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(submitRegister, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { + class: "login-tabs register-tabs", + style: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeStyle */ .Tr)({ + gridTemplateColumns: `repeat(${visibleRegisterMethods.value.length || 1}, minmax(0, 1fr))` + }) + }, [((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .renderList */ .pI)(visibleRegisterMethods.value, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: item.key, + type: "button", + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)({ + active: registerType.value === item.key + }), + onClick: $event => registerType.value = item.key + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(item.label), 11, _hoisted_21); + }), 128))], 4), registerType.value === 'phone' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", _hoisted_23, [_cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), registerPhoneError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_24, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(registerPhoneError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_26, [_cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "+", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => registerForm.phoneCountryCode = $event), + "aria-label": "手机号国码", + autocomplete: "tel-country-code", + inputmode: "numeric", + maxlength: "6", + onInput: normalizeRegisterCountryCode + }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.phoneCountryCode, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => registerForm.phone = $event), + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)({ + 'field-input-error': registerPhoneError.value + }), + autocomplete: "tel", + inputmode: "tel", + placeholder: "请输入手机号", + onInput: clearRegisterPhoneError + }, null, 34), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.phone, void 0, { + trim: true + }]])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'phone' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_27, [_cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "验证码", -1)), mobileRealVerify.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", _hoisted_28, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => registerForm.code = $event), + autocomplete: "one-time-code", + inputmode: "numeric", + placeholder: "请输入短信验证码" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.code, void 0, { + trim: true + }]]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "code-action", + disabled: sendingCode.value || registerForm.phone.length < 5, + onClick: requestRegisterCode + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(sendingCode.value ? '发送中' : '发送验证码'), 9, _hoisted_29)])) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[9] || (_cache[9] = $event => registerForm.code = $event), + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(phoneCaptchaClass.value), + autocomplete: "off", + inputmode: "numeric", + maxlength: "6", + placeholder: "请输入验证码", + onInput: normalizePhoneCaptchaInput + }, null, 34), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.code, void 0, { + trim: true + }]]), !phoneCaptchaImage.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: 0, + type: "button", + class: "code-action", + onClick: showPhoneCaptcha + }, " 发送验证码 ")) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: 1, + type: "button", + class: "captcha-button", + title: "点击更换验证码", + onClick: showPhoneCaptcha + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("img", { + src: phoneCaptchaImage.value, + alt: "6位数字验证码" + }, null, 8, _hoisted_31)]))]))])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), false ? (0) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), false ? (0) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_35, [_cache[30] || (_cache[30] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "用户名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[12] || (_cache[12] = $event => registerForm.username = $event), + autocomplete: "username", + placeholder: "请输入用户名" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.username, void 0, { + trim: true + }]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_36, [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_37, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("select", { + "onUpdate:modelValue": _cache[13] || (_cache[13] = $event => registerForm.usernamePhoneCountryCode = $event), + "aria-label": "用户名注册手机号国码" + }, [((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .renderList */ .pI)(countryCodeOptions, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("option", { + key: item.value, + value: item.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(item.label), 9, _hoisted_38); + }), 64))], 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelSelect */ .u1, registerForm.usernamePhoneCountryCode]]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[14] || (_cache[14] = $event => registerForm.usernamePhone = $event), + autocomplete: "tel", + inputmode: "tel", + placeholder: "请输入手机号" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.usernamePhone, void 0, { + trim: true + }]])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_39, [_cache[32] || (_cache[32] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "验证码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_40, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[15] || (_cache[15] = $event => registerForm.usernameCode = $event), + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(usernameCaptchaClass.value), + autocomplete: "off", + inputmode: "numeric", + maxlength: "6", + placeholder: "请输入验证码", + onInput: normalizeUsernameCaptchaInput + }, null, 34), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.usernameCode, void 0, { + trim: true + }]]), !usernameCaptchaImage.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: 0, + type: "button", + class: "code-action", + onClick: showUsernameCaptcha + }, " 显示验证码 ")) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: 1, + type: "button", + class: "captcha-button", + title: "点击更换验证码", + onClick: showUsernameCaptcha + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("img", { + src: usernameCaptchaImage.value, + alt: "6位数字验证码" + }, null, 8, _hoisted_41)]))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_42, [_cache[33] || (_cache[33] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[16] || (_cache[16] = $event => registerForm.password = $event), + autocomplete: "new-password", + type: "password", + placeholder: "请输入密码" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.password]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("label", _hoisted_43, [_cache[34] || (_cache[34] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "确认密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[17] || (_cache[17] = $event => registerForm.confirmPassword = $event), + autocomplete: "new-password", + type: "password", + placeholder: "请再次输入密码" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerForm.confirmPassword]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + class: "primary-action", + disabled: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting || !canRegisterSubmit.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting ? '注册中...' : '注册'), 9, _hoisted_44), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).error ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("p", _hoisted_45, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), info.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("p", _hoisted_46, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(info.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 32)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("form", { key: 2, - class: "message-file favorite-detail-file", - href: favorite.value.attachment.url, - target: "_blank", - rel: "noreferrer", - download: "" - }, [_cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", { - class: "message-file-icon" - }, "▤", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(favorite.value.attachment.name || '文件'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(formatFileSize(favorite.value.attachment.size)), 1)])], 8, _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), favoriteText(favorite.value) ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("p", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(favoriteText(favorite.value)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("time", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(formatFavoriteTime(favorite.value.timestamp)), 1)], 2), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_11, [notice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("span", _hoisted_12, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(notice.value), 1)) : error.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("span", _hoisted_13, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(error.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { + class: "login-form", + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(submitRegisterPassword, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[35] || (_cache[35] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + value: pendingRegistration.mobile, + autocomplete: "username", + readonly: "" + }, null, 8, _hoisted_47)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[36] || (_cache[36] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "登录密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[18] || (_cache[18] = $event => registerPasswordForm.password = $event), + autocomplete: "new-password", + type: "password", + placeholder: "请输入登录密码" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerPasswordForm.password]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[37] || (_cache[37] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "确认密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[19] || (_cache[19] = $event => registerPasswordForm.confirmPassword = $event), + autocomplete: "new-password", + type: "password", + placeholder: "请再次输入密码" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, registerPasswordForm.confirmPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + class: "primary-action", + disabled: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting || settingRegisterPassword.value || !canSetRegisterPassword.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(settingRegisterPassword.value || (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).connecting ? '保存中...' : '保存并进入'), 9, _hoisted_48), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).error ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("p", _hoisted_49, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), info.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("p", _hoisted_50, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(info.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 32)), view.value === 'login' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: 3, + class: "ghost-action", type: "button", - class: "ghost-inline-action", - onClick: copyFavorite - }, "复制"), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { + onClick: openRegister + }, " 新用户注册 ")) : view.value === 'register' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { + key: 4, + class: "ghost-action", type: "button", - class: "ghost-inline-action", - onClick: openConversation - }, "打开原会话"), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "danger-inline-action", - onClick: removeFavorite - }, "取消收藏")])])], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("div", _hoisted_14, _cache[3] || (_cache[3] = [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, "暂无收藏消息", -1), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", null, "右键消息气泡选择“收藏”后,会显示在这里", -1)])))]); + onClick: backToLogin + }, " 返回登录 ")) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)])]); }; } }); /***/ }), -/***/ 1509: +/***/ 7562: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8438); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6768); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2409); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9488); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6591); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5412); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(9214); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(1857); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(7987); -/* harmony import */ var _MessageList_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8888); -/* harmony import */ var _MessageComposer_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2390); -/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6151); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3842); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(3865); -/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(4834); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7642); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8004); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3853); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5876); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2475); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5024); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1698); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(5187); +/* harmony import */ var _MessageList_vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(9847); +/* harmony import */ var _MessageComposer_vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(1653); +/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(5051); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(7566); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(9045); +/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(926); + @@ -1525,107 +1443,114 @@ const _hoisted_67 = { class: "conversation-avatar" }; const _hoisted_68 = { + key: 0, + class: "group-member-role" +}; +const _hoisted_69 = { + key: 1 +}; +const _hoisted_70 = { key: 0, class: "contact-picker-empty" }; -const _hoisted_69 = ["disabled"]; -const _hoisted_70 = { +const _hoisted_71 = ["disabled"]; +const _hoisted_72 = { key: 3, class: "group-dialog" }; -const _hoisted_71 = { +const _hoisted_73 = { key: 0, class: "group-loading" }; -const _hoisted_72 = { +const _hoisted_74 = { key: 1, class: "group-member-list" }; -const _hoisted_73 = ["onClick"]; -const _hoisted_74 = ["src"]; -const _hoisted_75 = { +const _hoisted_75 = ["onClick"]; +const _hoisted_76 = ["src"]; +const _hoisted_77 = { key: 1, class: "conversation-avatar" }; -const _hoisted_76 = { +const _hoisted_78 = { key: 0, class: "contact-picker-empty" }; -const _hoisted_77 = ["disabled"]; -const _hoisted_78 = { +const _hoisted_79 = ["disabled"]; +const _hoisted_80 = { key: 4, class: "group-dialog group-management-dialog" }; -const _hoisted_79 = { +const _hoisted_81 = { class: "group-management-tabs" }; -const _hoisted_80 = { +const _hoisted_82 = { key: 0, class: "group-loading" }; -const _hoisted_81 = { +const _hoisted_83 = { key: 1, class: "group-manage-section" }; -const _hoisted_82 = { +const _hoisted_84 = { class: "group-member-list" }; -const _hoisted_83 = ["checked", "onChange"]; -const _hoisted_84 = ["src"]; -const _hoisted_85 = { +const _hoisted_85 = ["checked", "onChange"]; +const _hoisted_86 = ["src"]; +const _hoisted_87 = { key: 1, class: "conversation-avatar" }; -const _hoisted_86 = { +const _hoisted_88 = { key: 0, class: "contact-picker-empty" }; -const _hoisted_87 = { +const _hoisted_89 = { key: 2, class: "group-manage-section" }; -const _hoisted_88 = { +const _hoisted_90 = { key: 3, class: "group-manage-section" }; -const _hoisted_89 = { +const _hoisted_91 = { class: "group-member-list" }; -const _hoisted_90 = ["checked", "onChange"]; -const _hoisted_91 = ["src"]; -const _hoisted_92 = { +const _hoisted_92 = ["checked", "onChange"]; +const _hoisted_93 = ["src"]; +const _hoisted_94 = { key: 1, class: "conversation-avatar" }; -const _hoisted_93 = { +const _hoisted_95 = { key: 0, class: "contact-picker-empty" }; -const _hoisted_94 = ["disabled"]; -const _hoisted_95 = { +const _hoisted_96 = ["disabled"]; +const _hoisted_97 = { key: 4, class: "group-manage-section" }; -const _hoisted_96 = { +const _hoisted_98 = { key: 0, class: "mute-time-grid" }; -const _hoisted_97 = { +const _hoisted_99 = { key: 1, class: "mute-time-grid" }; -const _hoisted_98 = { +const _hoisted_100 = { class: "mute-save-footer" }; -const _hoisted_99 = { +const _hoisted_101 = { key: 0, class: "inline-save-status" }; -const _hoisted_100 = { +const _hoisted_102 = { key: 1, class: "inline-save-status error" }; -const _hoisted_101 = ["disabled"]; +const _hoisted_103 = ["disabled"]; @@ -1636,31 +1561,31 @@ const _hoisted_101 = ["disabled"]; /* harmony default export */ __webpack_exports__.A = ({ __name: 'ChatPanel', setup(__props) { - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_14__/* .useConversationStore */ .w)(); - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_15__/* .useContactStore */ .p)(); - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_16__/* .useSessionStore */ .B)(); - const activeConversation = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => conversations.activeConversation); - const groupMenuOpen = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(false); - const singleProfileOpen = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(false); - const singleAliasDraft = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const singleProfileSaving = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(false); - const singleProfileNotice = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const singleProfileError = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const groupPanel = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const groupBusy = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(false); - const groupDetail = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(null); - const groupMembers = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)([]); - const groupAliasDraft = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const manageSection = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const selectedAdminIds = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)([]); - const selectedKickIds = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)([]); - const transferTargetId = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const profileDraft = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)({ + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_19__/* .useConversationStore */ .w)(); + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_20__/* .useContactStore */ .p)(); + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); + const activeConversation = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => conversations.activeConversation); + const groupMenuOpen = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(false); + const singleProfileOpen = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(false); + const singleAliasDraft = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const singleProfileSaving = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(false); + const singleProfileNotice = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const singleProfileError = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const groupPanel = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const groupBusy = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(false); + const groupDetail = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(null); + const groupMembers = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)([]); + const groupAliasDraft = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const manageSection = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const selectedAdminIds = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)([]); + const selectedKickIds = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)([]); + const transferTargetId = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const profileDraft = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)({ name: '', announcement: '', welcomeText: '' }); - const muteDraft = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)({ + const muteDraft = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)({ mode: 'off', scheduleType: 'once', startsAtLocal: '', @@ -1668,22 +1593,22 @@ const _hoisted_101 = ["disabled"]; dailyStart: '09:00', dailyEnd: '18:00' }); - const muteSaveNotice = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const muteSaveError = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); - const singlePeerId = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const muteSaveNotice = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const muteSaveError = (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .ref */ .KR)(''); + const singlePeerId = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { if (!activeConversation.value || isGroupConversation.value) { return ''; } return String(activeConversation.value.target || activeConversation.value.raw?.target || activeConversation.value.id?.replace(/^single-/, '') || ''); }); - const singleContact = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const singleContact = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { const peerId = singlePeerId.value; if (!peerId) { return null; } return contacts.contacts.find(contact => String(contact.uid || contact.id || '') === peerId) || null; }); - const singleProfile = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const singleProfile = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { const contact = singleContact.value; const conversation = activeConversation.value || {}; const rawUser = contact?.rawUser || {}; @@ -1700,22 +1625,37 @@ const _hoisted_101 = ["disabled"]; alias: contact?.alias || '' }; }); - const isGroupConversation = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const isGroupConversation = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { return ['group', 'channel'].includes(activeConversation.value?.type) || activeConversation.value?.raw?.type === 'group'; }); - const currentGroupRole = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const currentGroupRole = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { return groupDetail.value?.myRole || activeConversation.value?.role || activeConversation.value?.raw?.role || ''; }); - const isGroupOwner = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => currentGroupRole.value === 'owner'); - const canManageGroup = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => ['owner', 'admin'].includes(currentGroupRole.value)); - const adminCandidateMembers = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => groupMembers.value.filter(member => member.role !== 'owner')); - const transferableMembers = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => groupMembers.value.filter(member => member.role !== 'owner')); - const messageDetail = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => conversations.messageDetail || null); - const messageDetailGroup = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => messageDetail.value?.group || null); - const isMessageDetailGroup = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const isGroupOwner = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => currentGroupRole.value === 'owner'); + const canManageGroup = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => ['owner', 'admin'].includes(currentGroupRole.value)); + const sortedGroupMembers = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { + const roleOrder = { + owner: 0, + admin: 1, + member: 2 + }; + return groupMembers.value.map((member, index) => ({ + member, + index + })).sort((left, right) => { + const leftOrder = roleOrder[left.member.role] ?? 3; + const rightOrder = roleOrder[right.member.role] ?? 3; + return leftOrder - rightOrder || left.index - right.index; + }).map(item => item.member); + }); + const adminCandidateMembers = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => groupMembers.value.filter(member => member.role !== 'owner')); + const transferableMembers = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => groupMembers.value.filter(member => member.role !== 'owner')); + const messageDetail = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => conversations.messageDetail || null); + const messageDetailGroup = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => messageDetail.value?.group || null); + const isMessageDetailGroup = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { return messageDetail.value?.conversationType === 'group' || Boolean(messageDetail.value?.group); }); - const messageDetailCounts = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const messageDetailCounts = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { return messageDetailGroup.value?.counts || { read: 0, unread: 0, @@ -1723,7 +1663,7 @@ const _hoisted_101 = ["disabled"]; total: 0 }; }); - const kickCandidateMembers = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const kickCandidateMembers = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { return groupMembers.value.filter(member => { if (member.uid === session.userId || member.role === 'owner') { return false; @@ -1734,7 +1674,7 @@ const _hoisted_101 = ["disabled"]; return currentGroupRole.value === 'owner'; }); }); - const statusText = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const statusText = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .computed */ .EW)(() => { if (activeConversation.value?.type === 'channel' && !conversations.canSendActiveConversation) { return '公告群,仅管理员可发言'; } @@ -1865,7 +1805,7 @@ const _hoisted_101 = ["disabled"]; } groupBusy.value = true; try { - groupDetail.value = await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.getGroupDetail(session.userId, activeConversation.value.target); + groupDetail.value = await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.getGroupDetail(session.userId, activeConversation.value.target); return groupDetail.value; } catch (error) { conversations.setActionError(error.message || '群资料加载失败'); @@ -1890,7 +1830,7 @@ const _hoisted_101 = ["disabled"]; async function loadGroupMembers() { groupBusy.value = true; try { - groupMembers.value = await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.getGroupMembers(session.userId, activeConversation.value.target); + groupMembers.value = await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.getGroupMembers(session.userId, activeConversation.value.target); selectedAdminIds.value = groupMembers.value.filter(member => member.role === 'admin').map(member => member.uid); return groupMembers.value; } catch (error) { @@ -1961,7 +1901,7 @@ const _hoisted_101 = ["disabled"]; } groupBusy.value = true; try { - const alias = await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.updateGroupAlias(session.userId, activeConversation.value.target, groupAliasDraft.value); + const alias = await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.updateGroupAlias(session.userId, activeConversation.value.target, groupAliasDraft.value); groupDetail.value = { ...(groupDetail.value || {}), myAlias: alias @@ -1998,7 +1938,7 @@ const _hoisted_101 = ["disabled"]; } groupBusy.value = true; try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.setGroupAdmins(session.userId, activeConversation.value.target, selectedAdminIds.value); + await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.setGroupAdmins(session.userId, activeConversation.value.target, selectedAdminIds.value); groupMembers.value = groupMembers.value.map(member => { if (member.role === 'owner') { return member; @@ -2021,7 +1961,7 @@ const _hoisted_101 = ["disabled"]; } groupBusy.value = true; try { - const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.updateGroupProfile(session.userId, activeConversation.value.target, profileDraft.value); + const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.updateGroupProfile(session.userId, activeConversation.value.target, profileDraft.value); groupDetail.value = { ...(groupDetail.value || {}), name: result.name, @@ -2050,7 +1990,7 @@ const _hoisted_101 = ["disabled"]; } groupBusy.value = true; try { - const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.kickGroupMembers(session.userId, activeConversation.value.target, selectedKickIds.value); + const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.kickGroupMembers(session.userId, activeConversation.value.target, selectedKickIds.value); const removed = new Set(result.removedIds || selectedKickIds.value); groupMembers.value = groupMembers.value.filter(member => !removed.has(member.uid)); selectedKickIds.value = []; @@ -2068,7 +2008,7 @@ const _hoisted_101 = ["disabled"]; clearMuteSaveFeedback(); groupBusy.value = true; try { - const setting = await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.updateGroupMuteSetting(session.userId, activeConversation.value.target, { + const setting = await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.updateGroupMuteSetting(session.userId, activeConversation.value.target, { mode: muteDraft.value.mode, scheduleType: muteDraft.value.scheduleType, startsAtMs: localInputToMs(muteDraft.value.startsAtLocal), @@ -2124,7 +2064,7 @@ const _hoisted_101 = ["disabled"]; } groupBusy.value = true; try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_13__/* .imClient */ .wD.transferGroup(session.userId, activeConversation.value.target, transferTargetId.value); + await _services_imClient__WEBPACK_IMPORTED_MODULE_18__/* .imClient */ .wD.transferGroup(session.userId, activeConversation.value.target, transferTargetId.value); groupDetail.value = { ...(groupDetail.value || {}), myRole: 'member' @@ -2146,10 +2086,10 @@ const _hoisted_101 = ["disabled"]; return String(member.displayName || member.uid || '?').slice(0, 1).toUpperCase(); } document.addEventListener('click', closeGroupMenu); - (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .onBeforeUnmount */ .xo)(() => { + (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .onBeforeUnmount */ .xo)(() => { document.removeEventListener('click', closeGroupMenu); }); - (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .watch */ .wB)(() => activeConversation.value?.id, () => { + (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .watch */ .wB)(() => activeConversation.value?.id, () => { closeGroupMenu(); closeSingleProfile(); closeGroupPanel(); @@ -2162,446 +2102,452 @@ const _hoisted_101 = ["disabled"]; manageSection.value = ''; }); return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [isGroupConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [isGroupConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: 0, type: "button", class: "chat-title-button", onClick: openGroupOverview - }, [activeConversation.value?.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [activeConversation.value?.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "chat-title-avatar image-avatar", src: activeConversation.value.portrait, alt: "" - }, null, 8, _hoisted_3)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(activeConversation.value?.avatarText || '?'), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h2", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(activeConversation.value?.title || '未选择会话'), 1)])])) : activeConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + }, null, 8, _hoisted_3)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(activeConversation.value?.avatarText || '?'), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h2", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(activeConversation.value?.title || '未选择会话'), 1)])])) : activeConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: 1, type: "button", class: "chat-title-button", onClick: openSingleProfile - }, [singleProfile.value.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [singleProfile.value.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "chat-title-avatar image-avatar", src: singleProfile.value.portrait, alt: "" - }, null, 8, _hoisted_6)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h2", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(activeConversation.value?.title || '未选择会话'), 1)])])) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("h2", _hoisted_9, "未选择会话")), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(statusText.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_10, [_cache[29] || (_cache[29] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 8, _hoisted_6)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h2", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(activeConversation.value?.title || '未选择会话'), 1)])])) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("h2", _hoisted_9, "未选择会话")), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(statusText.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", _hoisted_10, [_cache[29] || (_cache[29] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { class: "icon-button", title: "搜索" - }, "⌕", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "⌕", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { class: "icon-button", title: "更多", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)(toggleGroupMenu, ["stop"]) - }, "⋯"), groupMenuOpen.value && isGroupConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)(toggleGroupMenu, ["stop"]) + }, "⋯"), groupMenuOpen.value && isGroupConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 0, class: "quick-action-menu chat-more-menu", - onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)(() => {}, ["stop"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)(() => {}, ["stop"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", onClick: openGroupMembers - }, "查看群员"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "查看群员"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", onClick: openGroupAlias - }, "我在本群的昵称"), canManageGroup.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + }, "我在本群的昵称"), canManageGroup.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: 0, type: "button", onClick: openGroupManage - }, "群组管理")) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)])]), !activeConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_11, _cache[30] || (_cache[30] = [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, "选择一个会话", -1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "真实会话同步完成后,可以在左侧打开聊天", -1)]))) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createBlock */ .Wv)(_MessageList_vue__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A, { + }, "群组管理")) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)])]), !activeConversation.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_11, _cache[30] || (_cache[30] = [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, "选择一个会话", -1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "真实会话同步完成后,可以在左侧打开聊天", -1)]))) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createBlock */ .Wv)(_MessageList_vue__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .A, { key: 1, - messages: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).activeMessages, - "selection-mode": (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).selectionMode, - "selected-message-ids": (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).selectedMessageIds, - "favorite-message-ids": (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).favoriteMessageIds, - "attention-message-id": (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).attentionMessageId, + messages: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).activeMessages, + "selection-mode": (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).selectionMode, + "selected-message-ids": (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).selectedMessageIds, + "favorite-message-ids": (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).favoriteMessageIds, + "attention-message-id": (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).attentionMessageId, "can-recall-others": canManageGroup.value && isGroupConversation.value, - onMessageAction: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).handleMessageAction, - onToggleSelect: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).toggleSelectedMessage, + onMessageAction: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).handleMessageAction, + onToggleSelect: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).toggleSelectedMessage, onSenderProfileUpdated: handleSenderProfileUpdated - }, null, 8, ["messages", "selection-mode", "selected-message-ids", "favorite-message-ids", "attention-message-id", "can-recall-others", "onMessageAction", "onToggleSelect"])), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).selectionMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "已选 " + (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).selectedMessageIds.length) + " 条", 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 8, ["messages", "selection-mode", "selected-message-ids", "favorite-message-ids", "attention-message-id", "can-recall-others", "onMessageAction", "onToggleSelect"])), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).selectionMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "已选 " + (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).selectedMessageIds.length) + " 条", 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - onClick: _cache[1] || (_cache[1] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).copySelectedMessages && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).copySelectedMessages(...args)) - }, "复制"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[1] || (_cache[1] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).copySelectedMessages && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).copySelectedMessages(...args)) + }, "复制"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - onClick: _cache[2] || (_cache[2] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).deleteSelectedMessages && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).deleteSelectedMessages(...args)) - }, "删除"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[2] || (_cache[2] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).deleteSelectedMessages && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).deleteSelectedMessages(...args)) + }, "删除"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - onClick: _cache[3] || (_cache[3] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).startForwardSelectedMessages && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).startForwardSelectedMessages(...args)) - }, "转发"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[3] || (_cache[3] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).startForwardSelectedMessages && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).startForwardSelectedMessages(...args)) + }, "转发"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - onClick: _cache[4] || (_cache[4] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).clearSelection && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).clearSelection(...args)) - }, "取消")])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createVNode */ .bF)(_MessageComposer_vue__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A, { - disabled: !activeConversation.value || !(0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(session).isAuthenticated || !(0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).canSendActiveConversation, - "quote-message": (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).quotedMessage, - onCancelQuote: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelQuote, - onSend: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).sendText, - onSendAttachment: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).sendAttachment - }, null, 8, ["disabled", "quote-message", "onCancelQuote", "onSend", "onSendAttachment"]), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).forwardingMessages.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + onClick: _cache[4] || (_cache[4] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).clearSelection && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).clearSelection(...args)) + }, "取消")])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createVNode */ .bF)(_MessageComposer_vue__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A, { + disabled: !activeConversation.value || !(0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(session).isAuthenticated || !(0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).canSendActiveConversation, + "quote-message": (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).quotedMessage, + onCancelQuote: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelQuote, + onSend: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).sendText, + onSendAttachment: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).sendAttachment + }, null, 8, ["disabled", "quote-message", "onCancelQuote", "onSend", "onSendAttachment"]), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).forwardingMessages.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 3, class: "modal-backdrop", - onClick: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelForward && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelForward(...args), ["self"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("section", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "转发给", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelForward && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelForward(...args), ["self"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("section", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "转发给", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", - onClick: _cache[5] || (_cache[5] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelForward && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelForward(...args)) - }, "×")]), ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).conversations, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + onClick: _cache[5] || (_cache[5] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelForward && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelForward(...args)) + }, "×")]), ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)((0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).conversations, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: item.id, type: "button", class: "forward-target", - onClick: $event => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).completeForward(item.id) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(item.avatarText), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(item.title), 1)], 8, _hoisted_14); - }), 128))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).editingMessage ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + onClick: $event => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).completeForward(item.id) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(item.avatarText), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(item.title), 1)], 8, _hoisted_14); + }), 128))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).editingMessage ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 4, class: "modal-backdrop", - onClick: _cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelEditMessage(...args), ["self"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("form", { + onClick: _cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelEditMessage(...args), ["self"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("form", { class: "edit-dialog", - onSubmit: _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).completeEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).completeEditMessage(...args), ["prevent"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).editingMode === 'resend' ? '重新编辑' : '编辑消息'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onSubmit: _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).completeEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).completeEditMessage(...args), ["prevent"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).editingMode === 'resend' ? '重新编辑' : '编辑消息'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", - onClick: _cache[7] || (_cache[7] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelEditMessage(...args)) - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { - "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).editingText = $event), + onClick: _cache[7] || (_cache[7] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelEditMessage(...args)) + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("textarea", { + "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).editingText = $event), maxlength: "5000", rows: "5", autofocus: "" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).editingText]]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).editingText]]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - onClick: _cache[9] || (_cache[9] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).cancelEditMessage(...args)) - }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).editingMode === 'resend' ? '发送' : '保存'), 1)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).messageDetailOpen ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + onClick: _cache[9] || (_cache[9] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelEditMessage && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).cancelEditMessage(...args)) + }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).editingMode === 'resend' ? '发送' : '保存'), 1)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).messageDetailOpen ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 5, class: "modal-backdrop", - onClick: _cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).closeMessageDetail && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).closeMessageDetail(...args), ["self"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("section", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[32] || (_cache[32] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "消息详情", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)((...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).closeMessageDetail && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).closeMessageDetail(...args), ["self"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("section", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[32] || (_cache[32] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "消息详情", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", - onClick: _cache[12] || (_cache[12] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).closeMessageDetail && (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).closeMessageDetail(...args)) - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).messageDetailLoading ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_18, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { + onClick: _cache[12] || (_cache[12] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).closeMessageDetail && (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).closeMessageDetail(...args)) + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).messageDetailLoading ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_18, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, { key: 1 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dl", _hoisted_19, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[33] || (_cache[33] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "发送时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(formatDetailTime(messageDetail.value?.sentAt)), 1)]), messageDetail.value?.editedAt ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_20, [_cache[34] || (_cache[34] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "编辑时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(formatDetailTime(messageDetail.value.editedAt)), 1)])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[35] || (_cache[35] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "发送人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberName(messageDetail.value?.sender)), 1)]), !isMessageDetailGroup.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dl", _hoisted_19, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[33] || (_cache[33] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "发送时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(formatDetailTime(messageDetail.value?.sentAt)), 1)]), messageDetail.value?.editedAt ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_20, [_cache[34] || (_cache[34] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "编辑时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(formatDetailTime(messageDetail.value.editedAt)), 1)])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[35] || (_cache[35] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "发送人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberName(messageDetail.value?.sender)), 1)]), !isMessageDetailGroup.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, { key: 1 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[36] || (_cache[36] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "接收人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberName(messageDetail.value?.receiver)), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[37] || (_cache[37] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "送达时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)({ + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[36] || (_cache[36] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "接收人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberName(messageDetail.value?.receiver)), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[37] || (_cache[37] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "送达时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)({ 'message-detail-muted': !messageDetail.value?.deliveredAt }) - }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetail.value?.deliveredAt ? formatDetailTime(messageDetail.value.deliveredAt) : '未送达'), 3)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[38] || (_cache[38] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "已读时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)({ + }, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetail.value?.deliveredAt ? formatDetailTime(messageDetail.value.deliveredAt) : '未送达'), 3)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[38] || (_cache[38] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "已读时间", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)({ 'message-detail-muted': !messageDetail.value?.readAt }) - }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetail.value?.readAt ? formatDetailTime(messageDetail.value.readAt) : '未读'), 3)])], 64)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).messageDetailError ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_21, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).messageDetailError), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), isMessageDetailGroup.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { + }, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetail.value?.readAt ? formatDetailTime(messageDetail.value.readAt) : '未读'), 3)])], 64)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).messageDetailError ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_21, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).messageDetailError), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), isMessageDetailGroup.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, { key: 1 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [_cache[39] || (_cache[39] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createTextVNode */ .eW)("已读 ")), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.read || 0), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [_cache[40] || (_cache[40] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createTextVNode */ .eW)("未读 ")), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.unread || 0), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [_cache[41] || (_cache[41] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createTextVNode */ .eW)("未送达 ")), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.undelivered || 0), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [_cache[42] || (_cache[42] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createTextVNode */ .eW)("成员 ")), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.total || 0), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_23, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("section", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[43] || (_cache[43] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, "已读", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.read || 0) + " 人", 1)]), messageDetailGroup.value?.read?.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_25, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(messageDetailGroup.value.read, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [_cache[39] || (_cache[39] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createTextVNode */ .eW)("已读 ")), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.read || 0), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [_cache[40] || (_cache[40] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createTextVNode */ .eW)("未读 ")), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.unread || 0), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [_cache[41] || (_cache[41] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createTextVNode */ .eW)("未送达 ")), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.undelivered || 0), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [_cache[42] || (_cache[42] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createTextVNode */ .eW)("成员 ")), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.total || 0), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", _hoisted_23, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("section", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[43] || (_cache[43] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, "已读", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.read || 0) + " 人", 1)]), messageDetailGroup.value?.read?.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_25, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(messageDetailGroup.value.read, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: `read-${member.uid}`, class: "message-detail-member-row" - }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_26)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_27, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_28, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberName(member)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.uid), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_29, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(formatDetailTime(member.time)), 1), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_30, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]); - }), 128))])) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_31, "暂无已读成员"))]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("section", _hoisted_32, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[44] || (_cache[44] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, "未读", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.unread || 0) + " 人", 1)]), messageDetailGroup.value?.unread?.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_33, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(messageDetailGroup.value.unread, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, null, 8, _hoisted_26)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_27, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_28, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberName(member)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.uid), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_29, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(formatDetailTime(member.time)), 1), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_30, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]); + }), 128))])) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_31, "暂无已读成员"))]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("section", _hoisted_32, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[44] || (_cache[44] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, "未读", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.unread || 0) + " 人", 1)]), messageDetailGroup.value?.unread?.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_33, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(messageDetailGroup.value.unread, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: `unread-${member.uid}`, class: "message-detail-member-row" - }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_34)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_35, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_36, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberName(member)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.uid), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_37, "送达 " + (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(formatDetailTime(member.time)), 1), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_38, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]); - }), 128))])) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_39, "暂无未读成员"))]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("section", _hoisted_40, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[45] || (_cache[45] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, "未送达", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(messageDetailCounts.value.undelivered || 0) + " 人", 1)]), messageDetailGroup.value?.undelivered?.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_41, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(messageDetailGroup.value.undelivered, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, null, 8, _hoisted_34)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_35, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_36, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberName(member)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.uid), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_37, "送达 " + (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(formatDetailTime(member.time)), 1), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_38, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]); + }), 128))])) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_39, "暂无未读成员"))]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("section", _hoisted_40, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[45] || (_cache[45] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, "未送达", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(messageDetailCounts.value.undelivered || 0) + " 人", 1)]), messageDetailGroup.value?.undelivered?.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_41, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(messageDetailGroup.value.undelivered, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: `undelivered-${member.uid}`, class: "message-detail-member-row" - }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_42)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_43, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_44, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailMemberName(member)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.uid), 1)]), _cache[46] || (_cache[46] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", { + }, null, 8, _hoisted_42)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_43, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", _hoisted_44, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailMemberName(member)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.uid), 1)]), _cache[46] || (_cache[46] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", { class: "message-detail-member-time message-detail-muted" - }, "未送达", -1)), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_45, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]); - }), 128))])) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_46, "暂无未送达成员"))])])], 64)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)], 64))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), singleProfileOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, "未送达", -1)), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_45, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]); + }), 128))])) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_46, "暂无未送达成员"))])])], 64)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)], 64))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), singleProfileOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 6, class: "modal-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)(closeSingleProfile, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("section", _hoisted_47, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[47] || (_cache[47] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "联系人资料", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)(closeSingleProfile, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("section", _hoisted_47, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[47] || (_cache[47] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "联系人资料", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeSingleProfile - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_48, [singleProfile.value.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", _hoisted_48, [singleProfile.value.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "profile-avatar image-avatar", src: singleProfile.value.portrait, alt: "" - }, null, 8, _hoisted_49)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_50, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.displayName), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dl", _hoisted_51, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[48] || (_cache[48] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "用户ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.uid || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[49] || (_cache[49] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.rawName || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[50] || (_cache[50] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.mobile || '未知'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[51] || (_cache[51] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "地区", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfile.value.address || '未知'), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[52] || (_cache[52] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "备注名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, null, 8, _hoisted_49)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_50, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.displayName), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dl", _hoisted_51, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[48] || (_cache[48] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "用户ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.uid || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[49] || (_cache[49] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.rawName || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[50] || (_cache[50] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.mobile || '未知'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[51] || (_cache[51] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "地区", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfile.value.address || '未知'), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[52] || (_cache[52] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "备注名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[14] || (_cache[14] = $event => singleAliasDraft.value = $event), maxlength: "32", autocomplete: "off", placeholder: "留空使用对方昵称" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, singleAliasDraft.value, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, singleAliasDraft.value, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", _hoisted_52, [singleProfileNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_53, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfileNotice.value), 1)) : singleProfileError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_54, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfileError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", _hoisted_52, [singleProfileNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_53, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfileNotice.value), 1)) : singleProfileError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_54, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfileError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "ghost-inline-action", disabled: singleProfileSaving.value, onClick: closeSingleProfile - }, "取消", 8, _hoisted_55), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "取消", 8, _hoisted_55), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", disabled: singleProfileSaving.value || !singleProfile.value.uid, onClick: saveSingleAlias - }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(singleProfileSaving.value ? '保存中...' : '保存备注'), 9, _hoisted_56)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), groupPanel.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(singleProfileSaving.value ? '保存中...' : '保存备注'), 9, _hoisted_56)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), groupPanel.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 7, class: "modal-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)(closeGroupPanel, ["self"]) - }, [groupPanel.value === 'overview' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_57, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[53] || (_cache[53] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "群概况", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)(closeGroupPanel, ["self"]) + }, [groupPanel.value === 'overview' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_57, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[53] || (_cache[53] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "群概况", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeGroupPanel - }, "×")]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_58, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("dl", _hoisted_59, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[54] || (_cache[54] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "群名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(groupDetail.value?.name || activeConversation.value?.title || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[55] || (_cache[55] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "群ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(groupDetail.value?.groupId || activeConversation.value?.target || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[56] || (_cache[56] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "群说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(groupDetail.value?.announcement || '未设置'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[57] || (_cache[57] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dt", null, "群主昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(groupDetail.value?.ownerName || '-'), 1)])])), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [isGroupOwner.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { + }, "×")]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_58, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("dl", _hoisted_59, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[54] || (_cache[54] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "群名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(groupDetail.value?.name || activeConversation.value?.title || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[55] || (_cache[55] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "群ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(groupDetail.value?.groupId || activeConversation.value?.target || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[56] || (_cache[56] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "群说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(groupDetail.value?.announcement || '未设置'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", null, [_cache[57] || (_cache[57] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dt", null, "群主昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(groupDetail.value?.ownerName || '-'), 1)])])), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [isGroupOwner.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, { key: 0 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "danger-inline-action", disabled: groupBusy.value, onClick: dismissCurrentGroup - }, "解散群组", 8, _hoisted_60), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "解散群组", 8, _hoisted_60), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", disabled: groupBusy.value, onClick: openTransferGroup - }, "转让群组", 8, _hoisted_61)], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + }, "转让群组", 8, _hoisted_61)], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: 1, type: "button", class: "danger-inline-action", disabled: groupBusy.value, onClick: leaveCurrentGroup - }, "退出群组", 8, _hoisted_62))])])) : groupPanel.value === 'members' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_63, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[58] || (_cache[58] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "群员", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "退出群组", 8, _hoisted_62))])])) : groupPanel.value === 'members' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_63, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[58] || (_cache[58] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "群员", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeGroupPanel - }, "×")]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_64, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_65, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(groupMembers.value, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, "×")]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_64, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_65, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(sortedGroupMembers.value, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: member.uid, class: "group-member-row" - }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_66)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_67, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.role === 'owner' ? '群主' : member.rawDisplayName), 1)])]); - }), 128)), !groupMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_68, "暂无群员")) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]))])) : groupPanel.value === 'alias' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("form", { + }, null, 8, _hoisted_66)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_67, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.displayName), 1), detailRoleLabel(member.role) ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("small", _hoisted_68, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(detailRoleLabel(member.role)), 1)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("small", _hoisted_69, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.rawDisplayName), 1))])]); + }), 128)), !groupMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_70, "暂无群员")) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]))])) : groupPanel.value === 'alias' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("form", { key: 2, class: "group-dialog", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_20__/* .withModifiers */ .D$)(saveGroupAlias, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[59] || (_cache[59] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "我在本群的昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .withModifiers */ .D$)(saveGroupAlias, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[59] || (_cache[59] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "我在本群的昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeGroupPanel - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[60] || (_cache[60] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[60] || (_cache[60] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[15] || (_cache[15] = $event => groupAliasDraft.value = $event), maxlength: "64", autocomplete: "off", placeholder: "留空使用个人昵称" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, groupAliasDraft.value, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, groupAliasDraft.value, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "ghost-inline-action", onClick: closeGroupPanel - }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { class: "primary-inline-action", disabled: groupBusy.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(groupBusy.value ? '保存中...' : '保存'), 9, _hoisted_69)])], 32)) : groupPanel.value === 'transfer' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_70, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[61] || (_cache[61] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "转让群组", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(groupBusy.value ? '保存中...' : '保存'), 9, _hoisted_71)])], 32)) : groupPanel.value === 'transfer' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_72, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[61] || (_cache[61] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "转让群组", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeGroupPanel - }, "×")]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_71, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_72, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(transferableMembers.value, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + }, "×")]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_73, "正在加载")) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_74, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(transferableMembers.value, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: member.uid, type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)(["group-member-row selectable", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)(["group-member-row selectable", { selected: transferTargetId.value === member.uid }]), onClick: $event => transferTargetId.value = member.uid - }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, [member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_74)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_75, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.rawDisplayName), 1)])], 10, _hoisted_73); - }), 128)), !transferableMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_76, "暂无可转让成员")) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)])), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 8, _hoisted_76)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_77, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.rawDisplayName), 1)])], 10, _hoisted_75); + }), 128)), !transferableMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_78, "暂无可转让成员")) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)])), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "ghost-inline-action", onClick: closeGroupPanel - }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", disabled: groupBusy.value || !transferTargetId.value, onClick: transferCurrentGroup - }, "确认转让", 8, _hoisted_77)])])) : groupPanel.value === 'manage' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_78, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [_cache[62] || (_cache[62] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h3", null, "群组管理", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "确认转让", 8, _hoisted_79)])])) : groupPanel.value === 'manage' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_80, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("header", null, [_cache[62] || (_cache[62] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("h3", null, "群组管理", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeGroupPanel - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("nav", _hoisted_79, [isGroupOwner.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("nav", _hoisted_81, [isGroupOwner.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("button", { key: 0, type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)({ + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)({ active: manageSection.value === 'admins' }), onClick: _cache[16] || (_cache[16] = $event => manageSection.value = 'admins') - }, "管理员设置", 2)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "管理员设置", 2)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)({ + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)({ active: manageSection.value === 'profile' }), onClick: _cache[17] || (_cache[17] = $event => manageSection.value = 'profile') - }, "修改群资料", 2), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "修改群资料", 2), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)({ + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)({ active: manageSection.value === 'kick' }), onClick: _cache[18] || (_cache[18] = $event => manageSection.value = 'kick') - }, "踢人", 2), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, "踢人", 2), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)({ + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)({ active: manageSection.value === 'mute' }), onClick: _cache[19] || (_cache[19] = $event => manageSection.value = 'mute') - }, "禁言设置", 2)]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_80, "正在加载")) : manageSection.value === 'admins' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_81, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_82, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(adminCandidateMembers.value, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("label", { + }, "禁言设置", 2)]), groupBusy.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_82, "正在加载")) : manageSection.value === 'admins' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_83, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", _hoisted_84, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(adminCandidateMembers.value, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("label", { key: member.uid, class: "group-member-row selectable with-check" - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { type: "checkbox", checked: selectedAdminIds.value.includes(member.uid), onChange: $event => toggleAdmin(member.uid) - }, null, 40, _hoisted_83), member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, null, 40, _hoisted_85), member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_84)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_85, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.rawDisplayName), 1)])]); - }), 128)), !adminCandidateMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_86, "暂无可设置成员")) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 8, _hoisted_86)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_87, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.rawDisplayName), 1)])]); + }), 128)), !adminCandidateMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_88, "暂无可设置成员")) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", onClick: saveGroupAdmins - }, "保存管理员")])])) : manageSection.value === 'profile' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_87, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[63] || (_cache[63] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "群名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, "保存管理员")])])) : manageSection.value === 'profile' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_89, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[63] || (_cache[63] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "群名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[20] || (_cache[20] = $event => profileDraft.value.name = $event), maxlength: "128", autocomplete: "off" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, profileDraft.value.name, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, profileDraft.value.name, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[64] || (_cache[64] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "群说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[64] || (_cache[64] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "群说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("textarea", { "onUpdate:modelValue": _cache[21] || (_cache[21] = $event => profileDraft.value.announcement = $event), maxlength: "1000", rows: "3" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, profileDraft.value.announcement, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, profileDraft.value.announcement, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[65] || (_cache[65] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "欢迎词", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[65] || (_cache[65] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "欢迎词", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("textarea", { "onUpdate:modelValue": _cache[22] || (_cache[22] = $event => profileDraft.value.welcomeText = $event), maxlength: "1000", rows: "3" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, profileDraft.value.welcomeText, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, profileDraft.value.welcomeText, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", onClick: saveGroupProfile - }, "保存资料")])])) : manageSection.value === 'kick' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_88, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_89, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(kickCandidateMembers.value, member => { - return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("label", { + }, "保存资料")])])) : manageSection.value === 'kick' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_90, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("div", _hoisted_91, [((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_13__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .renderList */ .pI)(kickCandidateMembers.value, member => { + return (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("label", { key: member.uid, class: "group-member-row selectable with-check" - }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { type: "checkbox", checked: selectedKickIds.value.includes(member.uid), onChange: $event => toggleKick(member.uid) - }, null, 40, _hoisted_90), member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + }, null, 40, _hoisted_92), member.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: member.portrait, alt: "" - }, null, 8, _hoisted_91)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_92, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(member.role === 'admin' ? '管理员' : member.rawDisplayName), 1)])]); - }), 128)), !kickCandidateMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_93, "暂无可移除成员")) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 8, _hoisted_93)) : ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_94, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(memberAvatar(member)), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.displayName), 1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(member.role === 'admin' ? '管理员' : member.rawDisplayName), 1)])]); + }), 128)), !kickCandidateMembers.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_95, "暂无可移除成员")) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", null, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "danger-inline-action", disabled: !selectedKickIds.value.length, onClick: kickSelectedMembers - }, "移出群组", 8, _hoisted_94)])])) : manageSection.value === 'mute' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("section", _hoisted_95, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[67] || (_cache[67] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "禁言模式", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("select", { + }, "移出群组", 8, _hoisted_96)])])) : manageSection.value === 'mute' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("section", _hoisted_97, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[67] || (_cache[67] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "禁言模式", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("select", { "onUpdate:modelValue": _cache[23] || (_cache[23] = $event => muteDraft.value.mode = $event), onChange: clearMuteSaveFeedback - }, _cache[66] || (_cache[66] = [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("option", { + }, _cache[66] || (_cache[66] = [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("option", { value: "off" - }, "关闭禁言", -1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("option", { + }, "关闭禁言", -1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("option", { value: "all_include_admins" - }, "全体禁言包含管理员", -1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("option", { + }, "全体禁言包含管理员", -1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("option", { value: "all_except_admins" - }, "除管理员外全体禁言", -1)]), 544), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelSelect */ .u1, muteDraft.value.mode]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[69] || (_cache[69] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "时段类型", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("select", { + }, "除管理员外全体禁言", -1)]), 544), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelSelect */ .u1, muteDraft.value.mode]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[69] || (_cache[69] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "时段类型", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("select", { "onUpdate:modelValue": _cache[24] || (_cache[24] = $event => muteDraft.value.scheduleType = $event), onChange: clearMuteSaveFeedback - }, _cache[68] || (_cache[68] = [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("option", { + }, _cache[68] || (_cache[68] = [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("option", { value: "manual" - }, "立即禁言直到管理解除", -1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("option", { + }, "立即禁言直到管理解除", -1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("option", { value: "once" - }, "单次", -1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("option", { + }, "单次", -1), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("option", { value: "daily" - }, "每天固定时段", -1)]), 544), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelSelect */ .u1, muteDraft.value.scheduleType]])]), muteDraft.value.mode !== 'off' && muteDraft.value.scheduleType === 'once' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_96, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[70] || (_cache[70] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "开始", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, "每天固定时段", -1)]), 544), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelSelect */ .u1, muteDraft.value.scheduleType]])]), muteDraft.value.mode !== 'off' && muteDraft.value.scheduleType === 'once' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_98, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[70] || (_cache[70] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "开始", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[25] || (_cache[25] = $event => muteDraft.value.startsAtLocal = $event), type: "datetime-local", onInput: clearMuteSaveFeedback - }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, muteDraft.value.startsAtLocal]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[71] || (_cache[71] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "结束", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, muteDraft.value.startsAtLocal]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[71] || (_cache[71] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "结束", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[26] || (_cache[26] = $event => muteDraft.value.endsAtLocal = $event), type: "datetime-local", onInput: clearMuteSaveFeedback - }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, muteDraft.value.endsAtLocal]])])])) : muteDraft.value.mode !== 'off' && muteDraft.value.scheduleType === 'daily' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_97, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[72] || (_cache[72] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "开始", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, muteDraft.value.endsAtLocal]])])])) : muteDraft.value.mode !== 'off' && muteDraft.value.scheduleType === 'daily' ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", _hoisted_99, [(0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[72] || (_cache[72] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "开始", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[27] || (_cache[27] = $event => muteDraft.value.dailyStart = $event), type: "time", onInput: clearMuteSaveFeedback - }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, muteDraft.value.dailyStart]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[73] || (_cache[73] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "结束", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, muteDraft.value.dailyStart]])]), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("label", null, [_cache[73] || (_cache[73] = (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("span", null, "结束", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[28] || (_cache[28] = $event => muteDraft.value.dailyEnd = $event), type: "time", onInput: clearMuteSaveFeedback - }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_20__/* .vModelText */ .Jo, muteDraft.value.dailyEnd]])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("footer", _hoisted_98, [muteSaveNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_99, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(muteSaveNotice.value), 1)) : muteSaveError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_100, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(muteSaveError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_12__/* .vModelText */ .Jo, muteDraft.value.dailyEnd]])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("footer", _hoisted_100, [muteSaveNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_101, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(muteSaveNotice.value), 1)) : muteSaveError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("span", _hoisted_102, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)(muteSaveError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", disabled: groupBusy.value, onClick: saveMuteSetting - }, "保存禁言", 8, _hoisted_101)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).actionNotice || (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).actionError ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + }, "保存禁言", 8, _hoisted_103)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).actionNotice || (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).actionError ? ((0,vue__WEBPACK_IMPORTED_MODULE_13__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createElementBlock */ .CE)("div", { key: 8, - class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)(["chat-toast", { - error: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).actionError + class: (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .normalizeClass */ .C4)(["chat-toast", { + error: (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).actionError }]) - }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).actionError || (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).actionNotice), 3)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]); + }, (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).actionError || (0,vue__WEBPACK_IMPORTED_MODULE_14__/* .unref */ .R1)(conversations).actionNotice), 3)) : (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .createCommentVNode */ .Q3)("", true)]); }; } }); /***/ }), -/***/ 1648: +/***/ 6935: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(680); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1857); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7987); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4114); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7588); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5187); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(144); + + @@ -2618,11 +2564,24 @@ const _hoisted_3 = ["disabled"]; const _hoisted_4 = ["disabled"]; const _hoisted_5 = ["disabled"]; const _hoisted_6 = ["onClick"]; -const _hoisted_7 = ["disabled", "onKeydown"]; -const _hoisted_8 = { +const _hoisted_7 = { + key: 1, + class: "composer-attachment-preview" +}; +const _hoisted_8 = ["src", "alt"]; +const _hoisted_9 = { + key: 1, + class: "composer-attachment-file-icon" +}; +const _hoisted_10 = { + class: "composer-attachment-name" +}; +const _hoisted_11 = ["onClick"]; +const _hoisted_12 = ["disabled", "onKeydown"]; +const _hoisted_13 = { class: "composer-footer" }; -const _hoisted_9 = ["disabled"]; +const _hoisted_14 = ["disabled"]; /* harmony default export */ __webpack_exports__.A = ({ __name: 'MessageComposer', @@ -2642,20 +2601,33 @@ const _hoisted_9 = ["disabled"]; }) { const props = __props; const emit = __emit; - const text = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); - const emojiOpen = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); - const dropActive = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); - const textareaEl = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); - const imageInput = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); - const fileInput = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); + const text = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); + const emojiOpen = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); + const dropActive = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); + const textareaEl = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); + const imageInput = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); + const fileInput = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); + const pendingAttachments = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)([]); let dragDepth = 0; const emojiList = ['😀', '😄', '😂', '😊', '😍', '😘', '😎', '😢', '😡', '👍', '🙏', '👏', '💪', '🎉', '❤️', '🔥', '🌹', '☕', '✅', '⭐', '💰', '🎁', '🤝', '👌']; function submit() { const value = text.value.trim(); - if (!value) { + const attachments = [...pendingAttachments.value]; + if (!value && !attachments.length) { return; } - emit('send', value); + if (attachments.length) { + attachments.forEach((attachment, index) => { + emit('send-attachment', { + type: attachment.type, + file: attachment.file, + text: index === 0 ? value : '' + }); + }); + clearPendingAttachments(); + } else { + emit('send', value); + } text.value = ''; emojiOpen.value = false; } @@ -2697,17 +2669,30 @@ const _hoisted_9 = ["disabled"]; if (!validFiles.length) { return; } - const caption = text.value.trim(); - validFiles.forEach((file, index) => { - emit('send-attachment', { - type: attachmentTypeForFile(file, fallbackType), + validFiles.forEach(file => { + const type = attachmentTypeForFile(file, fallbackType); + pendingAttachments.value.push({ + id: `${Date.now()}-${Math.random().toString(16).slice(2)}`, + type, file, - text: index === 0 ? caption : '' + previewUrl: type === 'image' ? URL.createObjectURL(file) : '' }); }); - text.value = ''; emojiOpen.value = false; } + function releasePendingAttachment(attachment) { + if (attachment?.previewUrl) { + URL.revokeObjectURL(attachment.previewUrl); + } + } + function removePendingAttachment(index) { + const [attachment] = pendingAttachments.value.splice(index, 1); + releasePendingAttachment(attachment); + } + function clearPendingAttachments() { + pendingAttachments.value.forEach(releasePendingAttachment); + pendingAttachments.value = []; + } function selectAttachment(event, type) { const input = event.target; const files = input.files ? Array.from(input.files) : []; @@ -2772,1270 +2757,1469 @@ const _hoisted_9 = ["disabled"]; event.preventDefault(); emitFiles(imageFiles, 'image'); } + ;(0,vue__WEBPACK_IMPORTED_MODULE_7__/* .onBeforeUnmount */ .xo)(clearPendingAttachments); return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementBlock */ .CE)("form", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .normalizeClass */ .C4)(["message-composer", { + return (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("form", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .normalizeClass */ .C4)(["message-composer", { 'drop-active': dropActive.value }]), - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(submit, ["prevent"]), - onDragenter: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(handleDragEnter, ["prevent"]), - onDragover: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(handleDragOver, ["prevent"]), - onDragleave: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(handleDragLeave, ["prevent"]), - onDrop: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(handleDrop, ["prevent"]), + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(submit, ["prevent"]), + onDragenter: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(handleDragEnter, ["prevent"]), + onDragover: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(handleDragOver, ["prevent"]), + onDragleave: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(handleDragLeave, ["prevent"]), + onDrop: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(handleDrop, ["prevent"]), onPaste: handlePaste - }, [__props.quoteMessage ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementBlock */ .CE)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("span", null, [_cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("strong", null, "引用", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createTextVNode */ .eW)(" " + (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(__props.quoteMessage.quoteText || __props.quoteMessage.text), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("button", { + }, [__props.quoteMessage ? ((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("span", null, [_cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("strong", null, "引用", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createTextVNode */ .eW)(" " + (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .toDisplayString */ .v_)(__props.quoteMessage.quoteText || __props.quoteMessage.text), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { type: "button", title: "取消引用", onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('cancel-quote')) - }, "×")])) : (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("button", { + }, "×")])) : (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { type: "button", title: "表情", + "aria-label": "表情", disabled: __props.disabled, onClick: toggleEmojiPicker - }, "☺", 8, _hoisted_3), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("button", { + }, "☺", 8, _hoisted_3), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { type: "button", + class: "composer-tool-button image-tool", title: "图片", + "aria-label": "图片", disabled: __props.disabled, onClick: chooseImage - }, "▧", 8, _hoisted_4), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("button", { + }, _cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("svg", { + class: "composer-tool-icon", + viewBox: "0 0 24 24", + "aria-hidden": "true" + }, [(0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("rect", { + x: "3", + y: "5", + width: "18", + height: "14", + rx: "2.5" + }), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("circle", { + cx: "8.2", + cy: "9.2", + r: "1.6" + }), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("path", { + d: "M6.5 17l4.2-4.7 3.1 3.4 1.8-2 2.9 3.3" + })], -1)]), 8, _hoisted_4), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { type: "button", + class: "composer-tool-button file-tool", title: "文件", + "aria-label": "文件", disabled: __props.disabled, onClick: chooseFile - }, "▤", 8, _hoisted_5), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("input", { + }, _cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createStaticVNode */ .Fv)("", 1)]), 8, _hoisted_5), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("input", { ref_key: "imageInput", ref: imageInput, type: "file", accept: "image/*", multiple: "", onChange: _cache[1] || (_cache[1] = $event => selectAttachment($event, 'image')) - }, null, 544), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("input", { + }, null, 544), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("input", { ref_key: "fileInput", ref: fileInput, type: "file", multiple: "", onChange: _cache[2] || (_cache[2] = $event => selectAttachment($event, 'file')) - }, null, 544), emojiOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementBlock */ .CE)("div", { + }, null, 544), emojiOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("div", { key: 0, class: "emoji-picker", - onClick: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(() => {}, ["stop"])) - }, [((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_5__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .renderList */ .pI)(emojiList, emoji => { - return (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("button", { + onClick: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(() => {}, ["stop"])) + }, [((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_7__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .renderList */ .pI)(emojiList, emoji => { + return (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { key: emoji, type: "button", onClick: $event => insertEmoji(emoji) - }, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(emoji), 9, _hoisted_6); - }), 64))])) : (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("textarea", { + }, (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .toDisplayString */ .v_)(emoji), 9, _hoisted_6); + }), 64))])) : (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createCommentVNode */ .Q3)("", true)]), pendingAttachments.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("div", _hoisted_7, [((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_7__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .renderList */ .pI)(pendingAttachments.value, (attachment, index) => { + return (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("article", { + key: attachment.id, + class: "composer-attachment-item" + }, [attachment.type === 'image' ? ((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("img", { + key: 0, + src: attachment.previewUrl, + alt: attachment.file.name || '待发送图片' + }, null, 8, _hoisted_8)) : ((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementBlock */ .CE)("span", _hoisted_9, "▤")), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("span", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .toDisplayString */ .v_)(attachment.file.name), 1), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "移除", + "aria-label": "移除待发送文件", + onClick: $event => removePendingAttachment(index) + }, "×", 8, _hoisted_11)]); + }), 128))])) : (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("textarea", { ref_key: "textareaEl", ref: textareaEl, "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => text.value = $event), disabled: __props.disabled, placeholder: "输入消息", rows: "3", - onKeydown: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withKeys */ .jR)((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .withModifiers */ .D$)(submit, ["exact", "prevent"]), ["enter"]) - }, null, 40, _hoisted_7), [[vue__WEBPACK_IMPORTED_MODULE_7__/* .vModelText */ .Jo, text.value]]), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("div", _hoisted_8, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("span", null, "Enter 发送,Shift + Enter 换行", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .createElementVNode */ .Lk)("button", { + onKeydown: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withKeys */ .jR)((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(submit, ["exact", "prevent"]), ["enter"]) + }, null, 40, _hoisted_12), [[vue__WEBPACK_IMPORTED_MODULE_6__/* .vModelText */ .Jo, text.value]]), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("div", _hoisted_13, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("span", null, "Enter 发送,Shift + Enter 换行", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .createElementVNode */ .Lk)("button", { class: "send-button", - disabled: __props.disabled || !text.value.trim() - }, "发送", 8, _hoisted_9)])], 34); + disabled: __props.disabled || !text.value.trim() && !pendingAttachments.value.length + }, "发送", 8, _hoisted_14)])], 34); }; } }); /***/ }), -/***/ 1920: +/***/ 4021: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var _NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5399); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4114); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5187); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(144); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9045); -const __exports__ = _NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; -/* harmony default export */ __webpack_exports__.A = (__exports__); + + +const _hoisted_1 = ["data-message-key", "onClick"]; +const _hoisted_2 = { + key: 0, + class: "message-select" +}; +const _hoisted_3 = ["checked", "onChange"]; +const _hoisted_4 = ["title", "onClick"]; +const _hoisted_5 = ["src"]; +const _hoisted_6 = { + key: 1 +}; +const _hoisted_7 = { + class: "message-stack" +}; +const _hoisted_8 = ["onClick"]; +const _hoisted_9 = { + key: 0, + class: "message-sender-role" +}; +const _hoisted_10 = ["onContextmenu"]; +const _hoisted_11 = ["onClick"]; +const _hoisted_12 = ["src", "alt"]; +const _hoisted_13 = ["href"]; +const _hoisted_14 = { + class: "message-file-main" +}; +const _hoisted_15 = { + key: 2 +}; +const _hoisted_16 = { + key: 0, + class: "recall-mark" +}; +const _hoisted_17 = { + key: 1, + class: "edit-mark" +}; +const _hoisted_18 = { + key: 2, + class: "favorite-mark", + title: "已收藏", + "aria-label": "已收藏" +}; +const _hoisted_19 = ["title", "aria-label"]; +const _hoisted_20 = { + key: 0, + class: "delivery-check delivery-check-second" +}; +const _hoisted_21 = { + key: 4, + class: "delivery-error" +}; +const _hoisted_22 = ["onClick"]; +const _hoisted_23 = { + class: "image-viewer-toolbar" +}; +const _hoisted_24 = { + class: "image-viewer-title" +}; +const _hoisted_25 = ["src", "alt"]; +const _hoisted_26 = { + class: "sender-profile-main" +}; +const _hoisted_27 = ["src"]; +const _hoisted_28 = { + key: 1, + class: "profile-avatar" +}; +const _hoisted_29 = { + key: 2 +}; +const _hoisted_30 = { + class: "sender-profile-fields" +}; +const _hoisted_31 = { + class: "sender-profile-alias" +}; +const _hoisted_32 = ["disabled"]; +const _hoisted_33 = { + class: "sender-profile-actions" +}; +const _hoisted_34 = { + key: 0, + class: "inline-save-status" +}; +const _hoisted_35 = { + key: 1, + class: "inline-save-status error" +}; +const _hoisted_36 = ["disabled"]; +const _hoisted_37 = ["disabled"]; + + +const IMAGE_MIN_SCALE = 0.5; +const IMAGE_MAX_SCALE = 6; +/* harmony default export */ __webpack_exports__.A = ({ + __name: 'MessageList', + props: { + messages: { + type: Array, + default: () => [] + }, + selectionMode: { + type: Boolean, + default: false + }, + selectedMessageIds: { + type: Array, + default: () => [] + }, + favoriteMessageIds: { + type: Array, + default: () => [] + }, + attentionMessageId: { + type: String, + default: '' + }, + canRecallOthers: { + type: Boolean, + default: false + } + }, + emits: ['message-action', 'toggle-select', 'sender-profile-updated'], + setup(__props, { + emit: __emit + }) { + const props = __props; + const emit = __emit; + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_9__/* .useContactStore */ .p)(); + const listEl = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .ref */ .KR)(null); + const viewerStage = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .ref */ .KR)(null); + const contextMenu = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .reactive */ .Kh)({ + visible: false, + x: 0, + y: 0, + message: null + }); + const imageViewer = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .reactive */ .Kh)({ + visible: false, + url: '', + name: '', + scale: 1, + rotation: 0, + offsetX: 0, + offsetY: 0, + dragging: false, + dragStartX: 0, + dragStartY: 0, + dragOffsetX: 0, + dragOffsetY: 0 + }); + const senderProfile = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .reactive */ .Kh)({ + visible: false, + uid: '', + displayName: '', + rawName: '', + mobile: '', + address: '', + portrait: '', + avatarText: '', + role: '', + roleLabel: '', + contactAlias: '', + groupAlias: '', + isContact: false, + aliasDraft: '', + saving: false, + adding: false, + notice: '', + error: '' + }); + const imageViewerStyle = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .computed */ .EW)(() => ({ + transform: `translate3d(${imageViewer.offsetX}px, ${imageViewer.offsetY}px, 0) scale(${imageViewer.scale}) rotate(${imageViewer.rotation}deg)` + })); + const menuItems = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .computed */ .EW)(() => { + if (!contextMenu.message) { + return []; + } + const isOwnMessage = contextMenu.message.direction === 'out'; + if (isRecalledMessage(contextMenu.message)) { + return [...(isOwnMessage ? [{ + action: 'edit', + label: '编辑' + }] : []), { + action: 'copy', + label: '复制' + }, { + action: 'delete', + label: '删除' + }, { + action: 'detail', + label: '详情' + }]; + } + const favoriteLabel = isFavorite(contextMenu.message) ? '取消收藏' : '收藏'; + const items = [{ + action: 'copy', + label: '复制' + }, { + action: 'delete', + label: '删除' + }, { + action: 'forward', + label: '转发' + }, { + action: 'favorite', + label: favoriteLabel + }, { + action: 'quote', + label: '引用' + }, { + action: 'select', + label: '多选' + }, { + action: 'detail', + label: '详情' + }]; + if (isOwnMessage) { + items.unshift({ + action: 'edit', + label: '编辑' + }); + items.push({ + action: 'recall', + label: '撤回' + }); + } else if (props.canRecallOthers) { + items.push({ + action: 'recall', + label: '撤回' + }); + } + return items; + }); + function scrollToBottom() { + (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .nextTick */ .dY)(() => { + if (listEl.value) { + const scroll = () => { + if (listEl.value) { + listEl.value.scrollTop = listEl.value.scrollHeight; + } + }; + scroll(); + requestAnimationFrame(() => { + scroll(); + requestAnimationFrame(scroll); + }); + } + }); + } + function scrollToMessage(messageId) { + ;(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .nextTick */ .dY)(() => { + if (!listEl.value || !messageId) { + return; + } + const row = Array.from(listEl.value.querySelectorAll('.message-row')).find(element => element.dataset.messageKey === messageId); + if (row) { + row.scrollIntoView({ + block: 'center', + behavior: 'smooth' + }); + } + }); + } + ;(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .watch */ .wB)(() => props.messages.map(message => `${message.id}:${message.status}:${message.deliveryStatus || ''}:${message.messageUid || ''}:${message.recalled ? '1' : ''}`).join('|'), scrollToBottom, { + immediate: true + }); + (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .watch */ .wB)(() => props.attentionMessageId, scrollToMessage); + (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .onMounted */ .sV)(() => { + document.addEventListener('click', closeMenu); + document.addEventListener('keydown', closeMenuOnEscape); + document.addEventListener('pointermove', moveImageDrag); + document.addEventListener('pointerup', stopImageDrag); + }); + (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .onBeforeUnmount */ .xo)(() => { + document.removeEventListener('click', closeMenu); + document.removeEventListener('keydown', closeMenuOnEscape); + document.removeEventListener('pointermove', moveImageDrag); + document.removeEventListener('pointerup', stopImageDrag); + }); + function messageIdentity(message) { + return String(message.messageUid || message.id || ''); + } + function displayMessageText(message) { + const text = String(message?.text || '').replace(/^引用:.*(?:\r?\n|$)/, '').trim(); + const contentType = Number(message?.contentType || 0); + if (!text) { + return ''; + } + if (contentType !== 1 && text === '[暂不支持的消息类型]') { + return ''; + } + if ((contentType === 3 || message?.type === 'image') && (text === '[图片]' || text === '图片')) { + return ''; + } + return text; + } + function canOpenMessageMenu(message) { + return message && message.status !== 'failed' && message.status !== 'sending'; + } + function isSelected(message) { + return props.selectedMessageIds.includes(messageIdentity(message)); + } + function isFavorite(message) { + return props.favoriteMessageIds.includes(messageIdentity(message)); + } + function isAttention(message) { + return props.attentionMessageId === messageIdentity(message); + } + function isRecallNotice(message) { + return message.direction === 'out' && (message.recalled || message.status === 'recalled'); + } + function isRecalledMessage(message) { + return message.recalled || message.status === 'recalled'; + } + function isImageMessage(message) { + return message?.type === 'image' && message?.attachment?.url; + } + function isFileMessage(message) { + return message?.type === 'file' && message?.attachment?.url; + } + function isGroupMessage(message) { + return ['group', 'channel'].includes(message?.conversationType || ''); + } + function showGroupSender(message) { + return isGroupMessage(message) && message?.direction === 'in'; + } + function senderRoleLabel(message) { + const role = message?.senderProfile?.role || message?.senderRole || ''; + if (role === 'owner') { + return '群主'; + } + if (role === 'admin') { + return '管理员'; + } + return ''; + } + function groupSenderName(message) { + return message?.senderName || message?.senderProfile?.displayName || message?.from || '未知用户'; + } + function groupSenderAvatarText(message) { + return String(groupSenderName(message) || '?').slice(0, 1).toUpperCase(); + } + function openSenderProfile(message) { + const profile = message?.senderProfile || {}; + const uid = profile.uid || message?.from || ''; + const cachedContact = contacts.contacts.find(contact => String(contact.uid || contact.id || '') === uid) || null; + const cachedAlias = String(cachedContact?.alias || '').trim(); + const contactAlias = String(profile.contactAlias || cachedAlias || profile.remarkAlias || '').trim(); + const groupAlias = String(profile.groupAlias || '').trim(); + const rawName = profile.rawName || cachedContact?.rawUser?.displayName || cachedContact?.rawUser?.name || cachedContact?.title || groupSenderName(message); + const displayName = contactAlias || groupAlias || rawName || uid; + senderProfile.visible = true; + senderProfile.uid = uid; + senderProfile.displayName = displayName; + senderProfile.rawName = rawName || ''; + senderProfile.mobile = profile.mobile || cachedContact?.rawUser?.mobile || ''; + senderProfile.address = profile.address || cachedContact?.address || cachedContact?.rawUser?.address || ''; + senderProfile.portrait = profile.portrait || cachedContact?.portrait || message?.senderPortrait || ''; + senderProfile.avatarText = String(displayName || senderProfile.uid || '?').slice(0, 1).toUpperCase(); + senderProfile.role = profile.role || message?.senderRole || ''; + senderProfile.roleLabel = senderRoleLabel(message); + senderProfile.contactAlias = contactAlias; + senderProfile.groupAlias = groupAlias; + senderProfile.isContact = Boolean(profile.isContact || cachedContact); + senderProfile.aliasDraft = contactAlias; + senderProfile.saving = false; + senderProfile.adding = false; + senderProfile.notice = ''; + senderProfile.error = ''; + closeMenu(); + } + function closeSenderProfile() { + if (senderProfile.saving || senderProfile.adding) { + return; + } + senderProfile.visible = false; + } + async function addSenderAsContact() { + if (!senderProfile.uid || senderProfile.adding || senderProfile.saving) { + return; + } + senderProfile.adding = true; + senderProfile.notice = ''; + senderProfile.error = ''; + const ok = await contacts.addContact(senderProfile.uid); + if (ok || String(contacts.actionError || '').includes('已经是联系人')) { + senderProfile.isContact = true; + const alias = senderProfile.aliasDraft.trim(); + let aliasSaved = false; + if (alias) { + aliasSaved = await contacts.updateContactAlias(senderProfile.uid, alias); + if (aliasSaved) { + senderProfile.contactAlias = alias; + senderProfile.displayName = alias; + senderProfile.avatarText = String(alias || senderProfile.uid || '?').slice(0, 1).toUpperCase(); + } + } + await contacts.refreshContacts({ + force: true + }).catch(() => {}); + if (alias && !aliasSaved) { + senderProfile.notice = ''; + senderProfile.error = contacts.actionError ? `已添加为好友,但${contacts.actionError}` : '已添加为好友,但备注名同步失败'; + } else { + senderProfile.notice = alias ? '已添加为好友,备注名已保存' : ok ? '已添加为好友' : '已是好友'; + } + emit('sender-profile-updated', { + userId: senderProfile.uid + }); + } else { + senderProfile.error = contacts.actionError || '添加好友失败'; + } + senderProfile.adding = false; + } + async function saveSenderAlias() { + if (!senderProfile.uid || senderProfile.saving || senderProfile.adding) { + return; + } + senderProfile.saving = true; + senderProfile.notice = ''; + senderProfile.error = ''; + const ok = await contacts.updateContactAlias(senderProfile.uid, senderProfile.aliasDraft); + if (ok) { + await contacts.refreshContacts({ + force: true + }).catch(() => {}); + const alias = senderProfile.aliasDraft.trim(); + senderProfile.contactAlias = alias; + senderProfile.displayName = alias || senderProfile.groupAlias || senderProfile.rawName || senderProfile.uid; + senderProfile.avatarText = String(senderProfile.displayName || senderProfile.uid || '?').slice(0, 1).toUpperCase(); + senderProfile.notice = '备注名已保存'; + emit('sender-profile-updated', { + userId: senderProfile.uid + }); + } else { + senderProfile.error = contacts.actionError || '备注名修改失败'; + } + senderProfile.saving = false; + } + function roleBubbleClass(message) { + const role = message?.senderRole || ''; + if (role === 'owner') { + return 'role-bubble-owner'; + } + if (role === 'admin') { + return 'role-bubble-admin'; + } + return ''; + } + function formatFileSize(size) { + const bytes = Number(size || 0); + if (bytes >= 1024 * 1024) { + return `${(bytes / 1024 / 1024).toFixed(bytes >= 10 * 1024 * 1024 ? 0 : 1)} MB`; + } + if (bytes >= 1024) { + return `${(bytes / 1024).toFixed(bytes >= 10 * 1024 ? 0 : 1)} KB`; + } + return bytes > 0 ? `${bytes} B` : ''; + } + function retryImageLoad(event) { + const image = event.currentTarget; + if (!(image instanceof HTMLImageElement)) { + return; + } + const attempts = Number(image.dataset.loadRetries || 0); + if (attempts >= 2) { + return; + } + const originalUrl = image.dataset.originalUrl || image.getAttribute('src') || ''; + if (!originalUrl) { + return; + } + image.dataset.originalUrl = originalUrl; + image.dataset.loadRetries = String(attempts + 1); + window.setTimeout(() => { + if (!image.isConnected) { + return; + } + const separator = originalUrl.includes('?') ? '&' : '?'; + image.src = `${originalUrl}${separator}_image_retry=${attempts + 1}`; + }, 500 * (attempts + 1)); + } + function handleMessageClick(message) { + if (props.selectionMode) { + emit('toggle-select', message); + } + } + function handleImageClick(message) { + if (props.selectionMode) { + emit('toggle-select', message); + return; + } + openImageViewer(message); + } + function openImageViewer(message) { + const attachment = message?.attachment || {}; + if (!attachment.url) { + return; + } + closeMenu(); + imageViewer.visible = true; + imageViewer.url = attachment.url; + imageViewer.name = attachment.name || 'image'; + resetImageViewer(); + } + function closeImageViewer() { + imageViewer.visible = false; + imageViewer.dragging = false; + } + function resetImageViewer() { + imageViewer.scale = 1; + imageViewer.rotation = 0; + imageViewer.offsetX = 0; + imageViewer.offsetY = 0; + } + function clampImageScale(value) { + return Math.min(IMAGE_MAX_SCALE, Math.max(IMAGE_MIN_SCALE, Number(value.toFixed(2)))); + } + function setImageScale(value, originX = null, originY = null) { + const previousScale = imageViewer.scale; + const nextScale = clampImageScale(value); + if (nextScale === previousScale) { + return; + } + if (originX !== null && originY !== null && viewerStage.value) { + const rect = viewerStage.value.getBoundingClientRect(); + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + const ratio = nextScale / previousScale - 1; + imageViewer.offsetX -= (originX - centerX - imageViewer.offsetX) * ratio; + imageViewer.offsetY -= (originY - centerY - imageViewer.offsetY) * ratio; + } + imageViewer.scale = nextScale; + if (nextScale <= 1) { + imageViewer.offsetX = 0; + imageViewer.offsetY = 0; + } + } + function zoomImage(delta) { + setImageScale(imageViewer.scale + delta); + } + function rotateImage() { + imageViewer.rotation = (imageViewer.rotation + 90) % 360; + } + function handleImageWheel(event) { + const factor = event.deltaY < 0 ? 1.12 : 1 / 1.12; + setImageScale(imageViewer.scale * factor, event.clientX, event.clientY); + } + function startImageDrag(event) { + if (!imageViewer.visible || imageViewer.scale <= 1) { + return; + } + imageViewer.dragging = true; + imageViewer.dragStartX = event.clientX; + imageViewer.dragStartY = event.clientY; + imageViewer.dragOffsetX = imageViewer.offsetX; + imageViewer.dragOffsetY = imageViewer.offsetY; + } + function moveImageDrag(event) { + if (!imageViewer.dragging) { + return; + } + imageViewer.offsetX = imageViewer.dragOffsetX + event.clientX - imageViewer.dragStartX; + imageViewer.offsetY = imageViewer.dragOffsetY + event.clientY - imageViewer.dragStartY; + } + function stopImageDrag() { + imageViewer.dragging = false; + } + function saveViewerImage() { + if (!imageViewer.url) { + return; + } + const downloadUrl = new URL('/api/media_download.php', window.location.origin); + downloadUrl.searchParams.set('url', imageViewer.url); + downloadUrl.searchParams.set('name', imageViewer.name || 'image'); + const link = document.createElement('a'); + link.href = downloadUrl.toString(); + link.download = imageViewer.name || 'image'; + document.body.appendChild(link); + link.click(); + link.remove(); + } + function openMenu(event, message) { + if (!canOpenMessageMenu(message)) { + closeMenu(); + return; + } + contextMenu.visible = true; + contextMenu.message = message; + contextMenu.x = Math.min(event.clientX, window.innerWidth - 148); + contextMenu.y = Math.min(event.clientY, window.innerHeight - 352); + } + function closeMenu() { + contextMenu.visible = false; + contextMenu.message = null; + } + function closeMenuOnEscape(event) { + if (event.key === 'Escape') { + if (senderProfile.visible) { + closeSenderProfile(); + } + if (imageViewer.visible) { + closeImageViewer(); + } + closeMenu(); + } + } + function chooseMenuAction(action) { + if (contextMenu.message) { + emit('message-action', { + action, + message: contextMenu.message + }); + } + closeMenu(); + } + function formatTime(timestamp) { + return new Intl.DateTimeFormat('zh-CN', { + hour: '2-digit', + minute: '2-digit', + hour12: false, + timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone + }).format(timestamp); + } + function deliveryState(message) { + if (message.direction !== 'out' || message.status === 'failed' || message.status === 'recalled' || message.recalled) { + return ''; + } + const state = message.deliveryStatus || message.status; + if (state === 'read') { + return 'read'; + } + if (state === 'delivered') { + return 'delivered'; + } + if (state === 'sent') { + return 'sent'; + } + return ''; + } + function deliveryTitle(message) { + const state = deliveryState(message); + if (state === 'read') { + return '对方已读'; + } + if (state === 'delivered') { + return '已送达对方'; + } + if (state === 'sent') { + return '已送出'; + } + return ''; + } + function failureText(message) { + if (message.status === 'failed') { + if (message.errorCode) { + return message.error ? `失败:${message.error}(${message.errorCode})` : `失败:${message.errorCode}`; + } + return message.error ? `失败:${message.error}` : '失败'; + } + return ''; + } + return (_ctx, _cache) => { + return (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("div", { + ref_key: "listEl", + ref: listEl, + class: "message-list" + }, [((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_6__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .renderList */ .pI)(__props.messages, message => { + return (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("article", { + key: message.id, + class: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .normalizeClass */ .C4)(["message-row", [message.direction, { + selected: isSelected(message), + attention: isAttention(message), + recalled: message.recalled || message.status === 'recalled' + }]]), + "data-message-key": messageIdentity(message), + onClick: $event => handleMessageClick(message) + }, [__props.selectionMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("label", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("input", { + type: "checkbox", + checked: isSelected(message), + onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)(() => {}, ["stop"])), + onChange: $event => emit('toggle-select', message) + }, null, 40, _hoisted_3)])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), showGroupSender(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("button", { + key: 1, + type: "button", + class: "message-sender-avatar", + title: groupSenderName(message), + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)($event => openSenderProfile(message), ["stop"]) + }, [message.senderPortrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("img", { + key: 0, + src: message.senderPortrait, + alt: "" + }, null, 8, _hoisted_5)) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(groupSenderAvatarText(message)), 1))], 8, _hoisted_4)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", _hoisted_7, [showGroupSender(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("button", { + key: 0, + type: "button", + class: "message-sender-name", + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)($event => openSenderProfile(message), ["stop"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createTextVNode */ .eW)((0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(groupSenderName(message)) + " ", 1), senderRoleLabel(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderRoleLabel(message)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true)], 8, _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .normalizeClass */ .C4)(["message-bubble", roleBubbleClass(message)]), + onContextmenu: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)($event => openMenu($event, message), ["prevent"]) + }, [isImageMessage(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("button", { + key: 0, + type: "button", + class: "message-image", + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)($event => handleImageClick(message), ["stop"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("img", { + src: message.attachment.url, + alt: message.attachment.name || '图片', + loading: "lazy", + decoding: "async", + onError: retryImageLoad + }, null, 40, _hoisted_12)], 8, _hoisted_11)) : isFileMessage(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("a", { + key: 1, + class: "message-file", + href: message.attachment.url, + target: "_blank", + rel: "noreferrer", + download: "" + }, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("span", { + class: "message-file-icon" + }, "▤", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("span", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(message.attachment.name || '文件'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(formatFileSize(message.attachment.size)), 1)])], 8, _hoisted_13)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), displayMessageText(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("p", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(displayMessageText(message)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("time", null, [isRecallNotice(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(message.recallStatus || '已撤回'), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(formatTime(message.displayTimestamp || message.timestamp)), 1), message.editedAt ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_17, "【edit " + (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(formatTime(message.editedAt)) + "】", 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), isFavorite(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_18, "★")) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), deliveryState(message) ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", { + key: 3, + class: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .normalizeClass */ .C4)(["delivery-mark", `delivery-mark-${deliveryState(message)}`]), + title: deliveryTitle(message), + "aria-label": deliveryTitle(message) + }, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("span", { + class: "delivery-check" + }, "✓", -1)), deliveryState(message) !== 'sent' ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_20, "✓")) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true)], 10, _hoisted_19)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), message.status === 'failed' ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_21, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(failureText(message)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true)])], 42, _hoisted_10)])], 10, _hoisted_1); + }), 128)), contextMenu.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("div", { + key: 0, + class: "message-context-menu", + style: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .normalizeStyle */ .Tr)({ + left: `${contextMenu.x}px`, + top: `${contextMenu.y}px` + }), + onClick: _cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)(() => {}, ["stop"])) + }, [((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_6__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .renderList */ .pI)(menuItems.value, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("button", { + key: item.action, + type: "button", + onClick: $event => chooseMenuAction(item.action) + }, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(item.label), 9, _hoisted_22); + }), 128))], 4)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createBlock */ .Wv)(vue__WEBPACK_IMPORTED_MODULE_6__/* .Teleport */ .Im, { + to: "body" + }, [imageViewer.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("div", { + key: 0, + class: "image-viewer-backdrop", + onClick: closeImageViewer + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", { + class: "image-viewer-dialog", + onClick: _cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)(() => {}, ["stop"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", _hoisted_23, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("span", _hoisted_24, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(imageViewer.name || '图片'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "缩小", + "aria-label": "缩小", + onClick: _cache[2] || (_cache[2] = $event => zoomImage(-0.25)) + }, "−"), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "放大", + "aria-label": "放大", + onClick: _cache[3] || (_cache[3] = $event => zoomImage(0.25)) + }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "还原", + "aria-label": "还原", + onClick: resetImageViewer + }, "1:1"), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "旋转", + "aria-label": "旋转", + onClick: rotateImage + }, "⟳"), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "保存", + "aria-label": "保存", + onClick: saveViewerImage + }, "⇩"), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + title: "关闭", + "aria-label": "关闭", + onClick: closeImageViewer + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", { + ref_key: "viewerStage", + ref: viewerStage, + class: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .normalizeClass */ .C4)(["image-viewer-stage", { + dragging: imageViewer.dragging, + zoomed: imageViewer.scale > 1 + }]), + onWheel: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)(handleImageWheel, ["prevent"]), + onPointerdown: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)(startImageDrag, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("img", { + class: "image-viewer-img", + src: imageViewer.url, + alt: imageViewer.name || '图片', + style: (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .normalizeStyle */ .Tr)(imageViewerStyle.value), + decoding: "async", + onError: retryImageLoad, + draggable: "false" + }, null, 44, _hoisted_25)], 34)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true)])), ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createBlock */ .Wv)(vue__WEBPACK_IMPORTED_MODULE_6__/* .Teleport */ .Im, { + to: "body" + }, [senderProfile.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("div", { + key: 0, + class: "sender-profile-backdrop", + onClick: closeSenderProfile + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("section", { + class: "sender-profile-dialog", + onClick: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .withModifiers */ .D$)(() => {}, ["stop"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("header", null, [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("strong", null, "用户资料", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "icon-button", + title: "关闭", + onClick: closeSenderProfile + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", _hoisted_26, [senderProfile.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("img", { + key: 0, + class: "profile-avatar image-avatar", + src: senderProfile.portrait, + alt: "" + }, null, 8, _hoisted_27)) : ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("div", _hoisted_28, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.displayName || senderProfile.uid), 1), senderProfile.roleLabel ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_29, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.roleLabel), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dl", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", null, [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dt", null, "用户ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.uid || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", null, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dt", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.rawName || senderProfile.displayName || '-'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", null, [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dt", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.mobile || '未知'), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("div", null, [_cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dt", null, "地区", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.address || '未知'), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("label", _hoisted_31, [_cache[14] || (_cache[14] = (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("span", null, "备注名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => senderProfile.aliasDraft = $event), + maxlength: "32", + autocomplete: "off", + placeholder: "可给群员设置备注", + disabled: senderProfile.saving || senderProfile.adding + }, null, 8, _hoisted_32), [[vue__WEBPACK_IMPORTED_MODULE_5__/* .vModelText */ .Jo, senderProfile.aliasDraft, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("footer", _hoisted_33, [senderProfile.notice ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_34, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.notice), 1)) : senderProfile.error ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("span", _hoisted_35, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), !senderProfile.isContact ? ((0,vue__WEBPACK_IMPORTED_MODULE_6__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementBlock */ .CE)("button", { + key: 2, + type: "button", + class: "ghost-inline-action", + disabled: senderProfile.adding || senderProfile.saving || !senderProfile.uid, + onClick: addSenderAsContact + }, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.adding ? '添加中...' : '添加为好友'), 9, _hoisted_36)) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "primary-inline-action", + disabled: senderProfile.saving || senderProfile.adding || !senderProfile.uid, + onClick: saveSenderAlias + }, (0,vue__WEBPACK_IMPORTED_MODULE_7__/* .toDisplayString */ .v_)(senderProfile.saving ? '保存中...' : '保存备注'), 9, _hoisted_37)])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .createCommentVNode */ .Q3)("", true)]))], 512); + }; + } +}); /***/ }), -/***/ 2122: +/***/ 3915: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5326); - +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5187); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9045); + +const _hoisted_1 = { + class: "contact-panel" +}; +const _hoisted_2 = { + class: "chat-header" +}; +const _hoisted_3 = { + class: "contact-profile" +}; +const _hoisted_4 = ["src"]; +const _hoisted_5 = { + key: 1, + class: "profile-avatar" +}; +const _hoisted_6 = { + class: "profile-main" +}; +const _hoisted_7 = { + class: "remark-row" +}; +const _hoisted_8 = { + class: "profile-fields" +}; +const _hoisted_9 = { + key: 0, + class: "form-error" +}; +const _hoisted_10 = { + class: "modal-actions" +}; +const _hoisted_11 = ["disabled"]; +const _hoisted_12 = ["disabled"]; +const _hoisted_13 = { + key: 1, + class: "empty-chat" +}; + + +/* harmony default export */ __webpack_exports__.A = ({ + __name: 'ContactPanel', + setup(__props) { + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_4__/* .useContactStore */ .p)(); + const contact = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contacts.activeContact); + const remarkName = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.alias || '未设置'); + const username = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.rawUser?.displayName || contact.value?.rawUser?.name || contact.value?.uid || ''); + const mobile = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.rawUser?.mobile || '未知'); + const address = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .computed */ .EW)(() => contact.value?.rawUser?.address || '未知'); + const editingAlias = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(false); + const aliasDraft = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(''); + const aliasSaving = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(false); + const aliasError = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .ref */ .KR)(''); + (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .watch */ .wB)(contact, () => { + editingAlias.value = false; + aliasError.value = ''; + }); + function openAliasEditor() { + aliasDraft.value = contact.value?.alias || ''; + aliasError.value = ''; + editingAlias.value = true; + } + function closeAliasEditor() { + if (aliasSaving.value) { + return; + } + editingAlias.value = false; + aliasError.value = ''; + } + async function submitAlias() { + if (!contact.value) { + return; + } + aliasSaving.value = true; + aliasError.value = ''; + const ok = await contacts.updateContactAlias(contact.value.uid, aliasDraft.value); + aliasSaving.value = false; + if (ok) { + editingAlias.value = false; + return; + } + aliasError.value = contacts.actionError || '备注名修改失败'; + } + return (_ctx, _cache) => { + return (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("section", _hoisted_1, [contact.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_1__/* .Fragment */ .FK, { + key: 0 + }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("h2", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(remarkName.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(username.value), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_3, [contact.value.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("img", { + key: 0, + class: "profile-avatar image-avatar", + src: contact.value.portrait, + alt: "" + }, null, 8, _hoisted_4)) : ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("div", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(contact.value.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(remarkName.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "icon-button remark-edit-button", + title: "编辑备注名", + onClick: openAliasEditor + }, "✏️")])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dl", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [_cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dt", null, "用户名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(username.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [_cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dt", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(mobile.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dt", null, "地区", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("dd", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(address.value), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { + class: "primary-action profile-action", + onClick: _cache[0] || (_cache[0] = $event => (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .unref */ .R1)(contacts).openChat(contact.value)) + }, "发消息")]), editingAlias.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("div", { + key: 0, + class: "modal-backdrop contact-modal-backdrop", + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .withModifiers */ .D$)(closeAliasEditor, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("form", { + class: "modal-panel", + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .withModifiers */ .D$)(submitAlias, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("header", null, [_cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("strong", null, "编辑备注名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "icon-button", + title: "关闭", + onClick: closeAliasEditor + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("label", null, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("span", null, "备注名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => aliasDraft.value = $event), + maxlength: "32", + autocomplete: "off", + autofocus: "" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_0__/* .vModelText */ .Jo, aliasDraft.value, void 0, { + trim: true + }]])]), aliasError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("p", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(aliasError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("div", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "ghost-inline-action", + disabled: aliasSaving.value, + onClick: closeAliasEditor + }, "取消", 8, _hoisted_11), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("button", { + type: "submit", + class: "primary-inline-action", + disabled: aliasSaving.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(aliasSaving.value ? '保存中' : '保存'), 9, _hoisted_12)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createCommentVNode */ .Q3)("", true)], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_1__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementBlock */ .CE)("div", _hoisted_13, _cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("strong", null, "选择一个联系人", -1), (0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createElementVNode */ .Lk)("span", null, "好友列表同步完成后,可以在左侧查看资料", -1)])))]); + }; + } +}); /***/ }), -/***/ 2390: +/***/ 9829: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var _MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6804); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5187); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7566); -const __exports__ = _MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; +const _hoisted_1 = { + class: "conversation-list favorite-list" +}; +const _hoisted_2 = { + class: "list-header" +}; +const _hoisted_3 = { + class: "sidebar-scroll" +}; +const _hoisted_4 = ["onClick"]; +const _hoisted_5 = { + class: "favorite-item-main" +}; +const _hoisted_6 = { + key: 0, + class: "empty-list" +}; -/* harmony default export */ __webpack_exports__.A = (__exports__); + +/* harmony default export */ __webpack_exports__.A = ({ + __name: 'FavoriteList', + setup(__props) { + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_5__/* .useConversationStore */ .w)(); + const activeKey = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .computed */ .EW)(() => conversations.activeFavorite?.key || ''); + function favoriteTitle(item) { + if (item.conversationTitle) { + return item.conversationTitle; + } + const conversation = conversations.conversations.find(entry => entry.id === item.conversationId); + return conversation?.title || item.conversationId || '未知会话'; + } + function favoritePreview(item) { + if (item.recalled) { + return `[${item.recallStatus || '已撤回'}]`; + } + if (item.preview) { + return item.preview; + } + if (item.text) { + return item.text; + } + if (item.type === 'image') { + return '[图片]'; + } + if (item.type === 'file') { + return `[文件] ${item.attachment?.name || '文件'}`; + } + return '(无文字内容)'; + } + function formatFavoriteTime(timestamp) { + const value = Number(timestamp || 0); + if (!value) { + return ''; + } + return new Intl.DateTimeFormat('zh-CN', { + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + hour12: false + }).format(value); + } + return (_ctx, _cache) => { + return (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", null, [_cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("h2", null, "收藏", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(conversations).favoriteMessages.length) + " 条消息", 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", _hoisted_3, [((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_2__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .renderList */ .pI)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(conversations).favoriteMessages, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("button", { + key: item.key, + type: "button", + class: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .normalizeClass */ .C4)(["favorite-item", { + active: activeKey.value === item.key + }]), + onClick: $event => (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(conversations).setActiveFavorite(item.key) + }, [_cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("span", { + class: "favorite-item-icon" + }, "★", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("span", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)(favoriteTitle(item)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)(favoritePreview(item)), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("time", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)(formatFavoriteTime(item.timestamp)), 1)], 10, _hoisted_4); + }), 128)), !(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(conversations).favoriteMessages.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("div", _hoisted_6, " 暂无收藏消息 ")) : (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createCommentVNode */ .Q3)("", true)])]); + }; + } +}); /***/ }), -/***/ 2534: +/***/ 6415: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7987); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4187); -/* harmony import */ var _components_LoginView_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6942); -/* harmony import */ var _components_ChatShell_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4834); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3842); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5187); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(144); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7566); +/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1414); +const _hoisted_1 = { + class: "favorite-panel" +}; +const _hoisted_2 = { + class: "chat-header" +}; +const _hoisted_3 = { + class: "favorite-detail" +}; +const _hoisted_4 = { + class: "favorite-detail-body" +}; +const _hoisted_5 = { + key: 0, + class: "recall-mark" +}; +const _hoisted_6 = ["href"]; +const _hoisted_7 = ["src", "alt"]; +const _hoisted_8 = ["href"]; +const _hoisted_9 = { + class: "message-file-main" +}; +const _hoisted_10 = { + key: 3 +}; +const _hoisted_11 = { + class: "favorite-detail-actions" +}; +const _hoisted_12 = { + key: 0, + class: "inline-save-status" +}; +const _hoisted_13 = { + key: 1, + class: "inline-save-status error" +}; +const _hoisted_14 = { + key: 1, + class: "empty-chat" +}; /* harmony default export */ __webpack_exports__.A = ({ - __name: 'App', + __name: 'FavoritePanel', setup(__props) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_2__/* .useSessionStore */ .B)(); - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_3__/* .useConversationStore */ .w)(); - (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .onMounted */ .sV)(() => { - session.restore(); - }); - (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .watch */ .wB)(() => session.userId, userId => { - if (userId && session.isAuthenticated) { - conversations.bootstrapDemoData(); + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_5__/* .useConversationStore */ .w)(); + const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_6__/* .useNavigationStore */ .l)(); + const favorite = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .computed */ .EW)(() => conversations.activeFavorite); + const notice = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const error = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + function clearFeedback() { + notice.value = ''; + error.value = ''; + } + function favoriteTitle(item) { + if (item.conversationTitle) { + return item.conversationTitle; + } + const conversation = conversations.conversations.find(entry => entry.id === item.conversationId); + return conversation?.title || item.conversationId || '未知会话'; + } + function favoriteText(item) { + return item.text || ''; + } + function isImageFavorite(item) { + return item?.type === 'image' && item?.attachment?.url; + } + function isFileFavorite(item) { + return item?.type === 'file' && item?.attachment?.url; + } + function favoriteCopyText(item) { + if (!item) { + return ''; + } + if (item.text) { + return item.text; + } + if (item.recalled) { + return item.recallStatus || '已撤回'; + } + if (isImageFavorite(item)) { + return item.attachment.url; + } + if (isFileFavorite(item)) { + return `${item.attachment.name || '文件'} ${item.attachment.url}`.trim(); + } + return item.preview || ''; + } + function formatFileSize(size) { + const bytes = Number(size || 0); + if (bytes >= 1024 * 1024) { + return `${(bytes / 1024 / 1024).toFixed(bytes >= 10 * 1024 * 1024 ? 0 : 1)} MB`; + } + if (bytes >= 1024) { + return `${(bytes / 1024).toFixed(bytes >= 10 * 1024 ? 0 : 1)} KB`; + } + return bytes > 0 ? `${bytes} B` : ''; + } + function formatFavoriteTime(timestamp) { + const value = Number(timestamp || 0); + if (!value) { + return ''; + } + return new Intl.DateTimeFormat('zh-CN', { + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + hour12: false + }).format(value); + } + async function copyFavorite() { + clearFeedback(); + const text = favoriteCopyText(favorite.value || {}).trim(); + if (!text) { + error.value = '没有可复制的文字内容'; return; } - conversations.clearUserState(); - }); + try { + await writeClipboard(text); + notice.value = '已复制'; + } catch (copyError) { + error.value = '复制失败'; + } + } + async function writeClipboard(text) { + if (navigator.clipboard?.writeText) { + await navigator.clipboard.writeText(text); + return; + } + const element = document.createElement('textarea'); + element.value = text; + element.setAttribute('readonly', 'readonly'); + element.style.position = 'fixed'; + element.style.left = '-9999px'; + document.body.appendChild(element); + element.select(); + document.execCommand('copy'); + document.body.removeChild(element); + } + function openConversation() { + clearFeedback(); + const item = favorite.value; + if (!item?.conversationId) { + error.value = '缺少原会话信息'; + return; + } + const conversation = conversations.conversations.find(entry => entry.id === item.conversationId); + if (!conversation) { + error.value = '原会话暂未加载,请刷新会话后再试'; + conversations.refreshRemoteConversations(); + return; + } + navigation.showMessages(); + conversations.setActiveConversation(item.conversationId); + window.setTimeout(() => { + conversations.focusMessage({ + id: item.id || item.key, + messageUid: item.messageUid || item.key + }); + }, 450); + } + function removeFavorite() { + clearFeedback(); + const key = favorite.value?.key || ''; + if (!key) { + return; + } + conversations.removeFavorite(key); + notice.value = '已取消收藏'; + } return (_ctx, _cache) => { - return !(0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(session).isAuthenticated ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createBlock */ .Wv)(_components_LoginView_vue__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A, { + return (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("section", _hoisted_1, [favorite.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_2__/* .Fragment */ .FK, { key: 0 - })) : ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createBlock */ .Wv)(_components_ChatShell_vue__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A, { - key: 1 - })); + }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", null, [_cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("h2", null, "收藏详情", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(favoriteTitle(favorite.value)), 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .normalizeClass */ .C4)(["favorite-detail-message", { + recalled: favorite.value.recalled + }]) + }, [_cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("span", { + class: "favorite-detail-star" + }, "★", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", _hoisted_4, [favorite.value.recalled ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("span", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(favorite.value.recallStatus || '已撤回'), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createCommentVNode */ .Q3)("", true), isImageFavorite(favorite.value) ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("a", { + key: 1, + class: "favorite-detail-image", + href: favorite.value.attachment.url, + target: "_blank", + rel: "noreferrer" + }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("img", { + src: favorite.value.attachment.url, + alt: favorite.value.attachment.name || '图片' + }, null, 8, _hoisted_7)], 8, _hoisted_6)) : isFileFavorite(favorite.value) ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("a", { + key: 2, + class: "message-file favorite-detail-file", + href: favorite.value.attachment.url, + target: "_blank", + rel: "noreferrer", + download: "" + }, [_cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("span", { + class: "message-file-icon" + }, "▤", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("span", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(favorite.value.attachment.name || '文件'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(formatFileSize(favorite.value.attachment.size)), 1)])], 8, _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createCommentVNode */ .Q3)("", true), favoriteText(favorite.value) ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("p", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(favoriteText(favorite.value)), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("time", null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(formatFavoriteTime(favorite.value.timestamp)), 1)], 2), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("div", _hoisted_11, [notice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("span", _hoisted_12, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(notice.value), 1)) : error.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("span", _hoisted_13, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .toDisplayString */ .v_)(error.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "ghost-inline-action", + onClick: copyFavorite + }, "复制"), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "ghost-inline-action", + onClick: openConversation + }, "打开原会话"), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "danger-inline-action", + onClick: removeFavorite + }, "取消收藏")])])], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementBlock */ .CE)("div", _hoisted_14, _cache[3] || (_cache[3] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("strong", null, "暂无收藏消息", -1), (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .createElementVNode */ .Lk)("span", null, "右键消息气泡选择“收藏”后,会显示在这里", -1)])))]); }; } }); /***/ }), -/***/ 2699: +/***/ 5684: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var _ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(901); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5187); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9045); -const __exports__ = _ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 2857: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1509); - - -/***/ }), - -/***/ 3063: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Y: function() { return /* binding */ HttpImClient; } -/* harmony export */ }); -/* unused harmony export imClient */ -/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5513); -/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(680); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6071); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8438); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6768); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2409); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(9488); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(6591); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5412); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(9214); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(9130); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(8937); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(8636); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(4062); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(9397); - - - - - - - - - - - - - - - - - - - -const LOCAL_MESSAGE_STORAGE_KEY = 'qmt-web-im-local-messages-v2'; -const LOCAL_HIDDEN_MESSAGE_STORAGE_KEY = 'qmt-web-im-hidden-messages-v1'; -const LOCAL_RECALLED_MESSAGE_STORAGE_KEY = 'qmt-web-im-recalled-messages-v1'; -function scopedStorageKey(baseKey, userId = '') { - const scope = `${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer || ''}:${userId || 'anonymous'}`; - return `${baseKey}:${encodeURIComponent(scope)}`; -} -function randomId() { - if (window.crypto && window.crypto.randomUUID) { - return window.crypto.randomUUID().replaceAll('-', ''); - } - return `${Date.now()}${Math.random().toString(16).slice(2)}`; -} -function readLocalMessages(userId) { - try { - return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId)) || '{}'); - } catch (error) { - return {}; - } -} -function readMessageSet(storageKey, userId) { - try { - return JSON.parse(localStorage.getItem(scopedStorageKey(storageKey, userId)) || '{}'); - } catch (error) { - return {}; - } -} -function writeMessageSet(storageKey, messagesByConversation, userId) { - localStorage.setItem(scopedStorageKey(storageKey, userId), JSON.stringify(messagesByConversation)); -} -function messageKeys(message) { - return [message?.id, message?.messageUid].filter(Boolean).map(value => String(value)); -} -function hasStoredMessage(storageKey, conversationId, message, userId) { - const stored = readMessageSet(storageKey, userId); - const ids = new Set(stored[conversationId] || []); - return messageKeys(message).some(id => ids.has(id)); -} -function storeMessageKeys(storageKey, conversationId, messages, userId) { - const stored = readMessageSet(storageKey, userId); - const ids = new Set(stored[conversationId] || []); - messages.forEach(message => { - messageKeys(message).forEach(id => ids.add(id)); - }); - stored[conversationId] = Array.from(ids); - writeMessageSet(storageKey, stored, userId); -} -function withRecalledState(message) { - return { - ...message, - status: 'recalled', - deliveryStatus: '', - recalled: true, - recallStatus: '已撤回' - }; -} -function applyLocalMessageState(conversationId, messages, userId) { - return messages.filter(message => !hasStoredMessage(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversationId, message, userId)).map(message => { - const isRecalled = Boolean(message.recalled) || message.status === 'recalled' || hasStoredMessage(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversationId, message, userId); - if (!isRecalled) { - return message; - } - return withRecalledState(message); - }); -} -function writeLocalMessages(messagesByConversation, userId) { - localStorage.setItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId), JSON.stringify(messagesByConversation)); -} -function saveLocalMessage(message, userId) { - const messagesByConversation = readLocalMessages(userId); - messagesByConversation[message.conversationId] = messagesByConversation[message.conversationId] || []; - const index = messagesByConversation[message.conversationId].findIndex(item => item.id === message.id); - if (index >= 0) { - messagesByConversation[message.conversationId].splice(index, 1, message); - } else { - messagesByConversation[message.conversationId].push(message); - } - writeLocalMessages(messagesByConversation, userId); -} -function mergeSyncedMessages(localMessages, remoteMessages, conversationId, userId) { - const visibleLocalMessages = applyLocalMessageState(conversationId, localMessages, userId); - const localByKey = new Map(); - visibleLocalMessages.forEach(message => { - messageKeys(message).forEach(key => { - if (!localByKey.has(key)) { - localByKey.set(key, message); - } - }); - }); - const visibleRemoteMessages = applyLocalMessageState(conversationId, remoteMessages, userId).map(remoteMessage => { - if (!remoteMessage.recalled || String(remoteMessage.text || '').trim()) { - return remoteMessage; - } - const localMessage = messageKeys(remoteMessage).map(key => localByKey.get(key)).find(message => message?.text && message.text !== '你撤回了一条消息'); - return localMessage ? { - ...remoteMessage, - text: localMessage.text - } : remoteMessage; - }); - const remoteKeys = new Set(); - visibleRemoteMessages.forEach(message => { - messageKeys(message).forEach(key => remoteKeys.add(key)); - }); - const now = Date.now(); - function hasRemoteMatch(localMessage) { - if (localMessage.messageUid && remoteKeys.has(localMessage.messageUid)) { - return true; - } - return visibleRemoteMessages.some(remoteMessage => { - return remoteMessage.direction === localMessage.direction && remoteMessage.text === localMessage.text && Math.abs(Number(remoteMessage.timestamp || 0) - Number(localMessage.timestamp || 0)) < 15000; - }); - } - const pendingLocalMessages = visibleLocalMessages.filter(message => { - if (message.status === 'recalled' || message.recalled) { - return message.direction === 'out' && !hasRemoteMatch(message); - } - if (message.direction !== 'out') { - return false; - } - if (message.status === 'sent' && message.messageUid) { - return !hasRemoteMatch(message); - } - if (message.status === 'sent') { - return !hasRemoteMatch(message) && now - Number(message.timestamp || 0) < 30000; - } - return message.status === 'sending' || message.status === 'failed'; - }); - return [...visibleRemoteMessages, ...pendingLocalMessages].sort((a, b) => { - return Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0); - }); -} -function getTitle(value, fallback) { - return value || fallback || ''; -} -function getUniqueEquipment(mobile, fallback) { - const allowedDevices = { - '18301902119': '67072d37062c4f31b1165073552933ba', - '18301902116': '1777479418113eeea8e236edce', - '18301902118': 'de89fb2f2a61480a8c381f6c16e28bd8', - '18301902117': 'd117f480faa64145b6162107b1b49617' - }; - return allowedDevices[mobile] || localStorage.getItem('uniqueEquipment') || fallback; -} -function canUseLocalLoginFallback(response) { - const message = response.data?.message || ''; - return false && 0; -} -class HttpImClient { - constructor() { - this.listeners = new Map(); - this.connected = false; - this.currentUser = null; - } - getClientId() { - let clientId = localStorage.getItem(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.clientIdStorageKey); - if (!clientId) { - clientId = randomId(); - localStorage.setItem(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.clientIdStorageKey, clientId); - } - return clientId; - } - restoreClientId(clientId) { - if (clientId) { - localStorage.setItem(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.clientIdStorageKey, clientId); - } - } - getSdkVersion() { - return 'HTTP'; - } - async ensureSdk() { - return true; - } - async loginWithPassword(mobile, password) { - const url = `${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer}/login_pwd`; - const deviceId = getUniqueEquipment(mobile, this.getClientId()); - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(url, { - mobile, - password, - platform: _config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.platform, - clientId: deviceId, - uniqueEquipment: deviceId - }, { - withCredentials: false - }); - this.persistAppToken(url, response); - if (response.data?.code !== 0) { - if (canUseLocalLoginFallback(response)) { - return { - userId: mobile, - token: `local-device-pending-${Date.now()}`, - displayName: mobile, - localOnly: true - }; - } - throw new Error(response.data?.message || '登录失败'); - } - return response.data.result; - } - async requestAuthCode(mobile) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(`${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer}/send_code`, { - mobile - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '验证码发送失败'); - } - return response.data.result; - } - async loginWithCode(mobile, code) { - const url = `${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer}/login`; - const deviceId = getUniqueEquipment(mobile, this.getClientId()); - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(url, { - mobile, - code, - platform: _config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.platform, - clientId: deviceId, - uniqueEquipment: deviceId - }, { - withCredentials: false - }); - this.persistAppToken(url, response); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '登录失败'); - } - return response.data.result; - } - async createPcSession(userId = '') { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(`${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer}/pc_session`, { - flag: 1, - device_name: 'Web IM', - userId, - clientId: this.getClientId(), - platform: _config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.platform - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '二维码登录会话创建失败'); - } - return response.data.result || {}; - } - async loginWithPcSession(token) { - const url = `${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer}/session_login/${encodeURIComponent(token)}`; - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(url, null, { - withCredentials: false - }); - this.persistAppToken(url, response); - const data = response.data || {}; - if ([0, 8, 9, 10, 18].includes(Number(data.code))) { - return data; - } - throw new Error(data.message || '扫码登录失败'); - } - async registerWithPhone(mobile, code) { - const url = `${_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer}/register`; - const deviceId = getUniqueEquipment(mobile, this.getClientId()); - try { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(url, { - mobile, - code, - platform: _config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.platform, - clientId: deviceId, - uniqueEquipment: deviceId - }, { - withCredentials: false - }); - this.persistAppToken(url, response); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '注册失败'); - } - return response.data.result; - } catch (error) { - const status = error.response?.status; - if (status === 404 || status === 405) { - return this.loginWithCode(mobile, code); - } - throw error; - } - } - connect(userId, token) { - this.currentUser = { - userId, - token - }; - this.connected = true; - this.emit('connectionStatusChanged', { - connected: true, - statusText: '已连接' - }); - this.refreshConversationList(); - } - disconnect() { - this.connected = false; - this.currentUser = null; - this.emit('connectionStatusChanged', { - connected: false, - statusText: '未连接' - }); - } - getConversationList() { - return []; - } - refreshConversationList() { - const conversations = this.getConversationList(); - if (conversations.length) { - this.emit('conversationsChanged', conversations); - } - if (this.currentUser?.userId) { - this.fetchRemoteConversations().then(remoteConversations => { - this.emit('conversationsChanged', remoteConversations); - }).catch(() => {}); - } - return conversations; - } - async fetchRemoteConversations(limit = 50) { - if (!this.currentUser?.userId) { - return []; - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.messagesApi, { - userId: this.currentUser.userId, - limit - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '会话同步失败'); - } - return (response.data?.result?.conversations || []).map(conversation => ({ - ...conversation, - updatedAt: Number(conversation.updatedAt || Date.now()), - avatarText: conversation.avatarText || String(conversation.title || conversation.target || '?').slice(0, 1).toUpperCase(), - raw: conversation.raw || { - type: 'single', - target: conversation.target, - line: 0 - } - })); - } - getMessages(conversation) { - if (!conversation?.id) { - return []; - } - const userId = this.currentUser?.userId || ''; - return applyLocalMessageState(conversation.id, readLocalMessages(userId)[conversation.id] || [], userId); - } - async fetchRemoteMessages(conversation, limit = 50, options = {}) { - if (!conversation?.id || !this.currentUser?.userId) { - return []; - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.messagesApi, { - userId: this.currentUser.userId, - target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''), - limit, - conversationType: conversation.type || conversation.raw?.type || 0, - markRead: Boolean(options.markRead) - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '消息同步失败'); - } - const messages = (response.data?.result?.messages || []).map(message => ({ - ...message, - displayTimestamp: message.displayTimestamp || message.timestamp, - conversationId: conversation.id - })); - const userId = this.currentUser?.userId || ''; - const messagesByConversation = readLocalMessages(userId); - messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId); - writeLocalMessages(messagesByConversation, userId); - return messagesByConversation[conversation.id]; - } - hideMessages(conversation, messages) { - const items = Array.isArray(messages) ? messages : [messages]; - if (!conversation?.id || !items.length) { - return; - } - const userId = this.currentUser?.userId || ''; - storeMessageKeys(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversation.id, items, userId); - const messagesByConversation = readLocalMessages(userId); - messagesByConversation[conversation.id] = applyLocalMessageState(conversation.id, messagesByConversation[conversation.id] || [], userId); - writeLocalMessages(messagesByConversation, userId); - } - markMessagesRecalled(conversation, messages) { - const items = Array.isArray(messages) ? messages : [messages]; - if (!conversation?.id || !items.length) { - return; - } - const userId = this.currentUser?.userId || ''; - storeMessageKeys(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversation.id, items, userId); - const messagesByConversation = readLocalMessages(userId); - messagesByConversation[conversation.id] = applyLocalMessageState(conversation.id, messagesByConversation[conversation.id] || [], userId); - writeLocalMessages(messagesByConversation, userId); - } - async recallMessage(conversation, message) { - const messageUid = String(message?.messageUid || message?.id || '').trim(); - if (!/^\d+$/.test(messageUid)) { - throw new Error('缺少可撤回的消息ID'); - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.messageActionApi, { - action: 'recall', - userId: this.currentUser?.userId || message.from || '', - messageUid - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '撤回失败'); - } - this.markMessagesRecalled(conversation, [message]); - return response.data.result; - } - async editMessage(conversation, message, text) { - const messageUid = String(message?.messageUid || message?.id || '').trim(); - if (!/^\d+$/.test(messageUid)) { - throw new Error('缺少可编辑的消息ID'); - } - const nextText = String(text || '').trim(); - if (!nextText) { - throw new Error('编辑内容不能为空'); - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.messageActionApi, { - action: 'edit', - userId: this.currentUser?.userId || message.from || '', - messageUid, - text: nextText - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '编辑失败'); - } - const result = response.data?.result?.message || {}; - const editedMessage = { - ...message, - text: result.text || nextText, - status: 'delivered', - deliveryStatus: 'delivered', - editedAt: Number(result.editedAt || Date.now()), - activityTimestamp: Number(result.editedAt || Date.now()) - }; - saveLocalMessage(editedMessage, this.currentUser?.userId || ''); - this.emit('messageStatusChanged', editedMessage); - return editedMessage; - } - async getMessageDetail(conversation, message) { - const messageUid = String(message?.messageUid || message?.id || '').trim(); - if (!messageUid) { - throw new Error('缺少消息ID'); - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.messageDetailApi, { - userId: this.currentUser?.userId || '', - target: conversation?.target || conversation?.raw?.target || conversation?.id?.replace(/^single-/, '') || '', - conversationType: conversation?.type || conversation?.raw?.type || 'single', - messageUid - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '消息详情加载失败'); - } - return response.data?.result?.detail || null; - } - async sendTextMessage(conversation, text, initialMessage = null) { - const senderRole = conversation?.role || conversation?.raw?.role || ''; - const message = initialMessage || { - id: randomId(), - conversationId: conversation.id, - from: this.currentUser?.userId || 'me', - senderRole, - direction: 'out', - type: 'text', - text, - status: 'sending', - deliveryStatus: 'sending', - timestamp: Date.now() - }; - saveLocalMessage(message, this.currentUser?.userId || ''); - if (!initialMessage) { - this.emit('messageSent', message); - } - try { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.sendMessageApi, { - sender: this.currentUser?.userId || '', - target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''), - conversationType: conversation.type || conversation.raw?.type || 0, - text - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '发送失败'); - } - const sentMessage = { - ...message, - status: 'sent', - deliveryStatus: 'sent', - messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '', - senderRole: response.data?.result?.senderRole || message.senderRole || '', - serverTimestamp: Number(response.data?.result?.timestamp || 0) || null, - timestamp: message.timestamp, - displayTimestamp: message.displayTimestamp || message.timestamp - }; - saveLocalMessage(sentMessage, this.currentUser?.userId || ''); - this.emit('messageStatusChanged', sentMessage); - return sentMessage; - } catch (error) { - const failedMessage = { - ...message, - status: 'failed', - deliveryStatus: '', - error: error.response?.data?.message || error.message || '发送失败' - }; - saveLocalMessage(failedMessage, this.currentUser?.userId || ''); - this.emit('messageStatusChanged', failedMessage); - return failedMessage; - } - } - async sendAttachmentMessage(conversation, { - type, - file, - text = '' - }, initialMessage = null) { - const senderRole = conversation?.role || conversation?.raw?.role || ''; - const message = initialMessage || { - id: randomId(), - conversationId: conversation.id, - from: this.currentUser?.userId || 'me', - senderRole, - direction: 'out', - type, - text, - attachment: { - type, - name: file?.name || (type === 'image' ? '图片' : '文件'), - mime: file?.type || '', - size: file?.size || 0, - url: type === 'image' && file ? URL.createObjectURL(file) : '' - }, - status: 'sending', - deliveryStatus: 'sending', - timestamp: Date.now() - }; - saveLocalMessage(message, this.currentUser?.userId || ''); - if (!initialMessage) { - this.emit('messageSent', message); - } - try { - const formData = new FormData(); - formData.append('sender', this.currentUser?.userId || ''); - formData.append('target', conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, '')); - formData.append('conversationType', conversation.type || conversation.raw?.type || 0); - formData.append('messageType', type); - formData.append('text', text || ''); - formData.append('attachment', file); - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.sendMessageApi, formData, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '发送失败'); - } - const sentMessage = { - ...message, - status: 'sent', - deliveryStatus: 'sent', - messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '', - senderRole: response.data?.result?.senderRole || message.senderRole || '', - attachment: response.data?.result?.attachment || message.attachment, - serverTimestamp: Number(response.data?.result?.timestamp || 0) || null, - timestamp: message.timestamp, - displayTimestamp: message.displayTimestamp || message.timestamp - }; - saveLocalMessage(sentMessage, this.currentUser?.userId || ''); - this.emit('messageStatusChanged', sentMessage); - return sentMessage; - } catch (error) { - const failedMessage = { - ...message, - status: 'failed', - deliveryStatus: '', - error: error.response?.data?.message || error.message || '发送失败' - }; - saveLocalMessage(failedMessage, this.currentUser?.userId || ''); - this.emit('messageStatusChanged', failedMessage); - return failedMessage; - } - } - getContactList() { - return []; - } - async getServerContactList(userId) { - if (!userId) { - return []; - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.contactsApi, { - userId - }, { - withCredentials: false, - headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.contactsApi) - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '联系人加载失败'); - } - return (response.data?.result?.contacts || []).map(item => { - return this.mapContact(item.uid, { - alias: item.alias - }, { - uid: item.uid, - displayName: item.displayName, - name: item.name, - mobile: item.mobile, - portrait: item.portrait, - address: item.address, - friendAlias: item.alias - }); - }).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN')); - } - async addContact(userId, keyword, reason = '') { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.addContactApi, { - userId, - keyword, - reason - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '添加联系人失败'); - } - const item = response.data?.result?.contact; - if (!item?.uid) { - return null; - } - return this.mapContact(item.uid, { - alias: item.alias - }, { - uid: item.uid, - displayName: item.displayName, - name: item.name, - mobile: item.mobile, - portrait: item.portrait, - address: item.address, - friendAlias: item.alias - }); - } - normalizeConversation(conversation) { - const title = getTitle(conversation?.title, conversation?.target || ''); - return { - ...conversation, - id: conversation?.id || `${conversation?.type === 'single' ? 'single' : 'group'}-${conversation?.target}`, - target: conversation?.target || conversation?.raw?.target || '', - title, - subtitle: conversation?.subtitle || '', - unread: Number(conversation?.unread || 0), - portrait: conversation?.portrait || '', - avatarText: conversation?.avatarText || title.slice(0, 1).toUpperCase(), - updatedAt: Number(conversation?.updatedAt || Date.now()), - raw: conversation?.raw || { - type: conversation?.type === 'single' ? 'single' : 'group', - target: conversation?.target || '', - line: 0 - } - }; - } - async createGroup(userId, { - name, - memberIds = [], - announcement = '', - welcomeText = '', - channel = false - }) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: channel ? 'create_channel' : 'create_group', - userId, - name, - memberIds, - announcement, - welcomeText - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || (channel ? '创建公告群失败' : '创建群组失败')); - } - return this.normalizeConversation(response.data?.result?.conversation || {}); - } - async joinGroup(userId, groupKey) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'join_group', - userId, - groupKey - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '加入群组失败'); - } - return this.normalizeConversation(response.data?.result?.conversation || {}); - } - async broadcastMessage(userId, targetIds, text) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'broadcast', - userId, - targetIds, - text - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '群发失败'); - } - return response.data?.result || {}; - } - async getGroupDetail(userId, groupId) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'group_detail', - userId, - groupId - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '群资料加载失败'); - } - return response.data?.result?.group || null; - } - async getGroupMembers(userId, groupId) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'group_members', - userId, - groupId - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '群员加载失败'); - } - return response.data?.result?.members || []; - } - async updateGroupAlias(userId, groupId, alias) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'update_group_alias', - userId, - groupId, - alias - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '本群昵称保存失败'); - } - return response.data?.result?.alias || ''; - } - async leaveGroup(userId, groupId) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'leave_group', - userId, - groupId - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '退出群组失败'); - } - return response.data?.result || {}; - } - async dismissGroup(userId, groupId) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'dismiss_group', - userId, - groupId - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '解散群组失败'); - } - return response.data?.result || {}; - } - async transferGroup(userId, groupId, targetUserId) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'transfer_group', - userId, - groupId, - targetUserId - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '转让群组失败'); - } - return response.data?.result || {}; - } - async setGroupAdmins(userId, groupId, adminIds) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'set_group_admins', - userId, - groupId, - adminIds - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '管理员设置失败'); - } - return response.data?.result || {}; - } - async updateGroupProfile(userId, groupId, { - name, - announcement, - welcomeText - }) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'update_group_profile', - userId, - groupId, - name, - announcement, - welcomeText - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '群资料保存失败'); - } - return response.data?.result || {}; - } - async kickGroupMembers(userId, groupId, targetIds) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'kick_group_members', - userId, - groupId, - targetIds - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '踢人失败'); - } - return response.data?.result || {}; - } - async updateGroupMuteSetting(userId, groupId, setting) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.conversationActionsApi, { - action: 'update_mute_setting', - userId, - groupId, - ...setting - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '禁言设置保存失败'); - } - return response.data?.result?.muteSetting || null; - } - async updateContactAlias(userId, targetId, alias) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.updateAliasApi, { - userId, - targetId, - alias - }, { - withCredentials: false, - headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.updateAliasApi) - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '备注名修改失败'); - } - return response.data?.result?.contact?.alias || ''; - } - async getProfile(userId) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.profileApi, { - action: 'get', - userId - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '用户资料加载失败'); - } - return response.data?.result?.profile || null; - } - async updateProfile(userId, { - displayName, - portraitFile - }) { - const formData = new FormData(); - formData.append('action', 'update'); - formData.append('userId', userId); - formData.append('displayName', displayName); - if (portraitFile) { - formData.append('portraitFile', portraitFile); - } - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.profileApi, formData, { - withCredentials: false, - headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.appServer) - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '用户资料保存失败'); - } - return response.data?.result?.profile || null; - } - async changePassword({ - oldPassword, - newPassword - }) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.changePasswordApi, { - oldPassword, - newPassword - }, { - withCredentials: false, - headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.changePasswordApi) - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || response.data?.msg || '密码修改失败'); - } - return true; - } - async resetPasswordWithCode({ - mobile, - resetCode, - newPassword - }) { - const response = await axios__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.resetPasswordApi, { - mobile, - resetCode, - newPassword - }, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || response.data?.msg || '密码设置失败'); - } - return true; - } - refreshContactList() { - const contacts = this.getContactList(); - this.emit('contactsChanged', contacts); - return contacts; - } - createSingleConversation(userId, userInfo = null) { - const title = getTitle(userInfo?.title || userInfo?.displayName || userInfo?.name, userId); - return { - id: `single-${userId}`, - type: 'single', - target: userId, - title, - subtitle: '', - unread: 0, - portrait: userInfo?.portrait || '', - avatarText: title.slice(0, 1).toUpperCase(), - updatedAt: Date.now(), - raw: { - type: 'single', - target: userId, - line: 0 - } - }; - } - mapContact(userId, friend, userInfo) { - const title = getTitle(userInfo?.friendAlias || friend?.alias || userInfo?.displayName || userInfo?.name, userId); - return { - id: userId, - uid: userId, - title, - subtitle: userInfo?.mobile || userInfo?.name || userId, - portrait: userInfo?.portrait || '', - address: userInfo?.address || '', - avatarText: title.slice(0, 1).toUpperCase(), - alias: friend?.alias || userInfo?.friendAlias || '', - rawFriend: friend, - rawUser: userInfo - }; - } - on(eventName, handler) { - if (!this.listeners.has(eventName)) { - this.listeners.set(eventName, new Set()); - } - this.listeners.get(eventName).add(handler); - return () => this.off(eventName, handler); - } - off(eventName, handler) { - this.listeners.get(eventName)?.delete(handler); - } - emit(eventName, payload) { - this.listeners.get(eventName)?.forEach(handler => handler(payload)); - } - persistAppToken(url, response) { - const appToken = response.headers?.authtoken || response.headers?.authToken; - if (appToken) { - localStorage.setItem(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.authTokenStoragePrefix + this.getUrlHost(url), appToken); - } - } - getAppAuthHeaders(url) { - const host = this.getUrlHost(url); - if (!host) { - return {}; - } - const token = localStorage.getItem(_config__WEBPACK_IMPORTED_MODULE_17__/* .appConfig */ .U.authTokenStoragePrefix + host); - return token ? { - authToken: token - } : {}; - } - getUrlHost(url) { - try { - return new URL(url, window.location.origin).host; - } catch (error) { - return ''; - } - } -} -const imClient = new HttpImClient(); - -/***/ }), - -/***/ 3121: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7987); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1857); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3865); - - const _hoisted_1 = { class: "conversation-list" @@ -4082,10 +4266,10 @@ const _hoisted_14 = ["disabled"]; /* harmony default export */ __webpack_exports__.A = ({ __name: 'ContactList', setup(__props) { - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_2__/* .useContactStore */ .p)(); - const keyword = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .ref */ .KR)(''); - const addingContact = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .ref */ .KR)(false); - const addKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .ref */ .KR)(''); + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_7__/* .useContactStore */ .p)(); + const keyword = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .ref */ .KR)(''); + const addingContact = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .ref */ .KR)(false); + const addKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .ref */ .KR)(''); const filteredContacts = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .computed */ .EW)(() => { const value = keyword.value.toLowerCase(); if (!value) { @@ -4113,41 +4297,41 @@ const _hoisted_14 = ["disabled"]; } } return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", null, [_cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("h2", null, "联系人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).contacts.length) + " 位好友", 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { + return (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", null, [_cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("h2", null, "联系人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).contacts.length) + " 位好友", 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { class: "icon-button", title: "添加联系人", onClick: openAddContact }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { class: "icon-button", title: "刷新", - onClick: _cache[0] || (_cache[0] = $event => (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).refreshContacts({ + onClick: _cache[0] || (_cache[0] = $event => (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).refreshContacts({ force: true })) }, "↻")])]), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => keyword.value = $event), placeholder: "搜索联系人" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_6__/* .vModelText */ .Jo, keyword.value, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_3__/* .vModelText */ .Jo, keyword.value, void 0, { trim: true }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_5, [((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_4__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .renderList */ .pI)(filteredContacts.value, item => { return (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("button", { key: item.id, - class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["conversation-item", { - active: item.id === (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).activeId + class: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .normalizeClass */ .C4)(["conversation-item", { + active: item.id === (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).activeId }]), - onClick: $event => (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).setActiveContact(item.id) + onClick: $event => (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).setActiveContact(item.id) }, [item.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("img", { key: 0, class: "conversation-avatar image-avatar", src: item.portrait, alt: "" - }, null, 8, _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("span", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(item.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(item.title), 1), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(item.subtitle), 1)])], 10, _hoisted_6); - }), 128)), !filteredContacts.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("div", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).loading ? '正在加载' : '暂无联系人'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).loading ? '请稍候' : '好友同步完成后会显示在这里'), 1)])) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true)]), addingContact.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("div", { + }, null, 8, _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("span", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(item.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(item.title), 1), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)(item.subtitle), 1)])], 10, _hoisted_6); + }), 128)), !filteredContacts.value.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("div", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).loading ? '正在加载' : '暂无联系人'), 1), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).loading ? '请稍候' : '好友同步完成后会显示在这里'), 1)])) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true)]), addingContact.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("div", { key: 0, class: "modal-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(closeAddContact, ["self"]) + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withModifiers */ .D$)(closeAddContact, ["self"]) }, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("form", { class: "modal-panel", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .withModifiers */ .D$)(submitAddContact, ["prevent"]) + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withModifiers */ .D$)(submitAddContact, ["prevent"]) }, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("header", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("strong", null, "添加联系人", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", @@ -4157,70 +4341,63 @@ const _hoisted_14 = ["disabled"]; "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => addKeyword.value = $event), autocomplete: "off", placeholder: "请输入要添加的联系人" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_6__/* .vModelText */ .Jo, addKeyword.value, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_3__/* .vModelText */ .Jo, addKeyword.value, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).actionError ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("p", _hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).actionError), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).actionInfo ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("p", _hoisted_12, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).actionInfo), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).actionError ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("p", _hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).actionError), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).actionInfo ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementBlock */ .CE)("p", _hoisted_12, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).actionInfo), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("div", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { type: "button", class: "ghost-inline-action", onClick: closeAddContact }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createElementVNode */ .Lk)("button", { class: "primary-inline-action", - disabled: (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).loading || !addKeyword.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .unref */ .R1)(contacts).loading ? '添加中...' : '添加'), 9, _hoisted_14)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true)]); + disabled: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).loading || !addKeyword.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_6__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(contacts).loading ? '添加中...' : '添加'), 9, _hoisted_14)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .createCommentVNode */ .Q3)("", true)]); }; } }); /***/ }), -/***/ 3842: +/***/ 4621: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ w: function() { return /* binding */ useConversationStore; } -/* harmony export */ }); -/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5513); -/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_esnext_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9791); -/* harmony import */ var core_js_modules_esnext_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(680); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_esnext_iterator_reduce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5729); -/* harmony import */ var core_js_modules_esnext_iterator_reduce_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_reduce_js__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6071); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8438); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(6768); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2409); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9488); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6591); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5412); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(9214); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(9130); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(8937); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(8636); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(9776); -/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(6151); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(9397); -/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(4834); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(531); +/* harmony import */ var core_js_modules_es_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7588); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3579); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5367); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2731); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7642); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8004); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3853); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5876); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2475); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5024); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(1698); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(5187); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(7566); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(9045); @@ -4238,2330 +4415,548 @@ const _hoisted_14 = ["disabled"]; - - - - - - -const LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2'; -const LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1'; -function scopedStorageKey(baseKey) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - const scope = `${_config__WEBPACK_IMPORTED_MODULE_20__/* .appConfig */ .U.appServer || ''}:${session.userId || 'anonymous'}`; - return `${baseKey}:${encodeURIComponent(scope)}`; -} -function readFavoriteMessages() { - try { - return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY)) || '[]'); - } catch (error) { - return []; - } -} -function writeFavoriteMessages(messages) { - localStorage.setItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY), JSON.stringify(messages)); -} -function readLocalConversations() { - try { - return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY)) || '[]'); - } catch (error) { - return []; - } -} -function writeLocalConversations(conversations) { - localStorage.setItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY), JSON.stringify(conversations)); -} -function randomId() { - if (window.crypto && window.crypto.randomUUID) { - return window.crypto.randomUUID().replaceAll('-', ''); - } - return `${Date.now()}${Math.random().toString(16).slice(2)}`; -} -function messageKey(message) { - return message.id || message.messageUid; -} -function messageStableKey(message) { - return String(message?.messageUid || message?.id || ''); -} -function messageActivityTimestamp(message) { - return Number(message?.activityTimestamp || message?.editedAt || message?.displayTimestamp || message?.timestamp || 0); -} -function isRecalledMessage(message) { - return Boolean(message?.recalled) || message?.status === 'recalled'; -} -function attachmentLabel(message) { - const attachment = message?.attachment; - if (!attachment) { - return ''; - } - if (attachment.type === 'image') { - return '[图片]'; - } - return `[文件] ${attachment.name || '文件'}`; -} -function messagePreviewText(message) { - if (isRecalledMessage(message)) { - return `[${message?.recallStatus || '已撤回'}]`; - } - const text = String(message?.text || '').replace(/\s+/g, ' ').trim(); - return text || attachmentLabel(message); -} -function quotePrefix(message) { - const text = messagePreviewText(message); - return text.length > 48 ? `${text.slice(0, 48)}...` : text; -} -async function writeClipboard(text) { - if (navigator.clipboard?.writeText) { - await navigator.clipboard.writeText(text); - return; - } - const element = document.createElement('textarea'); - element.value = text; - element.setAttribute('readonly', 'readonly'); - element.style.position = 'fixed'; - element.style.left = '-9999px'; - document.body.appendChild(element); - element.select(); - document.execCommand('copy'); - document.body.removeChild(element); -} -function isSameMessage(left, right) { - if (left.messageUid && right.messageUid && left.messageUid === right.messageUid) { - return true; - } - if (left.id && right.id && left.id === right.id) { - return true; - } - return left.direction === right.direction && left.text === right.text && (left.type || 'text') === (right.type || 'text') && Math.abs(Number(left.displayTimestamp || left.timestamp || 0) - Number(right.displayTimestamp || right.timestamp || 0)) < 15000; -} -function hasExactMessage(messages, message) { - return messages.some(item => { - if (item.id && message.id && item.id === message.id) { - return true; - } - return item.messageUid && message.messageUid && item.messageUid === message.messageUid; - }); -} -function shouldUseMessagePolling() { - return imClient.shouldUseMessagePolling ? imClient.shouldUseMessagePolling() : true; -} -function canMarkReadNow(options = {}) { - if (typeof document === 'undefined') { - return false; - } - if (document.visibilityState !== 'visible') { - return false; - } - if (options.userAction) { - return true; - } - return true; -} -function mergeVisibleMessages(currentMessages, syncedMessages) { - const merged = [...syncedMessages]; - currentMessages.forEach(currentMessage => { - const exists = merged.some(message => isSameMessage(message, currentMessage)); - const shouldKeepLocal = currentMessage.status === 'sending' || currentMessage.status === 'failed' || currentMessage.direction === 'out' && currentMessage.status === 'sent' && Date.now() - Number(currentMessage.timestamp || 0) < 30000; - if (!exists && shouldKeepLocal) { - merged.push(currentMessage); - } - }); - return merged.filter((message, index, messages) => { - const key = messageKey(message); - return messages.findIndex(item => messageKey(item) === key) === index; - }).sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0)); -} -function incomingEditedMessages(previousMessages, nextMessages) { - const previousByKey = new Map(); - (previousMessages || []).forEach(message => { - const key = messageStableKey(message); - if (key) { - previousByKey.set(key, message); - } - }); - return (nextMessages || []).filter(message => { - if (message.direction !== 'in') { - return false; - } - const editedAt = Number(message.editedAt || 0); - if (editedAt <= 0) { - return false; - } - const previous = previousByKey.get(messageStableKey(message)); - return previous && editedAt > Number(previous.editedAt || 0); - }); -} -let notificationAudioContext = null; -function playNotificationSound() { - if (typeof window === 'undefined') { - return; - } - try { - const AudioContext = window.AudioContext || window.webkitAudioContext; - if (!AudioContext) { - return; - } - notificationAudioContext = notificationAudioContext || new AudioContext(); - if (notificationAudioContext.state === 'suspended') { - notificationAudioContext.resume().catch(() => {}); - } - const oscillator = notificationAudioContext.createOscillator(); - const gain = notificationAudioContext.createGain(); - const startAt = notificationAudioContext.currentTime; - oscillator.type = 'sine'; - oscillator.frequency.setValueAtTime(880, startAt); - oscillator.frequency.setValueAtTime(660, startAt + 0.1); - gain.gain.setValueAtTime(0.0001, startAt); - gain.gain.exponentialRampToValueAtTime(0.12, startAt + 0.02); - gain.gain.exponentialRampToValueAtTime(0.0001, startAt + 0.22); - oscillator.connect(gain); - gain.connect(notificationAudioContext.destination); - oscillator.start(startAt); - oscillator.stop(startAt + 0.24); - } catch (error) { - // Notification sound is best-effort; browsers may block audio until user interaction. - } -} -const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_22__/* .defineStore */ .nY)('conversations', { - state: () => ({ - activeId: '', - conversations: [], - messagesByConversation: {}, - visibleMessagesByConversation: {}, - eventsBound: false, - usingDemoData: false, - loading: false, - syncTimer: null, - conversationSyncTimer: null, - readPresenceEventsBound: false, - syncInFlight: false, - pendingReadReceiptConversationId: '', - conversationSyncInFlight: false, - syncAfterSendTimer: null, - optimisticMessagesByConversation: {}, - quotedMessage: null, - forwardingMessages: [], - editingMessage: null, - editingText: '', - editingMode: '', - messageDetailOpen: false, - messageDetailLoading: false, - messageDetailError: '', - messageDetail: null, - attentionMessageId: '', - attentionMessageTimer: null, - selectionMode: false, - selectedMessageIds: [], - favoriteMessages: [], - activeFavoriteKey: '', - actionNotice: '', - actionError: '' - }), - getters: { - activeConversation(state) { - return state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null; - }, - activeMessages(state) { - return state.visibleMessagesByConversation[state.activeId] || []; - }, - totalUnread(state) { - return state.conversations.reduce((sum, item) => sum + Number(item.unread || 0), 0); - }, - canSendActiveConversation(state) { - const conversation = state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null; - if (!conversation) { - return false; - } - if (conversation.type !== 'channel') { - return true; - } - return ['owner', 'admin'].includes(conversation.role || conversation.raw?.role || ''); - }, - favoriteMessageIds(state) { - return state.favoriteMessages.map(message => message.key); - }, - activeFavorite(state) { - return state.favoriteMessages.find(message => message.key === state.activeFavoriteKey) || state.favoriteMessages[0] || null; - }, - selectedMessages(state) { - const selectedIds = new Set(state.selectedMessageIds); - return (state.visibleMessagesByConversation[state.activeId] || []).filter(message => selectedIds.has(messageStableKey(message))); - } - }, - actions: { - bootstrapDemoData() { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - this.bindImEvents(); - this.usingDemoData = false; - if (!session.userId) { - this.clearUserState(); - return; - } - this.loadScopedLocalState(); - this.startMessageSync(); - }, - loadScopedLocalState() { - this.conversations = readLocalConversations(); - this.favoriteMessages = readFavoriteMessages(); - this.activeFavoriteKey = this.favoriteMessages[0]?.key || ''; - this.activeId = this.conversations[0]?.id || ''; - this.messagesByConversation = {}; - this.visibleMessagesByConversation = {}; - this.optimisticMessagesByConversation = {}; - this.quotedMessage = null; - this.forwardingMessages = []; - this.editingMessage = null; - this.editingText = ''; - this.editingMode = ''; - this.messageDetailOpen = false; - this.messageDetailLoading = false; - this.messageDetailError = ''; - this.messageDetail = null; - this.selectionMode = false; - this.selectedMessageIds = []; - if (this.activeId) { - this.loadActiveMessages({ - allowReadReceipt: true - }); - } - }, - clearUserState() { - window.clearInterval(this.syncTimer); - window.clearInterval(this.conversationSyncTimer); - window.clearTimeout(this.syncAfterSendTimer); - window.clearTimeout(this.attentionMessageTimer); - this.syncTimer = null; - this.conversationSyncTimer = null; - this.syncAfterSendTimer = null; - this.attentionMessageTimer = null; - this.syncInFlight = false; - this.conversationSyncInFlight = false; - this.pendingReadReceiptConversationId = ''; - this.activeId = ''; - this.conversations = []; - this.messagesByConversation = {}; - this.visibleMessagesByConversation = {}; - this.optimisticMessagesByConversation = {}; - this.quotedMessage = null; - this.forwardingMessages = []; - this.editingMessage = null; - this.editingText = ''; - this.editingMode = ''; - this.messageDetailOpen = false; - this.messageDetailLoading = false; - this.messageDetailError = ''; - this.messageDetail = null; - this.attentionMessageId = ''; - this.selectionMode = false; - this.selectedMessageIds = []; - this.favoriteMessages = []; - this.activeFavoriteKey = ''; - this.actionNotice = ''; - this.actionError = ''; - }, - bindImEvents() { - if (this.eventsBound) { - return; - } - this.eventsBound = true; - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.on('messageSent', message => { - this.appendMessage(message.conversationId, message); - }); - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.on('messageReceived', message => { - this.appendMessage(message.conversationId, message); - if (message.conversationId === this.activeId) { - this.syncActiveMessages({ - allowReadReceipt: true - }); - } - }); - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.on('messageStatusChanged', message => { - this.replaceMessage(message.conversationId, message); - }); - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.on('conversationsChanged', remoteConversations => { - this.usingDemoData = false; - this.applyRemoteConversations(remoteConversations); - }); - }, - setActiveConversation(id) { - this.activeId = id; - const conversation = this.conversations.find(item => item.id === id); - if (conversation) { - conversation.unread = 0; - } - this.loadActiveMessages({ - allowReadReceipt: true, - userAction: true - }); - }, - sendText(text) { - const conversation = this.activeConversation; - if (!conversation || !text.trim()) { - return; - } - let value = text.trim(); - if (this.quotedMessage) { - value = `引用:${quotePrefix(this.quotedMessage)}\n${value}`; - this.quotedMessage = null; - } - const message = { - id: randomId(), - conversationId: conversation.id, - from: 'me', - direction: 'out', - type: 'text', - text: value, - status: 'sending', - deliveryStatus: 'sending', - timestamp: Date.now(), - displayTimestamp: Date.now() - }; - this.appendVisibleMessage(conversation.id, message); - this.appendMessage(conversation.id, message); - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.sendTextMessage(conversation, value, message); - conversation.subtitle = value; - conversation.updatedAt = Date.now(); - writeLocalConversations(this.conversations); - window.clearTimeout(this.syncAfterSendTimer); - this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 250); - }, - sendAttachment({ - type, - file, - text = '' - }) { - const conversation = this.activeConversation; - if (!conversation || !file || !['image', 'file'].includes(type)) { - return; - } - let value = text.trim(); - if (this.quotedMessage) { - value = `引用:${quotePrefix(this.quotedMessage)}\n${value}`.trim(); - this.quotedMessage = null; - } - const now = Date.now(); - const message = { - id: randomId(), - conversationId: conversation.id, - from: 'me', - senderRole: conversation.role || conversation.raw?.role || '', - direction: 'out', - type, - text: value, - attachment: { - type, - name: file.name || (type === 'image' ? '图片' : '文件'), - mime: file.type || '', - size: file.size || 0, - url: type === 'image' ? URL.createObjectURL(file) : '' - }, - status: 'sending', - deliveryStatus: 'sending', - timestamp: now, - displayTimestamp: now - }; - this.appendVisibleMessage(conversation.id, message); - this.appendMessage(conversation.id, message); - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.sendAttachmentMessage(conversation, { - type, - file, - text: value - }, message); - conversation.subtitle = messagePreviewText(message); - conversation.updatedAt = now; - writeLocalConversations(this.conversations); - window.clearTimeout(this.syncAfterSendTimer); - this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 350); - }, - async sendTextToConversation(conversation, text) { - if (!conversation || !text.trim()) { - return null; - } - const value = text.trim(); - const message = { - id: randomId(), - conversationId: conversation.id, - from: 'me', - direction: 'out', - type: 'text', - text: value, - status: 'sending', - deliveryStatus: 'sending', - timestamp: Date.now(), - displayTimestamp: Date.now() - }; - this.appendMessage(conversation.id, message); - const sentMessage = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.sendTextMessage(conversation, value, message); - this.replaceMessage(conversation.id, sentMessage); - return sentMessage; - }, - upsertConversation(conversation) { - const index = this.conversations.findIndex(item => item.id === conversation.id); - if (index >= 0) { - this.conversations.splice(index, 1, { - ...this.conversations[index], - ...conversation - }); - } else { - this.conversations.unshift(conversation); - } - this.usingDemoData = false; - writeLocalConversations(this.conversations); - }, - removeConversation(conversationId) { - this.conversations = this.conversations.filter(conversation => conversation.id !== conversationId); - const { - [conversationId]: removedMessages, - ...messagesByConversation - } = this.messagesByConversation; - const { - [conversationId]: removedVisibleMessages, - ...visibleMessagesByConversation - } = this.visibleMessagesByConversation; - const { - [conversationId]: removedOptimisticMessages, - ...optimisticMessagesByConversation - } = this.optimisticMessagesByConversation; - void removedMessages; - void removedVisibleMessages; - void removedOptimisticMessages; - this.messagesByConversation = messagesByConversation; - this.visibleMessagesByConversation = visibleMessagesByConversation; - this.optimisticMessagesByConversation = optimisticMessagesByConversation; - if (this.activeId === conversationId) { - this.activeId = this.conversations[0]?.id || ''; - } - writeLocalConversations(this.conversations); - if (this.activeId) { - this.loadActiveMessages(); - } - }, - applyRemoteConversations(remoteConversations) { - const remote = Array.isArray(remoteConversations) ? remoteConversations : []; - if (!remote.length && this.conversations.length) { - return; - } - const merged = new Map(); - this.conversations.forEach(conversation => { - merged.set(conversation.id, conversation); - }); - remote.forEach(conversation => { - const unread = conversation.id === this.activeId && canMarkReadNow() ? 0 : Number(conversation.unread || 0); - merged.set(conversation.id, { - ...(merged.get(conversation.id) || {}), - ...conversation, - unread - }); - }); - this.conversations = Array.from(merged.values()).sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0)).slice(0, 100); - if (!this.conversations.length) { - this.activeId = ''; - this.messagesByConversation = {}; - this.visibleMessagesByConversation = {}; - this.optimisticMessagesByConversation = {}; - writeLocalConversations(this.conversations); - return; - } - if (!this.conversations.find(item => item.id === this.activeId)) { - this.activeId = this.conversations[0].id; - } - writeLocalConversations(this.conversations); - this.loadActiveMessages(); - }, - appendMessage(conversationId, message) { - if (!this.messagesByConversation[conversationId]) { - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: [] - }; - } - if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent')) { - this.keepOptimisticMessage(conversationId, message); - } - if (!hasExactMessage(this.messagesByConversation[conversationId], message)) { - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: [...this.messagesByConversation[conversationId], message] - }; - } - this.updateConversationFromMessage(conversationId, message); - this.syncVisibleMessages(conversationId); - writeLocalConversations(this.conversations); - }, - removeMessages(conversationId, messages) { - const ids = new Set(messages.flatMap(message => [message.id, message.messageUid].filter(Boolean).map(String))); - const filterMessages = list => (list || []).filter(message => { - return ![message.id, message.messageUid].filter(Boolean).some(id => ids.has(String(id))); - }); - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: filterMessages(this.messagesByConversation[conversationId]) - }; - this.visibleMessagesByConversation = { - ...this.visibleMessagesByConversation, - [conversationId]: filterMessages(this.visibleMessagesByConversation[conversationId]) - }; - this.optimisticMessagesByConversation = { - ...this.optimisticMessagesByConversation, - [conversationId]: filterMessages(this.optimisticMessagesByConversation[conversationId]) - }; - this.selectedMessageIds = this.selectedMessageIds.filter(id => !ids.has(String(id))); - }, - replaceLocalMessage(conversationId, targetMessage, nextMessage) { - const keys = new Set([targetMessage.id, targetMessage.messageUid].filter(Boolean).map(String)); - const replaceInList = list => (list || []).map(message => { - const matched = [message.id, message.messageUid].filter(Boolean).some(id => keys.has(String(id))); - return matched ? { - ...message, - ...nextMessage - } : message; - }); - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: replaceInList(this.messagesByConversation[conversationId]) - }; - this.visibleMessagesByConversation = { - ...this.visibleMessagesByConversation, - [conversationId]: replaceInList(this.visibleMessagesByConversation[conversationId]) - }; - }, - updateConversationFromMessage(conversationId, message) { - const conversation = this.conversations.find(item => item.id === conversationId); - if (!conversation) { - return; - } - conversation.subtitle = message.text || conversation.subtitle || ''; - conversation.updatedAt = messageActivityTimestamp(message) || Date.now(); - if (message.direction === 'in') { - conversation.unread = conversationId === this.activeId ? 0 : Number(conversation.unread || 0) + 1; - } - this.conversations = [...this.conversations].sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0)); - }, - appendVisibleMessage(conversationId, message) { - const messages = this.visibleMessagesByConversation[conversationId] || []; - this.visibleMessagesByConversation = { - ...this.visibleMessagesByConversation, - [conversationId]: [...messages.filter(item => item.id !== message.id), message].sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0)) - }; - }, - replaceMessage(conversationId, message) { - if (!this.messagesByConversation[conversationId]) { - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: [] - }; - } - if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent' || message.status === 'failed')) { - this.keepOptimisticMessage(conversationId, message); - } - const index = this.messagesByConversation[conversationId].findIndex(item => item.id === message.id); - if (index >= 0) { - const messages = [...this.messagesByConversation[conversationId]]; - messages.splice(index, 1, message); - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: messages - }; - } else { - this.messagesByConversation = { - ...this.messagesByConversation, - [conversationId]: [...this.messagesByConversation[conversationId], message] - }; - } - this.syncVisibleMessages(conversationId); - }, - syncVisibleMessages(conversationId) { - this.visibleMessagesByConversation = { - ...this.visibleMessagesByConversation, - [conversationId]: mergeVisibleMessages(this.optimisticMessagesByConversation[conversationId] || [], this.messagesByConversation[conversationId] || []) - }; - }, - keepOptimisticMessage(conversationId, message) { - if (!this.optimisticMessagesByConversation[conversationId]) { - this.optimisticMessagesByConversation = { - ...this.optimisticMessagesByConversation, - [conversationId]: [] - }; - } - const messages = this.optimisticMessagesByConversation[conversationId]; - const index = messages.findIndex(item => item.id === message.id); - let nextMessages; - if (index >= 0) { - nextMessages = [...messages]; - nextMessages.splice(index, 1, message); - } else { - nextMessages = [...messages, message]; - } - this.optimisticMessagesByConversation = { - ...this.optimisticMessagesByConversation, - [conversationId]: nextMessages - }; - }, - pruneOptimisticMessages(conversationId, syncedMessages) { - const messages = this.optimisticMessagesByConversation[conversationId] || []; - if (!messages.length) { - return; - } - this.optimisticMessagesByConversation = { - ...this.optimisticMessagesByConversation, - [conversationId]: messages.filter(message => { - const remoteMatched = syncedMessages.some(syncedMessage => { - return syncedMessage.id !== message.id && isSameMessage(syncedMessage, message); - }); - if (remoteMatched && message.status !== 'failed') { - return false; - } - return Date.now() - Number(message.displayTimestamp || message.timestamp || 0) < 30000 || message.status === 'failed'; - }) - }; - }, - loadActiveMessages(options = {}) { - const syncOptions = typeof options === 'boolean' ? { - allowReadReceipt: options - } : options; - const conversation = this.activeConversation; - if (!conversation) { - return; - } - this.loading = true; - const messages = _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.getMessages(conversation, 30); - this.pruneOptimisticMessages(conversation.id, messages); - this.messagesByConversation = { - ...this.messagesByConversation, - [conversation.id]: mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages) - }; - this.syncVisibleMessages(conversation.id); - this.loading = false; - this.syncActiveMessages(syncOptions); - }, - async syncActiveMessages(options = {}) { - const conversation = this.activeConversation; - if (!conversation) { - return; - } - const wantsReadReceipt = Boolean(options.allowReadReceipt); - const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ - userAction: Boolean(options.userAction) - }); - const pollingReadReceipt = canMarkReadNow(); - const markRead = explicitReadReceipt || pollingReadReceipt; - if (this.syncInFlight) { - if (wantsReadReceipt) { - this.pendingReadReceiptConversationId = conversation.id; - } - return; - } - this.syncInFlight = true; - const syncedConversationId = conversation.id; - const previousMessages = this.messagesByConversation[syncedConversationId] || []; - try { - const messages = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.fetchRemoteMessages(conversation, 50, { - markRead - }); - const editedIncomingMessages = incomingEditedMessages(previousMessages, messages); - this.pruneOptimisticMessages(syncedConversationId, messages); - this.messagesByConversation = { - ...this.messagesByConversation, - [syncedConversationId]: mergeVisibleMessages(this.messagesByConversation[syncedConversationId] || [], messages) - }; - this.syncVisibleMessages(syncedConversationId); - if (editedIncomingMessages.length && syncedConversationId === this.activeId) { - this.focusMessage(editedIncomingMessages.sort((a, b) => messageActivityTimestamp(b) - messageActivityTimestamp(a))[0]); - playNotificationSound(); - } - const latest = messages.reduce((latestMessage, message) => { - if (!latestMessage || messageActivityTimestamp(message) > messageActivityTimestamp(latestMessage)) { - return message; - } - return latestMessage; - }, null); - if (latest) { - conversation.subtitle = messagePreviewText(latest); - conversation.updatedAt = messageActivityTimestamp(latest); - writeLocalConversations(this.conversations); - } - } catch (error) { - // Keep the local view usable if a polling request misses. - } finally { - this.syncInFlight = false; - if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) { - this.pendingReadReceiptConversationId = ''; - window.setTimeout(() => this.syncActiveMessages({ - allowReadReceipt: true - }), 0); - } - } - }, - startMessageSync() { - this.bindReadPresenceEvents(); - if (!this.syncTimer) { - this.syncTimer = window.setInterval(() => { - this.syncActiveMessages(); - }, Math.max(250, _config__WEBPACK_IMPORTED_MODULE_20__/* .appConfig */ .U.syncIntervalMs)); - } - if (!this.conversationSyncTimer) { - this.conversationSyncTimer = window.setInterval(() => { - this.refreshRemoteConversations(); - }, 2000); - this.refreshRemoteConversations(); - } - }, - bindReadPresenceEvents() { - if (this.readPresenceEventsBound || typeof window === 'undefined' || typeof document === 'undefined') { - return; - } - this.readPresenceEventsBound = true; - const syncWhenReadable = () => { - if (canMarkReadNow()) { - this.syncActiveMessages({ - allowReadReceipt: true - }); - } - }; - window.addEventListener('focus', syncWhenReadable); - document.addEventListener('visibilitychange', syncWhenReadable); - }, - async refreshRemoteConversations() { - this.bindImEvents(); - this.usingDemoData = false; - if (this.conversationSyncInFlight) { - return; - } - this.conversationSyncInFlight = true; - try { - const remoteConversations = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.fetchRemoteConversations(50); - this.applyRemoteConversations(remoteConversations); - } catch (error) { - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.refreshConversationList(); - } finally { - this.conversationSyncInFlight = false; - } - }, - setActionNotice(message) { - this.actionNotice = message; - this.actionError = ''; - window.clearTimeout(this.actionNoticeTimer); - this.actionNoticeTimer = window.setTimeout(() => { - this.actionNotice = ''; - }, 1800); - }, - setActionError(message) { - this.actionError = message; - this.actionNotice = ''; - window.clearTimeout(this.actionErrorTimer); - this.actionErrorTimer = window.setTimeout(() => { - this.actionError = ''; - }, 2400); - }, - focusMessage(message) { - const key = messageStableKey(message); - if (!key) { - return; - } - this.attentionMessageId = key; - window.clearTimeout(this.attentionMessageTimer); - this.attentionMessageTimer = window.setTimeout(() => { - if (this.attentionMessageId === key) { - this.attentionMessageId = ''; - } - }, 2800); - }, - async handleMessageAction({ - action, - message - }) { - if (!message) { - return; - } - if (action === 'copy') { - await this.copyMessages([message]); - } else if (action === 'edit') { - this.startEditMessage(message); - } else if (action === 'delete') { - this.deleteMessages([message]); - } else if (action === 'forward') { - this.startForward([message]); - } else if (action === 'favorite') { - this.toggleFavorite(message); - } else if (action === 'detail') { - await this.openMessageDetail(message); - } else if (action === 'quote') { - this.quoteMessage(message); - } else if (action === 'select') { - this.enterSelectionMode(message); - } else if (action === 'recall') { - await this.recallMessage(message); - } - }, - async openMessageDetail(message) { - const conversation = this.activeConversation; - if (!conversation || !message) { - return; - } - const key = messageStableKey(message); - this.messageDetailOpen = true; - this.messageDetailLoading = true; - this.messageDetailError = ''; - this.messageDetail = { - messageUid: key, - conversationType: conversation.type || conversation.raw?.type || 'single', - sentAt: Number(message.displayTimestamp || message.timestamp || 0), - editedAt: Number(message.editedAt || 0), - recalled: isRecalledMessage(message), - localOnly: true, - sender: { - uid: message.from || '', - name: message.senderName || message.from || '' - } - }; - try { - if (!/^\d+$/.test(key)) { - this.messageDetailError = '本地临时消息暂无送达/已读详情'; - return; - } - const detail = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.getMessageDetail(conversation, message); - this.messageDetail = detail || this.messageDetail; - } catch (error) { - this.messageDetailError = error.message || '消息详情加载失败'; - } finally { - this.messageDetailLoading = false; - } - }, - closeMessageDetail() { - this.messageDetailOpen = false; - this.messageDetailLoading = false; - this.messageDetailError = ''; - this.messageDetail = null; - }, - async copyMessages(messages) { - const text = messages.map(message => message.text || '').join('\n'); - if (!text.trim()) { - return; - } - try { - await writeClipboard(text); - this.setActionNotice(messages.length > 1 ? '已复制所选消息' : '已复制'); - } catch (error) { - this.setActionError('复制失败'); - } - }, - deleteMessages(messages) { - const conversation = this.activeConversation; - if (!conversation || !messages.length) { - return; - } - _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.hideMessages(conversation, messages); - this.removeMessages(conversation.id, messages); - if (!this.selectedMessageIds.length) { - this.selectionMode = false; - } - this.setActionNotice(messages.length > 1 ? '已删除所选消息' : '已删除'); - }, - toggleFavorite(message) { - const key = messageStableKey(message); - if (!key) { - return; - } - const index = this.favoriteMessages.findIndex(item => item.key === key); - if (index >= 0) { - this.favoriteMessages.splice(index, 1); - if (this.activeFavoriteKey === key) { - this.activeFavoriteKey = this.favoriteMessages[0]?.key || ''; - } - this.setActionNotice('已取消收藏'); - } else { - const conversation = this.conversations.find(item => item.id === message.conversationId) || {}; - this.favoriteMessages.unshift({ - key, - id: message.id, - messageUid: message.messageUid, - conversationId: message.conversationId, - conversationTitle: conversation.title || message.conversationTitle || '', - type: message.type || 'text', - text: message.text || '', - preview: messagePreviewText(message), - senderName: message.senderName || message.from || '', - timestamp: Number(message.displayTimestamp || message.timestamp || Date.now()), - editedAt: Number(message.editedAt || 0), - recalled: isRecalledMessage(message), - recallStatus: message.recallStatus || (isRecalledMessage(message) ? '已撤回' : ''), - attachment: message.attachment ? { - ...message.attachment - } : null - }); - this.activeFavoriteKey = key; - this.setActionNotice('已收藏'); - } - this.favoriteMessages = this.favoriteMessages.slice(0, 200); - writeFavoriteMessages(this.favoriteMessages); - }, - setActiveFavorite(key) { - this.activeFavoriteKey = String(key || ''); - }, - removeFavorite(key) { - const value = String(key || ''); - if (!value) { - return; - } - this.favoriteMessages = this.favoriteMessages.filter(message => message.key !== value); - if (this.activeFavoriteKey === value) { - this.activeFavoriteKey = this.favoriteMessages[0]?.key || ''; - } - writeFavoriteMessages(this.favoriteMessages); - }, - quoteMessage(message) { - this.quotedMessage = { - ...message, - quoteText: quotePrefix(message) - }; - this.setActionNotice('已引用,输入后发送'); - }, - cancelQuote() { - this.quotedMessage = null; - }, - enterSelectionMode(message = null) { - this.selectionMode = true; - if (message) { - const key = messageStableKey(message); - this.selectedMessageIds = key ? [key] : []; - } - }, - toggleSelectedMessage(message) { - const key = messageStableKey(message); - if (!key) { - return; - } - const selected = new Set(this.selectedMessageIds); - if (selected.has(key)) { - selected.delete(key); - } else { - selected.add(key); - } - this.selectedMessageIds = Array.from(selected); - this.selectionMode = this.selectedMessageIds.length > 0; - }, - clearSelection() { - this.selectionMode = false; - this.selectedMessageIds = []; - }, - copySelectedMessages() { - return this.copyMessages(this.selectedMessages); - }, - deleteSelectedMessages() { - this.deleteMessages(this.selectedMessages); - }, - startForward(messages) { - this.forwardingMessages = messages.filter(message => message?.text); - if (!this.forwardingMessages.length) { - this.setActionError('没有可转发的消息'); - } - }, - startForwardSelectedMessages() { - this.startForward(this.selectedMessages); - }, - cancelForward() { - this.forwardingMessages = []; - }, - startEditMessage(message) { - const isResend = isRecalledMessage(message); - if (!isResend && !message?.text) { - this.setActionError('没有可编辑的文字内容'); - return; - } - this.editingMessage = message; - this.editingText = message.text || ''; - this.editingMode = isResend ? 'resend' : 'edit'; - }, - cancelEditMessage() { - this.editingMessage = null; - this.editingText = ''; - this.editingMode = ''; - }, - async completeEditMessage() { - const conversation = this.activeConversation; - const message = this.editingMessage; - const text = this.editingText.trim(); - const isResend = this.editingMode === 'resend' || isRecalledMessage(message); - if (!conversation || !message) { - this.cancelEditMessage(); - return; - } - if (!text) { - this.setActionError('编辑内容不能为空'); - return; - } - if (!isResend && text === String(message.text || '').trim()) { - this.cancelEditMessage(); - return; - } - try { - if (isResend) { - await this.sendTextToConversation(conversation, text); - this.cancelEditMessage(); - this.setActionNotice('已重新发送'); - return; - } - const editedMessage = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.editMessage(conversation, message, text); - this.replaceLocalMessage(conversation.id, message, editedMessage); - if (messageActivityTimestamp(editedMessage) >= Number(conversation.updatedAt || 0)) { - conversation.subtitle = editedMessage.text; - conversation.updatedAt = messageActivityTimestamp(editedMessage); - writeLocalConversations(this.conversations); - } - this.cancelEditMessage(); - this.setActionNotice('已编辑'); - } catch (error) { - this.setActionError(error.message || '编辑失败'); - } - }, - async completeForward(targetConversationId) { - const target = this.conversations.find(conversation => conversation.id === targetConversationId); - if (!target || !this.forwardingMessages.length) { - return; - } - const text = this.forwardingMessages.map(message => `转发:${message.text || ''}`).join('\n\n'); - try { - await this.sendTextToConversation(target, text); - this.forwardingMessages = []; - this.clearSelection(); - this.setActionNotice('已转发'); - } catch (error) { - this.setActionError(error.message || '转发失败'); - } - }, - async recallMessage(message) { - const conversation = this.activeConversation; - if (!conversation) { - return; - } - try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.recallMessage(conversation, message); - if (message.direction !== 'out') { - this.removeMessages(conversation.id, [message]); - this.setActionNotice('已撤回'); - this.syncActiveMessages(); - return; - } - this.replaceLocalMessage(conversation.id, message, { - status: 'recalled', - deliveryStatus: '', - recalled: true, - recallStatus: '已撤回' - }); - this.setActionNotice('已撤回'); - } catch (error) { - this.setActionError(error.message || '撤回失败'); - } - }, - async createGroup(options = {}) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - if (!session.userId) { - this.setActionError('请先登录'); - return false; - } - try { - const conversation = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.createGroup(session.userId, options); - this.upsertConversation(conversation); - this.setActiveConversation(conversation.id); - this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建'); - this.refreshRemoteConversations(); - return true; - } catch (error) { - this.setActionError(error.message || (options.channel ? '创建公告群失败' : '创建群组失败')); - return false; - } - }, - async joinGroup(groupKey) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - if (!session.userId) { - this.setActionError('请先登录'); - return false; - } - try { - const conversation = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.joinGroup(session.userId, groupKey); - this.upsertConversation(conversation); - this.setActiveConversation(conversation.id); - this.setActionNotice('已加入群组'); - this.refreshRemoteConversations(); - return true; - } catch (error) { - this.setActionError(error.message || '加入群组失败'); - return false; - } - }, - async broadcastMessage(targetIds, text) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - if (!session.userId) { - this.setActionError('请先登录'); - return false; - } - try { - const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.broadcastMessage(session.userId, targetIds, text); - const successCount = Number(result.successCount || 0); - const failedCount = Number(result.failedCount || 0); - this.setActionNotice(failedCount > 0 ? `已群发 ${successCount} 条,失败 ${failedCount} 条` : `已群发 ${successCount} 条`); - this.refreshRemoteConversations(); - return true; - } catch (error) { - this.setActionError(error.message || '群发失败'); - return false; - } - }, - async leaveGroup(conversation) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - if (!session.userId || !conversation?.target) { - this.setActionError('缺少群组信息'); - return false; - } - try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.leaveGroup(session.userId, conversation.target); - this.removeConversation(conversation.id); - this.setActionNotice('已退出群组'); - this.refreshRemoteConversations(); - return true; - } catch (error) { - this.setActionError(error.message || '退出群组失败'); - return false; - } - }, - async dismissGroup(conversation) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_21__/* .useSessionStore */ .B)(); - if (!session.userId || !conversation?.target) { - this.setActionError('缺少群组信息'); - return false; - } - try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_19__/* .imClient */ .wD.dismissGroup(session.userId, conversation.target); - this.removeConversation(conversation.id); - this.setActionNotice('群组已解散'); - this.refreshRemoteConversations(); - return true; - } catch (error) { - this.setActionError(error.message || '解散群组失败'); - return false; - } - } - } -}); - -/***/ }), - -/***/ 3865: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ p: function() { return /* binding */ useContactStore; } -/* harmony export */ }); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(680); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9776); -/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6151); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3842); -/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1050); -/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4834); - - - - - - - - - -const CONTACT_CACHE_MS = 15000; -function normalizeContacts(contacts) { - const unique = new Map(); - contacts.forEach(contact => { - const uid = String(contact.uid || contact.id || '').trim(); - if (!uid) { - return; - } - const normalized = { - ...contact, - id: String(contact.id || uid), - uid - }; - unique.set(uid, { - ...(unique.get(uid) || {}), - ...normalized - }); - }); - return Array.from(unique.values()).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN')); -} -const useContactStore = (0,pinia__WEBPACK_IMPORTED_MODULE_8__/* .defineStore */ .nY)('contacts', { - state: () => ({ - contacts: [], - activeId: '', - loading: false, - eventsBound: false, - refreshSerial: 0, - refreshPromise: null, - loadedForUserId: '', - loadedAt: 0, - actionError: '', - actionInfo: '' - }), - getters: { - activeContact(state) { - return state.contacts.find(item => item.id === state.activeId) || state.contacts[0] || null; - } - }, - actions: { - bindImEvents() { - if (this.eventsBound) { - return; - } - this.eventsBound = true; - _services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.on('contactsChanged', contacts => { - if (!contacts.length && this.contacts.length) { - return; - } - this.contacts = normalizeContacts(contacts); - if (!this.contacts.find(item => item.id === this.activeId)) { - this.activeId = this.contacts[0]?.id || ''; - } - }); - }, - async refreshContacts(options = {}) { - this.bindImEvents(); - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)(); - const requestUserId = session.userId; - const force = Boolean(options.force); - if (!requestUserId) { - this.clearContacts(); - return []; - } - if (!force && this.contacts.length && this.loadedForUserId === requestUserId && Date.now() - this.loadedAt < CONTACT_CACHE_MS) { - return this.contacts; - } - if (this.refreshPromise && !force) { - return this.refreshPromise; - } - const serial = this.refreshSerial + 1; - this.refreshSerial = serial; - this.loading = true; - this.refreshPromise = (async () => { - this.contacts = normalizeContacts(_services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.refreshContactList()); - if (!this.contacts.find(item => item.id === this.activeId)) { - this.activeId = this.contacts[0]?.id || ''; - } - if (!this.contacts.length || force) { - const serverContacts = await _services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.getServerContactList(requestUserId); - if (serial !== this.refreshSerial || (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)().userId !== requestUserId) { - return this.contacts; - } - this.contacts = normalizeContacts(serverContacts); - this.loadedForUserId = requestUserId; - this.loadedAt = Date.now(); - if (!this.contacts.find(item => item.id === this.activeId)) { - this.activeId = this.contacts[0]?.id || ''; - } - } - window.setTimeout(() => { - if (serial !== this.refreshSerial || (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)().userId !== requestUserId) { - return; - } - const latest = _services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.getContactList(false); - if (latest.length || !this.contacts.length) { - this.contacts = normalizeContacts(latest); - this.loadedForUserId = requestUserId; - this.loadedAt = Date.now(); - if (!this.contacts.find(item => item.id === this.activeId)) { - this.activeId = this.contacts[0]?.id || ''; - } - } - }, 1200); - return this.contacts; - })(); - try { - return await this.refreshPromise; - } finally { - if (serial === this.refreshSerial) { - this.loading = false; - this.refreshPromise = null; - } - } - }, - async addContact(keyword) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)(); - const value = String(keyword || '').trim(); - this.actionError = ''; - this.actionInfo = ''; - if (!session.userId) { - this.actionError = '请先登录'; - return false; - } - if (!value) { - this.actionError = '请输入用户ID、手机号或用户名'; - return false; - } - this.loading = true; - try { - const contact = await _services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.addContact(session.userId, value, '添加联系人'); - if (contact) { - this.contacts = normalizeContacts([...this.contacts, contact]); - this.activeId = contact.id; - } - this.actionInfo = '联系人已添加'; - await this.refreshContacts({ - force: true - }); - return true; - } catch (error) { - this.actionError = error.message || '添加联系人失败'; - return false; - } finally { - this.loading = false; - } - }, - async updateContactAlias(contactId, alias) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)(); - const targetId = String(contactId || '').trim(); - const nextAlias = String(alias || '').trim(); - this.actionError = ''; - this.actionInfo = ''; - if (!session.userId) { - this.actionError = '请先登录'; - return false; - } - if (!targetId) { - this.actionError = '缺少联系人ID'; - return false; - } - try { - const savedAlias = await _services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.updateContactAlias(session.userId, targetId, nextAlias); - this.contacts = normalizeContacts(this.contacts.map(item => { - if (item.uid !== targetId && item.id !== targetId) { - return item; - } - const rawUser = { - ...(item.rawUser || {}), - friendAlias: savedAlias - }; - const rawFriend = { - ...(item.rawFriend || {}), - alias: savedAlias - }; - const title = savedAlias || rawUser.displayName || rawUser.name || item.uid; - return { - ...item, - title, - avatarText: title.slice(0, 1).toUpperCase(), - alias: savedAlias, - rawFriend, - rawUser - }; - })); - this.loadedAt = Date.now(); - this.actionInfo = '备注名已修改'; - return true; - } catch (error) { - this.actionError = error.message || '备注名修改失败'; - return false; - } - }, - clearContacts() { - this.refreshSerial += 1; - this.contacts = []; - this.activeId = ''; - this.loading = false; - this.refreshPromise = null; - this.loadedForUserId = ''; - this.loadedAt = 0; - this.actionError = ''; - this.actionInfo = ''; - }, - setActiveContact(id) { - this.activeId = id; - }, - openChat(contact) { - if (!contact) { - return; - } - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_5__/* .useConversationStore */ .w)(); - const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_6__/* .useNavigationStore */ .l)(); - const conversation = _services_imClient__WEBPACK_IMPORTED_MODULE_4__/* .imClient */ .wD.createSingleConversation(contact.uid, contact); - conversations.upsertConversation(conversation); - conversations.setActiveConversation(conversation.id); - navigation.showMessages(); - } - } -}); - -/***/ }), - -/***/ 3974: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var _FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5582); - - - -const __exports__ = _FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 4834: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ B: function() { return /* binding */ useSessionStore; } -/* harmony export */ }); -/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9776); -/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6151); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9397); - - - -const STORAGE_KEY = 'qmt-web-im-session'; -function normalizeStoredPortrait(portrait) { - return portrait || ''; -} -function nextProfilePortrait(profilePortrait, currentPortrait) { - return normalizeStoredPortrait(profilePortrait) || normalizeStoredPortrait(currentPortrait); -} -const useSessionStore = (0,pinia__WEBPACK_IMPORTED_MODULE_2__/* .defineStore */ .nY)('session', { - state: () => ({ - isAuthenticated: false, - connecting: false, - connected: false, - connectionStatusText: '未连接', - userId: '', - token: '', - displayName: '', - portrait: '', - error: '', - sdkVersion: '', - eventsBound: false - }), - actions: { - restore() { - const raw = localStorage.getItem(STORAGE_KEY); - if (!raw) { - return; - } - try { - const session = JSON.parse(raw); - if (session.appServer !== _config__WEBPACK_IMPORTED_MODULE_1__/* .appConfig */ .U.appServer) { - localStorage.removeItem(STORAGE_KEY); - return; - } - if (session.userId && session.token) { - if (!session.clientId) { - localStorage.removeItem(STORAGE_KEY); - return; - } - this.userId = session.userId; - this.token = session.token; - this.displayName = session.displayName || session.userId; - this.portrait = normalizeStoredPortrait(session.portrait); - this.isAuthenticated = true; - _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.restoreClientId(session.clientId); - if (session.localOnly) { - this.connectionStatusText = '本地调试登录'; - } - this.connect(); - this.refreshProfile(); - } - } catch (error) { - localStorage.removeItem(STORAGE_KEY); - } - }, - async loginWithPassword(mobile, password) { - this.error = ''; - this.connecting = true; - try { - const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.loginWithPassword(mobile, password); - this.applyLoginResult(result); - await this.connect(); - } catch (error) { - this.error = error.message || '登录失败'; - } finally { - this.connecting = false; - } - }, - async loginWithCode(mobile, code) { - this.error = ''; - this.connecting = true; - try { - const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.loginWithCode(mobile, code); - this.applyLoginResult(result); - await this.connect(); - } catch (error) { - this.error = error.message || '登录失败'; - } finally { - this.connecting = false; - } - }, - async completePcSessionLogin(result) { - this.error = ''; - this.connecting = true; - try { - this.applyLoginResult(result); - await this.connect(); - } catch (error) { - this.error = error.message || '扫码登录失败'; - } finally { - this.connecting = false; - } - }, - async registerWithPhone(mobile, code) { - this.error = ''; - this.connecting = true; - try { - return await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.registerWithPhone(mobile, code); - } catch (error) { - this.error = error.message || '注册失败'; - return null; - } finally { - this.connecting = false; - } - }, - applyLoginResult(result) { - this.userId = result.userId || result.uid || result.id || ''; - this.token = result.token || result.imToken || ''; - this.displayName = result.displayName || result.userName || result.name || this.userId; - this.portrait = normalizeStoredPortrait(result.portrait); - this.isAuthenticated = Boolean(this.userId && this.token); - if (result.localOnly) { - this.connectionStatusText = '本地调试登录'; - } - this.persistSession(Boolean(result.localOnly)); - }, - persistSession(localOnly = false) { - localStorage.setItem(STORAGE_KEY, JSON.stringify({ - userId: this.userId, - token: this.token, - displayName: this.displayName, - portrait: this.portrait, - clientId: _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.getClientId(), - localOnly, - appServer: _config__WEBPACK_IMPORTED_MODULE_1__/* .appConfig */ .U.appServer - })); - }, - applyProfile(profile) { - if (!profile) { - return; - } - this.userId = profile.userId || profile.uid || this.userId; - this.displayName = profile.displayName || profile.name || this.displayName || this.userId; - this.portrait = nextProfilePortrait(profile.portrait, this.portrait); - this.persistSession(); - }, - async refreshProfile() { - if (!this.userId) { - return null; - } - try { - const profile = await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.getProfile(this.userId); - this.applyProfile(profile); - return profile; - } catch (error) { - return null; - } - }, - async saveProfile({ - displayName, - portraitFile - }) { - if (!this.userId) { - throw new Error('请先登录'); - } - const profile = await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.updateProfile(this.userId, { - displayName, - portraitFile - }); - this.applyProfile(profile); - return profile; - }, - async changePassword({ - oldPassword, - newPassword - }) { - if (!this.userId) { - throw new Error('请先登录'); - } - await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.changePassword({ - oldPassword, - newPassword - }); - return true; - }, - async resetPasswordWithCode({ - mobile, - resetCode, - newPassword - }) { - await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.resetPasswordWithCode({ - mobile, - resetCode, - newPassword - }); - return true; - }, - async connect() { - if (!this.userId || !this.token) { - return; - } - await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.ensureSdk(); - this.sdkVersion = _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.getSdkVersion(); - this.bindImEvents(); - await _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.connect(this.userId, this.token); - }, - bindImEvents() { - if (this.eventsBound) { - return; - } - this.eventsBound = true; - _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.on('connectionStatusChanged', status => { - this.connected = status.connected; - this.connectionStatusText = status.statusText || (status.connected ? '已连接' : '未连接'); - }); - }, - logout() { - _services_imClient__WEBPACK_IMPORTED_MODULE_0__/* .imClient */ .wD.disconnect(); - localStorage.removeItem(STORAGE_KEY); - this.$reset(); - } - } -}); - -/***/ }), - -/***/ 5161: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ E: function() { return /* binding */ LongConnectionImClient; } -/* harmony export */ }); -/* harmony import */ var core_js_modules_es_array_buffer_detached_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2952); -/* harmony import */ var core_js_modules_es_array_buffer_detached_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_buffer_detached_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_array_buffer_transfer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6665); -/* harmony import */ var core_js_modules_es_array_buffer_transfer_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_buffer_transfer_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_array_buffer_transfer_to_fixed_length_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1961); -/* harmony import */ var core_js_modules_es_array_buffer_transfer_to_fixed_length_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_buffer_transfer_to_fixed_length_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(680); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9397); -/* harmony import */ var _httpImClient__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3063); - - - - - - - - - -const HEARTBEAT_INTERVAL_MS = 25000; -const RECONNECT_MIN_MS = 1000; -const RECONNECT_MAX_MS = 15000; -function buildWsUrl() { - if (_config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.wsUrl) { - return _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.wsUrl; - } - const protocol = _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.useWss ? 'wss' : 'ws'; - const host = _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.imServerHost || window.location.hostname; - const port = _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.imRoutePort ? `:${_config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.imRoutePort}` : ''; - const path = _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.wsPath?.startsWith('/') ? _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.wsPath : `/${_config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.wsPath || 'ws'}`; - return `${protocol}://${host}${port}${path}`; -} -function normalizeConversationId(payload) { - const target = payload.target || payload.to || payload.receiver || payload.conversationTarget || payload.from || payload.sender; - return payload.conversationId || (target ? `single-${target}` : ''); -} -function normalizeIncomingMessage(payload, currentUserId) { - const item = payload.message || payload; - const from = item.from || item.sender || item.fromUser || ''; - const target = item.target || item.to || item.receiver || ''; - const direction = from && String(from) === String(currentUserId) ? 'out' : 'in'; - const conversationId = item.conversationId || normalizeConversationId({ - ...item, - target: direction === 'out' ? target : from - }); - if (!conversationId) { - return null; - } - const status = item.status || item.deliveryStatus || 'sent'; - return { - id: item.id || item.messageId || item.messageUid || `${Date.now()}${Math.random().toString(16).slice(2)}`, - messageUid: item.messageUid || item.uid || item.messageId || '', - conversationId, - from, - target, - direction, - type: item.type || 'text', - text: item.text || item.content || item.searchableContent || '', - status, - deliveryStatus: item.deliveryStatus || (direction === 'out' ? status : ''), - timestamp: Number(item.timestamp || item.serverTimestamp || Date.now()), - displayTimestamp: Number(item.displayTimestamp || item.timestamp || item.serverTimestamp || Date.now()), - raw: item - }; -} -class LongConnectionImClient extends _httpImClient__WEBPACK_IMPORTED_MODULE_8__/* .HttpImClient */ .Y { - constructor() { - super(); - this.socket = null; - this.wsUrl = buildWsUrl(); - this.heartbeatTimer = null; - this.reconnectTimer = null; - this.reconnectAttempts = 0; - this.manualClose = false; - } - getSdkVersion() { - return 'JC-LC/0.1'; - } - shouldUseMessagePolling() { - return !this.connected; - } - async ensureSdk() { - if (typeof WebSocket === 'undefined') { - throw new Error('当前浏览器不支持 WebSocket 长连接'); - } - return true; - } - connect(userId, token) { - this.currentUser = { - userId, - token - }; - this.manualClose = false; - this.openSocket(); - } - disconnect() { - this.manualClose = true; - this.clearReconnectTimer(); - this.clearHeartbeatTimer(); - if (this.socket) { - this.socket.close(); - this.socket = null; - } - super.disconnect(); - } - openSocket() { - if (this.socket?.readyState === WebSocket.OPEN) { - this.sendAuthFrame(); - return; - } - if (this.socket?.readyState === WebSocket.CONNECTING) { - return; - } - this.emit('connectionStatusChanged', { - connected: false, - statusText: '长连接连接中' - }); - try { - this.socket = new WebSocket(this.wsUrl); - this.socket.binaryType = 'arraybuffer'; - } catch (error) { - this.emit('connectionStatusChanged', { - connected: false, - statusText: '长连接创建失败,使用HTTP补偿' - }); - this.scheduleReconnect(); - return; - } - this.socket.onopen = () => { - this.connected = true; - this.reconnectAttempts = 0; - this.emit('connectionStatusChanged', { - connected: true, - statusText: '长连接已连接' - }); - this.sendAuthFrame(); - this.startHeartbeat(); - this.refreshConversationList(); - }; - this.socket.onmessage = event => { - this.handleFrame(event.data); - }; - this.socket.onerror = () => { - this.emit('connectionStatusChanged', { - connected: false, - statusText: '长连接异常,使用HTTP补偿' - }); - }; - this.socket.onclose = () => { - this.connected = false; - this.clearHeartbeatTimer(); - this.socket = null; - if (this.manualClose) { - return; - } - this.emit('connectionStatusChanged', { - connected: false, - statusText: '长连接重连中' - }); - this.scheduleReconnect(); - }; - } - sendAuthFrame() { - this.sendFrame({ - type: 'auth', - userId: this.currentUser?.userId || '', - token: this.currentUser?.token || '', - clientId: this.getClientId(), - platform: _config__WEBPACK_IMPORTED_MODULE_7__/* .appConfig */ .U.platform, - timestamp: Date.now() - }); - } - sendFrame(frame) { - if (this.socket?.readyState !== WebSocket.OPEN) { - return false; - } - this.socket.send(JSON.stringify(frame)); - return true; - } - handleFrame(rawData) { - if (rawData instanceof ArrayBuffer) { - this.emit('rawFrameReceived', rawData); - return; - } - let payload; - try { - payload = typeof rawData === 'string' ? JSON.parse(rawData) : rawData; - } catch (error) { - return; - } - const type = payload.type || payload.event || payload.cmd || ''; - if (type === 'pong' || type === 'auth_ok' || type === 'connected') { - return; - } - if (type === 'contactsChanged') { - this.emit('contactsChanged', payload.contacts || []); - return; - } - if (type === 'conversationsChanged') { - this.emit('conversationsChanged', payload.conversations || []); - return; - } - if (type === 'messages' && Array.isArray(payload.messages)) { - payload.messages.map(message => normalizeIncomingMessage(message, this.currentUser?.userId)).filter(Boolean).forEach(message => this.emit('messageReceived', message)); - return; - } - const message = normalizeIncomingMessage(payload, this.currentUser?.userId); - if (message) { - this.emit(message.direction === 'out' ? 'messageStatusChanged' : 'messageReceived', message); - } - } - startHeartbeat() { - this.clearHeartbeatTimer(); - this.heartbeatTimer = window.setInterval(() => { - this.sendFrame({ - type: 'ping', - timestamp: Date.now() - }); - }, HEARTBEAT_INTERVAL_MS); - } - clearHeartbeatTimer() { - if (this.heartbeatTimer) { - window.clearInterval(this.heartbeatTimer); - this.heartbeatTimer = null; - } - } - scheduleReconnect() { - this.clearReconnectTimer(); - const delay = Math.min(RECONNECT_MAX_MS, RECONNECT_MIN_MS * 2 ** this.reconnectAttempts); - this.reconnectAttempts += 1; - this.reconnectTimer = window.setTimeout(() => { - this.openSocket(); - }, delay); - } - clearReconnectTimer() { - if (this.reconnectTimer) { - window.clearTimeout(this.reconnectTimer); - this.reconnectTimer = null; - } - } -} - -/***/ }), - -/***/ 5242: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8838); - - -/***/ }), - -/***/ 5282: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(542); - - -/***/ }), - -/***/ 5326: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7987); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3842); - - - const _hoisted_1 = { - class: "conversation-list favorite-list" + class: "conversation-list" }; const _hoisted_2 = { class: "list-header" }; const _hoisted_3 = { + class: "header-actions action-menu-anchor" +}; +const _hoisted_4 = { + class: "search-box" +}; +const _hoisted_5 = { class: "sidebar-scroll" }; -const _hoisted_4 = ["onClick"]; -const _hoisted_5 = { - class: "favorite-item-main" +const _hoisted_6 = ["onClick"]; +const _hoisted_7 = ["src"]; +const _hoisted_8 = { + key: 1, + class: "conversation-avatar" }; -const _hoisted_6 = { +const _hoisted_9 = { + class: "conversation-copy" +}; +const _hoisted_10 = ["aria-label"]; +const _hoisted_11 = { key: 0, class: "empty-list" }; - - -/* harmony default export */ __webpack_exports__.A = ({ - __name: 'FavoriteList', - setup(__props) { - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_2__/* .useConversationStore */ .w)(); - const activeKey = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => conversations.activeFavorite?.key || ''); - function favoriteTitle(item) { - if (item.conversationTitle) { - return item.conversationTitle; - } - const conversation = conversations.conversations.find(entry => entry.id === item.conversationId); - return conversation?.title || item.conversationId || '未知会话'; - } - function favoritePreview(item) { - if (item.recalled) { - return `[${item.recallStatus || '已撤回'}]`; - } - if (item.preview) { - return item.preview; - } - if (item.text) { - return item.text; - } - if (item.type === 'image') { - return '[图片]'; - } - if (item.type === 'file') { - return `[文件] ${item.attachment?.name || '文件'}`; - } - return '(无文字内容)'; - } - function formatFavoriteTime(timestamp) { - const value = Number(timestamp || 0); - if (!value) { - return ''; - } - return new Intl.DateTimeFormat('zh-CN', { - month: '2-digit', - day: '2-digit', - hour: '2-digit', - minute: '2-digit', - hour12: false - }).format(value); - } - return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", null, [_cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("h2", null, "收藏", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(conversations).favoriteMessages.length) + " 条消息", 1)])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_3, [((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .renderList */ .pI)((0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(conversations).favoriteMessages, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("button", { - key: item.key, - type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .normalizeClass */ .C4)(["favorite-item", { - active: activeKey.value === item.key - }]), - onClick: $event => (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(conversations).setActiveFavorite(item.key) - }, [_cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", { - class: "favorite-item-icon" - }, "★", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)(favoriteTitle(item)), 1), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)(favoritePreview(item)), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("time", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .toDisplayString */ .v_)(formatFavoriteTime(item.timestamp)), 1)], 10, _hoisted_4); - }), 128)), !(0,vue__WEBPACK_IMPORTED_MODULE_5__/* .unref */ .R1)(conversations).favoriteMessages.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", _hoisted_6, " 暂无收藏消息 ")) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)])]); - }; - } -}); - -/***/ }), - -/***/ 5399: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8691); - - -/***/ }), - -/***/ 5582: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1362); - - -/***/ }), - -/***/ 6024: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var _App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(138); - - - -const __exports__ = _App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 6151: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ wD: function() { return /* binding */ imClient; } -/* harmony export */ }); -/* unused harmony export WildfireImClient */ -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9397); -/* harmony import */ var _httpImClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3063); -/* harmony import */ var _longConnectionImClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5161); - - - -class UnsupportedWildfireImClient { - constructor() { - throw new Error('当前本地社区版 Web 客户端未启用 WildFire Web SDK'); - } -} -const imClient = _config__WEBPACK_IMPORTED_MODULE_0__/* .appConfig */ .U.sdkMode === 'wildfire' ? new UnsupportedWildfireImClient() : _config__WEBPACK_IMPORTED_MODULE_0__/* .appConfig */ .U.sdkMode === 'custom-ws' || _config__WEBPACK_IMPORTED_MODULE_0__/* .appConfig */ .U.sdkMode === 'long' ? new _longConnectionImClient__WEBPACK_IMPORTED_MODULE_2__/* .LongConnectionImClient */ .E() : new _httpImClient__WEBPACK_IMPORTED_MODULE_1__/* .HttpImClient */ .Y(); - - -/***/ }), - -/***/ 6277: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var _ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2857); - - - -const __exports__ = _ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 6804: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1648); - - -/***/ }), - -/***/ 6942: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var _LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8658); - - - -const __exports__ = _LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 8048: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var _ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5242); - - - -const __exports__ = _ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 8218: -/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { - -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1857); -/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9776); -/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6024); - - - - -(0,vue__WEBPACK_IMPORTED_MODULE_1__/* .createApp */ .Ef)(_App_vue__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A).use((0,pinia__WEBPACK_IMPORTED_MODULE_2__/* .createPinia */ .Ey)()).mount('#app'); - -/***/ }), - -/***/ 8314: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var _ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8322); - - - -const __exports__ = _ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 8322: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(262); - - -/***/ }), - -/***/ 8446: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(7987); -/* harmony import */ var _sidebar_NavigationRail_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1920); -/* harmony import */ var _sidebar_ConversationList_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8048); -/* harmony import */ var _sidebar_ContactList_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2699); -/* harmony import */ var _chat_ChatPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6277); -/* harmony import */ var _contacts_ContactPanel_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8314); -/* harmony import */ var _favorites_FavoriteList_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8624); -/* harmony import */ var _favorites_FavoritePanel_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3974); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3842); -/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1050); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3865); - -const _hoisted_1 = { - class: "app-shell" +const _hoisted_12 = { + key: 1, + class: "empty-list" }; - - - - - - - - +const _hoisted_13 = { + class: "empty-list-actions" +}; +const _hoisted_14 = { + key: 0 +}; +const _hoisted_15 = { + key: 2 +}; +const _hoisted_16 = { + key: 5, + class: "form-error" +}; +const _hoisted_17 = { + key: 6, + class: "form-info" +}; +const _hoisted_18 = { + class: "modal-actions" +}; +const _hoisted_19 = ["disabled"]; /* harmony default export */ __webpack_exports__.A = ({ - __name: 'ChatShell', + __name: 'ConversationList', setup(__props) { - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_7__/* .useConversationStore */ .w)(); - const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_8__/* .useNavigationStore */ .l)(); - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_9__/* .useContactStore */ .p)(); - (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .onMounted */ .sV)(() => { - conversations.refreshRemoteConversations(); - contacts.refreshContacts(); + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_20__/* .useConversationStore */ .w)(); + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_21__/* .useContactStore */ .p)(); + const actionMenuOpen = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(false); + const activeAction = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const actionBusy = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(false); + const searchKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const addKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const groupName = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const groupAnnouncement = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const groupWelcomeText = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const joinGroupKey = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const broadcastText = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const channelName = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const channelAnnouncement = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const contactKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)(''); + const selectedContactIds = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .ref */ .KR)([]); + const actionTitles = { + addContact: '添加联系人', + createGroup: '新建群组', + joinGroup: '加入群组', + broadcast: '群发助手', + createChannel: '创建频道/公告群' + }; + const submitLabels = { + addContact: '添加', + createGroup: '创建', + joinGroup: '加入', + broadcast: '发送', + createChannel: '创建' + }; + const actionTitle = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => actionTitles[activeAction.value] || ''); + const submitLabel = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => submitLabels[activeAction.value] || '确定'); + const modalError = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => contacts.actionError || conversations.actionError); + const modalInfo = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => contacts.actionInfo || conversations.actionNotice); + const normalizedSearchKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => searchKeyword.value.trim().toLowerCase()); + const contactsByUid = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const map = new Map(); + contacts.contacts.forEach(contact => { + const uid = String(contact.uid || contact.id || ''); + if (uid) { + map.set(uid, contact); + } + }); + return map; }); + const filteredConversationItems = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const keyword = normalizedSearchKeyword.value; + if (!keyword) { + return conversations.conversations.map(item => conversationResult(item)); + } + const conversationResults = conversations.conversations.filter(item => matchesConversation(item, keyword, contactForConversation(item))).map(item => conversationResult(item)); + const conversationTargets = new Set(conversations.conversations.filter(item => item.type === 'single').map(item => conversationTarget(item))); + const contactResults = contacts.contacts.filter(item => !conversationTargets.has(String(item.uid || item.id || ''))).filter(item => matchesContact(item, keyword)).map(item => contactResult(item)); + return [...conversationResults, ...contactResults]; + }); + const filteredContacts = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + const keyword = contactKeyword.value.toLowerCase(); + if (!keyword) { + return contacts.contacts; + } + return contacts.contacts.filter(item => { + return String(item.title || '').toLowerCase().includes(keyword) || String(item.subtitle || '').toLowerCase().includes(keyword) || String(item.uid || '').toLowerCase().includes(keyword); + }); + }); + const submitDisabled = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .computed */ .EW)(() => { + if (activeAction.value === 'addContact') { + return !addKeyword.value; + } + if (activeAction.value === 'createGroup') { + return !groupName.value || !selectedContactIds.value.length; + } + if (activeAction.value === 'joinGroup') { + return !joinGroupKey.value; + } + if (activeAction.value === 'broadcast') { + return !broadcastText.value || !selectedContactIds.value.length; + } + if (activeAction.value === 'createChannel') { + return !channelName.value; + } + return true; + }); + (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .onMounted */ .sV)(() => { + contacts.refreshContacts().catch(() => {}); + }); + const ContactPicker = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .defineComponent */ .pM)({ + name: 'ContactPicker', + props: { + contacts: { + type: Array, + default: () => [] + }, + selectedIds: { + type: Array, + default: () => [] + }, + keyword: { + type: String, + default: '' + }, + emptyText: { + type: String, + default: '暂无联系人' + } + }, + emits: ['toggle', 'update:keyword'], + setup(props, { + emit + }) { + return () => (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('div', { + class: 'contact-picker' + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('input', { + value: props.keyword, + placeholder: '搜索联系人', + onInput: event => emit('update:keyword', event.target.value) + }), (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('div', { + class: 'contact-picker-list' + }, props.contacts.length ? props.contacts.map(contact => (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('button', { + key: contact.uid, + type: 'button', + class: ['contact-picker-row', { + selected: props.selectedIds.includes(contact.uid) + }], + onClick: () => emit('toggle', contact.uid) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('span', { + class: 'contact-check' + }, props.selectedIds.includes(contact.uid) ? '✓' : ''), contact.portrait ? (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('img', { + class: 'conversation-avatar image-avatar', + src: contact.portrait, + alt: '' + }) : (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('span', { + class: 'conversation-avatar' + }, contact.avatarText), (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('span', { + class: 'contact-picker-copy' + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('strong', contact.title), (0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('small', contact.subtitle)])])) : [(0,vue__WEBPACK_IMPORTED_MODULE_17__.h)('div', { + class: 'contact-picker-empty' + }, props.emptyText)])]); + } + }); + function searchableValues(...values) { + return values.flatMap(value => { + if (Array.isArray(value)) { + return value; + } + if (value && typeof value === 'object') { + return Object.values(value); + } + return [value]; + }).map(value => String(value || '').toLowerCase()).filter(Boolean); + } + function matchesKeyword(values, keyword) { + const compactKeyword = keyword.replace(/[^\p{L}\p{N}]+/gu, ''); + return searchableValues(values).some(value => { + if (value.includes(keyword)) { + return true; + } + if (!compactKeyword) { + return false; + } + return value.replace(/[^\p{L}\p{N}]+/gu, '').includes(compactKeyword); + }); + } + function conversationTarget(item) { + if (item.type !== 'single') { + return String(item.target || item.raw?.target || item.id || ''); + } + return String(item.target || item.raw?.target || item.id.replace(/^single-/, '') || ''); + } + function contactForConversation(item) { + const target = conversationTarget(item); + return target ? contactsByUid.value.get(target) || null : null; + } + function matchesConversation(item, keyword, contact = null) { + return matchesKeyword([item.title, item.subtitle, item.target, item.id, item.type, item.raw?.target, item.raw?.groupId, item.raw?.group_id, item.raw?.owner_uid, item.raw?.name, item.raw?.displayName, item.raw?.mobile, item.raw?.friendAlias, item.raw?.alias, contact?.title, contact?.subtitle, contact?.uid, contact?.id, contact?.alias, contact?.address, contact?.rawUser, contact?.rawFriend], keyword); + } + function matchesContact(item, keyword) { + return matchesKeyword([item.title, item.subtitle, item.uid, item.id, item.alias, item.address, item.rawUser, item.rawFriend], keyword); + } + function conversationResult(item) { + return { + ...item, + resultKind: 'conversation', + resultKey: `conversation-${item.id}` + }; + } + function contactResult(contact) { + return { + id: contact.id, + resultKind: 'contact', + resultKey: `contact-${contact.uid || contact.id}`, + contact, + title: contact.title, + subtitle: contact.subtitle, + portrait: contact.portrait, + avatarText: contact.avatarText, + unread: 0 + }; + } + function isListItemActive(item) { + if (item.resultKind === 'conversation') { + return item.id === conversations.activeId; + } + return `single-${item.contact?.uid || item.id}` === conversations.activeId; + } + function selectListItem(item) { + if (item.resultKind === 'contact') { + contacts.openChat(item.contact); + return; + } + conversations.setActiveConversation(item.id); + } + function clearStoreMessages() { + contacts.actionError = ''; + contacts.actionInfo = ''; + conversations.actionError = ''; + conversations.actionNotice = ''; + } + function resetActionFields() { + addKeyword.value = ''; + groupName.value = ''; + groupAnnouncement.value = ''; + groupWelcomeText.value = ''; + joinGroupKey.value = ''; + broadcastText.value = ''; + channelName.value = ''; + channelAnnouncement.value = ''; + contactKeyword.value = ''; + selectedContactIds.value = []; + clearStoreMessages(); + } + function toggleActionMenu() { + actionMenuOpen.value = !actionMenuOpen.value; + } + function closeActionMenu() { + actionMenuOpen.value = false; + } + function openAction(action) { + resetActionFields(); + activeAction.value = action; + actionMenuOpen.value = false; + if (['createGroup', 'broadcast', 'createChannel'].includes(action)) { + contacts.refreshContacts({ + force: true + }); + } + } + function closeActionModal() { + activeAction.value = ''; + actionBusy.value = false; + resetActionFields(); + } + function toggleContact(contactId) { + const selected = new Set(selectedContactIds.value); + if (selected.has(contactId)) { + selected.delete(contactId); + } else { + selected.add(contactId); + } + selectedContactIds.value = Array.from(selected); + } + async function submitAction() { + if (submitDisabled.value || actionBusy.value) { + return; + } + actionBusy.value = true; + clearStoreMessages(); + try { + let ok = false; + if (activeAction.value === 'addContact') { + ok = await contacts.addContact(addKeyword.value); + if (ok && contacts.activeContact) { + contacts.openChat(contacts.activeContact); + } + } else if (activeAction.value === 'createGroup') { + ok = await conversations.createGroup({ + name: groupName.value, + announcement: groupAnnouncement.value, + welcomeText: groupWelcomeText.value, + memberIds: selectedContactIds.value + }); + } else if (activeAction.value === 'joinGroup') { + ok = await conversations.joinGroup(joinGroupKey.value); + } else if (activeAction.value === 'broadcast') { + ok = await conversations.broadcastMessage(selectedContactIds.value, broadcastText.value); + } else if (activeAction.value === 'createChannel') { + ok = await conversations.createGroup({ + name: channelName.value, + memberIds: selectedContactIds.value, + announcement: channelAnnouncement.value, + channel: true + }); + } + if (ok) { + window.setTimeout(closeActionModal, 450); + } + } finally { + actionBusy.value = false; + } + } + document.addEventListener('click', closeActionMenu); + (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .onBeforeUnmount */ .xo)(() => { + document.removeEventListener('click', closeActionMenu); + }); + function formatUnread(value) { + const count = Number(value || 0); + return count > 99 ? '99+' : String(count); + } return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("main", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createVNode */ .bF)(_sidebar_NavigationRail_vue__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A), (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .unref */ .R1)(navigation).section === 'messages' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createBlock */ .Wv)(_sidebar_ConversationList_vue__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A, { - key: 0 - })) : (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .unref */ .R1)(navigation).section === 'favorites' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createBlock */ .Wv)(_favorites_FavoriteList_vue__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, { + return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", null, [_cache[20] || (_cache[20] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("h2", null, "消息", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).totalUnread) + " 条未读", 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + class: "icon-button", + title: "新建会话", + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withModifiers */ .D$)(toggleActionMenu, ["stop"]) + }, "+"), actionMenuOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + key: 0, + class: "quick-action-menu", + onClick: _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withModifiers */ .D$)(() => {}, ["stop"])) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + onClick: _cache[0] || (_cache[0] = $event => openAction('addContact')) + }, "添加联系人"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + onClick: _cache[1] || (_cache[1] = $event => openAction('createGroup')) + }, "新建群组"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + onClick: _cache[2] || (_cache[2] = $event => openAction('joinGroup')) + }, "加入群组"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + onClick: _cache[3] || (_cache[3] = $event => openAction('broadcast')) + }, "群发助手"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + onClick: _cache[4] || (_cache[4] = $event => openAction('createChannel')) + }, "创建频道/公告群")])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => searchKeyword.value = $event), + placeholder: "搜索会话、联系人" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, searchKeyword.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_5, [((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .renderList */ .pI)(filteredConversationItems.value, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("button", { + key: item.resultKey, + class: (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .normalizeClass */ .C4)(["conversation-item", { + active: isListItemActive(item) + }]), + onClick: $event => selectListItem(item) + }, [item.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("img", { + key: 0, + class: "conversation-avatar image-avatar", + src: item.portrait, + alt: "" + }, null, 8, _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(item.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(item.title), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(item.subtitle), 1)]), Number(item.unread || 0) > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("span", { + key: 2, + class: "unread-badge", + "aria-label": `${item.unread} 条未读消息` + }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(formatUnread(item.unread)), 9, _hoisted_10)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)], 10, _hoisted_6); + }), 128)), !filteredConversationItems.value.length && searchKeyword.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_11, _cache[21] || (_cache[21] = [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, "没有匹配结果", -1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "换个关键词再试试", -1)]))) : !(0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).conversations.length && !(0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(conversations).usingDemoData ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", _hoisted_12, [_cache[22] || (_cache[22] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, "暂无会话", -1)), _cache[23] || (_cache[23] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "收到或发起消息后会出现在这里", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "primary-inline-action", + onClick: _cache[7] || (_cache[7] = $event => openAction('createGroup')) + }, "新建群组"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "ghost-inline-action", + onClick: _cache[8] || (_cache[8] = $event => openAction('joinGroup')) + }, "加入群组")])])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]), activeAction.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("div", { + key: 0, + class: "modal-backdrop", + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withModifiers */ .D$)(closeActionModal, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("form", { + class: "modal-panel conversation-action-panel", + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withModifiers */ .D$)(submitAction, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("header", null, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(actionTitle.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "icon-button", + title: "关闭", + onClick: closeActionModal + }, "×")]), activeAction.value === 'addContact' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("label", _hoisted_14, [_cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "用户ID / 手机号 / 用户名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[9] || (_cache[9] = $event => addKeyword.value = $event), + autocomplete: "off", + placeholder: "请输入要添加的联系人" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, addKeyword.value, void 0, { + trim: true + }]])])) : activeAction.value === 'createGroup' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { key: 1 - })) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createBlock */ .Wv)(_sidebar_ContactList_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, { - key: 2 - })), (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .unref */ .R1)(navigation).section === 'messages' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createBlock */ .Wv)(_chat_ChatPanel_vue__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "群组名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[10] || (_cache[10] = $event => groupName.value = $event), + maxlength: "64", + autocomplete: "off", + placeholder: "请输入群组名称" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, groupName.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "群说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { + "onUpdate:modelValue": _cache[11] || (_cache[11] = $event => groupAnnouncement.value = $event), + maxlength: "1000", + rows: "3", + placeholder: "可选" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, groupAnnouncement.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[27] || (_cache[27] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "欢迎词", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { + "onUpdate:modelValue": _cache[12] || (_cache[12] = $event => groupWelcomeText.value = $event), + maxlength: "1000", + rows: "3", + placeholder: "群组创建后自动发送" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, groupWelcomeText.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createVNode */ .bF)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(ContactPicker), { + contacts: filteredContacts.value, + "selected-ids": selectedContactIds.value, + keyword: contactKeyword.value, + "empty-text": "暂无可选联系人", + "onUpdate:keyword": _cache[13] || (_cache[13] = $event => contactKeyword.value = $event), + onToggle: toggleContact + }, null, 8, ["contacts", "selected-ids", "keyword"])], 64)) : activeAction.value === 'joinGroup' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("label", _hoisted_15, [_cache[28] || (_cache[28] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "群组ID / 群名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[14] || (_cache[14] = $event => joinGroupKey.value = $event), + autocomplete: "off", + placeholder: "请输入群组ID或群名称" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, joinGroupKey.value, void 0, { + trim: true + }]])])) : activeAction.value === 'broadcast' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { key: 3 - })) : (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .unref */ .R1)(navigation).section === 'favorites' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createBlock */ .Wv)(_favorites_FavoritePanel_vue__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[29] || (_cache[29] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "群发内容", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { + "onUpdate:modelValue": _cache[15] || (_cache[15] = $event => broadcastText.value = $event), + maxlength: "2000", + rows: "4", + placeholder: "输入要群发的文字" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, broadcastText.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createVNode */ .bF)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(ContactPicker), { + contacts: filteredContacts.value, + "selected-ids": selectedContactIds.value, + keyword: contactKeyword.value, + "empty-text": "暂无可选联系人", + "onUpdate:keyword": _cache[16] || (_cache[16] = $event => contactKeyword.value = $event), + onToggle: toggleContact + }, null, 8, ["contacts", "selected-ids", "keyword"])], 64)) : activeAction.value === 'createChannel' ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_17__/* .Fragment */ .FK, { key: 4 - })) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createBlock */ .Wv)(_contacts_ContactPanel_vue__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, { - key: 5 - }))]); + }, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[30] || (_cache[30] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "频道/公告群名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("input", { + "onUpdate:modelValue": _cache[17] || (_cache[17] = $event => channelName.value = $event), + maxlength: "64", + autocomplete: "off", + placeholder: "请输入名称" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, channelName.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("label", null, [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("span", null, "公告说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("textarea", { + "onUpdate:modelValue": _cache[18] || (_cache[18] = $event => channelAnnouncement.value = $event), + maxlength: "1000", + rows: "3", + placeholder: "可选" + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_16__/* .vModelText */ .Jo, channelAnnouncement.value, void 0, { + trim: true + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createVNode */ .bF)((0,vue__WEBPACK_IMPORTED_MODULE_18__/* .unref */ .R1)(ContactPicker), { + contacts: filteredContacts.value, + "selected-ids": selectedContactIds.value, + keyword: contactKeyword.value, + "empty-text": "暂无可选联系人", + "onUpdate:keyword": _cache[19] || (_cache[19] = $event => contactKeyword.value = $event), + onToggle: toggleContact + }, null, 8, ["contacts", "selected-ids", "keyword"])], 64)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), modalError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("p", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(modalError.value), 1)) : modalInfo.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_17__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementBlock */ .CE)("p", _hoisted_17, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(modalInfo.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("div", _hoisted_18, [(0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: "ghost-inline-action", + onClick: closeActionModal + }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createElementVNode */ .Lk)("button", { + class: "primary-inline-action", + disabled: actionBusy.value || submitDisabled.value + }, (0,vue__WEBPACK_IMPORTED_MODULE_19__/* .toDisplayString */ .v_)(actionBusy.value ? '处理中...' : submitLabel.value), 9, _hoisted_19)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .createCommentVNode */ .Q3)("", true)]); }; } }); /***/ }), -/***/ 8624: +/***/ 7420: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var _FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2122); - - - -const __exports__ = _FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; - -/* harmony default export */ __webpack_exports__.A = (__exports__); - -/***/ }), - -/***/ 8658: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: function() { return /* reexport safe */ _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } -/* harmony export */ }); -/* harmony import */ var _im_web_node_modules_thread_loader_dist_cjs_js_im_web_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_im_web_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9502); - - -/***/ }), - -/***/ 8691: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4912); -/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9130); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8937); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8636); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7987); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1857); -/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4834); -/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1050); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3865); - - - +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5130); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6768); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(144); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5187); +/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(926); +/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1414); +/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9045); @@ -6663,9 +5058,9 @@ const CROP_OUTPUT_SIZE = 512; /* harmony default export */ __webpack_exports__.A = ({ __name: 'NavigationRail', setup(__props) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_5__/* .useSessionStore */ .B)(); - const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_6__/* .useNavigationStore */ .l)(); - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_7__/* .useContactStore */ .p)(); + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_6__/* .useSessionStore */ .B)(); + const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_7__/* .useNavigationStore */ .l)(); + const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_8__/* .useContactStore */ .p)(); const settingsItems = [{ key: 'notifications', label: '通知设置' @@ -6682,32 +5077,32 @@ const CROP_OUTPUT_SIZE = 512; key: 'feedback', label: '问题反馈' }]; - const initials = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .computed */ .EW)(() => (session.displayName || session.userId || 'Q').slice(0, 1).toUpperCase()); - const settingsOpen = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const settingsSection = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('password'); - const passwordSaving = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const settingsNotice = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const settingsError = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const profileOpen = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const profileSaving = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const profileNotice = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const profileError = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const profileFile = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); - const profilePreview = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const portraitInput = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); - const cropperCanvas = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); - const cropperPreviewCanvas = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(null); - const profileDraft = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)({ + const initials = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => (session.displayName || session.userId || 'Q').slice(0, 1).toUpperCase()); + const settingsOpen = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const settingsSection = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)('password'); + const passwordSaving = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const settingsNotice = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const settingsError = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const profileOpen = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const profileSaving = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(false); + const profileNotice = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const profileError = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const profileFile = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); + const profilePreview = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(''); + const portraitInput = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); + const cropperCanvas = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); + const cropperPreviewCanvas = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)(null); + const profileDraft = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .ref */ .KR)({ displayName: '' }); - const passwordDraft = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .reactive */ .Kh)({ + const passwordDraft = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .reactive */ .Kh)({ oldPassword: '', newPassword: '', confirmPassword: '' }); - const currentAvatarUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .computed */ .EW)(() => profilePreview.value || session.portrait || ''); - const activeSettingsItem = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .computed */ .EW)(() => settingsItems.find(item => item.key === settingsSection.value) || settingsItems[0]); - const avatarPreviewViewer = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .reactive */ .Kh)({ + const currentAvatarUrl = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => profilePreview.value || session.portrait || ''); + const activeSettingsItem = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => settingsItems.find(item => item.key === settingsSection.value) || settingsItems[0]); + const avatarPreviewViewer = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .reactive */ .Kh)({ open: false, url: '', scale: 1, @@ -6719,7 +5114,7 @@ const CROP_OUTPUT_SIZE = 512; dragOffsetX: 0, dragOffsetY: 0 }); - const avatarCropper = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .reactive */ .Kh)({ + const avatarCropper = (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .reactive */ .Kh)({ open: false, loaded: false, busy: false, @@ -6738,14 +5133,14 @@ const CROP_OUTPUT_SIZE = 512; dragOffsetX: 0, dragOffsetY: 0 }); - const avatarPreviewStyle = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .computed */ .EW)(() => ({ + const avatarPreviewStyle = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .computed */ .EW)(() => ({ transform: `translate3d(${avatarPreviewViewer.offsetX}px, ${avatarPreviewViewer.offsetY}px, 0) scale(${avatarPreviewViewer.scale})` })); - (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .onMounted */ .sV)(() => { + (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .onMounted */ .sV)(() => { session.refreshProfile(); window.addEventListener('resize', drawAvatarCropper); }); - (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .onBeforeUnmount */ .xo)(() => { + (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .onBeforeUnmount */ .xo)(() => { revokeProfilePreview(); closeAvatarCropper(); window.removeEventListener('resize', drawAvatarCropper); @@ -7001,7 +5396,7 @@ const CROP_OUTPUT_SIZE = 512; image.onload = () => { avatarCropper.image = image; avatarCropper.loaded = true; - (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .nextTick */ .dY)(resetCropperTransform); + (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .nextTick */ .dY)(resetCropperTransform); }; image.onerror = () => { avatarCropper.error = '图片加载失败'; @@ -7158,818 +5553,3776 @@ const CROP_OUTPUT_SIZE = 512; session.logout(); } return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_8__/* .Fragment */ .FK, null, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, null, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "rail-avatar rail-avatar-button", title: "编辑个人资料", onClick: openProfileEditor - }, [(0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("img", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("img", { key: 0, - src: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).portrait, + src: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).portrait, alt: "" - }, null, 8, _hoisted_2)) : ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(initials.value), 1))]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["rail-button", { - active: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).section === 'messages' + }, null, 8, _hoisted_2)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(initials.value), 1))]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["rail-button", { + active: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).section === 'messages' }]), title: "消息", - onClick: _cache[0] || (_cache[0] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).showMessages && (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).showMessages(...args)) - }, "💬", 2), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["rail-button", { - active: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).section === 'contacts' + onClick: _cache[0] || (_cache[0] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).showMessages && (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).showMessages(...args)) + }, "💬", 2), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["rail-button", { + active: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).section === 'contacts' }]), title: "联系人", onClick: showContacts - }, "👥", 2), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["rail-button", { - active: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).section === 'favorites' + }, "👥", 2), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["rail-button", { + active: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).section === 'favorites' }]), title: "收藏", - onClick: _cache[1] || (_cache[1] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).showFavorites && (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(navigation).showFavorites(...args)) - }, "☆", 2), _cache[15] || (_cache[15] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", { + onClick: _cache[1] || (_cache[1] = (...args) => (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).showFavorites && (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(navigation).showFavorites(...args)) + }, "☆", 2), _cache[15] || (_cache[15] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { class: "rail-spacer" - }, null, -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, null, -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { class: "rail-button", title: "设置", "aria-label": "设置", onClick: openSettings - }, _cache[13] || (_cache[13] = [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("svg", { + }, _cache[13] || (_cache[13] = [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("svg", { viewBox: "0 0 24 24", "aria-hidden": "true" - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("path", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("path", { d: "M12 8.2a3.8 3.8 0 1 1 0 7.6 3.8 3.8 0 0 1 0-7.6Z" - }), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("path", { + }), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("path", { d: "M19.4 13.6a7.8 7.8 0 0 0 .1-1.6l1.7-1.3-1.7-3-2 .8a8 8 0 0 0-1.4-.8L15.8 5h-3.5l-.3 2.1a8 8 0 0 0-1.5.8l-1.9-.8-1.8 3 1.7 1.3a7.8 7.8 0 0 0 0 1.6l-1.7 1.3 1.8 3 1.9-.8c.5.4 1 .7 1.5.8l.3 2.1h3.5l.3-2.1c.5-.2 1-.5 1.4-.8l2 .8 1.7-3-1.8-1.3Z" - })], -1)])), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + })], -1)])), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { class: "rail-button rail-logout-button", title: "退出登录", "aria-label": "退出登录", onClick: logout - }, _cache[14] || (_cache[14] = [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createStaticVNode */ .Fv)("", 1)]))]), settingsOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("div", { + }, _cache[14] || (_cache[14] = [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createStaticVNode */ .Fv)("", 1)]))]), settingsOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", { key: 0, class: "modal-backdrop settings-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(closeSettings, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("section", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("header", null, [_cache[16] || (_cache[16] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("strong", null, "设置", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(closeSettings, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("section", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("header", null, [_cache[16] || (_cache[16] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("strong", null, "设置", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeSettings - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("nav", _hoisted_6, [((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_8__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .renderList */ .pI)(settingsItems, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("nav", _hoisted_6, [((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_3__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .renderList */ .pI)(settingsItems, item => { + return (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { key: item.key, type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)({ + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)({ active: settingsSection.value === item.key }), onClick: $event => selectSettingsSection(item.key) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(item.label), 1), item.key !== 'password' ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("small", _hoisted_8, "稍后开放")) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true)], 10, _hoisted_7); - }), 64))]), settingsSection.value === 'password' ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("form", { + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(item.label), 1), item.key !== 'password' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("small", _hoisted_8, "稍后开放")) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 10, _hoisted_7); + }), 64))]), settingsSection.value === 'password' ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("form", { key: 0, class: "settings-password-form", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(savePassword, ["prevent"]) - }, [_cache[20] || (_cache[20] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("h3", null, "更改密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("label", null, [_cache[17] || (_cache[17] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("span", null, "当前密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("input", { + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(savePassword, ["prevent"]) + }, [_cache[20] || (_cache[20] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("h3", null, "更改密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[17] || (_cache[17] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "当前密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => passwordDraft.oldPassword = $event), type: "password", autocomplete: "current-password" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_11__/* .vModelText */ .Jo, passwordDraft.oldPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("label", null, [_cache[18] || (_cache[18] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("span", null, "新密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("input", { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, passwordDraft.oldPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[18] || (_cache[18] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "新密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => passwordDraft.newPassword = $event), type: "password", autocomplete: "new-password" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_11__/* .vModelText */ .Jo, passwordDraft.newPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("label", null, [_cache[19] || (_cache[19] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("span", null, "确认新密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("input", { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, passwordDraft.newPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[19] || (_cache[19] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "确认新密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => passwordDraft.confirmPassword = $event), type: "password", autocomplete: "new-password" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_11__/* .vModelText */ .Jo, passwordDraft.confirmPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("footer", null, [settingsNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(settingsNotice.value), 1)) : settingsError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(settingsError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, passwordDraft.confirmPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("footer", null, [settingsNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(settingsNotice.value), 1)) : settingsError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(settingsError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "submit", class: "primary-inline-action", disabled: passwordSaving.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(passwordSaving.value ? '保存中...' : '保存密码'), 9, _hoisted_11)])], 32)) : ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("section", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(activeSettingsItem.value?.label || '设置'), 1), _cache[21] || (_cache[21] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("p", null, "该功能稍后开放。", -1))]))])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true), profileOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("div", { + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(passwordSaving.value ? '保存中...' : '保存密码'), 9, _hoisted_11)])], 32)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("section", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(activeSettingsItem.value?.label || '设置'), 1), _cache[21] || (_cache[21] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("p", null, "该功能稍后开放。", -1))]))])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), profileOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", { key: 1, class: "modal-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(closeProfileEditor, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("form", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(closeProfileEditor, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("form", { class: "modal-panel profile-edit-panel", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(saveProfile, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("header", null, [_cache[22] || (_cache[22] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("strong", null, "个人资料", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(saveProfile, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("header", null, [_cache[22] || (_cache[22] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("strong", null, "个人资料", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeProfileEditor - }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "×")]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["profile-avatar-preview", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["profile-avatar-preview", { clickable: currentAvatarUrl.value }]), title: "预览头像", onClick: openAvatarPreview - }, [currentAvatarUrl.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("img", { + }, [currentAvatarUrl.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("img", { key: 0, src: currentAvatarUrl.value, alt: "" - }, null, 8, _hoisted_14)) : ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(initials.value), 1))], 2), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, null, 8, _hoisted_14)) : ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(initials.value), 1))], 2), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action profile-avatar-change-button", onClick: choosePortraitFile - }, "更换头像"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("input", { + }, "更换头像"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { ref_key: "portraitInput", ref: portraitInput, type: "file", accept: "image/*", onChange: selectPortrait - }, null, 544)]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("label", null, [_cache[23] || (_cache[23] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("span", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("input", { + }, null, 544)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[23] || (_cache[23] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "昵称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => profileDraft.value.displayName = $event), maxlength: "64", autocomplete: "off" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_11__/* .vModelText */ .Jo, profileDraft.value.displayName, void 0, { + }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_2__/* .vModelText */ .Jo, profileDraft.value.displayName, void 0, { trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("label", null, [_cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("span", null, "用户ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("input", { - value: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).userId, + }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("label", null, [_cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("span", null, "用户ID", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("input", { + value: (0,vue__WEBPACK_IMPORTED_MODULE_4__/* .unref */ .R1)(session).userId, readonly: "" - }, null, 8, _hoisted_16)]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, null, 8, _hoisted_16)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "ghost-inline-action", onClick: closeProfileEditor - }, "取消"), profileNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_18, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(profileNotice.value), 1)) : profileError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_19, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(profileError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "取消"), profileNotice.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_18, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(profileNotice.value), 1)) : profileError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_19, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(profileError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { class: "primary-inline-action", disabled: profileSaving.value || !profileDraft.value.displayName - }, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(profileSaving.value ? '保存中...' : '保存'), 9, _hoisted_20)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true), avatarPreviewViewer.open ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("div", { + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(profileSaving.value ? '保存中...' : '保存'), 9, _hoisted_20)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), avatarPreviewViewer.open ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", { key: 2, class: "modal-backdrop avatar-preview-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(closeAvatarPreview, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("section", _hoisted_21, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("header", null, [_cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("strong", null, "头像预览", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(closeAvatarPreview, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("section", _hoisted_21, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("header", null, [_cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("strong", null, "头像预览", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "缩小", onClick: _cache[6] || (_cache[6] = $event => zoomAvatarPreview(1 / 1.16)) - }, "−"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "−"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "放大", onClick: _cache[7] || (_cache[7] = $event => zoomAvatarPreview(1.16)) - }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "还原", onClick: resetAvatarPreview - }, "1:1"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "1:1"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeAvatarPreview - }, "×")])]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["avatar-preview-stage", { + }, "×")])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["avatar-preview-stage", { dragging: avatarPreviewViewer.dragging }]), - onWheel: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(handleAvatarPreviewWheel, ["prevent"]), - onPointerdown: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(startAvatarPreviewDrag, ["prevent"]), - onPointermove: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(moveAvatarPreviewDrag, ["prevent"]), - onPointerup: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(stopAvatarPreviewDrag, ["prevent"]), - onPointerleave: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(stopAvatarPreviewDrag, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("img", { + onWheel: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(handleAvatarPreviewWheel, ["prevent"]), + onPointerdown: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(startAvatarPreviewDrag, ["prevent"]), + onPointermove: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(moveAvatarPreviewDrag, ["prevent"]), + onPointerup: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(stopAvatarPreviewDrag, ["prevent"]), + onPointerleave: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(stopAvatarPreviewDrag, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("img", { src: avatarPreviewViewer.url, alt: "头像预览", - style: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeStyle */ .Tr)(avatarPreviewStyle.value), + style: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeStyle */ .Tr)(avatarPreviewStyle.value), draggable: "false" - }, null, 12, _hoisted_23)], 34)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true), avatarCropper.open ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("div", { + }, null, 12, _hoisted_23)], 34)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), avatarCropper.open ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", { key: 3, class: "modal-backdrop avatar-cropper-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(closeAvatarCropper, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("section", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("header", null, [_cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("strong", null, "头像预裁切", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(closeAvatarCropper, ["self"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("section", _hoisted_24, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("header", null, [_cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("strong", null, "头像预裁切", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", disabled: avatarCropper.busy, onClick: choosePortraitFile - }, "上传", 8, _hoisted_26), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "上传", 8, _hoisted_26), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "icon-button", title: "关闭", onClick: closeAvatarCropper - }, "×")])]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_27, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .normalizeClass */ .C4)(["avatar-cropper-stage", { + }, "×")])]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_27, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { + class: (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .normalizeClass */ .C4)(["avatar-cropper-stage", { dragging: avatarCropper.dragging }]), - onWheel: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(handleCropperWheel, ["prevent"]), - onPointerdown: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(startCropperDrag, ["prevent"]), - onPointermove: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(moveCropperDrag, ["prevent"]), - onPointerup: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(stopCropperDrag, ["prevent"]), - onPointerleave: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(stopCropperDrag, ["prevent"]), - onDragover: _cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(() => {}, ["prevent"])), - onDrop: (0,vue__WEBPACK_IMPORTED_MODULE_11__/* .withModifiers */ .D$)(dropPortrait, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("canvas", { + onWheel: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(handleCropperWheel, ["prevent"]), + onPointerdown: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(startCropperDrag, ["prevent"]), + onPointermove: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(moveCropperDrag, ["prevent"]), + onPointerup: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(stopCropperDrag, ["prevent"]), + onPointerleave: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(stopCropperDrag, ["prevent"]), + onDragover: _cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(() => {}, ["prevent"])), + onDrop: (0,vue__WEBPACK_IMPORTED_MODULE_2__/* .withModifiers */ .D$)(dropPortrait, ["prevent"]) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("canvas", { ref_key: "cropperCanvas", ref: cropperCanvas - }, null, 512), _cache[27] || (_cache[27] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", { + }, null, 512), _cache[27] || (_cache[27] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { class: "avatar-cropper-mask", "aria-hidden": "true" - }, null, -1)), _cache[28] || (_cache[28] = (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", { + }, null, -1)), _cache[28] || (_cache[28] = (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", { class: "avatar-cropper-box", "aria-hidden": "true" - }, null, -1)), !avatarCropper.loaded ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("div", _hoisted_28, "图片加载中")) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true)], 34), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("aside", _hoisted_29, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, null, -1)), !avatarCropper.loaded ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("div", _hoisted_28, "图片加载中")) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 34), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("aside", _hoisted_29, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "左旋90度", onClick: _cache[9] || (_cache[9] = $event => rotateCropper(-90)) - }, "↶90°"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "↶90°"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "右旋90度", onClick: _cache[10] || (_cache[10] = $event => rotateCropper(90)) - }, "↷90°"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "↷90°"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "放大", onClick: _cache[11] || (_cache[11] = $event => zoomCropper(1.12)) - }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "+"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "缩小", onClick: _cache[12] || (_cache[12] = $event => zoomCropper(1 / 1.12)) - }, "−"), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "−"), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", title: "重置", onClick: resetCropperTransform - }, "重置")]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("div", _hoisted_31, [(0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("canvas", { + }, "重置")]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("div", _hoisted_31, [(0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("canvas", { ref_key: "cropperPreviewCanvas", ref: cropperPreviewCanvas - }, null, 512)]), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("footer", null, [avatarCropper.error ? ((0,vue__WEBPACK_IMPORTED_MODULE_8__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementBlock */ .CE)("span", _hoisted_32, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(avatarCropper.error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, null, 512)]), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("footer", null, [avatarCropper.error ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementBlock */ .CE)("span", _hoisted_32, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(avatarCropper.error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "ghost-inline-action", disabled: avatarCropper.busy, onClick: closeAvatarCropper - }, "取消", 8, _hoisted_33), (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createElementVNode */ .Lk)("button", { + }, "取消", 8, _hoisted_33), (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createElementVNode */ .Lk)("button", { type: "button", class: "primary-inline-action", disabled: avatarCropper.busy || !avatarCropper.loaded, onClick: confirmAvatarCrop - }, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .toDisplayString */ .v_)(avatarCropper.busy ? '处理中...' : '确认裁切'), 9, _hoisted_34)])])])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_8__/* .createCommentVNode */ .Q3)("", true)], 64); + }, (0,vue__WEBPACK_IMPORTED_MODULE_5__/* .toDisplayString */ .v_)(avatarCropper.busy ? '处理中...' : '确认裁切'), 9, _hoisted_34)])])])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_3__/* .createCommentVNode */ .Q3)("", true)], 64); }; } }); /***/ }), -/***/ 8838: +/***/ 2169: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3741); -/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_esnext_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9791); -/* harmony import */ var core_js_modules_esnext_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(680); -/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(793); -/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6071); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8438); -/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6768); -/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2409); -/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9488); -/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(6591); -/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5412); -/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9214); -/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(7987); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(1857); -/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(3842); -/* harmony import */ var _stores_contacts__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3865); - - - - - - - - - - - - - - -const _hoisted_1 = { - class: "conversation-list" +const currentHost = window.location.hostname || '127.0.0.1'; +const runtimeConfig = window.JC_WEB_IM_CONFIG || {}; +const appServerOrigin = `${window.location.protocol}//${currentHost}:18888`; +const adminServerOrigin = `${window.location.protocol}//${currentHost}:8024`; +const appConfig = { + appName: 'Web IM', + adminServer: runtimeConfig.adminServer || undefined || adminServerOrigin, + appServer: runtimeConfig.appServer || undefined || appServerOrigin, + platformConfigApi: runtimeConfig.platformConfigApi || undefined || ( false ? 0 : '/api/platform_config.php'), + registerConfigApi: runtimeConfig.registerConfigApi || undefined || `${adminServerOrigin}/api/register-config`, + registerPhoneExistsApi: runtimeConfig.registerPhoneExistsApi || undefined || `${adminServerOrigin}/api/register-phone-exists`, + contactsApi: runtimeConfig.contactsApi || undefined || ( false ? 0 : '/api/contacts.php'), + updateAliasApi: runtimeConfig.updateAliasApi || undefined || ( false ? 0 : '/api/update_alias.php'), + addContactApi: runtimeConfig.addContactApi || undefined || ( false ? 0 : '/api/add_contact.php'), + conversationActionsApi: runtimeConfig.conversationActionsApi || undefined || ( false ? 0 : '/api/conversation_actions.php'), + sendMessageApi: runtimeConfig.sendMessageApi || undefined || ( false ? 0 : '/api/send_message.php'), + messageActionApi: runtimeConfig.messageActionApi || undefined || ( false ? 0 : '/api/message_action.php'), + messageDetailApi: runtimeConfig.messageDetailApi || undefined || ( false ? 0 : '/api/message_detail.php'), + messagesApi: runtimeConfig.messagesApi || undefined || ( false ? 0 : '/api/messages.php'), + profileApi: runtimeConfig.profileApi || undefined || ( false ? 0 : '/api/profile.php'), + changePasswordApi: runtimeConfig.changePasswordApi || undefined || `${appServerOrigin}/change_pwd`, + resetPasswordApi: runtimeConfig.resetPasswordApi || undefined || `${appServerOrigin}/reset_pwd`, + imServerHost: runtimeConfig.imServerHost || undefined || currentHost, + imRoutePort: Number(runtimeConfig.imRoutePort || undefined || 18000), + useWss: runtimeConfig.useWss ?? undefined === 'true', + wsPath: runtimeConfig.wsPath || undefined || '/ws', + wsUrl: runtimeConfig.wsUrl || undefined || '', + sdkMode: runtimeConfig.sdkMode || undefined || 'http', + syncIntervalMs: Number(runtimeConfig.syncIntervalMs || undefined || 15000), + sseEnabled: runtimeConfig.sseEnabled ?? undefined === 'true', + sseTicketApi: runtimeConfig.sseTicketApi || undefined || '/api/sse_ticket.php', + sseUrl: runtimeConfig.sseUrl || undefined || '/ws-events', + platform: 5, + clientIdStorageKey: 'qmt-web-im-client-id', + authTokenStoragePrefix: 'qmt-web-im-auth-token-' }; -const _hoisted_2 = { - class: "list-header" -}; -const _hoisted_3 = { - class: "header-actions action-menu-anchor" -}; -const _hoisted_4 = { - class: "search-box" -}; -const _hoisted_5 = { - class: "sidebar-scroll" -}; -const _hoisted_6 = ["onClick"]; -const _hoisted_7 = ["src"]; -const _hoisted_8 = { - key: 1, - class: "conversation-avatar" -}; -const _hoisted_9 = { - class: "conversation-copy" -}; -const _hoisted_10 = ["aria-label"]; -const _hoisted_11 = { - key: 0, - class: "empty-list" -}; -const _hoisted_12 = { - key: 1, - class: "empty-list" -}; -const _hoisted_13 = { - key: 0 -}; -const _hoisted_14 = { - key: 2 -}; -const _hoisted_15 = { - key: 5, - class: "form-error" -}; -const _hoisted_16 = { - key: 6, - class: "form-info" -}; -const _hoisted_17 = { - class: "modal-actions" -}; -const _hoisted_18 = ["disabled"]; +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "U", 0, /* binding */ appConfig +/* harmony export */ ]); + + +/***/ }), + +/***/ 1406: +/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { + +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5130); +/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2261); +/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7067); -/* harmony default export */ __webpack_exports__.A = ({ - __name: 'ConversationList', - setup(__props) { - const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_13__/* .useConversationStore */ .w)(); - const contacts = (0,_stores_contacts__WEBPACK_IMPORTED_MODULE_14__/* .useContactStore */ .p)(); - const actionMenuOpen = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(false); - const activeAction = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const actionBusy = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(false); - const searchKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const addKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const groupName = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const groupAnnouncement = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const groupWelcomeText = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const joinGroupKey = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const broadcastText = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const channelName = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const channelAnnouncement = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const contactKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)(''); - const selectedContactIds = (0,vue__WEBPACK_IMPORTED_MODULE_15__/* .ref */ .KR)([]); - const actionTitles = { - addContact: '添加联系人', - createGroup: '新建群组', - joinGroup: '加入群组', - broadcast: '群发助手', - createChannel: '创建频道/公告群' - }; - const submitLabels = { - addContact: '添加', - createGroup: '创建', - joinGroup: '加入', - broadcast: '发送', - createChannel: '创建' - }; - const actionTitle = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => actionTitles[activeAction.value] || ''); - const submitLabel = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => submitLabels[activeAction.value] || '确定'); - const modalError = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => contacts.actionError || conversations.actionError); - const modalInfo = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => contacts.actionInfo || conversations.actionNotice); - const normalizedSearchKeyword = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => searchKeyword.value.trim().toLowerCase()); - const contactsByUid = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => { - const map = new Map(); - contacts.contacts.forEach(contact => { - const uid = String(contact.uid || contact.id || ''); - if (uid) { - map.set(uid, contact); - } - }); - return map; + +(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)(_App_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A).use((0,pinia__WEBPACK_IMPORTED_MODULE_1__/* .createPinia */ .Ey)()).mount('#app'); + +/***/ }), + +/***/ 5099: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Y: function() { return /* binding */ HttpImClient; } +/* harmony export */ }); +/* unused harmony export imClient */ +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4114); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7588); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3579); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5367); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2731); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7642); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8004); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3853); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(5876); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(2475); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(5024); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(1698); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(2387); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(2169); + + + + + + + + + + + + + + + + + + + +const LOCAL_MESSAGE_STORAGE_KEY = 'qmt-web-im-local-messages-v2'; +const LOCAL_HIDDEN_MESSAGE_STORAGE_KEY = 'qmt-web-im-hidden-messages-v1'; +const LOCAL_RECALLED_MESSAGE_STORAGE_KEY = 'qmt-web-im-recalled-messages-v1'; +function scopedStorageKey(baseKey, userId = '') { + const scope = `${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer || ''}:${userId || 'anonymous'}`; + return `${baseKey}:${encodeURIComponent(scope)}`; +} +function randomId() { + if (window.crypto && window.crypto.randomUUID) { + return window.crypto.randomUUID().replaceAll('-', ''); + } + return `${Date.now()}${Math.random().toString(16).slice(2)}`; +} +function readLocalMessages(userId) { + try { + return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId)) || '{}'); + } catch (error) { + return {}; + } +} +function readMessageSet(storageKey, userId) { + try { + return JSON.parse(localStorage.getItem(scopedStorageKey(storageKey, userId)) || '{}'); + } catch (error) { + return {}; + } +} +function writeMessageSet(storageKey, messagesByConversation, userId) { + localStorage.setItem(scopedStorageKey(storageKey, userId), JSON.stringify(messagesByConversation)); +} +function messageKeys(message) { + return [message?.id, message?.messageUid].filter(Boolean).map(value => String(value)); +} +function hasStoredMessage(storageKey, conversationId, message, userId) { + const stored = readMessageSet(storageKey, userId); + const ids = new Set(stored[conversationId] || []); + return messageKeys(message).some(id => ids.has(id)); +} +function storeMessageKeys(storageKey, conversationId, messages, userId) { + const stored = readMessageSet(storageKey, userId); + const ids = new Set(stored[conversationId] || []); + messages.forEach(message => { + messageKeys(message).forEach(id => ids.add(id)); + }); + stored[conversationId] = Array.from(ids); + writeMessageSet(storageKey, stored, userId); +} +function withRecalledState(message) { + return { + ...message, + status: 'recalled', + deliveryStatus: '', + recalled: true, + recallStatus: '已撤回' + }; +} +function applyLocalMessageState(conversationId, messages, userId) { + return messages.filter(message => !hasStoredMessage(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversationId, message, userId)).map(message => { + const isRecalled = Boolean(message.recalled) || message.status === 'recalled' || hasStoredMessage(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversationId, message, userId); + if (!isRecalled) { + return message; + } + return withRecalledState(message); + }); +} +function writeLocalMessages(messagesByConversation, userId) { + localStorage.setItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId), JSON.stringify(messagesByConversation)); +} +function saveLocalMessage(message, userId) { + const messagesByConversation = readLocalMessages(userId); + messagesByConversation[message.conversationId] = messagesByConversation[message.conversationId] || []; + const index = messagesByConversation[message.conversationId].findIndex(item => item.id === message.id); + if (index >= 0) { + messagesByConversation[message.conversationId].splice(index, 1, message); + } else { + messagesByConversation[message.conversationId].push(message); + } + writeLocalMessages(messagesByConversation, userId); +} +function mergeSyncedMessages(localMessages, remoteMessages, conversationId, userId) { + const visibleLocalMessages = applyLocalMessageState(conversationId, localMessages, userId); + const localByKey = new Map(); + visibleLocalMessages.forEach(message => { + messageKeys(message).forEach(key => { + if (!localByKey.has(key)) { + localByKey.set(key, message); + } }); - const filteredConversationItems = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => { - const keyword = normalizedSearchKeyword.value; - if (!keyword) { - return conversations.conversations.map(item => conversationResult(item)); - } - const conversationResults = conversations.conversations.filter(item => matchesConversation(item, keyword, contactForConversation(item))).map(item => conversationResult(item)); - const conversationTargets = new Set(conversations.conversations.filter(item => item.type === 'single').map(item => conversationTarget(item))); - const contactResults = contacts.contacts.filter(item => !conversationTargets.has(String(item.uid || item.id || ''))).filter(item => matchesContact(item, keyword)).map(item => contactResult(item)); - return [...conversationResults, ...contactResults]; - }); - const filteredContacts = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => { - const keyword = contactKeyword.value.toLowerCase(); - if (!keyword) { - return contacts.contacts; - } - return contacts.contacts.filter(item => { - return String(item.title || '').toLowerCase().includes(keyword) || String(item.subtitle || '').toLowerCase().includes(keyword) || String(item.uid || '').toLowerCase().includes(keyword); - }); - }); - const submitDisabled = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .computed */ .EW)(() => { - if (activeAction.value === 'addContact') { - return !addKeyword.value; - } - if (activeAction.value === 'createGroup') { - return !groupName.value || !selectedContactIds.value.length; - } - if (activeAction.value === 'joinGroup') { - return !joinGroupKey.value; - } - if (activeAction.value === 'broadcast') { - return !broadcastText.value || !selectedContactIds.value.length; - } - if (activeAction.value === 'createChannel') { - return !channelName.value; - } + }); + const visibleRemoteMessages = applyLocalMessageState(conversationId, remoteMessages, userId).map(remoteMessage => { + if (!remoteMessage.recalled || String(remoteMessage.text || '').trim()) { + return remoteMessage; + } + const localMessage = messageKeys(remoteMessage).map(key => localByKey.get(key)).find(message => message?.text && message.text !== '你撤回了一条消息'); + return localMessage ? { + ...remoteMessage, + text: localMessage.text + } : remoteMessage; + }); + const remoteKeys = new Set(); + visibleRemoteMessages.forEach(message => { + messageKeys(message).forEach(key => remoteKeys.add(key)); + }); + const now = Date.now(); + function hasRemoteMatch(localMessage) { + if (localMessage.messageUid && remoteKeys.has(localMessage.messageUid)) { return true; - }); - (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .onMounted */ .sV)(() => { - contacts.refreshContacts().catch(() => {}); - }); - const ContactPicker = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .defineComponent */ .pM)({ - name: 'ContactPicker', - props: { - contacts: { - type: Array, - default: () => [] - }, - selectedIds: { - type: Array, - default: () => [] - }, - keyword: { - type: String, - default: '' - }, - emptyText: { - type: String, - default: '暂无联系人' - } - }, - emits: ['toggle', 'update:keyword'], - setup(props, { - emit - }) { - return () => (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('div', { - class: 'contact-picker' - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('input', { - value: props.keyword, - placeholder: '搜索联系人', - onInput: event => emit('update:keyword', event.target.value) - }), (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('div', { - class: 'contact-picker-list' - }, props.contacts.length ? props.contacts.map(contact => (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('button', { - key: contact.uid, - type: 'button', - class: ['contact-picker-row', { - selected: props.selectedIds.includes(contact.uid) - }], - onClick: () => emit('toggle', contact.uid) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('span', { - class: 'contact-check' - }, props.selectedIds.includes(contact.uid) ? '✓' : ''), contact.portrait ? (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('img', { - class: 'conversation-avatar image-avatar', - src: contact.portrait, - alt: '' - }) : (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('span', { - class: 'conversation-avatar' - }, contact.avatarText), (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('span', { - class: 'contact-picker-copy' - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('strong', contact.title), (0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('small', contact.subtitle)])])) : [(0,vue__WEBPACK_IMPORTED_MODULE_16__.h)('div', { - class: 'contact-picker-empty' - }, props.emptyText)])]); - } - }); - function searchableValues(...values) { - return values.flatMap(value => { - if (Array.isArray(value)) { - return value; - } - if (value && typeof value === 'object') { - return Object.values(value); - } - return [value]; - }).map(value => String(value || '').toLowerCase()).filter(Boolean); } - function matchesKeyword(values, keyword) { - const compactKeyword = keyword.replace(/[^\p{L}\p{N}]+/gu, ''); - return searchableValues(values).some(value => { - if (value.includes(keyword)) { - return true; - } - if (!compactKeyword) { - return false; - } - return value.replace(/[^\p{L}\p{N}]+/gu, '').includes(compactKeyword); + return visibleRemoteMessages.some(remoteMessage => { + return remoteMessage.direction === localMessage.direction && remoteMessage.text === localMessage.text && Math.abs(Number(remoteMessage.timestamp || 0) - Number(localMessage.timestamp || 0)) < 15000; + }); + } + const pendingLocalMessages = visibleLocalMessages.filter(message => { + if (message.status === 'recalled' || message.recalled) { + return message.direction === 'out' && !hasRemoteMatch(message); + } + if (message.direction !== 'out') { + return false; + } + if (message.status === 'sent' && message.messageUid) { + return !hasRemoteMatch(message); + } + if (message.status === 'sent') { + return !hasRemoteMatch(message) && now - Number(message.timestamp || 0) < 30000; + } + return message.status === 'sending' || message.status === 'failed'; + }); + return [...visibleRemoteMessages, ...pendingLocalMessages].sort((a, b) => { + return Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0); + }); +} +function getTitle(value, fallback) { + return value || fallback || ''; +} +function getUniqueEquipment(mobile, fallback) { + const allowedDevices = { + '18301902119': '67072d37062c4f31b1165073552933ba', + '18301902116': '1777479418113eeea8e236edce', + '18301902118': 'de89fb2f2a61480a8c381f6c16e28bd8', + '18301902117': 'd117f480faa64145b6162107b1b49617' + }; + return allowedDevices[mobile] || localStorage.getItem('uniqueEquipment') || fallback; +} +function canUseLocalLoginFallback(response) { + const message = response.data?.message || ''; + return false && 0; +} +class HttpImClient { + constructor() { + this.listeners = new Map(); + this.connected = false; + this.currentUser = null; + } + getClientId() { + let clientId = localStorage.getItem(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.clientIdStorageKey); + if (!clientId) { + clientId = randomId(); + localStorage.setItem(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.clientIdStorageKey, clientId); + } + return clientId; + } + restoreClientId(clientId) { + if (clientId) { + localStorage.setItem(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.clientIdStorageKey, clientId); + } + } + getSdkVersion() { + return 'HTTP'; + } + async ensureSdk() { + return true; + } + async loginWithPassword(mobile, password) { + const url = `${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer}/login_pwd`; + const deviceId = getUniqueEquipment(mobile, this.getClientId()); + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(url, { + mobile, + password, + platform: _config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.platform, + clientId: deviceId, + uniqueEquipment: deviceId + }, { + withCredentials: false + }); + this.persistAppToken(url, response); + if (response.data?.code !== 0) { + if (canUseLocalLoginFallback(response)) { + return { + userId: mobile, + token: `local-device-pending-${Date.now()}`, + displayName: mobile, + localOnly: true + }; + } + throw new Error(response.data?.message || '登录失败'); + } + return response.data.result; + } + async requestAuthCode(mobile) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(`${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer}/send_code`, { + mobile + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '验证码发送失败'); + } + return response.data.result; + } + async loginWithCode(mobile, code) { + const url = `${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer}/login`; + const deviceId = getUniqueEquipment(mobile, this.getClientId()); + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(url, { + mobile, + code, + platform: _config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.platform, + clientId: deviceId, + uniqueEquipment: deviceId + }, { + withCredentials: false + }); + this.persistAppToken(url, response); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '登录失败'); + } + return response.data.result; + } + async createPcSession(userId = '') { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(`${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer}/pc_session`, { + flag: 1, + device_name: 'Web IM', + userId, + clientId: this.getClientId(), + platform: _config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.platform + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '二维码登录会话创建失败'); + } + return response.data.result || {}; + } + async loginWithPcSession(token) { + const url = `${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer}/session_login/${encodeURIComponent(token)}`; + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(url, null, { + withCredentials: false + }); + this.persistAppToken(url, response); + const data = response.data || {}; + if ([0, 8, 9, 10, 18].includes(Number(data.code))) { + return data; + } + throw new Error(data.message || '扫码登录失败'); + } + async registerWithPhone(mobile, code) { + const url = `${_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer}/register`; + const deviceId = getUniqueEquipment(mobile, this.getClientId()); + try { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(url, { + mobile, + code, + platform: _config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.platform, + clientId: deviceId, + uniqueEquipment: deviceId + }, { + withCredentials: false }); - } - function conversationTarget(item) { - if (item.type !== 'single') { - return String(item.target || item.raw?.target || item.id || ''); + this.persistAppToken(url, response); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '注册失败'); } - return String(item.target || item.raw?.target || item.id.replace(/^single-/, '') || ''); - } - function contactForConversation(item) { - const target = conversationTarget(item); - return target ? contactsByUid.value.get(target) || null : null; - } - function matchesConversation(item, keyword, contact = null) { - return matchesKeyword([item.title, item.subtitle, item.target, item.id, item.type, item.raw?.target, item.raw?.groupId, item.raw?.group_id, item.raw?.owner_uid, item.raw?.name, item.raw?.displayName, item.raw?.mobile, item.raw?.friendAlias, item.raw?.alias, contact?.title, contact?.subtitle, contact?.uid, contact?.id, contact?.alias, contact?.address, contact?.rawUser, contact?.rawFriend], keyword); - } - function matchesContact(item, keyword) { - return matchesKeyword([item.title, item.subtitle, item.uid, item.id, item.alias, item.address, item.rawUser, item.rawFriend], keyword); - } - function conversationResult(item) { - return { - ...item, - resultKind: 'conversation', - resultKey: `conversation-${item.id}` - }; - } - function contactResult(contact) { - return { - id: contact.id, - resultKind: 'contact', - resultKey: `contact-${contact.uid || contact.id}`, - contact, - title: contact.title, - subtitle: contact.subtitle, - portrait: contact.portrait, - avatarText: contact.avatarText, - unread: 0 - }; - } - function isListItemActive(item) { - if (item.resultKind === 'conversation') { - return item.id === conversations.activeId; + return response.data.result; + } catch (error) { + const status = error.response?.status; + if (status === 404 || status === 405) { + return this.loginWithCode(mobile, code); } - return `single-${item.contact?.uid || item.id}` === conversations.activeId; + throw error; } - function selectListItem(item) { - if (item.resultKind === 'contact') { - contacts.openChat(item.contact); + } + connect(userId, token) { + this.currentUser = { + userId, + token + }; + this.connected = true; + this.emit('connectionStatusChanged', { + connected: true, + statusText: '已连接' + }); + this.refreshConversationList(); + } + disconnect() { + this.connected = false; + this.currentUser = null; + this.emit('connectionStatusChanged', { + connected: false, + statusText: '未连接' + }); + } + getConversationList() { + return []; + } + refreshConversationList() { + const conversations = this.getConversationList(); + if (conversations.length) { + this.emit('conversationsChanged', conversations); + } + if (this.currentUser?.userId) { + this.fetchRemoteConversations().then(remoteConversations => { + this.emit('conversationsChanged', remoteConversations); + }).catch(() => {}); + } + return conversations; + } + async fetchRemoteConversations(limit = 50) { + if (!this.currentUser?.userId) { + return []; + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.messagesApi, { + userId: this.currentUser.userId, + limit + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '会话同步失败'); + } + return (response.data?.result?.conversations || []).map(conversation => ({ + ...conversation, + updatedAt: Number(conversation.updatedAt || Date.now()), + avatarText: conversation.avatarText || String(conversation.title || conversation.target || '?').slice(0, 1).toUpperCase(), + raw: conversation.raw || { + type: 'single', + target: conversation.target, + line: 0 + } + })); + } + getMessages(conversation) { + if (!conversation?.id) { + return []; + } + const userId = this.currentUser?.userId || ''; + return applyLocalMessageState(conversation.id, readLocalMessages(userId)[conversation.id] || [], userId); + } + async fetchRemoteMessages(conversation, limit = 50, options = {}) { + if (!conversation?.id || !this.currentUser?.userId) { + return []; + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.messagesApi, { + userId: this.currentUser.userId, + target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''), + limit, + conversationType: conversation.type || conversation.raw?.type || 0, + markRead: Boolean(options.markRead) + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '消息同步失败'); + } + const messages = (response.data?.result?.messages || []).map(message => ({ + ...message, + displayTimestamp: message.displayTimestamp || message.timestamp, + conversationId: conversation.id + })); + const userId = this.currentUser?.userId || ''; + const messagesByConversation = readLocalMessages(userId); + messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId); + writeLocalMessages(messagesByConversation, userId); + return messagesByConversation[conversation.id]; + } + hideMessages(conversation, messages) { + const items = Array.isArray(messages) ? messages : [messages]; + if (!conversation?.id || !items.length) { + return; + } + const userId = this.currentUser?.userId || ''; + storeMessageKeys(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversation.id, items, userId); + const messagesByConversation = readLocalMessages(userId); + messagesByConversation[conversation.id] = applyLocalMessageState(conversation.id, messagesByConversation[conversation.id] || [], userId); + writeLocalMessages(messagesByConversation, userId); + } + markMessagesRecalled(conversation, messages) { + const items = Array.isArray(messages) ? messages : [messages]; + if (!conversation?.id || !items.length) { + return; + } + const userId = this.currentUser?.userId || ''; + storeMessageKeys(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversation.id, items, userId); + const messagesByConversation = readLocalMessages(userId); + messagesByConversation[conversation.id] = applyLocalMessageState(conversation.id, messagesByConversation[conversation.id] || [], userId); + writeLocalMessages(messagesByConversation, userId); + } + async recallMessage(conversation, message) { + const messageUid = String(message?.messageUid || message?.id || '').trim(); + if (!/^\d+$/.test(messageUid)) { + throw new Error('缺少可撤回的消息ID'); + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.messageActionApi, { + action: 'recall', + userId: this.currentUser?.userId || message.from || '', + messageUid + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '撤回失败'); + } + this.markMessagesRecalled(conversation, [message]); + return response.data.result; + } + async editMessage(conversation, message, text) { + const messageUid = String(message?.messageUid || message?.id || '').trim(); + if (!/^\d+$/.test(messageUid)) { + throw new Error('缺少可编辑的消息ID'); + } + const nextText = String(text || '').trim(); + if (!nextText) { + throw new Error('编辑内容不能为空'); + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.messageActionApi, { + action: 'edit', + userId: this.currentUser?.userId || message.from || '', + messageUid, + text: nextText + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '编辑失败'); + } + const result = response.data?.result?.message || {}; + const editedMessage = { + ...message, + text: result.text || nextText, + status: 'delivered', + deliveryStatus: 'delivered', + editedAt: Number(result.editedAt || Date.now()), + activityTimestamp: Number(result.editedAt || Date.now()) + }; + saveLocalMessage(editedMessage, this.currentUser?.userId || ''); + this.emit('messageStatusChanged', editedMessage); + return editedMessage; + } + async getMessageDetail(conversation, message) { + const messageUid = String(message?.messageUid || message?.id || '').trim(); + if (!messageUid) { + throw new Error('缺少消息ID'); + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.messageDetailApi, { + userId: this.currentUser?.userId || '', + target: conversation?.target || conversation?.raw?.target || conversation?.id?.replace(/^single-/, '') || '', + conversationType: conversation?.type || conversation?.raw?.type || 'single', + messageUid + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '消息详情加载失败'); + } + return response.data?.result?.detail || null; + } + async sendTextMessage(conversation, text, initialMessage = null) { + const senderRole = conversation?.role || conversation?.raw?.role || ''; + const message = initialMessage || { + id: randomId(), + conversationId: conversation.id, + from: this.currentUser?.userId || 'me', + senderRole, + direction: 'out', + type: 'text', + text, + status: 'sending', + deliveryStatus: 'sending', + timestamp: Date.now() + }; + saveLocalMessage(message, this.currentUser?.userId || ''); + if (!initialMessage) { + this.emit('messageSent', message); + } + try { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.sendMessageApi, { + sender: this.currentUser?.userId || '', + target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''), + conversationType: conversation.type || conversation.raw?.type || 0, + text + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '发送失败'); + } + const sentMessage = { + ...message, + status: 'sent', + deliveryStatus: 'sent', + messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '', + senderRole: response.data?.result?.senderRole || message.senderRole || '', + serverTimestamp: Number(response.data?.result?.timestamp || 0) || null, + timestamp: message.timestamp, + displayTimestamp: message.displayTimestamp || message.timestamp + }; + saveLocalMessage(sentMessage, this.currentUser?.userId || ''); + this.emit('messageStatusChanged', sentMessage); + return sentMessage; + } catch (error) { + const failedMessage = { + ...message, + status: 'failed', + deliveryStatus: '', + error: error.response?.data?.message || error.message || '发送失败' + }; + saveLocalMessage(failedMessage, this.currentUser?.userId || ''); + this.emit('messageStatusChanged', failedMessage); + return failedMessage; + } + } + async sendAttachmentMessage(conversation, { + type, + file, + text = '' + }, initialMessage = null) { + const senderRole = conversation?.role || conversation?.raw?.role || ''; + const message = initialMessage || { + id: randomId(), + conversationId: conversation.id, + from: this.currentUser?.userId || 'me', + senderRole, + direction: 'out', + type, + text, + attachment: { + type, + name: file?.name || (type === 'image' ? '图片' : '文件'), + mime: file?.type || '', + size: file?.size || 0, + url: type === 'image' && file ? URL.createObjectURL(file) : '' + }, + status: 'sending', + deliveryStatus: 'sending', + timestamp: Date.now() + }; + saveLocalMessage(message, this.currentUser?.userId || ''); + if (!initialMessage) { + this.emit('messageSent', message); + } + try { + const formData = new FormData(); + formData.append('sender', this.currentUser?.userId || ''); + formData.append('target', conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, '')); + formData.append('conversationType', conversation.type || conversation.raw?.type || 0); + formData.append('messageType', type); + formData.append('text', text || ''); + formData.append('attachment', file); + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.sendMessageApi, formData, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '发送失败'); + } + const sentMessage = { + ...message, + status: 'sent', + deliveryStatus: 'sent', + messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '', + senderRole: response.data?.result?.senderRole || message.senderRole || '', + attachment: response.data?.result?.attachment || message.attachment, + serverTimestamp: Number(response.data?.result?.timestamp || 0) || null, + timestamp: message.timestamp, + displayTimestamp: message.displayTimestamp || message.timestamp + }; + saveLocalMessage(sentMessage, this.currentUser?.userId || ''); + this.emit('messageStatusChanged', sentMessage); + return sentMessage; + } catch (error) { + const failedMessage = { + ...message, + status: 'failed', + deliveryStatus: '', + error: error.response?.data?.message || error.message || '发送失败' + }; + saveLocalMessage(failedMessage, this.currentUser?.userId || ''); + this.emit('messageStatusChanged', failedMessage); + return failedMessage; + } + } + getContactList() { + return []; + } + async getServerContactList(userId) { + if (!userId) { + return []; + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.contactsApi, { + userId + }, { + withCredentials: false, + headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.contactsApi) + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '联系人加载失败'); + } + return (response.data?.result?.contacts || []).map(item => { + return this.mapContact(item.uid, { + alias: item.alias + }, { + uid: item.uid, + displayName: item.displayName, + name: item.name, + mobile: item.mobile, + portrait: item.portrait, + address: item.address, + friendAlias: item.alias + }); + }).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN')); + } + async addContact(userId, keyword, reason = '') { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.addContactApi, { + userId, + keyword, + reason + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '添加联系人失败'); + } + const item = response.data?.result?.contact; + if (!item?.uid) { + return null; + } + return this.mapContact(item.uid, { + alias: item.alias + }, { + uid: item.uid, + displayName: item.displayName, + name: item.name, + mobile: item.mobile, + portrait: item.portrait, + address: item.address, + friendAlias: item.alias + }); + } + normalizeConversation(conversation) { + const title = getTitle(conversation?.title, conversation?.target || ''); + return { + ...conversation, + id: conversation?.id || `${conversation?.type === 'single' ? 'single' : 'group'}-${conversation?.target}`, + target: conversation?.target || conversation?.raw?.target || '', + title, + subtitle: conversation?.subtitle || '', + unread: Number(conversation?.unread || 0), + portrait: conversation?.portrait || '', + avatarText: conversation?.avatarText || title.slice(0, 1).toUpperCase(), + updatedAt: Number(conversation?.updatedAt || Date.now()), + raw: conversation?.raw || { + type: conversation?.type === 'single' ? 'single' : 'group', + target: conversation?.target || '', + line: 0 + } + }; + } + async createGroup(userId, { + name, + memberIds = [], + announcement = '', + welcomeText = '', + channel = false + }) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: channel ? 'create_channel' : 'create_group', + userId, + name, + memberIds, + announcement, + welcomeText + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || (channel ? '创建公告群失败' : '创建群组失败')); + } + const result = response.data?.result || {}; + const conversation = this.normalizeConversation(result.conversation || {}); + conversation.nativeStatus = result.nativeStatus || ''; + conversation.nativeError = result.nativeError || ''; + conversation.raw = { + ...(conversation.raw || {}), + nativeStatus: conversation.nativeStatus, + nativeError: conversation.nativeError + }; + return conversation; + } + async joinGroup(userId, groupKey) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'join_group', + userId, + groupKey + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '加入群组失败'); + } + const result = response.data?.result || {}; + const conversation = this.normalizeConversation(result.conversation || {}); + conversation.nativeStatus = result.nativeStatus || ''; + conversation.nativeError = result.nativeError || ''; + conversation.raw = { + ...(conversation.raw || {}), + nativeStatus: conversation.nativeStatus, + nativeError: conversation.nativeError + }; + return conversation; + } + async broadcastMessage(userId, targetIds, text) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'broadcast', + userId, + targetIds, + text + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '群发失败'); + } + return response.data?.result || {}; + } + async getGroupDetail(userId, groupId) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'group_detail', + userId, + groupId + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '群资料加载失败'); + } + return response.data?.result?.group || null; + } + async getGroupMembers(userId, groupId) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'group_members', + userId, + groupId + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '群员加载失败'); + } + return response.data?.result?.members || []; + } + async updateGroupAlias(userId, groupId, alias) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'update_group_alias', + userId, + groupId, + alias + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '本群昵称保存失败'); + } + return response.data?.result?.alias || ''; + } + async leaveGroup(userId, groupId) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'leave_group', + userId, + groupId + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '退出群组失败'); + } + return response.data?.result || {}; + } + async dismissGroup(userId, groupId) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'dismiss_group', + userId, + groupId + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '解散群组失败'); + } + return response.data?.result || {}; + } + async transferGroup(userId, groupId, targetUserId) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'transfer_group', + userId, + groupId, + targetUserId + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '转让群组失败'); + } + return response.data?.result || {}; + } + async setGroupAdmins(userId, groupId, adminIds) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'set_group_admins', + userId, + groupId, + adminIds + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '管理员设置失败'); + } + return response.data?.result || {}; + } + async updateGroupProfile(userId, groupId, { + name, + announcement, + welcomeText + }) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'update_group_profile', + userId, + groupId, + name, + announcement, + welcomeText + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '群资料保存失败'); + } + return response.data?.result || {}; + } + async kickGroupMembers(userId, groupId, targetIds) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'kick_group_members', + userId, + groupId, + targetIds + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '踢人失败'); + } + return response.data?.result || {}; + } + async updateGroupMuteSetting(userId, groupId, setting) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.conversationActionsApi, { + action: 'update_mute_setting', + userId, + groupId, + ...setting + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '禁言设置保存失败'); + } + return response.data?.result?.muteSetting || null; + } + async updateContactAlias(userId, targetId, alias) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.updateAliasApi, { + userId, + targetId, + alias + }, { + withCredentials: false, + headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.updateAliasApi) + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '备注名修改失败'); + } + return response.data?.result?.contact?.alias || ''; + } + async getProfile(userId) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.profileApi, { + action: 'get', + userId + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '用户资料加载失败'); + } + return response.data?.result?.profile || null; + } + async updateProfile(userId, { + displayName, + portraitFile + }) { + const formData = new FormData(); + formData.append('action', 'update'); + formData.append('userId', userId); + formData.append('displayName', displayName); + if (portraitFile) { + formData.append('portraitFile', portraitFile); + } + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.profileApi, formData, { + withCredentials: false, + headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.appServer) + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || '用户资料保存失败'); + } + return response.data?.result?.profile || null; + } + async changePassword({ + oldPassword, + newPassword + }) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.changePasswordApi, { + oldPassword, + newPassword + }, { + withCredentials: false, + headers: this.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.changePasswordApi) + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || response.data?.msg || '密码修改失败'); + } + return true; + } + async resetPasswordWithCode({ + mobile, + resetCode, + newPassword + }) { + const response = await axios__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.resetPasswordApi, { + mobile, + resetCode, + newPassword + }, { + withCredentials: false + }); + if (response.data?.code !== 0) { + throw new Error(response.data?.message || response.data?.msg || '密码设置失败'); + } + return true; + } + refreshContactList() { + const contacts = this.getContactList(); + this.emit('contactsChanged', contacts); + return contacts; + } + createSingleConversation(userId, userInfo = null) { + const title = getTitle(userInfo?.title || userInfo?.displayName || userInfo?.name, userId); + return { + id: `single-${userId}`, + type: 'single', + target: userId, + title, + subtitle: '', + unread: 0, + portrait: userInfo?.portrait || '', + avatarText: title.slice(0, 1).toUpperCase(), + updatedAt: Date.now(), + raw: { + type: 'single', + target: userId, + line: 0 + } + }; + } + mapContact(userId, friend, userInfo) { + const title = getTitle(userInfo?.friendAlias || friend?.alias || userInfo?.displayName || userInfo?.name, userId); + return { + id: userId, + uid: userId, + title, + subtitle: userInfo?.mobile || userInfo?.name || userId, + portrait: userInfo?.portrait || '', + address: userInfo?.address || '', + avatarText: title.slice(0, 1).toUpperCase(), + alias: friend?.alias || userInfo?.friendAlias || '', + rawFriend: friend, + rawUser: userInfo + }; + } + on(eventName, handler) { + if (!this.listeners.has(eventName)) { + this.listeners.set(eventName, new Set()); + } + this.listeners.get(eventName).add(handler); + return () => this.off(eventName, handler); + } + off(eventName, handler) { + this.listeners.get(eventName)?.delete(handler); + } + emit(eventName, payload) { + this.listeners.get(eventName)?.forEach(handler => handler(payload)); + } + persistAppToken(url, response) { + const appToken = response.headers?.authtoken || response.headers?.authToken; + if (appToken) { + localStorage.setItem(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.authTokenStoragePrefix + this.getUrlHost(url), appToken); + } + } + getAppAuthHeaders(url) { + const host = this.getUrlHost(url); + if (!host) { + return {}; + } + const token = localStorage.getItem(_config__WEBPACK_IMPORTED_MODULE_18__/* .appConfig */ .U.authTokenStoragePrefix + host); + return token ? { + authToken: token + } : {}; + } + getUrlHost(url) { + try { + return new URL(url, window.location.origin).host; + } catch (error) { + return ''; + } + } +} +const imClient = new HttpImClient(); + +/***/ }), + +/***/ 5051: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* unused harmony export WildfireImClient */ +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2169); +/* harmony import */ var _httpImClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5099); +/* harmony import */ var _longConnectionImClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3909); + + + +class UnsupportedWildfireImClient { + constructor() { + throw new Error('当前本地社区版 Web 客户端未启用 WildFire Web SDK'); + } +} +const imClient = _config__WEBPACK_IMPORTED_MODULE_0__/* .appConfig */ .U.sdkMode === 'wildfire' ? new UnsupportedWildfireImClient() : _config__WEBPACK_IMPORTED_MODULE_0__/* .appConfig */ .U.sdkMode === 'custom-ws' || _config__WEBPACK_IMPORTED_MODULE_0__/* .appConfig */ .U.sdkMode === 'long' ? new _longConnectionImClient__WEBPACK_IMPORTED_MODULE_2__/* .LongConnectionImClient */ .E() : new _httpImClient__WEBPACK_IMPORTED_MODULE_1__/* .HttpImClient */ .Y(); + +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "wD", 0, /* binding */ imClient +/* harmony export */ ]); + + +/***/ }), + +/***/ 3909: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ E: function() { return /* binding */ LongConnectionImClient; } +/* harmony export */ }); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7588); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2169); +/* harmony import */ var _httpImClient__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5099); + + + + + + +const HEARTBEAT_INTERVAL_MS = 25000; +const RECONNECT_MIN_MS = 1000; +const RECONNECT_MAX_MS = 15000; +function buildWsUrl() { + if (_config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.wsUrl) { + return _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.wsUrl; + } + const protocol = _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.useWss ? 'wss' : 'ws'; + const host = _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.imServerHost || window.location.hostname; + const port = _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.imRoutePort ? `:${_config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.imRoutePort}` : ''; + const path = _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.wsPath?.startsWith('/') ? _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.wsPath : `/${_config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.wsPath || 'ws'}`; + return `${protocol}://${host}${port}${path}`; +} +function normalizeConversationId(payload) { + const target = payload.target || payload.to || payload.receiver || payload.conversationTarget || payload.from || payload.sender; + return payload.conversationId || (target ? `single-${target}` : ''); +} +function normalizeIncomingMessage(payload, currentUserId) { + const item = payload.message || payload; + const from = item.from || item.sender || item.fromUser || ''; + const target = item.target || item.to || item.receiver || ''; + const direction = from && String(from) === String(currentUserId) ? 'out' : 'in'; + const conversationId = item.conversationId || normalizeConversationId({ + ...item, + target: direction === 'out' ? target : from + }); + if (!conversationId) { + return null; + } + const status = item.status || item.deliveryStatus || 'sent'; + return { + id: item.id || item.messageId || item.messageUid || `${Date.now()}${Math.random().toString(16).slice(2)}`, + messageUid: item.messageUid || item.uid || item.messageId || '', + conversationId, + from, + target, + direction, + type: item.type || 'text', + text: item.text || item.content || item.searchableContent || '', + status, + deliveryStatus: item.deliveryStatus || (direction === 'out' ? status : ''), + timestamp: Number(item.timestamp || item.serverTimestamp || Date.now()), + displayTimestamp: Number(item.displayTimestamp || item.timestamp || item.serverTimestamp || Date.now()), + raw: item + }; +} +class LongConnectionImClient extends _httpImClient__WEBPACK_IMPORTED_MODULE_5__/* .HttpImClient */ .Y { + constructor() { + super(); + this.socket = null; + this.wsUrl = buildWsUrl(); + this.heartbeatTimer = null; + this.reconnectTimer = null; + this.reconnectAttempts = 0; + this.manualClose = false; + } + getSdkVersion() { + return 'JC-LC/0.1'; + } + shouldUseMessagePolling() { + return !this.connected; + } + async ensureSdk() { + if (typeof WebSocket === 'undefined') { + throw new Error('当前浏览器不支持 WebSocket 长连接'); + } + return true; + } + connect(userId, token) { + this.currentUser = { + userId, + token + }; + this.manualClose = false; + this.openSocket(); + } + disconnect() { + this.manualClose = true; + this.clearReconnectTimer(); + this.clearHeartbeatTimer(); + if (this.socket) { + this.socket.close(); + this.socket = null; + } + super.disconnect(); + } + openSocket() { + if (this.socket?.readyState === WebSocket.OPEN) { + this.sendAuthFrame(); + return; + } + if (this.socket?.readyState === WebSocket.CONNECTING) { + return; + } + this.emit('connectionStatusChanged', { + connected: false, + statusText: '长连接连接中' + }); + try { + this.socket = new WebSocket(this.wsUrl); + this.socket.binaryType = 'arraybuffer'; + } catch (error) { + this.emit('connectionStatusChanged', { + connected: false, + statusText: '长连接创建失败,使用HTTP补偿' + }); + this.scheduleReconnect(); + return; + } + this.socket.onopen = () => { + this.connected = true; + this.reconnectAttempts = 0; + this.emit('connectionStatusChanged', { + connected: true, + statusText: '长连接已连接' + }); + this.sendAuthFrame(); + this.startHeartbeat(); + this.refreshConversationList(); + }; + this.socket.onmessage = event => { + this.handleFrame(event.data); + }; + this.socket.onerror = () => { + this.emit('connectionStatusChanged', { + connected: false, + statusText: '长连接异常,使用HTTP补偿' + }); + }; + this.socket.onclose = () => { + this.connected = false; + this.clearHeartbeatTimer(); + this.socket = null; + if (this.manualClose) { return; } - conversations.setActiveConversation(item.id); + this.emit('connectionStatusChanged', { + connected: false, + statusText: '长连接重连中' + }); + this.scheduleReconnect(); + }; + } + sendAuthFrame() { + this.sendFrame({ + type: 'auth', + userId: this.currentUser?.userId || '', + token: this.currentUser?.token || '', + clientId: this.getClientId(), + platform: _config__WEBPACK_IMPORTED_MODULE_4__/* .appConfig */ .U.platform, + timestamp: Date.now() + }); + } + sendFrame(frame) { + if (this.socket?.readyState !== WebSocket.OPEN) { + return false; } - function clearStoreMessages() { - contacts.actionError = ''; - contacts.actionInfo = ''; - conversations.actionError = ''; - conversations.actionNotice = ''; + this.socket.send(JSON.stringify(frame)); + return true; + } + handleFrame(rawData) { + if (rawData instanceof ArrayBuffer) { + this.emit('rawFrameReceived', rawData); + return; } - function resetActionFields() { - addKeyword.value = ''; - groupName.value = ''; - groupAnnouncement.value = ''; - groupWelcomeText.value = ''; - joinGroupKey.value = ''; - broadcastText.value = ''; - channelName.value = ''; - channelAnnouncement.value = ''; - contactKeyword.value = ''; - selectedContactIds.value = []; - clearStoreMessages(); + let payload; + try { + payload = typeof rawData === 'string' ? JSON.parse(rawData) : rawData; + } catch (error) { + return; } - function toggleActionMenu() { - actionMenuOpen.value = !actionMenuOpen.value; + const type = payload.type || payload.event || payload.cmd || ''; + if (type === 'pong' || type === 'auth_ok' || type === 'connected') { + return; } - function closeActionMenu() { - actionMenuOpen.value = false; + if (type === 'contactsChanged') { + this.emit('contactsChanged', payload.contacts || []); + return; } - function openAction(action) { - resetActionFields(); - activeAction.value = action; - actionMenuOpen.value = false; - if (['createGroup', 'broadcast', 'createChannel'].includes(action)) { - contacts.refreshContacts({ + if (type === 'conversationsChanged') { + this.emit('conversationsChanged', payload.conversations || []); + return; + } + if (type === 'messages' && Array.isArray(payload.messages)) { + payload.messages.map(message => normalizeIncomingMessage(message, this.currentUser?.userId)).filter(Boolean).forEach(message => this.emit('messageReceived', message)); + return; + } + const message = normalizeIncomingMessage(payload, this.currentUser?.userId); + if (message) { + this.emit(message.direction === 'out' ? 'messageStatusChanged' : 'messageReceived', message); + } + } + startHeartbeat() { + this.clearHeartbeatTimer(); + this.heartbeatTimer = window.setInterval(() => { + this.sendFrame({ + type: 'ping', + timestamp: Date.now() + }); + }, HEARTBEAT_INTERVAL_MS); + } + clearHeartbeatTimer() { + if (this.heartbeatTimer) { + window.clearInterval(this.heartbeatTimer); + this.heartbeatTimer = null; + } + } + scheduleReconnect() { + this.clearReconnectTimer(); + const delay = Math.min(RECONNECT_MAX_MS, RECONNECT_MIN_MS * 2 ** this.reconnectAttempts); + this.reconnectAttempts += 1; + this.reconnectTimer = window.setTimeout(() => { + this.openSocket(); + }, delay); + } + clearReconnectTimer() { + if (this.reconnectTimer) { + window.clearTimeout(this.reconnectTimer); + this.reconnectTimer = null; + } + } +} + +/***/ }), + +/***/ 9687: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2387); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2169); +/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5051); + + + + +class RealtimeNotificationClient { + constructor() { + this.source = null; + this.userId = ''; + this.handler = null; + this.reconnectTimer = null; + this.reconnectAttempt = 0; + this.generation = 0; + } + isConnected() { + return this.source?.readyState === WebSocket.OPEN; + } + start(userId, handler) { + this.stop(); + if (!_config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.sseEnabled || !userId || typeof window.WebSocket !== 'function') return; + this.userId = userId; + this.handler = handler; + this.generation += 1; + this.open(this.generation); + } + stop() { + this.generation += 1; + window.clearTimeout(this.reconnectTimer); + this.reconnectTimer = null; + if (this.source) this.source.close(); + this.source = null; + this.userId = ''; + this.handler = null; + this.reconnectAttempt = 0; + } + async open(generation) { + try { + const response = await axios__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.sseTicketApi, { + userId: this.userId + }, { + withCredentials: false, + headers: _services_imClient__WEBPACK_IMPORTED_MODULE_3__/* .imClient */ .wD.getAppAuthHeaders(_config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.appServer) + }); + if (generation !== this.generation) return; + if (response.data?.code !== 0) throw new Error(response.data?.message || '实时通知凭证申请失败'); + const ticket = response.data?.result?.ticket || ''; + if (!ticket) throw new Error('实时通知凭证为空'); + const separator = _config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.sseUrl.includes('?') ? '&' : '?'; + const endpoint = `${_config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.sseUrl}${separator}ticket=${encodeURIComponent(ticket)}`; + const socketUrl = endpoint.startsWith('ws://') || endpoint.startsWith('wss://') ? endpoint : `${window.location.protocol === 'https:' ? 'wss:' : 'ws:'}//${window.location.host}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`; + const source = new WebSocket(socketUrl); + this.source = source; + source.onopen = () => { + this.reconnectAttempt = 0; + }; + source.onmessage = event => { + if (generation !== this.generation) return; + let payload = {}; + try { + payload = JSON.parse(event.data || '{}'); + } catch (error) { + payload = {}; + } + if (payload.type !== 'message-notification') return; + this.handler?.(payload); + }; + source.onerror = () => { + if (generation !== this.generation) return; + source.close(); + if (this.source === source) this.source = null; + this.scheduleReconnect(generation); + }; + source.onclose = () => { + if (generation !== this.generation || this.source !== source) return; + this.source = null; + this.scheduleReconnect(generation); + }; + } catch (error) { + if (generation === this.generation) this.scheduleReconnect(generation); + } + } + scheduleReconnect(generation) { + window.clearTimeout(this.reconnectTimer); + const delay = Math.min(30000, 1000 * 2 ** Math.min(this.reconnectAttempt, 5)); + this.reconnectAttempt += 1; + this.reconnectTimer = window.setTimeout(() => this.open(generation), delay); + } +} +const realtimeNotifications = new RealtimeNotificationClient(); +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "w", 0, /* binding */ realtimeNotifications +/* harmony export */ ]); + + +/***/ }), + +/***/ 9045: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7588); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5367); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2731); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2261); +/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5051); +/* harmony import */ var _stores_conversations__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7566); +/* harmony import */ var _stores_navigation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1414); +/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(926); + + + + + + + + + + + +const CONTACT_CACHE_MS = 15000; +function normalizeContacts(contacts) { + const unique = new Map(); + contacts.forEach(contact => { + const uid = String(contact.uid || contact.id || '').trim(); + if (!uid) { + return; + } + const normalized = { + ...contact, + id: String(contact.id || uid), + uid + }; + unique.set(uid, { + ...(unique.get(uid) || {}), + ...normalized + }); + }); + return Array.from(unique.values()).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN')); +} +const useContactStore = (0,pinia__WEBPACK_IMPORTED_MODULE_6__/* .defineStore */ .nY)('contacts', { + state: () => ({ + contacts: [], + activeId: '', + loading: false, + eventsBound: false, + refreshSerial: 0, + refreshPromise: null, + loadedForUserId: '', + loadedAt: 0, + actionError: '', + actionInfo: '' + }), + getters: { + activeContact(state) { + return state.contacts.find(item => item.id === state.activeId) || state.contacts[0] || null; + } + }, + actions: { + bindImEvents() { + if (this.eventsBound) { + return; + } + this.eventsBound = true; + _services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.on('contactsChanged', contacts => { + if (!contacts.length && this.contacts.length) { + return; + } + this.contacts = normalizeContacts(contacts); + if (!this.contacts.find(item => item.id === this.activeId)) { + this.activeId = this.contacts[0]?.id || ''; + } + }); + }, + async refreshContacts(options = {}) { + this.bindImEvents(); + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_10__/* .useSessionStore */ .B)(); + const requestUserId = session.userId; + const force = Boolean(options.force); + if (!requestUserId) { + this.clearContacts(); + return []; + } + if (!force && this.contacts.length && this.loadedForUserId === requestUserId && Date.now() - this.loadedAt < CONTACT_CACHE_MS) { + return this.contacts; + } + if (this.refreshPromise && !force) { + return this.refreshPromise; + } + const serial = this.refreshSerial + 1; + this.refreshSerial = serial; + this.loading = true; + this.refreshPromise = (async () => { + this.contacts = normalizeContacts(_services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.refreshContactList()); + if (!this.contacts.find(item => item.id === this.activeId)) { + this.activeId = this.contacts[0]?.id || ''; + } + if (!this.contacts.length || force) { + const serverContacts = await _services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.getServerContactList(requestUserId); + if (serial !== this.refreshSerial || (0,_stores_session__WEBPACK_IMPORTED_MODULE_10__/* .useSessionStore */ .B)().userId !== requestUserId) { + return this.contacts; + } + this.contacts = normalizeContacts(serverContacts); + this.loadedForUserId = requestUserId; + this.loadedAt = Date.now(); + if (!this.contacts.find(item => item.id === this.activeId)) { + this.activeId = this.contacts[0]?.id || ''; + } + } + window.setTimeout(() => { + if (serial !== this.refreshSerial || (0,_stores_session__WEBPACK_IMPORTED_MODULE_10__/* .useSessionStore */ .B)().userId !== requestUserId) { + return; + } + const latest = _services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.getContactList(false); + if (latest.length || !this.contacts.length) { + this.contacts = normalizeContacts(latest); + this.loadedForUserId = requestUserId; + this.loadedAt = Date.now(); + if (!this.contacts.find(item => item.id === this.activeId)) { + this.activeId = this.contacts[0]?.id || ''; + } + } + }, 1200); + return this.contacts; + })(); + try { + return await this.refreshPromise; + } finally { + if (serial === this.refreshSerial) { + this.loading = false; + this.refreshPromise = null; + } + } + }, + async addContact(keyword) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_10__/* .useSessionStore */ .B)(); + const value = String(keyword || '').trim(); + this.actionError = ''; + this.actionInfo = ''; + if (!session.userId) { + this.actionError = '请先登录'; + return false; + } + if (!value) { + this.actionError = '请输入用户ID、手机号或用户名'; + return false; + } + this.loading = true; + try { + const contact = await _services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.addContact(session.userId, value, '添加联系人'); + if (contact) { + this.contacts = normalizeContacts([...this.contacts, contact]); + this.activeId = contact.id; + } + this.actionInfo = '联系人已添加'; + await this.refreshContacts({ force: true }); + return true; + } catch (error) { + this.actionError = error.message || '添加联系人失败'; + return false; + } finally { + this.loading = false; } - } - function closeActionModal() { - activeAction.value = ''; - actionBusy.value = false; - resetActionFields(); - } - function toggleContact(contactId) { - const selected = new Set(selectedContactIds.value); - if (selected.has(contactId)) { - selected.delete(contactId); - } else { - selected.add(contactId); + }, + async updateContactAlias(contactId, alias) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_10__/* .useSessionStore */ .B)(); + const targetId = String(contactId || '').trim(); + const nextAlias = String(alias || '').trim(); + this.actionError = ''; + this.actionInfo = ''; + if (!session.userId) { + this.actionError = '请先登录'; + return false; } - selectedContactIds.value = Array.from(selected); - } - async function submitAction() { - if (submitDisabled.value || actionBusy.value) { + if (!targetId) { + this.actionError = '缺少联系人ID'; + return false; + } + try { + const savedAlias = await _services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.updateContactAlias(session.userId, targetId, nextAlias); + this.contacts = normalizeContacts(this.contacts.map(item => { + if (item.uid !== targetId && item.id !== targetId) { + return item; + } + const rawUser = { + ...(item.rawUser || {}), + friendAlias: savedAlias + }; + const rawFriend = { + ...(item.rawFriend || {}), + alias: savedAlias + }; + const title = savedAlias || rawUser.displayName || rawUser.name || item.uid; + return { + ...item, + title, + avatarText: title.slice(0, 1).toUpperCase(), + alias: savedAlias, + rawFriend, + rawUser + }; + })); + this.loadedAt = Date.now(); + this.actionInfo = '备注名已修改'; + return true; + } catch (error) { + this.actionError = error.message || '备注名修改失败'; + return false; + } + }, + clearContacts() { + this.refreshSerial += 1; + this.contacts = []; + this.activeId = ''; + this.loading = false; + this.refreshPromise = null; + this.loadedForUserId = ''; + this.loadedAt = 0; + this.actionError = ''; + this.actionInfo = ''; + }, + setActiveContact(id) { + this.activeId = id; + }, + openChat(contact) { + if (!contact) { return; } - actionBusy.value = true; - clearStoreMessages(); - try { - let ok = false; - if (activeAction.value === 'addContact') { - ok = await contacts.addContact(addKeyword.value); - if (ok && contacts.activeContact) { - contacts.openChat(contacts.activeContact); - } - } else if (activeAction.value === 'createGroup') { - ok = await conversations.createGroup({ - name: groupName.value, - announcement: groupAnnouncement.value, - welcomeText: groupWelcomeText.value, - memberIds: selectedContactIds.value - }); - } else if (activeAction.value === 'joinGroup') { - ok = await conversations.joinGroup(joinGroupKey.value); - } else if (activeAction.value === 'broadcast') { - ok = await conversations.broadcastMessage(selectedContactIds.value, broadcastText.value); - } else if (activeAction.value === 'createChannel') { - ok = await conversations.createGroup({ - name: channelName.value, - memberIds: selectedContactIds.value, - announcement: channelAnnouncement.value, - channel: true - }); - } - if (ok) { - window.setTimeout(closeActionModal, 450); - } - } finally { - actionBusy.value = false; - } + const conversations = (0,_stores_conversations__WEBPACK_IMPORTED_MODULE_8__/* .useConversationStore */ .w)(); + const navigation = (0,_stores_navigation__WEBPACK_IMPORTED_MODULE_9__/* .useNavigationStore */ .l)(); + const conversation = _services_imClient__WEBPACK_IMPORTED_MODULE_7__/* .imClient */ .wD.createSingleConversation(contact.uid, contact); + conversations.upsertConversation(conversation); + conversations.setActiveConversation(conversation.id); + navigation.showMessages(); } - document.addEventListener('click', closeActionMenu); - (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .onBeforeUnmount */ .xo)(() => { - document.removeEventListener('click', closeActionMenu); - }); - function formatUnread(value) { - const count = Number(value || 0); - return count > 99 ? '99+' : String(count); - } - return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("aside", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("header", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("div", null, [_cache[18] || (_cache[18] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("h2", null, "消息", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_15__/* .unref */ .R1)(conversations).totalUnread) + " 条未读", 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - class: "icon-button", - title: "新建会话", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .withModifiers */ .D$)(toggleActionMenu, ["stop"]) - }, "+"), actionMenuOpen.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("div", { - key: 0, - class: "quick-action-menu", - onClick: _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .withModifiers */ .D$)(() => {}, ["stop"])) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - onClick: _cache[0] || (_cache[0] = $event => openAction('addContact')) - }, "添加联系人"), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - onClick: _cache[1] || (_cache[1] = $event => openAction('createGroup')) - }, "新建群组"), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - onClick: _cache[2] || (_cache[2] = $event => openAction('joinGroup')) - }, "加入群组"), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - onClick: _cache[3] || (_cache[3] = $event => openAction('broadcast')) - }, "群发助手"), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - onClick: _cache[4] || (_cache[4] = $event => openAction('createChannel')) - }, "创建频道/公告群")])) : (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createCommentVNode */ .Q3)("", true)])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => searchKeyword.value = $event), - placeholder: "搜索会话、联系人" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, searchKeyword.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("div", _hoisted_5, [((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_16__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .renderList */ .pI)(filteredConversationItems.value, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("button", { - key: item.resultKey, - class: (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .normalizeClass */ .C4)(["conversation-item", { - active: isListItemActive(item) - }]), - onClick: $event => selectListItem(item) - }, [item.portrait ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("img", { - key: 0, - class: "conversation-avatar image-avatar", - src: item.portrait, - alt: "" - }, null, 8, _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("span", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(item.avatarText), 1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(item.title), 1), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("small", null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(item.subtitle), 1)]), Number(item.unread || 0) > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("span", { - key: 2, - class: "unread-badge", - "aria-label": `${item.unread} 条未读消息` - }, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(formatUnread(item.unread)), 9, _hoisted_10)) : (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createCommentVNode */ .Q3)("", true)], 10, _hoisted_6); - }), 128)), !filteredConversationItems.value.length && searchKeyword.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("div", _hoisted_11, _cache[19] || (_cache[19] = [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("strong", null, "没有匹配结果", -1), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "换个关键词再试试", -1)]))) : !(0,vue__WEBPACK_IMPORTED_MODULE_15__/* .unref */ .R1)(conversations).conversations.length && !(0,vue__WEBPACK_IMPORTED_MODULE_15__/* .unref */ .R1)(conversations).usingDemoData ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("div", _hoisted_12, _cache[20] || (_cache[20] = [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("strong", null, "暂无会话", -1), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "收到或发起消息后会出现在这里", -1)]))) : (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createCommentVNode */ .Q3)("", true)]), activeAction.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("div", { - key: 0, - class: "modal-backdrop", - onClick: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .withModifiers */ .D$)(closeActionModal, ["self"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("form", { - class: "modal-panel conversation-action-panel", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_18__/* .withModifiers */ .D$)(submitAction, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("header", null, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(actionTitle.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "icon-button", - title: "关闭", - onClick: closeActionModal - }, "×")]), activeAction.value === 'addContact' ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("label", _hoisted_13, [_cache[21] || (_cache[21] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "用户ID / 手机号 / 用户名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => addKeyword.value = $event), - autocomplete: "off", - placeholder: "请输入要添加的联系人" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, addKeyword.value, void 0, { - trim: true - }]])])) : activeAction.value === 'createGroup' ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_16__/* .Fragment */ .FK, { - key: 1 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("label", null, [_cache[22] || (_cache[22] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "群组名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => groupName.value = $event), - maxlength: "64", - autocomplete: "off", - placeholder: "请输入群组名称" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, groupName.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("label", null, [_cache[23] || (_cache[23] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "群说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("textarea", { - "onUpdate:modelValue": _cache[9] || (_cache[9] = $event => groupAnnouncement.value = $event), - maxlength: "1000", - rows: "3", - placeholder: "可选" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, groupAnnouncement.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("label", null, [_cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "欢迎词", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("textarea", { - "onUpdate:modelValue": _cache[10] || (_cache[10] = $event => groupWelcomeText.value = $event), - maxlength: "1000", - rows: "3", - placeholder: "群组创建后自动发送" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, groupWelcomeText.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createVNode */ .bF)((0,vue__WEBPACK_IMPORTED_MODULE_15__/* .unref */ .R1)(ContactPicker), { - contacts: filteredContacts.value, - "selected-ids": selectedContactIds.value, - keyword: contactKeyword.value, - "empty-text": "暂无可选联系人", - "onUpdate:keyword": _cache[11] || (_cache[11] = $event => contactKeyword.value = $event), - onToggle: toggleContact - }, null, 8, ["contacts", "selected-ids", "keyword"])], 64)) : activeAction.value === 'joinGroup' ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("label", _hoisted_14, [_cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "群组ID / 群名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[12] || (_cache[12] = $event => joinGroupKey.value = $event), - autocomplete: "off", - placeholder: "请输入群组ID或群名称" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, joinGroupKey.value, void 0, { - trim: true - }]])])) : activeAction.value === 'broadcast' ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_16__/* .Fragment */ .FK, { - key: 3 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("label", null, [_cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "群发内容", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("textarea", { - "onUpdate:modelValue": _cache[13] || (_cache[13] = $event => broadcastText.value = $event), - maxlength: "2000", - rows: "4", - placeholder: "输入要群发的文字" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, broadcastText.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createVNode */ .bF)((0,vue__WEBPACK_IMPORTED_MODULE_15__/* .unref */ .R1)(ContactPicker), { - contacts: filteredContacts.value, - "selected-ids": selectedContactIds.value, - keyword: contactKeyword.value, - "empty-text": "暂无可选联系人", - "onUpdate:keyword": _cache[14] || (_cache[14] = $event => contactKeyword.value = $event), - onToggle: toggleContact - }, null, 8, ["contacts", "selected-ids", "keyword"])], 64)) : activeAction.value === 'createChannel' ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_16__/* .Fragment */ .FK, { - key: 4 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("label", null, [_cache[27] || (_cache[27] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "频道/公告群名称", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[15] || (_cache[15] = $event => channelName.value = $event), - maxlength: "64", - autocomplete: "off", - placeholder: "请输入名称" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, channelName.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("label", null, [_cache[28] || (_cache[28] = (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("span", null, "公告说明", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("textarea", { - "onUpdate:modelValue": _cache[16] || (_cache[16] = $event => channelAnnouncement.value = $event), - maxlength: "1000", - rows: "3", - placeholder: "可选" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_18__/* .vModelText */ .Jo, channelAnnouncement.value, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createVNode */ .bF)((0,vue__WEBPACK_IMPORTED_MODULE_15__/* .unref */ .R1)(ContactPicker), { - contacts: filteredContacts.value, - "selected-ids": selectedContactIds.value, - keyword: contactKeyword.value, - "empty-text": "暂无可选联系人", - "onUpdate:keyword": _cache[17] || (_cache[17] = $event => contactKeyword.value = $event), - onToggle: toggleContact - }, null, 8, ["contacts", "selected-ids", "keyword"])], 64)) : (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createCommentVNode */ .Q3)("", true), modalError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("p", _hoisted_15, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(modalError.value), 1)) : modalInfo.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_16__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementBlock */ .CE)("p", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(modalInfo.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("div", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "ghost-inline-action", - onClick: closeActionModal - }, "取消"), (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createElementVNode */ .Lk)("button", { - class: "primary-inline-action", - disabled: actionBusy.value || submitDisabled.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_17__/* .toDisplayString */ .v_)(actionBusy.value ? '处理中...' : submitLabel.value), 9, _hoisted_18)])], 32)])) : (0,vue__WEBPACK_IMPORTED_MODULE_16__/* .createCommentVNode */ .Q3)("", true)]); - }; } }); +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "p", 0, /* binding */ useContactStore +/* harmony export */ ]); + /***/ }), -/***/ 8888: +/***/ 7566: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var _MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5282); +/* unused harmony import specifier */ var imClient; +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4423); +/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4114); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8111); +/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2489); +/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(116); +/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var core_js_modules_es_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531); +/* harmony import */ var core_js_modules_es_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_flat_map_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7588); +/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1701); +/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var core_js_modules_es_iterator_reduce_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8237); +/* harmony import */ var core_js_modules_es_iterator_reduce_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_reduce_js__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3579); +/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5367); +/* harmony import */ var core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_js__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2731); +/* harmony import */ var core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_map_get_or_insert_computed_js__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(7642); +/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8004); +/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3853); +/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(5876); +/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(2475); +/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(5024); +/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(1698); +/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(2261); +/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5051); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(2169); +/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(926); +/* harmony import */ var _services_realtimeNotifications__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(9687); + + + + + + + + + + + + + + + + + + + + + + + + +const LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2'; +const LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1'; +function scopedStorageKey(baseKey) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + const scope = `${_config__WEBPACK_IMPORTED_MODULE_21__/* .appConfig */ .U.appServer || ''}:${session.userId || 'anonymous'}`; + return `${baseKey}:${encodeURIComponent(scope)}`; +} +function readFavoriteMessages() { + try { + return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY)) || '[]'); + } catch (error) { + return []; + } +} +function writeFavoriteMessages(messages) { + localStorage.setItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY), JSON.stringify(messages)); +} +function readLocalConversations() { + try { + return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY)) || '[]'); + } catch (error) { + return []; + } +} +function writeLocalConversations(conversations) { + localStorage.setItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY), JSON.stringify(conversations)); +} +function randomId() { + if (window.crypto && window.crypto.randomUUID) { + return window.crypto.randomUUID().replaceAll('-', ''); + } + return `${Date.now()}${Math.random().toString(16).slice(2)}`; +} +function messageKey(message) { + return message.id || message.messageUid; +} +function messageStableKey(message) { + return String(message?.messageUid || message?.id || ''); +} +function messageActivityTimestamp(message) { + return Number(message?.activityTimestamp || message?.editedAt || message?.displayTimestamp || message?.timestamp || 0); +} +function isRecalledMessage(message) { + return Boolean(message?.recalled) || message?.status === 'recalled'; +} +function attachmentLabel(message) { + const attachment = message?.attachment; + if (!attachment) { + return ''; + } + if (attachment.type === 'image') { + return '[图片]'; + } + return `[文件] ${attachment.name || '文件'}`; +} +function cleanPlaceholderText(text, message = {}) { + const value = String(text || '').replace(/\s+/g, ' ').trim(); + const contentType = Number(message?.contentType || 0); + if (!value) { + return ''; + } + if (contentType !== 1 && value === '[暂不支持的消息类型]') { + return ''; + } + if ((contentType === 3 || message?.type === 'image') && (value === '[图片]' || value === '图片')) { + return ''; + } + return value; +} +function messagePreviewText(message) { + if (isRecalledMessage(message)) { + return `[${message?.recallStatus || '已撤回'}]`; + } + const text = cleanPlaceholderText(message?.text, message); + return text || attachmentLabel(message); +} +function sanitizeConversation(conversation) { + if (!conversation) { + return conversation; + } + return { + ...conversation, + subtitle: cleanPlaceholderText(conversation.subtitle, conversation) + }; +} +function isHttpUrl(value) { + try { + const url = new URL(String(value || '').trim()); + return url.protocol === 'http:' || url.protocol === 'https:'; + } catch (error) { + return false; + } +} +function fileNameFromUrl(url, fallback = '图片') { + try { + const path = new URL(url).pathname; + const name = decodeURIComponent(path.split('/').filter(Boolean).pop() || ''); + return name || fallback; + } catch (error) { + return fallback; + } +} +function normalizeMessageForDisplay(message) { + if (!message || message.attachment) { + return message; + } + const contentType = Number(message.contentType || 0); + const text = String(message.text || '').trim(); + if ((contentType === 3 || message.type === 'image') && isHttpUrl(text)) { + return { + ...message, + type: 'image', + text: '', + attachment: { + type: 'image', + url: text, + name: fileNameFromUrl(text, '图片'), + mime: 'image/*', + size: 0 + } + }; + } + return message; +} +function quotePrefix(message) { + const text = messagePreviewText(message); + return text.length > 48 ? `${text.slice(0, 48)}...` : text; +} +async function writeClipboard(text) { + if (navigator.clipboard?.writeText) { + await navigator.clipboard.writeText(text); + return; + } + const element = document.createElement('textarea'); + element.value = text; + element.setAttribute('readonly', 'readonly'); + element.style.position = 'fixed'; + element.style.left = '-9999px'; + document.body.appendChild(element); + element.select(); + document.execCommand('copy'); + document.body.removeChild(element); +} +function isSameMessage(left, right) { + if (left.messageUid && right.messageUid && left.messageUid === right.messageUid) { + return true; + } + if (left.id && right.id && left.id === right.id) { + return true; + } + return left.direction === right.direction && left.text === right.text && (left.type || 'text') === (right.type || 'text') && Math.abs(Number(left.displayTimestamp || left.timestamp || 0) - Number(right.displayTimestamp || right.timestamp || 0)) < 15000; +} +function hasExactMessage(messages, message) { + return messages.some(item => { + if (item.id && message.id && item.id === message.id) { + return true; + } + return item.messageUid && message.messageUid && item.messageUid === message.messageUid; + }); +} +function shouldUseMessagePolling() { + return imClient.shouldUseMessagePolling ? imClient.shouldUseMessagePolling() : true; +} +function canMarkReadNow(options = {}) { + if (typeof document === 'undefined') { + return false; + } + if (document.visibilityState !== 'visible') { + return false; + } + if (options.userAction) { + return true; + } + return true; +} +function isPageVisible() { + return typeof document === 'undefined' || document.visibilityState === 'visible'; +} +function activeMessageSyncIntervalMs() { + const configured = Number(_config__WEBPACK_IMPORTED_MODULE_21__/* .appConfig */ .U.syncIntervalMs || 0); + return Math.max(15000, Number.isFinite(configured) && configured > 0 ? configured : 15000); +} +function conversationListSyncIntervalMs() { + return Math.max(30000, activeMessageSyncIntervalMs() * 2); +} +function mergeVisibleMessages(currentMessages, syncedMessages) { + const merged = [...syncedMessages].map(normalizeMessageForDisplay); + currentMessages.forEach(currentMessage => { + currentMessage = normalizeMessageForDisplay(currentMessage); + const exists = merged.some(message => isSameMessage(message, currentMessage)); + const shouldKeepLocal = currentMessage.status === 'sending' || currentMessage.status === 'failed' || currentMessage.direction === 'out' && currentMessage.status === 'sent' && Date.now() - Number(currentMessage.timestamp || 0) < 30000; + if (!exists && shouldKeepLocal) { + merged.push(currentMessage); + } + }); + return merged.filter((message, index, messages) => { + const key = messageKey(message); + return messages.findIndex(item => messageKey(item) === key) === index; + }).sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0)); +} +function incomingEditedMessages(previousMessages, nextMessages) { + const previousByKey = new Map(); + (previousMessages || []).forEach(message => { + const key = messageStableKey(message); + if (key) { + previousByKey.set(key, message); + } + }); + return (nextMessages || []).filter(message => { + if (message.direction !== 'in') { + return false; + } + const editedAt = Number(message.editedAt || 0); + if (editedAt <= 0) { + return false; + } + const previous = previousByKey.get(messageStableKey(message)); + return previous && editedAt > Number(previous.editedAt || 0); + }); +} +let notificationAudioContext = null; +function playNotificationSound() { + if (typeof window === 'undefined') { + return; + } + try { + const AudioContext = window.AudioContext || window.webkitAudioContext; + if (!AudioContext) { + return; + } + notificationAudioContext = notificationAudioContext || new AudioContext(); + if (notificationAudioContext.state === 'suspended') { + notificationAudioContext.resume().catch(() => {}); + } + const oscillator = notificationAudioContext.createOscillator(); + const gain = notificationAudioContext.createGain(); + const startAt = notificationAudioContext.currentTime; + oscillator.type = 'sine'; + oscillator.frequency.setValueAtTime(880, startAt); + oscillator.frequency.setValueAtTime(660, startAt + 0.1); + gain.gain.setValueAtTime(0.0001, startAt); + gain.gain.exponentialRampToValueAtTime(0.12, startAt + 0.02); + gain.gain.exponentialRampToValueAtTime(0.0001, startAt + 0.22); + oscillator.connect(gain); + gain.connect(notificationAudioContext.destination); + oscillator.start(startAt); + oscillator.stop(startAt + 0.24); + } catch (error) { + // Notification sound is best-effort; browsers may block audio until user interaction. + } +} +const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineStore */ .nY)('conversations', { + state: () => ({ + activeId: '', + conversations: [], + messagesByConversation: {}, + visibleMessagesByConversation: {}, + eventsBound: false, + usingDemoData: false, + loading: false, + syncTimer: null, + conversationSyncTimer: null, + readPresenceEventsBound: false, + syncInFlight: false, + pendingReadReceiptConversationId: '', + conversationSyncInFlight: false, + messageSyncTimer: null, + messageSyncQueuedAt: 0, + pendingMessageSyncOptions: {}, + lastReadSyncByConversation: {}, + optimisticMessagesByConversation: {}, + quotedMessage: null, + forwardingMessages: [], + editingMessage: null, + editingText: '', + editingMode: '', + messageDetailOpen: false, + messageDetailLoading: false, + messageDetailError: '', + messageDetail: null, + attentionMessageId: '', + attentionMessageTimer: null, + selectionMode: false, + selectedMessageIds: [], + favoriteMessages: [], + activeFavoriteKey: '', + actionNotice: '', + actionError: '', + realtimeSyncTimer: null + }), + getters: { + activeConversation(state) { + return state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null; + }, + activeMessages(state) { + return state.visibleMessagesByConversation[state.activeId] || []; + }, + totalUnread(state) { + return state.conversations.reduce((sum, item) => sum + Number(item.unread || 0), 0); + }, + canSendActiveConversation(state) { + const conversation = state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null; + if (!conversation) { + return false; + } + if (conversation.type !== 'channel') { + return true; + } + return ['owner', 'admin'].includes(conversation.role || conversation.raw?.role || ''); + }, + favoriteMessageIds(state) { + return state.favoriteMessages.map(message => message.key); + }, + activeFavorite(state) { + return state.favoriteMessages.find(message => message.key === state.activeFavoriteKey) || state.favoriteMessages[0] || null; + }, + selectedMessages(state) { + const selectedIds = new Set(state.selectedMessageIds); + return (state.visibleMessagesByConversation[state.activeId] || []).filter(message => selectedIds.has(messageStableKey(message))); + } + }, + actions: { + bootstrapDemoData() { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + this.bindImEvents(); + this.usingDemoData = false; + if (!session.userId) { + this.clearUserState(); + return; + } + this.loadScopedLocalState(); + this.startMessageSync(); + _services_realtimeNotifications__WEBPACK_IMPORTED_MODULE_23__/* .realtimeNotifications */ .w.start(session.userId, payload => this.handleRealtimeNotification(payload)); + }, + loadScopedLocalState() { + this.conversations = readLocalConversations().map(sanitizeConversation); + this.favoriteMessages = readFavoriteMessages(); + this.activeFavoriteKey = this.favoriteMessages[0]?.key || ''; + this.activeId = this.conversations[0]?.id || ''; + this.messagesByConversation = {}; + this.visibleMessagesByConversation = {}; + this.optimisticMessagesByConversation = {}; + this.quotedMessage = null; + this.forwardingMessages = []; + this.editingMessage = null; + this.editingText = ''; + this.editingMode = ''; + this.messageDetailOpen = false; + this.messageDetailLoading = false; + this.messageDetailError = ''; + this.messageDetail = null; + this.selectionMode = false; + this.selectedMessageIds = []; + if (this.activeId) { + this.loadActiveMessages({ + allowReadReceipt: true + }); + } + }, + clearUserState() { + window.clearInterval(this.syncTimer); + window.clearInterval(this.conversationSyncTimer); + window.clearTimeout(this.messageSyncTimer); + window.clearTimeout(this.attentionMessageTimer); + window.clearTimeout(this.realtimeSyncTimer); + _services_realtimeNotifications__WEBPACK_IMPORTED_MODULE_23__/* .realtimeNotifications */ .w.stop(); + this.syncTimer = null; + this.conversationSyncTimer = null; + this.messageSyncTimer = null; + this.messageSyncQueuedAt = 0; + this.pendingMessageSyncOptions = {}; + this.attentionMessageTimer = null; + this.realtimeSyncTimer = null; + this.syncInFlight = false; + this.conversationSyncInFlight = false; + this.pendingReadReceiptConversationId = ''; + this.lastReadSyncByConversation = {}; + this.activeId = ''; + this.conversations = []; + this.messagesByConversation = {}; + this.visibleMessagesByConversation = {}; + this.optimisticMessagesByConversation = {}; + this.quotedMessage = null; + this.forwardingMessages = []; + this.editingMessage = null; + this.editingText = ''; + this.editingMode = ''; + this.messageDetailOpen = false; + this.messageDetailLoading = false; + this.messageDetailError = ''; + this.messageDetail = null; + this.attentionMessageId = ''; + this.selectionMode = false; + this.selectedMessageIds = []; + this.favoriteMessages = []; + this.activeFavoriteKey = ''; + this.actionNotice = ''; + this.actionError = ''; + }, + bindImEvents() { + if (this.eventsBound) { + return; + } + this.eventsBound = true; + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.on('messageSent', message => { + this.appendMessage(message.conversationId, message); + }); + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.on('messageReceived', message => { + this.appendMessage(message.conversationId, message); + if (message.conversationId === this.activeId) { + this.scheduleActiveMessagesSync({ + allowReadReceipt: true + }, 700); + } + }); + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.on('messageStatusChanged', message => { + this.replaceMessage(message.conversationId, message); + }); + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.on('conversationsChanged', remoteConversations => { + this.usingDemoData = false; + this.applyRemoteConversations(remoteConversations); + }); + }, + setActiveConversation(id) { + this.activeId = id; + const conversation = this.conversations.find(item => item.id === id); + if (conversation) { + conversation.unread = 0; + } + this.loadActiveMessages({ + allowReadReceipt: true, + userAction: true + }); + }, + sendText(text) { + const conversation = this.activeConversation; + if (!conversation || !text.trim()) { + return; + } + let value = text.trim(); + if (this.quotedMessage) { + this.quotedMessage = null; + } + const message = { + id: randomId(), + conversationId: conversation.id, + from: 'me', + direction: 'out', + type: 'text', + text: value, + status: 'sending', + deliveryStatus: 'sending', + timestamp: Date.now(), + displayTimestamp: Date.now() + }; + this.appendVisibleMessage(conversation.id, message); + this.appendMessage(conversation.id, message); + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.sendTextMessage(conversation, value, message); + conversation.subtitle = value; + conversation.updatedAt = Date.now(); + writeLocalConversations(this.conversations); + this.scheduleActiveMessagesSync({}, 700); + }, + sendAttachment({ + type, + file, + text = '' + }) { + const conversation = this.activeConversation; + if (!conversation || !file || !['image', 'file'].includes(type)) { + return; + } + let value = text.trim(); + if (this.quotedMessage) { + this.quotedMessage = null; + } + const now = Date.now(); + const message = { + id: randomId(), + conversationId: conversation.id, + from: 'me', + senderRole: conversation.role || conversation.raw?.role || '', + direction: 'out', + type, + text: value, + attachment: { + type, + name: file.name || (type === 'image' ? '图片' : '文件'), + mime: file.type || '', + size: file.size || 0, + url: type === 'image' ? URL.createObjectURL(file) : '' + }, + status: 'sending', + deliveryStatus: 'sending', + timestamp: now, + displayTimestamp: now + }; + this.appendVisibleMessage(conversation.id, message); + this.appendMessage(conversation.id, message); + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.sendAttachmentMessage(conversation, { + type, + file, + text: value + }, message); + conversation.subtitle = messagePreviewText(message); + conversation.updatedAt = now; + writeLocalConversations(this.conversations); + this.scheduleActiveMessagesSync({}, 700); + }, + async sendTextToConversation(conversation, text) { + if (!conversation || !text.trim()) { + return null; + } + const value = text.trim(); + const message = { + id: randomId(), + conversationId: conversation.id, + from: 'me', + direction: 'out', + type: 'text', + text: value, + status: 'sending', + deliveryStatus: 'sending', + timestamp: Date.now(), + displayTimestamp: Date.now() + }; + this.appendMessage(conversation.id, message); + const sentMessage = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.sendTextMessage(conversation, value, message); + this.replaceMessage(conversation.id, sentMessage); + return sentMessage; + }, + upsertConversation(conversation) { + conversation = sanitizeConversation(conversation); + const index = this.conversations.findIndex(item => item.id === conversation.id); + if (index >= 0) { + this.conversations.splice(index, 1, { + ...this.conversations[index], + ...conversation + }); + } else { + this.conversations.unshift(conversation); + } + this.usingDemoData = false; + writeLocalConversations(this.conversations); + }, + removeConversation(conversationId) { + this.conversations = this.conversations.filter(conversation => conversation.id !== conversationId); + const { + [conversationId]: removedMessages, + ...messagesByConversation + } = this.messagesByConversation; + const { + [conversationId]: removedVisibleMessages, + ...visibleMessagesByConversation + } = this.visibleMessagesByConversation; + const { + [conversationId]: removedOptimisticMessages, + ...optimisticMessagesByConversation + } = this.optimisticMessagesByConversation; + void removedMessages; + void removedVisibleMessages; + void removedOptimisticMessages; + this.messagesByConversation = messagesByConversation; + this.visibleMessagesByConversation = visibleMessagesByConversation; + this.optimisticMessagesByConversation = optimisticMessagesByConversation; + if (this.activeId === conversationId) { + this.activeId = this.conversations[0]?.id || ''; + } + writeLocalConversations(this.conversations); + if (this.activeId) { + this.loadActiveMessages(); + } + }, + applyRemoteConversations(remoteConversations) { + const remote = Array.isArray(remoteConversations) ? remoteConversations : []; + if (!remote.length && this.conversations.length) { + return; + } + const merged = new Map(); + this.conversations.forEach(conversation => { + merged.set(conversation.id, conversation); + }); + remote.forEach(conversation => { + const unread = conversation.id === this.activeId && canMarkReadNow() ? 0 : Number(conversation.unread || 0); + merged.set(conversation.id, { + ...(merged.get(conversation.id) || {}), + ...sanitizeConversation(conversation), + unread + }); + }); + this.conversations = Array.from(merged.values()).map(sanitizeConversation).sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0)).slice(0, 100); + if (!this.conversations.length) { + this.activeId = ''; + this.messagesByConversation = {}; + this.visibleMessagesByConversation = {}; + this.optimisticMessagesByConversation = {}; + writeLocalConversations(this.conversations); + return; + } + if (!this.conversations.find(item => item.id === this.activeId)) { + this.activeId = this.conversations[0].id; + } + writeLocalConversations(this.conversations); + this.loadActiveMessages(); + }, + appendMessage(conversationId, message) { + message = normalizeMessageForDisplay(message); + if (!this.messagesByConversation[conversationId]) { + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: [] + }; + } + if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent')) { + this.keepOptimisticMessage(conversationId, message); + } + if (!hasExactMessage(this.messagesByConversation[conversationId], message)) { + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: [...this.messagesByConversation[conversationId], message] + }; + } + this.updateConversationFromMessage(conversationId, message); + this.syncVisibleMessages(conversationId); + writeLocalConversations(this.conversations); + }, + removeMessages(conversationId, messages) { + const ids = new Set(messages.flatMap(message => [message.id, message.messageUid].filter(Boolean).map(String))); + const filterMessages = list => (list || []).filter(message => { + return ![message.id, message.messageUid].filter(Boolean).some(id => ids.has(String(id))); + }); + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: filterMessages(this.messagesByConversation[conversationId]) + }; + this.visibleMessagesByConversation = { + ...this.visibleMessagesByConversation, + [conversationId]: filterMessages(this.visibleMessagesByConversation[conversationId]) + }; + this.optimisticMessagesByConversation = { + ...this.optimisticMessagesByConversation, + [conversationId]: filterMessages(this.optimisticMessagesByConversation[conversationId]) + }; + this.selectedMessageIds = this.selectedMessageIds.filter(id => !ids.has(String(id))); + }, + replaceLocalMessage(conversationId, targetMessage, nextMessage) { + const keys = new Set([targetMessage.id, targetMessage.messageUid].filter(Boolean).map(String)); + const replaceInList = list => (list || []).map(message => { + const matched = [message.id, message.messageUid].filter(Boolean).some(id => keys.has(String(id))); + return matched ? { + ...message, + ...nextMessage + } : message; + }); + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: replaceInList(this.messagesByConversation[conversationId]) + }; + this.visibleMessagesByConversation = { + ...this.visibleMessagesByConversation, + [conversationId]: replaceInList(this.visibleMessagesByConversation[conversationId]) + }; + }, + updateConversationFromMessage(conversationId, message) { + const conversation = this.conversations.find(item => item.id === conversationId); + if (!conversation) { + return; + } + conversation.subtitle = messagePreviewText(message) || cleanPlaceholderText(conversation.subtitle, conversation); + conversation.updatedAt = messageActivityTimestamp(message) || Date.now(); + if (message.direction === 'in') { + conversation.unread = conversationId === this.activeId ? 0 : Number(conversation.unread || 0) + 1; + } + this.conversations = [...this.conversations].sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0)); + }, + appendVisibleMessage(conversationId, message) { + message = normalizeMessageForDisplay(message); + const messages = this.visibleMessagesByConversation[conversationId] || []; + this.visibleMessagesByConversation = { + ...this.visibleMessagesByConversation, + [conversationId]: [...messages.filter(item => item.id !== message.id), message].sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0)) + }; + }, + replaceMessage(conversationId, message) { + message = normalizeMessageForDisplay(message); + if (!this.messagesByConversation[conversationId]) { + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: [] + }; + } + if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent' || message.status === 'failed')) { + this.keepOptimisticMessage(conversationId, message); + } + const index = this.messagesByConversation[conversationId].findIndex(item => item.id === message.id); + if (index >= 0) { + const messages = [...this.messagesByConversation[conversationId]]; + messages.splice(index, 1, message); + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: messages + }; + } else { + this.messagesByConversation = { + ...this.messagesByConversation, + [conversationId]: [...this.messagesByConversation[conversationId], message] + }; + } + this.syncVisibleMessages(conversationId); + }, + syncVisibleMessages(conversationId) { + this.visibleMessagesByConversation = { + ...this.visibleMessagesByConversation, + [conversationId]: mergeVisibleMessages(this.optimisticMessagesByConversation[conversationId] || [], this.messagesByConversation[conversationId] || []) + }; + }, + keepOptimisticMessage(conversationId, message) { + if (!this.optimisticMessagesByConversation[conversationId]) { + this.optimisticMessagesByConversation = { + ...this.optimisticMessagesByConversation, + [conversationId]: [] + }; + } + const messages = this.optimisticMessagesByConversation[conversationId]; + const index = messages.findIndex(item => item.id === message.id); + let nextMessages; + if (index >= 0) { + nextMessages = [...messages]; + nextMessages.splice(index, 1, message); + } else { + nextMessages = [...messages, message]; + } + this.optimisticMessagesByConversation = { + ...this.optimisticMessagesByConversation, + [conversationId]: nextMessages + }; + }, + pruneOptimisticMessages(conversationId, syncedMessages) { + const messages = this.optimisticMessagesByConversation[conversationId] || []; + if (!messages.length) { + return; + } + this.optimisticMessagesByConversation = { + ...this.optimisticMessagesByConversation, + [conversationId]: messages.filter(message => { + const remoteMatched = syncedMessages.some(syncedMessage => { + return syncedMessage.id !== message.id && isSameMessage(syncedMessage, message); + }); + if (remoteMatched && message.status !== 'failed') { + return false; + } + return Date.now() - Number(message.displayTimestamp || message.timestamp || 0) < 30000 || message.status === 'failed'; + }) + }; + }, + loadActiveMessages(options = {}) { + const syncOptions = typeof options === 'boolean' ? { + allowReadReceipt: options + } : options; + const conversation = this.activeConversation; + if (!conversation) { + return; + } + this.loading = true; + const messages = _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.getMessages(conversation, 30); + this.pruneOptimisticMessages(conversation.id, messages); + this.messagesByConversation = { + ...this.messagesByConversation, + [conversation.id]: mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages) + }; + this.syncVisibleMessages(conversation.id); + this.loading = false; + this.syncActiveMessages(syncOptions); + }, + async syncActiveMessages(options = {}) { + const conversation = this.activeConversation; + if (!conversation) { + return; + } + if (options.skipWhenHidden !== false && !isPageVisible()) { + return; + } + const wantsReadReceipt = Boolean(options.allowReadReceipt); + const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ + userAction: Boolean(options.userAction) + }); + const now = Date.now(); + const previousReadSyncAt = Number(this.lastReadSyncByConversation[conversation.id] || 0); + const pollingReadReceipt = canMarkReadNow() && now - previousReadSyncAt >= 10000; + const markRead = explicitReadReceipt || pollingReadReceipt; + if (this.syncInFlight) { + if (wantsReadReceipt) { + this.pendingReadReceiptConversationId = conversation.id; + } + return; + } + this.syncInFlight = true; + const syncedConversationId = conversation.id; + const previousMessages = this.messagesByConversation[syncedConversationId] || []; + try { + const messages = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.fetchRemoteMessages(conversation, 50, { + markRead + }); + if (markRead) { + this.lastReadSyncByConversation = { + ...this.lastReadSyncByConversation, + [syncedConversationId]: Date.now() + }; + } + const editedIncomingMessages = incomingEditedMessages(previousMessages, messages); + this.pruneOptimisticMessages(syncedConversationId, messages); + this.messagesByConversation = { + ...this.messagesByConversation, + [syncedConversationId]: mergeVisibleMessages(this.messagesByConversation[syncedConversationId] || [], messages) + }; + this.syncVisibleMessages(syncedConversationId); + if (editedIncomingMessages.length && syncedConversationId === this.activeId) { + this.focusMessage(editedIncomingMessages.sort((a, b) => messageActivityTimestamp(b) - messageActivityTimestamp(a))[0]); + playNotificationSound(); + } + const latest = messages.reduce((latestMessage, message) => { + if (!latestMessage || messageActivityTimestamp(message) > messageActivityTimestamp(latestMessage)) { + return message; + } + return latestMessage; + }, null); + if (latest) { + conversation.subtitle = messagePreviewText(latest); + conversation.updatedAt = messageActivityTimestamp(latest); + writeLocalConversations(this.conversations); + } + } catch (error) { + // Keep the local view usable if a polling request misses. + } finally { + this.syncInFlight = false; + if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) { + this.pendingReadReceiptConversationId = ''; + this.scheduleActiveMessagesSync({ + allowReadReceipt: true + }, 700); + } + } + }, + scheduleActiveMessagesSync(options = {}, delay = 700) { + if (!this.activeId || !isPageVisible()) { + return; + } + const now = Date.now(); + if (!this.messageSyncQueuedAt) { + this.messageSyncQueuedAt = now; + } + this.pendingMessageSyncOptions = { + ...this.pendingMessageSyncOptions, + allowReadReceipt: Boolean(this.pendingMessageSyncOptions.allowReadReceipt || options.allowReadReceipt), + userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction) + }; + const maxWait = 1200; + const runAt = Math.min(now + Math.max(0, Number(delay) || 0), this.messageSyncQueuedAt + maxWait); + window.clearTimeout(this.messageSyncTimer); + this.messageSyncTimer = window.setTimeout(() => { + const pendingOptions = this.pendingMessageSyncOptions; + this.messageSyncTimer = null; + this.messageSyncQueuedAt = 0; + this.pendingMessageSyncOptions = {}; + this.syncActiveMessages(pendingOptions); + }, Math.max(0, runAt - now)); + }, + startMessageSync() { + this.bindReadPresenceEvents(); + if (!this.syncTimer) { + this.syncTimer = window.setInterval(() => { + if (isPageVisible() && !_services_realtimeNotifications__WEBPACK_IMPORTED_MODULE_23__/* .realtimeNotifications */ .w.isConnected()) { + this.syncActiveMessages(); + } + }, activeMessageSyncIntervalMs()); + } + if (!this.conversationSyncTimer) { + this.conversationSyncTimer = window.setInterval(() => { + if (isPageVisible() && !_services_realtimeNotifications__WEBPACK_IMPORTED_MODULE_23__/* .realtimeNotifications */ .w.isConnected()) { + this.refreshRemoteConversations(); + } + }, conversationListSyncIntervalMs()); + this.refreshRemoteConversations(); + } + }, + handleRealtimeNotification() { + window.clearTimeout(this.realtimeSyncTimer); + this.realtimeSyncTimer = window.setTimeout(() => { + this.refreshRemoteConversations(); + if (this.activeId) { + this.scheduleActiveMessagesSync({ + allowReadReceipt: canMarkReadNow() + }, 700); + } + }, 500); + }, + bindReadPresenceEvents() { + if (this.readPresenceEventsBound || typeof window === 'undefined' || typeof document === 'undefined') { + return; + } + this.readPresenceEventsBound = true; + const syncWhenReadable = () => { + if (canMarkReadNow()) { + this.refreshRemoteConversations(); + this.scheduleActiveMessagesSync({ + allowReadReceipt: true + }, 300); + } + }; + window.addEventListener('focus', syncWhenReadable); + document.addEventListener('visibilitychange', syncWhenReadable); + }, + async refreshRemoteConversations() { + this.bindImEvents(); + this.usingDemoData = false; + if (this.conversationSyncInFlight) { + return; + } + this.conversationSyncInFlight = true; + try { + const remoteConversations = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.fetchRemoteConversations(50); + this.applyRemoteConversations(remoteConversations); + } catch (error) { + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.refreshConversationList(); + } finally { + this.conversationSyncInFlight = false; + } + }, + setActionNotice(message) { + this.actionNotice = message; + this.actionError = ''; + window.clearTimeout(this.actionNoticeTimer); + this.actionNoticeTimer = window.setTimeout(() => { + this.actionNotice = ''; + }, 1800); + }, + setActionError(message) { + this.actionError = message; + this.actionNotice = ''; + window.clearTimeout(this.actionErrorTimer); + this.actionErrorTimer = window.setTimeout(() => { + this.actionError = ''; + }, 2400); + }, + focusMessage(message) { + const key = messageStableKey(message); + if (!key) { + return; + } + this.attentionMessageId = key; + window.clearTimeout(this.attentionMessageTimer); + this.attentionMessageTimer = window.setTimeout(() => { + if (this.attentionMessageId === key) { + this.attentionMessageId = ''; + } + }, 2800); + }, + async handleMessageAction({ + action, + message + }) { + if (!message) { + return; + } + if (action === 'copy') { + await this.copyMessages([message]); + } else if (action === 'edit') { + this.startEditMessage(message); + } else if (action === 'delete') { + this.deleteMessages([message]); + } else if (action === 'forward') { + this.startForward([message]); + } else if (action === 'favorite') { + this.toggleFavorite(message); + } else if (action === 'detail') { + await this.openMessageDetail(message); + } else if (action === 'quote') { + this.quoteMessage(message); + } else if (action === 'select') { + this.enterSelectionMode(message); + } else if (action === 'recall') { + await this.recallMessage(message); + } + }, + async openMessageDetail(message) { + const conversation = this.activeConversation; + if (!conversation || !message) { + return; + } + const key = messageStableKey(message); + this.messageDetailOpen = true; + this.messageDetailLoading = true; + this.messageDetailError = ''; + this.messageDetail = { + messageUid: key, + conversationType: conversation.type || conversation.raw?.type || 'single', + sentAt: Number(message.displayTimestamp || message.timestamp || 0), + editedAt: Number(message.editedAt || 0), + recalled: isRecalledMessage(message), + localOnly: true, + sender: { + uid: message.from || '', + name: message.senderName || message.from || '' + } + }; + try { + if (!/^\d+$/.test(key)) { + this.messageDetailError = '本地临时消息暂无送达/已读详情'; + return; + } + const detail = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.getMessageDetail(conversation, message); + this.messageDetail = detail || this.messageDetail; + } catch (error) { + this.messageDetailError = error.message || '消息详情加载失败'; + } finally { + this.messageDetailLoading = false; + } + }, + closeMessageDetail() { + this.messageDetailOpen = false; + this.messageDetailLoading = false; + this.messageDetailError = ''; + this.messageDetail = null; + }, + async copyMessages(messages) { + const text = messages.map(message => message.text || '').join('\n'); + if (!text.trim()) { + return; + } + try { + await writeClipboard(text); + this.setActionNotice(messages.length > 1 ? '已复制所选消息' : '已复制'); + } catch (error) { + this.setActionError('复制失败'); + } + }, + deleteMessages(messages) { + const conversation = this.activeConversation; + if (!conversation || !messages.length) { + return; + } + _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.hideMessages(conversation, messages); + this.removeMessages(conversation.id, messages); + if (!this.selectedMessageIds.length) { + this.selectionMode = false; + } + this.setActionNotice(messages.length > 1 ? '已删除所选消息' : '已删除'); + }, + toggleFavorite(message) { + const key = messageStableKey(message); + if (!key) { + return; + } + const index = this.favoriteMessages.findIndex(item => item.key === key); + if (index >= 0) { + this.favoriteMessages.splice(index, 1); + if (this.activeFavoriteKey === key) { + this.activeFavoriteKey = this.favoriteMessages[0]?.key || ''; + } + this.setActionNotice('已取消收藏'); + } else { + const conversation = this.conversations.find(item => item.id === message.conversationId) || {}; + this.favoriteMessages.unshift({ + key, + id: message.id, + messageUid: message.messageUid, + conversationId: message.conversationId, + conversationTitle: conversation.title || message.conversationTitle || '', + type: message.type || 'text', + text: message.text || '', + preview: messagePreviewText(message), + senderName: message.senderName || message.from || '', + timestamp: Number(message.displayTimestamp || message.timestamp || Date.now()), + editedAt: Number(message.editedAt || 0), + recalled: isRecalledMessage(message), + recallStatus: message.recallStatus || (isRecalledMessage(message) ? '已撤回' : ''), + attachment: message.attachment ? { + ...message.attachment + } : null + }); + this.activeFavoriteKey = key; + this.setActionNotice('已收藏'); + } + this.favoriteMessages = this.favoriteMessages.slice(0, 200); + writeFavoriteMessages(this.favoriteMessages); + }, + setActiveFavorite(key) { + this.activeFavoriteKey = String(key || ''); + }, + removeFavorite(key) { + const value = String(key || ''); + if (!value) { + return; + } + this.favoriteMessages = this.favoriteMessages.filter(message => message.key !== value); + if (this.activeFavoriteKey === value) { + this.activeFavoriteKey = this.favoriteMessages[0]?.key || ''; + } + writeFavoriteMessages(this.favoriteMessages); + }, + quoteMessage(message) { + this.quotedMessage = { + ...message, + quoteText: quotePrefix(message) + }; + this.setActionNotice('已引用,输入后发送'); + }, + cancelQuote() { + this.quotedMessage = null; + }, + enterSelectionMode(message = null) { + this.selectionMode = true; + if (message) { + const key = messageStableKey(message); + this.selectedMessageIds = key ? [key] : []; + } + }, + toggleSelectedMessage(message) { + const key = messageStableKey(message); + if (!key) { + return; + } + const selected = new Set(this.selectedMessageIds); + if (selected.has(key)) { + selected.delete(key); + } else { + selected.add(key); + } + this.selectedMessageIds = Array.from(selected); + this.selectionMode = this.selectedMessageIds.length > 0; + }, + clearSelection() { + this.selectionMode = false; + this.selectedMessageIds = []; + }, + copySelectedMessages() { + return this.copyMessages(this.selectedMessages); + }, + deleteSelectedMessages() { + this.deleteMessages(this.selectedMessages); + }, + startForward(messages) { + this.forwardingMessages = messages.filter(message => message?.text); + if (!this.forwardingMessages.length) { + this.setActionError('没有可转发的消息'); + } + }, + startForwardSelectedMessages() { + this.startForward(this.selectedMessages); + }, + cancelForward() { + this.forwardingMessages = []; + }, + startEditMessage(message) { + const isResend = isRecalledMessage(message); + if (!isResend && !message?.text) { + this.setActionError('没有可编辑的文字内容'); + return; + } + this.editingMessage = message; + this.editingText = message.text || ''; + this.editingMode = isResend ? 'resend' : 'edit'; + }, + cancelEditMessage() { + this.editingMessage = null; + this.editingText = ''; + this.editingMode = ''; + }, + async completeEditMessage() { + const conversation = this.activeConversation; + const message = this.editingMessage; + const text = this.editingText.trim(); + const isResend = this.editingMode === 'resend' || isRecalledMessage(message); + if (!conversation || !message) { + this.cancelEditMessage(); + return; + } + if (!text) { + this.setActionError('编辑内容不能为空'); + return; + } + if (!isResend && text === String(message.text || '').trim()) { + this.cancelEditMessage(); + return; + } + try { + if (isResend) { + await this.sendTextToConversation(conversation, text); + this.cancelEditMessage(); + this.setActionNotice('已重新发送'); + return; + } + const editedMessage = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.editMessage(conversation, message, text); + this.replaceLocalMessage(conversation.id, message, editedMessage); + if (messageActivityTimestamp(editedMessage) >= Number(conversation.updatedAt || 0)) { + conversation.subtitle = messagePreviewText(editedMessage); + conversation.updatedAt = messageActivityTimestamp(editedMessage); + writeLocalConversations(this.conversations); + } + this.cancelEditMessage(); + this.setActionNotice('已编辑'); + } catch (error) { + this.setActionError(error.message || '编辑失败'); + } + }, + async completeForward(targetConversationId) { + const target = this.conversations.find(conversation => conversation.id === targetConversationId); + if (!target || !this.forwardingMessages.length) { + return; + } + const text = this.forwardingMessages.map(message => `转发:${message.text || ''}`).join('\n\n'); + try { + await this.sendTextToConversation(target, text); + this.forwardingMessages = []; + this.clearSelection(); + this.setActionNotice('已转发'); + } catch (error) { + this.setActionError(error.message || '转发失败'); + } + }, + async recallMessage(message) { + const conversation = this.activeConversation; + if (!conversation) { + return; + } + try { + await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.recallMessage(conversation, message); + if (message.direction !== 'out') { + this.removeMessages(conversation.id, [message]); + this.setActionNotice('已撤回'); + this.syncActiveMessages(); + return; + } + this.replaceLocalMessage(conversation.id, message, { + status: 'recalled', + deliveryStatus: '', + recalled: true, + recallStatus: '已撤回' + }); + this.setActionNotice('已撤回'); + } catch (error) { + this.setActionError(error.message || '撤回失败'); + } + }, + async createGroup(options = {}) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + if (!session.userId) { + this.setActionError('请先登录'); + return false; + } + try { + const conversation = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.createGroup(session.userId, options); + this.upsertConversation(conversation); + this.setActiveConversation(conversation.id); + const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || ''; + if (nativeStatus && nativeStatus !== 'ok') { + this.setActionNotice(options.channel ? '公告群已创建,仅网页可见' : '群组已创建,仅网页可见'); + } else { + this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建'); + } + this.refreshRemoteConversations(); + return true; + } catch (error) { + this.setActionError(error.message || (options.channel ? '创建公告群失败' : '创建群组失败')); + return false; + } + }, + async joinGroup(groupKey) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + if (!session.userId) { + this.setActionError('请先登录'); + return false; + } + try { + const conversation = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.joinGroup(session.userId, groupKey); + this.upsertConversation(conversation); + this.setActiveConversation(conversation.id); + const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || ''; + this.setActionNotice(nativeStatus && nativeStatus !== 'ok' ? '已加入群组,仅网页可见' : '已加入群组'); + this.refreshRemoteConversations(); + return true; + } catch (error) { + this.setActionError(error.message || '加入群组失败'); + return false; + } + }, + async broadcastMessage(targetIds, text) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + if (!session.userId) { + this.setActionError('请先登录'); + return false; + } + try { + const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.broadcastMessage(session.userId, targetIds, text); + const successCount = Number(result.successCount || 0); + const failedCount = Number(result.failedCount || 0); + this.setActionNotice(failedCount > 0 ? `已群发 ${successCount} 条,失败 ${failedCount} 条` : `已群发 ${successCount} 条`); + this.refreshRemoteConversations(); + return true; + } catch (error) { + this.setActionError(error.message || '群发失败'); + return false; + } + }, + async leaveGroup(conversation) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + if (!session.userId || !conversation?.target) { + this.setActionError('缺少群组信息'); + return false; + } + try { + await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.leaveGroup(session.userId, conversation.target); + this.removeConversation(conversation.id); + this.setActionNotice('已退出群组'); + this.refreshRemoteConversations(); + return true; + } catch (error) { + this.setActionError(error.message || '退出群组失败'); + return false; + } + }, + async dismissGroup(conversation) { + const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_22__/* .useSessionStore */ .B)(); + if (!session.userId || !conversation?.target) { + this.setActionError('缺少群组信息'); + return false; + } + try { + await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.dismissGroup(session.userId, conversation.target); + this.removeConversation(conversation.id); + this.setActionNotice('群组已解散'); + this.refreshRemoteConversations(); + return true; + } catch (error) { + this.setActionError(error.message || '解散群组失败'); + return false; + } + } + } +}); +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "w", 0, /* binding */ useConversationStore +/* harmony export */ ]); + + +/***/ }), + +/***/ 1414: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2261); + +const useNavigationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_0__/* .defineStore */ .nY)('navigation', { + state: () => ({ + section: 'messages' + }), + actions: { + showMessages() { + this.section = 'messages'; + }, + showContacts() { + this.section = 'contacts'; + }, + showFavorites() { + this.section = 'favorites'; + } + } +}); +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "l", 0, /* binding */ useNavigationStore +/* harmony export */ ]); + + +/***/ }), + +/***/ 926: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2261); +/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5051); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2169); + + + +const STORAGE_KEY = 'qmt-web-im-session'; +function normalizeStoredPortrait(portrait) { + return portrait || ''; +} +function nextProfilePortrait(profilePortrait, currentPortrait) { + return normalizeStoredPortrait(profilePortrait) || normalizeStoredPortrait(currentPortrait); +} +const useSessionStore = (0,pinia__WEBPACK_IMPORTED_MODULE_0__/* .defineStore */ .nY)('session', { + state: () => ({ + isAuthenticated: false, + connecting: false, + connected: false, + connectionStatusText: '未连接', + userId: '', + token: '', + displayName: '', + portrait: '', + error: '', + sdkVersion: '', + eventsBound: false + }), + actions: { + restore() { + const raw = localStorage.getItem(STORAGE_KEY); + if (!raw) { + return; + } + try { + const session = JSON.parse(raw); + if (session.appServer !== _config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.appServer) { + localStorage.removeItem(STORAGE_KEY); + return; + } + if (session.userId && session.token) { + if (!session.clientId) { + localStorage.removeItem(STORAGE_KEY); + return; + } + this.userId = session.userId; + this.token = session.token; + this.displayName = session.displayName || session.userId; + this.portrait = normalizeStoredPortrait(session.portrait); + this.isAuthenticated = true; + _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.restoreClientId(session.clientId); + if (session.localOnly) { + this.connectionStatusText = '本地调试登录'; + } + this.connect(); + this.refreshProfile(); + } + } catch (error) { + localStorage.removeItem(STORAGE_KEY); + } + }, + async loginWithPassword(mobile, password) { + this.error = ''; + this.connecting = true; + try { + const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.loginWithPassword(mobile, password); + this.applyLoginResult(result); + await this.connect(); + } catch (error) { + this.error = error.message || '登录失败'; + } finally { + this.connecting = false; + } + }, + async loginWithCode(mobile, code) { + this.error = ''; + this.connecting = true; + try { + const result = await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.loginWithCode(mobile, code); + this.applyLoginResult(result); + await this.connect(); + } catch (error) { + this.error = error.message || '登录失败'; + } finally { + this.connecting = false; + } + }, + async completePcSessionLogin(result) { + this.error = ''; + this.connecting = true; + try { + this.applyLoginResult(result); + await this.connect(); + } catch (error) { + this.error = error.message || '扫码登录失败'; + } finally { + this.connecting = false; + } + }, + async registerWithPhone(mobile, code) { + this.error = ''; + this.connecting = true; + try { + return await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.registerWithPhone(mobile, code); + } catch (error) { + this.error = error.message || '注册失败'; + return null; + } finally { + this.connecting = false; + } + }, + applyLoginResult(result) { + this.userId = result.userId || result.uid || result.id || ''; + this.token = result.token || result.imToken || ''; + this.displayName = result.displayName || result.userName || result.name || this.userId; + this.portrait = normalizeStoredPortrait(result.portrait); + this.isAuthenticated = Boolean(this.userId && this.token); + if (result.localOnly) { + this.connectionStatusText = '本地调试登录'; + } + this.persistSession(Boolean(result.localOnly)); + }, + persistSession(localOnly = false) { + localStorage.setItem(STORAGE_KEY, JSON.stringify({ + userId: this.userId, + token: this.token, + displayName: this.displayName, + portrait: this.portrait, + clientId: _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.getClientId(), + localOnly, + appServer: _config__WEBPACK_IMPORTED_MODULE_2__/* .appConfig */ .U.appServer + })); + }, + applyProfile(profile) { + if (!profile) { + return; + } + this.userId = profile.userId || profile.uid || this.userId; + this.displayName = profile.displayName || profile.name || this.displayName || this.userId; + this.portrait = nextProfilePortrait(profile.portrait, this.portrait); + this.persistSession(); + }, + async refreshProfile() { + if (!this.userId) { + return null; + } + try { + const profile = await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.getProfile(this.userId); + this.applyProfile(profile); + return profile; + } catch (error) { + return null; + } + }, + async saveProfile({ + displayName, + portraitFile + }) { + if (!this.userId) { + throw new Error('请先登录'); + } + const profile = await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.updateProfile(this.userId, { + displayName, + portraitFile + }); + this.applyProfile(profile); + return profile; + }, + async changePassword({ + oldPassword, + newPassword + }) { + if (!this.userId) { + throw new Error('请先登录'); + } + await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.changePassword({ + oldPassword, + newPassword + }); + return true; + }, + async resetPasswordWithCode({ + mobile, + resetCode, + newPassword + }) { + await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.resetPasswordWithCode({ + mobile, + resetCode, + newPassword + }); + return true; + }, + async connect() { + if (!this.userId || !this.token) { + return; + } + await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.ensureSdk(); + this.sdkVersion = _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.getSdkVersion(); + this.bindImEvents(); + await _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.connect(this.userId, this.token); + }, + bindImEvents() { + if (this.eventsBound) { + return; + } + this.eventsBound = true; + _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.on('connectionStatusChanged', status => { + this.connected = status.connected; + this.connectionStatusText = status.statusText || (status.connected ? '已连接' : '未连接'); + }); + }, + logout() { + _services_imClient__WEBPACK_IMPORTED_MODULE_1__/* .imClient */ .wD.disconnect(); + localStorage.removeItem(STORAGE_KEY); + this.$reset(); + } + } +}); +/* harmony export */ __webpack_require__.d(__webpack_exports__, [ +/* harmony export */ "B", 0, /* binding */ useSessionStore +/* harmony export */ ]); + + +/***/ }), + +/***/ 7067: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4208); + + + +const __exports__ = _App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 9531: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6736); + + + +const __exports__ = _ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 3727: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4524); + + + +const __exports__ = _LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 7014: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9843); + + + +const __exports__ = _ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 1653: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5990); + + + +const __exports__ = _MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 9847: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3172); @@ -7979,1157 +9332,213 @@ const __exports__ = _MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK /***/ }), -/***/ 9397: +/***/ 3351: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ U: function() { return /* binding */ appConfig; } -/* harmony export */ }); -const currentHost = window.location.hostname || '127.0.0.1'; -const runtimeConfig = window.JC_WEB_IM_CONFIG || {}; -const appServerOrigin = `${window.location.protocol}//${currentHost}:18888`; -const adminServerOrigin = `${window.location.protocol}//${currentHost}:8024`; -const appConfig = { - appName: 'Web IM', - adminServer: runtimeConfig.adminServer || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_ADMIN_SERVER || adminServerOrigin, - appServer: runtimeConfig.appServer || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_APP_SERVER || appServerOrigin, - platformConfigApi: runtimeConfig.platformConfigApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_PLATFORM_CONFIG_API || ( false ? 0 : '/api/platform_config.php'), - registerConfigApi: runtimeConfig.registerConfigApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_REGISTER_CONFIG_API || `${adminServerOrigin}/api/register-config`, - registerPhoneExistsApi: runtimeConfig.registerPhoneExistsApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_REGISTER_PHONE_EXISTS_API || `${adminServerOrigin}/api/register-phone-exists`, - contactsApi: runtimeConfig.contactsApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_CONTACTS_API || ( false ? 0 : '/api/contacts.php'), - updateAliasApi: runtimeConfig.updateAliasApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_UPDATE_ALIAS_API || ( false ? 0 : '/api/update_alias.php'), - addContactApi: runtimeConfig.addContactApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_ADD_CONTACT_API || ( false ? 0 : '/api/add_contact.php'), - conversationActionsApi: runtimeConfig.conversationActionsApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_CONVERSATION_ACTIONS_API || ( false ? 0 : '/api/conversation_actions.php'), - sendMessageApi: runtimeConfig.sendMessageApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_SEND_MESSAGE_API || ( false ? 0 : '/api/send_message.php'), - messageActionApi: runtimeConfig.messageActionApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_MESSAGE_ACTION_API || ( false ? 0 : '/api/message_action.php'), - messageDetailApi: runtimeConfig.messageDetailApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_MESSAGE_DETAIL_API || ( false ? 0 : '/api/message_detail.php'), - messagesApi: runtimeConfig.messagesApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_MESSAGES_API || ( false ? 0 : '/api/messages.php'), - profileApi: runtimeConfig.profileApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_PROFILE_API || ( false ? 0 : '/api/profile.php'), - changePasswordApi: runtimeConfig.changePasswordApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_CHANGE_PASSWORD_API || `${appServerOrigin}/change_pwd`, - resetPasswordApi: runtimeConfig.resetPasswordApi || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_RESET_PASSWORD_API || `${appServerOrigin}/reset_pwd`, - imServerHost: runtimeConfig.imServerHost || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_IM_SERVER_HOST || currentHost, - imRoutePort: Number(runtimeConfig.imRoutePort || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_IM_ROUTE_PORT || 18000), - useWss: runtimeConfig.useWss ?? ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_USE_WSS === 'true', - wsPath: runtimeConfig.wsPath || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_WS_PATH || '/ws', - wsUrl: runtimeConfig.wsUrl || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_WS_URL || '', - sdkMode: runtimeConfig.sdkMode || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_IM_MODE || 'http', - syncIntervalMs: Number(runtimeConfig.syncIntervalMs || ({"NODE_ENV":"production","BASE_URL":""}).VUE_APP_SYNC_INTERVAL_MS || 300), - platform: 5, - clientIdStorageKey: 'qmt-web-im-client-id', - authTokenStoragePrefix: 'qmt-web-im-auth-token-' -}; +/* harmony import */ var _ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9828); + + + +const __exports__ = _ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); /***/ }), -/***/ 9502: +/***/ 163: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7195); -/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6071); -/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9130); -/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8937); -/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8636); -/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4187); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(4546); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(1857); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7987); -/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4062); -/* harmony import */ var jr_qrcode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7596); -/* harmony import */ var jr_qrcode__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(jr_qrcode__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9397); -/* harmony import */ var _stores_session__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4834); -/* harmony import */ var _services_imClient__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6151); +/* harmony import */ var _FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1880); +const __exports__ = _FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 9123: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8040); -const _hoisted_1 = { - class: "login-page" -}; -const _hoisted_2 = { - class: "login-panel" -}; -const _hoisted_3 = { - class: "brand-lockup" -}; -const _hoisted_4 = ["src", "alt"]; -const _hoisted_5 = { - class: "login-tabs" -}; -const _hoisted_6 = ["disabled"]; -const _hoisted_7 = ["src"]; -const _hoisted_8 = { - key: 1 -}; -const _hoisted_9 = { - key: 0, - class: "qr-scan-user" -}; -const _hoisted_10 = ["src"]; -const _hoisted_11 = { - key: 1 -}; -const _hoisted_12 = { - class: "qr-login-status" -}; -const _hoisted_13 = ["disabled"]; -const _hoisted_14 = { - key: 0 -}; -const _hoisted_15 = { - key: 1 -}; -const _hoisted_16 = { - class: "code-row" -}; -const _hoisted_17 = ["disabled"]; -const _hoisted_18 = ["disabled"]; -const _hoisted_19 = { - key: 2, - class: "form-error" -}; -const _hoisted_20 = { - key: 3, - class: "form-info" -}; -const _hoisted_21 = ["onClick"]; -const _hoisted_22 = { - key: 0 -}; -const _hoisted_23 = { - class: "label-row" -}; -const _hoisted_24 = { - key: 0, - class: "field-error-badge" -}; -const _hoisted_25 = { - class: "phone-row" -}; -const _hoisted_26 = { - class: "country-code-field" -}; -const _hoisted_27 = { - key: 1 -}; -const _hoisted_28 = { - key: 0, - class: "code-row" -}; -const _hoisted_29 = ["disabled"]; -const _hoisted_30 = { - key: 1, - class: "captcha-row" -}; -const _hoisted_31 = ["src"]; -const _hoisted_32 = { - key: 2 -}; -const _hoisted_33 = { - key: 3 -}; -const _hoisted_34 = { - class: "code-row" -}; -const _hoisted_35 = { - key: 4 -}; -const _hoisted_36 = { - key: 5 -}; -const _hoisted_37 = { - class: "phone-row" -}; -const _hoisted_38 = ["value"]; -const _hoisted_39 = { - key: 6 -}; -const _hoisted_40 = { - class: "captcha-row" -}; -const _hoisted_41 = ["src"]; -const _hoisted_42 = { - key: 7 -}; -const _hoisted_43 = { - key: 8 -}; -const _hoisted_44 = ["disabled"]; -const _hoisted_45 = { - key: 9, - class: "form-error" -}; -const _hoisted_46 = { - key: 10, - class: "form-info" -}; -const _hoisted_47 = ["value"]; -const _hoisted_48 = ["disabled"]; -const _hoisted_49 = { - key: 0, - class: "form-error" -}; -const _hoisted_50 = { - key: 1, - class: "form-info" -}; +const __exports__ = _FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 578: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(103); +const __exports__ = _ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 371: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5896); -const QR_CODE_PREFIX_PC_SESSION = 'wildfirechat://pcsession/'; -const pendingRegistrationStorageKey = 'qmt-web-im-pending-registration'; -const defaultPlatformLogo = '/img/5IuOieu9PF8MJtp43kD2kCkdLVjVwDp7.ico'; -const emailRegisterEnabled = false; -/* harmony default export */ __webpack_exports__.A = ({ - __name: 'LoginView', - setup(__props) { - const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)(); - const view = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('login'); - const mode = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('qr'); - const mobile = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const password = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const code = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('66666'); - const sendingCode = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const info = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const qrStatus = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('idle'); - const qrCodeImage = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const qrSessionToken = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const qrUserName = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const qrUserPortrait = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const qrPolling = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - let qrGeneration = 0; - let qrExpireTimer = null; - const defaultPlatformName = _config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.appName; - const platformName = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(defaultPlatformName); - const platformLogo = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(defaultPlatformLogo); - const registerType = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('phone'); - const registerMethods = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)({ - phone: true, - email: false, - username: false - }); - const mobileRealVerify = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const registerPhoneError = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const phoneCaptcha = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const phoneCaptchaImage = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const usernameCaptcha = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const usernameCaptchaImage = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); - const settingRegisterPassword = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(false); - const pendingRegistration = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .reactive */ .Kh)({ - mobile: '', - result: null, - resetCode: '' - }); - const registerForm = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .reactive */ .Kh)({ - phoneCountryCode: '86', - phone: '', - code: '', - email: '', - emailCode: '', - username: '', - usernamePhoneCountryCode: '+86', - usernamePhone: '', - usernameCode: '', - password: '', - confirmPassword: '' - }); - const registerPasswordForm = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .reactive */ .Kh)({ - password: '', - confirmPassword: '' - }); - const countryCodeOptions = [{ - value: '+86', - label: '+86' - }, { - value: '+852', - label: '+852' - }, { - value: '+853', - label: '+853' - }, { - value: '+886', - label: '+886' - }, { - value: '+1', - label: '+1' - }, { - value: '+44', - label: '+44' - }, { - value: '+60', - label: '+60' - }, { - value: '+63', - label: '+63' - }, { - value: '+65', - label: '+65' - }, { - value: '+66', - label: '+66' - }, { - value: '+81', - label: '+81' - }, { - value: '+82', - label: '+82' - }]; - const registerMethodOptions = [{ - key: 'phone', - label: '手机号注册' - }, { - key: 'email', - label: '邮箱注册' - }, { - key: 'username', - label: '用户名注册' - }]; - const canSubmit = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - if (mode.value === 'password') { - return mobile.value.length >= 5 && password.value.length >= 1; - } - return mobile.value.length >= 5 && code.value.length >= 1; - }); - const visibleRegisterMethods = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - const enabled = registerMethodOptions.filter(item => item.key !== 'email' && registerMethods.value[item.key]); - return enabled.length ? enabled : [registerMethodOptions[0]]; - }); - const canRegisterSubmit = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - if (registerType.value === 'phone') { - return registerForm.phone.length >= 5 && (mobileRealVerify.value ? registerForm.code.length >= 1 : phoneCaptchaMatched.value); - } - if (registerType.value === 'email') { - return false; - } - return registerForm.username.length >= 3 && registerForm.usernamePhone.length >= 5 && usernameCaptchaMatched.value && registerForm.password.length >= 1 && registerForm.password === registerForm.confirmPassword; - }); - const canSetRegisterPassword = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - return pendingRegistration.mobile && pendingRegistration.resetCode && registerPasswordForm.password.length >= 1 && registerPasswordForm.password === registerPasswordForm.confirmPassword; - }); - const phoneCaptchaStatus = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => getCaptchaStatus(registerForm.code, phoneCaptcha.value)); - const phoneCaptchaMatched = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => phoneCaptchaStatus.value === 'valid'); - const phoneCaptchaClass = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => getCaptchaClass(phoneCaptchaStatus.value)); - const usernameCaptchaStatus = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - return getCaptchaStatus(registerForm.usernameCode, usernameCaptcha.value); - }); - const usernameCaptchaMatched = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => usernameCaptchaStatus.value === 'valid'); - const usernameCaptchaClass = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => getCaptchaClass(usernameCaptchaStatus.value)); - const qrUserInitial = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - return String(qrUserName.value || '用').slice(0, 1).toUpperCase(); - }); - const qrStatusTitle = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - if (session.connecting || qrStatus.value === 'confirmed') { - return '正在进入'; - } - if (qrStatus.value === 'loading') { - return '正在生成二维码'; - } - if (qrStatus.value === 'scanned') { - return qrUserName.value ? `${qrUserName.value} 已扫码` : '已扫码'; - } - if (qrStatus.value === 'expired') { - return '二维码已过期'; - } - if (qrStatus.value === 'error') { - return '二维码加载失败'; - } - return '手机扫码登录'; - }); - const qrStatusText = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - if (session.connecting || qrStatus.value === 'confirmed') { - return '登录信息已确认,正在建立连接'; - } - if (qrStatus.value === 'loading') { - return '正在向服务器创建登录会话'; - } - if (qrStatus.value === 'scanned') { - return '请在手机 App 上确认登录'; - } - if (qrStatus.value === 'expired') { - return '请刷新后重新扫码'; - } - if (qrStatus.value === 'error') { - return '请刷新二维码后重试'; - } - return '使用已登录的手机 App 扫描二维码'; - }); - const qrRefreshText = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .computed */ .EW)(() => { - if (qrStatus.value === 'loading') { - return '生成中...'; - } - if (qrStatus.value === 'expired' || qrStatus.value === 'error') { - return '重新生成二维码'; - } - return '刷新二维码'; - }); - (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .watch */ .wB)(visibleRegisterMethods, methods => { - if (!methods.some(item => item.key === registerType.value)) { - registerType.value = methods[0]?.key || 'phone'; - } - }); - (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .onMounted */ .sV)(() => { - loadPlatformConfig(); - loadRegisterConfig(); - restorePendingRegistration(); - if (view.value === 'login' && mode.value === 'qr') { - startQrLogin(); - } - }); - (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .onBeforeUnmount */ .xo)(() => { - stopQrLogin(); - }); - async function requestCode() { - info.value = ''; - sendingCode.value = true; - try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_8__/* .imClient */ .wD.requestAuthCode(mobile.value); - info.value = '验证码已发送;本地测试也可以直接使用 66666'; - } catch (error) { - session.error = error.message || '验证码发送失败'; - } finally { - sendingCode.value = false; - } - } - async function requestRegisterCode() { - info.value = ''; - sendingCode.value = true; - try { - await _services_imClient__WEBPACK_IMPORTED_MODULE_8__/* .imClient */ .wD.requestAuthCode(formatPhoneForApi(registerForm.phoneCountryCode, registerForm.phone)); - info.value = '验证码已发送;本地测试也可以直接使用 66666'; - } catch (error) { - session.error = error.message || '验证码发送失败'; - } finally { - sendingCode.value = false; - } - } - function submit() { - if (mode.value === 'qr') { - return; - } - if (mode.value === 'password') { - session.loginWithPassword(mobile.value, password.value); - return; - } - session.loginWithCode(mobile.value, code.value); - } - function setLoginMode(nextMode) { - session.error = ''; - info.value = ''; - mode.value = nextMode; - if (nextMode === 'qr') { - startQrLogin(); - return; - } - stopQrLogin(); - } - function resetQrState() { - qrStatus.value = 'idle'; - qrCodeImage.value = ''; - qrSessionToken.value = ''; - qrUserName.value = ''; - qrUserPortrait.value = ''; - qrPolling.value = false; - } - function clearQrExpireTimer() { - if (qrExpireTimer) { - window.clearTimeout(qrExpireTimer); - qrExpireTimer = null; - } - } - function stopQrLogin() { - qrGeneration += 1; - clearQrExpireTimer(); - resetQrState(); - } - function refreshQrLogin() { - startQrLogin(true); - } - async function startQrLogin(force = false) { - if (mode.value !== 'qr') { - return; - } - if (!force && qrSessionToken.value && qrCodeImage.value && qrStatus.value !== 'expired' && qrStatus.value !== 'error') { - return; - } - qrGeneration += 1; - const generation = qrGeneration; - clearQrExpireTimer(); - session.error = ''; - info.value = ''; - qrStatus.value = 'loading'; - qrCodeImage.value = ''; - qrSessionToken.value = ''; - qrUserName.value = ''; - qrUserPortrait.value = ''; - qrPolling.value = false; - try { - const pcSession = await _services_imClient__WEBPACK_IMPORTED_MODULE_8__/* .imClient */ .wD.createPcSession(); - if (generation !== qrGeneration || mode.value !== 'qr') { - return; - } - const token = String(pcSession.token || ''); - if (!token) { - throw new Error('服务器没有返回扫码登录凭证'); - } - qrSessionToken.value = token; - qrCodeImage.value = jr_qrcode__WEBPACK_IMPORTED_MODULE_5___default().getQrBase64(QR_CODE_PREFIX_PC_SESSION + token); - qrStatus.value = 'waiting'; - const expireMs = Math.max(30000, Math.min(Number(pcSession.expired || 300000), 300000)); - qrExpireTimer = window.setTimeout(() => { - if (generation === qrGeneration && qrStatus.value !== 'confirmed' && !session.isAuthenticated) { - qrStatus.value = 'expired'; - } - }, expireMs); - pollQrLogin(generation, token); - } catch (error) { - if (generation !== qrGeneration) { - return; - } - qrStatus.value = 'error'; - session.error = error.message || '二维码加载失败'; - } - } - async function pollQrLogin(generation, token) { - qrPolling.value = true; - try { - while (generation === qrGeneration && mode.value === 'qr' && !session.isAuthenticated) { - const data = await _services_imClient__WEBPACK_IMPORTED_MODULE_8__/* .imClient */ .wD.loginWithPcSession(token); - if (generation !== qrGeneration || mode.value !== 'qr') { - return; - } - const codeValue = Number(data.code); - if (codeValue === 0) { - qrStatus.value = 'confirmed'; - clearQrExpireTimer(); - await session.completePcSessionLogin(data.result || {}); - return; - } - if (codeValue === 9) { - qrStatus.value = 'scanned'; - qrUserName.value = data.result?.userName || data.result?.displayName || qrUserName.value; - qrUserPortrait.value = data.result?.portrait || qrUserPortrait.value; - await delay(800); - continue; - } - if (codeValue === 10) { - qrStatus.value = 'waiting'; - await delay(1000); - continue; - } - if (codeValue === 18) { - qrStatus.value = 'expired'; - session.error = '手机端已取消登录'; - return; - } - if (codeValue === 8) { - qrStatus.value = 'expired'; - return; - } - throw new Error(data.message || '扫码登录失败'); - } - } catch (error) { - if (generation === qrGeneration && mode.value === 'qr' && !session.isAuthenticated) { - qrStatus.value = 'error'; - session.error = error.message || '扫码登录失败'; - } - } finally { - if (generation === qrGeneration) { - qrPolling.value = false; - } - } - } - function delay(ms) { - return new Promise(resolve => window.setTimeout(resolve, ms)); - } - function normalizeUsernameCaptchaInput() { - registerForm.usernameCode = registerForm.usernameCode.replace(/\D/g, '').slice(0, 6); - } - function normalizePhoneCaptchaInput() { - registerForm.code = registerForm.code.replace(/\D/g, '').slice(0, 6); - } - function normalizeRegisterCountryCode() { - registerForm.phoneCountryCode = registerForm.phoneCountryCode.replace(/\D/g, '').slice(0, 6); - } - function showPhoneCaptcha() { - phoneCaptcha.value = randomDigits(6); - phoneCaptchaImage.value = renderCaptchaImage(phoneCaptcha.value); - registerForm.code = ''; - } - function showUsernameCaptcha() { - usernameCaptcha.value = randomDigits(6); - usernameCaptchaImage.value = renderCaptchaImage(usernameCaptcha.value); - registerForm.usernameCode = ''; - } - function getCaptchaStatus(inputValue, captchaValue) { - if (inputValue.length < 6) { - return ''; - } - return captchaValue && inputValue === captchaValue ? 'valid' : 'invalid'; - } - function getCaptchaClass(status) { - return { - 'captcha-input-valid': status === 'valid', - 'captcha-input-invalid': status === 'invalid' - }; - } - function randomDigits(length) { - let value = ''; - for (let index = 0; index < length; index += 1) { - value += Math.floor(Math.random() * 10); - } - return value; - } - function renderCaptchaImage(text) { - const width = 112; - const height = 42; - const canvas = document.createElement('canvas'); - canvas.width = width; - canvas.height = height; - const context = canvas.getContext('2d'); - context.fillStyle = '#f7fbfa'; - context.fillRect(0, 0, width, height); - for (let index = 0; index < 11; index += 1) { - context.beginPath(); - context.moveTo(Math.random() * width, Math.random() * height); - context.lineTo(Math.random() * width, Math.random() * height); - context.strokeStyle = `rgba(${25 + Math.random() * 60}, ${55 + Math.random() * 70}, ${55 + Math.random() * 70}, 0.82)`; - context.lineWidth = 1.4; - context.stroke(); - } - context.font = '700 23px Arial, sans-serif'; - context.textBaseline = 'middle'; - context.textAlign = 'center'; - for (let index = 0; index < text.length; index += 1) { - context.fillStyle = index % 2 === 0 ? '#153f3b' : '#1b6760'; - context.fillText(text[index], 14 + index * 17, height / 2 + 1); - } - for (let index = 0; index < 70; index += 1) { - context.fillStyle = `rgba(20, 70, 65, ${0.12 + Math.random() * 0.2})`; - context.fillRect(Math.random() * width, Math.random() * height, 1.2, 1.2); - } - return canvas.toDataURL('image/png'); - } - async function submitRegister() { - session.error = ''; - info.value = ''; - if (registerType.value === 'phone') { - clearRegisterPhoneError(); - if (!mobileRealVerify.value && !phoneCaptchaMatched.value) { - session.error = '请输入正确的验证码'; - return; - } - const formattedPhone = formatPhoneForApi(registerForm.phoneCountryCode, registerForm.phone); - const phoneExists = await isRegisterPhoneExists(formattedPhone); - if (phoneExists === null) { - return; - } - if (phoneExists) { - registerPhoneError.value = '该手机号已经注册过'; - return; - } - const loginCode = mobileRealVerify.value ? registerForm.code : '66666'; - const result = await session.registerWithPhone(formattedPhone, loginCode); - if (!result) { - return; - } - if (!result.resetCode) { - session.error = '注册成功,但没有收到设置密码凭证'; - return; - } - setPendingRegistration(formattedPhone, result); - registerPasswordForm.password = ''; - registerPasswordForm.confirmPassword = ''; - view.value = 'setPassword'; - return; - } - if (registerType.value === 'email') { - session.error = '邮箱注册已暂时关闭,请使用手机号注册'; - return; - } - session.error = registerType.value === 'email' ? '邮箱注册接口还未接入,请先使用手机号注册' : '用户名注册接口还未接入,请先使用手机号注册'; - } - async function submitRegisterPassword() { - session.error = ''; - info.value = ''; - if (!pendingRegistration.mobile || !pendingRegistration.resetCode) { - session.error = '注册状态已失效,请重新注册'; - return; - } - if (!registerPasswordForm.password || !registerPasswordForm.confirmPassword) { - session.error = '请填写完整密码'; - return; - } - if (registerPasswordForm.password !== registerPasswordForm.confirmPassword) { - session.error = '两次输入的密码不一致'; - return; - } - settingRegisterPassword.value = true; - try { - await session.resetPasswordWithCode({ - mobile: pendingRegistration.mobile, - resetCode: pendingRegistration.resetCode, - newPassword: registerPasswordForm.password - }); - await session.loginWithPassword(pendingRegistration.mobile, registerPasswordForm.password); - if (!session.error) { - clearPendingRegistration(); - } - } catch (error) { - session.error = error.message || '密码设置失败'; - } finally { - settingRegisterPassword.value = false; - } - } - function formatPhoneForApi(countryCode, phone) { - const digits = String(countryCode || '86').replace(/\D/g, '') || '86'; - const normalizedCode = `+${digits}`; - const normalizedPhone = String(phone || '').replace(/\s/g, ''); - if (normalizedCode === '+86') { - return normalizedPhone; - } - return `${normalizedCode}${normalizedPhone}`; - } - async function loadRegisterConfig() { - try { - const response = await axios__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A.get(_config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.registerConfigApi, { - withCredentials: false - }); - const methods = response.data?.data?.methods; - if (methods) { - registerMethods.value = { - phone: Boolean(methods.phone), - email: emailRegisterEnabled && Boolean(methods.email), - username: Boolean(methods.username) - }; - } - mobileRealVerify.value = Boolean(response.data?.data?.mobile_real_verify); - } catch (error) { - registerMethods.value = { - phone: true, - email: false, - username: false - }; - mobileRealVerify.value = false; - } - } - async function loadPlatformConfig() { - try { - const response = await axios__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A.get(_config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.platformConfigApi, { - withCredentials: false - }); - if (response.data?.code !== 0) { - throw new Error(response.data?.message || '平台配置加载失败'); - } - const config = response.data?.result || {}; - const name = String(config.platformName || '').trim(); - const logo = String(config.logoUrl || config.logo || '').trim(); - const version = String(config.version || '').trim(); - platformName.value = name || defaultPlatformName; - platformLogo.value = resolveBrandLogo(logo, version); - } catch (error) { - platformName.value = defaultPlatformName; - platformLogo.value = defaultPlatformLogo; - } - applyDocumentBrand(); - } - function resolveBrandLogo(value, version = '') { - const logo = String(value || '').trim(); - if (!logo) { - return defaultPlatformLogo; - } - if (/^(https?:|data:|blob:)/i.test(logo)) { - return appendBrandVersion(logo, version); - } - if (logo.startsWith('//')) { - return appendBrandVersion(`${window.location.protocol}${logo}`, version); - } - const base = logo.startsWith('/') ? _config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.adminServer : `${_config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.adminServer}/`; - return appendBrandVersion(new URL(logo, base).toString(), version); - } - function appendBrandVersion(url, version) { - if (!version || /^(data:|blob:)/i.test(url)) { - return url; - } - const parsed = new URL(url, window.location.href); - parsed.searchParams.set('v', version); - return parsed.toString(); - } - function applyDocumentBrand() { - if (typeof document === 'undefined') { - return; - } - document.title = platformName.value || defaultPlatformName; - const iconUrl = platformLogo.value || defaultPlatformLogo; - setDocumentIcon('icon', iconUrl); - setDocumentIcon('shortcut icon', iconUrl); - setDocumentIcon('apple-touch-icon', iconUrl); - } - function setDocumentIcon(rel, href) { - let icon = document.querySelector(`link[rel="${rel}"]`); - if (!icon) { - icon = document.createElement('link'); - icon.setAttribute('rel', rel); - document.head.appendChild(icon); - } - icon.setAttribute('href', href); - } - function handleBrandLogoError() { - if (platformLogo.value !== defaultPlatformLogo) { - platformLogo.value = defaultPlatformLogo; - applyDocumentBrand(); - } - } - async function isRegisterPhoneExists(phone) { - try { - const response = await axios__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A.post(_config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.registerPhoneExistsApi, { - mobile: phone - }, { - withCredentials: false - }); - return Boolean(response.data?.data?.exists); - } catch (error) { - session.error = error.response?.data?.msg || error.message || '手机号检查失败,请稍后重试'; - return null; - } - } - function clearRegisterPhoneError() { - registerPhoneError.value = ''; - } - function clearPendingRegistration() { - pendingRegistration.mobile = ''; - pendingRegistration.result = null; - pendingRegistration.resetCode = ''; - registerPasswordForm.password = ''; - registerPasswordForm.confirmPassword = ''; - sessionStorage.removeItem(pendingRegistrationStorageKey); - } - function setPendingRegistration(phone, result) { - pendingRegistration.mobile = phone; - pendingRegistration.result = result; - pendingRegistration.resetCode = String(result.resetCode || ''); - sessionStorage.setItem(pendingRegistrationStorageKey, JSON.stringify({ - appServer: _config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.appServer, - mobile: pendingRegistration.mobile, - resetCode: pendingRegistration.resetCode, - result - })); - } - function restorePendingRegistration() { - try { - const pending = JSON.parse(sessionStorage.getItem(pendingRegistrationStorageKey) || 'null'); - if (!pending || pending.appServer !== _config__WEBPACK_IMPORTED_MODULE_6__/* .appConfig */ .U.appServer || !pending.mobile || !pending.resetCode) { - return; - } - pendingRegistration.mobile = pending.mobile; - pendingRegistration.result = pending.result || null; - pendingRegistration.resetCode = String(pending.resetCode || ''); - registerPasswordForm.password = ''; - registerPasswordForm.confirmPassword = ''; - view.value = 'setPassword'; - } catch (error) { - sessionStorage.removeItem(pendingRegistrationStorageKey); - } - } - function openRegister() { - session.error = ''; - info.value = ''; - stopQrLogin(); - clearRegisterPhoneError(); - clearPendingRegistration(); - registerForm.phone = registerForm.phone || mobile.value; - registerForm.code = ''; - phoneCaptcha.value = ''; - phoneCaptchaImage.value = ''; - view.value = 'register'; - loadRegisterConfig(); - } - function backToLogin() { - session.error = ''; - info.value = ''; - clearRegisterPhoneError(); - clearPendingRegistration(); - mode.value = 'qr'; - view.value = 'login'; - startQrLogin(); - } - return (_ctx, _cache) => { - return (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("main", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("section", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("img", { - class: "brand-mark", - src: platformLogo.value, - alt: `${platformName.value} 图标`, - onError: handleBrandLogoError - }, null, 40, _hoisted_4), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("h1", null, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(platformName.value), 1), _cache[20] || (_cache[20] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("p", null, "连接既有授权 IM 服务的新版 Web 客户端", -1))])]), view.value === 'login' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("form", { - key: 0, - class: "login-form", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withModifiers */ .D$)(submit, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ - active: mode.value === 'qr' - }), - onClick: _cache[0] || (_cache[0] = $event => setLoginMode('qr')) - }, "扫码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ - active: mode.value === 'password' - }), - onClick: _cache[1] || (_cache[1] = $event => setLoginMode('password')) - }, "密码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ - active: mode.value === 'code' - }), - onClick: _cache[2] || (_cache[2] = $event => setLoginMode('code')) - }, "验证码登录", 2)]), mode.value === 'qr' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_10__/* .Fragment */ .FK, { - key: 0 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", { - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)(["qr-login-card", { - scanned: qrStatus.value === 'scanned', - expired: qrStatus.value === 'expired', - error: qrStatus.value === 'error' - }]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "qr-code-button", - disabled: qrStatus.value === 'loading' || (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting, - onClick: refreshQrLogin - }, [qrCodeImage.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("img", { - key: 0, - src: qrCodeImage.value, - alt: "手机扫码登录二维码" - }, null, 8, _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("span", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(qrStatus.value === 'loading' ? '生成中' : '点击刷新'), 1))], 8, _hoisted_6), qrStatus.value === 'scanned' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("div", _hoisted_9, [qrUserPortrait.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("img", { - key: 0, - src: qrUserPortrait.value, - alt: "" - }, null, 8, _hoisted_10)) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("span", _hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(qrUserInitial.value), 1))])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true)], 2), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("strong", null, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(qrStatusTitle.value), 1), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(qrStatusText.value), 1)]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "primary-action", - disabled: qrStatus.value === 'loading' || (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting, - onClick: refreshQrLogin - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(qrRefreshText.value), 9, _hoisted_13)], 64)) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_10__/* .Fragment */ .FK, { - key: 1 - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("label", null, [_cache[21] || (_cache[21] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => mobile.value = $event), - autocomplete: "username", - inputmode: "tel", - placeholder: "请输入手机号" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, mobile.value, void 0, { - trim: true - }]])]), mode.value === 'password' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_14, [_cache[22] || (_cache[22] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => password.value = $event), - autocomplete: "current-password", - type: "password", - placeholder: "请输入密码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, password.value]])])) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_15, [_cache[23] || (_cache[23] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "验证码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_16, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => code.value = $event), - autocomplete: "one-time-code", - inputmode: "numeric", - placeholder: "本地测试请输入 66666" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, code.value, void 0, { - trim: true - }]]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "code-action", - disabled: sendingCode.value || mobile.value.length < 5, - onClick: requestCode - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(sendingCode.value ? '发送中' : '发送验证码'), 9, _hoisted_17)])])), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - class: "primary-action", - disabled: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting || !canSubmit.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting ? '登录中...' : '登录'), 9, _hoisted_18)], 64)), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).error ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("p", _hoisted_19, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), info.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("p", _hoisted_20, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(info.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true)], 32)) : view.value === 'register' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("form", { - key: 1, - class: "login-form", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withModifiers */ .D$)(submitRegister, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", { - class: "login-tabs register-tabs", - style: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeStyle */ .Tr)({ - gridTemplateColumns: `repeat(${visibleRegisterMethods.value.length || 1}, minmax(0, 1fr))` - }) - }, [((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(true), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_10__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .renderList */ .pI)(visibleRegisterMethods.value, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: item.key, - type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ - active: registerType.value === item.key - }), - onClick: $event => registerType.value = item.key - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(item.label), 11, _hoisted_21); - }), 128))], 4), registerType.value === 'phone' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_22, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", _hoisted_23, [_cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), registerPhoneError.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("span", _hoisted_24, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(registerPhoneError.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_25, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_26, [_cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "+", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => registerForm.phoneCountryCode = $event), - "aria-label": "手机号国码", - autocomplete: "tel-country-code", - inputmode: "numeric", - maxlength: "6", - onInput: normalizeRegisterCountryCode - }, null, 544), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.phoneCountryCode, void 0, { - trim: true - }]])]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => registerForm.phone = $event), - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ - 'field-input-error': registerPhoneError.value - }), - autocomplete: "tel", - inputmode: "tel", - placeholder: "请输入手机号", - onInput: clearRegisterPhoneError - }, null, 34), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.phone, void 0, { - trim: true - }]])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'phone' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_27, [_cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "验证码", -1)), mobileRealVerify.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("div", _hoisted_28, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => registerForm.code = $event), - autocomplete: "one-time-code", - inputmode: "numeric", - placeholder: "请输入短信验证码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.code, void 0, { - trim: true - }]]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "code-action", - disabled: sendingCode.value || registerForm.phone.length < 5, - onClick: requestRegisterCode - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(sendingCode.value ? '发送中' : '发送验证码'), 9, _hoisted_29)])) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("div", _hoisted_30, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[9] || (_cache[9] = $event => registerForm.code = $event), - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)(phoneCaptchaClass.value), - autocomplete: "off", - inputmode: "numeric", - maxlength: "6", - placeholder: "请输入验证码", - onInput: normalizePhoneCaptchaInput - }, null, 34), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.code, void 0, { - trim: true - }]]), !phoneCaptchaImage.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: 0, - type: "button", - class: "code-action", - onClick: showPhoneCaptcha - }, " 发送验证码 ")) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: 1, - type: "button", - class: "captcha-button", - title: "点击更换验证码", - onClick: showPhoneCaptcha - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("img", { - src: phoneCaptchaImage.value, - alt: "6位数字验证码" - }, null, 8, _hoisted_31)]))]))])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), emailRegisterEnabled && registerType.value === 'email' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_32, [_cache[27] || (_cache[27] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "邮箱", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[10] || (_cache[10] = $event => registerForm.email = $event), - autocomplete: "email", - inputmode: "email", - placeholder: "请输入邮箱" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.email, void 0, { - trim: true - }]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), emailRegisterEnabled && registerType.value === 'email' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_33, [_cache[29] || (_cache[29] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "邮箱验证码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_34, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[11] || (_cache[11] = $event => registerForm.emailCode = $event), - autocomplete: "one-time-code", - inputmode: "numeric", - placeholder: "请输入验证码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.emailCode, void 0, { - trim: true - }]]), _cache[28] || (_cache[28] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: "code-action", - disabled: "" - }, "发送验证码", -1))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_35, [_cache[30] || (_cache[30] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "用户名", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[12] || (_cache[12] = $event => registerForm.username = $event), - autocomplete: "username", - placeholder: "请输入用户名" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.username, void 0, { - trim: true - }]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_36, [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_37, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("select", { - "onUpdate:modelValue": _cache[13] || (_cache[13] = $event => registerForm.usernamePhoneCountryCode = $event), - "aria-label": "用户名注册手机号国码" - }, [((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_10__/* .Fragment */ .FK, null, (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .renderList */ .pI)(countryCodeOptions, item => { - return (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("option", { - key: item.value, - value: item.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(item.label), 9, _hoisted_38); - }), 64))], 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelSelect */ .u1, registerForm.usernamePhoneCountryCode]]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[14] || (_cache[14] = $event => registerForm.usernamePhone = $event), - autocomplete: "tel", - inputmode: "tel", - placeholder: "请输入手机号" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.usernamePhone, void 0, { - trim: true - }]])])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_39, [_cache[32] || (_cache[32] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "验证码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_40, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[15] || (_cache[15] = $event => registerForm.usernameCode = $event), - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)(usernameCaptchaClass.value), - autocomplete: "off", - inputmode: "numeric", - maxlength: "6", - placeholder: "请输入验证码", - onInput: normalizeUsernameCaptchaInput - }, null, 34), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.usernameCode, void 0, { - trim: true - }]]), !usernameCaptchaImage.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: 0, - type: "button", - class: "code-action", - onClick: showUsernameCaptcha - }, " 显示验证码 ")) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: 1, - type: "button", - class: "captcha-button", - title: "点击更换验证码", - onClick: showUsernameCaptcha - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("img", { - src: usernameCaptchaImage.value, - alt: "6位数字验证码" - }, null, 8, _hoisted_41)]))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_42, [_cache[33] || (_cache[33] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[16] || (_cache[16] = $event => registerForm.password = $event), - autocomplete: "new-password", - type: "password", - placeholder: "请输入密码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.password]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), registerType.value === 'username' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("label", _hoisted_43, [_cache[34] || (_cache[34] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "确认密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[17] || (_cache[17] = $event => registerForm.confirmPassword = $event), - autocomplete: "new-password", - type: "password", - placeholder: "请再次输入密码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerForm.confirmPassword]])])) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - class: "primary-action", - disabled: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting || !canRegisterSubmit.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting ? '注册中...' : '注册'), 9, _hoisted_44), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).error ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("p", _hoisted_45, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), info.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("p", _hoisted_46, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(info.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true)], 32)) : ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("form", { - key: 2, - class: "login-form", - onSubmit: (0,vue__WEBPACK_IMPORTED_MODULE_13__/* .withModifiers */ .D$)(submitRegisterPassword, ["prevent"]) - }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("label", null, [_cache[35] || (_cache[35] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "手机号", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - value: pendingRegistration.mobile, - autocomplete: "username", - readonly: "" - }, null, 8, _hoisted_47)]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("label", null, [_cache[36] || (_cache[36] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "登录密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[18] || (_cache[18] = $event => registerPasswordForm.password = $event), - autocomplete: "new-password", - type: "password", - placeholder: "请输入登录密码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerPasswordForm.password]])]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("label", null, [_cache[37] || (_cache[37] = (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("span", null, "确认密码", -1)), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .withDirectives */ .bo)((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("input", { - "onUpdate:modelValue": _cache[19] || (_cache[19] = $event => registerPasswordForm.confirmPassword = $event), - autocomplete: "new-password", - type: "password", - placeholder: "请再次输入密码" - }, null, 512), [[vue__WEBPACK_IMPORTED_MODULE_13__/* .vModelText */ .Jo, registerPasswordForm.confirmPassword]])]), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - class: "primary-action", - disabled: (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting || settingRegisterPassword.value || !canSetRegisterPassword.value - }, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(settingRegisterPassword.value || (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).connecting ? '保存中...' : '保存并进入'), 9, _hoisted_48), (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).error ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("p", _hoisted_49, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)((0,vue__WEBPACK_IMPORTED_MODULE_9__/* .unref */ .R1)(session).error), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true), info.value ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("p", _hoisted_50, (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .toDisplayString */ .v_)(info.value), 1)) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true)], 32)), view.value === 'login' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: 3, - class: "ghost-action", - type: "button", - onClick: openRegister - }, " 新用户注册 ")) : view.value === 'register' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("button", { - key: 4, - class: "ghost-action", - type: "button", - onClick: backToLogin - }, " 返回登录 ")) : (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createCommentVNode */ .Q3)("", true)])]); - }; - } -}); +const __exports__ = _ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 8328: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony import */ var _NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1169); + + + +const __exports__ = _NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A; + +/* harmony default export */ __webpack_exports__.A = (__exports__); + +/***/ }), + +/***/ 4208: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4677); + + +/***/ }), + +/***/ 6736: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatShell_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2511); + + +/***/ }), + +/***/ 4524: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LoginView_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8607); + + +/***/ }), + +/***/ 9843: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ChatPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7562); + + +/***/ }), + +/***/ 5990: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageComposer_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6935); + + +/***/ }), + +/***/ 3172: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_MessageList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4021); + + +/***/ }), + +/***/ 9828: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactPanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3915); + + +/***/ }), + +/***/ 1880: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoriteList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9829); + + +/***/ }), + +/***/ 8040: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FavoritePanel_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6415); + + +/***/ }), + +/***/ 103: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ContactList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5684); + + +/***/ }), + +/***/ 5896: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_ConversationList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4621); + + +/***/ }), + +/***/ 1169: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ A: function() { return /* reexport safe */ _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__.A; } +/* harmony export */ }); +/* harmony import */ var _node_modules_thread_loader_dist_cjs_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_1_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7420); + /***/ }) @@ -9211,11 +9620,26 @@ const emailRegisterEnabled = false; /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { -/******/ // define getter functions for harmony exports +/******/ // define getter/value functions for harmony exports /******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ if(Array.isArray(definition)) { +/******/ var i = 0; +/******/ while(i < definition.length) { +/******/ var key = definition[i++]; +/******/ var binding = definition[i++]; +/******/ if(!__webpack_require__.o(exports, key)) { +/******/ if(binding === 0) { +/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] }); +/******/ } else { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding }); +/******/ } +/******/ } else if(binding === 0) { i++; } +/******/ } +/******/ } else { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } /******/ } /******/ } /******/ }; @@ -9249,6 +9673,17 @@ const emailRegisterEnabled = false; /******/ }; /******/ }(); /******/ +/******/ /* webpack/runtime/set anonymous default export name */ +/******/ !function() { +/******/ // set .name for anonymous default exports per ES spec +/******/ // skipped when the property is non-configurable (pre-ES2015 engines), +/******/ // where Object.defineProperty would throw +/******/ __webpack_require__.dn = function(x) { +/******/ var descriptor = Object.getOwnPropertyDescriptor(x, "name"); +/******/ if (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, "name", { value: "default", configurable: true }); +/******/ }; +/******/ }(); +/******/ /******/ /* webpack/runtime/jsonp chunk loading */ /******/ !function() { /******/ // no baseURI @@ -9309,9 +9744,9 @@ const emailRegisterEnabled = false; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module depends on other loaded chunks and execution need to be delayed -/******/ var __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(8218); }) +/******/ var __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(1406); }) /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); /******/ /******/ })() ; -//# sourceMappingURL=app.ec5edb4d.js.map \ No newline at end of file +//# sourceMappingURL=app.5863459a.js.map \ No newline at end of file diff --git a/dist/js/app.5863459a.js.map b/dist/js/app.5863459a.js.map new file mode 100644 index 0000000..0d79727 --- /dev/null +++ b/dist/js/app.5863459a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/app.5863459a.js","mappings":"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2C,0CAA0C;WACrF,MAAM;WACN,2CAA2C,gCAAgC;WAC3E;WACA,KAAK,yBAAyB;WAC9B;WACA,GAAG;WACH;WACA;WACA,0CAA0C,wCAAwC;WAClF;WACA;WACA;WACA,E;;;;;WCtBA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC,I;;;;;WCPD,8CAA8C,yD;;;;;WCA9C;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;WCNA;WACA;WACA;WACA;WACA;WACA,0GAA0G,sCAAsC;WAChJ,E;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,8CAA8C;;WAE9C;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,iCAAiC,mCAAmC;WACpE;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA,4G;;;;;UElDA;UACA;UACA;UACA,+EAA+E,mCAAmC;UAClH","sources":["webpack://jc-web-im/./src/App.vue","webpack://jc-web-im/./src/components/ChatShell.vue","webpack://jc-web-im/./src/components/LoginView.vue","webpack://jc-web-im/./src/components/chat/ChatPanel.vue","webpack://jc-web-im/./src/components/chat/MessageComposer.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue","webpack://jc-web-im/./src/config.js","webpack://jc-web-im/./src/main.js","webpack://jc-web-im/./src/services/httpImClient.js","webpack://jc-web-im/./src/services/imClient.js","webpack://jc-web-im/./src/services/longConnectionImClient.js","webpack://jc-web-im/./src/services/realtimeNotifications.js","webpack://jc-web-im/./src/stores/contacts.js","webpack://jc-web-im/./src/stores/conversations.js","webpack://jc-web-im/./src/stores/navigation.js","webpack://jc-web-im/./src/stores/session.js","webpack://jc-web-im/./src/App.vue?7ccd","webpack://jc-web-im/./src/components/ChatShell.vue?96ef","webpack://jc-web-im/./src/components/LoginView.vue?3311","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?ffa3","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?d45c","webpack://jc-web-im/./src/components/chat/MessageList.vue?73ad","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?11f7","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?7e83","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?9ce0","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?8b7f","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?8a4a","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?e8e6","webpack://jc-web-im/./src/App.vue?455b","webpack://jc-web-im/./src/components/ChatShell.vue?ef53","webpack://jc-web-im/./src/components/LoginView.vue?f595","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?402c","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?bb22","webpack://jc-web-im/./src/components/chat/MessageList.vue?c1a2","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?96e0","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?bdf3","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?ee85","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?dff0","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?0914","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?c3d8","webpack://jc-web-im/webpack/bootstrap","webpack://jc-web-im/webpack/runtime/chunk loaded","webpack://jc-web-im/webpack/runtime/compat get default export","webpack://jc-web-im/webpack/runtime/define property getters","webpack://jc-web-im/webpack/runtime/global","webpack://jc-web-im/webpack/runtime/hasOwnProperty shorthand","webpack://jc-web-im/webpack/runtime/make namespace object","webpack://jc-web-im/webpack/runtime/set anonymous default export name","webpack://jc-web-im/webpack/runtime/jsonp chunk loading","webpack://jc-web-im/webpack/before-startup","webpack://jc-web-im/webpack/startup","webpack://jc-web-im/webpack/after-startup"],"sourcesContent":["\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","const currentHost = window.location.hostname || '127.0.0.1';\nconst runtimeConfig = window.JC_WEB_IM_CONFIG || {};\nconst appServerOrigin = `${window.location.protocol}//${currentHost}:18888`;\nconst adminServerOrigin = `${window.location.protocol}//${currentHost}:8024`;\n\nexport const appConfig = {\n appName: 'Web IM',\n adminServer: runtimeConfig.adminServer || process.env.VUE_APP_ADMIN_SERVER || adminServerOrigin,\n appServer: runtimeConfig.appServer || process.env.VUE_APP_APP_SERVER || appServerOrigin,\n platformConfigApi: runtimeConfig.platformConfigApi || process.env.VUE_APP_PLATFORM_CONFIG_API || (process.env.NODE_ENV === 'development' ? '/local-api/platform_config.php' : '/api/platform_config.php'),\n registerConfigApi: runtimeConfig.registerConfigApi || process.env.VUE_APP_REGISTER_CONFIG_API || `${adminServerOrigin}/api/register-config`,\n registerPhoneExistsApi: runtimeConfig.registerPhoneExistsApi || process.env.VUE_APP_REGISTER_PHONE_EXISTS_API || `${adminServerOrigin}/api/register-phone-exists`,\n contactsApi: runtimeConfig.contactsApi || process.env.VUE_APP_CONTACTS_API || (process.env.NODE_ENV === 'development' ? '/local-api/contacts.php' : '/api/contacts.php'),\n updateAliasApi: runtimeConfig.updateAliasApi || process.env.VUE_APP_UPDATE_ALIAS_API || (process.env.NODE_ENV === 'development' ? '/local-api/update_alias.php' : '/api/update_alias.php'),\n addContactApi: runtimeConfig.addContactApi || process.env.VUE_APP_ADD_CONTACT_API || (process.env.NODE_ENV === 'development' ? '/local-api/add_contact.php' : '/api/add_contact.php'),\n conversationActionsApi: runtimeConfig.conversationActionsApi || process.env.VUE_APP_CONVERSATION_ACTIONS_API || (process.env.NODE_ENV === 'development' ? '/local-api/conversation_actions.php' : '/api/conversation_actions.php'),\n sendMessageApi: runtimeConfig.sendMessageApi || process.env.VUE_APP_SEND_MESSAGE_API || (process.env.NODE_ENV === 'development' ? '/local-api/send_message.php' : '/api/send_message.php'),\n messageActionApi: runtimeConfig.messageActionApi || process.env.VUE_APP_MESSAGE_ACTION_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_action.php' : '/api/message_action.php'),\n messageDetailApi: runtimeConfig.messageDetailApi || process.env.VUE_APP_MESSAGE_DETAIL_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_detail.php' : '/api/message_detail.php'),\n messagesApi: runtimeConfig.messagesApi || process.env.VUE_APP_MESSAGES_API || (process.env.NODE_ENV === 'development' ? '/local-api/messages.php' : '/api/messages.php'),\n profileApi: runtimeConfig.profileApi || process.env.VUE_APP_PROFILE_API || (process.env.NODE_ENV === 'development' ? '/local-api/profile.php' : '/api/profile.php'),\n changePasswordApi: runtimeConfig.changePasswordApi || process.env.VUE_APP_CHANGE_PASSWORD_API || `${appServerOrigin}/change_pwd`,\n resetPasswordApi: runtimeConfig.resetPasswordApi || process.env.VUE_APP_RESET_PASSWORD_API || `${appServerOrigin}/reset_pwd`,\n imServerHost: runtimeConfig.imServerHost || process.env.VUE_APP_IM_SERVER_HOST || currentHost,\n imRoutePort: Number(runtimeConfig.imRoutePort || process.env.VUE_APP_IM_ROUTE_PORT || 18000),\n useWss: runtimeConfig.useWss ?? process.env.VUE_APP_USE_WSS === 'true',\n wsPath: runtimeConfig.wsPath || process.env.VUE_APP_WS_PATH || '/ws',\n wsUrl: runtimeConfig.wsUrl || process.env.VUE_APP_WS_URL || '',\n sdkMode: runtimeConfig.sdkMode || process.env.VUE_APP_IM_MODE || 'http',\n syncIntervalMs: Number(runtimeConfig.syncIntervalMs || process.env.VUE_APP_SYNC_INTERVAL_MS || 15000),\n sseEnabled: runtimeConfig.sseEnabled ?? process.env.VUE_APP_SSE_ENABLED === 'true',\n sseTicketApi: runtimeConfig.sseTicketApi || process.env.VUE_APP_SSE_TICKET_API || '/api/sse_ticket.php',\n sseUrl: runtimeConfig.sseUrl || process.env.VUE_APP_SSE_URL || '/ws-events',\n platform: 5,\n clientIdStorageKey: 'qmt-web-im-client-id',\n authTokenStoragePrefix: 'qmt-web-im-auth-token-'\n};\n","import { createApp } from 'vue';\nimport { createPinia } from 'pinia';\nimport App from './App.vue';\nimport './styles/base.css';\n\ncreateApp(App).use(createPinia()).mount('#app');\n","import axios from 'axios';\nimport { appConfig } from '@/config';\n\nconst LOCAL_MESSAGE_STORAGE_KEY = 'qmt-web-im-local-messages-v2';\nconst LOCAL_HIDDEN_MESSAGE_STORAGE_KEY = 'qmt-web-im-hidden-messages-v1';\nconst LOCAL_RECALLED_MESSAGE_STORAGE_KEY = 'qmt-web-im-recalled-messages-v1';\n\nfunction scopedStorageKey(baseKey, userId = '') {\n const scope = `${appConfig.appServer || ''}:${userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction readLocalMessages(userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction readMessageSet(storageKey, userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(storageKey, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction writeMessageSet(storageKey, messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(storageKey, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction messageKeys(message) {\n return [message?.id, message?.messageUid]\n .filter(Boolean)\n .map(value => String(value));\n}\n\nfunction hasStoredMessage(storageKey, conversationId, message, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n return messageKeys(message).some(id => ids.has(id));\n}\n\nfunction storeMessageKeys(storageKey, conversationId, messages, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n messages.forEach(message => {\n messageKeys(message).forEach(id => ids.add(id));\n });\n stored[conversationId] = Array.from(ids);\n writeMessageSet(storageKey, stored, userId);\n}\n\nfunction withRecalledState(message) {\n return {\n ...message,\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n };\n}\n\nfunction applyLocalMessageState(conversationId, messages, userId) {\n return messages\n .filter(message => !hasStoredMessage(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversationId, message, userId))\n .map(message => {\n const isRecalled = Boolean(message.recalled)\n || message.status === 'recalled'\n || hasStoredMessage(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversationId, message, userId);\n if (!isRecalled) {\n return message;\n }\n return withRecalledState(message);\n });\n}\n\nfunction writeLocalMessages(messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction saveLocalMessage(message, userId) {\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[message.conversationId] = messagesByConversation[message.conversationId] || [];\n const index = messagesByConversation[message.conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n messagesByConversation[message.conversationId].splice(index, 1, message);\n } else {\n messagesByConversation[message.conversationId].push(message);\n }\n writeLocalMessages(messagesByConversation, userId);\n}\n\nfunction mergeSyncedMessages(localMessages, remoteMessages, conversationId, userId) {\n const visibleLocalMessages = applyLocalMessageState(conversationId, localMessages, userId);\n const localByKey = new Map();\n visibleLocalMessages.forEach(message => {\n messageKeys(message).forEach(key => {\n if (!localByKey.has(key)) {\n localByKey.set(key, message);\n }\n });\n });\n\n const visibleRemoteMessages = applyLocalMessageState(conversationId, remoteMessages, userId).map(remoteMessage => {\n if (!remoteMessage.recalled || String(remoteMessage.text || '').trim()) {\n return remoteMessage;\n }\n const localMessage = messageKeys(remoteMessage)\n .map(key => localByKey.get(key))\n .find(message => message?.text && message.text !== '你撤回了一条消息');\n return localMessage ? { ...remoteMessage, text: localMessage.text } : remoteMessage;\n });\n const remoteKeys = new Set();\n visibleRemoteMessages.forEach(message => {\n messageKeys(message).forEach(key => remoteKeys.add(key));\n });\n const now = Date.now();\n\n function hasRemoteMatch(localMessage) {\n if (localMessage.messageUid && remoteKeys.has(localMessage.messageUid)) {\n return true;\n }\n return visibleRemoteMessages.some(remoteMessage => {\n return remoteMessage.direction === localMessage.direction\n && remoteMessage.text === localMessage.text\n && Math.abs(Number(remoteMessage.timestamp || 0) - Number(localMessage.timestamp || 0)) < 15000;\n });\n }\n\n const pendingLocalMessages = visibleLocalMessages.filter(message => {\n if (message.status === 'recalled' || message.recalled) {\n return message.direction === 'out' && !hasRemoteMatch(message);\n }\n if (message.direction !== 'out') {\n return false;\n }\n if (message.status === 'sent' && message.messageUid) {\n return !hasRemoteMatch(message);\n }\n if (message.status === 'sent') {\n return !hasRemoteMatch(message) && now - Number(message.timestamp || 0) < 30000;\n }\n return message.status === 'sending' || message.status === 'failed';\n });\n\n return [...visibleRemoteMessages, ...pendingLocalMessages].sort((a, b) => {\n return Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0);\n });\n}\n\nfunction getTitle(value, fallback) {\n return value || fallback || '';\n}\n\nfunction getUniqueEquipment(mobile, fallback) {\n const allowedDevices = {\n '18301902119': '67072d37062c4f31b1165073552933ba',\n '18301902116': '1777479418113eeea8e236edce',\n '18301902118': 'de89fb2f2a61480a8c381f6c16e28bd8',\n '18301902117': 'd117f480faa64145b6162107b1b49617'\n };\n return allowedDevices[mobile] || localStorage.getItem('uniqueEquipment') || fallback;\n}\n\nfunction canUseLocalLoginFallback(response) {\n const message = response.data?.message || '';\n return process.env.NODE_ENV === 'development' && message.includes('允许此设备登录');\n}\n\nexport class HttpImClient {\n constructor() {\n this.listeners = new Map();\n this.connected = false;\n this.currentUser = null;\n }\n\n getClientId() {\n let clientId = localStorage.getItem(appConfig.clientIdStorageKey);\n if (!clientId) {\n clientId = randomId();\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n return clientId;\n }\n\n restoreClientId(clientId) {\n if (clientId) {\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n }\n\n getSdkVersion() {\n return 'HTTP';\n }\n\n async ensureSdk() {\n return true;\n }\n\n async loginWithPassword(mobile, password) {\n const url = `${appConfig.appServer}/login_pwd`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n password,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n if (canUseLocalLoginFallback(response)) {\n return {\n userId: mobile,\n token: `local-device-pending-${Date.now()}`,\n displayName: mobile,\n localOnly: true\n };\n }\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async requestAuthCode(mobile) {\n const response = await axios.post(`${appConfig.appServer}/send_code`, { mobile }, { withCredentials: false });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '验证码发送失败');\n }\n return response.data.result;\n }\n\n async loginWithCode(mobile, code) {\n const url = `${appConfig.appServer}/login`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async createPcSession(userId = '') {\n const response = await axios.post(`${appConfig.appServer}/pc_session`, {\n flag: 1,\n device_name: 'Web IM',\n userId,\n clientId: this.getClientId(),\n platform: appConfig.platform\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '二维码登录会话创建失败');\n }\n return response.data.result || {};\n }\n\n async loginWithPcSession(token) {\n const url = `${appConfig.appServer}/session_login/${encodeURIComponent(token)}`;\n const response = await axios.post(url, null, { withCredentials: false });\n this.persistAppToken(url, response);\n const data = response.data || {};\n if ([0, 8, 9, 10, 18].includes(Number(data.code))) {\n return data;\n }\n throw new Error(data.message || '扫码登录失败');\n }\n\n async registerWithPhone(mobile, code) {\n const url = `${appConfig.appServer}/register`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n\n try {\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '注册失败');\n }\n return response.data.result;\n } catch (error) {\n const status = error.response?.status;\n if (status === 404 || status === 405) {\n return this.loginWithCode(mobile, code);\n }\n throw error;\n }\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.connected = true;\n this.emit('connectionStatusChanged', { connected: true, statusText: '已连接' });\n this.refreshConversationList();\n }\n\n disconnect() {\n this.connected = false;\n this.currentUser = null;\n this.emit('connectionStatusChanged', { connected: false, statusText: '未连接' });\n }\n\n getConversationList() {\n return [];\n }\n\n refreshConversationList() {\n const conversations = this.getConversationList();\n if (conversations.length) {\n this.emit('conversationsChanged', conversations);\n }\n if (this.currentUser?.userId) {\n this.fetchRemoteConversations().then(remoteConversations => {\n this.emit('conversationsChanged', remoteConversations);\n }).catch(() => {});\n }\n return conversations;\n }\n\n async fetchRemoteConversations(limit = 50) {\n if (!this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n limit\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '会话同步失败');\n }\n\n return (response.data?.result?.conversations || []).map(conversation => ({\n ...conversation,\n updatedAt: Number(conversation.updatedAt || Date.now()),\n avatarText: conversation.avatarText || String(conversation.title || conversation.target || '?').slice(0, 1).toUpperCase(),\n raw: conversation.raw || { type: 'single', target: conversation.target, line: 0 }\n }));\n }\n\n getMessages(conversation) {\n if (!conversation?.id) {\n return [];\n }\n const userId = this.currentUser?.userId || '';\n return applyLocalMessageState(conversation.id, readLocalMessages(userId)[conversation.id] || [], userId);\n }\n\n async fetchRemoteMessages(conversation, limit = 50, options = {}) {\n if (!conversation?.id || !this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n limit,\n conversationType: conversation.type || conversation.raw?.type || 0,\n markRead: Boolean(options.markRead)\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息同步失败');\n }\n\n const messages = (response.data?.result?.messages || []).map(message => ({\n ...message,\n displayTimestamp: message.displayTimestamp || message.timestamp,\n conversationId: conversation.id\n }));\n const userId = this.currentUser?.userId || '';\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId);\n writeLocalMessages(messagesByConversation, userId);\n return messagesByConversation[conversation.id];\n }\n\n hideMessages(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n markMessagesRecalled(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n async recallMessage(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可撤回的消息ID');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'recall',\n userId: this.currentUser?.userId || message.from || '',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '撤回失败');\n }\n this.markMessagesRecalled(conversation, [message]);\n return response.data.result;\n }\n\n async editMessage(conversation, message, text) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可编辑的消息ID');\n }\n const nextText = String(text || '').trim();\n if (!nextText) {\n throw new Error('编辑内容不能为空');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'edit',\n userId: this.currentUser?.userId || message.from || '',\n messageUid,\n text: nextText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '编辑失败');\n }\n\n const result = response.data?.result?.message || {};\n const editedMessage = {\n ...message,\n text: result.text || nextText,\n status: 'delivered',\n deliveryStatus: 'delivered',\n editedAt: Number(result.editedAt || Date.now()),\n activityTimestamp: Number(result.editedAt || Date.now())\n };\n saveLocalMessage(editedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', editedMessage);\n return editedMessage;\n }\n\n async getMessageDetail(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!messageUid) {\n throw new Error('缺少消息ID');\n }\n const response = await axios.post(appConfig.messageDetailApi, {\n userId: this.currentUser?.userId || '',\n target: conversation?.target || conversation?.raw?.target || conversation?.id?.replace(/^single-/, '') || '',\n conversationType: conversation?.type || conversation?.raw?.type || 'single',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息详情加载失败');\n }\n\n return response.data?.result?.detail || null;\n }\n\n async sendTextMessage(conversation, text, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type: 'text',\n text,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const response = await axios.post(appConfig.sendMessageApi, {\n sender: this.currentUser?.userId || '',\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n conversationType: conversation.type || conversation.raw?.type || 0,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n async sendAttachmentMessage(conversation, { type, file, text = '' }, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type,\n text,\n attachment: {\n type,\n name: file?.name || (type === 'image' ? '图片' : '文件'),\n mime: file?.type || '',\n size: file?.size || 0,\n url: type === 'image' && file ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const formData = new FormData();\n formData.append('sender', this.currentUser?.userId || '');\n formData.append('target', conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''));\n formData.append('conversationType', conversation.type || conversation.raw?.type || 0);\n formData.append('messageType', type);\n formData.append('text', text || '');\n formData.append('attachment', file);\n\n const response = await axios.post(appConfig.sendMessageApi, formData, {\n withCredentials: false\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n attachment: response.data?.result?.attachment || message.attachment,\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n getContactList() {\n return [];\n }\n\n async getServerContactList(userId) {\n if (!userId) {\n return [];\n }\n const response = await axios.post(appConfig.contactsApi, { userId }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.contactsApi)\n });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '联系人加载失败');\n }\n return (response.data?.result?.contacts || []).map(item => {\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n }\n\n async addContact(userId, keyword, reason = '') {\n const response = await axios.post(appConfig.addContactApi, {\n userId,\n keyword,\n reason\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '添加联系人失败');\n }\n\n const item = response.data?.result?.contact;\n if (!item?.uid) {\n return null;\n }\n\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }\n\n normalizeConversation(conversation) {\n const title = getTitle(conversation?.title, conversation?.target || '');\n return {\n ...conversation,\n id: conversation?.id || `${conversation?.type === 'single' ? 'single' : 'group'}-${conversation?.target}`,\n target: conversation?.target || conversation?.raw?.target || '',\n title,\n subtitle: conversation?.subtitle || '',\n unread: Number(conversation?.unread || 0),\n portrait: conversation?.portrait || '',\n avatarText: conversation?.avatarText || title.slice(0, 1).toUpperCase(),\n updatedAt: Number(conversation?.updatedAt || Date.now()),\n raw: conversation?.raw || {\n type: conversation?.type === 'single' ? 'single' : 'group',\n target: conversation?.target || '',\n line: 0\n }\n };\n }\n\n async createGroup(userId, { name, memberIds = [], announcement = '', welcomeText = '', channel = false }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: channel ? 'create_channel' : 'create_group',\n userId,\n name,\n memberIds,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || (channel ? '创建公告群失败' : '创建群组失败'));\n }\n\n const result = response.data?.result || {};\n const conversation = this.normalizeConversation(result.conversation || {});\n conversation.nativeStatus = result.nativeStatus || '';\n conversation.nativeError = result.nativeError || '';\n conversation.raw = {\n ...(conversation.raw || {}),\n nativeStatus: conversation.nativeStatus,\n nativeError: conversation.nativeError\n };\n return conversation;\n }\n\n async joinGroup(userId, groupKey) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'join_group',\n userId,\n groupKey\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '加入群组失败');\n }\n\n const result = response.data?.result || {};\n const conversation = this.normalizeConversation(result.conversation || {});\n conversation.nativeStatus = result.nativeStatus || '';\n conversation.nativeError = result.nativeError || '';\n conversation.raw = {\n ...(conversation.raw || {}),\n nativeStatus: conversation.nativeStatus,\n nativeError: conversation.nativeError\n };\n return conversation;\n }\n\n async broadcastMessage(userId, targetIds, text) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'broadcast',\n userId,\n targetIds,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群发失败');\n }\n\n return response.data?.result || {};\n }\n\n async getGroupDetail(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_detail',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料加载失败');\n }\n\n return response.data?.result?.group || null;\n }\n\n async getGroupMembers(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_members',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群员加载失败');\n }\n\n return response.data?.result?.members || [];\n }\n\n async updateGroupAlias(userId, groupId, alias) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_alias',\n userId,\n groupId,\n alias\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '本群昵称保存失败');\n }\n\n return response.data?.result?.alias || '';\n }\n\n async leaveGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'leave_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '退出群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async dismissGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'dismiss_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '解散群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async transferGroup(userId, groupId, targetUserId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'transfer_group',\n userId,\n groupId,\n targetUserId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '转让群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async setGroupAdmins(userId, groupId, adminIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'set_group_admins',\n userId,\n groupId,\n adminIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '管理员设置失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupProfile(userId, groupId, { name, announcement, welcomeText }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_profile',\n userId,\n groupId,\n name,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料保存失败');\n }\n\n return response.data?.result || {};\n }\n\n async kickGroupMembers(userId, groupId, targetIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'kick_group_members',\n userId,\n groupId,\n targetIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '踢人失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupMuteSetting(userId, groupId, setting) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_mute_setting',\n userId,\n groupId,\n ...setting\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '禁言设置保存失败');\n }\n\n return response.data?.result?.muteSetting || null;\n }\n\n async updateContactAlias(userId, targetId, alias) {\n const response = await axios.post(appConfig.updateAliasApi, {\n userId,\n targetId,\n alias\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.updateAliasApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '备注名修改失败');\n }\n\n return response.data?.result?.contact?.alias || '';\n }\n\n async getProfile(userId) {\n const response = await axios.post(appConfig.profileApi, {\n action: 'get',\n userId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料加载失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async updateProfile(userId, { displayName, portraitFile }) {\n const formData = new FormData();\n formData.append('action', 'update');\n formData.append('userId', userId);\n formData.append('displayName', displayName);\n if (portraitFile) {\n formData.append('portraitFile', portraitFile);\n }\n\n const response = await axios.post(appConfig.profileApi, formData, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.appServer)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料保存失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async changePassword({ oldPassword, newPassword }) {\n const response = await axios.post(appConfig.changePasswordApi, {\n oldPassword,\n newPassword\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.changePasswordApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码修改失败');\n }\n\n return true;\n }\n\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n const response = await axios.post(appConfig.resetPasswordApi, {\n mobile,\n resetCode,\n newPassword\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码设置失败');\n }\n\n return true;\n }\n\n refreshContactList() {\n const contacts = this.getContactList();\n this.emit('contactsChanged', contacts);\n return contacts;\n }\n\n createSingleConversation(userId, userInfo = null) {\n const title = getTitle(userInfo?.title || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: `single-${userId}`,\n type: 'single',\n target: userId,\n title,\n subtitle: '',\n unread: 0,\n portrait: userInfo?.portrait || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n updatedAt: Date.now(),\n raw: { type: 'single', target: userId, line: 0 }\n };\n }\n\n mapContact(userId, friend, userInfo) {\n const title = getTitle(userInfo?.friendAlias || friend?.alias || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: userId,\n uid: userId,\n title,\n subtitle: userInfo?.mobile || userInfo?.name || userId,\n portrait: userInfo?.portrait || '',\n address: userInfo?.address || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: friend?.alias || userInfo?.friendAlias || '',\n rawFriend: friend,\n rawUser: userInfo\n };\n }\n\n on(eventName, handler) {\n if (!this.listeners.has(eventName)) {\n this.listeners.set(eventName, new Set());\n }\n this.listeners.get(eventName).add(handler);\n return () => this.off(eventName, handler);\n }\n\n off(eventName, handler) {\n this.listeners.get(eventName)?.delete(handler);\n }\n\n emit(eventName, payload) {\n this.listeners.get(eventName)?.forEach(handler => handler(payload));\n }\n\n persistAppToken(url, response) {\n const appToken = response.headers?.authtoken || response.headers?.authToken;\n if (appToken) {\n localStorage.setItem(appConfig.authTokenStoragePrefix + this.getUrlHost(url), appToken);\n }\n }\n\n getAppAuthHeaders(url) {\n const host = this.getUrlHost(url);\n if (!host) {\n return {};\n }\n const token = localStorage.getItem(appConfig.authTokenStoragePrefix + host);\n return token ? { authToken: token } : {};\n }\n\n getUrlHost(url) {\n try {\n return new URL(url, window.location.origin).host;\n } catch (error) {\n return '';\n }\n }\n}\n\nexport const imClient = new HttpImClient();\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\nimport { LongConnectionImClient } from './longConnectionImClient';\n\nclass UnsupportedWildfireImClient {\n constructor() {\n throw new Error('当前本地社区版 Web 客户端未启用 WildFire Web SDK');\n }\n}\n\nexport const imClient = appConfig.sdkMode === 'wildfire'\n ? new UnsupportedWildfireImClient()\n : appConfig.sdkMode === 'custom-ws' || appConfig.sdkMode === 'long'\n ? new LongConnectionImClient()\n : new HttpImClient();\n\nexport { HttpImClient, LongConnectionImClient, UnsupportedWildfireImClient as WildfireImClient };\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\n\nconst HEARTBEAT_INTERVAL_MS = 25000;\nconst RECONNECT_MIN_MS = 1000;\nconst RECONNECT_MAX_MS = 15000;\n\nfunction buildWsUrl() {\n if (appConfig.wsUrl) {\n return appConfig.wsUrl;\n }\n const protocol = appConfig.useWss ? 'wss' : 'ws';\n const host = appConfig.imServerHost || window.location.hostname;\n const port = appConfig.imRoutePort ? `:${appConfig.imRoutePort}` : '';\n const path = appConfig.wsPath?.startsWith('/') ? appConfig.wsPath : `/${appConfig.wsPath || 'ws'}`;\n return `${protocol}://${host}${port}${path}`;\n}\n\nfunction normalizeConversationId(payload) {\n const target = payload.target || payload.to || payload.receiver || payload.conversationTarget || payload.from || payload.sender;\n return payload.conversationId || (target ? `single-${target}` : '');\n}\n\nfunction normalizeIncomingMessage(payload, currentUserId) {\n const item = payload.message || payload;\n const from = item.from || item.sender || item.fromUser || '';\n const target = item.target || item.to || item.receiver || '';\n const direction = from && String(from) === String(currentUserId) ? 'out' : 'in';\n const conversationId = item.conversationId || normalizeConversationId({\n ...item,\n target: direction === 'out' ? target : from\n });\n\n if (!conversationId) {\n return null;\n }\n\n const status = item.status || item.deliveryStatus || 'sent';\n\n return {\n id: item.id || item.messageId || item.messageUid || `${Date.now()}${Math.random().toString(16).slice(2)}`,\n messageUid: item.messageUid || item.uid || item.messageId || '',\n conversationId,\n from,\n target,\n direction,\n type: item.type || 'text',\n text: item.text || item.content || item.searchableContent || '',\n status,\n deliveryStatus: item.deliveryStatus || (direction === 'out' ? status : ''),\n timestamp: Number(item.timestamp || item.serverTimestamp || Date.now()),\n displayTimestamp: Number(item.displayTimestamp || item.timestamp || item.serverTimestamp || Date.now()),\n raw: item\n };\n}\n\nexport class LongConnectionImClient extends HttpImClient {\n constructor() {\n super();\n this.socket = null;\n this.wsUrl = buildWsUrl();\n this.heartbeatTimer = null;\n this.reconnectTimer = null;\n this.reconnectAttempts = 0;\n this.manualClose = false;\n }\n\n getSdkVersion() {\n return 'JC-LC/0.1';\n }\n\n shouldUseMessagePolling() {\n return !this.connected;\n }\n\n async ensureSdk() {\n if (typeof WebSocket === 'undefined') {\n throw new Error('当前浏览器不支持 WebSocket 长连接');\n }\n return true;\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.manualClose = false;\n this.openSocket();\n }\n\n disconnect() {\n this.manualClose = true;\n this.clearReconnectTimer();\n this.clearHeartbeatTimer();\n if (this.socket) {\n this.socket.close();\n this.socket = null;\n }\n super.disconnect();\n }\n\n openSocket() {\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.sendAuthFrame();\n return;\n }\n if (this.socket?.readyState === WebSocket.CONNECTING) {\n return;\n }\n\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接连接中' });\n\n try {\n this.socket = new WebSocket(this.wsUrl);\n this.socket.binaryType = 'arraybuffer';\n } catch (error) {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接创建失败,使用HTTP补偿' });\n this.scheduleReconnect();\n return;\n }\n\n this.socket.onopen = () => {\n this.connected = true;\n this.reconnectAttempts = 0;\n this.emit('connectionStatusChanged', { connected: true, statusText: '长连接已连接' });\n this.sendAuthFrame();\n this.startHeartbeat();\n this.refreshConversationList();\n };\n\n this.socket.onmessage = event => {\n this.handleFrame(event.data);\n };\n\n this.socket.onerror = () => {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接异常,使用HTTP补偿' });\n };\n\n this.socket.onclose = () => {\n this.connected = false;\n this.clearHeartbeatTimer();\n this.socket = null;\n if (this.manualClose) {\n return;\n }\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接重连中' });\n this.scheduleReconnect();\n };\n }\n\n sendAuthFrame() {\n this.sendFrame({\n type: 'auth',\n userId: this.currentUser?.userId || '',\n token: this.currentUser?.token || '',\n clientId: this.getClientId(),\n platform: appConfig.platform,\n timestamp: Date.now()\n });\n }\n\n sendFrame(frame) {\n if (this.socket?.readyState !== WebSocket.OPEN) {\n return false;\n }\n this.socket.send(JSON.stringify(frame));\n return true;\n }\n\n handleFrame(rawData) {\n if (rawData instanceof ArrayBuffer) {\n this.emit('rawFrameReceived', rawData);\n return;\n }\n\n let payload;\n try {\n payload = typeof rawData === 'string' ? JSON.parse(rawData) : rawData;\n } catch (error) {\n return;\n }\n\n const type = payload.type || payload.event || payload.cmd || '';\n if (type === 'pong' || type === 'auth_ok' || type === 'connected') {\n return;\n }\n if (type === 'contactsChanged') {\n this.emit('contactsChanged', payload.contacts || []);\n return;\n }\n if (type === 'conversationsChanged') {\n this.emit('conversationsChanged', payload.conversations || []);\n return;\n }\n if (type === 'messages' && Array.isArray(payload.messages)) {\n payload.messages\n .map(message => normalizeIncomingMessage(message, this.currentUser?.userId))\n .filter(Boolean)\n .forEach(message => this.emit('messageReceived', message));\n return;\n }\n\n const message = normalizeIncomingMessage(payload, this.currentUser?.userId);\n if (message) {\n this.emit(message.direction === 'out' ? 'messageStatusChanged' : 'messageReceived', message);\n }\n }\n\n startHeartbeat() {\n this.clearHeartbeatTimer();\n this.heartbeatTimer = window.setInterval(() => {\n this.sendFrame({ type: 'ping', timestamp: Date.now() });\n }, HEARTBEAT_INTERVAL_MS);\n }\n\n clearHeartbeatTimer() {\n if (this.heartbeatTimer) {\n window.clearInterval(this.heartbeatTimer);\n this.heartbeatTimer = null;\n }\n }\n\n scheduleReconnect() {\n this.clearReconnectTimer();\n const delay = Math.min(RECONNECT_MAX_MS, RECONNECT_MIN_MS * 2 ** this.reconnectAttempts);\n this.reconnectAttempts += 1;\n this.reconnectTimer = window.setTimeout(() => {\n this.openSocket();\n }, delay);\n }\n\n clearReconnectTimer() {\n if (this.reconnectTimer) {\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n }\n}\n","import axios from 'axios';\nimport { appConfig } from '@/config';\nimport { imClient } from '@/services/imClient';\n\nclass RealtimeNotificationClient {\n constructor() {\n this.source = null;\n this.userId = '';\n this.handler = null;\n this.reconnectTimer = null;\n this.reconnectAttempt = 0;\n this.generation = 0;\n }\n\n isConnected() {\n return this.source?.readyState === WebSocket.OPEN;\n }\n\n start(userId, handler) {\n this.stop();\n if (!appConfig.sseEnabled || !userId || typeof window.WebSocket !== 'function') return;\n this.userId = userId;\n this.handler = handler;\n this.generation += 1;\n this.open(this.generation);\n }\n\n stop() {\n this.generation += 1;\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n if (this.source) this.source.close();\n this.source = null;\n this.userId = '';\n this.handler = null;\n this.reconnectAttempt = 0;\n }\n\n async open(generation) {\n try {\n const response = await axios.post(appConfig.sseTicketApi, { userId: this.userId }, {\n withCredentials: false,\n headers: imClient.getAppAuthHeaders(appConfig.appServer)\n });\n if (generation !== this.generation) return;\n if (response.data?.code !== 0) throw new Error(response.data?.message || '实时通知凭证申请失败');\n const ticket = response.data?.result?.ticket || '';\n if (!ticket) throw new Error('实时通知凭证为空');\n const separator = appConfig.sseUrl.includes('?') ? '&' : '?';\n const endpoint = `${appConfig.sseUrl}${separator}ticket=${encodeURIComponent(ticket)}`;\n const socketUrl = endpoint.startsWith('ws://') || endpoint.startsWith('wss://')\n ? endpoint\n : `${window.location.protocol === 'https:' ? 'wss:' : 'ws:'}//${window.location.host}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;\n const source = new WebSocket(socketUrl);\n this.source = source;\n source.onopen = () => {\n this.reconnectAttempt = 0;\n };\n source.onmessage = event => {\n if (generation !== this.generation) return;\n let payload = {};\n try { payload = JSON.parse(event.data || '{}'); } catch (error) { payload = {}; }\n if (payload.type !== 'message-notification') return;\n this.handler?.(payload);\n };\n source.onerror = () => {\n if (generation !== this.generation) return;\n source.close();\n if (this.source === source) this.source = null;\n this.scheduleReconnect(generation);\n };\n source.onclose = () => {\n if (generation !== this.generation || this.source !== source) return;\n this.source = null;\n this.scheduleReconnect(generation);\n };\n } catch (error) {\n if (generation === this.generation) this.scheduleReconnect(generation);\n }\n }\n\n scheduleReconnect(generation) {\n window.clearTimeout(this.reconnectTimer);\n const delay = Math.min(30000, 1000 * (2 ** Math.min(this.reconnectAttempt, 5)));\n this.reconnectAttempt += 1;\n this.reconnectTimer = window.setTimeout(() => this.open(generation), delay);\n }\n}\n\nexport const realtimeNotifications = new RealtimeNotificationClient();\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { useConversationStore } from '@/stores/conversations';\nimport { useNavigationStore } from '@/stores/navigation';\nimport { useSessionStore } from '@/stores/session';\n\nconst CONTACT_CACHE_MS = 15000;\n\nfunction normalizeContacts(contacts) {\n const unique = new Map();\n contacts.forEach(contact => {\n const uid = String(contact.uid || contact.id || '').trim();\n if (!uid) {\n return;\n }\n const normalized = {\n ...contact,\n id: String(contact.id || uid),\n uid\n };\n unique.set(uid, {\n ...(unique.get(uid) || {}),\n ...normalized\n });\n });\n return Array.from(unique.values()).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n}\n\nexport const useContactStore = defineStore('contacts', {\n state: () => ({\n contacts: [],\n activeId: '',\n loading: false,\n eventsBound: false,\n refreshSerial: 0,\n refreshPromise: null,\n loadedForUserId: '',\n loadedAt: 0,\n actionError: '',\n actionInfo: ''\n }),\n getters: {\n activeContact(state) {\n return state.contacts.find(item => item.id === state.activeId) || state.contacts[0] || null;\n }\n },\n actions: {\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('contactsChanged', contacts => {\n if (!contacts.length && this.contacts.length) {\n return;\n }\n this.contacts = normalizeContacts(contacts);\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n });\n },\n async refreshContacts(options = {}) {\n this.bindImEvents();\n const session = useSessionStore();\n const requestUserId = session.userId;\n const force = Boolean(options.force);\n if (!requestUserId) {\n this.clearContacts();\n return [];\n }\n if (!force\n && this.contacts.length\n && this.loadedForUserId === requestUserId\n && Date.now() - this.loadedAt < CONTACT_CACHE_MS\n ) {\n return this.contacts;\n }\n if (this.refreshPromise && !force) {\n return this.refreshPromise;\n }\n const serial = this.refreshSerial + 1;\n this.refreshSerial = serial;\n this.loading = true;\n\n this.refreshPromise = (async () => {\n this.contacts = normalizeContacts(imClient.refreshContactList());\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n if (!this.contacts.length || force) {\n const serverContacts = await imClient.getServerContactList(requestUserId);\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return this.contacts;\n }\n this.contacts = normalizeContacts(serverContacts);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n window.setTimeout(() => {\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return;\n }\n const latest = imClient.getContactList(false);\n if (latest.length || !this.contacts.length) {\n this.contacts = normalizeContacts(latest);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n }, 1200);\n return this.contacts;\n })();\n\n try {\n return await this.refreshPromise;\n } finally {\n if (serial === this.refreshSerial) {\n this.loading = false;\n this.refreshPromise = null;\n }\n }\n },\n async addContact(keyword) {\n const session = useSessionStore();\n const value = String(keyword || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!value) {\n this.actionError = '请输入用户ID、手机号或用户名';\n return false;\n }\n\n this.loading = true;\n try {\n const contact = await imClient.addContact(session.userId, value, '添加联系人');\n if (contact) {\n this.contacts = normalizeContacts([...this.contacts, contact]);\n this.activeId = contact.id;\n }\n this.actionInfo = '联系人已添加';\n await this.refreshContacts({ force: true });\n return true;\n } catch (error) {\n this.actionError = error.message || '添加联系人失败';\n return false;\n } finally {\n this.loading = false;\n }\n },\n async updateContactAlias(contactId, alias) {\n const session = useSessionStore();\n const targetId = String(contactId || '').trim();\n const nextAlias = String(alias || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!targetId) {\n this.actionError = '缺少联系人ID';\n return false;\n }\n\n try {\n const savedAlias = await imClient.updateContactAlias(session.userId, targetId, nextAlias);\n this.contacts = normalizeContacts(this.contacts.map(item => {\n if (item.uid !== targetId && item.id !== targetId) {\n return item;\n }\n const rawUser = {\n ...(item.rawUser || {}),\n friendAlias: savedAlias\n };\n const rawFriend = {\n ...(item.rawFriend || {}),\n alias: savedAlias\n };\n const title = savedAlias || rawUser.displayName || rawUser.name || item.uid;\n return {\n ...item,\n title,\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: savedAlias,\n rawFriend,\n rawUser\n };\n }));\n this.loadedAt = Date.now();\n this.actionInfo = '备注名已修改';\n return true;\n } catch (error) {\n this.actionError = error.message || '备注名修改失败';\n return false;\n }\n },\n clearContacts() {\n this.refreshSerial += 1;\n this.contacts = [];\n this.activeId = '';\n this.loading = false;\n this.refreshPromise = null;\n this.loadedForUserId = '';\n this.loadedAt = 0;\n this.actionError = '';\n this.actionInfo = '';\n },\n setActiveContact(id) {\n this.activeId = id;\n },\n openChat(contact) {\n if (!contact) {\n return;\n }\n const conversations = useConversationStore();\n const navigation = useNavigationStore();\n const conversation = imClient.createSingleConversation(contact.uid, contact);\n conversations.upsertConversation(conversation);\n conversations.setActiveConversation(conversation.id);\n navigation.showMessages();\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\nimport { useSessionStore } from '@/stores/session';\nimport { realtimeNotifications } from '@/services/realtimeNotifications';\n\nconst LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2';\nconst LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1';\n\nfunction scopedStorageKey(baseKey) {\n const session = useSessionStore();\n const scope = `${appConfig.appServer || ''}:${session.userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction readFavoriteMessages() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeFavoriteMessages(messages) {\n localStorage.setItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY), JSON.stringify(messages));\n}\n\nfunction readLocalConversations() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeLocalConversations(conversations) {\n localStorage.setItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY), JSON.stringify(conversations));\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction messageKey(message) {\n return message.id || message.messageUid;\n}\n\nfunction messageStableKey(message) {\n return String(message?.messageUid || message?.id || '');\n}\n\nfunction messageActivityTimestamp(message) {\n return Number(message?.activityTimestamp || message?.editedAt || message?.displayTimestamp || message?.timestamp || 0);\n}\n\nfunction isRecalledMessage(message) {\n return Boolean(message?.recalled) || message?.status === 'recalled';\n}\n\nfunction attachmentLabel(message) {\n const attachment = message?.attachment;\n if (!attachment) {\n return '';\n }\n if (attachment.type === 'image') {\n return '[图片]';\n }\n return `[文件] ${attachment.name || '文件'}`;\n}\n\nfunction cleanPlaceholderText(text, message = {}) {\n const value = String(text || '').replace(/\\s+/g, ' ').trim();\n const contentType = Number(message?.contentType || 0);\n if (!value) {\n return '';\n }\n if (contentType !== 1 && value === '[暂不支持的消息类型]') {\n return '';\n }\n if ((contentType === 3 || message?.type === 'image') && (value === '[图片]' || value === '图片')) {\n return '';\n }\n\n return value;\n}\n\nfunction messagePreviewText(message) {\n if (isRecalledMessage(message)) {\n return `[${message?.recallStatus || '已撤回'}]`;\n }\n const text = cleanPlaceholderText(message?.text, message);\n return text || attachmentLabel(message);\n}\n\nfunction sanitizeConversation(conversation) {\n if (!conversation) {\n return conversation;\n }\n return {\n ...conversation,\n subtitle: cleanPlaceholderText(conversation.subtitle, conversation)\n };\n}\n\nfunction isHttpUrl(value) {\n try {\n const url = new URL(String(value || '').trim());\n return url.protocol === 'http:' || url.protocol === 'https:';\n } catch (error) {\n return false;\n }\n}\n\nfunction fileNameFromUrl(url, fallback = '图片') {\n try {\n const path = new URL(url).pathname;\n const name = decodeURIComponent(path.split('/').filter(Boolean).pop() || '');\n return name || fallback;\n } catch (error) {\n return fallback;\n }\n}\n\nfunction normalizeMessageForDisplay(message) {\n if (!message || message.attachment) {\n return message;\n }\n\n const contentType = Number(message.contentType || 0);\n const text = String(message.text || '').trim();\n if ((contentType === 3 || message.type === 'image') && isHttpUrl(text)) {\n return {\n ...message,\n type: 'image',\n text: '',\n attachment: {\n type: 'image',\n url: text,\n name: fileNameFromUrl(text, '图片'),\n mime: 'image/*',\n size: 0\n }\n };\n }\n\n return message;\n}\n\nfunction quotePrefix(message) {\n const text = messagePreviewText(message);\n return text.length > 48 ? `${text.slice(0, 48)}...` : text;\n}\n\nasync function writeClipboard(text) {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n return;\n }\n const element = document.createElement('textarea');\n element.value = text;\n element.setAttribute('readonly', 'readonly');\n element.style.position = 'fixed';\n element.style.left = '-9999px';\n document.body.appendChild(element);\n element.select();\n document.execCommand('copy');\n document.body.removeChild(element);\n}\n\nfunction isSameMessage(left, right) {\n if (left.messageUid && right.messageUid && left.messageUid === right.messageUid) {\n return true;\n }\n if (left.id && right.id && left.id === right.id) {\n return true;\n }\n return left.direction === right.direction\n && left.text === right.text\n && (left.type || 'text') === (right.type || 'text')\n && Math.abs(Number(left.displayTimestamp || left.timestamp || 0) - Number(right.displayTimestamp || right.timestamp || 0)) < 15000;\n}\n\nfunction hasExactMessage(messages, message) {\n return messages.some(item => {\n if (item.id && message.id && item.id === message.id) {\n return true;\n }\n return item.messageUid && message.messageUid && item.messageUid === message.messageUid;\n });\n}\n\nfunction shouldUseMessagePolling() {\n return imClient.shouldUseMessagePolling ? imClient.shouldUseMessagePolling() : true;\n}\n\nfunction canMarkReadNow(options = {}) {\n if (typeof document === 'undefined') {\n return false;\n }\n if (document.visibilityState !== 'visible') {\n return false;\n }\n if (options.userAction) {\n return true;\n }\n return true;\n}\n\nfunction isPageVisible() {\n return typeof document === 'undefined' || document.visibilityState === 'visible';\n}\n\nfunction activeMessageSyncIntervalMs() {\n const configured = Number(appConfig.syncIntervalMs || 0);\n return Math.max(15000, Number.isFinite(configured) && configured > 0 ? configured : 15000);\n}\n\nfunction conversationListSyncIntervalMs() {\n return Math.max(30000, activeMessageSyncIntervalMs() * 2);\n}\n\nfunction mergeVisibleMessages(currentMessages, syncedMessages) {\n const merged = [...syncedMessages].map(normalizeMessageForDisplay);\n currentMessages.forEach(currentMessage => {\n currentMessage = normalizeMessageForDisplay(currentMessage);\n const exists = merged.some(message => isSameMessage(message, currentMessage));\n const shouldKeepLocal = currentMessage.status === 'sending'\n || currentMessage.status === 'failed'\n || (currentMessage.direction === 'out'\n && currentMessage.status === 'sent'\n && Date.now() - Number(currentMessage.timestamp || 0) < 30000);\n if (!exists && shouldKeepLocal) {\n merged.push(currentMessage);\n }\n });\n\n return merged\n .filter((message, index, messages) => {\n const key = messageKey(message);\n return messages.findIndex(item => messageKey(item) === key) === index;\n })\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0));\n}\n\nfunction incomingEditedMessages(previousMessages, nextMessages) {\n const previousByKey = new Map();\n (previousMessages || []).forEach(message => {\n const key = messageStableKey(message);\n if (key) {\n previousByKey.set(key, message);\n }\n });\n\n return (nextMessages || []).filter(message => {\n if (message.direction !== 'in') {\n return false;\n }\n const editedAt = Number(message.editedAt || 0);\n if (editedAt <= 0) {\n return false;\n }\n const previous = previousByKey.get(messageStableKey(message));\n return previous && editedAt > Number(previous.editedAt || 0);\n });\n}\n\nlet notificationAudioContext = null;\n\nfunction playNotificationSound() {\n if (typeof window === 'undefined') {\n return;\n }\n try {\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (!AudioContext) {\n return;\n }\n notificationAudioContext = notificationAudioContext || new AudioContext();\n if (notificationAudioContext.state === 'suspended') {\n notificationAudioContext.resume().catch(() => {});\n }\n const oscillator = notificationAudioContext.createOscillator();\n const gain = notificationAudioContext.createGain();\n const startAt = notificationAudioContext.currentTime;\n oscillator.type = 'sine';\n oscillator.frequency.setValueAtTime(880, startAt);\n oscillator.frequency.setValueAtTime(660, startAt + 0.1);\n gain.gain.setValueAtTime(0.0001, startAt);\n gain.gain.exponentialRampToValueAtTime(0.12, startAt + 0.02);\n gain.gain.exponentialRampToValueAtTime(0.0001, startAt + 0.22);\n oscillator.connect(gain);\n gain.connect(notificationAudioContext.destination);\n oscillator.start(startAt);\n oscillator.stop(startAt + 0.24);\n } catch (error) {\n // Notification sound is best-effort; browsers may block audio until user interaction.\n }\n}\n\nexport const useConversationStore = defineStore('conversations', {\n state: () => ({\n activeId: '',\n conversations: [],\n messagesByConversation: {},\n visibleMessagesByConversation: {},\n eventsBound: false,\n usingDemoData: false,\n loading: false,\n syncTimer: null,\n conversationSyncTimer: null,\n readPresenceEventsBound: false,\n syncInFlight: false,\n pendingReadReceiptConversationId: '',\n conversationSyncInFlight: false,\n messageSyncTimer: null,\n messageSyncQueuedAt: 0,\n pendingMessageSyncOptions: {},\n lastReadSyncByConversation: {},\n optimisticMessagesByConversation: {},\n quotedMessage: null,\n forwardingMessages: [],\n editingMessage: null,\n editingText: '',\n editingMode: '',\n messageDetailOpen: false,\n messageDetailLoading: false,\n messageDetailError: '',\n messageDetail: null,\n attentionMessageId: '',\n attentionMessageTimer: null,\n selectionMode: false,\n selectedMessageIds: [],\n favoriteMessages: [],\n activeFavoriteKey: '',\n actionNotice: '',\n actionError: '',\n realtimeSyncTimer: null\n }),\n getters: {\n activeConversation(state) {\n return state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n },\n activeMessages(state) {\n return state.visibleMessagesByConversation[state.activeId] || [];\n },\n totalUnread(state) {\n return state.conversations.reduce((sum, item) => sum + Number(item.unread || 0), 0);\n },\n canSendActiveConversation(state) {\n const conversation = state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n if (!conversation) {\n return false;\n }\n if (conversation.type !== 'channel') {\n return true;\n }\n return ['owner', 'admin'].includes(conversation.role || conversation.raw?.role || '');\n },\n favoriteMessageIds(state) {\n return state.favoriteMessages.map(message => message.key);\n },\n activeFavorite(state) {\n return state.favoriteMessages.find(message => message.key === state.activeFavoriteKey)\n || state.favoriteMessages[0]\n || null;\n },\n selectedMessages(state) {\n const selectedIds = new Set(state.selectedMessageIds);\n return (state.visibleMessagesByConversation[state.activeId] || [])\n .filter(message => selectedIds.has(messageStableKey(message)));\n }\n },\n actions: {\n bootstrapDemoData() {\n const session = useSessionStore();\n this.bindImEvents();\n this.usingDemoData = false;\n if (!session.userId) {\n this.clearUserState();\n return;\n }\n this.loadScopedLocalState();\n this.startMessageSync();\n realtimeNotifications.start(session.userId, payload => this.handleRealtimeNotification(payload));\n },\n loadScopedLocalState() {\n this.conversations = readLocalConversations().map(sanitizeConversation);\n this.favoriteMessages = readFavoriteMessages();\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n this.activeId = this.conversations[0]?.id || '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.selectionMode = false;\n this.selectedMessageIds = [];\n if (this.activeId) {\n this.loadActiveMessages({ allowReadReceipt: true });\n }\n },\n clearUserState() {\n window.clearInterval(this.syncTimer);\n window.clearInterval(this.conversationSyncTimer);\n window.clearTimeout(this.messageSyncTimer);\n window.clearTimeout(this.attentionMessageTimer);\n window.clearTimeout(this.realtimeSyncTimer);\n realtimeNotifications.stop();\n this.syncTimer = null;\n this.conversationSyncTimer = null;\n this.messageSyncTimer = null;\n this.messageSyncQueuedAt = 0;\n this.pendingMessageSyncOptions = {};\n this.attentionMessageTimer = null;\n this.realtimeSyncTimer = null;\n this.syncInFlight = false;\n this.conversationSyncInFlight = false;\n this.pendingReadReceiptConversationId = '';\n this.lastReadSyncByConversation = {};\n this.activeId = '';\n this.conversations = [];\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.attentionMessageId = '';\n this.selectionMode = false;\n this.selectedMessageIds = [];\n this.favoriteMessages = [];\n this.activeFavoriteKey = '';\n this.actionNotice = '';\n this.actionError = '';\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('messageSent', message => {\n this.appendMessage(message.conversationId, message);\n });\n imClient.on('messageReceived', message => {\n this.appendMessage(message.conversationId, message);\n if (message.conversationId === this.activeId) {\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 700);\n }\n });\n imClient.on('messageStatusChanged', message => {\n this.replaceMessage(message.conversationId, message);\n });\n imClient.on('conversationsChanged', remoteConversations => {\n this.usingDemoData = false;\n this.applyRemoteConversations(remoteConversations);\n });\n },\n setActiveConversation(id) {\n this.activeId = id;\n const conversation = this.conversations.find(item => item.id === id);\n if (conversation) {\n conversation.unread = 0;\n }\n this.loadActiveMessages({ allowReadReceipt: true, userAction: true });\n },\n sendText(text) {\n const conversation = this.activeConversation;\n if (!conversation || !text.trim()) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n this.quotedMessage = null;\n }\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendTextMessage(conversation, value, message);\n conversation.subtitle = value;\n conversation.updatedAt = Date.now();\n writeLocalConversations(this.conversations);\n this.scheduleActiveMessagesSync({}, 700);\n },\n sendAttachment({ type, file, text = '' }) {\n const conversation = this.activeConversation;\n if (!conversation || !file || !['image', 'file'].includes(type)) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n this.quotedMessage = null;\n }\n const now = Date.now();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n senderRole: conversation.role || conversation.raw?.role || '',\n direction: 'out',\n type,\n text: value,\n attachment: {\n type,\n name: file.name || (type === 'image' ? '图片' : '文件'),\n mime: file.type || '',\n size: file.size || 0,\n url: type === 'image' ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: now,\n displayTimestamp: now\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendAttachmentMessage(conversation, { type, file, text: value }, message);\n conversation.subtitle = messagePreviewText(message);\n conversation.updatedAt = now;\n writeLocalConversations(this.conversations);\n this.scheduleActiveMessagesSync({}, 700);\n },\n async sendTextToConversation(conversation, text) {\n if (!conversation || !text.trim()) {\n return null;\n }\n const value = text.trim();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendMessage(conversation.id, message);\n const sentMessage = await imClient.sendTextMessage(conversation, value, message);\n this.replaceMessage(conversation.id, sentMessage);\n return sentMessage;\n },\n upsertConversation(conversation) {\n conversation = sanitizeConversation(conversation);\n const index = this.conversations.findIndex(item => item.id === conversation.id);\n if (index >= 0) {\n this.conversations.splice(index, 1, {\n ...this.conversations[index],\n ...conversation\n });\n } else {\n this.conversations.unshift(conversation);\n }\n this.usingDemoData = false;\n writeLocalConversations(this.conversations);\n },\n removeConversation(conversationId) {\n this.conversations = this.conversations.filter(conversation => conversation.id !== conversationId);\n const {\n [conversationId]: removedMessages,\n ...messagesByConversation\n } = this.messagesByConversation;\n const {\n [conversationId]: removedVisibleMessages,\n ...visibleMessagesByConversation\n } = this.visibleMessagesByConversation;\n const {\n [conversationId]: removedOptimisticMessages,\n ...optimisticMessagesByConversation\n } = this.optimisticMessagesByConversation;\n void removedMessages;\n void removedVisibleMessages;\n void removedOptimisticMessages;\n this.messagesByConversation = messagesByConversation;\n this.visibleMessagesByConversation = visibleMessagesByConversation;\n this.optimisticMessagesByConversation = optimisticMessagesByConversation;\n if (this.activeId === conversationId) {\n this.activeId = this.conversations[0]?.id || '';\n }\n writeLocalConversations(this.conversations);\n if (this.activeId) {\n this.loadActiveMessages();\n }\n },\n applyRemoteConversations(remoteConversations) {\n const remote = Array.isArray(remoteConversations) ? remoteConversations : [];\n if (!remote.length && this.conversations.length) {\n return;\n }\n\n const merged = new Map();\n this.conversations.forEach(conversation => {\n merged.set(conversation.id, conversation);\n });\n remote.forEach(conversation => {\n const unread = conversation.id === this.activeId && canMarkReadNow() ? 0 : Number(conversation.unread || 0);\n merged.set(conversation.id, {\n ...(merged.get(conversation.id) || {}),\n ...sanitizeConversation(conversation),\n unread\n });\n });\n\n this.conversations = Array.from(merged.values())\n .map(sanitizeConversation)\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0))\n .slice(0, 100);\n\n if (!this.conversations.length) {\n this.activeId = '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n writeLocalConversations(this.conversations);\n return;\n }\n\n if (!this.conversations.find(item => item.id === this.activeId)) {\n this.activeId = this.conversations[0].id;\n }\n writeLocalConversations(this.conversations);\n this.loadActiveMessages();\n },\n appendMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n if (!hasExactMessage(this.messagesByConversation[conversationId], message)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.updateConversationFromMessage(conversationId, message);\n this.syncVisibleMessages(conversationId);\n writeLocalConversations(this.conversations);\n },\n removeMessages(conversationId, messages) {\n const ids = new Set(messages.flatMap(message => [message.id, message.messageUid].filter(Boolean).map(String)));\n const filterMessages = list => (list || []).filter(message => {\n return ![message.id, message.messageUid].filter(Boolean).some(id => ids.has(String(id)));\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: filterMessages(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: filterMessages(this.visibleMessagesByConversation[conversationId])\n };\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: filterMessages(this.optimisticMessagesByConversation[conversationId])\n };\n this.selectedMessageIds = this.selectedMessageIds.filter(id => !ids.has(String(id)));\n },\n replaceLocalMessage(conversationId, targetMessage, nextMessage) {\n const keys = new Set([targetMessage.id, targetMessage.messageUid].filter(Boolean).map(String));\n const replaceInList = list => (list || []).map(message => {\n const matched = [message.id, message.messageUid].filter(Boolean).some(id => keys.has(String(id)));\n return matched ? { ...message, ...nextMessage } : message;\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: replaceInList(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: replaceInList(this.visibleMessagesByConversation[conversationId])\n };\n },\n updateConversationFromMessage(conversationId, message) {\n const conversation = this.conversations.find(item => item.id === conversationId);\n if (!conversation) {\n return;\n }\n\n conversation.subtitle = messagePreviewText(message) || cleanPlaceholderText(conversation.subtitle, conversation);\n conversation.updatedAt = messageActivityTimestamp(message) || Date.now();\n if (message.direction === 'in') {\n conversation.unread = conversationId === this.activeId ? 0 : Number(conversation.unread || 0) + 1;\n }\n this.conversations = [...this.conversations]\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0));\n },\n appendVisibleMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n const messages = this.visibleMessagesByConversation[conversationId] || [];\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: [...messages.filter(item => item.id !== message.id), message]\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0))\n };\n },\n replaceMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent' || message.status === 'failed')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n const index = this.messagesByConversation[conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n const messages = [...this.messagesByConversation[conversationId]];\n messages.splice(index, 1, message);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: messages\n };\n } else {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.syncVisibleMessages(conversationId);\n },\n syncVisibleMessages(conversationId) {\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: mergeVisibleMessages(\n this.optimisticMessagesByConversation[conversationId] || [],\n this.messagesByConversation[conversationId] || []\n )\n };\n },\n keepOptimisticMessage(conversationId, message) {\n if (!this.optimisticMessagesByConversation[conversationId]) {\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: []\n };\n }\n const messages = this.optimisticMessagesByConversation[conversationId];\n const index = messages.findIndex(item => item.id === message.id);\n let nextMessages;\n if (index >= 0) {\n nextMessages = [...messages];\n nextMessages.splice(index, 1, message);\n } else {\n nextMessages = [...messages, message];\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: nextMessages\n };\n },\n pruneOptimisticMessages(conversationId, syncedMessages) {\n const messages = this.optimisticMessagesByConversation[conversationId] || [];\n if (!messages.length) {\n return;\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: messages.filter(message => {\n const remoteMatched = syncedMessages.some(syncedMessage => {\n return syncedMessage.id !== message.id && isSameMessage(syncedMessage, message);\n });\n if (remoteMatched && message.status !== 'failed') {\n return false;\n }\n return Date.now() - Number(message.displayTimestamp || message.timestamp || 0) < 30000 || message.status === 'failed';\n })\n };\n },\n loadActiveMessages(options = {}) {\n const syncOptions = typeof options === 'boolean'\n ? { allowReadReceipt: options }\n : options;\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n this.loading = true;\n const messages = imClient.getMessages(conversation, 30);\n this.pruneOptimisticMessages(conversation.id, messages);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversation.id]: mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages)\n };\n this.syncVisibleMessages(conversation.id);\n this.loading = false;\n this.syncActiveMessages(syncOptions);\n },\n async syncActiveMessages(options = {}) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n if (options.skipWhenHidden !== false && !isPageVisible()) {\n return;\n }\n const wantsReadReceipt = Boolean(options.allowReadReceipt);\n const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ userAction: Boolean(options.userAction) });\n const now = Date.now();\n const previousReadSyncAt = Number(this.lastReadSyncByConversation[conversation.id] || 0);\n const pollingReadReceipt = canMarkReadNow() && now - previousReadSyncAt >= 10000;\n const markRead = explicitReadReceipt || pollingReadReceipt;\n\n if (this.syncInFlight) {\n if (wantsReadReceipt) {\n this.pendingReadReceiptConversationId = conversation.id;\n }\n return;\n }\n this.syncInFlight = true;\n const syncedConversationId = conversation.id;\n const previousMessages = this.messagesByConversation[syncedConversationId] || [];\n try {\n const messages = await imClient.fetchRemoteMessages(conversation, 50, {\n markRead\n });\n if (markRead) {\n this.lastReadSyncByConversation = {\n ...this.lastReadSyncByConversation,\n [syncedConversationId]: Date.now()\n };\n }\n const editedIncomingMessages = incomingEditedMessages(previousMessages, messages);\n this.pruneOptimisticMessages(syncedConversationId, messages);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [syncedConversationId]: mergeVisibleMessages(this.messagesByConversation[syncedConversationId] || [], messages)\n };\n this.syncVisibleMessages(syncedConversationId);\n if (editedIncomingMessages.length && syncedConversationId === this.activeId) {\n this.focusMessage(editedIncomingMessages.sort((a, b) => messageActivityTimestamp(b) - messageActivityTimestamp(a))[0]);\n playNotificationSound();\n }\n const latest = messages.reduce((latestMessage, message) => {\n if (!latestMessage || messageActivityTimestamp(message) > messageActivityTimestamp(latestMessage)) {\n return message;\n }\n return latestMessage;\n }, null);\n if (latest) {\n conversation.subtitle = messagePreviewText(latest);\n conversation.updatedAt = messageActivityTimestamp(latest);\n writeLocalConversations(this.conversations);\n }\n } catch (error) {\n // Keep the local view usable if a polling request misses.\n } finally {\n this.syncInFlight = false;\n if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) {\n this.pendingReadReceiptConversationId = '';\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 700);\n }\n }\n },\n scheduleActiveMessagesSync(options = {}, delay = 700) {\n if (!this.activeId || !isPageVisible()) {\n return;\n }\n const now = Date.now();\n if (!this.messageSyncQueuedAt) {\n this.messageSyncQueuedAt = now;\n }\n this.pendingMessageSyncOptions = {\n ...this.pendingMessageSyncOptions,\n allowReadReceipt: Boolean(\n this.pendingMessageSyncOptions.allowReadReceipt || options.allowReadReceipt\n ),\n userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction)\n };\n const maxWait = 1200;\n const runAt = Math.min(now + Math.max(0, Number(delay) || 0), this.messageSyncQueuedAt + maxWait);\n window.clearTimeout(this.messageSyncTimer);\n this.messageSyncTimer = window.setTimeout(() => {\n const pendingOptions = this.pendingMessageSyncOptions;\n this.messageSyncTimer = null;\n this.messageSyncQueuedAt = 0;\n this.pendingMessageSyncOptions = {};\n this.syncActiveMessages(pendingOptions);\n }, Math.max(0, runAt - now));\n },\n startMessageSync() {\n this.bindReadPresenceEvents();\n if (!this.syncTimer) {\n this.syncTimer = window.setInterval(() => {\n if (isPageVisible() && !realtimeNotifications.isConnected()) {\n this.syncActiveMessages();\n }\n }, activeMessageSyncIntervalMs());\n }\n if (!this.conversationSyncTimer) {\n this.conversationSyncTimer = window.setInterval(() => {\n if (isPageVisible() && !realtimeNotifications.isConnected()) {\n this.refreshRemoteConversations();\n }\n }, conversationListSyncIntervalMs());\n this.refreshRemoteConversations();\n }\n },\n handleRealtimeNotification() {\n window.clearTimeout(this.realtimeSyncTimer);\n this.realtimeSyncTimer = window.setTimeout(() => {\n this.refreshRemoteConversations();\n if (this.activeId) {\n this.scheduleActiveMessagesSync({ allowReadReceipt: canMarkReadNow() }, 700);\n }\n }, 500);\n },\n bindReadPresenceEvents() {\n if (this.readPresenceEventsBound || typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n this.readPresenceEventsBound = true;\n const syncWhenReadable = () => {\n if (canMarkReadNow()) {\n this.refreshRemoteConversations();\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 300);\n }\n };\n window.addEventListener('focus', syncWhenReadable);\n document.addEventListener('visibilitychange', syncWhenReadable);\n },\n async refreshRemoteConversations() {\n this.bindImEvents();\n this.usingDemoData = false;\n if (this.conversationSyncInFlight) {\n return;\n }\n this.conversationSyncInFlight = true;\n try {\n const remoteConversations = await imClient.fetchRemoteConversations(50);\n this.applyRemoteConversations(remoteConversations);\n } catch (error) {\n imClient.refreshConversationList();\n } finally {\n this.conversationSyncInFlight = false;\n }\n },\n setActionNotice(message) {\n this.actionNotice = message;\n this.actionError = '';\n window.clearTimeout(this.actionNoticeTimer);\n this.actionNoticeTimer = window.setTimeout(() => {\n this.actionNotice = '';\n }, 1800);\n },\n setActionError(message) {\n this.actionError = message;\n this.actionNotice = '';\n window.clearTimeout(this.actionErrorTimer);\n this.actionErrorTimer = window.setTimeout(() => {\n this.actionError = '';\n }, 2400);\n },\n focusMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n this.attentionMessageId = key;\n window.clearTimeout(this.attentionMessageTimer);\n this.attentionMessageTimer = window.setTimeout(() => {\n if (this.attentionMessageId === key) {\n this.attentionMessageId = '';\n }\n }, 2800);\n },\n async handleMessageAction({ action, message }) {\n if (!message) {\n return;\n }\n if (action === 'copy') {\n await this.copyMessages([message]);\n } else if (action === 'edit') {\n this.startEditMessage(message);\n } else if (action === 'delete') {\n this.deleteMessages([message]);\n } else if (action === 'forward') {\n this.startForward([message]);\n } else if (action === 'favorite') {\n this.toggleFavorite(message);\n } else if (action === 'detail') {\n await this.openMessageDetail(message);\n } else if (action === 'quote') {\n this.quoteMessage(message);\n } else if (action === 'select') {\n this.enterSelectionMode(message);\n } else if (action === 'recall') {\n await this.recallMessage(message);\n }\n },\n async openMessageDetail(message) {\n const conversation = this.activeConversation;\n if (!conversation || !message) {\n return;\n }\n const key = messageStableKey(message);\n this.messageDetailOpen = true;\n this.messageDetailLoading = true;\n this.messageDetailError = '';\n this.messageDetail = {\n messageUid: key,\n conversationType: conversation.type || conversation.raw?.type || 'single',\n sentAt: Number(message.displayTimestamp || message.timestamp || 0),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n localOnly: true,\n sender: {\n uid: message.from || '',\n name: message.senderName || message.from || ''\n }\n };\n try {\n if (!/^\\d+$/.test(key)) {\n this.messageDetailError = '本地临时消息暂无送达/已读详情';\n return;\n }\n const detail = await imClient.getMessageDetail(conversation, message);\n this.messageDetail = detail || this.messageDetail;\n } catch (error) {\n this.messageDetailError = error.message || '消息详情加载失败';\n } finally {\n this.messageDetailLoading = false;\n }\n },\n closeMessageDetail() {\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n },\n async copyMessages(messages) {\n const text = messages.map(message => message.text || '').join('\\n');\n if (!text.trim()) {\n return;\n }\n try {\n await writeClipboard(text);\n this.setActionNotice(messages.length > 1 ? '已复制所选消息' : '已复制');\n } catch (error) {\n this.setActionError('复制失败');\n }\n },\n deleteMessages(messages) {\n const conversation = this.activeConversation;\n if (!conversation || !messages.length) {\n return;\n }\n imClient.hideMessages(conversation, messages);\n this.removeMessages(conversation.id, messages);\n if (!this.selectedMessageIds.length) {\n this.selectionMode = false;\n }\n this.setActionNotice(messages.length > 1 ? '已删除所选消息' : '已删除');\n },\n toggleFavorite(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const index = this.favoriteMessages.findIndex(item => item.key === key);\n if (index >= 0) {\n this.favoriteMessages.splice(index, 1);\n if (this.activeFavoriteKey === key) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n this.setActionNotice('已取消收藏');\n } else {\n const conversation = this.conversations.find(item => item.id === message.conversationId) || {};\n this.favoriteMessages.unshift({\n key,\n id: message.id,\n messageUid: message.messageUid,\n conversationId: message.conversationId,\n conversationTitle: conversation.title || message.conversationTitle || '',\n type: message.type || 'text',\n text: message.text || '',\n preview: messagePreviewText(message),\n senderName: message.senderName || message.from || '',\n timestamp: Number(message.displayTimestamp || message.timestamp || Date.now()),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n recallStatus: message.recallStatus || (isRecalledMessage(message) ? '已撤回' : ''),\n attachment: message.attachment ? { ...message.attachment } : null\n });\n this.activeFavoriteKey = key;\n this.setActionNotice('已收藏');\n }\n this.favoriteMessages = this.favoriteMessages.slice(0, 200);\n writeFavoriteMessages(this.favoriteMessages);\n },\n setActiveFavorite(key) {\n this.activeFavoriteKey = String(key || '');\n },\n removeFavorite(key) {\n const value = String(key || '');\n if (!value) {\n return;\n }\n this.favoriteMessages = this.favoriteMessages.filter(message => message.key !== value);\n if (this.activeFavoriteKey === value) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n writeFavoriteMessages(this.favoriteMessages);\n },\n quoteMessage(message) {\n this.quotedMessage = {\n ...message,\n quoteText: quotePrefix(message)\n };\n this.setActionNotice('已引用,输入后发送');\n },\n cancelQuote() {\n this.quotedMessage = null;\n },\n enterSelectionMode(message = null) {\n this.selectionMode = true;\n if (message) {\n const key = messageStableKey(message);\n this.selectedMessageIds = key ? [key] : [];\n }\n },\n toggleSelectedMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const selected = new Set(this.selectedMessageIds);\n if (selected.has(key)) {\n selected.delete(key);\n } else {\n selected.add(key);\n }\n this.selectedMessageIds = Array.from(selected);\n this.selectionMode = this.selectedMessageIds.length > 0;\n },\n clearSelection() {\n this.selectionMode = false;\n this.selectedMessageIds = [];\n },\n copySelectedMessages() {\n return this.copyMessages(this.selectedMessages);\n },\n deleteSelectedMessages() {\n this.deleteMessages(this.selectedMessages);\n },\n startForward(messages) {\n this.forwardingMessages = messages.filter(message => message?.text);\n if (!this.forwardingMessages.length) {\n this.setActionError('没有可转发的消息');\n }\n },\n startForwardSelectedMessages() {\n this.startForward(this.selectedMessages);\n },\n cancelForward() {\n this.forwardingMessages = [];\n },\n startEditMessage(message) {\n const isResend = isRecalledMessage(message);\n if (!isResend && !message?.text) {\n this.setActionError('没有可编辑的文字内容');\n return;\n }\n this.editingMessage = message;\n this.editingText = message.text || '';\n this.editingMode = isResend ? 'resend' : 'edit';\n },\n cancelEditMessage() {\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n },\n async completeEditMessage() {\n const conversation = this.activeConversation;\n const message = this.editingMessage;\n const text = this.editingText.trim();\n const isResend = this.editingMode === 'resend' || isRecalledMessage(message);\n if (!conversation || !message) {\n this.cancelEditMessage();\n return;\n }\n if (!text) {\n this.setActionError('编辑内容不能为空');\n return;\n }\n if (!isResend && text === String(message.text || '').trim()) {\n this.cancelEditMessage();\n return;\n }\n try {\n if (isResend) {\n await this.sendTextToConversation(conversation, text);\n this.cancelEditMessage();\n this.setActionNotice('已重新发送');\n return;\n }\n const editedMessage = await imClient.editMessage(conversation, message, text);\n this.replaceLocalMessage(conversation.id, message, editedMessage);\n if (messageActivityTimestamp(editedMessage) >= Number(conversation.updatedAt || 0)) {\n conversation.subtitle = messagePreviewText(editedMessage);\n conversation.updatedAt = messageActivityTimestamp(editedMessage);\n writeLocalConversations(this.conversations);\n }\n this.cancelEditMessage();\n this.setActionNotice('已编辑');\n } catch (error) {\n this.setActionError(error.message || '编辑失败');\n }\n },\n async completeForward(targetConversationId) {\n const target = this.conversations.find(conversation => conversation.id === targetConversationId);\n if (!target || !this.forwardingMessages.length) {\n return;\n }\n const text = this.forwardingMessages\n .map(message => `转发:${message.text || ''}`)\n .join('\\n\\n');\n try {\n await this.sendTextToConversation(target, text);\n this.forwardingMessages = [];\n this.clearSelection();\n this.setActionNotice('已转发');\n } catch (error) {\n this.setActionError(error.message || '转发失败');\n }\n },\n async recallMessage(message) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n try {\n await imClient.recallMessage(conversation, message);\n if (message.direction !== 'out') {\n this.removeMessages(conversation.id, [message]);\n this.setActionNotice('已撤回');\n this.syncActiveMessages();\n return;\n }\n this.replaceLocalMessage(conversation.id, message, {\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n });\n this.setActionNotice('已撤回');\n } catch (error) {\n this.setActionError(error.message || '撤回失败');\n }\n },\n async createGroup(options = {}) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.createGroup(session.userId, options);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || '';\n if (nativeStatus && nativeStatus !== 'ok') {\n this.setActionNotice(options.channel ? '公告群已创建,仅网页可见' : '群组已创建,仅网页可见');\n } else {\n this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建');\n }\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || (options.channel ? '创建公告群失败' : '创建群组失败'));\n return false;\n }\n },\n async joinGroup(groupKey) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.joinGroup(session.userId, groupKey);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || '';\n this.setActionNotice(nativeStatus && nativeStatus !== 'ok' ? '已加入群组,仅网页可见' : '已加入群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '加入群组失败');\n return false;\n }\n },\n async broadcastMessage(targetIds, text) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const result = await imClient.broadcastMessage(session.userId, targetIds, text);\n const successCount = Number(result.successCount || 0);\n const failedCount = Number(result.failedCount || 0);\n this.setActionNotice(failedCount > 0 ? `已群发 ${successCount} 条,失败 ${failedCount} 条` : `已群发 ${successCount} 条`);\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '群发失败');\n return false;\n }\n },\n async leaveGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.leaveGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('已退出群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '退出群组失败');\n return false;\n }\n },\n async dismissGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.dismissGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('群组已解散');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '解散群组失败');\n return false;\n }\n }\n }\n});\n","import { defineStore } from 'pinia';\n\nexport const useNavigationStore = defineStore('navigation', {\n state: () => ({\n section: 'messages'\n }),\n actions: {\n showMessages() {\n this.section = 'messages';\n },\n showContacts() {\n this.section = 'contacts';\n },\n showFavorites() {\n this.section = 'favorites';\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\n\nconst STORAGE_KEY = 'qmt-web-im-session';\n\nfunction normalizeStoredPortrait(portrait) {\n return portrait || '';\n}\n\nfunction nextProfilePortrait(profilePortrait, currentPortrait) {\n return normalizeStoredPortrait(profilePortrait) || normalizeStoredPortrait(currentPortrait);\n}\n\nexport const useSessionStore = defineStore('session', {\n state: () => ({\n isAuthenticated: false,\n connecting: false,\n connected: false,\n connectionStatusText: '未连接',\n userId: '',\n token: '',\n displayName: '',\n portrait: '',\n error: '',\n sdkVersion: '',\n eventsBound: false\n }),\n actions: {\n restore() {\n const raw = localStorage.getItem(STORAGE_KEY);\n if (!raw) {\n return;\n }\n try {\n const session = JSON.parse(raw);\n if (session.appServer !== appConfig.appServer) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n if (session.userId && session.token) {\n if (!session.clientId) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n this.userId = session.userId;\n this.token = session.token;\n this.displayName = session.displayName || session.userId;\n this.portrait = normalizeStoredPortrait(session.portrait);\n this.isAuthenticated = true;\n imClient.restoreClientId(session.clientId);\n if (session.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.connect();\n this.refreshProfile();\n }\n } catch (error) {\n localStorage.removeItem(STORAGE_KEY);\n }\n },\n async loginWithPassword(mobile, password) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithPassword(mobile, password);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async loginWithCode(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithCode(mobile, code);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async completePcSessionLogin(result) {\n this.error = '';\n this.connecting = true;\n try {\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '扫码登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async registerWithPhone(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n return await imClient.registerWithPhone(mobile, code);\n } catch (error) {\n this.error = error.message || '注册失败';\n return null;\n } finally {\n this.connecting = false;\n }\n },\n applyLoginResult(result) {\n this.userId = result.userId || result.uid || result.id || '';\n this.token = result.token || result.imToken || '';\n this.displayName = result.displayName || result.userName || result.name || this.userId;\n this.portrait = normalizeStoredPortrait(result.portrait);\n this.isAuthenticated = Boolean(this.userId && this.token);\n if (result.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.persistSession(Boolean(result.localOnly));\n },\n persistSession(localOnly = false) {\n localStorage.setItem(STORAGE_KEY, JSON.stringify({\n userId: this.userId,\n token: this.token,\n displayName: this.displayName,\n portrait: this.portrait,\n clientId: imClient.getClientId(),\n localOnly,\n appServer: appConfig.appServer\n }));\n },\n applyProfile(profile) {\n if (!profile) {\n return;\n }\n this.userId = profile.userId || profile.uid || this.userId;\n this.displayName = profile.displayName || profile.name || this.displayName || this.userId;\n this.portrait = nextProfilePortrait(profile.portrait, this.portrait);\n this.persistSession();\n },\n async refreshProfile() {\n if (!this.userId) {\n return null;\n }\n try {\n const profile = await imClient.getProfile(this.userId);\n this.applyProfile(profile);\n return profile;\n } catch (error) {\n return null;\n }\n },\n async saveProfile({ displayName, portraitFile }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n const profile = await imClient.updateProfile(this.userId, {\n displayName,\n portraitFile\n });\n this.applyProfile(profile);\n return profile;\n },\n async changePassword({ oldPassword, newPassword }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n await imClient.changePassword({ oldPassword, newPassword });\n return true;\n },\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n await imClient.resetPasswordWithCode({ mobile, resetCode, newPassword });\n return true;\n },\n async connect() {\n if (!this.userId || !this.token) {\n return;\n }\n await imClient.ensureSdk();\n this.sdkVersion = imClient.getSdkVersion();\n this.bindImEvents();\n await imClient.connect(this.userId, this.token);\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('connectionStatusChanged', status => {\n this.connected = status.connected;\n this.connectionStatusText = status.statusText || (status.connected ? '已连接' : '未连接');\n });\n },\n logout() {\n imClient.disconnect();\n localStorage.removeItem(STORAGE_KEY);\n this.$reset();\n }\n }\n});\n","import script from \"./App.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = function(x) {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjc_web_im\"] = self[\"webpackChunkjc_web_im\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(1406); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["onMounted","watch","LoginView","ChatShell","useSessionStore","useConversationStore","session","conversations","restore","userId","isAuthenticated","bootstrapDemoData","clearUserState","NavigationRail","ConversationList","ContactList","ChatPanel","ContactPanel","FavoriteList","FavoritePanel","useNavigationStore","useContactStore","navigation","contacts","refreshRemoteConversations","refreshContacts","axios","jrQRCode","computed","onBeforeUnmount","reactive","ref","appConfig","imClient","QR_CODE_PREFIX_PC_SESSION","pendingRegistrationStorageKey","defaultPlatformLogo","emailRegisterEnabled","view","mode","mobile","password","code","sendingCode","info","qrStatus","qrCodeImage","qrSessionToken","qrUserName","qrUserPortrait","qrPolling","qrGeneration","qrExpireTimer","defaultPlatformName","appName","platformName","platformLogo","registerType","registerMethods","phone","email","username","mobileRealVerify","registerPhoneError","phoneCaptcha","phoneCaptchaImage","usernameCaptcha","usernameCaptchaImage","settingRegisterPassword","pendingRegistration","result","resetCode","registerForm","phoneCountryCode","emailCode","usernamePhoneCountryCode","usernamePhone","usernameCode","confirmPassword","registerPasswordForm","countryCodeOptions","value","label","registerMethodOptions","key","canSubmit","length","visibleRegisterMethods","enabled","filter","item","canRegisterSubmit","phoneCaptchaMatched","usernameCaptchaMatched","canSetRegisterPassword","phoneCaptchaStatus","getCaptchaStatus","phoneCaptchaClass","getCaptchaClass","usernameCaptchaStatus","usernameCaptchaClass","qrUserInitial","String","slice","toUpperCase","qrStatusTitle","connecting","qrStatusText","qrRefreshText","methods","some","loadPlatformConfig","loadRegisterConfig","restorePendingRegistration","startQrLogin","stopQrLogin","requestCode","requestAuthCode","error","message","requestRegisterCode","formatPhoneForApi","submit","loginWithPassword","loginWithCode","setLoginMode","nextMode","resetQrState","clearQrExpireTimer","window","clearTimeout","refreshQrLogin","force","generation","pcSession","createPcSession","token","Error","getQrBase64","expireMs","Math","max","min","Number","expired","setTimeout","pollQrLogin","data","loginWithPcSession","codeValue","completePcSessionLogin","userName","displayName","portrait","delay","ms","Promise","resolve","normalizeUsernameCaptchaInput","replace","normalizePhoneCaptchaInput","normalizeRegisterCountryCode","showPhoneCaptcha","randomDigits","renderCaptchaImage","showUsernameCaptcha","inputValue","captchaValue","status","index","floor","random","text","width","height","canvas","document","createElement","context","getContext","fillStyle","fillRect","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","font","textBaseline","textAlign","fillText","toDataURL","submitRegister","clearRegisterPhoneError","formattedPhone","phoneExists","isRegisterPhoneExists","loginCode","registerWithPhone","setPendingRegistration","submitRegisterPassword","resetPasswordWithCode","newPassword","clearPendingRegistration","countryCode","digits","normalizedCode","normalizedPhone","response","get","registerConfigApi","withCredentials","Boolean","mobile_real_verify","platformConfigApi","config","name","trim","logo","logoUrl","version","resolveBrandLogo","applyDocumentBrand","test","appendBrandVersion","startsWith","location","protocol","base","adminServer","URL","toString","url","parsed","href","searchParams","set","title","iconUrl","setDocumentIcon","rel","icon","querySelector","setAttribute","head","appendChild","handleBrandLogoError","post","registerPhoneExistsApi","exists","msg","sessionStorage","removeItem","setItem","JSON","stringify","appServer","pending","parse","getItem","openRegister","backToLogin","MessageList","MessageComposer","activeConversation","groupMenuOpen","singleProfileOpen","singleAliasDraft","singleProfileSaving","singleProfileNotice","singleProfileError","groupPanel","groupBusy","groupDetail","groupMembers","groupAliasDraft","manageSection","selectedAdminIds","selectedKickIds","transferTargetId","profileDraft","announcement","welcomeText","muteDraft","scheduleType","startsAtLocal","endsAtLocal","dailyStart","dailyEnd","muteSaveNotice","muteSaveError","singlePeerId","isGroupConversation","target","raw","id","singleContact","peerId","find","contact","uid","singleProfile","conversation","rawUser","alias","rawName","address","avatarText","includes","type","currentGroupRole","myRole","role","isGroupOwner","canManageGroup","sortedGroupMembers","roleOrder","owner","admin","member","map","sort","left","right","leftOrder","rightOrder","adminCandidateMembers","transferableMembers","messageDetail","messageDetailGroup","group","isMessageDetailGroup","conversationType","messageDetailCounts","counts","read","unread","undelivered","total","kickCandidateMembers","statusText","canSendActiveConversation","connectionStatusText","connected","formatDetailTime","timestamp","Intl","DateTimeFormat","year","month","day","hour","minute","second","hour12","timeZone","resolvedOptions","format","detailMemberName","detailMemberAvatar","detailRoleLabel","closeGroupMenu","toggleGroupMenu","openSingleProfile","then","catch","closeSingleProfile","saveSingleAlias","ok","updateContactAlias","actionError","refreshedContact","nextTitle","upsertConversation","handleSenderProfileUpdated","syncActiveMessages","allowReadReceipt","loadGroupMembers","closeGroupPanel","clearMuteSaveFeedback","loadGroupDetail","getGroupDetail","setActionError","openGroupOverview","openGroupMembers","getGroupMembers","openGroupAlias","detail","myAlias","msToLocalInput","date","Date","local","getTime","getTimezoneOffset","toISOString","localInputToMs","prepareManagementDrafts","setting","muteSetting","startsAtMs","endsAtMs","openGroupManage","openTransferGroup","saveGroupAlias","updateGroupAlias","setActionNotice","toggleAdmin","selected","Set","has","delete","add","Array","from","toggleKick","saveGroupAdmins","setGroupAdmins","saveGroupProfile","updateGroupProfile","updatedAt","now","kickSelectedMembers","confirm","kickGroupMembers","removed","removedIds","saveMuteSetting","updateGroupMuteSetting","leaveCurrentGroup","leaveGroup","dismissCurrentGroup","dismissGroup","transferCurrentGroup","transferGroup","memberAvatar","addEventListener","removeEventListener","props","__props","emit","__emit","emojiOpen","dropActive","textareaEl","imageInput","fileInput","pendingAttachments","dragDepth","emojiList","attachments","forEach","attachment","file","clearPendingAttachments","toggleEmojiPicker","insertEmoji","emoji","element","start","selectionStart","end","selectionEnd","requestAnimationFrame","focus","cursor","setSelectionRange","chooseImage","click","chooseFile","attachmentTypeForFile","fallbackType","emitFiles","files","disabled","validFiles","File","size","push","previewUrl","createObjectURL","releasePendingAttachment","revokeObjectURL","removePendingAttachment","splice","selectAttachment","event","input","hasDraggedFiles","types","dataTransfer","handleDragEnter","dropEffect","handleDragOver","handleDragLeave","filesFromDataTransfer","items","kind","webkitGetAsEntry","isDirectory","getAsFile","handleDrop","imageFilesFromClipboard","clipboardData","handlePaste","imageFiles","preventDefault","nextTick","IMAGE_MIN_SCALE","IMAGE_MAX_SCALE","listEl","viewerStage","contextMenu","visible","x","y","imageViewer","scale","rotation","offsetX","offsetY","dragging","dragStartX","dragStartY","dragOffsetX","dragOffsetY","senderProfile","roleLabel","contactAlias","groupAlias","isContact","aliasDraft","saving","adding","notice","imageViewerStyle","transform","menuItems","isOwnMessage","direction","isRecalledMessage","action","favoriteLabel","isFavorite","unshift","canRecallOthers","scrollToBottom","scroll","scrollTop","scrollHeight","scrollToMessage","messageId","row","querySelectorAll","dataset","messageKey","scrollIntoView","block","behavior","messages","deliveryStatus","messageUid","recalled","join","immediate","attentionMessageId","closeMenu","closeMenuOnEscape","moveImageDrag","stopImageDrag","messageIdentity","displayMessageText","contentType","canOpenMessageMenu","isSelected","selectedMessageIds","favoriteMessageIds","isAttention","isRecallNotice","isImageMessage","isFileMessage","isGroupMessage","showGroupSender","senderRoleLabel","senderRole","groupSenderName","senderName","groupSenderAvatarText","openSenderProfile","profile","cachedContact","cachedAlias","remarkAlias","senderPortrait","closeSenderProfile","addSenderAsContact","addContact","aliasSaved","saveSenderAlias","roleBubbleClass","formatFileSize","bytes","toFixed","retryImageLoad","image","currentTarget","HTMLImageElement","attempts","loadRetries","originalUrl","getAttribute","isConnected","separator","src","handleMessageClick","selectionMode","handleImageClick","openImageViewer","resetImageViewer","closeImageViewer","clampImageScale","setImageScale","originX","originY","previousScale","nextScale","rect","getBoundingClientRect","centerX","centerY","top","ratio","zoomImage","delta","rotateImage","handleImageWheel","factor","deltaY","clientX","clientY","startImageDrag","saveViewerImage","downloadUrl","origin","link","download","body","remove","openMenu","innerWidth","innerHeight","chooseMenuAction","formatTime","deliveryState","state","deliveryTitle","failureText","errorCode","activeContact","remarkName","editingAlias","aliasSaving","aliasError","openAliasEditor","closeAliasEditor","submitAlias","activeKey","activeFavorite","favoriteTitle","conversationTitle","entry","conversationId","favoritePreview","recallStatus","preview","formatFavoriteTime","favorite","clearFeedback","favoriteText","isImageFavorite","isFileFavorite","favoriteCopyText","copyFavorite","writeClipboard","copyError","navigator","clipboard","writeText","style","position","select","execCommand","removeChild","openConversation","showMessages","setActiveConversation","focusMessage","removeFavorite","keyword","addingContact","addKeyword","filteredContacts","toLowerCase","subtitle","openAddContact","actionInfo","closeAddContact","submitAddContact","added","defineComponent","h","actionMenuOpen","activeAction","actionBusy","searchKeyword","groupName","groupAnnouncement","groupWelcomeText","joinGroupKey","broadcastText","channelName","channelAnnouncement","contactKeyword","selectedContactIds","actionTitles","createGroup","joinGroup","broadcast","createChannel","submitLabels","actionTitle","submitLabel","modalError","modalInfo","actionNotice","normalizedSearchKeyword","contactsByUid","Map","filteredConversationItems","conversationResult","conversationResults","matchesConversation","contactForConversation","conversationTargets","conversationTarget","contactResults","matchesContact","contactResult","submitDisabled","ContactPicker","default","selectedIds","emptyText","emits","setup","class","placeholder","onInput","onClick","alt","searchableValues","values","flatMap","isArray","Object","matchesKeyword","compactKeyword","groupId","group_id","owner_uid","friendAlias","rawFriend","resultKind","resultKey","isListItemActive","activeId","selectListItem","openChat","clearStoreMessages","resetActionFields","toggleActionMenu","closeActionMenu","openAction","closeActionModal","toggleContact","contactId","submitAction","memberIds","broadcastMessage","channel","formatUnread","count","CROP_OUTPUT_SIZE","settingsItems","initials","settingsOpen","settingsSection","passwordSaving","settingsNotice","settingsError","profileOpen","profileSaving","profileNotice","profileError","profileFile","profilePreview","portraitInput","cropperCanvas","cropperPreviewCanvas","passwordDraft","oldPassword","currentAvatarUrl","activeSettingsItem","avatarPreviewViewer","open","avatarCropper","loaded","busy","objectUrl","fileName","baseScale","avatarPreviewStyle","refreshProfile","drawAvatarCropper","revokeProfilePreview","closeAvatarCropper","showContacts","clearProfileFeedback","clearSettingsFeedback","resetPasswordDraft","openSettings","closeSettings","selectSettingsSection","section","revokeCropperObjectUrl","openProfileEditor","closeProfileEditor","closeAvatarPreview","selectPortrait","openAvatarCropper","choosePortraitFile","openAvatarPreview","resetAvatarPreview","zoomAvatarPreview","handleAvatarPreviewWheel","startAvatarPreviewDrag","setPointerCapture","pointerId","moveAvatarPreviewDrag","stopAvatarPreviewDrag","dropPortrait","cropperStageSize","round","cropperBoxSize","rotatedImageSize","quarterTurn","abs","naturalHeight","naturalWidth","clampCropperOffset","cropSize","rotated","scaledWidth","scaledHeight","maxX","maxY","updateCropperBaseScale","drawCanvasImage","outputScale","cropOnly","dpr","devicePixelRatio","setTransform","clearRect","save","translate","rotate","PI","drawImage","fill","previewCanvas","resetCropperTransform","Image","onload","onerror","zoomCropper","rotateCropper","degrees","handleCropperWheel","startCropperDrag","moveCropperDrag","stopCropperDrag","canvasToBlob","quality","reject","toBlob","blob","confirmAvatarCrop","outputCanvas","croppedFile","saveProfile","portraitFile","savePassword","changePassword","logout","clearContacts","currentHost","hostname","runtimeConfig","JC_WEB_IM_CONFIG","appServerOrigin","adminServerOrigin","process","env","VUE_APP_ADMIN_SERVER","VUE_APP_APP_SERVER","VUE_APP_PLATFORM_CONFIG_API","NODE_ENV","VUE_APP_REGISTER_CONFIG_API","VUE_APP_REGISTER_PHONE_EXISTS_API","contactsApi","VUE_APP_CONTACTS_API","updateAliasApi","VUE_APP_UPDATE_ALIAS_API","addContactApi","VUE_APP_ADD_CONTACT_API","conversationActionsApi","VUE_APP_CONVERSATION_ACTIONS_API","sendMessageApi","VUE_APP_SEND_MESSAGE_API","messageActionApi","VUE_APP_MESSAGE_ACTION_API","messageDetailApi","VUE_APP_MESSAGE_DETAIL_API","messagesApi","VUE_APP_MESSAGES_API","profileApi","VUE_APP_PROFILE_API","changePasswordApi","VUE_APP_CHANGE_PASSWORD_API","resetPasswordApi","VUE_APP_RESET_PASSWORD_API","imServerHost","VUE_APP_IM_SERVER_HOST","imRoutePort","VUE_APP_IM_ROUTE_PORT","useWss","VUE_APP_USE_WSS","wsPath","VUE_APP_WS_PATH","wsUrl","VUE_APP_WS_URL","sdkMode","VUE_APP_IM_MODE","syncIntervalMs","VUE_APP_SYNC_INTERVAL_MS","sseEnabled","VUE_APP_SSE_ENABLED","sseTicketApi","VUE_APP_SSE_TICKET_API","sseUrl","VUE_APP_SSE_URL","platform","clientIdStorageKey","authTokenStoragePrefix","createApp","createPinia","App","use","mount","LOCAL_MESSAGE_STORAGE_KEY","LOCAL_HIDDEN_MESSAGE_STORAGE_KEY","LOCAL_RECALLED_MESSAGE_STORAGE_KEY","scopedStorageKey","baseKey","scope","encodeURIComponent","randomId","crypto","randomUUID","replaceAll","readLocalMessages","localStorage","readMessageSet","storageKey","writeMessageSet","messagesByConversation","messageKeys","hasStoredMessage","stored","ids","storeMessageKeys","withRecalledState","applyLocalMessageState","isRecalled","writeLocalMessages","saveLocalMessage","findIndex","mergeSyncedMessages","localMessages","remoteMessages","visibleLocalMessages","localByKey","visibleRemoteMessages","remoteMessage","localMessage","remoteKeys","hasRemoteMatch","pendingLocalMessages","a","b","displayTimestamp","getTitle","fallback","getUniqueEquipment","allowedDevices","canUseLocalLoginFallback","HttpImClient","constructor","listeners","currentUser","getClientId","clientId","restoreClientId","getSdkVersion","ensureSdk","deviceId","uniqueEquipment","persistAppToken","localOnly","flag","device_name","connect","refreshConversationList","disconnect","getConversationList","fetchRemoteConversations","remoteConversations","limit","line","getMessages","fetchRemoteMessages","options","markRead","hideMessages","markMessagesRecalled","recallMessage","editMessage","nextText","editedMessage","editedAt","activityTimestamp","getMessageDetail","sendTextMessage","initialMessage","sender","sentMessage","serverTimestamp","failedMessage","sendAttachmentMessage","mime","formData","FormData","append","getContactList","getServerContactList","headers","getAppAuthHeaders","mapContact","localeCompare","reason","normalizeConversation","nativeStatus","nativeError","groupKey","targetIds","members","targetUserId","adminIds","targetId","getProfile","updateProfile","refreshContactList","createSingleConversation","userInfo","friend","on","eventName","handler","off","payload","appToken","authtoken","authToken","getUrlHost","host","LongConnectionImClient","UnsupportedWildfireImClient","WildfireImClient","HEARTBEAT_INTERVAL_MS","RECONNECT_MIN_MS","RECONNECT_MAX_MS","buildWsUrl","port","path","normalizeConversationId","to","receiver","normalizeIncomingMessage","currentUserId","fromUser","content","searchableContent","socket","heartbeatTimer","reconnectTimer","reconnectAttempts","manualClose","shouldUseMessagePolling","WebSocket","openSocket","clearReconnectTimer","clearHeartbeatTimer","close","readyState","OPEN","sendAuthFrame","CONNECTING","binaryType","scheduleReconnect","onopen","startHeartbeat","onmessage","handleFrame","onclose","sendFrame","frame","send","rawData","ArrayBuffer","cmd","setInterval","clearInterval","RealtimeNotificationClient","source","reconnectAttempt","stop","ticket","endpoint","socketUrl","realtimeNotifications","defineStore","CONTACT_CACHE_MS","normalizeContacts","unique","normalized","loading","eventsBound","refreshSerial","refreshPromise","loadedForUserId","loadedAt","getters","actions","bindImEvents","requestUserId","serial","serverContacts","latest","nextAlias","savedAlias","setActiveContact","LOCAL_CONVERSATION_STORAGE_KEY","LOCAL_FAVORITE_MESSAGES_KEY","readFavoriteMessages","writeFavoriteMessages","readLocalConversations","writeLocalConversations","messageStableKey","messageActivityTimestamp","attachmentLabel","cleanPlaceholderText","messagePreviewText","sanitizeConversation","isHttpUrl","fileNameFromUrl","pathname","decodeURIComponent","split","pop","normalizeMessageForDisplay","quotePrefix","isSameMessage","hasExactMessage","canMarkReadNow","visibilityState","userAction","isPageVisible","activeMessageSyncIntervalMs","configured","isFinite","conversationListSyncIntervalMs","mergeVisibleMessages","currentMessages","syncedMessages","merged","currentMessage","shouldKeepLocal","incomingEditedMessages","previousMessages","nextMessages","previousByKey","previous","notificationAudioContext","playNotificationSound","AudioContext","webkitAudioContext","resume","oscillator","createOscillator","gain","createGain","startAt","currentTime","frequency","setValueAtTime","exponentialRampToValueAtTime","destination","visibleMessagesByConversation","usingDemoData","syncTimer","conversationSyncTimer","readPresenceEventsBound","syncInFlight","pendingReadReceiptConversationId","conversationSyncInFlight","messageSyncTimer","messageSyncQueuedAt","pendingMessageSyncOptions","lastReadSyncByConversation","optimisticMessagesByConversation","quotedMessage","forwardingMessages","editingMessage","editingText","editingMode","messageDetailOpen","messageDetailLoading","messageDetailError","attentionMessageTimer","favoriteMessages","activeFavoriteKey","realtimeSyncTimer","activeMessages","totalUnread","reduce","sum","selectedMessages","loadScopedLocalState","startMessageSync","handleRealtimeNotification","loadActiveMessages","appendMessage","scheduleActiveMessagesSync","replaceMessage","applyRemoteConversations","sendText","appendVisibleMessage","sendAttachment","sendTextToConversation","removeConversation","removedMessages","removedVisibleMessages","removedOptimisticMessages","remote","keepOptimisticMessage","updateConversationFromMessage","syncVisibleMessages","removeMessages","filterMessages","list","replaceLocalMessage","targetMessage","nextMessage","keys","replaceInList","matched","pruneOptimisticMessages","remoteMatched","syncedMessage","syncOptions","skipWhenHidden","wantsReadReceipt","explicitReadReceipt","previousReadSyncAt","pollingReadReceipt","syncedConversationId","editedIncomingMessages","latestMessage","maxWait","runAt","pendingOptions","bindReadPresenceEvents","syncWhenReadable","actionNoticeTimer","actionErrorTimer","handleMessageAction","copyMessages","startEditMessage","deleteMessages","startForward","toggleFavorite","openMessageDetail","quoteMessage","enterSelectionMode","sentAt","closeMessageDetail","setActiveFavorite","quoteText","cancelQuote","toggleSelectedMessage","clearSelection","copySelectedMessages","deleteSelectedMessages","startForwardSelectedMessages","cancelForward","isResend","cancelEditMessage","completeEditMessage","completeForward","targetConversationId","successCount","failedCount","showFavorites","STORAGE_KEY","normalizeStoredPortrait","nextProfilePortrait","profilePortrait","currentPortrait","sdkVersion","applyLoginResult","imToken","persistSession","applyProfile","$reset"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.ec5edb4d.js.map b/dist/js/app.ec5edb4d.js.map deleted file mode 100644 index 35c97e5..0000000 --- a/dist/js/app.ec5edb4d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/app.ec5edb4d.js","mappings":"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","sources":["webpack://jc-web-im/./src/components/ChatShell.vue?4f5d","webpack://jc-web-im/./src/App.vue?c8ff","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?a882","webpack://jc-web-im/./src/components/ChatShell.vue?22c0","webpack://jc-web-im/./src/stores/navigation.js","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue","webpack://jc-web-im/./src/components/chat/ChatPanel.vue","webpack://jc-web-im/./src/components/chat/MessageComposer.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?b0a9","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?b67e","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?4ff6","webpack://jc-web-im/./src/App.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?0735","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?3fb9","webpack://jc-web-im/./src/services/httpImClient.js","webpack://jc-web-im/./src/components/sidebar/ContactList.vue","webpack://jc-web-im/./src/stores/conversations.js","webpack://jc-web-im/./src/stores/contacts.js","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?b854","webpack://jc-web-im/./src/stores/session.js","webpack://jc-web-im/./src/services/longConnectionImClient.js","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?f077","webpack://jc-web-im/./src/components/chat/MessageList.vue?9afc","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?97c1","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?7de6","webpack://jc-web-im/./src/App.vue?7685","webpack://jc-web-im/./src/services/imClient.js","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?b114","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?9b5f","webpack://jc-web-im/./src/components/LoginView.vue?3868","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?5317","webpack://jc-web-im/./src/main.js","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?f3c5","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?fc3d","webpack://jc-web-im/./src/components/ChatShell.vue","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?9902","webpack://jc-web-im/./src/components/LoginView.vue?68d6","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue?35d4","webpack://jc-web-im/./src/config.js","webpack://jc-web-im/./src/components/LoginView.vue","webpack://jc-web-im/webpack/bootstrap","webpack://jc-web-im/webpack/runtime/chunk loaded","webpack://jc-web-im/webpack/runtime/compat get default export","webpack://jc-web-im/webpack/runtime/define property getters","webpack://jc-web-im/webpack/runtime/global","webpack://jc-web-im/webpack/runtime/hasOwnProperty shorthand","webpack://jc-web-im/webpack/runtime/make namespace object","webpack://jc-web-im/webpack/runtime/jsonp chunk loading","webpack://jc-web-im/webpack/before-startup","webpack://jc-web-im/webpack/startup","webpack://jc-web-im/webpack/after-startup"],"sourcesContent":["import script from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","\n\n\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"","import { defineStore } from 'pinia';\n\nexport const useNavigationStore = defineStore('navigation', {\n state: () => ({\n section: 'messages'\n }),\n actions: {\n showMessages() {\n this.section = 'messages';\n },\n showContacts() {\n this.section = 'contacts';\n },\n showFavorites() {\n this.section = 'favorites';\n }\n }\n});\n","\n\n\n","\n\n\n","\n\n\n","import script from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"","import script from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import script from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"","import axios from 'axios';\nimport { appConfig } from '@/config';\n\nconst LOCAL_MESSAGE_STORAGE_KEY = 'qmt-web-im-local-messages-v2';\nconst LOCAL_HIDDEN_MESSAGE_STORAGE_KEY = 'qmt-web-im-hidden-messages-v1';\nconst LOCAL_RECALLED_MESSAGE_STORAGE_KEY = 'qmt-web-im-recalled-messages-v1';\n\nfunction scopedStorageKey(baseKey, userId = '') {\n const scope = `${appConfig.appServer || ''}:${userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction readLocalMessages(userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction readMessageSet(storageKey, userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(storageKey, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction writeMessageSet(storageKey, messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(storageKey, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction messageKeys(message) {\n return [message?.id, message?.messageUid]\n .filter(Boolean)\n .map(value => String(value));\n}\n\nfunction hasStoredMessage(storageKey, conversationId, message, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n return messageKeys(message).some(id => ids.has(id));\n}\n\nfunction storeMessageKeys(storageKey, conversationId, messages, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n messages.forEach(message => {\n messageKeys(message).forEach(id => ids.add(id));\n });\n stored[conversationId] = Array.from(ids);\n writeMessageSet(storageKey, stored, userId);\n}\n\nfunction withRecalledState(message) {\n return {\n ...message,\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n };\n}\n\nfunction applyLocalMessageState(conversationId, messages, userId) {\n return messages\n .filter(message => !hasStoredMessage(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversationId, message, userId))\n .map(message => {\n const isRecalled = Boolean(message.recalled)\n || message.status === 'recalled'\n || hasStoredMessage(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversationId, message, userId);\n if (!isRecalled) {\n return message;\n }\n return withRecalledState(message);\n });\n}\n\nfunction writeLocalMessages(messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction saveLocalMessage(message, userId) {\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[message.conversationId] = messagesByConversation[message.conversationId] || [];\n const index = messagesByConversation[message.conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n messagesByConversation[message.conversationId].splice(index, 1, message);\n } else {\n messagesByConversation[message.conversationId].push(message);\n }\n writeLocalMessages(messagesByConversation, userId);\n}\n\nfunction mergeSyncedMessages(localMessages, remoteMessages, conversationId, userId) {\n const visibleLocalMessages = applyLocalMessageState(conversationId, localMessages, userId);\n const localByKey = new Map();\n visibleLocalMessages.forEach(message => {\n messageKeys(message).forEach(key => {\n if (!localByKey.has(key)) {\n localByKey.set(key, message);\n }\n });\n });\n\n const visibleRemoteMessages = applyLocalMessageState(conversationId, remoteMessages, userId).map(remoteMessage => {\n if (!remoteMessage.recalled || String(remoteMessage.text || '').trim()) {\n return remoteMessage;\n }\n const localMessage = messageKeys(remoteMessage)\n .map(key => localByKey.get(key))\n .find(message => message?.text && message.text !== '你撤回了一条消息');\n return localMessage ? { ...remoteMessage, text: localMessage.text } : remoteMessage;\n });\n const remoteKeys = new Set();\n visibleRemoteMessages.forEach(message => {\n messageKeys(message).forEach(key => remoteKeys.add(key));\n });\n const now = Date.now();\n\n function hasRemoteMatch(localMessage) {\n if (localMessage.messageUid && remoteKeys.has(localMessage.messageUid)) {\n return true;\n }\n return visibleRemoteMessages.some(remoteMessage => {\n return remoteMessage.direction === localMessage.direction\n && remoteMessage.text === localMessage.text\n && Math.abs(Number(remoteMessage.timestamp || 0) - Number(localMessage.timestamp || 0)) < 15000;\n });\n }\n\n const pendingLocalMessages = visibleLocalMessages.filter(message => {\n if (message.status === 'recalled' || message.recalled) {\n return message.direction === 'out' && !hasRemoteMatch(message);\n }\n if (message.direction !== 'out') {\n return false;\n }\n if (message.status === 'sent' && message.messageUid) {\n return !hasRemoteMatch(message);\n }\n if (message.status === 'sent') {\n return !hasRemoteMatch(message) && now - Number(message.timestamp || 0) < 30000;\n }\n return message.status === 'sending' || message.status === 'failed';\n });\n\n return [...visibleRemoteMessages, ...pendingLocalMessages].sort((a, b) => {\n return Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0);\n });\n}\n\nfunction getTitle(value, fallback) {\n return value || fallback || '';\n}\n\nfunction getUniqueEquipment(mobile, fallback) {\n const allowedDevices = {\n '18301902119': '67072d37062c4f31b1165073552933ba',\n '18301902116': '1777479418113eeea8e236edce',\n '18301902118': 'de89fb2f2a61480a8c381f6c16e28bd8',\n '18301902117': 'd117f480faa64145b6162107b1b49617'\n };\n return allowedDevices[mobile] || localStorage.getItem('uniqueEquipment') || fallback;\n}\n\nfunction canUseLocalLoginFallback(response) {\n const message = response.data?.message || '';\n return process.env.NODE_ENV === 'development' && message.includes('允许此设备登录');\n}\n\nexport class HttpImClient {\n constructor() {\n this.listeners = new Map();\n this.connected = false;\n this.currentUser = null;\n }\n\n getClientId() {\n let clientId = localStorage.getItem(appConfig.clientIdStorageKey);\n if (!clientId) {\n clientId = randomId();\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n return clientId;\n }\n\n restoreClientId(clientId) {\n if (clientId) {\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n }\n\n getSdkVersion() {\n return 'HTTP';\n }\n\n async ensureSdk() {\n return true;\n }\n\n async loginWithPassword(mobile, password) {\n const url = `${appConfig.appServer}/login_pwd`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n password,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n if (canUseLocalLoginFallback(response)) {\n return {\n userId: mobile,\n token: `local-device-pending-${Date.now()}`,\n displayName: mobile,\n localOnly: true\n };\n }\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async requestAuthCode(mobile) {\n const response = await axios.post(`${appConfig.appServer}/send_code`, { mobile }, { withCredentials: false });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '验证码发送失败');\n }\n return response.data.result;\n }\n\n async loginWithCode(mobile, code) {\n const url = `${appConfig.appServer}/login`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async createPcSession(userId = '') {\n const response = await axios.post(`${appConfig.appServer}/pc_session`, {\n flag: 1,\n device_name: 'Web IM',\n userId,\n clientId: this.getClientId(),\n platform: appConfig.platform\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '二维码登录会话创建失败');\n }\n return response.data.result || {};\n }\n\n async loginWithPcSession(token) {\n const url = `${appConfig.appServer}/session_login/${encodeURIComponent(token)}`;\n const response = await axios.post(url, null, { withCredentials: false });\n this.persistAppToken(url, response);\n const data = response.data || {};\n if ([0, 8, 9, 10, 18].includes(Number(data.code))) {\n return data;\n }\n throw new Error(data.message || '扫码登录失败');\n }\n\n async registerWithPhone(mobile, code) {\n const url = `${appConfig.appServer}/register`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n\n try {\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '注册失败');\n }\n return response.data.result;\n } catch (error) {\n const status = error.response?.status;\n if (status === 404 || status === 405) {\n return this.loginWithCode(mobile, code);\n }\n throw error;\n }\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.connected = true;\n this.emit('connectionStatusChanged', { connected: true, statusText: '已连接' });\n this.refreshConversationList();\n }\n\n disconnect() {\n this.connected = false;\n this.currentUser = null;\n this.emit('connectionStatusChanged', { connected: false, statusText: '未连接' });\n }\n\n getConversationList() {\n return [];\n }\n\n refreshConversationList() {\n const conversations = this.getConversationList();\n if (conversations.length) {\n this.emit('conversationsChanged', conversations);\n }\n if (this.currentUser?.userId) {\n this.fetchRemoteConversations().then(remoteConversations => {\n this.emit('conversationsChanged', remoteConversations);\n }).catch(() => {});\n }\n return conversations;\n }\n\n async fetchRemoteConversations(limit = 50) {\n if (!this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n limit\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '会话同步失败');\n }\n\n return (response.data?.result?.conversations || []).map(conversation => ({\n ...conversation,\n updatedAt: Number(conversation.updatedAt || Date.now()),\n avatarText: conversation.avatarText || String(conversation.title || conversation.target || '?').slice(0, 1).toUpperCase(),\n raw: conversation.raw || { type: 'single', target: conversation.target, line: 0 }\n }));\n }\n\n getMessages(conversation) {\n if (!conversation?.id) {\n return [];\n }\n const userId = this.currentUser?.userId || '';\n return applyLocalMessageState(conversation.id, readLocalMessages(userId)[conversation.id] || [], userId);\n }\n\n async fetchRemoteMessages(conversation, limit = 50, options = {}) {\n if (!conversation?.id || !this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n limit,\n conversationType: conversation.type || conversation.raw?.type || 0,\n markRead: Boolean(options.markRead)\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息同步失败');\n }\n\n const messages = (response.data?.result?.messages || []).map(message => ({\n ...message,\n displayTimestamp: message.displayTimestamp || message.timestamp,\n conversationId: conversation.id\n }));\n const userId = this.currentUser?.userId || '';\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId);\n writeLocalMessages(messagesByConversation, userId);\n return messagesByConversation[conversation.id];\n }\n\n hideMessages(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n markMessagesRecalled(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n async recallMessage(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可撤回的消息ID');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'recall',\n userId: this.currentUser?.userId || message.from || '',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '撤回失败');\n }\n this.markMessagesRecalled(conversation, [message]);\n return response.data.result;\n }\n\n async editMessage(conversation, message, text) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可编辑的消息ID');\n }\n const nextText = String(text || '').trim();\n if (!nextText) {\n throw new Error('编辑内容不能为空');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'edit',\n userId: this.currentUser?.userId || message.from || '',\n messageUid,\n text: nextText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '编辑失败');\n }\n\n const result = response.data?.result?.message || {};\n const editedMessage = {\n ...message,\n text: result.text || nextText,\n status: 'delivered',\n deliveryStatus: 'delivered',\n editedAt: Number(result.editedAt || Date.now()),\n activityTimestamp: Number(result.editedAt || Date.now())\n };\n saveLocalMessage(editedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', editedMessage);\n return editedMessage;\n }\n\n async getMessageDetail(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!messageUid) {\n throw new Error('缺少消息ID');\n }\n const response = await axios.post(appConfig.messageDetailApi, {\n userId: this.currentUser?.userId || '',\n target: conversation?.target || conversation?.raw?.target || conversation?.id?.replace(/^single-/, '') || '',\n conversationType: conversation?.type || conversation?.raw?.type || 'single',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息详情加载失败');\n }\n\n return response.data?.result?.detail || null;\n }\n\n async sendTextMessage(conversation, text, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type: 'text',\n text,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const response = await axios.post(appConfig.sendMessageApi, {\n sender: this.currentUser?.userId || '',\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n conversationType: conversation.type || conversation.raw?.type || 0,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n async sendAttachmentMessage(conversation, { type, file, text = '' }, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type,\n text,\n attachment: {\n type,\n name: file?.name || (type === 'image' ? '图片' : '文件'),\n mime: file?.type || '',\n size: file?.size || 0,\n url: type === 'image' && file ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const formData = new FormData();\n formData.append('sender', this.currentUser?.userId || '');\n formData.append('target', conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''));\n formData.append('conversationType', conversation.type || conversation.raw?.type || 0);\n formData.append('messageType', type);\n formData.append('text', text || '');\n formData.append('attachment', file);\n\n const response = await axios.post(appConfig.sendMessageApi, formData, {\n withCredentials: false\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n attachment: response.data?.result?.attachment || message.attachment,\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n getContactList() {\n return [];\n }\n\n async getServerContactList(userId) {\n if (!userId) {\n return [];\n }\n const response = await axios.post(appConfig.contactsApi, { userId }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.contactsApi)\n });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '联系人加载失败');\n }\n return (response.data?.result?.contacts || []).map(item => {\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n }\n\n async addContact(userId, keyword, reason = '') {\n const response = await axios.post(appConfig.addContactApi, {\n userId,\n keyword,\n reason\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '添加联系人失败');\n }\n\n const item = response.data?.result?.contact;\n if (!item?.uid) {\n return null;\n }\n\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }\n\n normalizeConversation(conversation) {\n const title = getTitle(conversation?.title, conversation?.target || '');\n return {\n ...conversation,\n id: conversation?.id || `${conversation?.type === 'single' ? 'single' : 'group'}-${conversation?.target}`,\n target: conversation?.target || conversation?.raw?.target || '',\n title,\n subtitle: conversation?.subtitle || '',\n unread: Number(conversation?.unread || 0),\n portrait: conversation?.portrait || '',\n avatarText: conversation?.avatarText || title.slice(0, 1).toUpperCase(),\n updatedAt: Number(conversation?.updatedAt || Date.now()),\n raw: conversation?.raw || {\n type: conversation?.type === 'single' ? 'single' : 'group',\n target: conversation?.target || '',\n line: 0\n }\n };\n }\n\n async createGroup(userId, { name, memberIds = [], announcement = '', welcomeText = '', channel = false }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: channel ? 'create_channel' : 'create_group',\n userId,\n name,\n memberIds,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || (channel ? '创建公告群失败' : '创建群组失败'));\n }\n\n return this.normalizeConversation(response.data?.result?.conversation || {});\n }\n\n async joinGroup(userId, groupKey) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'join_group',\n userId,\n groupKey\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '加入群组失败');\n }\n\n return this.normalizeConversation(response.data?.result?.conversation || {});\n }\n\n async broadcastMessage(userId, targetIds, text) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'broadcast',\n userId,\n targetIds,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群发失败');\n }\n\n return response.data?.result || {};\n }\n\n async getGroupDetail(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_detail',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料加载失败');\n }\n\n return response.data?.result?.group || null;\n }\n\n async getGroupMembers(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_members',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群员加载失败');\n }\n\n return response.data?.result?.members || [];\n }\n\n async updateGroupAlias(userId, groupId, alias) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_alias',\n userId,\n groupId,\n alias\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '本群昵称保存失败');\n }\n\n return response.data?.result?.alias || '';\n }\n\n async leaveGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'leave_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '退出群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async dismissGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'dismiss_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '解散群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async transferGroup(userId, groupId, targetUserId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'transfer_group',\n userId,\n groupId,\n targetUserId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '转让群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async setGroupAdmins(userId, groupId, adminIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'set_group_admins',\n userId,\n groupId,\n adminIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '管理员设置失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupProfile(userId, groupId, { name, announcement, welcomeText }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_profile',\n userId,\n groupId,\n name,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料保存失败');\n }\n\n return response.data?.result || {};\n }\n\n async kickGroupMembers(userId, groupId, targetIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'kick_group_members',\n userId,\n groupId,\n targetIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '踢人失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupMuteSetting(userId, groupId, setting) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_mute_setting',\n userId,\n groupId,\n ...setting\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '禁言设置保存失败');\n }\n\n return response.data?.result?.muteSetting || null;\n }\n\n async updateContactAlias(userId, targetId, alias) {\n const response = await axios.post(appConfig.updateAliasApi, {\n userId,\n targetId,\n alias\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.updateAliasApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '备注名修改失败');\n }\n\n return response.data?.result?.contact?.alias || '';\n }\n\n async getProfile(userId) {\n const response = await axios.post(appConfig.profileApi, {\n action: 'get',\n userId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料加载失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async updateProfile(userId, { displayName, portraitFile }) {\n const formData = new FormData();\n formData.append('action', 'update');\n formData.append('userId', userId);\n formData.append('displayName', displayName);\n if (portraitFile) {\n formData.append('portraitFile', portraitFile);\n }\n\n const response = await axios.post(appConfig.profileApi, formData, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.appServer)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料保存失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async changePassword({ oldPassword, newPassword }) {\n const response = await axios.post(appConfig.changePasswordApi, {\n oldPassword,\n newPassword\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.changePasswordApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码修改失败');\n }\n\n return true;\n }\n\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n const response = await axios.post(appConfig.resetPasswordApi, {\n mobile,\n resetCode,\n newPassword\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码设置失败');\n }\n\n return true;\n }\n\n refreshContactList() {\n const contacts = this.getContactList();\n this.emit('contactsChanged', contacts);\n return contacts;\n }\n\n createSingleConversation(userId, userInfo = null) {\n const title = getTitle(userInfo?.title || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: `single-${userId}`,\n type: 'single',\n target: userId,\n title,\n subtitle: '',\n unread: 0,\n portrait: userInfo?.portrait || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n updatedAt: Date.now(),\n raw: { type: 'single', target: userId, line: 0 }\n };\n }\n\n mapContact(userId, friend, userInfo) {\n const title = getTitle(userInfo?.friendAlias || friend?.alias || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: userId,\n uid: userId,\n title,\n subtitle: userInfo?.mobile || userInfo?.name || userId,\n portrait: userInfo?.portrait || '',\n address: userInfo?.address || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: friend?.alias || userInfo?.friendAlias || '',\n rawFriend: friend,\n rawUser: userInfo\n };\n }\n\n on(eventName, handler) {\n if (!this.listeners.has(eventName)) {\n this.listeners.set(eventName, new Set());\n }\n this.listeners.get(eventName).add(handler);\n return () => this.off(eventName, handler);\n }\n\n off(eventName, handler) {\n this.listeners.get(eventName)?.delete(handler);\n }\n\n emit(eventName, payload) {\n this.listeners.get(eventName)?.forEach(handler => handler(payload));\n }\n\n persistAppToken(url, response) {\n const appToken = response.headers?.authtoken || response.headers?.authToken;\n if (appToken) {\n localStorage.setItem(appConfig.authTokenStoragePrefix + this.getUrlHost(url), appToken);\n }\n }\n\n getAppAuthHeaders(url) {\n const host = this.getUrlHost(url);\n if (!host) {\n return {};\n }\n const token = localStorage.getItem(appConfig.authTokenStoragePrefix + host);\n return token ? { authToken: token } : {};\n }\n\n getUrlHost(url) {\n try {\n return new URL(url, window.location.origin).host;\n } catch (error) {\n return '';\n }\n }\n}\n\nexport const imClient = new HttpImClient();\n","\n\n\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\nimport { useSessionStore } from '@/stores/session';\n\nconst LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2';\nconst LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1';\n\nfunction scopedStorageKey(baseKey) {\n const session = useSessionStore();\n const scope = `${appConfig.appServer || ''}:${session.userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction readFavoriteMessages() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeFavoriteMessages(messages) {\n localStorage.setItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY), JSON.stringify(messages));\n}\n\nfunction readLocalConversations() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeLocalConversations(conversations) {\n localStorage.setItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY), JSON.stringify(conversations));\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction messageKey(message) {\n return message.id || message.messageUid;\n}\n\nfunction messageStableKey(message) {\n return String(message?.messageUid || message?.id || '');\n}\n\nfunction messageActivityTimestamp(message) {\n return Number(message?.activityTimestamp || message?.editedAt || message?.displayTimestamp || message?.timestamp || 0);\n}\n\nfunction isRecalledMessage(message) {\n return Boolean(message?.recalled) || message?.status === 'recalled';\n}\n\nfunction attachmentLabel(message) {\n const attachment = message?.attachment;\n if (!attachment) {\n return '';\n }\n if (attachment.type === 'image') {\n return '[图片]';\n }\n return `[文件] ${attachment.name || '文件'}`;\n}\n\nfunction messagePreviewText(message) {\n if (isRecalledMessage(message)) {\n return `[${message?.recallStatus || '已撤回'}]`;\n }\n const text = String(message?.text || '').replace(/\\s+/g, ' ').trim();\n return text || attachmentLabel(message);\n}\n\nfunction quotePrefix(message) {\n const text = messagePreviewText(message);\n return text.length > 48 ? `${text.slice(0, 48)}...` : text;\n}\n\nasync function writeClipboard(text) {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n return;\n }\n const element = document.createElement('textarea');\n element.value = text;\n element.setAttribute('readonly', 'readonly');\n element.style.position = 'fixed';\n element.style.left = '-9999px';\n document.body.appendChild(element);\n element.select();\n document.execCommand('copy');\n document.body.removeChild(element);\n}\n\nfunction isSameMessage(left, right) {\n if (left.messageUid && right.messageUid && left.messageUid === right.messageUid) {\n return true;\n }\n if (left.id && right.id && left.id === right.id) {\n return true;\n }\n return left.direction === right.direction\n && left.text === right.text\n && (left.type || 'text') === (right.type || 'text')\n && Math.abs(Number(left.displayTimestamp || left.timestamp || 0) - Number(right.displayTimestamp || right.timestamp || 0)) < 15000;\n}\n\nfunction hasExactMessage(messages, message) {\n return messages.some(item => {\n if (item.id && message.id && item.id === message.id) {\n return true;\n }\n return item.messageUid && message.messageUid && item.messageUid === message.messageUid;\n });\n}\n\nfunction shouldUseMessagePolling() {\n return imClient.shouldUseMessagePolling ? imClient.shouldUseMessagePolling() : true;\n}\n\nfunction canMarkReadNow(options = {}) {\n if (typeof document === 'undefined') {\n return false;\n }\n if (document.visibilityState !== 'visible') {\n return false;\n }\n if (options.userAction) {\n return true;\n }\n return true;\n}\n\nfunction mergeVisibleMessages(currentMessages, syncedMessages) {\n const merged = [...syncedMessages];\n currentMessages.forEach(currentMessage => {\n const exists = merged.some(message => isSameMessage(message, currentMessage));\n const shouldKeepLocal = currentMessage.status === 'sending'\n || currentMessage.status === 'failed'\n || (currentMessage.direction === 'out'\n && currentMessage.status === 'sent'\n && Date.now() - Number(currentMessage.timestamp || 0) < 30000);\n if (!exists && shouldKeepLocal) {\n merged.push(currentMessage);\n }\n });\n\n return merged\n .filter((message, index, messages) => {\n const key = messageKey(message);\n return messages.findIndex(item => messageKey(item) === key) === index;\n })\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0));\n}\n\nfunction incomingEditedMessages(previousMessages, nextMessages) {\n const previousByKey = new Map();\n (previousMessages || []).forEach(message => {\n const key = messageStableKey(message);\n if (key) {\n previousByKey.set(key, message);\n }\n });\n\n return (nextMessages || []).filter(message => {\n if (message.direction !== 'in') {\n return false;\n }\n const editedAt = Number(message.editedAt || 0);\n if (editedAt <= 0) {\n return false;\n }\n const previous = previousByKey.get(messageStableKey(message));\n return previous && editedAt > Number(previous.editedAt || 0);\n });\n}\n\nlet notificationAudioContext = null;\n\nfunction playNotificationSound() {\n if (typeof window === 'undefined') {\n return;\n }\n try {\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (!AudioContext) {\n return;\n }\n notificationAudioContext = notificationAudioContext || new AudioContext();\n if (notificationAudioContext.state === 'suspended') {\n notificationAudioContext.resume().catch(() => {});\n }\n const oscillator = notificationAudioContext.createOscillator();\n const gain = notificationAudioContext.createGain();\n const startAt = notificationAudioContext.currentTime;\n oscillator.type = 'sine';\n oscillator.frequency.setValueAtTime(880, startAt);\n oscillator.frequency.setValueAtTime(660, startAt + 0.1);\n gain.gain.setValueAtTime(0.0001, startAt);\n gain.gain.exponentialRampToValueAtTime(0.12, startAt + 0.02);\n gain.gain.exponentialRampToValueAtTime(0.0001, startAt + 0.22);\n oscillator.connect(gain);\n gain.connect(notificationAudioContext.destination);\n oscillator.start(startAt);\n oscillator.stop(startAt + 0.24);\n } catch (error) {\n // Notification sound is best-effort; browsers may block audio until user interaction.\n }\n}\n\nexport const useConversationStore = defineStore('conversations', {\n state: () => ({\n activeId: '',\n conversations: [],\n messagesByConversation: {},\n visibleMessagesByConversation: {},\n eventsBound: false,\n usingDemoData: false,\n loading: false,\n syncTimer: null,\n conversationSyncTimer: null,\n readPresenceEventsBound: false,\n syncInFlight: false,\n pendingReadReceiptConversationId: '',\n conversationSyncInFlight: false,\n syncAfterSendTimer: null,\n optimisticMessagesByConversation: {},\n quotedMessage: null,\n forwardingMessages: [],\n editingMessage: null,\n editingText: '',\n editingMode: '',\n messageDetailOpen: false,\n messageDetailLoading: false,\n messageDetailError: '',\n messageDetail: null,\n attentionMessageId: '',\n attentionMessageTimer: null,\n selectionMode: false,\n selectedMessageIds: [],\n favoriteMessages: [],\n activeFavoriteKey: '',\n actionNotice: '',\n actionError: ''\n }),\n getters: {\n activeConversation(state) {\n return state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n },\n activeMessages(state) {\n return state.visibleMessagesByConversation[state.activeId] || [];\n },\n totalUnread(state) {\n return state.conversations.reduce((sum, item) => sum + Number(item.unread || 0), 0);\n },\n canSendActiveConversation(state) {\n const conversation = state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n if (!conversation) {\n return false;\n }\n if (conversation.type !== 'channel') {\n return true;\n }\n return ['owner', 'admin'].includes(conversation.role || conversation.raw?.role || '');\n },\n favoriteMessageIds(state) {\n return state.favoriteMessages.map(message => message.key);\n },\n activeFavorite(state) {\n return state.favoriteMessages.find(message => message.key === state.activeFavoriteKey)\n || state.favoriteMessages[0]\n || null;\n },\n selectedMessages(state) {\n const selectedIds = new Set(state.selectedMessageIds);\n return (state.visibleMessagesByConversation[state.activeId] || [])\n .filter(message => selectedIds.has(messageStableKey(message)));\n }\n },\n actions: {\n bootstrapDemoData() {\n const session = useSessionStore();\n this.bindImEvents();\n this.usingDemoData = false;\n if (!session.userId) {\n this.clearUserState();\n return;\n }\n this.loadScopedLocalState();\n this.startMessageSync();\n },\n loadScopedLocalState() {\n this.conversations = readLocalConversations();\n this.favoriteMessages = readFavoriteMessages();\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n this.activeId = this.conversations[0]?.id || '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.selectionMode = false;\n this.selectedMessageIds = [];\n if (this.activeId) {\n this.loadActiveMessages({ allowReadReceipt: true });\n }\n },\n clearUserState() {\n window.clearInterval(this.syncTimer);\n window.clearInterval(this.conversationSyncTimer);\n window.clearTimeout(this.syncAfterSendTimer);\n window.clearTimeout(this.attentionMessageTimer);\n this.syncTimer = null;\n this.conversationSyncTimer = null;\n this.syncAfterSendTimer = null;\n this.attentionMessageTimer = null;\n this.syncInFlight = false;\n this.conversationSyncInFlight = false;\n this.pendingReadReceiptConversationId = '';\n this.activeId = '';\n this.conversations = [];\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.attentionMessageId = '';\n this.selectionMode = false;\n this.selectedMessageIds = [];\n this.favoriteMessages = [];\n this.activeFavoriteKey = '';\n this.actionNotice = '';\n this.actionError = '';\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('messageSent', message => {\n this.appendMessage(message.conversationId, message);\n });\n imClient.on('messageReceived', message => {\n this.appendMessage(message.conversationId, message);\n if (message.conversationId === this.activeId) {\n this.syncActiveMessages({ allowReadReceipt: true });\n }\n });\n imClient.on('messageStatusChanged', message => {\n this.replaceMessage(message.conversationId, message);\n });\n imClient.on('conversationsChanged', remoteConversations => {\n this.usingDemoData = false;\n this.applyRemoteConversations(remoteConversations);\n });\n },\n setActiveConversation(id) {\n this.activeId = id;\n const conversation = this.conversations.find(item => item.id === id);\n if (conversation) {\n conversation.unread = 0;\n }\n this.loadActiveMessages({ allowReadReceipt: true, userAction: true });\n },\n sendText(text) {\n const conversation = this.activeConversation;\n if (!conversation || !text.trim()) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n value = `引用:${quotePrefix(this.quotedMessage)}\\n${value}`;\n this.quotedMessage = null;\n }\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendTextMessage(conversation, value, message);\n conversation.subtitle = value;\n conversation.updatedAt = Date.now();\n writeLocalConversations(this.conversations);\n window.clearTimeout(this.syncAfterSendTimer);\n this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 250);\n },\n sendAttachment({ type, file, text = '' }) {\n const conversation = this.activeConversation;\n if (!conversation || !file || !['image', 'file'].includes(type)) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n value = `引用:${quotePrefix(this.quotedMessage)}\\n${value}`.trim();\n this.quotedMessage = null;\n }\n const now = Date.now();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n senderRole: conversation.role || conversation.raw?.role || '',\n direction: 'out',\n type,\n text: value,\n attachment: {\n type,\n name: file.name || (type === 'image' ? '图片' : '文件'),\n mime: file.type || '',\n size: file.size || 0,\n url: type === 'image' ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: now,\n displayTimestamp: now\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendAttachmentMessage(conversation, { type, file, text: value }, message);\n conversation.subtitle = messagePreviewText(message);\n conversation.updatedAt = now;\n writeLocalConversations(this.conversations);\n window.clearTimeout(this.syncAfterSendTimer);\n this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 350);\n },\n async sendTextToConversation(conversation, text) {\n if (!conversation || !text.trim()) {\n return null;\n }\n const value = text.trim();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendMessage(conversation.id, message);\n const sentMessage = await imClient.sendTextMessage(conversation, value, message);\n this.replaceMessage(conversation.id, sentMessage);\n return sentMessage;\n },\n upsertConversation(conversation) {\n const index = this.conversations.findIndex(item => item.id === conversation.id);\n if (index >= 0) {\n this.conversations.splice(index, 1, {\n ...this.conversations[index],\n ...conversation\n });\n } else {\n this.conversations.unshift(conversation);\n }\n this.usingDemoData = false;\n writeLocalConversations(this.conversations);\n },\n removeConversation(conversationId) {\n this.conversations = this.conversations.filter(conversation => conversation.id !== conversationId);\n const {\n [conversationId]: removedMessages,\n ...messagesByConversation\n } = this.messagesByConversation;\n const {\n [conversationId]: removedVisibleMessages,\n ...visibleMessagesByConversation\n } = this.visibleMessagesByConversation;\n const {\n [conversationId]: removedOptimisticMessages,\n ...optimisticMessagesByConversation\n } = this.optimisticMessagesByConversation;\n void removedMessages;\n void removedVisibleMessages;\n void removedOptimisticMessages;\n this.messagesByConversation = messagesByConversation;\n this.visibleMessagesByConversation = visibleMessagesByConversation;\n this.optimisticMessagesByConversation = optimisticMessagesByConversation;\n if (this.activeId === conversationId) {\n this.activeId = this.conversations[0]?.id || '';\n }\n writeLocalConversations(this.conversations);\n if (this.activeId) {\n this.loadActiveMessages();\n }\n },\n applyRemoteConversations(remoteConversations) {\n const remote = Array.isArray(remoteConversations) ? remoteConversations : [];\n if (!remote.length && this.conversations.length) {\n return;\n }\n\n const merged = new Map();\n this.conversations.forEach(conversation => {\n merged.set(conversation.id, conversation);\n });\n remote.forEach(conversation => {\n const unread = conversation.id === this.activeId && canMarkReadNow() ? 0 : Number(conversation.unread || 0);\n merged.set(conversation.id, {\n ...(merged.get(conversation.id) || {}),\n ...conversation,\n unread\n });\n });\n\n this.conversations = Array.from(merged.values())\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0))\n .slice(0, 100);\n\n if (!this.conversations.length) {\n this.activeId = '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n writeLocalConversations(this.conversations);\n return;\n }\n\n if (!this.conversations.find(item => item.id === this.activeId)) {\n this.activeId = this.conversations[0].id;\n }\n writeLocalConversations(this.conversations);\n this.loadActiveMessages();\n },\n appendMessage(conversationId, message) {\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n if (!hasExactMessage(this.messagesByConversation[conversationId], message)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.updateConversationFromMessage(conversationId, message);\n this.syncVisibleMessages(conversationId);\n writeLocalConversations(this.conversations);\n },\n removeMessages(conversationId, messages) {\n const ids = new Set(messages.flatMap(message => [message.id, message.messageUid].filter(Boolean).map(String)));\n const filterMessages = list => (list || []).filter(message => {\n return ![message.id, message.messageUid].filter(Boolean).some(id => ids.has(String(id)));\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: filterMessages(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: filterMessages(this.visibleMessagesByConversation[conversationId])\n };\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: filterMessages(this.optimisticMessagesByConversation[conversationId])\n };\n this.selectedMessageIds = this.selectedMessageIds.filter(id => !ids.has(String(id)));\n },\n replaceLocalMessage(conversationId, targetMessage, nextMessage) {\n const keys = new Set([targetMessage.id, targetMessage.messageUid].filter(Boolean).map(String));\n const replaceInList = list => (list || []).map(message => {\n const matched = [message.id, message.messageUid].filter(Boolean).some(id => keys.has(String(id)));\n return matched ? { ...message, ...nextMessage } : message;\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: replaceInList(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: replaceInList(this.visibleMessagesByConversation[conversationId])\n };\n },\n updateConversationFromMessage(conversationId, message) {\n const conversation = this.conversations.find(item => item.id === conversationId);\n if (!conversation) {\n return;\n }\n\n conversation.subtitle = message.text || conversation.subtitle || '';\n conversation.updatedAt = messageActivityTimestamp(message) || Date.now();\n if (message.direction === 'in') {\n conversation.unread = conversationId === this.activeId ? 0 : Number(conversation.unread || 0) + 1;\n }\n this.conversations = [...this.conversations]\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0));\n },\n appendVisibleMessage(conversationId, message) {\n const messages = this.visibleMessagesByConversation[conversationId] || [];\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: [...messages.filter(item => item.id !== message.id), message]\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0))\n };\n },\n replaceMessage(conversationId, message) {\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent' || message.status === 'failed')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n const index = this.messagesByConversation[conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n const messages = [...this.messagesByConversation[conversationId]];\n messages.splice(index, 1, message);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: messages\n };\n } else {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.syncVisibleMessages(conversationId);\n },\n syncVisibleMessages(conversationId) {\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: mergeVisibleMessages(\n this.optimisticMessagesByConversation[conversationId] || [],\n this.messagesByConversation[conversationId] || []\n )\n };\n },\n keepOptimisticMessage(conversationId, message) {\n if (!this.optimisticMessagesByConversation[conversationId]) {\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: []\n };\n }\n const messages = this.optimisticMessagesByConversation[conversationId];\n const index = messages.findIndex(item => item.id === message.id);\n let nextMessages;\n if (index >= 0) {\n nextMessages = [...messages];\n nextMessages.splice(index, 1, message);\n } else {\n nextMessages = [...messages, message];\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: nextMessages\n };\n },\n pruneOptimisticMessages(conversationId, syncedMessages) {\n const messages = this.optimisticMessagesByConversation[conversationId] || [];\n if (!messages.length) {\n return;\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: messages.filter(message => {\n const remoteMatched = syncedMessages.some(syncedMessage => {\n return syncedMessage.id !== message.id && isSameMessage(syncedMessage, message);\n });\n if (remoteMatched && message.status !== 'failed') {\n return false;\n }\n return Date.now() - Number(message.displayTimestamp || message.timestamp || 0) < 30000 || message.status === 'failed';\n })\n };\n },\n loadActiveMessages(options = {}) {\n const syncOptions = typeof options === 'boolean'\n ? { allowReadReceipt: options }\n : options;\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n this.loading = true;\n const messages = imClient.getMessages(conversation, 30);\n this.pruneOptimisticMessages(conversation.id, messages);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversation.id]: mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages)\n };\n this.syncVisibleMessages(conversation.id);\n this.loading = false;\n this.syncActiveMessages(syncOptions);\n },\n async syncActiveMessages(options = {}) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n const wantsReadReceipt = Boolean(options.allowReadReceipt);\n const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ userAction: Boolean(options.userAction) });\n const pollingReadReceipt = canMarkReadNow();\n const markRead = explicitReadReceipt || pollingReadReceipt;\n\n if (this.syncInFlight) {\n if (wantsReadReceipt) {\n this.pendingReadReceiptConversationId = conversation.id;\n }\n return;\n }\n this.syncInFlight = true;\n const syncedConversationId = conversation.id;\n const previousMessages = this.messagesByConversation[syncedConversationId] || [];\n try {\n const messages = await imClient.fetchRemoteMessages(conversation, 50, {\n markRead\n });\n const editedIncomingMessages = incomingEditedMessages(previousMessages, messages);\n this.pruneOptimisticMessages(syncedConversationId, messages);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [syncedConversationId]: mergeVisibleMessages(this.messagesByConversation[syncedConversationId] || [], messages)\n };\n this.syncVisibleMessages(syncedConversationId);\n if (editedIncomingMessages.length && syncedConversationId === this.activeId) {\n this.focusMessage(editedIncomingMessages.sort((a, b) => messageActivityTimestamp(b) - messageActivityTimestamp(a))[0]);\n playNotificationSound();\n }\n const latest = messages.reduce((latestMessage, message) => {\n if (!latestMessage || messageActivityTimestamp(message) > messageActivityTimestamp(latestMessage)) {\n return message;\n }\n return latestMessage;\n }, null);\n if (latest) {\n conversation.subtitle = messagePreviewText(latest);\n conversation.updatedAt = messageActivityTimestamp(latest);\n writeLocalConversations(this.conversations);\n }\n } catch (error) {\n // Keep the local view usable if a polling request misses.\n } finally {\n this.syncInFlight = false;\n if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) {\n this.pendingReadReceiptConversationId = '';\n window.setTimeout(() => this.syncActiveMessages({ allowReadReceipt: true }), 0);\n }\n }\n },\n startMessageSync() {\n this.bindReadPresenceEvents();\n if (!this.syncTimer) {\n this.syncTimer = window.setInterval(() => {\n this.syncActiveMessages();\n }, Math.max(250, appConfig.syncIntervalMs));\n }\n if (!this.conversationSyncTimer) {\n this.conversationSyncTimer = window.setInterval(() => {\n this.refreshRemoteConversations();\n }, 2000);\n this.refreshRemoteConversations();\n }\n },\n bindReadPresenceEvents() {\n if (this.readPresenceEventsBound || typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n this.readPresenceEventsBound = true;\n const syncWhenReadable = () => {\n if (canMarkReadNow()) {\n this.syncActiveMessages({ allowReadReceipt: true });\n }\n };\n window.addEventListener('focus', syncWhenReadable);\n document.addEventListener('visibilitychange', syncWhenReadable);\n },\n async refreshRemoteConversations() {\n this.bindImEvents();\n this.usingDemoData = false;\n if (this.conversationSyncInFlight) {\n return;\n }\n this.conversationSyncInFlight = true;\n try {\n const remoteConversations = await imClient.fetchRemoteConversations(50);\n this.applyRemoteConversations(remoteConversations);\n } catch (error) {\n imClient.refreshConversationList();\n } finally {\n this.conversationSyncInFlight = false;\n }\n },\n setActionNotice(message) {\n this.actionNotice = message;\n this.actionError = '';\n window.clearTimeout(this.actionNoticeTimer);\n this.actionNoticeTimer = window.setTimeout(() => {\n this.actionNotice = '';\n }, 1800);\n },\n setActionError(message) {\n this.actionError = message;\n this.actionNotice = '';\n window.clearTimeout(this.actionErrorTimer);\n this.actionErrorTimer = window.setTimeout(() => {\n this.actionError = '';\n }, 2400);\n },\n focusMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n this.attentionMessageId = key;\n window.clearTimeout(this.attentionMessageTimer);\n this.attentionMessageTimer = window.setTimeout(() => {\n if (this.attentionMessageId === key) {\n this.attentionMessageId = '';\n }\n }, 2800);\n },\n async handleMessageAction({ action, message }) {\n if (!message) {\n return;\n }\n if (action === 'copy') {\n await this.copyMessages([message]);\n } else if (action === 'edit') {\n this.startEditMessage(message);\n } else if (action === 'delete') {\n this.deleteMessages([message]);\n } else if (action === 'forward') {\n this.startForward([message]);\n } else if (action === 'favorite') {\n this.toggleFavorite(message);\n } else if (action === 'detail') {\n await this.openMessageDetail(message);\n } else if (action === 'quote') {\n this.quoteMessage(message);\n } else if (action === 'select') {\n this.enterSelectionMode(message);\n } else if (action === 'recall') {\n await this.recallMessage(message);\n }\n },\n async openMessageDetail(message) {\n const conversation = this.activeConversation;\n if (!conversation || !message) {\n return;\n }\n const key = messageStableKey(message);\n this.messageDetailOpen = true;\n this.messageDetailLoading = true;\n this.messageDetailError = '';\n this.messageDetail = {\n messageUid: key,\n conversationType: conversation.type || conversation.raw?.type || 'single',\n sentAt: Number(message.displayTimestamp || message.timestamp || 0),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n localOnly: true,\n sender: {\n uid: message.from || '',\n name: message.senderName || message.from || ''\n }\n };\n try {\n if (!/^\\d+$/.test(key)) {\n this.messageDetailError = '本地临时消息暂无送达/已读详情';\n return;\n }\n const detail = await imClient.getMessageDetail(conversation, message);\n this.messageDetail = detail || this.messageDetail;\n } catch (error) {\n this.messageDetailError = error.message || '消息详情加载失败';\n } finally {\n this.messageDetailLoading = false;\n }\n },\n closeMessageDetail() {\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n },\n async copyMessages(messages) {\n const text = messages.map(message => message.text || '').join('\\n');\n if (!text.trim()) {\n return;\n }\n try {\n await writeClipboard(text);\n this.setActionNotice(messages.length > 1 ? '已复制所选消息' : '已复制');\n } catch (error) {\n this.setActionError('复制失败');\n }\n },\n deleteMessages(messages) {\n const conversation = this.activeConversation;\n if (!conversation || !messages.length) {\n return;\n }\n imClient.hideMessages(conversation, messages);\n this.removeMessages(conversation.id, messages);\n if (!this.selectedMessageIds.length) {\n this.selectionMode = false;\n }\n this.setActionNotice(messages.length > 1 ? '已删除所选消息' : '已删除');\n },\n toggleFavorite(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const index = this.favoriteMessages.findIndex(item => item.key === key);\n if (index >= 0) {\n this.favoriteMessages.splice(index, 1);\n if (this.activeFavoriteKey === key) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n this.setActionNotice('已取消收藏');\n } else {\n const conversation = this.conversations.find(item => item.id === message.conversationId) || {};\n this.favoriteMessages.unshift({\n key,\n id: message.id,\n messageUid: message.messageUid,\n conversationId: message.conversationId,\n conversationTitle: conversation.title || message.conversationTitle || '',\n type: message.type || 'text',\n text: message.text || '',\n preview: messagePreviewText(message),\n senderName: message.senderName || message.from || '',\n timestamp: Number(message.displayTimestamp || message.timestamp || Date.now()),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n recallStatus: message.recallStatus || (isRecalledMessage(message) ? '已撤回' : ''),\n attachment: message.attachment ? { ...message.attachment } : null\n });\n this.activeFavoriteKey = key;\n this.setActionNotice('已收藏');\n }\n this.favoriteMessages = this.favoriteMessages.slice(0, 200);\n writeFavoriteMessages(this.favoriteMessages);\n },\n setActiveFavorite(key) {\n this.activeFavoriteKey = String(key || '');\n },\n removeFavorite(key) {\n const value = String(key || '');\n if (!value) {\n return;\n }\n this.favoriteMessages = this.favoriteMessages.filter(message => message.key !== value);\n if (this.activeFavoriteKey === value) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n writeFavoriteMessages(this.favoriteMessages);\n },\n quoteMessage(message) {\n this.quotedMessage = {\n ...message,\n quoteText: quotePrefix(message)\n };\n this.setActionNotice('已引用,输入后发送');\n },\n cancelQuote() {\n this.quotedMessage = null;\n },\n enterSelectionMode(message = null) {\n this.selectionMode = true;\n if (message) {\n const key = messageStableKey(message);\n this.selectedMessageIds = key ? [key] : [];\n }\n },\n toggleSelectedMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const selected = new Set(this.selectedMessageIds);\n if (selected.has(key)) {\n selected.delete(key);\n } else {\n selected.add(key);\n }\n this.selectedMessageIds = Array.from(selected);\n this.selectionMode = this.selectedMessageIds.length > 0;\n },\n clearSelection() {\n this.selectionMode = false;\n this.selectedMessageIds = [];\n },\n copySelectedMessages() {\n return this.copyMessages(this.selectedMessages);\n },\n deleteSelectedMessages() {\n this.deleteMessages(this.selectedMessages);\n },\n startForward(messages) {\n this.forwardingMessages = messages.filter(message => message?.text);\n if (!this.forwardingMessages.length) {\n this.setActionError('没有可转发的消息');\n }\n },\n startForwardSelectedMessages() {\n this.startForward(this.selectedMessages);\n },\n cancelForward() {\n this.forwardingMessages = [];\n },\n startEditMessage(message) {\n const isResend = isRecalledMessage(message);\n if (!isResend && !message?.text) {\n this.setActionError('没有可编辑的文字内容');\n return;\n }\n this.editingMessage = message;\n this.editingText = message.text || '';\n this.editingMode = isResend ? 'resend' : 'edit';\n },\n cancelEditMessage() {\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n },\n async completeEditMessage() {\n const conversation = this.activeConversation;\n const message = this.editingMessage;\n const text = this.editingText.trim();\n const isResend = this.editingMode === 'resend' || isRecalledMessage(message);\n if (!conversation || !message) {\n this.cancelEditMessage();\n return;\n }\n if (!text) {\n this.setActionError('编辑内容不能为空');\n return;\n }\n if (!isResend && text === String(message.text || '').trim()) {\n this.cancelEditMessage();\n return;\n }\n try {\n if (isResend) {\n await this.sendTextToConversation(conversation, text);\n this.cancelEditMessage();\n this.setActionNotice('已重新发送');\n return;\n }\n const editedMessage = await imClient.editMessage(conversation, message, text);\n this.replaceLocalMessage(conversation.id, message, editedMessage);\n if (messageActivityTimestamp(editedMessage) >= Number(conversation.updatedAt || 0)) {\n conversation.subtitle = editedMessage.text;\n conversation.updatedAt = messageActivityTimestamp(editedMessage);\n writeLocalConversations(this.conversations);\n }\n this.cancelEditMessage();\n this.setActionNotice('已编辑');\n } catch (error) {\n this.setActionError(error.message || '编辑失败');\n }\n },\n async completeForward(targetConversationId) {\n const target = this.conversations.find(conversation => conversation.id === targetConversationId);\n if (!target || !this.forwardingMessages.length) {\n return;\n }\n const text = this.forwardingMessages\n .map(message => `转发:${message.text || ''}`)\n .join('\\n\\n');\n try {\n await this.sendTextToConversation(target, text);\n this.forwardingMessages = [];\n this.clearSelection();\n this.setActionNotice('已转发');\n } catch (error) {\n this.setActionError(error.message || '转发失败');\n }\n },\n async recallMessage(message) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n try {\n await imClient.recallMessage(conversation, message);\n if (message.direction !== 'out') {\n this.removeMessages(conversation.id, [message]);\n this.setActionNotice('已撤回');\n this.syncActiveMessages();\n return;\n }\n this.replaceLocalMessage(conversation.id, message, {\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n });\n this.setActionNotice('已撤回');\n } catch (error) {\n this.setActionError(error.message || '撤回失败');\n }\n },\n async createGroup(options = {}) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.createGroup(session.userId, options);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || (options.channel ? '创建公告群失败' : '创建群组失败'));\n return false;\n }\n },\n async joinGroup(groupKey) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.joinGroup(session.userId, groupKey);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n this.setActionNotice('已加入群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '加入群组失败');\n return false;\n }\n },\n async broadcastMessage(targetIds, text) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const result = await imClient.broadcastMessage(session.userId, targetIds, text);\n const successCount = Number(result.successCount || 0);\n const failedCount = Number(result.failedCount || 0);\n this.setActionNotice(failedCount > 0 ? `已群发 ${successCount} 条,失败 ${failedCount} 条` : `已群发 ${successCount} 条`);\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '群发失败');\n return false;\n }\n },\n async leaveGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.leaveGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('已退出群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '退出群组失败');\n return false;\n }\n },\n async dismissGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.dismissGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('群组已解散');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '解散群组失败');\n return false;\n }\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { useConversationStore } from '@/stores/conversations';\nimport { useNavigationStore } from '@/stores/navigation';\nimport { useSessionStore } from '@/stores/session';\n\nconst CONTACT_CACHE_MS = 15000;\n\nfunction normalizeContacts(contacts) {\n const unique = new Map();\n contacts.forEach(contact => {\n const uid = String(contact.uid || contact.id || '').trim();\n if (!uid) {\n return;\n }\n const normalized = {\n ...contact,\n id: String(contact.id || uid),\n uid\n };\n unique.set(uid, {\n ...(unique.get(uid) || {}),\n ...normalized\n });\n });\n return Array.from(unique.values()).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n}\n\nexport const useContactStore = defineStore('contacts', {\n state: () => ({\n contacts: [],\n activeId: '',\n loading: false,\n eventsBound: false,\n refreshSerial: 0,\n refreshPromise: null,\n loadedForUserId: '',\n loadedAt: 0,\n actionError: '',\n actionInfo: ''\n }),\n getters: {\n activeContact(state) {\n return state.contacts.find(item => item.id === state.activeId) || state.contacts[0] || null;\n }\n },\n actions: {\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('contactsChanged', contacts => {\n if (!contacts.length && this.contacts.length) {\n return;\n }\n this.contacts = normalizeContacts(contacts);\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n });\n },\n async refreshContacts(options = {}) {\n this.bindImEvents();\n const session = useSessionStore();\n const requestUserId = session.userId;\n const force = Boolean(options.force);\n if (!requestUserId) {\n this.clearContacts();\n return [];\n }\n if (!force\n && this.contacts.length\n && this.loadedForUserId === requestUserId\n && Date.now() - this.loadedAt < CONTACT_CACHE_MS\n ) {\n return this.contacts;\n }\n if (this.refreshPromise && !force) {\n return this.refreshPromise;\n }\n const serial = this.refreshSerial + 1;\n this.refreshSerial = serial;\n this.loading = true;\n\n this.refreshPromise = (async () => {\n this.contacts = normalizeContacts(imClient.refreshContactList());\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n if (!this.contacts.length || force) {\n const serverContacts = await imClient.getServerContactList(requestUserId);\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return this.contacts;\n }\n this.contacts = normalizeContacts(serverContacts);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n window.setTimeout(() => {\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return;\n }\n const latest = imClient.getContactList(false);\n if (latest.length || !this.contacts.length) {\n this.contacts = normalizeContacts(latest);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n }, 1200);\n return this.contacts;\n })();\n\n try {\n return await this.refreshPromise;\n } finally {\n if (serial === this.refreshSerial) {\n this.loading = false;\n this.refreshPromise = null;\n }\n }\n },\n async addContact(keyword) {\n const session = useSessionStore();\n const value = String(keyword || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!value) {\n this.actionError = '请输入用户ID、手机号或用户名';\n return false;\n }\n\n this.loading = true;\n try {\n const contact = await imClient.addContact(session.userId, value, '添加联系人');\n if (contact) {\n this.contacts = normalizeContacts([...this.contacts, contact]);\n this.activeId = contact.id;\n }\n this.actionInfo = '联系人已添加';\n await this.refreshContacts({ force: true });\n return true;\n } catch (error) {\n this.actionError = error.message || '添加联系人失败';\n return false;\n } finally {\n this.loading = false;\n }\n },\n async updateContactAlias(contactId, alias) {\n const session = useSessionStore();\n const targetId = String(contactId || '').trim();\n const nextAlias = String(alias || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!targetId) {\n this.actionError = '缺少联系人ID';\n return false;\n }\n\n try {\n const savedAlias = await imClient.updateContactAlias(session.userId, targetId, nextAlias);\n this.contacts = normalizeContacts(this.contacts.map(item => {\n if (item.uid !== targetId && item.id !== targetId) {\n return item;\n }\n const rawUser = {\n ...(item.rawUser || {}),\n friendAlias: savedAlias\n };\n const rawFriend = {\n ...(item.rawFriend || {}),\n alias: savedAlias\n };\n const title = savedAlias || rawUser.displayName || rawUser.name || item.uid;\n return {\n ...item,\n title,\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: savedAlias,\n rawFriend,\n rawUser\n };\n }));\n this.loadedAt = Date.now();\n this.actionInfo = '备注名已修改';\n return true;\n } catch (error) {\n this.actionError = error.message || '备注名修改失败';\n return false;\n }\n },\n clearContacts() {\n this.refreshSerial += 1;\n this.contacts = [];\n this.activeId = '';\n this.loading = false;\n this.refreshPromise = null;\n this.loadedForUserId = '';\n this.loadedAt = 0;\n this.actionError = '';\n this.actionInfo = '';\n },\n setActiveContact(id) {\n this.activeId = id;\n },\n openChat(contact) {\n if (!contact) {\n return;\n }\n const conversations = useConversationStore();\n const navigation = useNavigationStore();\n const conversation = imClient.createSingleConversation(contact.uid, contact);\n conversations.upsertConversation(conversation);\n conversations.setActiveConversation(conversation.id);\n navigation.showMessages();\n }\n }\n});\n","import script from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\n\nconst STORAGE_KEY = 'qmt-web-im-session';\n\nfunction normalizeStoredPortrait(portrait) {\n return portrait || '';\n}\n\nfunction nextProfilePortrait(profilePortrait, currentPortrait) {\n return normalizeStoredPortrait(profilePortrait) || normalizeStoredPortrait(currentPortrait);\n}\n\nexport const useSessionStore = defineStore('session', {\n state: () => ({\n isAuthenticated: false,\n connecting: false,\n connected: false,\n connectionStatusText: '未连接',\n userId: '',\n token: '',\n displayName: '',\n portrait: '',\n error: '',\n sdkVersion: '',\n eventsBound: false\n }),\n actions: {\n restore() {\n const raw = localStorage.getItem(STORAGE_KEY);\n if (!raw) {\n return;\n }\n try {\n const session = JSON.parse(raw);\n if (session.appServer !== appConfig.appServer) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n if (session.userId && session.token) {\n if (!session.clientId) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n this.userId = session.userId;\n this.token = session.token;\n this.displayName = session.displayName || session.userId;\n this.portrait = normalizeStoredPortrait(session.portrait);\n this.isAuthenticated = true;\n imClient.restoreClientId(session.clientId);\n if (session.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.connect();\n this.refreshProfile();\n }\n } catch (error) {\n localStorage.removeItem(STORAGE_KEY);\n }\n },\n async loginWithPassword(mobile, password) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithPassword(mobile, password);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async loginWithCode(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithCode(mobile, code);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async completePcSessionLogin(result) {\n this.error = '';\n this.connecting = true;\n try {\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '扫码登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async registerWithPhone(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n return await imClient.registerWithPhone(mobile, code);\n } catch (error) {\n this.error = error.message || '注册失败';\n return null;\n } finally {\n this.connecting = false;\n }\n },\n applyLoginResult(result) {\n this.userId = result.userId || result.uid || result.id || '';\n this.token = result.token || result.imToken || '';\n this.displayName = result.displayName || result.userName || result.name || this.userId;\n this.portrait = normalizeStoredPortrait(result.portrait);\n this.isAuthenticated = Boolean(this.userId && this.token);\n if (result.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.persistSession(Boolean(result.localOnly));\n },\n persistSession(localOnly = false) {\n localStorage.setItem(STORAGE_KEY, JSON.stringify({\n userId: this.userId,\n token: this.token,\n displayName: this.displayName,\n portrait: this.portrait,\n clientId: imClient.getClientId(),\n localOnly,\n appServer: appConfig.appServer\n }));\n },\n applyProfile(profile) {\n if (!profile) {\n return;\n }\n this.userId = profile.userId || profile.uid || this.userId;\n this.displayName = profile.displayName || profile.name || this.displayName || this.userId;\n this.portrait = nextProfilePortrait(profile.portrait, this.portrait);\n this.persistSession();\n },\n async refreshProfile() {\n if (!this.userId) {\n return null;\n }\n try {\n const profile = await imClient.getProfile(this.userId);\n this.applyProfile(profile);\n return profile;\n } catch (error) {\n return null;\n }\n },\n async saveProfile({ displayName, portraitFile }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n const profile = await imClient.updateProfile(this.userId, {\n displayName,\n portraitFile\n });\n this.applyProfile(profile);\n return profile;\n },\n async changePassword({ oldPassword, newPassword }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n await imClient.changePassword({ oldPassword, newPassword });\n return true;\n },\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n await imClient.resetPasswordWithCode({ mobile, resetCode, newPassword });\n return true;\n },\n async connect() {\n if (!this.userId || !this.token) {\n return;\n }\n await imClient.ensureSdk();\n this.sdkVersion = imClient.getSdkVersion();\n this.bindImEvents();\n await imClient.connect(this.userId, this.token);\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('connectionStatusChanged', status => {\n this.connected = status.connected;\n this.connectionStatusText = status.statusText || (status.connected ? '已连接' : '未连接');\n });\n },\n logout() {\n imClient.disconnect();\n localStorage.removeItem(STORAGE_KEY);\n this.$reset();\n }\n }\n});\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\n\nconst HEARTBEAT_INTERVAL_MS = 25000;\nconst RECONNECT_MIN_MS = 1000;\nconst RECONNECT_MAX_MS = 15000;\n\nfunction buildWsUrl() {\n if (appConfig.wsUrl) {\n return appConfig.wsUrl;\n }\n const protocol = appConfig.useWss ? 'wss' : 'ws';\n const host = appConfig.imServerHost || window.location.hostname;\n const port = appConfig.imRoutePort ? `:${appConfig.imRoutePort}` : '';\n const path = appConfig.wsPath?.startsWith('/') ? appConfig.wsPath : `/${appConfig.wsPath || 'ws'}`;\n return `${protocol}://${host}${port}${path}`;\n}\n\nfunction normalizeConversationId(payload) {\n const target = payload.target || payload.to || payload.receiver || payload.conversationTarget || payload.from || payload.sender;\n return payload.conversationId || (target ? `single-${target}` : '');\n}\n\nfunction normalizeIncomingMessage(payload, currentUserId) {\n const item = payload.message || payload;\n const from = item.from || item.sender || item.fromUser || '';\n const target = item.target || item.to || item.receiver || '';\n const direction = from && String(from) === String(currentUserId) ? 'out' : 'in';\n const conversationId = item.conversationId || normalizeConversationId({\n ...item,\n target: direction === 'out' ? target : from\n });\n\n if (!conversationId) {\n return null;\n }\n\n const status = item.status || item.deliveryStatus || 'sent';\n\n return {\n id: item.id || item.messageId || item.messageUid || `${Date.now()}${Math.random().toString(16).slice(2)}`,\n messageUid: item.messageUid || item.uid || item.messageId || '',\n conversationId,\n from,\n target,\n direction,\n type: item.type || 'text',\n text: item.text || item.content || item.searchableContent || '',\n status,\n deliveryStatus: item.deliveryStatus || (direction === 'out' ? status : ''),\n timestamp: Number(item.timestamp || item.serverTimestamp || Date.now()),\n displayTimestamp: Number(item.displayTimestamp || item.timestamp || item.serverTimestamp || Date.now()),\n raw: item\n };\n}\n\nexport class LongConnectionImClient extends HttpImClient {\n constructor() {\n super();\n this.socket = null;\n this.wsUrl = buildWsUrl();\n this.heartbeatTimer = null;\n this.reconnectTimer = null;\n this.reconnectAttempts = 0;\n this.manualClose = false;\n }\n\n getSdkVersion() {\n return 'JC-LC/0.1';\n }\n\n shouldUseMessagePolling() {\n return !this.connected;\n }\n\n async ensureSdk() {\n if (typeof WebSocket === 'undefined') {\n throw new Error('当前浏览器不支持 WebSocket 长连接');\n }\n return true;\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.manualClose = false;\n this.openSocket();\n }\n\n disconnect() {\n this.manualClose = true;\n this.clearReconnectTimer();\n this.clearHeartbeatTimer();\n if (this.socket) {\n this.socket.close();\n this.socket = null;\n }\n super.disconnect();\n }\n\n openSocket() {\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.sendAuthFrame();\n return;\n }\n if (this.socket?.readyState === WebSocket.CONNECTING) {\n return;\n }\n\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接连接中' });\n\n try {\n this.socket = new WebSocket(this.wsUrl);\n this.socket.binaryType = 'arraybuffer';\n } catch (error) {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接创建失败,使用HTTP补偿' });\n this.scheduleReconnect();\n return;\n }\n\n this.socket.onopen = () => {\n this.connected = true;\n this.reconnectAttempts = 0;\n this.emit('connectionStatusChanged', { connected: true, statusText: '长连接已连接' });\n this.sendAuthFrame();\n this.startHeartbeat();\n this.refreshConversationList();\n };\n\n this.socket.onmessage = event => {\n this.handleFrame(event.data);\n };\n\n this.socket.onerror = () => {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接异常,使用HTTP补偿' });\n };\n\n this.socket.onclose = () => {\n this.connected = false;\n this.clearHeartbeatTimer();\n this.socket = null;\n if (this.manualClose) {\n return;\n }\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接重连中' });\n this.scheduleReconnect();\n };\n }\n\n sendAuthFrame() {\n this.sendFrame({\n type: 'auth',\n userId: this.currentUser?.userId || '',\n token: this.currentUser?.token || '',\n clientId: this.getClientId(),\n platform: appConfig.platform,\n timestamp: Date.now()\n });\n }\n\n sendFrame(frame) {\n if (this.socket?.readyState !== WebSocket.OPEN) {\n return false;\n }\n this.socket.send(JSON.stringify(frame));\n return true;\n }\n\n handleFrame(rawData) {\n if (rawData instanceof ArrayBuffer) {\n this.emit('rawFrameReceived', rawData);\n return;\n }\n\n let payload;\n try {\n payload = typeof rawData === 'string' ? JSON.parse(rawData) : rawData;\n } catch (error) {\n return;\n }\n\n const type = payload.type || payload.event || payload.cmd || '';\n if (type === 'pong' || type === 'auth_ok' || type === 'connected') {\n return;\n }\n if (type === 'contactsChanged') {\n this.emit('contactsChanged', payload.contacts || []);\n return;\n }\n if (type === 'conversationsChanged') {\n this.emit('conversationsChanged', payload.conversations || []);\n return;\n }\n if (type === 'messages' && Array.isArray(payload.messages)) {\n payload.messages\n .map(message => normalizeIncomingMessage(message, this.currentUser?.userId))\n .filter(Boolean)\n .forEach(message => this.emit('messageReceived', message));\n return;\n }\n\n const message = normalizeIncomingMessage(payload, this.currentUser?.userId);\n if (message) {\n this.emit(message.direction === 'out' ? 'messageStatusChanged' : 'messageReceived', message);\n }\n }\n\n startHeartbeat() {\n this.clearHeartbeatTimer();\n this.heartbeatTimer = window.setInterval(() => {\n this.sendFrame({ type: 'ping', timestamp: Date.now() });\n }, HEARTBEAT_INTERVAL_MS);\n }\n\n clearHeartbeatTimer() {\n if (this.heartbeatTimer) {\n window.clearInterval(this.heartbeatTimer);\n this.heartbeatTimer = null;\n }\n }\n\n scheduleReconnect() {\n this.clearReconnectTimer();\n const delay = Math.min(RECONNECT_MAX_MS, RECONNECT_MIN_MS * 2 ** this.reconnectAttempts);\n this.reconnectAttempts += 1;\n this.reconnectTimer = window.setTimeout(() => {\n this.openSocket();\n }, delay);\n }\n\n clearReconnectTimer() {\n if (this.reconnectTimer) {\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n }\n}\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"","import script from \"./App.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\nimport { LongConnectionImClient } from './longConnectionImClient';\n\nclass UnsupportedWildfireImClient {\n constructor() {\n throw new Error('当前本地社区版 Web 客户端未启用 WildFire Web SDK');\n }\n}\n\nexport const imClient = appConfig.sdkMode === 'wildfire'\n ? new UnsupportedWildfireImClient()\n : appConfig.sdkMode === 'custom-ws' || appConfig.sdkMode === 'long'\n ? new LongConnectionImClient()\n : new HttpImClient();\n\nexport { HttpImClient, LongConnectionImClient, UnsupportedWildfireImClient as WildfireImClient };\n","import script from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"","import script from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createApp } from 'vue';\nimport { createPinia } from 'pinia';\nimport App from './App.vue';\nimport './styles/base.css';\n\ncreateApp(App).use(createPinia()).mount('#app');\n","import script from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","import script from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","\n\n\n","import script from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","const currentHost = window.location.hostname || '127.0.0.1';\nconst runtimeConfig = window.JC_WEB_IM_CONFIG || {};\nconst appServerOrigin = `${window.location.protocol}//${currentHost}:18888`;\nconst adminServerOrigin = `${window.location.protocol}//${currentHost}:8024`;\n\nexport const appConfig = {\n appName: 'Web IM',\n adminServer: runtimeConfig.adminServer || process.env.VUE_APP_ADMIN_SERVER || adminServerOrigin,\n appServer: runtimeConfig.appServer || process.env.VUE_APP_APP_SERVER || appServerOrigin,\n platformConfigApi: runtimeConfig.platformConfigApi || process.env.VUE_APP_PLATFORM_CONFIG_API || (process.env.NODE_ENV === 'development' ? '/local-api/platform_config.php' : '/api/platform_config.php'),\n registerConfigApi: runtimeConfig.registerConfigApi || process.env.VUE_APP_REGISTER_CONFIG_API || `${adminServerOrigin}/api/register-config`,\n registerPhoneExistsApi: runtimeConfig.registerPhoneExistsApi || process.env.VUE_APP_REGISTER_PHONE_EXISTS_API || `${adminServerOrigin}/api/register-phone-exists`,\n contactsApi: runtimeConfig.contactsApi || process.env.VUE_APP_CONTACTS_API || (process.env.NODE_ENV === 'development' ? '/local-api/contacts.php' : '/api/contacts.php'),\n updateAliasApi: runtimeConfig.updateAliasApi || process.env.VUE_APP_UPDATE_ALIAS_API || (process.env.NODE_ENV === 'development' ? '/local-api/update_alias.php' : '/api/update_alias.php'),\n addContactApi: runtimeConfig.addContactApi || process.env.VUE_APP_ADD_CONTACT_API || (process.env.NODE_ENV === 'development' ? '/local-api/add_contact.php' : '/api/add_contact.php'),\n conversationActionsApi: runtimeConfig.conversationActionsApi || process.env.VUE_APP_CONVERSATION_ACTIONS_API || (process.env.NODE_ENV === 'development' ? '/local-api/conversation_actions.php' : '/api/conversation_actions.php'),\n sendMessageApi: runtimeConfig.sendMessageApi || process.env.VUE_APP_SEND_MESSAGE_API || (process.env.NODE_ENV === 'development' ? '/local-api/send_message.php' : '/api/send_message.php'),\n messageActionApi: runtimeConfig.messageActionApi || process.env.VUE_APP_MESSAGE_ACTION_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_action.php' : '/api/message_action.php'),\n messageDetailApi: runtimeConfig.messageDetailApi || process.env.VUE_APP_MESSAGE_DETAIL_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_detail.php' : '/api/message_detail.php'),\n messagesApi: runtimeConfig.messagesApi || process.env.VUE_APP_MESSAGES_API || (process.env.NODE_ENV === 'development' ? '/local-api/messages.php' : '/api/messages.php'),\n profileApi: runtimeConfig.profileApi || process.env.VUE_APP_PROFILE_API || (process.env.NODE_ENV === 'development' ? '/local-api/profile.php' : '/api/profile.php'),\n changePasswordApi: runtimeConfig.changePasswordApi || process.env.VUE_APP_CHANGE_PASSWORD_API || `${appServerOrigin}/change_pwd`,\n resetPasswordApi: runtimeConfig.resetPasswordApi || process.env.VUE_APP_RESET_PASSWORD_API || `${appServerOrigin}/reset_pwd`,\n imServerHost: runtimeConfig.imServerHost || process.env.VUE_APP_IM_SERVER_HOST || currentHost,\n imRoutePort: Number(runtimeConfig.imRoutePort || process.env.VUE_APP_IM_ROUTE_PORT || 18000),\n useWss: runtimeConfig.useWss ?? process.env.VUE_APP_USE_WSS === 'true',\n wsPath: runtimeConfig.wsPath || process.env.VUE_APP_WS_PATH || '/ws',\n wsUrl: runtimeConfig.wsUrl || process.env.VUE_APP_WS_URL || '',\n sdkMode: runtimeConfig.sdkMode || process.env.VUE_APP_IM_MODE || 'http',\n syncIntervalMs: Number(runtimeConfig.syncIntervalMs || process.env.VUE_APP_SYNC_INTERVAL_MS || 300),\n platform: 5,\n clientIdStorageKey: 'qmt-web-im-client-id',\n authTokenStoragePrefix: 'qmt-web-im-auth-token-'\n};\n","\n\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjc_web_im\"] = self[\"webpackChunkjc_web_im\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(8218); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["computed","ref","watch","useContactStore","contacts","contact","activeContact","remarkName","value","alias","username","rawUser","displayName","name","uid","mobile","address","editingAlias","aliasDraft","aliasSaving","aliasError","openAliasEditor","closeAliasEditor","submitAlias","ok","updateContactAlias","actionError","nextTick","onBeforeUnmount","onMounted","reactive","IMAGE_MIN_SCALE","IMAGE_MAX_SCALE","props","__props","emit","__emit","listEl","viewerStage","contextMenu","visible","x","y","message","imageViewer","url","scale","rotation","offsetX","offsetY","dragging","dragStartX","dragStartY","dragOffsetX","dragOffsetY","senderProfile","rawName","portrait","avatarText","role","roleLabel","contactAlias","groupAlias","isContact","saving","adding","notice","error","imageViewerStyle","transform","menuItems","isOwnMessage","direction","isRecalledMessage","action","label","favoriteLabel","isFavorite","items","unshift","push","canRecallOthers","scrollToBottom","scrollTop","scrollHeight","scrollToMessage","messageId","row","Array","from","querySelectorAll","find","element","dataset","messageKey","scrollIntoView","block","behavior","messages","map","id","status","deliveryStatus","messageUid","recalled","join","immediate","attentionMessageId","document","addEventListener","closeMenu","closeMenuOnEscape","moveImageDrag","stopImageDrag","removeEventListener","messageIdentity","String","canOpenMessageMenu","isSelected","selectedMessageIds","includes","favoriteMessageIds","isAttention","isRecallNotice","isImageMessage","type","attachment","isFileMessage","isGroupMessage","conversationType","showGroupSender","senderRoleLabel","senderRole","groupSenderName","senderName","groupSenderAvatarText","slice","toUpperCase","openSenderProfile","profile","cachedContact","cachedAlias","trim","remarkAlias","title","senderPortrait","Boolean","closeSenderProfile","addSenderAsContact","addContact","aliasSaved","refreshContacts","force","catch","userId","saveSenderAlias","roleBubbleClass","formatFileSize","size","bytes","Number","toFixed","handleMessageClick","selectionMode","handleImageClick","openImageViewer","resetImageViewer","closeImageViewer","clampImageScale","Math","min","max","setImageScale","originX","originY","previousScale","nextScale","rect","getBoundingClientRect","centerX","left","width","centerY","top","height","ratio","zoomImage","delta","rotateImage","handleImageWheel","event","factor","deltaY","clientX","clientY","startImageDrag","saveViewerImage","downloadUrl","URL","window","location","origin","searchParams","set","link","createElement","href","toString","download","body","appendChild","click","remove","openMenu","innerWidth","innerHeight","key","chooseMenuAction","formatTime","timestamp","Intl","DateTimeFormat","hour","minute","hour12","timeZone","resolvedOptions","format","deliveryState","state","deliveryTitle","failureText","errorCode","defineStore","useNavigationStore","section","actions","showMessages","showContacts","showFavorites","useConversationStore","conversations","navigation","favorite","activeFavorite","clearFeedback","favoriteTitle","item","conversationTitle","conversation","entry","conversationId","favoriteText","text","isImageFavorite","isFileFavorite","favoriteCopyText","recallStatus","preview","formatFavoriteTime","year","month","day","copyFavorite","writeClipboard","copyError","navigator","clipboard","writeText","setAttribute","style","position","select","execCommand","removeChild","openConversation","refreshRemoteConversations","setActiveConversation","setTimeout","focusMessage","removeFavorite","MessageList","MessageComposer","imClient","useSessionStore","session","activeConversation","groupMenuOpen","singleProfileOpen","singleAliasDraft","singleProfileSaving","singleProfileNotice","singleProfileError","groupPanel","groupBusy","groupDetail","groupMembers","groupAliasDraft","manageSection","selectedAdminIds","selectedKickIds","transferTargetId","profileDraft","announcement","welcomeText","muteDraft","mode","scheduleType","startsAtLocal","endsAtLocal","dailyStart","dailyEnd","muteSaveNotice","muteSaveError","singlePeerId","isGroupConversation","target","raw","replace","singleContact","peerId","singleProfile","currentGroupRole","myRole","isGroupOwner","canManageGroup","adminCandidateMembers","filter","member","transferableMembers","messageDetail","messageDetailGroup","group","isMessageDetailGroup","messageDetailCounts","counts","read","unread","undelivered","total","kickCandidateMembers","statusText","canSendActiveConversation","connectionStatusText","connected","formatDetailTime","second","detailMemberName","detailMemberAvatar","detailRoleLabel","closeGroupMenu","toggleGroupMenu","openSingleProfile","then","closeSingleProfile","saveSingleAlias","refreshedContact","nextTitle","upsertConversation","handleSenderProfileUpdated","syncActiveMessages","allowReadReceipt","loadGroupMembers","closeGroupPanel","clearMuteSaveFeedback","loadGroupDetail","getGroupDetail","setActionError","openGroupOverview","openGroupMembers","getGroupMembers","openGroupAlias","detail","myAlias","msToLocalInput","date","Date","local","getTime","getTimezoneOffset","toISOString","localInputToMs","prepareManagementDrafts","setting","muteSetting","startsAtMs","endsAtMs","openGroupManage","openTransferGroup","saveGroupAlias","updateGroupAlias","setActionNotice","toggleAdmin","selected","Set","has","delete","add","toggleKick","saveGroupAdmins","setGroupAdmins","saveGroupProfile","result","updateGroupProfile","updatedAt","now","kickSelectedMembers","length","confirm","kickGroupMembers","removed","removedIds","saveMuteSetting","updateGroupMuteSetting","leaveCurrentGroup","leaveGroup","dismissCurrentGroup","dismissGroup","transferCurrentGroup","transferGroup","memberAvatar","emojiOpen","dropActive","textareaEl","imageInput","fileInput","dragDepth","emojiList","submit","toggleEmojiPicker","insertEmoji","emoji","start","selectionStart","end","selectionEnd","requestAnimationFrame","focus","cursor","setSelectionRange","chooseImage","chooseFile","attachmentTypeForFile","file","fallbackType","startsWith","emitFiles","files","disabled","validFiles","File","caption","forEach","index","selectAttachment","input","hasDraggedFiles","types","dataTransfer","handleDragEnter","dropEffect","handleDragOver","handleDragLeave","filesFromDataTransfer","kind","webkitGetAsEntry","isDirectory","getAsFile","handleDrop","imageFilesFromClipboard","clipboardData","handlePaste","imageFiles","preventDefault","LoginView","ChatShell","restore","isAuthenticated","bootstrapDemoData","clearUserState","axios","appConfig","LOCAL_MESSAGE_STORAGE_KEY","LOCAL_HIDDEN_MESSAGE_STORAGE_KEY","LOCAL_RECALLED_MESSAGE_STORAGE_KEY","scopedStorageKey","baseKey","scope","appServer","encodeURIComponent","randomId","crypto","randomUUID","replaceAll","random","readLocalMessages","JSON","parse","localStorage","getItem","readMessageSet","storageKey","writeMessageSet","messagesByConversation","setItem","stringify","messageKeys","hasStoredMessage","stored","ids","some","storeMessageKeys","withRecalledState","applyLocalMessageState","isRecalled","writeLocalMessages","saveLocalMessage","findIndex","splice","mergeSyncedMessages","localMessages","remoteMessages","visibleLocalMessages","localByKey","Map","visibleRemoteMessages","remoteMessage","localMessage","get","remoteKeys","hasRemoteMatch","abs","pendingLocalMessages","sort","a","b","displayTimestamp","getTitle","fallback","getUniqueEquipment","allowedDevices","canUseLocalLoginFallback","response","data","process","env","NODE_ENV","HttpImClient","constructor","listeners","currentUser","getClientId","clientId","clientIdStorageKey","restoreClientId","getSdkVersion","ensureSdk","loginWithPassword","password","deviceId","post","platform","uniqueEquipment","withCredentials","persistAppToken","code","token","localOnly","Error","requestAuthCode","loginWithCode","createPcSession","flag","device_name","loginWithPcSession","registerWithPhone","connect","refreshConversationList","disconnect","getConversationList","fetchRemoteConversations","remoteConversations","limit","messagesApi","line","getMessages","fetchRemoteMessages","options","markRead","hideMessages","isArray","markMessagesRecalled","recallMessage","test","messageActionApi","editMessage","nextText","editedMessage","editedAt","activityTimestamp","getMessageDetail","messageDetailApi","sendTextMessage","initialMessage","sendMessageApi","sender","sentMessage","serverTimestamp","failedMessage","sendAttachmentMessage","mime","createObjectURL","formData","FormData","append","getContactList","getServerContactList","contactsApi","headers","getAppAuthHeaders","mapContact","friendAlias","localeCompare","keyword","reason","addContactApi","normalizeConversation","subtitle","createGroup","memberIds","channel","conversationActionsApi","joinGroup","groupKey","broadcastMessage","targetIds","groupId","members","targetUserId","adminIds","targetId","updateAliasApi","getProfile","profileApi","updateProfile","portraitFile","changePassword","oldPassword","newPassword","changePasswordApi","msg","resetPasswordWithCode","resetCode","resetPasswordApi","refreshContactList","createSingleConversation","userInfo","friend","rawFriend","on","eventName","handler","off","payload","appToken","authtoken","authToken","authTokenStoragePrefix","getUrlHost","host","addingContact","addKeyword","filteredContacts","toLowerCase","openAddContact","actionInfo","closeAddContact","submitAddContact","added","LOCAL_CONVERSATION_STORAGE_KEY","LOCAL_FAVORITE_MESSAGES_KEY","readFavoriteMessages","writeFavoriteMessages","readLocalConversations","writeLocalConversations","messageStableKey","messageActivityTimestamp","attachmentLabel","messagePreviewText","quotePrefix","isSameMessage","right","hasExactMessage","shouldUseMessagePolling","canMarkReadNow","visibilityState","userAction","mergeVisibleMessages","currentMessages","syncedMessages","merged","currentMessage","exists","shouldKeepLocal","incomingEditedMessages","previousMessages","nextMessages","previousByKey","previous","notificationAudioContext","playNotificationSound","AudioContext","webkitAudioContext","resume","oscillator","createOscillator","gain","createGain","startAt","currentTime","frequency","setValueAtTime","exponentialRampToValueAtTime","destination","stop","activeId","visibleMessagesByConversation","eventsBound","usingDemoData","loading","syncTimer","conversationSyncTimer","readPresenceEventsBound","syncInFlight","pendingReadReceiptConversationId","conversationSyncInFlight","syncAfterSendTimer","optimisticMessagesByConversation","quotedMessage","forwardingMessages","editingMessage","editingText","editingMode","messageDetailOpen","messageDetailLoading","messageDetailError","attentionMessageTimer","favoriteMessages","activeFavoriteKey","actionNotice","getters","activeMessages","totalUnread","reduce","sum","selectedMessages","selectedIds","bindImEvents","loadScopedLocalState","startMessageSync","loadActiveMessages","clearInterval","clearTimeout","appendMessage","replaceMessage","applyRemoteConversations","sendText","appendVisibleMessage","sendAttachment","sendTextToConversation","removeConversation","removedMessages","removedVisibleMessages","removedOptimisticMessages","remote","values","keepOptimisticMessage","updateConversationFromMessage","syncVisibleMessages","removeMessages","flatMap","filterMessages","list","replaceLocalMessage","targetMessage","nextMessage","keys","replaceInList","matched","pruneOptimisticMessages","remoteMatched","syncedMessage","syncOptions","wantsReadReceipt","explicitReadReceipt","pollingReadReceipt","syncedConversationId","editedIncomingMessages","latest","latestMessage","bindReadPresenceEvents","setInterval","syncIntervalMs","syncWhenReadable","actionNoticeTimer","actionErrorTimer","handleMessageAction","copyMessages","startEditMessage","deleteMessages","startForward","toggleFavorite","openMessageDetail","quoteMessage","enterSelectionMode","sentAt","closeMessageDetail","setActiveFavorite","quoteText","cancelQuote","toggleSelectedMessage","clearSelection","copySelectedMessages","deleteSelectedMessages","startForwardSelectedMessages","cancelForward","isResend","cancelEditMessage","completeEditMessage","completeForward","targetConversationId","successCount","failedCount","CONTACT_CACHE_MS","normalizeContacts","unique","normalized","refreshSerial","refreshPromise","loadedForUserId","loadedAt","requestUserId","clearContacts","serial","serverContacts","contactId","nextAlias","savedAlias","setActiveContact","openChat","STORAGE_KEY","normalizeStoredPortrait","nextProfilePortrait","profilePortrait","currentPortrait","connecting","sdkVersion","removeItem","refreshProfile","applyLoginResult","completePcSessionLogin","imToken","userName","persistSession","applyProfile","saveProfile","logout","$reset","HEARTBEAT_INTERVAL_MS","RECONNECT_MIN_MS","RECONNECT_MAX_MS","buildWsUrl","wsUrl","protocol","useWss","imServerHost","hostname","port","imRoutePort","path","wsPath","normalizeConversationId","to","receiver","conversationTarget","normalizeIncomingMessage","currentUserId","fromUser","content","searchableContent","LongConnectionImClient","socket","heartbeatTimer","reconnectTimer","reconnectAttempts","manualClose","WebSocket","openSocket","clearReconnectTimer","clearHeartbeatTimer","close","readyState","OPEN","sendAuthFrame","CONNECTING","binaryType","scheduleReconnect","onopen","startHeartbeat","onmessage","handleFrame","onerror","onclose","sendFrame","frame","send","rawData","ArrayBuffer","cmd","delay","activeKey","favoritePreview","UnsupportedWildfireImClient","sdkMode","WildfireImClient","createApp","createPinia","App","use","mount","NavigationRail","ConversationList","ContactList","ChatPanel","ContactPanel","FavoriteList","FavoritePanel","CROP_OUTPUT_SIZE","settingsItems","initials","settingsOpen","settingsSection","passwordSaving","settingsNotice","settingsError","profileOpen","profileSaving","profileNotice","profileError","profileFile","profilePreview","portraitInput","cropperCanvas","cropperPreviewCanvas","passwordDraft","confirmPassword","currentAvatarUrl","activeSettingsItem","avatarPreviewViewer","open","avatarCropper","loaded","busy","objectUrl","fileName","image","baseScale","avatarPreviewStyle","drawAvatarCropper","revokeProfilePreview","closeAvatarCropper","clearProfileFeedback","clearSettingsFeedback","resetPasswordDraft","openSettings","closeSettings","selectSettingsSection","revokeObjectURL","revokeCropperObjectUrl","openProfileEditor","closeProfileEditor","closeAvatarPreview","selectPortrait","openAvatarCropper","choosePortraitFile","openAvatarPreview","resetAvatarPreview","zoomAvatarPreview","handleAvatarPreviewWheel","startAvatarPreviewDrag","currentTarget","setPointerCapture","pointerId","moveAvatarPreviewDrag","stopAvatarPreviewDrag","dropPortrait","cropperStageSize","canvas","round","cropperBoxSize","rotatedImageSize","quarterTurn","naturalHeight","naturalWidth","clampCropperOffset","cropSize","rotated","scaledWidth","scaledHeight","maxX","maxY","updateCropperBaseScale","drawCanvasImage","outputScale","cropOnly","dpr","devicePixelRatio","context","getContext","setTransform","clearRect","fillStyle","fillRect","save","translate","rotate","PI","drawImage","beginPath","fill","previewCanvas","resetCropperTransform","Image","onload","src","zoomCropper","rotateCropper","degrees","handleCropperWheel","startCropperDrag","moveCropperDrag","stopCropperDrag","canvasToBlob","quality","Promise","resolve","reject","toBlob","blob","confirmAvatarCrop","outputCanvas","croppedFile","savePassword","defineComponent","h","actionMenuOpen","activeAction","actionBusy","searchKeyword","groupName","groupAnnouncement","groupWelcomeText","joinGroupKey","broadcastText","channelName","channelAnnouncement","contactKeyword","selectedContactIds","actionTitles","broadcast","createChannel","submitLabels","actionTitle","submitLabel","modalError","modalInfo","normalizedSearchKeyword","contactsByUid","filteredConversationItems","conversationResult","conversationResults","matchesConversation","contactForConversation","conversationTargets","contactResults","matchesContact","contactResult","submitDisabled","ContactPicker","default","emptyText","emits","setup","class","placeholder","onInput","onClick","alt","searchableValues","Object","matchesKeyword","compactKeyword","group_id","owner_uid","resultKind","resultKey","isListItemActive","selectListItem","clearStoreMessages","resetActionFields","toggleActionMenu","closeActionMenu","openAction","closeActionModal","toggleContact","submitAction","formatUnread","count","currentHost","runtimeConfig","JC_WEB_IM_CONFIG","appServerOrigin","adminServerOrigin","appName","adminServer","VUE_APP_ADMIN_SERVER","VUE_APP_APP_SERVER","platformConfigApi","VUE_APP_PLATFORM_CONFIG_API","registerConfigApi","VUE_APP_REGISTER_CONFIG_API","registerPhoneExistsApi","VUE_APP_REGISTER_PHONE_EXISTS_API","VUE_APP_CONTACTS_API","VUE_APP_UPDATE_ALIAS_API","VUE_APP_ADD_CONTACT_API","VUE_APP_CONVERSATION_ACTIONS_API","VUE_APP_SEND_MESSAGE_API","VUE_APP_MESSAGE_ACTION_API","VUE_APP_MESSAGE_DETAIL_API","VUE_APP_MESSAGES_API","VUE_APP_PROFILE_API","VUE_APP_CHANGE_PASSWORD_API","VUE_APP_RESET_PASSWORD_API","VUE_APP_IM_SERVER_HOST","VUE_APP_IM_ROUTE_PORT","VUE_APP_USE_WSS","VUE_APP_WS_PATH","VUE_APP_WS_URL","VUE_APP_IM_MODE","VUE_APP_SYNC_INTERVAL_MS","jrQRCode","QR_CODE_PREFIX_PC_SESSION","pendingRegistrationStorageKey","defaultPlatformLogo","emailRegisterEnabled","view","sendingCode","info","qrStatus","qrCodeImage","qrSessionToken","qrUserName","qrUserPortrait","qrPolling","qrGeneration","qrExpireTimer","defaultPlatformName","platformName","platformLogo","registerType","registerMethods","phone","email","mobileRealVerify","registerPhoneError","phoneCaptcha","phoneCaptchaImage","usernameCaptcha","usernameCaptchaImage","settingRegisterPassword","pendingRegistration","registerForm","phoneCountryCode","emailCode","usernamePhoneCountryCode","usernamePhone","usernameCode","registerPasswordForm","countryCodeOptions","registerMethodOptions","canSubmit","visibleRegisterMethods","enabled","canRegisterSubmit","phoneCaptchaMatched","usernameCaptchaMatched","canSetRegisterPassword","phoneCaptchaStatus","getCaptchaStatus","phoneCaptchaClass","getCaptchaClass","usernameCaptchaStatus","usernameCaptchaClass","qrUserInitial","qrStatusTitle","qrStatusText","qrRefreshText","methods","loadPlatformConfig","loadRegisterConfig","restorePendingRegistration","startQrLogin","stopQrLogin","requestCode","requestRegisterCode","formatPhoneForApi","setLoginMode","nextMode","resetQrState","clearQrExpireTimer","refreshQrLogin","generation","pcSession","getQrBase64","expireMs","expired","pollQrLogin","codeValue","ms","normalizeUsernameCaptchaInput","normalizePhoneCaptchaInput","normalizeRegisterCountryCode","showPhoneCaptcha","randomDigits","renderCaptchaImage","showUsernameCaptcha","inputValue","captchaValue","floor","moveTo","lineTo","strokeStyle","lineWidth","stroke","font","textBaseline","textAlign","fillText","toDataURL","submitRegister","clearRegisterPhoneError","formattedPhone","phoneExists","isRegisterPhoneExists","loginCode","setPendingRegistration","submitRegisterPassword","clearPendingRegistration","countryCode","digits","normalizedCode","normalizedPhone","mobile_real_verify","config","logo","logoUrl","version","resolveBrandLogo","applyDocumentBrand","appendBrandVersion","base","parsed","iconUrl","setDocumentIcon","rel","icon","querySelector","head","handleBrandLogoError","sessionStorage","pending","openRegister","backToLogin"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-vendors.075405dd.js.map b/dist/js/chunk-vendors.075405dd.js.map deleted file mode 100644 index 889c048..0000000 --- a/dist/js/chunk-vendors.075405dd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors.075405dd.js","mappings":";;;;;;;;AAAa;;AAE0B;AACQ;AAE/C,MAAME,UAAU,GAAG,CAAC,CAAC;;AAErB;AACA,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;EACnFH,UAAU,CAACE,IAAI,CAAC,GAAG,SAASE,SAASA,CAACC,KAAK,EAAE;IAC3C,OAAO,OAAOA,KAAK,KAAKH,IAAI,IAAI,GAAG,IAAIC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAGD,IAAI;EACnE,CAAC;AACH,CAAC,CAAC;AAEF,MAAMI,kBAAkB,GAAG,CAAC,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAN,UAAU,CAACO,YAAY,GAAG,SAASA,YAAYA,CAACH,SAAS,EAAEI,OAAO,EAAEC,OAAO,EAAE;EAC3E,SAASC,aAAaA,CAACC,GAAG,EAAEC,IAAI,EAAE;IAChC,OAAO,UAAU,GAAGd,0DAAO,GAAG,0BAA0B,GAAGa,GAAG,GAAG,IAAI,GAAGC,IAAI,IAAIH,OAAO,GAAG,IAAI,GAAGA,OAAO,GAAG,EAAE,CAAC;EAChH;;EAEA;EACA,OAAO,CAACI,KAAK,EAAEF,GAAG,EAAEG,IAAI,KAAK;IAC3B,IAAIV,SAAS,KAAK,KAAK,EAAE;MACvB,MAAM,IAAIL,oEAAU,CAClBW,aAAa,CAACC,GAAG,EAAE,mBAAmB,IAAIH,OAAO,GAAG,MAAM,GAAGA,OAAO,GAAG,EAAE,CAAC,CAAC,EAC3ET,oEAAU,CAACgB,cACb,CAAC;IACH;IAEA,IAAIP,OAAO,IAAI,CAACF,kBAAkB,CAACK,GAAG,CAAC,EAAE;MACvCL,kBAAkB,CAACK,GAAG,CAAC,GAAG,IAAI;MAC9B;MACAK,OAAO,CAACC,IAAI,CACVP,aAAa,CACXC,GAAG,EACH,8BAA8B,GAAGH,OAAO,GAAG,yCAC7C,CACF,CAAC;IACH;IAEA,OAAOJ,SAAS,GAAGA,SAAS,CAACS,KAAK,EAAEF,GAAG,EAAEG,IAAI,CAAC,GAAG,IAAI;EACvD,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASI,aAAaA,CAACC,OAAO,EAAEC,MAAM,EAAEC,YAAY,EAAE;EACpD,IAAI,OAAOF,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAIpB,oEAAU,CAAC,2BAA2B,EAAEA,oEAAU,CAACuB,oBAAoB,CAAC;EACpF;EACA,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACJ,OAAO,CAAC;EACjC,IAAIhB,CAAC,GAAGoB,IAAI,CAACE,MAAM;EACnB,OAAOtB,CAAC,EAAE,GAAG,CAAC,EAAE;IACd,MAAMQ,GAAG,GAAGY,IAAI,CAACpB,CAAC,CAAC;IACnB,MAAMC,SAAS,GAAGgB,MAAM,CAACT,GAAG,CAAC;IAC7B,IAAIP,SAAS,EAAE;MACb,MAAMS,KAAK,GAAGM,OAAO,CAACR,GAAG,CAAC;MAC1B,MAAMe,MAAM,GAAGb,KAAK,KAAKc,SAAS,IAAIvB,SAAS,CAACS,KAAK,EAAEF,GAAG,EAAEQ,OAAO,CAAC;MACpE,IAAIO,MAAM,KAAK,IAAI,EAAE;QACnB,MAAM,IAAI3B,oEAAU,CAAC,SAAS,GAAGY,GAAG,GAAG,WAAW,GAAGe,MAAM,EAAE3B,oEAAU,CAACuB,oBAAoB,CAAC;MAC/F;MACA;IACF;IACA,IAAID,YAAY,KAAK,IAAI,EAAE;MACzB,MAAM,IAAItB,oEAAU,CAAC,iBAAiB,GAAGY,GAAG,EAAEZ,oEAAU,CAAC6B,cAAc,CAAC;IAC1E;EACF;AACF;AAEA,sDAAe;EACbV,aAAa;EACblB;AACF,CAAC;;;;;;;;;;;;AC1FD,MAAM6B,cAAc,GAAG;EACrBC,QAAQ,EAAE,GAAG;EACbC,kBAAkB,EAAE,GAAG;EACvBC,UAAU,EAAE,GAAG;EACfC,UAAU,EAAE,GAAG;EACfC,EAAE,EAAE,GAAG;EACPC,OAAO,EAAE,GAAG;EACZC,QAAQ,EAAE,GAAG;EACbC,2BAA2B,EAAE,GAAG;EAChCC,SAAS,EAAE,GAAG;EACdC,YAAY,EAAE,GAAG;EACjBC,cAAc,EAAE,GAAG;EACnBC,WAAW,EAAE,GAAG;EAChBC,eAAe,EAAE,GAAG;EACpBC,MAAM,EAAE,GAAG;EACXC,eAAe,EAAE,GAAG;EACpBC,gBAAgB,EAAE,GAAG;EACrBC,KAAK,EAAE,GAAG;EACVC,QAAQ,EAAE,GAAG;EACbC,WAAW,EAAE,GAAG;EAChBC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAE,GAAG;EACXC,iBAAiB,EAAE,GAAG;EACtBC,iBAAiB,EAAE,GAAG;EACtBC,UAAU,EAAE,GAAG;EACfC,YAAY,EAAE,GAAG;EACjBC,eAAe,EAAE,GAAG;EACpBC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE,GAAG;EACbC,gBAAgB,EAAE,GAAG;EACrBC,aAAa,EAAE,GAAG;EAClBC,2BAA2B,EAAE,GAAG;EAChCC,cAAc,EAAE,GAAG;EACnBC,QAAQ,EAAE,GAAG;EACbC,IAAI,EAAE,GAAG;EACTC,cAAc,EAAE,GAAG;EACnBC,kBAAkB,EAAE,GAAG;EACvBC,eAAe,EAAE,GAAG;EACpBC,UAAU,EAAE,GAAG;EACfC,oBAAoB,EAAE,GAAG;EACzBC,mBAAmB,EAAE,GAAG;EACxBC,iBAAiB,EAAE,GAAG;EACtBC,SAAS,EAAE,GAAG;EACdC,kBAAkB,EAAE,GAAG;EACvBC,mBAAmB,EAAE,GAAG;EACxBC,MAAM,EAAE,GAAG;EACXC,gBAAgB,EAAE,GAAG;EACrBC,QAAQ,EAAE,GAAG;EACbC,eAAe,EAAE,GAAG;EACpBC,oBAAoB,EAAE,GAAG;EACzBC,eAAe,EAAE,GAAG;EACpBC,2BAA2B,EAAE,GAAG;EAChCC,0BAA0B,EAAE,GAAG;EAC/BC,mBAAmB,EAAE,GAAG;EACxBC,cAAc,EAAE,GAAG;EACnBC,UAAU,EAAE,GAAG;EACfC,kBAAkB,EAAE,GAAG;EACvBC,cAAc,EAAE,GAAG;EACnBC,uBAAuB,EAAE,GAAG;EAC5BC,qBAAqB,EAAE,GAAG;EAC1BC,mBAAmB,EAAE,GAAG;EACxBC,YAAY,EAAE,GAAG;EACjBC,WAAW,EAAE,GAAG;EAChBC,6BAA6B,EAAE;AACjC,CAAC;AAEDpE,MAAM,CAACqE,OAAO,CAAChE,cAAc,CAAC,CAAC5B,OAAO,CAAC,CAAC,CAAC6F,GAAG,EAAEjF,KAAK,CAAC,KAAK;EACvDgB,cAAc,CAAChB,KAAK,CAAC,GAAGiF,GAAG;AAC7B,CAAC,CAAC;AAEF,sDAAejE,cAAc;;;;;;;;;;;;;ACtEhB;;AAAA;AAAA;AAAA;AAEmB;AACsB;AAEtD,MAAMoE,UAAU,GAAGC,MAAM,CAAC,WAAW,CAAC;AAEtC,SAASC,eAAeA,CAACC,MAAM,EAAE;EAC/B,OAAOA,MAAM,IAAIC,MAAM,CAACD,MAAM,CAAC,CAACE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;AACtD;AAEA,SAASC,cAAcA,CAAC3F,KAAK,EAAE;EAC7B,IAAIA,KAAK,KAAK,KAAK,IAAIA,KAAK,IAAI,IAAI,EAAE;IACpC,OAAOA,KAAK;EACd;EAEA,OAAOkF,0DAAK,CAACU,OAAO,CAAC5F,KAAK,CAAC,GAAGA,KAAK,CAAC6F,GAAG,CAACF,cAAc,CAAC,GAAGH,MAAM,CAACxF,KAAK,CAAC;AACzE;AAEA,SAAS8F,WAAWA,CAACC,GAAG,EAAE;EACxB,MAAMC,MAAM,GAAGrF,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EAClC,MAAMC,QAAQ,GAAG,kCAAkC;EACnD,IAAIC,KAAK;EAET,OAAQA,KAAK,GAAGD,QAAQ,CAACE,IAAI,CAACL,GAAG,CAAC,EAAG;IACnCC,MAAM,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC;EAC7B;EAEA,OAAOH,MAAM;AACf;AAEA,MAAMK,iBAAiB,GAAIN,GAAG,IAAK,gCAAgC,CAACO,IAAI,CAACP,GAAG,CAACN,IAAI,CAAC,CAAC,CAAC;AAEpF,SAASc,gBAAgBA,CAACC,OAAO,EAAExG,KAAK,EAAEuF,MAAM,EAAEkB,MAAM,EAAEC,kBAAkB,EAAE;EAC5E,IAAIxB,0DAAK,CAACyB,UAAU,CAACF,MAAM,CAAC,EAAE;IAC5B,OAAOA,MAAM,CAACG,IAAI,CAAC,IAAI,EAAE5G,KAAK,EAAEuF,MAAM,CAAC;EACzC;EAEA,IAAImB,kBAAkB,EAAE;IACtB1G,KAAK,GAAGuF,MAAM;EAChB;EAEA,IAAI,CAACL,0DAAK,CAAC2B,QAAQ,CAAC7G,KAAK,CAAC,EAAE;EAE5B,IAAIkF,0DAAK,CAAC2B,QAAQ,CAACJ,MAAM,CAAC,EAAE;IAC1B,OAAOzG,KAAK,CAAC8G,OAAO,CAACL,MAAM,CAAC,KAAK,CAAC,CAAC;EACrC;EAEA,IAAIvB,0DAAK,CAAC6B,QAAQ,CAACN,MAAM,CAAC,EAAE;IAC1B,OAAOA,MAAM,CAACH,IAAI,CAACtG,KAAK,CAAC;EAC3B;AACF;AAEA,SAASgH,YAAYA,CAACzB,MAAM,EAAE;EAC5B,OAAOA,MAAM,CAACE,IAAI,CAAC,CAAC,CACjBC,WAAW,CAAC,CAAC,CAACuB,OAAO,CAAC,iBAAiB,EAAE,CAACC,CAAC,EAAEC,IAAI,EAAEpB,GAAG,KAAK;IAC1D,OAAOoB,IAAI,CAACC,WAAW,CAAC,CAAC,GAAGrB,GAAG;EACjC,CAAC,CAAC;AACN;AAEA,SAASsB,cAAcA,CAACC,GAAG,EAAE/B,MAAM,EAAE;EACnC,MAAMgC,YAAY,GAAGrC,0DAAK,CAACsC,WAAW,CAAC,GAAG,GAAGjC,MAAM,CAAC;EAEpD,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAACnG,OAAO,CAACqI,UAAU,IAAI;IAC1C9G,MAAM,CAAC+G,cAAc,CAACJ,GAAG,EAAEG,UAAU,GAAGF,YAAY,EAAE;MACpDvH,KAAK,EAAE,SAAAA,CAAS2H,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAE;QAChC,OAAO,IAAI,CAACJ,UAAU,CAAC,CAACb,IAAI,CAAC,IAAI,EAAErB,MAAM,EAAEoC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;MAC9D,CAAC;MACDC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,MAAMC,YAAY,CAAC;EACjBC,WAAWA,CAACC,OAAO,EAAE;IACnBA,OAAO,IAAI,IAAI,CAACC,GAAG,CAACD,OAAO,CAAC;EAC9B;EAEAC,GAAGA,CAAC3C,MAAM,EAAE4C,cAAc,EAAEC,OAAO,EAAE;IACnC,MAAMC,IAAI,GAAG,IAAI;IAEjB,SAASC,SAASA,CAACC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE;MAC5C,MAAMC,OAAO,GAAGpD,eAAe,CAACkD,OAAO,CAAC;MAExC,IAAI,CAACE,OAAO,EAAE;QACZ,MAAM,IAAIC,KAAK,CAAC,wCAAwC,CAAC;MAC3D;MAEA,MAAM1D,GAAG,GAAGC,0DAAK,CAAC0D,OAAO,CAACP,IAAI,EAAEK,OAAO,CAAC;MAExC,IAAG,CAACzD,GAAG,IAAIoD,IAAI,CAACpD,GAAG,CAAC,KAAKnE,SAAS,IAAI2H,QAAQ,KAAK,IAAI,IAAKA,QAAQ,KAAK3H,SAAS,IAAIuH,IAAI,CAACpD,GAAG,CAAC,KAAK,KAAM,EAAE;QAC1GoD,IAAI,CAACpD,GAAG,IAAIuD,OAAO,CAAC,GAAG7C,cAAc,CAAC4C,MAAM,CAAC;MAC/C;IACF;IAEA,MAAMM,UAAU,GAAGA,CAACZ,OAAO,EAAEQ,QAAQ,KACnCvD,0DAAK,CAAC9F,OAAO,CAAC6I,OAAO,EAAE,CAACM,MAAM,EAAEC,OAAO,KAAKF,SAAS,CAACC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAC,CAAC;IAEnF,IAAIvD,0DAAK,CAAC4D,aAAa,CAACvD,MAAM,CAAC,IAAIA,MAAM,YAAY,IAAI,CAACyC,WAAW,EAAE;MACrEa,UAAU,CAACtD,MAAM,EAAE4C,cAAc,CAAC;IACpC,CAAC,MAAM,IAAGjD,0DAAK,CAAC2B,QAAQ,CAACtB,MAAM,CAAC,KAAKA,MAAM,GAAGA,MAAM,CAACE,IAAI,CAAC,CAAC,CAAC,IAAI,CAACY,iBAAiB,CAACd,MAAM,CAAC,EAAE;MAC1FsD,UAAU,CAAC1D,6EAAY,CAACI,MAAM,CAAC,EAAE4C,cAAc,CAAC;IAClD,CAAC,MAAM;MACL5C,MAAM,IAAI,IAAI,IAAI+C,SAAS,CAACH,cAAc,EAAE5C,MAAM,EAAE6C,OAAO,CAAC;IAC9D;IAEA,OAAO,IAAI;EACb;EAEAW,GAAGA,CAACxD,MAAM,EAAEyD,MAAM,EAAE;IAClBzD,MAAM,GAAGD,eAAe,CAACC,MAAM,CAAC;IAEhC,IAAIA,MAAM,EAAE;MACV,MAAMN,GAAG,GAAGC,0DAAK,CAAC0D,OAAO,CAAC,IAAI,EAAErD,MAAM,CAAC;MAEvC,IAAIN,GAAG,EAAE;QACP,MAAMjF,KAAK,GAAG,IAAI,CAACiF,GAAG,CAAC;QAEvB,IAAI,CAAC+D,MAAM,EAAE;UACX,OAAOhJ,KAAK;QACd;QAEA,IAAIgJ,MAAM,KAAK,IAAI,EAAE;UACnB,OAAOlD,WAAW,CAAC9F,KAAK,CAAC;QAC3B;QAEA,IAAIkF,0DAAK,CAACyB,UAAU,CAACqC,MAAM,CAAC,EAAE;UAC5B,OAAOA,MAAM,CAACpC,IAAI,CAAC,IAAI,EAAE5G,KAAK,EAAEiF,GAAG,CAAC;QACtC;QAEA,IAAIC,0DAAK,CAAC6B,QAAQ,CAACiC,MAAM,CAAC,EAAE;UAC1B,OAAOA,MAAM,CAAC5C,IAAI,CAACpG,KAAK,CAAC;QAC3B;QAEA,MAAM,IAAIiJ,SAAS,CAAC,wCAAwC,CAAC;MAC/D;IACF;EACF;EAEAC,GAAGA,CAAC3D,MAAM,EAAE4D,OAAO,EAAE;IACnB5D,MAAM,GAAGD,eAAe,CAACC,MAAM,CAAC;IAEhC,IAAIA,MAAM,EAAE;MACV,MAAMN,GAAG,GAAGC,0DAAK,CAAC0D,OAAO,CAAC,IAAI,EAAErD,MAAM,CAAC;MAEvC,OAAO,CAAC,EAAEN,GAAG,IAAI,IAAI,CAACA,GAAG,CAAC,KAAKnE,SAAS,KAAK,CAACqI,OAAO,IAAI5C,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACtB,GAAG,CAAC,EAAEA,GAAG,EAAEkE,OAAO,CAAC,CAAC,CAAC;IAC5G;IAEA,OAAO,KAAK;EACd;EAEAC,MAAMA,CAAC7D,MAAM,EAAE4D,OAAO,EAAE;IACtB,MAAMd,IAAI,GAAG,IAAI;IACjB,IAAIgB,OAAO,GAAG,KAAK;IAEnB,SAASC,YAAYA,CAACd,OAAO,EAAE;MAC7BA,OAAO,GAAGlD,eAAe,CAACkD,OAAO,CAAC;MAElC,IAAIA,OAAO,EAAE;QACX,MAAMvD,GAAG,GAAGC,0DAAK,CAAC0D,OAAO,CAACP,IAAI,EAAEG,OAAO,CAAC;QAExC,IAAIvD,GAAG,KAAK,CAACkE,OAAO,IAAI5C,gBAAgB,CAAC8B,IAAI,EAAEA,IAAI,CAACpD,GAAG,CAAC,EAAEA,GAAG,EAAEkE,OAAO,CAAC,CAAC,EAAE;UACxE,OAAOd,IAAI,CAACpD,GAAG,CAAC;UAEhBoE,OAAO,GAAG,IAAI;QAChB;MACF;IACF;IAEA,IAAInE,0DAAK,CAACU,OAAO,CAACL,MAAM,CAAC,EAAE;MACzBA,MAAM,CAACnG,OAAO,CAACkK,YAAY,CAAC;IAC9B,CAAC,MAAM;MACLA,YAAY,CAAC/D,MAAM,CAAC;IACtB;IAEA,OAAO8D,OAAO;EAChB;EAEAE,KAAKA,CAACJ,OAAO,EAAE;IACb,MAAMzI,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAC,IAAI,CAAC;IAC9B,IAAIpB,CAAC,GAAGoB,IAAI,CAACE,MAAM;IACnB,IAAIyI,OAAO,GAAG,KAAK;IAEnB,OAAO/J,CAAC,EAAE,EAAE;MACV,MAAM2F,GAAG,GAAGvE,IAAI,CAACpB,CAAC,CAAC;MACnB,IAAG,CAAC6J,OAAO,IAAI5C,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACtB,GAAG,CAAC,EAAEA,GAAG,EAAEkE,OAAO,EAAE,IAAI,CAAC,EAAE;QACpE,OAAO,IAAI,CAAClE,GAAG,CAAC;QAChBoE,OAAO,GAAG,IAAI;MAChB;IACF;IAEA,OAAOA,OAAO;EAChB;EAEAG,SAASA,CAACC,MAAM,EAAE;IAChB,MAAMpB,IAAI,GAAG,IAAI;IACjB,MAAMJ,OAAO,GAAG,CAAC,CAAC;IAElB/C,0DAAK,CAAC9F,OAAO,CAAC,IAAI,EAAE,CAACY,KAAK,EAAEuF,MAAM,KAAK;MACrC,MAAMN,GAAG,GAAGC,0DAAK,CAAC0D,OAAO,CAACX,OAAO,EAAE1C,MAAM,CAAC;MAE1C,IAAIN,GAAG,EAAE;QACPoD,IAAI,CAACpD,GAAG,CAAC,GAAGU,cAAc,CAAC3F,KAAK,CAAC;QACjC,OAAOqI,IAAI,CAAC9C,MAAM,CAAC;QACnB;MACF;MAEA,MAAMmE,UAAU,GAAGD,MAAM,GAAGzC,YAAY,CAACzB,MAAM,CAAC,GAAGC,MAAM,CAACD,MAAM,CAAC,CAACE,IAAI,CAAC,CAAC;MAExE,IAAIiE,UAAU,KAAKnE,MAAM,EAAE;QACzB,OAAO8C,IAAI,CAAC9C,MAAM,CAAC;MACrB;MAEA8C,IAAI,CAACqB,UAAU,CAAC,GAAG/D,cAAc,CAAC3F,KAAK,CAAC;MAExCiI,OAAO,CAACyB,UAAU,CAAC,GAAG,IAAI;IAC5B,CAAC,CAAC;IAEF,OAAO,IAAI;EACb;EAEAC,MAAMA,CAAC,GAAGC,OAAO,EAAE;IACjB,OAAO,IAAI,CAAC5B,WAAW,CAAC2B,MAAM,CAAC,IAAI,EAAE,GAAGC,OAAO,CAAC;EAClD;EAEAC,MAAMA,CAACC,SAAS,EAAE;IAChB,MAAMxC,GAAG,GAAG3G,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;IAE/Bf,0DAAK,CAAC9F,OAAO,CAAC,IAAI,EAAE,CAACY,KAAK,EAAEuF,MAAM,KAAK;MACrCvF,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,KAAK,KAAKsH,GAAG,CAAC/B,MAAM,CAAC,GAAGuE,SAAS,IAAI5E,0DAAK,CAACU,OAAO,CAAC5F,KAAK,CAAC,GAAGA,KAAK,CAAC+J,IAAI,CAAC,IAAI,CAAC,GAAG/J,KAAK,CAAC;IAClH,CAAC,CAAC;IAEF,OAAOsH,GAAG;EACZ;EAEA,CAACjC,MAAM,CAAC2E,QAAQ,IAAI;IAClB,OAAOrJ,MAAM,CAACqE,OAAO,CAAC,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAACxE,MAAM,CAAC2E,QAAQ,CAAC,CAAC,CAAC;EACzD;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAOtJ,MAAM,CAACqE,OAAO,CAAC,IAAI,CAAC6E,MAAM,CAAC,CAAC,CAAC,CAAChE,GAAG,CAAC,CAAC,CAACN,MAAM,EAAEvF,KAAK,CAAC,KAAKuF,MAAM,GAAG,IAAI,GAAGvF,KAAK,CAAC,CAAC+J,IAAI,CAAC,IAAI,CAAC;EACjG;EAEA,KAAK1E,MAAM,CAAC6E,WAAW,IAAI;IACzB,OAAO,cAAc;EACvB;EAEA,OAAOC,IAAIA,CAAC3K,KAAK,EAAE;IACjB,OAAOA,KAAK,YAAY,IAAI,GAAGA,KAAK,GAAG,IAAI,IAAI,CAACA,KAAK,CAAC;EACxD;EAEA,OAAOmK,MAAMA,CAACS,KAAK,EAAE,GAAGR,OAAO,EAAE;IAC/B,MAAMS,QAAQ,GAAG,IAAI,IAAI,CAACD,KAAK,CAAC;IAEhCR,OAAO,CAACxK,OAAO,CAAEkL,MAAM,IAAKD,QAAQ,CAACnC,GAAG,CAACoC,MAAM,CAAC,CAAC;IAEjD,OAAOD,QAAQ;EACjB;EAEA,OAAOE,QAAQA,CAAChF,MAAM,EAAE;IACtB,MAAMiF,SAAS,GAAG,IAAI,CAACpF,UAAU,CAAC,GAAI,IAAI,CAACA,UAAU,CAAC,GAAG;MACvDqF,SAAS,EAAE,CAAC;IACd,CAAE;IAEF,MAAMA,SAAS,GAAGD,SAAS,CAACC,SAAS;IACrC,MAAMC,SAAS,GAAG,IAAI,CAACA,SAAS;IAEhC,SAASC,cAAcA,CAACnC,OAAO,EAAE;MAC/B,MAAME,OAAO,GAAGpD,eAAe,CAACkD,OAAO,CAAC;MAExC,IAAI,CAACiC,SAAS,CAAC/B,OAAO,CAAC,EAAE;QACvBrB,cAAc,CAACqD,SAAS,EAAElC,OAAO,CAAC;QAClCiC,SAAS,CAAC/B,OAAO,CAAC,GAAG,IAAI;MAC3B;IACF;IAEAxD,0DAAK,CAACU,OAAO,CAACL,MAAM,CAAC,GAAGA,MAAM,CAACnG,OAAO,CAACuL,cAAc,CAAC,GAAGA,cAAc,CAACpF,MAAM,CAAC;IAE/E,OAAO,IAAI;EACb;AACF;AAEAwC,YAAY,CAACwC,QAAQ,CAAC,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;;AAErH;AACArF,0DAAK,CAAC0F,iBAAiB,CAAC7C,YAAY,CAAC2C,SAAS,EAAE,CAAC;EAAC1K;AAAK,CAAC,EAAEiF,GAAG,KAAK;EAChE,IAAI4F,MAAM,GAAG5F,GAAG,CAAC,CAAC,CAAC,CAACmC,WAAW,CAAC,CAAC,GAAGnC,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAClD,OAAO;IACL/B,GAAG,EAAEA,CAAA,KAAM/I,KAAK;IAChBkI,GAAGA,CAAC6C,WAAW,EAAE;MACf,IAAI,CAACF,MAAM,CAAC,GAAGE,WAAW;IAC5B;EACF,CAAC;AACH,CAAC,CAAC;AAEF7F,0DAAK,CAAC8F,aAAa,CAACjD,YAAY,CAAC;AAEjC,sDAAeA,YAAY;;;;;;;;;;;;;;;ACzSd;;AAAA;AAAA;AAEmB;AACa;AAE7C,MAAMkD,eAAe,GAAIzL,KAAK,IAAKA,KAAK,YAAYuI,iEAAY,GAAGvI,KAAK,CAACqK,MAAM,CAAC,CAAC,GAAGrK,KAAK;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS0L,WAAWA,CAACC,OAAO,EAAEC,OAAO,EAAE;EACpD;EACAA,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EACvB,MAAMC,MAAM,GAAG,CAAC,CAAC;EAEjB,SAASC,cAAcA,CAAChB,MAAM,EAAEiB,MAAM,EAAEC,QAAQ,EAAE;IAChD,IAAItG,0DAAK,CAAC4D,aAAa,CAACwB,MAAM,CAAC,IAAIpF,0DAAK,CAAC4D,aAAa,CAACyC,MAAM,CAAC,EAAE;MAC9D,OAAOrG,0DAAK,CAACuG,KAAK,CAAC7E,IAAI,CAAC;QAAC4E;MAAQ,CAAC,EAAElB,MAAM,EAAEiB,MAAM,CAAC;IACrD,CAAC,MAAM,IAAIrG,0DAAK,CAAC4D,aAAa,CAACyC,MAAM,CAAC,EAAE;MACtC,OAAOrG,0DAAK,CAACuG,KAAK,CAAC,CAAC,CAAC,EAAEF,MAAM,CAAC;IAChC,CAAC,MAAM,IAAIrG,0DAAK,CAACU,OAAO,CAAC2F,MAAM,CAAC,EAAE;MAChC,OAAOA,MAAM,CAACT,KAAK,CAAC,CAAC;IACvB;IACA,OAAOS,MAAM;EACf;;EAEA;EACA,SAASG,mBAAmBA,CAACC,CAAC,EAAEC,CAAC,EAAEJ,QAAQ,EAAE;IAC3C,IAAI,CAACtG,0DAAK,CAAC2G,WAAW,CAACD,CAAC,CAAC,EAAE;MACzB,OAAON,cAAc,CAACK,CAAC,EAAEC,CAAC,EAAEJ,QAAQ,CAAC;IACvC,CAAC,MAAM,IAAI,CAACtG,0DAAK,CAAC2G,WAAW,CAACF,CAAC,CAAC,EAAE;MAChC,OAAOL,cAAc,CAACxK,SAAS,EAAE6K,CAAC,EAAEH,QAAQ,CAAC;IAC/C;EACF;;EAEA;EACA,SAASM,gBAAgBA,CAACH,CAAC,EAAEC,CAAC,EAAE;IAC9B,IAAI,CAAC1G,0DAAK,CAAC2G,WAAW,CAACD,CAAC,CAAC,EAAE;MACzB,OAAON,cAAc,CAACxK,SAAS,EAAE8K,CAAC,CAAC;IACrC;EACF;;EAEA;EACA,SAASG,gBAAgBA,CAACJ,CAAC,EAAEC,CAAC,EAAE;IAC9B,IAAI,CAAC1G,0DAAK,CAAC2G,WAAW,CAACD,CAAC,CAAC,EAAE;MACzB,OAAON,cAAc,CAACxK,SAAS,EAAE8K,CAAC,CAAC;IACrC,CAAC,MAAM,IAAI,CAAC1G,0DAAK,CAAC2G,WAAW,CAACF,CAAC,CAAC,EAAE;MAChC,OAAOL,cAAc,CAACxK,SAAS,EAAE6K,CAAC,CAAC;IACrC;EACF;;EAEA;EACA,SAASK,eAAeA,CAACL,CAAC,EAAEC,CAAC,EAAEK,IAAI,EAAE;IACnC,IAAIA,IAAI,IAAIb,OAAO,EAAE;MACnB,OAAOE,cAAc,CAACK,CAAC,EAAEC,CAAC,CAAC;IAC7B,CAAC,MAAM,IAAIK,IAAI,IAAId,OAAO,EAAE;MAC1B,OAAOG,cAAc,CAACxK,SAAS,EAAE6K,CAAC,CAAC;IACrC;EACF;EAEA,MAAMO,QAAQ,GAAG;IACfC,GAAG,EAAEL,gBAAgB;IACrBM,MAAM,EAAEN,gBAAgB;IACxBO,IAAI,EAAEP,gBAAgB;IACtBQ,OAAO,EAAEP,gBAAgB;IACzBQ,gBAAgB,EAAER,gBAAgB;IAClCS,iBAAiB,EAAET,gBAAgB;IACnCU,gBAAgB,EAAEV,gBAAgB;IAClCW,OAAO,EAAEX,gBAAgB;IACzBY,cAAc,EAAEZ,gBAAgB;IAChCa,eAAe,EAAEb,gBAAgB;IACjCc,aAAa,EAAEd,gBAAgB;IAC/Be,OAAO,EAAEf,gBAAgB;IACzBgB,YAAY,EAAEhB,gBAAgB;IAC9BiB,cAAc,EAAEjB,gBAAgB;IAChCkB,cAAc,EAAElB,gBAAgB;IAChCmB,gBAAgB,EAAEnB,gBAAgB;IAClCoB,kBAAkB,EAAEpB,gBAAgB;IACpCqB,UAAU,EAAErB,gBAAgB;IAC5BsB,gBAAgB,EAAEtB,gBAAgB;IAClCuB,aAAa,EAAEvB,gBAAgB;IAC/BwB,cAAc,EAAExB,gBAAgB;IAChCyB,SAAS,EAAEzB,gBAAgB;IAC3B0B,SAAS,EAAE1B,gBAAgB;IAC3B2B,UAAU,EAAE3B,gBAAgB;IAC5B4B,WAAW,EAAE5B,gBAAgB;IAC7B6B,UAAU,EAAE7B,gBAAgB;IAC5B8B,gBAAgB,EAAE9B,gBAAgB;IAClC+B,cAAc,EAAE9B,eAAe;IAC/B/D,OAAO,EAAEA,CAAC0D,CAAC,EAAEC,CAAC,KAAKF,mBAAmB,CAACT,eAAe,CAACU,CAAC,CAAC,EAAEV,eAAe,CAACW,CAAC,CAAC,EAAE,IAAI;EACrF,CAAC;EAED1G,0DAAK,CAAC9F,OAAO,CAACuB,MAAM,CAACD,IAAI,CAACC,MAAM,CAACoN,MAAM,CAAC,CAAC,CAAC,EAAE5C,OAAO,EAAEC,OAAO,CAAC,CAAC,EAAE,SAAS4C,kBAAkBA,CAAC/B,IAAI,EAAE;IAChG,MAAMR,KAAK,GAAGS,QAAQ,CAACD,IAAI,CAAC,IAAIP,mBAAmB;IACnD,MAAMuC,WAAW,GAAGxC,KAAK,CAACN,OAAO,CAACc,IAAI,CAAC,EAAEb,OAAO,CAACa,IAAI,CAAC,EAAEA,IAAI,CAAC;IAC5D/G,0DAAK,CAAC2G,WAAW,CAACoC,WAAW,CAAC,IAAIxC,KAAK,KAAKO,eAAe,KAAMX,MAAM,CAACY,IAAI,CAAC,GAAGgC,WAAW,CAAC;EAC/F,CAAC,CAAC;EAEF,OAAO5C,MAAM;AACf;;;;;;;;ACzGa;AACb,kBAAkB,mBAAO,CAAC,IAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACZa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA,6CAA6C,aAAa;AAC1D;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;ACZY;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;;;;;;;;;ACRa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,gBAAgB,mBAAO,CAAC,IAAgC;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC3Ba;AACb;AACA,0BAA0B,mBAAO,CAAC,IAA6C;AAC/E,eAAe,mBAAO,CAAC,IAAwB;AAC/C,yBAAyB,mBAAO,CAAC,IAAmC;;AAEpE;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;AC1BY;;AAEqB;AACU;AAE5C,sDAAe6C,mEAAQ,CAACC,qBAAqB;AAE7C;AACA;AACG,SAASC,kBAAkBA,CAAA,EAAG;EAC7B,MAAMC,IAAI,GAAG,iBAAiB,CAAC/H,IAAI,CAACgI,SAAS,CAACC,SAAS,CAAC;EACxD,MAAMC,cAAc,GAAGC,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EAClD,IAAIC,SAAS;;EAEb;AACJ;AACA;AACA;AACA;AACA;EACI,SAASC,UAAUA,CAACzC,GAAG,EAAE;IACvB,IAAI0C,IAAI,GAAG1C,GAAG;IAEd,IAAIkC,IAAI,EAAE;MACR;MACAG,cAAc,CAACM,YAAY,CAAC,MAAM,EAAED,IAAI,CAAC;MACzCA,IAAI,GAAGL,cAAc,CAACK,IAAI;IAC5B;IAEAL,cAAc,CAACM,YAAY,CAAC,MAAM,EAAED,IAAI,CAAC;;IAEzC;IACA,OAAO;MACLA,IAAI,EAAEL,cAAc,CAACK,IAAI;MACzBE,QAAQ,EAAEP,cAAc,CAACO,QAAQ,GAAGP,cAAc,CAACO,QAAQ,CAAC9H,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;MAClF+H,IAAI,EAAER,cAAc,CAACQ,IAAI;MACzBC,MAAM,EAAET,cAAc,CAACS,MAAM,GAAGT,cAAc,CAACS,MAAM,CAAChI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;MAC7EiI,IAAI,EAAEV,cAAc,CAACU,IAAI,GAAGV,cAAc,CAACU,IAAI,CAACjI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE;MACtEkI,QAAQ,EAAEX,cAAc,CAACW,QAAQ;MACjCC,IAAI,EAAEZ,cAAc,CAACY,IAAI;MACzBC,QAAQ,EAAGb,cAAc,CAACa,QAAQ,CAACC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAClDd,cAAc,CAACa,QAAQ,GACvB,GAAG,GAAGb,cAAc,CAACa;IACzB,CAAC;EACH;EAEAV,SAAS,GAAGC,UAAU,CAACW,MAAM,CAACC,QAAQ,CAACX,IAAI,CAAC;;EAE5C;AACJ;AACA;AACA;AACA;AACA;EACI,OAAO,SAASY,eAAeA,CAACC,UAAU,EAAE;IAC1C,MAAMC,MAAM,GAAIzK,0DAAK,CAAC2B,QAAQ,CAAC6I,UAAU,CAAC,GAAId,UAAU,CAACc,UAAU,CAAC,GAAGA,UAAU;IACjF,OAAQC,MAAM,CAACZ,QAAQ,KAAKJ,SAAS,CAACI,QAAQ,IAC1CY,MAAM,CAACX,IAAI,KAAKL,SAAS,CAACK,IAAI;EACpC,CAAC;AACH,CAAC,CAAE,CAAC;AAEJ;AACC,SAASY,qBAAqBA,CAAA,EAAG;EAChC,OAAO,SAASH,eAAeA,CAAA,EAAG;IAChC,OAAO,IAAI;EACb,CAAC;AACH,CAAC,CAAE,CAAC;;;;;;;;AClEO;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,cAAc,mBAAO,CAAC,IAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,iBAAiB;AAC1B;AACA,CAAC;;;;;;;;;ACnBY;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,WAAW,mBAAO,CAAC,GAAuB;AAC1C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA,KAAK;AACL;;AAEA;AACA;;;;;;;;;AC9Ba;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,UAAU,mBAAO,CAAC,IAA2B;AAC7C,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;AACA,IAAI,8DAA8D;AAClE;AACA,CAAC;;;;;;;;;;;;ACTY;;AAAA;AAAA;AAEmB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,aAAaA,CAACC,IAAI,EAAE;EAC3B;EACA;EACA;EACA;EACA,OAAO5K,0DAAK,CAAC6K,QAAQ,CAAC,eAAe,EAAED,IAAI,CAAC,CAACjK,GAAG,CAACM,KAAK,IAAI;IACxD,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAGA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC;EACtD,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS6J,aAAaA,CAACC,GAAG,EAAE;EAC1B,MAAM3I,GAAG,GAAG,CAAC,CAAC;EACd,MAAM5G,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACuP,GAAG,CAAC;EAC7B,IAAI3Q,CAAC;EACL,MAAM4Q,GAAG,GAAGxP,IAAI,CAACE,MAAM;EACvB,IAAIqE,GAAG;EACP,KAAK3F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,EAAE,EAAE;IACxB2F,GAAG,GAAGvE,IAAI,CAACpB,CAAC,CAAC;IACbgI,GAAG,CAACrC,GAAG,CAAC,GAAGgL,GAAG,CAAChL,GAAG,CAAC;EACrB;EACA,OAAOqC,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS6I,cAAcA,CAACC,QAAQ,EAAE;EAChC,SAASC,SAASA,CAACC,IAAI,EAAEtQ,KAAK,EAAEsK,MAAM,EAAEiG,KAAK,EAAE;IAC7C,IAAIT,IAAI,GAAGQ,IAAI,CAACC,KAAK,EAAE,CAAC;IAExB,IAAIT,IAAI,KAAK,WAAW,EAAE,OAAO,IAAI;IAErC,MAAMU,YAAY,GAAGC,MAAM,CAACC,QAAQ,CAAC,CAACZ,IAAI,CAAC;IAC3C,MAAMa,MAAM,GAAGJ,KAAK,IAAID,IAAI,CAAC1P,MAAM;IACnCkP,IAAI,GAAG,CAACA,IAAI,IAAI5K,0DAAK,CAACU,OAAO,CAAC0E,MAAM,CAAC,GAAGA,MAAM,CAAC1J,MAAM,GAAGkP,IAAI;IAE5D,IAAIa,MAAM,EAAE;MACV,IAAIzL,0DAAK,CAAC0L,UAAU,CAACtG,MAAM,EAAEwF,IAAI,CAAC,EAAE;QAClCxF,MAAM,CAACwF,IAAI,CAAC,GAAG,CAACxF,MAAM,CAACwF,IAAI,CAAC,EAAE9P,KAAK,CAAC;MACtC,CAAC,MAAM;QACLsK,MAAM,CAACwF,IAAI,CAAC,GAAG9P,KAAK;MACtB;MAEA,OAAO,CAACwQ,YAAY;IACtB;IAEA,IAAI,CAAClG,MAAM,CAACwF,IAAI,CAAC,IAAI,CAAC5K,0DAAK,CAAC2L,QAAQ,CAACvG,MAAM,CAACwF,IAAI,CAAC,CAAC,EAAE;MAClDxF,MAAM,CAACwF,IAAI,CAAC,GAAG,EAAE;IACnB;IAEA,MAAMjP,MAAM,GAAGwP,SAAS,CAACC,IAAI,EAAEtQ,KAAK,EAAEsK,MAAM,CAACwF,IAAI,CAAC,EAAES,KAAK,CAAC;IAE1D,IAAI1P,MAAM,IAAIqE,0DAAK,CAACU,OAAO,CAAC0E,MAAM,CAACwF,IAAI,CAAC,CAAC,EAAE;MACzCxF,MAAM,CAACwF,IAAI,CAAC,GAAGE,aAAa,CAAC1F,MAAM,CAACwF,IAAI,CAAC,CAAC;IAC5C;IAEA,OAAO,CAACU,YAAY;EACtB;EAEA,IAAItL,0DAAK,CAAC4L,UAAU,CAACV,QAAQ,CAAC,IAAIlL,0DAAK,CAACyB,UAAU,CAACyJ,QAAQ,CAACpL,OAAO,CAAC,EAAE;IACpE,MAAMsC,GAAG,GAAG,CAAC,CAAC;IAEdpC,0DAAK,CAAC6L,YAAY,CAACX,QAAQ,EAAE,CAACN,IAAI,EAAE9P,KAAK,KAAK;MAC5CqQ,SAAS,CAACR,aAAa,CAACC,IAAI,CAAC,EAAE9P,KAAK,EAAEsH,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAOA,GAAG;EACZ;EAEA,OAAO,IAAI;AACb;AAEA,sDAAe6I,cAAc;;;;;;;;AC9FhB;AACb,0BAA0B,mBAAO,CAAC,IAA6C;AAC/E,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;;;;;;;;;ACNa;;AAEmB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASjR,UAAUA,CAACU,OAAO,EAAEoR,IAAI,EAAE3F,MAAM,EAAE4F,OAAO,EAAEC,QAAQ,EAAE;EAC5DvI,KAAK,CAAC/B,IAAI,CAAC,IAAI,CAAC;EAEhB,IAAI+B,KAAK,CAACwI,iBAAiB,EAAE;IAC3BxI,KAAK,CAACwI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAACnJ,WAAW,CAAC;EACjD,CAAC,MAAM;IACL,IAAI,CAACoJ,KAAK,GAAI,IAAIzI,KAAK,CAAC,CAAC,CAAEyI,KAAK;EAClC;EAEA,IAAI,CAACxR,OAAO,GAAGA,OAAO;EACtB,IAAI,CAACkQ,IAAI,GAAG,YAAY;EACxBkB,IAAI,KAAK,IAAI,CAACA,IAAI,GAAGA,IAAI,CAAC;EAC1B3F,MAAM,KAAK,IAAI,CAACA,MAAM,GAAGA,MAAM,CAAC;EAChC4F,OAAO,KAAK,IAAI,CAACA,OAAO,GAAGA,OAAO,CAAC;EACnCC,QAAQ,KAAK,IAAI,CAACA,QAAQ,GAAGA,QAAQ,CAAC;AACxC;AAEAhM,0DAAK,CAACmM,QAAQ,CAACnS,UAAU,EAAEyJ,KAAK,EAAE;EAChCkB,MAAM,EAAE,SAASA,MAAMA,CAAA,EAAG;IACxB,OAAO;MACL;MACAjK,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBkQ,IAAI,EAAE,IAAI,CAACA,IAAI;MACf;MACAwB,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnB;MACAC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BN,KAAK,EAAE,IAAI,CAACA,KAAK;MACjB;MACA/F,MAAM,EAAEnG,0DAAK,CAACyM,YAAY,CAAC,IAAI,CAACtG,MAAM,CAAC;MACvC2F,IAAI,EAAE,IAAI,CAACA,IAAI;MACfY,MAAM,EAAE,IAAI,CAACV,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAACU,MAAM,GAAG,IAAI,CAACV,QAAQ,CAACU,MAAM,GAAG;IACzE,CAAC;EACH;AACF,CAAC,CAAC;AAEF,MAAMlH,SAAS,GAAGxL,UAAU,CAACwL,SAAS;AACtC,MAAMmH,WAAW,GAAG,CAAC,CAAC;AAEtB,CACE,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,2BAA2B,EAC3B,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB;AACF;AAAA,CACC,CAACzS,OAAO,CAAC4R,IAAI,IAAI;EAChBa,WAAW,CAACb,IAAI,CAAC,GAAG;IAAChR,KAAK,EAAEgR;EAAI,CAAC;AACnC,CAAC,CAAC;AAEFrQ,MAAM,CAACmR,gBAAgB,CAAC5S,UAAU,EAAE2S,WAAW,CAAC;AAChDlR,MAAM,CAAC+G,cAAc,CAACgD,SAAS,EAAE,cAAc,EAAE;EAAC1K,KAAK,EAAE;AAAI,CAAC,CAAC;;AAE/D;AACAd,UAAU,CAACiL,IAAI,GAAG,CAAC4H,KAAK,EAAEf,IAAI,EAAE3F,MAAM,EAAE4F,OAAO,EAAEC,QAAQ,EAAEc,WAAW,KAAK;EACzE,MAAMC,UAAU,GAAGtR,MAAM,CAACsF,MAAM,CAACyE,SAAS,CAAC;EAE3CxF,0DAAK,CAACgN,YAAY,CAACH,KAAK,EAAEE,UAAU,EAAE,SAASxL,MAAMA,CAACa,GAAG,EAAE;IACzD,OAAOA,GAAG,KAAKqB,KAAK,CAAC+B,SAAS;EAChC,CAAC,EAAEuB,IAAI,IAAI;IACT,OAAOA,IAAI,KAAK,cAAc;EAChC,CAAC,CAAC;EAEF/M,UAAU,CAAC0H,IAAI,CAACqL,UAAU,EAAEF,KAAK,CAACnS,OAAO,EAAEoR,IAAI,EAAE3F,MAAM,EAAE4F,OAAO,EAAEC,QAAQ,CAAC;EAE3Ee,UAAU,CAACE,KAAK,GAAGJ,KAAK;EAExBE,UAAU,CAACnC,IAAI,GAAGiC,KAAK,CAACjC,IAAI;EAE5BkC,WAAW,IAAIrR,MAAM,CAACoN,MAAM,CAACkE,UAAU,EAAED,WAAW,CAAC;EAErD,OAAOC,UAAU;AACnB,CAAC;AAED,sDAAe/S,UAAU;;;;;;;;ACnGZ;AACb,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACZY;AACb,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;AChDa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D,6BAA6B;AAC7B;;AAEA;AACA;AACA;;;;;;;;;ACRa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,8BAA8B,mBAAO,CAAC,GAAsC;AAC5E,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpBa;AACb,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;AACA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;;;;;;;;;ACZa;AACb,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASkT,aAAaA,CAACjG,GAAG,EAAE;EACzC;EACA;EACA;EACA,OAAO,6BAA6B,CAAC7F,IAAI,CAAC6F,GAAG,CAAC;AAChD;;;;;;;;;;;;;;;;;ACd8E;AACtC;AACF;AACP;AACH;AACF;AACnB,SAASuG,mBAAmBA,CAACC,gBAAgB,EAAEC,OAAO,EAAE;EAC3D,MAAMC,UAAU,GAAGF,gBAAgB;EACnC,MAAMrI,MAAM,GAAGgI,4DAAS,CAAC,CAAC;EAC1B,MAAMQ,IAAI,GAAGT,wEAAqB,CAAC,CAAC;EACpC,MAAMU,WAAW,GAAGR,+DAAgB,IAAIM,UAAU,CAACG,gBAAgB;EACnE,IAAIF,IAAI,KAAKxI,MAAM,CAAC2I,qCAAqC,IAAI,CAACF,WAAW,CAAC,EAAE;IACxED,IAAI,CAACI,IAAI,CAACV,0DAAU,EAAEG,gBAAgB,EAAEC,OAAO,CAAC;EACpD,CAAC,MACI;IACD,MAAMO,KAAK,GAAGJ,WAAW,GAAG,IAAIN,wDAAQ,CAACI,UAAU,EAAEC,IAAI,CAAC,GAAG,IAAI;IACjE,MAAMM,IAAI,GAAG9I,MAAM,CAAC+I,wBAAwB,GAAG/I,MAAM,CAAC+I,wBAAwB,IAAI,EAAE;IACpFD,IAAI,CAACE,IAAI,CAAC;MACNX,gBAAgB,EAAEE,UAAU;MAC5BD,OAAO;MACPO;IACJ,CAAC,CAAC;IACF,IAAIA,KAAK,EAAE;MACPP,OAAO,CAACO,KAAK,CAACI,aAAa,CAAC;IAChC;EACJ;AACJ;;;;;;;;AC1Ba;AACb,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,IAAmC;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACXa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACXa;AACb,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oBAAoB,mBAAO,CAAC,IAAqC;;AAEjE;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACRa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,WAAWA,CAAClH,OAAO,EAAEmH,WAAW,EAAE;EACxD,OAAOA,WAAW,GACdnH,OAAO,CAACrF,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,GAAGwM,WAAW,CAACxM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GACrEqF,OAAO;AACb;;;;;;;;ACda;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,YAAY,mBAAO,CAAC,IAAwB;AAC5C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBa;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEqB;AACO;AACK;AACE;AACK;AACS;AACC;AAChB;AACQ;AACC;AACZ;AACO;AACC;AAEpD,SAAS4H,oBAAoBA,CAACC,QAAQ,EAAEC,gBAAgB,EAAE;EACxD,IAAIC,aAAa,GAAG,CAAC;EACrB,MAAMC,YAAY,GAAGL,4EAAW,CAAC,EAAE,EAAE,GAAG,CAAC;EAEzC,OAAOM,CAAC,IAAI;IACV,MAAMC,MAAM,GAAGD,CAAC,CAACC,MAAM;IACvB,MAAMC,KAAK,GAAGF,CAAC,CAACG,gBAAgB,GAAGH,CAAC,CAACE,KAAK,GAAG3T,SAAS;IACtD,MAAM6T,aAAa,GAAGH,MAAM,GAAGH,aAAa;IAC5C,MAAMO,IAAI,GAAGN,YAAY,CAACK,aAAa,CAAC;IACxC,MAAME,OAAO,GAAGL,MAAM,IAAIC,KAAK;IAE/BJ,aAAa,GAAGG,MAAM;IAEtB,MAAMnI,IAAI,GAAG;MACXmI,MAAM;MACNC,KAAK;MACLK,QAAQ,EAAEL,KAAK,GAAID,MAAM,GAAGC,KAAK,GAAI3T,SAAS;MAC9CiU,KAAK,EAAEJ,aAAa;MACpBC,IAAI,EAAEA,IAAI,GAAGA,IAAI,GAAG9T,SAAS;MAC7BkU,SAAS,EAAEJ,IAAI,IAAIH,KAAK,IAAII,OAAO,GAAG,CAACJ,KAAK,GAAGD,MAAM,IAAII,IAAI,GAAG9T,SAAS;MACzEmU,KAAK,EAAEV;IACT,CAAC;IAEDlI,IAAI,CAAC+H,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI;IAErDD,QAAQ,CAAC9H,IAAI,CAAC;EAChB,CAAC;AACH;AAEA,MAAM6I,qBAAqB,GAAG,OAAOC,cAAc,KAAK,WAAW;AAEnE,sDAAeD,qBAAqB,IAAI,UAAU7J,MAAM,EAAE;EACxD,OAAO,IAAI+J,OAAO,CAAC,SAASC,kBAAkBA,CAACC,OAAO,EAAEC,MAAM,EAAE;IAC9D,IAAIC,WAAW,GAAGnK,MAAM,CAACgB,IAAI;IAC7B,MAAMoJ,cAAc,GAAG1N,sEAAY,CAACoC,IAAI,CAACkB,MAAM,CAACpD,OAAO,CAAC,CAACuB,SAAS,CAAC,CAAC;IACpE,IAAI;MAACuD,YAAY;MAAEF;IAAa,CAAC,GAAGxB,MAAM;IAC1C,IAAIqK,UAAU;IACd,SAASC,IAAIA,CAAA,EAAG;MACd,IAAItK,MAAM,CAACsC,WAAW,EAAE;QACtBtC,MAAM,CAACsC,WAAW,CAACiI,WAAW,CAACF,UAAU,CAAC;MAC5C;MAEA,IAAIrK,MAAM,CAACwK,MAAM,EAAE;QACjBxK,MAAM,CAACwK,MAAM,CAACC,mBAAmB,CAAC,OAAO,EAAEJ,UAAU,CAAC;MACxD;IACF;IAEA,IAAIK,WAAW;IAEf,IAAI7Q,0DAAK,CAAC4L,UAAU,CAAC0E,WAAW,CAAC,EAAE;MACjC,IAAItH,mEAAQ,CAACC,qBAAqB,IAAID,mEAAQ,CAAC8H,8BAA8B,EAAE;QAC7EP,cAAc,CAACQ,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;MACxC,CAAC,MAAM,IAAI,CAACF,WAAW,GAAGN,cAAc,CAACS,cAAc,CAAC,CAAC,MAAM,KAAK,EAAE;QACpE;QACA,MAAM,CAAC7W,IAAI,EAAE,GAAG2G,MAAM,CAAC,GAAG+P,WAAW,GAAGA,WAAW,CAACI,KAAK,CAAC,GAAG,CAAC,CAACtQ,GAAG,CAACuQ,KAAK,IAAIA,KAAK,CAAC3Q,IAAI,CAAC,CAAC,CAAC,CAACgB,MAAM,CAAC4P,OAAO,CAAC,GAAG,EAAE;QAC9GZ,cAAc,CAACQ,cAAc,CAAC,CAAC5W,IAAI,IAAI,qBAAqB,EAAE,GAAG2G,MAAM,CAAC,CAAC+D,IAAI,CAAC,IAAI,CAAC,CAAC;MACtF;IACF;IAEA,IAAIkH,OAAO,GAAG,IAAIkE,cAAc,CAAC,CAAC;;IAElC;IACA,IAAI9J,MAAM,CAACiL,IAAI,EAAE;MACf,MAAMC,QAAQ,GAAGlL,MAAM,CAACiL,IAAI,CAACC,QAAQ,IAAI,EAAE;MAC3C,MAAMC,QAAQ,GAAGnL,MAAM,CAACiL,IAAI,CAACE,QAAQ,GAAGC,QAAQ,CAACC,kBAAkB,CAACrL,MAAM,CAACiL,IAAI,CAACE,QAAQ,CAAC,CAAC,GAAG,EAAE;MAC/Ff,cAAc,CAACvN,GAAG,CAAC,eAAe,EAAE,QAAQ,GAAGyO,IAAI,CAACJ,QAAQ,GAAG,GAAG,GAAGC,QAAQ,CAAC,CAAC;IACjF;IAEA,MAAMI,QAAQ,GAAG/C,2EAAa,CAACxI,MAAM,CAACiB,OAAO,EAAEjB,MAAM,CAACc,GAAG,CAAC;IAE1D8E,OAAO,CAAC4F,IAAI,CAACxL,MAAM,CAACe,MAAM,CAAChF,WAAW,CAAC,CAAC,EAAEwM,0EAAQ,CAACgD,QAAQ,EAAEvL,MAAM,CAACyL,MAAM,EAAEzL,MAAM,CAACoB,gBAAgB,CAAC,EAAE,IAAI,CAAC;;IAE3G;IACAwE,OAAO,CAACvE,OAAO,GAAGrB,MAAM,CAACqB,OAAO;IAEhC,SAASqK,SAASA,CAAA,EAAG;MACnB,IAAI,CAAC9F,OAAO,EAAE;QACZ;MACF;MACA;MACA,MAAM+F,eAAe,GAAGjP,sEAAY,CAACoC,IAAI,CACvC,uBAAuB,IAAI8G,OAAO,IAAIA,OAAO,CAACgG,qBAAqB,CAAC,CACtE,CAAC;MACD,MAAMC,YAAY,GAAG,CAACnK,YAAY,IAAIA,YAAY,KAAK,MAAM,IAAIA,YAAY,KAAK,MAAM,GACtFkE,OAAO,CAACkG,YAAY,GAAGlG,OAAO,CAACC,QAAQ;MACzC,MAAMA,QAAQ,GAAG;QACf7E,IAAI,EAAE6K,YAAY;QAClBtF,MAAM,EAAEX,OAAO,CAACW,MAAM;QACtBwF,UAAU,EAAEnG,OAAO,CAACmG,UAAU;QAC9BnP,OAAO,EAAE+O,eAAe;QACxB3L,MAAM;QACN4F;MACF,CAAC;MAEDyC,qEAAM,CAAC,SAAS2D,QAAQA,CAACrX,KAAK,EAAE;QAC9BsV,OAAO,CAACtV,KAAK,CAAC;QACd2V,IAAI,CAAC,CAAC;MACR,CAAC,EAAE,SAAS2B,OAAOA,CAACC,GAAG,EAAE;QACvBhC,MAAM,CAACgC,GAAG,CAAC;QACX5B,IAAI,CAAC,CAAC;MACR,CAAC,EAAEzE,QAAQ,CAAC;;MAEZ;MACAD,OAAO,GAAG,IAAI;IAChB;IAEA,IAAI,WAAW,IAAIA,OAAO,EAAE;MAC1B;MACAA,OAAO,CAAC8F,SAAS,GAAGA,SAAS;IAC/B,CAAC,MAAM;MACL;MACA9F,OAAO,CAACuG,kBAAkB,GAAG,SAASC,UAAUA,CAAA,EAAG;QACjD,IAAI,CAACxG,OAAO,IAAIA,OAAO,CAACyG,UAAU,KAAK,CAAC,EAAE;UACxC;QACF;;QAEA;QACA;QACA;QACA;QACA,IAAIzG,OAAO,CAACW,MAAM,KAAK,CAAC,IAAI,EAAEX,OAAO,CAAC0G,WAAW,IAAI1G,OAAO,CAAC0G,WAAW,CAAC7Q,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;UAChG;QACF;QACA;QACA;QACA8Q,UAAU,CAACb,SAAS,CAAC;MACvB,CAAC;IACH;;IAEA;IACA9F,OAAO,CAAC4G,OAAO,GAAG,SAASC,WAAWA,CAAA,EAAG;MACvC,IAAI,CAAC7G,OAAO,EAAE;QACZ;MACF;MAEAsE,MAAM,CAAC,IAAIrW,qEAAU,CAAC,iBAAiB,EAAEA,qEAAU,CAAC6Y,YAAY,EAAE1M,MAAM,EAAE4F,OAAO,CAAC,CAAC;;MAEnF;MACAA,OAAO,GAAG,IAAI;IAChB,CAAC;;IAED;IACAA,OAAO,CAAC+G,OAAO,GAAG,SAASC,WAAWA,CAAA,EAAG;MACvC;MACA;MACA1C,MAAM,CAAC,IAAIrW,qEAAU,CAAC,eAAe,EAAEA,qEAAU,CAACgZ,WAAW,EAAE7M,MAAM,EAAE4F,OAAO,CAAC,CAAC;;MAEhF;MACAA,OAAO,GAAG,IAAI;IAChB,CAAC;;IAED;IACAA,OAAO,CAACkH,SAAS,GAAG,SAASC,aAAaA,CAAA,EAAG;MAC3C,IAAIC,mBAAmB,GAAGhN,MAAM,CAACqB,OAAO,GAAG,aAAa,GAAGrB,MAAM,CAACqB,OAAO,GAAG,aAAa,GAAG,kBAAkB;MAC9G,MAAMhN,YAAY,GAAG2L,MAAM,CAAC3L,YAAY,IAAIoU,2EAAoB;MAChE,IAAIzI,MAAM,CAACgN,mBAAmB,EAAE;QAC9BA,mBAAmB,GAAGhN,MAAM,CAACgN,mBAAmB;MAClD;MACA9C,MAAM,CAAC,IAAIrW,qEAAU,CACnBmZ,mBAAmB,EACnB3Y,YAAY,CAAC4Y,mBAAmB,GAAGpZ,qEAAU,CAACqZ,SAAS,GAAGrZ,qEAAU,CAAC6Y,YAAY,EACjF1M,MAAM,EACN4F,OAAO,CAAC,CAAC;;MAEX;MACAA,OAAO,GAAG,IAAI;IAChB,CAAC;;IAED;IACA;IACA;IACA,IAAG/C,mEAAQ,CAACC,qBAAqB,EAAE;MACjCtB,aAAa,IAAI3H,0DAAK,CAACyB,UAAU,CAACkG,aAAa,CAAC,KAAKA,aAAa,GAAGA,aAAa,CAACxB,MAAM,CAAC,CAAC;MAE3F,IAAIwB,aAAa,IAAKA,aAAa,KAAK,KAAK,IAAI4C,iFAAe,CAACmH,QAAQ,CAAE,EAAE;QAC3E;QACA,MAAM4B,SAAS,GAAGnN,MAAM,CAAC4B,cAAc,IAAI5B,MAAM,CAAC2B,cAAc,IAAI2G,qEAAO,CAAC8E,IAAI,CAACpN,MAAM,CAAC2B,cAAc,CAAC;QAEvG,IAAIwL,SAAS,EAAE;UACb/C,cAAc,CAACvN,GAAG,CAACmD,MAAM,CAAC4B,cAAc,EAAEuL,SAAS,CAAC;QACtD;MACF;IACF;;IAEA;IACAhD,WAAW,KAAK1U,SAAS,IAAI2U,cAAc,CAACQ,cAAc,CAAC,IAAI,CAAC;;IAEhE;IACA,IAAI,kBAAkB,IAAIhF,OAAO,EAAE;MACjC/L,0DAAK,CAAC9F,OAAO,CAACqW,cAAc,CAAC5L,MAAM,CAAC,CAAC,EAAE,SAAS6O,gBAAgBA,CAACC,GAAG,EAAE1T,GAAG,EAAE;QACzEgM,OAAO,CAACyH,gBAAgB,CAACzT,GAAG,EAAE0T,GAAG,CAAC;MACpC,CAAC,CAAC;IACJ;;IAEA;IACA,IAAI,CAACzT,0DAAK,CAAC2G,WAAW,CAACR,MAAM,CAACuB,eAAe,CAAC,EAAE;MAC9CqE,OAAO,CAACrE,eAAe,GAAG,CAAC,CAACvB,MAAM,CAACuB,eAAe;IACpD;;IAEA;IACA,IAAIG,YAAY,IAAIA,YAAY,KAAK,MAAM,EAAE;MAC3CkE,OAAO,CAAClE,YAAY,GAAG1B,MAAM,CAAC0B,YAAY;IAC5C;;IAEA;IACA,IAAI,OAAO1B,MAAM,CAAC8B,kBAAkB,KAAK,UAAU,EAAE;MACnD8D,OAAO,CAAC2H,gBAAgB,CAAC,UAAU,EAAE1E,oBAAoB,CAAC7I,MAAM,CAAC8B,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC7F;;IAEA;IACA,IAAI,OAAO9B,MAAM,CAAC6B,gBAAgB,KAAK,UAAU,IAAI+D,OAAO,CAAC4H,MAAM,EAAE;MACnE5H,OAAO,CAAC4H,MAAM,CAACD,gBAAgB,CAAC,UAAU,EAAE1E,oBAAoB,CAAC7I,MAAM,CAAC6B,gBAAgB,CAAC,CAAC;IAC5F;IAEA,IAAI7B,MAAM,CAACsC,WAAW,IAAItC,MAAM,CAACwK,MAAM,EAAE;MACvC;MACA;MACAH,UAAU,GAAGoD,MAAM,IAAI;QACrB,IAAI,CAAC7H,OAAO,EAAE;UACZ;QACF;QACAsE,MAAM,CAAC,CAACuD,MAAM,IAAIA,MAAM,CAACzZ,IAAI,GAAG,IAAI0U,0EAAa,CAAC,IAAI,EAAE1I,MAAM,EAAE4F,OAAO,CAAC,GAAG6H,MAAM,CAAC;QAClF7H,OAAO,CAAC8H,KAAK,CAAC,CAAC;QACf9H,OAAO,GAAG,IAAI;MAChB,CAAC;MAED5F,MAAM,CAACsC,WAAW,IAAItC,MAAM,CAACsC,WAAW,CAACqL,SAAS,CAACtD,UAAU,CAAC;MAC9D,IAAIrK,MAAM,CAACwK,MAAM,EAAE;QACjBxK,MAAM,CAACwK,MAAM,CAACoD,OAAO,GAAGvD,UAAU,CAAC,CAAC,GAAGrK,MAAM,CAACwK,MAAM,CAAC+C,gBAAgB,CAAC,OAAO,EAAElD,UAAU,CAAC;MAC5F;IACF;IAEA,MAAM3G,QAAQ,GAAGiF,+EAAa,CAAC4C,QAAQ,CAAC;IAExC,IAAI7H,QAAQ,IAAIb,mEAAQ,CAACgL,SAAS,CAACpS,OAAO,CAACiI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;MAC3DwG,MAAM,CAAC,IAAIrW,qEAAU,CAAC,uBAAuB,GAAG6P,QAAQ,GAAG,GAAG,EAAE7P,qEAAU,CAACia,eAAe,EAAE9N,MAAM,CAAC,CAAC;MACpG;IACF;;IAGA;IACA4F,OAAO,CAACmI,IAAI,CAAC5D,WAAW,IAAI,IAAI,CAAC;EACnC,CAAC,CAAC;AACJ,CAAC;;;;;;;;ACnQY;AACb,WAAW,mBAAO,CAAC,IAAoC;AACvD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,oBAAoB,mBAAO,CAAC,IAAqC;AACjE,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,4DAA4D,gBAAgB;AAC5E;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;;;ACpEa;;AAAA;AAAA;AAAA;AAEqB;AAElC,MAAM6D,kBAAkB,CAAC;EACvBrR,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACsR,QAAQ,GAAG,EAAE;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,GAAGA,CAACC,SAAS,EAAEC,QAAQ,EAAEnZ,OAAO,EAAE;IAChC,IAAI,CAACgZ,QAAQ,CAAChG,IAAI,CAAC;MACjBkG,SAAS;MACTC,QAAQ;MACRC,WAAW,EAAEpZ,OAAO,GAAGA,OAAO,CAACoZ,WAAW,GAAG,KAAK;MAClDC,OAAO,EAAErZ,OAAO,GAAGA,OAAO,CAACqZ,OAAO,GAAG;IACvC,CAAC,CAAC;IACF,OAAO,IAAI,CAACL,QAAQ,CAAC1Y,MAAM,GAAG,CAAC;EACjC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEgZ,KAAKA,CAACC,EAAE,EAAE;IACR,IAAI,IAAI,CAACP,QAAQ,CAACO,EAAE,CAAC,EAAE;MACrB,IAAI,CAACP,QAAQ,CAACO,EAAE,CAAC,GAAG,IAAI;IAC1B;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEtQ,KAAKA,CAAA,EAAG;IACN,IAAI,IAAI,CAAC+P,QAAQ,EAAE;MACjB,IAAI,CAACA,QAAQ,GAAG,EAAE;IACpB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEla,OAAOA,CAAC0a,EAAE,EAAE;IACV5U,0DAAK,CAAC9F,OAAO,CAAC,IAAI,CAACka,QAAQ,EAAE,SAASS,cAAcA,CAACC,CAAC,EAAE;MACtD,IAAIA,CAAC,KAAK,IAAI,EAAE;QACdF,EAAE,CAACE,CAAC,CAAC;MACP;IACF,CAAC,CAAC;EACJ;AACF;AAEA,sDAAeX,kBAAkB;;;;;;;;ACtEpB;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,oBAAoB,mBAAO,CAAC,IAA+B;AAC3D,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,eAAe,mBAAO,CAAC,GAAyB;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,uBAAuB,YAAY;AACrE,IAAI;AACJ;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,GAAG;;;;;;;;;AC7BU;AACb,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACH/B;AACA;AACA;AACA;AACA;AAC+c;AAC7a;AAC0T;AAE5V,IAAI4D,MAAM,GAAG,KAAK,CAAC;AACnB,MAAMC,EAAE,GAAG,OAAO3N,MAAM,KAAK,WAAW,IAAIA,MAAM,CAAC4N,YAAY;AAC/D,IAAID,EAAE,EAAE;EACN,IAAI;IACFD,MAAM,GAAG,eAAgBC,EAAE,CAACE,YAAY,CAAC,KAAK,EAAE;MAC9CC,UAAU,EAAG1E,GAAG,IAAKA;IACvB,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOpE,CAAC,EAAE;IACV,MAAyC,IAAInU,CAAiD;EAChG;AACF;AACA,MAAMqd,mBAAmB,GAAGR,MAAM,GAAItE,GAAG,IAAKsE,MAAM,CAACI,UAAU,CAAC1E,GAAG,CAAC,GAAIA,GAAG,IAAKA,GAAG;AACnF,MAAM+E,KAAK,GAAG,4BAA4B;AAC1C,MAAMC,QAAQ,GAAG,oCAAoC;AACrD,MAAMC,GAAG,GAAG,OAAOnP,QAAQ,KAAK,WAAW,GAAGA,QAAQ,GAAG,IAAI;AAC7D,MAAMoP,iBAAiB,GAAGD,GAAG,IAAI,eAAgBA,GAAG,CAAClP,aAAa,CAAC,UAAU,CAAC;AAC9E,MAAMoP,OAAO,GAAG;EACdC,MAAM,EAAEA,CAACC,KAAK,EAAEC,MAAM,EAAEC,MAAM,KAAK;IACjCD,MAAM,CAACE,YAAY,CAACH,KAAK,EAAEE,MAAM,IAAI,IAAI,CAAC;EAC5C,CAAC;EACDE,MAAM,EAAGJ,KAAK,IAAK;IACjB,MAAMC,MAAM,GAAGD,KAAK,CAACK,UAAU;IAC/B,IAAIJ,MAAM,EAAE;MACVA,MAAM,CAACK,WAAW,CAACN,KAAK,CAAC;IAC3B;EACF,CAAC;EACDtP,aAAa,EAAEA,CAAC6P,GAAG,EAAEC,SAAS,EAAEC,EAAE,EAAEC,KAAK,KAAK;IAC5C,MAAMC,EAAE,GAAGH,SAAS,KAAK,KAAK,GAAGZ,GAAG,CAACgB,eAAe,CAAClB,KAAK,EAAEa,GAAG,CAAC,GAAGC,SAAS,KAAK,QAAQ,GAAGZ,GAAG,CAACgB,eAAe,CAACjB,QAAQ,EAAEY,GAAG,CAAC,GAAGE,EAAE,GAAGb,GAAG,CAAClP,aAAa,CAAC6P,GAAG,EAAE;MAAEE;IAAG,CAAC,CAAC,GAAGb,GAAG,CAAClP,aAAa,CAAC6P,GAAG,CAAC;IAC7L,IAAIA,GAAG,KAAK,QAAQ,IAAIG,KAAK,IAAIA,KAAK,CAACG,QAAQ,IAAI,IAAI,EAAE;MACvDF,EAAE,CAAC7P,YAAY,CAAC,UAAU,EAAE4P,KAAK,CAACG,QAAQ,CAAC;IAC7C;IACA,OAAOF,EAAE;EACX,CAAC;EACDG,UAAU,EAAGC,IAAI,IAAKnB,GAAG,CAACoB,cAAc,CAACD,IAAI,CAAC;EAC9CE,aAAa,EAAGF,IAAI,IAAKnB,GAAG,CAACqB,aAAa,CAACF,IAAI,CAAC;EAChDG,OAAO,EAAEA,CAACC,IAAI,EAAEJ,IAAI,KAAK;IACvBI,IAAI,CAACC,SAAS,GAAGL,IAAI;EACvB,CAAC;EACDM,cAAc,EAAEA,CAACV,EAAE,EAAEI,IAAI,KAAK;IAC5BJ,EAAE,CAACW,WAAW,GAAGP,IAAI;EACvB,CAAC;EACDV,UAAU,EAAGc,IAAI,IAAKA,IAAI,CAACd,UAAU;EACrCkB,WAAW,EAAGJ,IAAI,IAAKA,IAAI,CAACI,WAAW;EACvCC,aAAa,EAAGC,QAAQ,IAAK7B,GAAG,CAAC4B,aAAa,CAACC,QAAQ,CAAC;EACxDC,UAAUA,CAACf,EAAE,EAAE9E,EAAE,EAAE;IACjB8E,EAAE,CAAC7P,YAAY,CAAC+K,EAAE,EAAE,EAAE,CAAC;EACzB,CAAC;EACD;EACA;EACA;EACA;EACA8F,mBAAmBA,CAACC,OAAO,EAAE3B,MAAM,EAAEC,MAAM,EAAEM,SAAS,EAAEqB,KAAK,EAAEC,GAAG,EAAE;IAClE,MAAMC,MAAM,GAAG7B,MAAM,GAAGA,MAAM,CAAC8B,eAAe,GAAG/B,MAAM,CAACgC,SAAS;IACjE,IAAIJ,KAAK,KAAKA,KAAK,KAAKC,GAAG,IAAID,KAAK,CAACN,WAAW,CAAC,EAAE;MACjD,OAAO,IAAI,EAAE;QACXtB,MAAM,CAACE,YAAY,CAAC0B,KAAK,CAACK,SAAS,CAAC,IAAI,CAAC,EAAEhC,MAAM,CAAC;QAClD,IAAI2B,KAAK,KAAKC,GAAG,IAAI,EAAED,KAAK,GAAGA,KAAK,CAACN,WAAW,CAAC,EAAE;MACrD;IACF,CAAC,MAAM;MACL1B,iBAAiB,CAACsC,SAAS,GAAG1C,mBAAmB,CAC/Ce,SAAS,KAAK,KAAK,GAAG,QAAQoB,OAAO,QAAQ,GAAGpB,SAAS,KAAK,QAAQ,GAAG,SAASoB,OAAO,SAAS,GAAGA,OACvG,CAAC;MACD,MAAMQ,QAAQ,GAAGvC,iBAAiB,CAAC+B,OAAO;MAC1C,IAAIpB,SAAS,KAAK,KAAK,IAAIA,SAAS,KAAK,QAAQ,EAAE;QACjD,MAAM6B,OAAO,GAAGD,QAAQ,CAACE,UAAU;QACnC,OAAOD,OAAO,CAACC,UAAU,EAAE;UACzBF,QAAQ,CAACG,WAAW,CAACF,OAAO,CAACC,UAAU,CAAC;QAC1C;QACAF,QAAQ,CAAC9B,WAAW,CAAC+B,OAAO,CAAC;MAC/B;MACApC,MAAM,CAACE,YAAY,CAACiC,QAAQ,EAAElC,MAAM,CAAC;IACvC;IACA,OAAO;IACL;IACA6B,MAAM,GAAGA,MAAM,CAACR,WAAW,GAAGtB,MAAM,CAACqC,UAAU;IAC/C;IACApC,MAAM,GAAGA,MAAM,CAAC8B,eAAe,GAAG/B,MAAM,CAACgC,SAAS,CACnD;EACH;AACF,CAAC;AAED,MAAMO,UAAU,GAAG,YAAY;AAC/B,MAAMC,SAAS,GAAG,WAAW;AAC7B,MAAMC,MAAM,GAAGrb,MAAM,CAAC,MAAM,CAAC;AAC7B,MAAMsb,4BAA4B,GAAG;EACnC7Q,IAAI,EAAEtK,MAAM;EACZnG,IAAI,EAAEmG,MAAM;EACZob,GAAG,EAAE;IACHvhB,IAAI,EAAEgX,OAAO;IACbwK,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE,CAACtb,MAAM,EAAEiL,MAAM,EAAE9P,MAAM,CAAC;EAClCogB,cAAc,EAAEvb,MAAM;EACtBwb,gBAAgB,EAAExb,MAAM;EACxByb,YAAY,EAAEzb,MAAM;EACpB0b,eAAe,EAAE1b,MAAM;EACvB2b,iBAAiB,EAAE3b,MAAM;EACzB4b,aAAa,EAAE5b,MAAM;EACrB6b,cAAc,EAAE7b,MAAM;EACtB8b,gBAAgB,EAAE9b,MAAM;EACxB+b,YAAY,EAAE/b;AAChB,CAAC;AACD,MAAMgc,yBAAyB,GAAG,eAAgB5F,8DAAM,CACtD,CAAC,CAAC,EACFzB,uFAA6B,EAC7BwG,4BACF,CAAC;AACD,MAAMc,UAAU,GAAIC,CAAC,IAAK;EACxBA,CAAC,CAACC,WAAW,GAAG,YAAY;EAC5BD,CAAC,CAAChD,KAAK,GAAG8C,yBAAyB;EACnC,OAAOE,CAAC;AACV,CAAC;AACD,MAAME,UAAU,GAAG,eAAgBH,gDAAAA,UAAU,CAC3C,CAAC/C,KAAK,EAAE;EAAEmD;AAAM,CAAC,KAAK7H,CAAC,CAACC,cAAc,EAAE6H,sBAAsB,CAACpD,KAAK,CAAC,EAAEmD,KAAK,CAC9E,CAAC;AACD,MAAME,QAAQ,GAAGA,CAACjP,IAAI,EAAEkP,IAAI,GAAG,EAAE,KAAK;EACpC,IAAIpc,+DAAO,CAACkN,IAAI,CAAC,EAAE;IACjBA,IAAI,CAAC1T,OAAO,CAAE6iB,EAAE,IAAKA,EAAE,CAAC,GAAGD,IAAI,CAAC,CAAC;EACnC,CAAC,MAAM,IAAIlP,IAAI,EAAE;IACfA,IAAI,CAAC,GAAGkP,IAAI,CAAC;EACf;AACF,CAAC;AACD,MAAME,mBAAmB,GAAIpP,IAAI,IAAK;EACpC,OAAOA,IAAI,GAAGlN,+DAAO,CAACkN,IAAI,CAAC,GAAGA,IAAI,CAACqP,IAAI,CAAEF,EAAE,IAAKA,EAAE,CAACrhB,MAAM,GAAG,CAAC,CAAC,GAAGkS,IAAI,CAAClS,MAAM,GAAG,CAAC,GAAG,KAAK;AAC1F,CAAC;AACD,SAASkhB,sBAAsBA,CAACM,QAAQ,EAAE;EACxC,MAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,KAAK,MAAMpd,GAAG,IAAImd,QAAQ,EAAE;IAC1B,IAAI,EAAEnd,GAAG,IAAI0b,4BAA4B,CAAC,EAAE;MAC1C0B,SAAS,CAACpd,GAAG,CAAC,GAAGmd,QAAQ,CAACnd,GAAG,CAAC;IAChC;EACF;EACA,IAAImd,QAAQ,CAACxB,GAAG,KAAK,KAAK,EAAE;IAC1B,OAAOyB,SAAS;EAClB;EACA,MAAM;IACJvS,IAAI,GAAG,GAAG;IACVzQ,IAAI;IACJyhB,QAAQ;IACRC,cAAc,GAAG,GAAGjR,IAAI,aAAa;IACrCkR,gBAAgB,GAAG,GAAGlR,IAAI,eAAe;IACzCmR,YAAY,GAAG,GAAGnR,IAAI,WAAW;IACjCoR,eAAe,GAAGH,cAAc;IAChCI,iBAAiB,GAAGH,gBAAgB;IACpCI,aAAa,GAAGH,YAAY;IAC5BI,cAAc,GAAG,GAAGvR,IAAI,aAAa;IACrCwR,gBAAgB,GAAG,GAAGxR,IAAI,eAAe;IACzCyR,YAAY,GAAG,GAAGzR,IAAI;EACxB,CAAC,GAAGsS,QAAQ;EACZ,MAAME,SAAS,GAAGC,iBAAiB,CAACzB,QAAQ,CAAC;EAC7C,MAAM0B,aAAa,GAAGF,SAAS,IAAIA,SAAS,CAAC,CAAC,CAAC;EAC/C,MAAMG,aAAa,GAAGH,SAAS,IAAIA,SAAS,CAAC,CAAC,CAAC;EAC/C,MAAM;IACJI,aAAa;IACbC,OAAO;IACPC,gBAAgB;IAChBC,OAAO;IACPC,gBAAgB;IAChBC,cAAc,GAAGL,aAAa;IAC9BM,QAAQ,GAAGL,OAAO;IAClBM,iBAAiB,GAAGL;EACtB,CAAC,GAAGP,SAAS;EACb,MAAMa,WAAW,GAAGA,CAACvE,EAAE,EAAEwE,QAAQ,EAAExN,IAAI,EAAEyN,WAAW,KAAK;IACvDzE,EAAE,CAAC0E,eAAe,GAAGD,WAAW;IAChCE,qBAAqB,CAAC3E,EAAE,EAAEwE,QAAQ,GAAG/B,aAAa,GAAGH,YAAY,CAAC;IAClEqC,qBAAqB,CAAC3E,EAAE,EAAEwE,QAAQ,GAAGhC,iBAAiB,GAAGH,gBAAgB,CAAC;IAC1ErL,IAAI,IAAIA,IAAI,CAAC,CAAC;EAChB,CAAC;EACD,MAAM4N,WAAW,GAAGA,CAAC5E,EAAE,EAAEhJ,IAAI,KAAK;IAChCgJ,EAAE,CAAC6E,UAAU,GAAG,KAAK;IACrBF,qBAAqB,CAAC3E,EAAE,EAAE0C,cAAc,CAAC;IACzCiC,qBAAqB,CAAC3E,EAAE,EAAE4C,YAAY,CAAC;IACvC+B,qBAAqB,CAAC3E,EAAE,EAAE2C,gBAAgB,CAAC;IAC3C3L,IAAI,IAAIA,IAAI,CAAC,CAAC;EAChB,CAAC;EACD,MAAM8N,aAAa,GAAIN,QAAQ,IAAK;IAClC,OAAO,CAACxE,EAAE,EAAEhJ,IAAI,KAAK;MACnB,MAAM7C,IAAI,GAAGqQ,QAAQ,GAAGH,QAAQ,GAAGL,OAAO;MAC1C,MAAMrN,OAAO,GAAGA,CAAA,KAAM4N,WAAW,CAACvE,EAAE,EAAEwE,QAAQ,EAAExN,IAAI,CAAC;MACrDoM,QAAQ,CAACjP,IAAI,EAAE,CAAC6L,EAAE,EAAErJ,OAAO,CAAC,CAAC;MAC7BoO,SAAS,CAAC,MAAM;QACdJ,qBAAqB,CAAC3E,EAAE,EAAEwE,QAAQ,GAAGjC,eAAe,GAAGH,cAAc,CAAC;QACtE4C,kBAAkB,CAAChF,EAAE,EAAEwE,QAAQ,GAAG/B,aAAa,GAAGH,YAAY,CAAC;QAC/D,IAAI,CAACiB,mBAAmB,CAACpP,IAAI,CAAC,EAAE;UAC9B8Q,kBAAkB,CAACjF,EAAE,EAAEtf,IAAI,EAAEmjB,aAAa,EAAElN,OAAO,CAAC;QACtD;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC;EACD,OAAOsG,8DAAM,CAACyG,SAAS,EAAE;IACvBK,aAAaA,CAAC/D,EAAE,EAAE;MAChBoD,QAAQ,CAACW,aAAa,EAAE,CAAC/D,EAAE,CAAC,CAAC;MAC7BgF,kBAAkB,CAAChF,EAAE,EAAEoC,cAAc,CAAC;MACtC4C,kBAAkB,CAAChF,EAAE,EAAEqC,gBAAgB,CAAC;IAC1C,CAAC;IACD+B,cAAcA,CAACpE,EAAE,EAAE;MACjBoD,QAAQ,CAACgB,cAAc,EAAE,CAACpE,EAAE,CAAC,CAAC;MAC9BgF,kBAAkB,CAAChF,EAAE,EAAEuC,eAAe,CAAC;MACvCyC,kBAAkB,CAAChF,EAAE,EAAEwC,iBAAiB,CAAC;IAC3C,CAAC;IACDwB,OAAO,EAAEc,aAAa,CAAC,KAAK,CAAC;IAC7BT,QAAQ,EAAES,aAAa,CAAC,IAAI,CAAC;IAC7BZ,OAAOA,CAAClE,EAAE,EAAEhJ,IAAI,EAAE;MAChBgJ,EAAE,CAAC6E,UAAU,GAAG,IAAI;MACpB,MAAMlO,OAAO,GAAGA,CAAA,KAAMiO,WAAW,CAAC5E,EAAE,EAAEhJ,IAAI,CAAC;MAC3CgO,kBAAkB,CAAChF,EAAE,EAAE0C,cAAc,CAAC;MACtC,IAAI,CAAC1C,EAAE,CAAC0E,eAAe,EAAE;QACvBQ,WAAW,CAAC,CAAC;QACbF,kBAAkB,CAAChF,EAAE,EAAE2C,gBAAgB,CAAC;MAC1C,CAAC,MAAM;QACLqC,kBAAkB,CAAChF,EAAE,EAAE2C,gBAAgB,CAAC;QACxCuC,WAAW,CAAC,CAAC;MACf;MACAH,SAAS,CAAC,MAAM;QACd,IAAI,CAAC/E,EAAE,CAAC6E,UAAU,EAAE;UAClB;QACF;QACAF,qBAAqB,CAAC3E,EAAE,EAAE0C,cAAc,CAAC;QACzCsC,kBAAkB,CAAChF,EAAE,EAAE4C,YAAY,CAAC;QACpC,IAAI,CAACW,mBAAmB,CAACW,OAAO,CAAC,EAAE;UACjCe,kBAAkB,CAACjF,EAAE,EAAEtf,IAAI,EAAEojB,aAAa,EAAEnN,OAAO,CAAC;QACtD;MACF,CAAC,CAAC;MACFyM,QAAQ,CAACc,OAAO,EAAE,CAAClE,EAAE,EAAErJ,OAAO,CAAC,CAAC;IAClC,CAAC;IACDsN,gBAAgBA,CAACjE,EAAE,EAAE;MACnBuE,WAAW,CAACvE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;MACpCoD,QAAQ,CAACa,gBAAgB,EAAE,CAACjE,EAAE,CAAC,CAAC;IAClC,CAAC;IACDsE,iBAAiBA,CAACtE,EAAE,EAAE;MACpBuE,WAAW,CAACvE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;MACnCoD,QAAQ,CAACkB,iBAAiB,EAAE,CAACtE,EAAE,CAAC,CAAC;IACnC,CAAC;IACDmE,gBAAgBA,CAACnE,EAAE,EAAE;MACnB4E,WAAW,CAAC5E,EAAE,CAAC;MACfoD,QAAQ,CAACe,gBAAgB,EAAE,CAACnE,EAAE,CAAC,CAAC;IAClC;EACF,CAAC,CAAC;AACJ;AACA,SAAS4D,iBAAiBA,CAACzB,QAAQ,EAAE;EACnC,IAAIA,QAAQ,IAAI,IAAI,EAAE;IACpB,OAAO,IAAI;EACb,CAAC,MAAM,IAAIjQ,gEAAQ,CAACiQ,QAAQ,CAAC,EAAE;IAC7B,OAAO,CAACgD,QAAQ,CAAChD,QAAQ,CAACiD,KAAK,CAAC,EAAED,QAAQ,CAAChD,QAAQ,CAACkD,KAAK,CAAC,CAAC;EAC7D,CAAC,MAAM;IACL,MAAMC,CAAC,GAAGH,QAAQ,CAAChD,QAAQ,CAAC;IAC5B,OAAO,CAACmD,CAAC,EAAEA,CAAC,CAAC;EACf;AACF;AACA,SAASH,QAAQA,CAACnL,GAAG,EAAE;EACrB,MAAMuL,GAAG,GAAGrI,gEAAQ,CAAClD,GAAG,CAAC;EACzB,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAOuL,GAAG;AACZ;AACA,SAASP,kBAAkBA,CAAChF,EAAE,EAAEwF,GAAG,EAAE;EACnCA,GAAG,CAAChO,KAAK,CAAC,KAAK,CAAC,CAAC/W,OAAO,CAAEglB,CAAC,IAAKA,CAAC,IAAIzF,EAAE,CAAC0F,SAAS,CAACC,GAAG,CAACF,CAAC,CAAC,CAAC;EACzD,CAACzF,EAAE,CAAC+B,MAAM,CAAC,KAAK/B,EAAE,CAAC+B,MAAM,CAAC,GAAG,eAAgB,IAAI6D,GAAG,CAAC,CAAC,CAAC,EAAED,GAAG,CAACH,GAAG,CAAC;AACnE;AACA,SAASb,qBAAqBA,CAAC3E,EAAE,EAAEwF,GAAG,EAAE;EACtCA,GAAG,CAAChO,KAAK,CAAC,KAAK,CAAC,CAAC/W,OAAO,CAAEglB,CAAC,IAAKA,CAAC,IAAIzF,EAAE,CAAC0F,SAAS,CAACjG,MAAM,CAACgG,CAAC,CAAC,CAAC;EAC5D,MAAMI,IAAI,GAAG7F,EAAE,CAAC+B,MAAM,CAAC;EACvB,IAAI8D,IAAI,EAAE;IACRA,IAAI,CAACpb,MAAM,CAAC+a,GAAG,CAAC;IAChB,IAAI,CAACK,IAAI,CAACC,IAAI,EAAE;MACd9F,EAAE,CAAC+B,MAAM,CAAC,GAAG,KAAK,CAAC;IACrB;EACF;AACF;AACA,SAASgD,SAASA,CAACgB,EAAE,EAAE;EACrBC,qBAAqB,CAAC,MAAM;IAC1BA,qBAAqB,CAACD,EAAE,CAAC;EAC3B,CAAC,CAAC;AACJ;AACA,IAAIE,KAAK,GAAG,CAAC;AACb,SAAShB,kBAAkBA,CAACjF,EAAE,EAAEkG,YAAY,EAAEC,eAAe,EAAExP,OAAO,EAAE;EACtE,MAAMuE,EAAE,GAAG8E,EAAE,CAACoG,MAAM,GAAG,EAAEH,KAAK;EAC9B,MAAMI,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAInL,EAAE,KAAK8E,EAAE,CAACoG,MAAM,EAAE;MACpBzP,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EACD,IAAIwP,eAAe,IAAI,IAAI,EAAE;IAC3B,OAAOlN,UAAU,CAACoN,iBAAiB,EAAEF,eAAe,CAAC;EACvD;EACA,MAAM;IAAEzlB,IAAI;IAAEqN,OAAO;IAAEuY;EAAU,CAAC,GAAGC,iBAAiB,CAACvG,EAAE,EAAEkG,YAAY,CAAC;EACxE,IAAI,CAACxlB,IAAI,EAAE;IACT,OAAOiW,OAAO,CAAC,CAAC;EAClB;EACA,MAAM6P,QAAQ,GAAG9lB,IAAI,GAAG,KAAK;EAC7B,IAAI+lB,KAAK,GAAG,CAAC;EACb,MAAMtF,GAAG,GAAGA,CAAA,KAAM;IAChBnB,EAAE,CAAC7I,mBAAmB,CAACqP,QAAQ,EAAEE,KAAK,CAAC;IACvCL,iBAAiB,CAAC,CAAC;EACrB,CAAC;EACD,MAAMK,KAAK,GAAI9Q,CAAC,IAAK;IACnB,IAAIA,CAAC,CAACjK,MAAM,KAAKqU,EAAE,IAAI,EAAEyG,KAAK,IAAIH,SAAS,EAAE;MAC3CnF,GAAG,CAAC,CAAC;IACP;EACF,CAAC;EACDlI,UAAU,CAAC,MAAM;IACf,IAAIwN,KAAK,GAAGH,SAAS,EAAE;MACrBnF,GAAG,CAAC,CAAC;IACP;EACF,CAAC,EAAEpT,OAAO,GAAG,CAAC,CAAC;EACfiS,EAAE,CAAC/F,gBAAgB,CAACuM,QAAQ,EAAEE,KAAK,CAAC;AACtC;AACA,SAASH,iBAAiBA,CAACvG,EAAE,EAAEkG,YAAY,EAAE;EAC3C,MAAMS,MAAM,GAAG/V,MAAM,CAACgW,gBAAgB,CAAC5G,EAAE,CAAC;EAC1C,MAAM6G,kBAAkB,GAAIvgB,GAAG,IAAK,CAACqgB,MAAM,CAACrgB,GAAG,CAAC,IAAI,EAAE,EAAEkR,KAAK,CAAC,IAAI,CAAC;EACnE,MAAMsP,gBAAgB,GAAGD,kBAAkB,CAAC,GAAGhF,UAAU,OAAO,CAAC;EACjE,MAAMkF,mBAAmB,GAAGF,kBAAkB,CAAC,GAAGhF,UAAU,UAAU,CAAC;EACvE,MAAMmF,iBAAiB,GAAGC,UAAU,CAACH,gBAAgB,EAAEC,mBAAmB,CAAC;EAC3E,MAAMG,eAAe,GAAGL,kBAAkB,CAAC,GAAG/E,SAAS,OAAO,CAAC;EAC/D,MAAMqF,kBAAkB,GAAGN,kBAAkB,CAAC,GAAG/E,SAAS,UAAU,CAAC;EACrE,MAAMsF,gBAAgB,GAAGH,UAAU,CAACC,eAAe,EAAEC,kBAAkB,CAAC;EACxE,IAAIzmB,IAAI,GAAG,IAAI;EACf,IAAIqN,OAAO,GAAG,CAAC;EACf,IAAIuY,SAAS,GAAG,CAAC;EACjB,IAAIJ,YAAY,KAAKrE,UAAU,EAAE;IAC/B,IAAImF,iBAAiB,GAAG,CAAC,EAAE;MACzBtmB,IAAI,GAAGmhB,UAAU;MACjB9T,OAAO,GAAGiZ,iBAAiB;MAC3BV,SAAS,GAAGS,mBAAmB,CAAC9kB,MAAM;IACxC;EACF,CAAC,MAAM,IAAIikB,YAAY,KAAKpE,SAAS,EAAE;IACrC,IAAIsF,gBAAgB,GAAG,CAAC,EAAE;MACxB1mB,IAAI,GAAGohB,SAAS;MAChB/T,OAAO,GAAGqZ,gBAAgB;MAC1Bd,SAAS,GAAGa,kBAAkB,CAACllB,MAAM;IACvC;EACF,CAAC,MAAM;IACL8L,OAAO,GAAGsZ,IAAI,CAACC,GAAG,CAACN,iBAAiB,EAAEI,gBAAgB,CAAC;IACvD1mB,IAAI,GAAGqN,OAAO,GAAG,CAAC,GAAGiZ,iBAAiB,GAAGI,gBAAgB,GAAGvF,UAAU,GAAGC,SAAS,GAAG,IAAI;IACzFwE,SAAS,GAAG5lB,IAAI,GAAGA,IAAI,KAAKmhB,UAAU,GAAGkF,mBAAmB,CAAC9kB,MAAM,GAAGklB,kBAAkB,CAACllB,MAAM,GAAG,CAAC;EACrG;EACA,MAAMslB,YAAY,GAAG7mB,IAAI,KAAKmhB,UAAU,IAAI,wBAAwB,CAACla,IAAI,CACvEkf,kBAAkB,CAAC,GAAGhF,UAAU,UAAU,CAAC,CAACvW,QAAQ,CAAC,CACvD,CAAC;EACD,OAAO;IACL5K,IAAI;IACJqN,OAAO;IACPuY,SAAS;IACTiB;EACF,CAAC;AACH;AACA,SAASN,UAAUA,CAACO,MAAM,EAAE7D,SAAS,EAAE;EACrC,OAAO6D,MAAM,CAACvlB,MAAM,GAAG0hB,SAAS,CAAC1hB,MAAM,EAAE;IACvCulB,MAAM,GAAGA,MAAM,CAACxc,MAAM,CAACwc,MAAM,CAAC;EAChC;EACA,OAAOH,IAAI,CAACC,GAAG,CAAC,GAAG3D,SAAS,CAACzc,GAAG,CAAC,CAACugB,CAAC,EAAE9mB,CAAC,KAAK+mB,IAAI,CAACD,CAAC,CAAC,GAAGC,IAAI,CAACF,MAAM,CAAC7mB,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE;AACA,SAAS+mB,IAAIA,CAACC,CAAC,EAAE;EACf,IAAIA,CAAC,KAAK,MAAM,EAAE,OAAO,CAAC;EAC1B,OAAO7V,MAAM,CAAC6V,CAAC,CAACxb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC7D,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG;AACvD;AACA,SAAS4c,WAAWA,CAAA,EAAG;EACrB,OAAOpV,QAAQ,CAAC8X,IAAI,CAACC,YAAY;AACnC;AAEA,SAASC,UAAUA,CAAC9H,EAAE,EAAE3e,KAAK,EAAE0mB,KAAK,EAAE;EACpC,MAAMC,iBAAiB,GAAGhI,EAAE,CAAC+B,MAAM,CAAC;EACpC,IAAIiG,iBAAiB,EAAE;IACrB3mB,KAAK,GAAG,CAACA,KAAK,GAAG,CAACA,KAAK,EAAE,GAAG2mB,iBAAiB,CAAC,GAAG,CAAC,GAAGA,iBAAiB,CAAC,EAAE5c,IAAI,CAAC,GAAG,CAAC;EACpF;EACA,IAAI/J,KAAK,IAAI,IAAI,EAAE;IACjB2e,EAAE,CAACiI,eAAe,CAAC,OAAO,CAAC;EAC7B,CAAC,MAAM,IAAIF,KAAK,EAAE;IAChB/H,EAAE,CAAC7P,YAAY,CAAC,OAAO,EAAE9O,KAAK,CAAC;EACjC,CAAC,MAAM;IACL2e,EAAE,CAACkI,SAAS,GAAG7mB,KAAK;EACtB;AACF;AAEA,MAAM8mB,oBAAoB,GAAGzhB,MAAM,CAAC,MAAM,CAAC;AAC3C,MAAM0hB,WAAW,GAAG1hB,MAAM,CAAC,MAAM,CAAC;AAClC,MAAM2hB,KAAK,GAAG;EACZC,WAAWA,CAACtI,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAE;IAAEknB;EAAW,CAAC,EAAE;IACzCvI,EAAE,CAACmI,oBAAoB,CAAC,GAAGnI,EAAE,CAACwI,KAAK,CAACC,OAAO,KAAK,MAAM,GAAG,EAAE,GAAGzI,EAAE,CAACwI,KAAK,CAACC,OAAO;IAC9E,IAAIF,UAAU,IAAIlnB,KAAK,EAAE;MACvBknB,UAAU,CAACG,WAAW,CAAC1I,EAAE,CAAC;IAC5B,CAAC,MAAM;MACL2I,UAAU,CAAC3I,EAAE,EAAE3e,KAAK,CAAC;IACvB;EACF,CAAC;EACDunB,OAAOA,CAAC5I,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAE;IAAEknB;EAAW,CAAC,EAAE;IACrC,IAAIA,UAAU,IAAIlnB,KAAK,EAAE;MACvBknB,UAAU,CAACnD,KAAK,CAACpF,EAAE,CAAC;IACtB;EACF,CAAC;EACD6I,OAAOA,CAAC7I,EAAE,EAAE;IAAE3e,KAAK;IAAEynB;EAAS,CAAC,EAAE;IAAEP;EAAW,CAAC,EAAE;IAC/C,IAAI,CAAClnB,KAAK,KAAK,CAACynB,QAAQ,EAAE;IAC1B,IAAIP,UAAU,EAAE;MACd,IAAIlnB,KAAK,EAAE;QACTknB,UAAU,CAACG,WAAW,CAAC1I,EAAE,CAAC;QAC1B2I,UAAU,CAAC3I,EAAE,EAAE,IAAI,CAAC;QACpBuI,UAAU,CAACnD,KAAK,CAACpF,EAAE,CAAC;MACtB,CAAC,MAAM;QACLuI,UAAU,CAAClD,KAAK,CAACrF,EAAE,EAAE,MAAM;UACzB2I,UAAU,CAAC3I,EAAE,EAAE,KAAK,CAAC;QACvB,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACL2I,UAAU,CAAC3I,EAAE,EAAE3e,KAAK,CAAC;IACvB;EACF,CAAC;EACD0nB,aAAaA,CAAC/I,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAE;IAC3BsnB,UAAU,CAAC3I,EAAE,EAAE3e,KAAK,CAAC;EACvB;AACF,CAAC;AACD,IAAI,KAAyC,EAAE,EAE9C;AACD,SAASsnB,UAAUA,CAAC3I,EAAE,EAAE3e,KAAK,EAAE;EAC7B2e,EAAE,CAACwI,KAAK,CAACC,OAAO,GAAGpnB,KAAK,GAAG2e,EAAE,CAACmI,oBAAoB,CAAC,GAAG,MAAM;EAC5DnI,EAAE,CAACoI,WAAW,CAAC,GAAG,CAAC/mB,KAAK;AAC1B;AACA,SAAS2nB,eAAeA,CAAA,EAAG;EACzBX,KAAK,CAACY,WAAW,GAAG,CAAC;IAAE5nB;EAAM,CAAC,KAAK;IACjC,IAAI,CAACA,KAAK,EAAE;MACV,OAAO;QAAEmnB,KAAK,EAAE;UAAEC,OAAO,EAAE;QAAO;MAAE,CAAC;IACvC;EACF,CAAC;AACH;AAEA,MAAMS,YAAY,GAAGxiB,MAAM,CAAC,MAAyC,GAAG,CAAc,GAAG,EAAE,CAAC;AAC5F,SAASyiB,UAAUA,CAACC,MAAM,EAAE;EAC1B,MAAMC,QAAQ,GAAG5N,kBAAkB,CAAC,CAAC;EACrC,IAAI,CAAC4N,QAAQ,EAAE;IACb,MAAyC,IAAI5nB,CAAuE;IACpH;EACF;EACA,MAAM6nB,eAAe,GAAGD,QAAQ,CAACE,EAAE,GAAG,CAACC,IAAI,GAAGJ,MAAM,CAACC,QAAQ,CAAC7U,KAAK,CAAC,KAAK;IACvEiV,KAAK,CAACje,IAAI,CACRsE,QAAQ,CAAC4Z,gBAAgB,CAAC,kBAAkBL,QAAQ,CAACM,GAAG,IAAI,CAC9D,CAAC,CAAClpB,OAAO,CAAE+f,IAAI,IAAKoJ,aAAa,CAACpJ,IAAI,EAAEgJ,IAAI,CAAC,CAAC;EAChD,CAAC;EACD,IAAI,KAAyC,EAAE,EAE9C;EACD,MAAMM,OAAO,GAAGA,CAAA,KAAM;IACpB,MAAMN,IAAI,GAAGJ,MAAM,CAACC,QAAQ,CAAC7U,KAAK,CAAC;IACnC,IAAI6U,QAAQ,CAACU,EAAE,EAAE;MACfH,aAAa,CAACP,QAAQ,CAACU,EAAE,EAAEP,IAAI,CAAC;IAClC,CAAC,MAAM;MACLQ,cAAc,CAACX,QAAQ,CAACY,OAAO,EAAET,IAAI,CAAC;IACxC;IACAF,eAAe,CAACE,IAAI,CAAC;EACvB,CAAC;EACD9N,cAAc,CAAC,MAAM;IACnBC,gBAAgB,CAACmO,OAAO,CAAC;EAC3B,CAAC,CAAC;EACFlO,SAAS,CAAC,MAAM;IACdC,KAAK,CAACiO,OAAO,EAAE3M,IAAI,EAAE;MAAE+M,KAAK,EAAE;IAAO,CAAC,CAAC;IACvC,MAAMC,EAAE,GAAG,IAAIC,gBAAgB,CAACN,OAAO,CAAC;IACxCK,EAAE,CAACE,OAAO,CAAChB,QAAQ,CAACY,OAAO,CAACjK,EAAE,CAACN,UAAU,EAAE;MAAE4K,SAAS,EAAE;IAAK,CAAC,CAAC;IAC/DxO,WAAW,CAAC,MAAMqO,EAAE,CAACI,UAAU,CAAC,CAAC,CAAC;EACpC,CAAC,CAAC;AACJ;AACA,SAASP,cAAcA,CAACQ,KAAK,EAAEhB,IAAI,EAAE;EACnC,IAAIgB,KAAK,CAACC,SAAS,GAAG,GAAG,EAAE;IACzB,MAAMC,QAAQ,GAAGF,KAAK,CAACE,QAAQ;IAC/BF,KAAK,GAAGE,QAAQ,CAACC,YAAY;IAC7B,IAAID,QAAQ,CAACE,aAAa,IAAI,CAACF,QAAQ,CAACG,WAAW,EAAE;MACnDH,QAAQ,CAACI,OAAO,CAACnW,IAAI,CAAC,MAAM;QAC1BqV,cAAc,CAACU,QAAQ,CAACC,YAAY,EAAEnB,IAAI,CAAC;MAC7C,CAAC,CAAC;IACJ;EACF;EACA,OAAOgB,KAAK,CAACO,SAAS,EAAE;IACtBP,KAAK,GAAGA,KAAK,CAACO,SAAS,CAACd,OAAO;EACjC;EACA,IAAIO,KAAK,CAACC,SAAS,GAAG,CAAC,IAAID,KAAK,CAACxK,EAAE,EAAE;IACnC4J,aAAa,CAACY,KAAK,CAACxK,EAAE,EAAEwJ,IAAI,CAAC;EAC/B,CAAC,MAAM,IAAIgB,KAAK,CAAC9pB,IAAI,KAAKqb,QAAQ,EAAE;IAClCyO,KAAK,CAACQ,QAAQ,CAACvqB,OAAO,CAAEglB,CAAC,IAAKuE,cAAc,CAACvE,CAAC,EAAE+D,IAAI,CAAC,CAAC;EACxD,CAAC,MAAM,IAAIgB,KAAK,CAAC9pB,IAAI,KAAKsb,MAAM,EAAE;IAChC,IAAI;MAAEgE,EAAE;MAAET;IAAO,CAAC,GAAGiL,KAAK;IAC1B,OAAOxK,EAAE,EAAE;MACT4J,aAAa,CAAC5J,EAAE,EAAEwJ,IAAI,CAAC;MACvB,IAAIxJ,EAAE,KAAKT,MAAM,EAAE;MACnBS,EAAE,GAAGA,EAAE,CAACY,WAAW;IACrB;EACF;AACF;AACA,SAASgJ,aAAaA,CAAC5J,EAAE,EAAEwJ,IAAI,EAAE;EAC/B,IAAIxJ,EAAE,CAACiL,QAAQ,KAAK,CAAC,EAAE;IACrB,MAAMzC,KAAK,GAAGxI,EAAE,CAACwI,KAAK;IACtB,IAAI0C,OAAO,GAAG,EAAE;IAChB,KAAK,MAAM5kB,GAAG,IAAIkjB,IAAI,EAAE;MACtBhB,KAAK,CAAC2C,WAAW,CAAC,KAAK7kB,GAAG,EAAE,EAAEkjB,IAAI,CAACljB,GAAG,CAAC,CAAC;MACxC4kB,OAAO,IAAI,KAAK5kB,GAAG,KAAKkjB,IAAI,CAACljB,GAAG,CAAC,GAAG;IACtC;IACAkiB,KAAK,CAACU,YAAY,CAAC,GAAGgC,OAAO;EAC/B;AACF;AAEA,MAAME,SAAS,GAAG,qBAAqB;AACvC,SAASC,UAAUA,CAACrL,EAAE,EAAEsL,IAAI,EAAEC,IAAI,EAAE;EAClC,MAAM/C,KAAK,GAAGxI,EAAE,CAACwI,KAAK;EACtB,MAAMgD,WAAW,GAAGtjB,gEAAQ,CAACqjB,IAAI,CAAC;EAClC,IAAIE,oBAAoB,GAAG,KAAK;EAChC,IAAIF,IAAI,IAAI,CAACC,WAAW,EAAE;IACxB,IAAIF,IAAI,EAAE;MACR,IAAI,CAACpjB,gEAAQ,CAACojB,IAAI,CAAC,EAAE;QACnB,KAAK,MAAMhlB,GAAG,IAAIglB,IAAI,EAAE;UACtB,IAAIC,IAAI,CAACjlB,GAAG,CAAC,IAAI,IAAI,EAAE;YACrBolB,QAAQ,CAAClD,KAAK,EAAEliB,GAAG,EAAE,EAAE,CAAC;UAC1B;QACF;MACF,CAAC,MAAM;QACL,KAAK,MAAMqlB,SAAS,IAAIL,IAAI,CAAC9T,KAAK,CAAC,GAAG,CAAC,EAAE;UACvC,MAAMlR,GAAG,GAAGqlB,SAAS,CAACxf,KAAK,CAAC,CAAC,EAAEwf,SAAS,CAACxjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAACrB,IAAI,CAAC,CAAC;UAC7D,IAAIykB,IAAI,CAACjlB,GAAG,CAAC,IAAI,IAAI,EAAE;YACrBolB,QAAQ,CAAClD,KAAK,EAAEliB,GAAG,EAAE,EAAE,CAAC;UAC1B;QACF;MACF;IACF;IACA,KAAK,MAAMA,GAAG,IAAIilB,IAAI,EAAE;MACtB,IAAIjlB,GAAG,KAAK,SAAS,EAAE;QACrBmlB,oBAAoB,GAAG,IAAI;MAC7B;MACAC,QAAQ,CAAClD,KAAK,EAAEliB,GAAG,EAAEilB,IAAI,CAACjlB,GAAG,CAAC,CAAC;IACjC;EACF,CAAC,MAAM;IACL,IAAIklB,WAAW,EAAE;MACf,IAAIF,IAAI,KAAKC,IAAI,EAAE;QACjB,MAAMK,UAAU,GAAGpD,KAAK,CAACU,YAAY,CAAC;QACtC,IAAI0C,UAAU,EAAE;UACdL,IAAI,IAAI,GAAG,GAAGK,UAAU;QAC1B;QACApD,KAAK,CAAC0C,OAAO,GAAGK,IAAI;QACpBE,oBAAoB,GAAGL,SAAS,CAACzjB,IAAI,CAAC4jB,IAAI,CAAC;MAC7C;IACF,CAAC,MAAM,IAAID,IAAI,EAAE;MACftL,EAAE,CAACiI,eAAe,CAAC,OAAO,CAAC;IAC7B;EACF;EACA,IAAIE,oBAAoB,IAAInI,EAAE,EAAE;IAC9BA,EAAE,CAACmI,oBAAoB,CAAC,GAAGsD,oBAAoB,GAAGjD,KAAK,CAACC,OAAO,GAAG,EAAE;IACpE,IAAIzI,EAAE,CAACoI,WAAW,CAAC,EAAE;MACnBI,KAAK,CAACC,OAAO,GAAG,MAAM;IACxB;EACF;AACF;AACA,MAAMoD,WAAW,GAAG,YAAY;AAChC,MAAMC,WAAW,GAAG,gBAAgB;AACpC,SAASJ,QAAQA,CAAClD,KAAK,EAAErX,IAAI,EAAE6I,GAAG,EAAE;EAClC,IAAI/S,+DAAO,CAAC+S,GAAG,CAAC,EAAE;IAChBA,GAAG,CAACvZ,OAAO,CAAEsrB,CAAC,IAAKL,QAAQ,CAAClD,KAAK,EAAErX,IAAI,EAAE4a,CAAC,CAAC,CAAC;EAC9C,CAAC,MAAM;IACL,IAAI/R,GAAG,IAAI,IAAI,EAAEA,GAAG,GAAG,EAAE;IACzB,IAAI,KAAyC,EAAE,EAM9C;IACD,IAAI7I,IAAI,CAAC6a,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBxD,KAAK,CAAC2C,WAAW,CAACha,IAAI,EAAE6I,GAAG,CAAC;IAC9B,CAAC,MAAM;MACL,MAAMiS,QAAQ,GAAGC,UAAU,CAAC1D,KAAK,EAAErX,IAAI,CAAC;MACxC,IAAI2a,WAAW,CAACnkB,IAAI,CAACqS,GAAG,CAAC,EAAE;QACzBwO,KAAK,CAAC2C,WAAW,CACf/N,iEAAS,CAAC6O,QAAQ,CAAC,EACnBjS,GAAG,CAAC1R,OAAO,CAACwjB,WAAW,EAAE,EAAE,CAAC,EAC5B,WACF,CAAC;MACH,CAAC,MAAM;QACLtD,KAAK,CAACyD,QAAQ,CAAC,GAAGjS,GAAG;MACvB;IACF;EACF;AACF;AACA,MAAMmS,QAAQ,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;AACxC,MAAMC,WAAW,GAAG,CAAC,CAAC;AACtB,SAASF,UAAUA,CAAC1D,KAAK,EAAE6D,OAAO,EAAE;EAClC,MAAMC,MAAM,GAAGF,WAAW,CAACC,OAAO,CAAC;EACnC,IAAIC,MAAM,EAAE;IACV,OAAOA,MAAM;EACf;EACA,IAAInb,IAAI,GAAG8K,sEAAQ,CAACoQ,OAAO,CAAC;EAC5B,IAAIlb,IAAI,KAAK,QAAQ,IAAIA,IAAI,IAAIqX,KAAK,EAAE;IACtC,OAAO4D,WAAW,CAACC,OAAO,CAAC,GAAGlb,IAAI;EACpC;EACAA,IAAI,GAAGkM,kEAAU,CAAClM,IAAI,CAAC;EACvB,KAAK,IAAIxQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwrB,QAAQ,CAAClqB,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACxC,MAAMsrB,QAAQ,GAAGE,QAAQ,CAACxrB,CAAC,CAAC,GAAGwQ,IAAI;IACnC,IAAI8a,QAAQ,IAAIzD,KAAK,EAAE;MACrB,OAAO4D,WAAW,CAACC,OAAO,CAAC,GAAGJ,QAAQ;IACxC;EACF;EACA,OAAOI,OAAO;AAChB;AAEA,MAAME,OAAO,GAAG,8BAA8B;AAC9C,SAASC,SAASA,CAACxM,EAAE,EAAE1Z,GAAG,EAAEjF,KAAK,EAAE0mB,KAAK,EAAEsB,QAAQ,EAAEoD,SAAS,GAAGjP,4EAAoB,CAAClX,GAAG,CAAC,EAAE;EACzF,IAAIyhB,KAAK,IAAIzhB,GAAG,CAAC0lB,UAAU,CAAC,QAAQ,CAAC,EAAE;IACrC,IAAI3qB,KAAK,IAAI,IAAI,EAAE;MACjB2e,EAAE,CAAC0M,iBAAiB,CAACH,OAAO,EAAEjmB,GAAG,CAAC6F,KAAK,CAAC,CAAC,EAAE7F,GAAG,CAACrE,MAAM,CAAC,CAAC;IACzD,CAAC,MAAM;MACL+d,EAAE,CAAC2M,cAAc,CAACJ,OAAO,EAAEjmB,GAAG,EAAEjF,KAAK,CAAC;IACxC;EACF,CAAC,MAAM;IACL,IAAIA,KAAK,IAAI,IAAI,IAAIorB,SAAS,IAAI,CAACnP,0EAAkB,CAACjc,KAAK,CAAC,EAAE;MAC5D2e,EAAE,CAACiI,eAAe,CAAC3hB,GAAG,CAAC;IACzB,CAAC,MAAM;MACL0Z,EAAE,CAAC7P,YAAY,CACb7J,GAAG,EACHmmB,SAAS,GAAG,EAAE,GAAGlP,gEAAQ,CAAClc,KAAK,CAAC,GAAGwF,MAAM,CAACxF,KAAK,CAAC,GAAGA,KACrD,CAAC;IACH;EACF;AACF;AAEA,SAASurB,YAAYA,CAAC5M,EAAE,EAAE1Z,GAAG,EAAEjF,KAAK,EAAEwrB,eAAe,EAAEC,QAAQ,EAAE;EAC/D,IAAIxmB,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,aAAa,EAAE;IAChD,IAAIjF,KAAK,IAAI,IAAI,EAAE;MACjB2e,EAAE,CAAC1Z,GAAG,CAAC,GAAGA,GAAG,KAAK,WAAW,GAAGwY,mBAAmB,CAACzd,KAAK,CAAC,GAAGA,KAAK;IACpE;IACA;EACF;EACA,MAAMue,GAAG,GAAGI,EAAE,CAAC+M,OAAO;EACtB,IAAIzmB,GAAG,KAAK,OAAO,IAAIsZ,GAAG,KAAK,UAAU;EAAI;EAC7C,CAACA,GAAG,CAACoN,QAAQ,CAAC,GAAG,CAAC,EAAE;IAClB,MAAMlE,QAAQ,GAAGlJ,GAAG,KAAK,QAAQ,GAAGI,EAAE,CAACiN,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAGjN,EAAE,CAAC3e,KAAK;IAC7E,MAAM6rB,QAAQ,GAAG7rB,KAAK,IAAI,IAAI;IAC5B;IACA;IACA2e,EAAE,CAACtf,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,EAAE,GAChCmG,MAAM,CAACxF,KAAK,CAAC;IACjB,IAAIynB,QAAQ,KAAKoE,QAAQ,IAAI,EAAE,QAAQ,IAAIlN,EAAE,CAAC,EAAE;MAC9CA,EAAE,CAAC3e,KAAK,GAAG6rB,QAAQ;IACrB;IACA,IAAI7rB,KAAK,IAAI,IAAI,EAAE;MACjB2e,EAAE,CAACiI,eAAe,CAAC3hB,GAAG,CAAC;IACzB;IACA0Z,EAAE,CAACpW,MAAM,GAAGvI,KAAK;IACjB;EACF;EACA,IAAI8rB,UAAU,GAAG,KAAK;EACtB,IAAI9rB,KAAK,KAAK,EAAE,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjC,MAAMX,IAAI,GAAG,OAAOsf,EAAE,CAAC1Z,GAAG,CAAC;IAC3B,IAAI5F,IAAI,KAAK,SAAS,EAAE;MACtBW,KAAK,GAAGic,0EAAkB,CAACjc,KAAK,CAAC;IACnC,CAAC,MAAM,IAAIA,KAAK,IAAI,IAAI,IAAIX,IAAI,KAAK,QAAQ,EAAE;MAC7CW,KAAK,GAAG,EAAE;MACV8rB,UAAU,GAAG,IAAI;IACnB,CAAC,MAAM,IAAIzsB,IAAI,KAAK,QAAQ,EAAE;MAC5BW,KAAK,GAAG,CAAC;MACT8rB,UAAU,GAAG,IAAI;IACnB;EACF;EACA,IAAI;IACFnN,EAAE,CAAC1Z,GAAG,CAAC,GAAGjF,KAAK;EACjB,CAAC,CAAC,OAAOuU,CAAC,EAAE;IACV,IAAI,KAAwD,EAAE,EAK7D;EACH;EACAuX,UAAU,IAAInN,EAAE,CAACiI,eAAe,CAAC6E,QAAQ,IAAIxmB,GAAG,CAAC;AACnD;AAEA,SAAS2T,gBAAgBA,CAAC+F,EAAE,EAAE1J,KAAK,EAAE8W,OAAO,EAAEzrB,OAAO,EAAE;EACrDqe,EAAE,CAAC/F,gBAAgB,CAAC3D,KAAK,EAAE8W,OAAO,EAAEzrB,OAAO,CAAC;AAC9C;AACA,SAASwV,mBAAmBA,CAAC6I,EAAE,EAAE1J,KAAK,EAAE8W,OAAO,EAAEzrB,OAAO,EAAE;EACxDqe,EAAE,CAAC7I,mBAAmB,CAACb,KAAK,EAAE8W,OAAO,EAAEzrB,OAAO,CAAC;AACjD;AACA,MAAM0rB,MAAM,GAAG3mB,MAAM,CAAC,MAAM,CAAC;AAC7B,SAAS4mB,UAAUA,CAACtN,EAAE,EAAEqM,OAAO,EAAEkB,SAAS,EAAEC,SAAS,EAAEnE,QAAQ,GAAG,IAAI,EAAE;EACtE,MAAMoE,QAAQ,GAAGzN,EAAE,CAACqN,MAAM,CAAC,KAAKrN,EAAE,CAACqN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;EAChD,MAAMK,eAAe,GAAGD,QAAQ,CAACpB,OAAO,CAAC;EACzC,IAAImB,SAAS,IAAIE,eAAe,EAAE;IAChCA,eAAe,CAACrsB,KAAK,GAAG,MAAyC,GAAGssB,CAAsC,GAAGH,SAAS;EACxH,CAAC,MAAM;IACL,MAAM,CAACrc,IAAI,EAAExP,OAAO,CAAC,GAAGisB,SAAS,CAACvB,OAAO,CAAC;IAC1C,IAAImB,SAAS,EAAE;MACb,MAAMK,OAAO,GAAGJ,QAAQ,CAACpB,OAAO,CAAC,GAAGyB,aAAa,CAC/C,MAAyC,GAAGH,CAAsC,GAAGH,SAAS,EAC9FnE,QACF,CAAC;MACDpP,gBAAgB,CAAC+F,EAAE,EAAE7O,IAAI,EAAE0c,OAAO,EAAElsB,OAAO,CAAC;IAC9C,CAAC,MAAM,IAAI+rB,eAAe,EAAE;MAC1BvW,mBAAmB,CAAC6I,EAAE,EAAE7O,IAAI,EAAEuc,eAAe,EAAE/rB,OAAO,CAAC;MACvD8rB,QAAQ,CAACpB,OAAO,CAAC,GAAG,KAAK,CAAC;IAC5B;EACF;AACF;AACA,MAAM0B,iBAAiB,GAAG,2BAA2B;AACrD,SAASH,SAASA,CAACzc,IAAI,EAAE;EACvB,IAAIxP,OAAO;EACX,IAAIosB,iBAAiB,CAACpmB,IAAI,CAACwJ,IAAI,CAAC,EAAE;IAChCxP,OAAO,GAAG,CAAC,CAAC;IACZ,IAAIqsB,CAAC;IACL,OAAOA,CAAC,GAAG7c,IAAI,CAAC3J,KAAK,CAACumB,iBAAiB,CAAC,EAAE;MACxC5c,IAAI,GAAGA,IAAI,CAAChF,KAAK,CAAC,CAAC,EAAEgF,IAAI,CAAClP,MAAM,GAAG+rB,CAAC,CAAC,CAAC,CAAC,CAAC/rB,MAAM,CAAC;MAC/CN,OAAO,CAACqsB,CAAC,CAAC,CAAC,CAAC,CAACjnB,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IACpC;EACF;EACA,MAAMuP,KAAK,GAAGnF,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAGA,IAAI,CAAChF,KAAK,CAAC,CAAC,CAAC,GAAGiR,iEAAS,CAACjM,IAAI,CAAChF,KAAK,CAAC,CAAC,CAAC,CAAC;EACxE,OAAO,CAACmK,KAAK,EAAE3U,OAAO,CAAC;AACzB;AACA,IAAIssB,SAAS,GAAG,CAAC;AACjB,MAAMC,CAAC,GAAG,eAAgBzX,OAAO,CAACE,OAAO,CAAC,CAAC;AAC3C,MAAMwX,MAAM,GAAGA,CAAA,KAAMF,SAAS,KAAKC,CAAC,CAACE,IAAI,CAAC,MAAMH,SAAS,GAAG,CAAC,CAAC,EAAEA,SAAS,GAAGI,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;AACvF,SAASR,aAAaA,CAACS,YAAY,EAAElF,QAAQ,EAAE;EAC7C,MAAMwE,OAAO,GAAIjY,CAAC,IAAK;IACrB,IAAI,CAACA,CAAC,CAAC4Y,IAAI,EAAE;MACX5Y,CAAC,CAAC4Y,IAAI,GAAGH,IAAI,CAACC,GAAG,CAAC,CAAC;IACrB,CAAC,MAAM,IAAI1Y,CAAC,CAAC4Y,IAAI,IAAIX,OAAO,CAACY,QAAQ,EAAE;MACrC;IACF;IACAvS,wFAA0B,CACxBwS,6BAA6B,CAAC9Y,CAAC,EAAEiY,OAAO,CAACxsB,KAAK,CAAC,EAC/CgoB,QAAQ,EACR,CAAC,EACD,CAACzT,CAAC,CACJ,CAAC;EACH,CAAC;EACDiY,OAAO,CAACxsB,KAAK,GAAGktB,YAAY;EAC5BV,OAAO,CAACY,QAAQ,GAAGN,MAAM,CAAC,CAAC;EAC3B,OAAON,OAAO;AAChB;AACA,SAASF,kBAAkBA,CAACtsB,KAAK,EAAEstB,QAAQ,EAAE;EAC3C,IAAI3mB,UAAU,CAAC3G,KAAK,CAAC,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IACvC,OAAOA,KAAK;EACd;EACAI,IAAI,CACF,yCAAyCktB,QAAQ;AACrD,yDAAyD,OAAOttB,KAAK,GACnE,CAAC;EACD,OAAO8b,IAAI;AACb;AACA,SAASuR,6BAA6BA,CAAC9Y,CAAC,EAAEvU,KAAK,EAAE;EAC/C,IAAI4F,+DAAO,CAAC5F,KAAK,CAAC,EAAE;IAClB,MAAMutB,YAAY,GAAGhZ,CAAC,CAACiZ,wBAAwB;IAC/CjZ,CAAC,CAACiZ,wBAAwB,GAAG,MAAM;MACjCD,YAAY,CAAC3mB,IAAI,CAAC2N,CAAC,CAAC;MACpBA,CAAC,CAACkZ,QAAQ,GAAG,IAAI;IACnB,CAAC;IACD,OAAOztB,KAAK,CAAC6F,GAAG,CACbiU,EAAE,IAAM4T,EAAE,IAAK,CAACA,EAAE,CAACD,QAAQ,IAAI3T,EAAE,IAAIA,EAAE,CAAC4T,EAAE,CAC7C,CAAC;EACH,CAAC,MAAM;IACL,OAAO1tB,KAAK;EACd;AACF;AAEA,MAAM2tB,UAAU,GAAI1oB,GAAG,IAAKA,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;AAAI;AACtF3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;AACjD,MAAMC,SAAS,GAAGA,CAAClP,EAAE,EAAE1Z,GAAG,EAAEinB,SAAS,EAAEC,SAAS,EAAE3N,SAAS,EAAEgN,eAAe,KAAK;EAC/E,MAAM9E,KAAK,GAAGlI,SAAS,KAAK,KAAK;EACjC,IAAIvZ,GAAG,KAAK,OAAO,EAAE;IACnBwhB,UAAU,CAAC9H,EAAE,EAAEwN,SAAS,EAAEzF,KAAK,CAAC;EAClC,CAAC,MAAM,IAAIzhB,GAAG,KAAK,OAAO,EAAE;IAC1B+kB,UAAU,CAACrL,EAAE,EAAEuN,SAAS,EAAEC,SAAS,CAAC;EACtC,CAAC,MAAM,IAAI/P,4DAAI,CAACnX,GAAG,CAAC,EAAE;IACpB,IAAI,CAACoX,uEAAe,CAACpX,GAAG,CAAC,EAAE;MACzBgnB,UAAU,CAACtN,EAAE,EAAE1Z,GAAG,EAAEinB,SAAS,EAAEC,SAAS,EAAEX,eAAe,CAAC;IAC5D;EACF,CAAC,MAAM,IAAIvmB,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,GAAG,GAAGA,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI7F,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,GAAG,GAAGA,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAIgjB,eAAe,CAACnP,EAAE,EAAE1Z,GAAG,EAAEknB,SAAS,EAAEzF,KAAK,CAAC,EAAE;IAClJ6E,YAAY,CAAC5M,EAAE,EAAE1Z,GAAG,EAAEknB,SAAS,CAAC;IAChC,IAAI,CAACxN,EAAE,CAAC+M,OAAO,CAACC,QAAQ,CAAC,GAAG,CAAC,KAAK1mB,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,SAAS,IAAIA,GAAG,KAAK,UAAU,CAAC,EAAE;MAC7FkmB,SAAS,CAACxM,EAAE,EAAE1Z,GAAG,EAAEknB,SAAS,EAAEzF,KAAK,EAAE8E,eAAe,EAAEvmB,GAAG,KAAK,OAAO,CAAC;IACxE;EACF,CAAC,MAAM;EACL;EACA0Z,EAAE,CAACoP,QAAQ,KAAK,OAAO,CAACznB,IAAI,CAACrB,GAAG,CAAC,IAAI,CAAC4B,gEAAQ,CAACslB,SAAS,CAAC,CAAC,EAC1D;IACAZ,YAAY,CAAC5M,EAAE,EAAErC,gEAAU,CAACrX,GAAG,CAAC,EAAEknB,SAAS,EAAEX,eAAe,EAAEvmB,GAAG,CAAC;EACpE,CAAC,MAAM;IACL,IAAIA,GAAG,KAAK,YAAY,EAAE;MACxB0Z,EAAE,CAACqP,UAAU,GAAG7B,SAAS;IAC3B,CAAC,MAAM,IAAIlnB,GAAG,KAAK,aAAa,EAAE;MAChC0Z,EAAE,CAACsP,WAAW,GAAG9B,SAAS;IAC5B;IACAhB,SAAS,CAACxM,EAAE,EAAE1Z,GAAG,EAAEknB,SAAS,EAAEzF,KAAK,CAAC;EACtC;AACF,CAAC;AACD,SAASoH,eAAeA,CAACnP,EAAE,EAAE1Z,GAAG,EAAEjF,KAAK,EAAE0mB,KAAK,EAAE;EAC9C,IAAIA,KAAK,EAAE;IACT,IAAIzhB,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,aAAa,EAAE;MAChD,OAAO,IAAI;IACb;IACA,IAAIA,GAAG,IAAI0Z,EAAE,IAAIgP,UAAU,CAAC1oB,GAAG,CAAC,IAAI0B,kEAAU,CAAC3G,KAAK,CAAC,EAAE;MACrD,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EACA,IAAIiF,GAAG,KAAK,YAAY,IAAIA,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,WAAW,EAAE;IACtE,OAAO,KAAK;EACd;EACA,IAAIA,GAAG,KAAK,MAAM,EAAE;IAClB,OAAO,KAAK;EACd;EACA,IAAIA,GAAG,KAAK,MAAM,IAAI0Z,EAAE,CAAC+M,OAAO,KAAK,OAAO,EAAE;IAC5C,OAAO,KAAK;EACd;EACA,IAAIzmB,GAAG,KAAK,MAAM,IAAI0Z,EAAE,CAAC+M,OAAO,KAAK,UAAU,EAAE;IAC/C,OAAO,KAAK;EACd;EACA,IAAIzmB,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,QAAQ,EAAE;IACvC,MAAMsZ,GAAG,GAAGI,EAAE,CAAC+M,OAAO;IACtB,IAAInN,GAAG,KAAK,KAAK,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,QAAQ,EAAE;MAC5E,OAAO,KAAK;IACd;EACF;EACA,IAAIoP,UAAU,CAAC1oB,GAAG,CAAC,IAAI4B,gEAAQ,CAAC7G,KAAK,CAAC,EAAE;IACtC,OAAO,KAAK;EACd;EACA,OAAOiF,GAAG,IAAI0Z,EAAE;AAClB;AAEA,MAAMuP,OAAO,GAAG,CAAC,CAAC;AAClB;AACA;AACA,SAASC,mBAAmBA,CAAC7tB,OAAO,EAAE8tB,YAAY,EAAEC,UAAU,EAAE;EAC9D,MAAMC,IAAI,GAAGxT,eAAe,CAACxa,OAAO,EAAE8tB,YAAY,CAAC;EACnD,IAAItlB,aAAa,CAACwlB,IAAI,CAAC,EAAE1S,MAAM,CAAC0S,IAAI,EAAEF,YAAY,CAAC;EACnD,MAAMG,gBAAgB,SAASC,UAAU,CAAC;IACxCxmB,WAAWA,CAACymB,YAAY,EAAE;MACxB,KAAK,CAACH,IAAI,EAAEG,YAAY,EAAEJ,UAAU,CAAC;IACvC;EACF;EACAE,gBAAgB,CAACG,GAAG,GAAGJ,IAAI;EAC3B,OAAOC,gBAAgB;AACzB;AACA;AACA,MAAMI,sBAAsB,GAAG,0BAA2BA,CAACruB,OAAO,EAAE8tB,YAAY,KAAK;EACnF,OAAO,eAAgBD,mBAAmB,CAAC7tB,OAAO,EAAE8tB,YAAY,EAAEQ,YAAY,CAAC;AACjF,CAAC;AACD,MAAMC,SAAS,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,MAAM,EAC1E;AACD,MAAMN,UAAU,SAASK,SAAS,CAAC;EACjC7mB,WAAWA,CAAC+mB,IAAI,EAAEC,MAAM,GAAG,CAAC,CAAC,EAAEX,UAAU,GAAGY,SAAS,EAAE;IACrD,KAAK,CAAC,CAAC;IACP,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACX,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACN,QAAQ,GAAG,IAAI;IACpB;AACJ;AACA;IACI,IAAI,CAACmB,SAAS,GAAG,IAAI;IACrB;AACJ;AACA;IACI,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB;AACJ;AACA;IACI,IAAI,CAACC,MAAM,GAAG,IAAI,CAACL,IAAI,CAACM,KAAK;IAC7B,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,SAAS,GAAG,KAAK;IACtB,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,cAAc,GAAG,eAAgB,IAAIC,OAAO,CAAC,CAAC;IACnD,IAAI,CAACC,GAAG,GAAG,IAAI;IACf,IAAI,IAAI,CAACC,UAAU,IAAIvB,UAAU,KAAKY,SAAS,EAAE;MAC/C,IAAI,CAACY,KAAK,GAAG,IAAI,CAACD,UAAU;IAC9B,CAAC,MAAM;MACL,IAAI,KAA4D,EAAE,EAIjE;MACD,IAAIb,IAAI,CAACa,UAAU,KAAK,KAAK,EAAE;QAC7B,IAAI,CAACE,YAAY,CAAC;UAAEC,IAAI,EAAE;QAAO,CAAC,CAAC;QACnC,IAAI,CAACF,KAAK,GAAG,IAAI,CAACD,UAAU;MAC9B,CAAC,MAAM;QACL,IAAI,CAACC,KAAK,GAAG,IAAI;MACnB;IACF;IACA,IAAI,CAAC,IAAI,CAACd,IAAI,CAACiB,aAAa,EAAE;MAC5B,IAAI,CAACC,aAAa,CAAC,IAAI,CAAClB,IAAI,CAAC;IAC/B;EACF;EACAmB,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAC,IAAI,CAACC,WAAW,EAAE;IACvB,IAAI,CAAC,IAAI,CAACP,UAAU,EAAE;MACpB,IAAI,CAACQ,WAAW,CAAC,CAAC;IACpB;IACA,IAAI,CAACd,UAAU,GAAG,IAAI;IACtB,IAAIrR,MAAM,GAAG,IAAI;IACjB,OAAOA,MAAM,GAAGA,MAAM,KAAKA,MAAM,CAACI,UAAU,IAAIJ,MAAM,CAACjP,IAAI,CAAC,EAAE;MAC5D,IAAIiP,MAAM,YAAYuQ,UAAU,EAAE;QAChC,IAAI,CAAC6B,OAAO,GAAGpS,MAAM;QACrB;MACF;IACF;IACA,IAAI,CAAC,IAAI,CAACiR,SAAS,EAAE;MACnB,IAAI,IAAI,CAACK,SAAS,EAAE;QAClB,IAAI,CAACe,UAAU,CAAC,CAAC;QACjB,IAAI,CAACC,OAAO,CAAC,CAAC;MAChB,CAAC,MAAM;QACL,IAAItS,MAAM,IAAIA,MAAM,CAACuS,eAAe,EAAE;UACpC,IAAI,CAACA,eAAe,GAAGvS,MAAM,CAACuS,eAAe,CAACzD,IAAI,CAAC,MAAM;YACvD,IAAI,CAACyD,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAACC,WAAW,CAAC,CAAC;UACpB,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACA,WAAW,CAAC,CAAC;QACpB;MACF;IACF;EACF;EACAH,UAAUA,CAACrS,MAAM,GAAG,IAAI,CAACoS,OAAO,EAAE;IAChC,IAAIpS,MAAM,EAAE;MACV,IAAI,CAACiR,SAAS,CAACjR,MAAM,GAAGA,MAAM,CAACiR,SAAS;MACxC,IAAI,CAACA,SAAS,CAACwB,QAAQ,GAAGzS,MAAM,CAACiR,SAAS,CAACwB,QAAQ;IACrD;EACF;EACAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACrB,UAAU,GAAG,KAAK;IACvBvU,sEAAQ,CAAC,MAAM;MACb,IAAI,CAAC,IAAI,CAACuU,UAAU,EAAE;QACpB,IAAI,IAAI,CAACK,GAAG,EAAE;UACZ,IAAI,CAACA,GAAG,CAACzG,UAAU,CAAC,CAAC;UACrB,IAAI,CAACyG,GAAG,GAAG,IAAI;QACjB;QACA,IAAI,CAACR,IAAI,IAAI,IAAI,CAACA,IAAI,CAACyB,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC1B,SAAS,EAAE,IAAI,CAACA,SAAS,CAACxG,EAAE,GAAG,KAAK,CAAC;QAC9C,IAAI,CAACyG,IAAI,GAAG,IAAI,CAACD,SAAS,GAAG,IAAI;MACnC;IACF,CAAC,CAAC;EACJ;EACA;AACF;AACA;EACEuB,WAAWA,CAAA,EAAG;IACZ,IAAI,IAAI,CAACD,eAAe,EAAE;MACxB;IACF;IACA,KAAK,IAAIlxB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACuxB,UAAU,CAACjwB,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAC/C,IAAI,CAACwxB,QAAQ,CAAC,IAAI,CAACD,UAAU,CAACvxB,CAAC,CAAC,CAACwQ,IAAI,CAAC;IACxC;IACA,IAAI,CAAC6f,GAAG,GAAG,IAAI5G,gBAAgB,CAAEgI,SAAS,IAAK;MAC7C,KAAK,MAAMpE,CAAC,IAAIoE,SAAS,EAAE;QACzB,IAAI,CAACD,QAAQ,CAACnE,CAAC,CAACqE,aAAa,CAAC;MAChC;IACF,CAAC,CAAC;IACF,IAAI,CAACrB,GAAG,CAAC3G,OAAO,CAAC,IAAI,EAAE;MAAE6H,UAAU,EAAE;IAAK,CAAC,CAAC;IAC5C,MAAMvb,OAAO,GAAGA,CAACoZ,GAAG,EAAEuC,OAAO,GAAG,KAAK,KAAK;MACxC,IAAI,CAAC1B,SAAS,GAAG,IAAI;MACrB,IAAI,CAACiB,eAAe,GAAG,KAAK,CAAC;MAC7B,MAAM;QAAE9R,KAAK;QAAE4G;MAAO,CAAC,GAAGoJ,GAAG;MAC7B,IAAIwC,WAAW;MACf,IAAIxS,KAAK,IAAI,CAAC9Y,+DAAO,CAAC8Y,KAAK,CAAC,EAAE;QAC5B,KAAK,MAAMzZ,GAAG,IAAIyZ,KAAK,EAAE;UACvB,MAAM5e,GAAG,GAAG4e,KAAK,CAACzZ,GAAG,CAAC;UACtB,IAAInF,GAAG,KAAK2Q,MAAM,IAAI3Q,GAAG,IAAIA,GAAG,CAACT,IAAI,KAAKoR,MAAM,EAAE;YAChD,IAAIxL,GAAG,IAAI,IAAI,CAAC+pB,MAAM,EAAE;cACtB,IAAI,CAACA,MAAM,CAAC/pB,GAAG,CAAC,GAAG4W,gEAAQ,CAAC,IAAI,CAACmT,MAAM,CAAC/pB,GAAG,CAAC,CAAC;YAC/C;YACA,CAACisB,WAAW,KAAKA,WAAW,GAAG,eAAgBvwB,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC,CAAC,EAAEqW,gEAAU,CAACrX,GAAG,CAAC,CAAC,GAAG,IAAI;UAC9F;QACF;MACF;MACA,IAAI,CAACuqB,YAAY,GAAG0B,WAAW;MAC/B,IAAID,OAAO,EAAE;QACX,IAAI,CAAChB,aAAa,CAACvB,GAAG,CAAC;MACzB;MACA,IAAI,IAAI,CAACkB,UAAU,EAAE;QACnB,IAAI,CAACuB,YAAY,CAAC7L,MAAM,CAAC;MAC3B,CAAC,MAAM,IAAI,KAAmD,EAAE,EAI/D;MACD,IAAI,CAAC8L,MAAM,CAAC1C,GAAG,CAAC;IAClB,CAAC;IACD,MAAM2C,QAAQ,GAAG,IAAI,CAACtC,IAAI,CAACiB,aAAa;IACxC,IAAIqB,QAAQ,EAAE;MACZ,IAAI,CAACb,eAAe,GAAGa,QAAQ,CAAC,CAAC,CAACtE,IAAI,CACnC2B,GAAG,IAAKpZ,OAAO,CAAC,IAAI,CAACyZ,IAAI,GAAGL,GAAG,EAAE,IAAI,CACxC,CAAC;IACH,CAAC,MAAM;MACLpZ,OAAO,CAAC,IAAI,CAACyZ,IAAI,CAAC;IACpB;EACF;EACAqC,MAAMA,CAAC1C,GAAG,EAAE;IACV,IAAI,KAAiF,EAAE,EAEtF;IACD,IAAI,CAACS,IAAI,GAAG,IAAI,CAACd,UAAU,CAACK,GAAG,CAAC;IAChC,IAAIA,GAAG,CAAC6C,YAAY,EAAE;MACpB7C,GAAG,CAAC6C,YAAY,CAAC,IAAI,CAACpC,IAAI,CAAC;IAC7B;IACA,IAAI,CAACA,IAAI,CAACqC,QAAQ,GAAG,IAAI,CAACC,YAAY,CAAC,CAAC;IACxC,IAAI,CAACtC,IAAI,CAACuC,KAAK,CAAC,IAAI,CAAC7B,KAAK,CAAC;IAC3B,MAAM8B,OAAO,GAAG,IAAI,CAACzC,SAAS,IAAI,IAAI,CAACA,SAAS,CAACyC,OAAO;IACxD,IAAI,CAACA,OAAO,EAAE;IACd,KAAK,MAAM1sB,GAAG,IAAI0sB,OAAO,EAAE;MACzB,IAAI,CAACpV,8DAAM,CAAC,IAAI,EAAEtX,GAAG,CAAC,EAAE;QACtBtE,MAAM,CAAC+G,cAAc,CAAC,IAAI,EAAEzC,GAAG,EAAE;UAC/B;UACA8D,GAAG,EAAEA,CAAA,KAAMiS,mEAAK,CAAC2W,OAAO,CAAC1sB,GAAG,CAAC;QAC/B,CAAC,CAAC;MACJ,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;IACH;EACF;EACAgrB,aAAaA,CAACvB,GAAG,EAAE;IACjB,MAAM;MAAEhQ;IAAM,CAAC,GAAGgQ,GAAG;IACrB,MAAMkD,gBAAgB,GAAGhsB,+DAAO,CAAC8Y,KAAK,CAAC,GAAGA,KAAK,GAAG/d,MAAM,CAACD,IAAI,CAACge,KAAK,IAAI,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAMzZ,GAAG,IAAItE,MAAM,CAACD,IAAI,CAAC,IAAI,CAAC,EAAE;MACnC,IAAIuE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI2sB,gBAAgB,CAACjG,QAAQ,CAAC1mB,GAAG,CAAC,EAAE;QACpD,IAAI,CAAC4sB,QAAQ,CAAC5sB,GAAG,EAAE,IAAI,CAACA,GAAG,CAAC,CAAC;MAC/B;IACF;IACA,KAAK,MAAMA,GAAG,IAAI2sB,gBAAgB,CAAC/rB,GAAG,CAACyW,4DAAU,CAAC,EAAE;MAClD3b,MAAM,CAAC+G,cAAc,CAAC,IAAI,EAAEzC,GAAG,EAAE;QAC/B8D,GAAGA,CAAA,EAAG;UACJ,OAAO,IAAI,CAAC+oB,QAAQ,CAAC7sB,GAAG,CAAC;QAC3B,CAAC;QACDiD,GAAGA,CAACyQ,GAAG,EAAE;UACP,IAAI,CAACkZ,QAAQ,CAAC5sB,GAAG,EAAE0T,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;QACrC;MACF,CAAC,CAAC;IACJ;EACF;EACAmY,QAAQA,CAAC7rB,GAAG,EAAE;IACZ,IAAIA,GAAG,CAAC0lB,UAAU,CAAC,SAAS,CAAC,EAAE;IAC/B,MAAMzhB,GAAG,GAAG,IAAI,CAAC6oB,YAAY,CAAC9sB,GAAG,CAAC;IAClC,IAAIjF,KAAK,GAAGkJ,GAAG,GAAG,IAAI,CAAC0iB,YAAY,CAAC3mB,GAAG,CAAC,GAAGipB,OAAO;IAClD,MAAM8D,QAAQ,GAAG1V,gEAAU,CAACrX,GAAG,CAAC;IAChC,IAAIiE,GAAG,IAAI,IAAI,CAACsmB,YAAY,IAAI,IAAI,CAACA,YAAY,CAACwC,QAAQ,CAAC,EAAE;MAC3DhyB,KAAK,GAAG6b,gEAAQ,CAAC7b,KAAK,CAAC;IACzB;IACA,IAAI,CAAC6xB,QAAQ,CAACG,QAAQ,EAAEhyB,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;EAC7C;EACA;AACF;AACA;EACE8xB,QAAQA,CAAC7sB,GAAG,EAAE;IACZ,OAAO,IAAI,CAAC+pB,MAAM,CAAC/pB,GAAG,CAAC;EACzB;EACA;AACF;AACA;EACE4sB,QAAQA,CAAC5sB,GAAG,EAAE0T,GAAG,EAAEsZ,aAAa,GAAG,IAAI,EAAEC,YAAY,GAAG,KAAK,EAAE;IAC7D,IAAIvZ,GAAG,KAAK,IAAI,CAACqW,MAAM,CAAC/pB,GAAG,CAAC,EAAE;MAC5B,IAAI0T,GAAG,KAAKuV,OAAO,EAAE;QACnB,OAAO,IAAI,CAACc,MAAM,CAAC/pB,GAAG,CAAC;MACzB,CAAC,MAAM;QACL,IAAI,CAAC+pB,MAAM,CAAC/pB,GAAG,CAAC,GAAG0T,GAAG;QACtB,IAAI1T,GAAG,KAAK,KAAK,IAAI,IAAI,CAACkqB,IAAI,EAAE;UAC9B,IAAI,CAACA,IAAI,CAACqC,QAAQ,CAACvsB,GAAG,GAAG0T,GAAG;QAC9B;MACF;MACA,IAAIuZ,YAAY,IAAI,IAAI,CAAChD,SAAS,EAAE;QAClC,IAAI,CAACqB,OAAO,CAAC,CAAC;MAChB;MACA,IAAI0B,aAAa,EAAE;QACjB,MAAMnJ,EAAE,GAAG,IAAI,CAAC6G,GAAG;QACnB7G,EAAE,IAAIA,EAAE,CAACI,UAAU,CAAC,CAAC;QACrB,IAAIvQ,GAAG,KAAK,IAAI,EAAE;UAChB,IAAI,CAAC7J,YAAY,CAACiN,iEAAS,CAAC9W,GAAG,CAAC,EAAE,EAAE,CAAC;QACvC,CAAC,MAAM,IAAI,OAAO0T,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;UAC7D,IAAI,CAAC7J,YAAY,CAACiN,iEAAS,CAAC9W,GAAG,CAAC,EAAE0T,GAAG,GAAG,EAAE,CAAC;QAC7C,CAAC,MAAM,IAAI,CAACA,GAAG,EAAE;UACf,IAAI,CAACiO,eAAe,CAAC7K,iEAAS,CAAC9W,GAAG,CAAC,CAAC;QACtC;QACA6jB,EAAE,IAAIA,EAAE,CAACE,OAAO,CAAC,IAAI,EAAE;UAAE6H,UAAU,EAAE;QAAK,CAAC,CAAC;MAC9C;IACF;EACF;EACAN,OAAOA,CAAA,EAAG;IACR4B,MAAM,CAAC,IAAI,CAACV,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC5B,KAAK,CAAC;EACzC;EACA4B,YAAYA,CAAA,EAAG;IACb,MAAMpP,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,IAAI,CAACuN,UAAU,EAAE;MACpBvN,SAAS,CAAC+P,cAAc,GAAG/P,SAAS,CAACgQ,cAAc,GAAG,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,IAAI,CAAC;IACpF;IACA,MAAMpJ,KAAK,GAAGlO,yEAAW,CAAC,IAAI,CAAC8T,IAAI,EAAEnT,8DAAM,CAACyG,SAAS,EAAE,IAAI,CAAC2M,MAAM,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,CAACE,SAAS,EAAE;MACnB/F,KAAK,CAACT,EAAE,GAAIV,QAAQ,IAAK;QACvB,IAAI,CAACkH,SAAS,GAAGlH,QAAQ;QACzBA,QAAQ,CAACU,EAAE,GAAG,IAAI;QAClBV,QAAQ,CAACwK,IAAI,GAAG,IAAI;QACpB,IAAI,KAAyC,EAAE,EAU9C;QACD,MAAMI,QAAQ,GAAGA,CAAC3d,KAAK,EAAE+M,IAAI,KAAK;UAChC,IAAI,CAAC6Q,aAAa,CAChB,IAAIC,WAAW,CACb7d,KAAK,EACLnM,qEAAa,CAACkZ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGpG,8DAAM,CAAC;YAAEmX,MAAM,EAAE/Q;UAAK,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;YAAE+Q,MAAM,EAAE/Q;UAAK,CAC9E,CACF,CAAC;QACH,CAAC;QACDgG,QAAQ,CAAC9U,IAAI,GAAG,CAAC+B,KAAK,EAAE,GAAG+M,IAAI,KAAK;UAClC4Q,QAAQ,CAAC3d,KAAK,EAAE+M,IAAI,CAAC;UACrB,IAAIjG,iEAAS,CAAC9G,KAAK,CAAC,KAAKA,KAAK,EAAE;YAC9B2d,QAAQ,CAAC7W,iEAAS,CAAC9G,KAAK,CAAC,EAAE+M,IAAI,CAAC;UAClC;QACF,CAAC;QACD,IAAI,CAACsO,UAAU,CAAC,CAAC;MACnB,CAAC;IACH;IACA,OAAOnH,KAAK;EACd;EACAgI,YAAYA,CAAC7L,MAAM,EAAE0N,KAAK,EAAE;IAC1B,IAAI,CAAC1N,MAAM,EAAE;IACb,IAAI0N,KAAK,EAAE;MACT,IAAIA,KAAK,KAAK,IAAI,CAACjE,IAAI,IAAI,IAAI,CAACU,cAAc,CAACvmB,GAAG,CAAC8pB,KAAK,CAAC,EAAE;QACzD;MACF;MACA,IAAI,CAACvD,cAAc,CAACnL,GAAG,CAAC0O,KAAK,CAAC;IAChC;IACA,MAAM3D,KAAK,GAAG,IAAI,CAACD,MAAM;IACzB,KAAK,IAAI9vB,CAAC,GAAGgmB,MAAM,CAAC1kB,MAAM,GAAG,CAAC,EAAEtB,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC3C,MAAMgnB,CAAC,GAAG7X,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;MACzC,IAAI2gB,KAAK,EAAE/I,CAAC,CAACxX,YAAY,CAAC,OAAO,EAAEugB,KAAK,CAAC;MACzC/I,CAAC,CAAChH,WAAW,GAAGgG,MAAM,CAAChmB,CAAC,CAAC;MACzB,IAAI,CAACswB,UAAU,CAACqD,OAAO,CAAC3M,CAAC,CAAC;MAC1B,IAAI,KAAyC,EAAE,EAa9C;IACH;EACF;EACA;AACF;AACA;EACE8J,WAAWA,CAAA,EAAG;IACZ,MAAMvO,KAAK,GAAG,IAAI,CAACyR,MAAM,GAAG,CAAC,CAAC;IAC9B,IAAIrP,CAAC;IACL,OAAOA,CAAC,GAAG,IAAI,CAAC3D,UAAU,EAAE;MAC1B,MAAMiT,QAAQ,GAAGtP,CAAC,CAAC2F,QAAQ,KAAK,CAAC,IAAI3F,CAAC,CAAC2H,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS;MACxE,CAAC/J,KAAK,CAAC0R,QAAQ,CAAC,KAAK1R,KAAK,CAAC0R,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAEjgB,IAAI,CAAC2Q,CAAC,CAAC;MACnD,IAAI,CAAC3F,WAAW,CAAC2F,CAAC,CAAC;IACrB;EACF;EACA;AACF;AACA;EACEqO,YAAYA,CAAA,EAAG;IACb,MAAMkB,OAAO,GAAG,CAAC,IAAI,CAACC,eAAe,IAAI,IAAI,EAAEpL,gBAAgB,CAAC,MAAM,CAAC;IACvE,MAAMqL,OAAO,GAAG,IAAI,CAACxE,SAAS,CAAC7vB,IAAI,CAACs0B,SAAS;IAC7C,KAAK,IAAIr0B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGk0B,OAAO,CAAC5yB,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACvC,MAAMs0B,CAAC,GAAGJ,OAAO,CAACl0B,CAAC,CAAC;MACpB,MAAMi0B,QAAQ,GAAGK,CAAC,CAAChI,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS;MACpD,MAAMhM,OAAO,GAAG,IAAI,CAAC0T,MAAM,CAACC,QAAQ,CAAC;MACrC,MAAMtV,MAAM,GAAG2V,CAAC,CAACvV,UAAU;MAC3B,IAAIuB,OAAO,EAAE;QACX,KAAK,MAAMqE,CAAC,IAAIrE,OAAO,EAAE;UACvB,IAAI8T,OAAO,IAAIzP,CAAC,CAAC2F,QAAQ,KAAK,CAAC,EAAE;YAC/B,MAAM/P,EAAE,GAAG6Z,OAAO,GAAG,IAAI;YACzB,MAAMG,MAAM,GAAGplB,QAAQ,CAACqlB,gBAAgB,CAAC7P,CAAC,EAAE,CAAC,CAAC;YAC9CA,CAAC,CAACnV,YAAY,CAAC+K,EAAE,EAAE,EAAE,CAAC;YACtB,IAAImE,KAAK;YACT,OAAOA,KAAK,GAAG6V,MAAM,CAACE,QAAQ,CAAC,CAAC,EAAE;cAChC/V,KAAK,CAAClP,YAAY,CAAC+K,EAAE,EAAE,EAAE,CAAC;YAC5B;UACF;UACAoE,MAAM,CAACE,YAAY,CAAC8F,CAAC,EAAE2P,CAAC,CAAC;QAC3B;MACF,CAAC,MAAM;QACL,OAAOA,CAAC,CAACtT,UAAU,EAAErC,MAAM,CAACE,YAAY,CAACyV,CAAC,CAACtT,UAAU,EAAEsT,CAAC,CAAC;MAC3D;MACA3V,MAAM,CAACK,WAAW,CAACsV,CAAC,CAAC;IACvB;EACF;EACA;AACF;AACA;EACEI,iBAAiBA,CAACC,IAAI,EAAE;IACtB,IAAI,CAAC9C,YAAY,CAAC8C,IAAI,CAAC3O,MAAM,EAAE2O,IAAI,CAAC;EACtC;EACA;AACF;AACA;EACEC,iBAAiBA,CAACD,IAAI,EAAE;IACtB,IAAI,KAAyC,EAAE,EAS9C;EACH;AACF;AACA,SAASG,OAAOA,CAACC,MAAM,EAAE;EACvB,MAAMrM,QAAQ,GAAG5N,kBAAkB,CAAC,CAAC;EACrC,MAAMuE,EAAE,GAAGqJ,QAAQ,IAAIA,QAAQ,CAACU,EAAE;EAClC,IAAI/J,EAAE,EAAE;IACN,OAAOA,EAAE;EACX,CAAC,MAAM,IAAI,KAAyC,EAAE,EAUrD;EACD,OAAO,IAAI;AACb;AACA,SAAS2V,aAAaA,CAAA,EAAG;EACvB,MAAM3V,EAAE,GAAG,MAAyC,GAAGyV,CAAwB,GAAGA,OAAO,CAAC,CAAC;EAC3F,OAAOzV,EAAE,IAAIA,EAAE,CAACiR,UAAU;AAC5B;AAEA,SAAS2E,YAAYA,CAACzkB,IAAI,GAAG,QAAQ,EAAE;EACrC;IACE,MAAMkY,QAAQ,GAAG5N,kBAAkB,CAAC,CAAC;IACrC,IAAI,CAAC4N,QAAQ,EAAE;MACb,MAAyC,IAAI5nB,CAAkD;MAC/F,OAAOoc,SAAS;IAClB;IACA,MAAMgY,OAAO,GAAGxM,QAAQ,CAAC3oB,IAAI,CAACo1B,YAAY;IAC1C,IAAI,CAACD,OAAO,EAAE;MACZ,MAAyC,IAAIp0B,CAA4D;MACzG,OAAOoc,SAAS;IAClB;IACA,MAAMkY,GAAG,GAAGF,OAAO,CAAC1kB,IAAI,CAAC;IACzB,IAAI,CAAC4kB,GAAG,EAAE;MACR,MAAyC,IAAIt0B,CAAkE;MAC/G,OAAOoc,SAAS;IAClB;IACA,OAAOkY,GAAG;EACZ;AACF;AAEA,MAAMC,WAAW,GAAG,eAAgB,IAAIC,OAAO,CAAC,CAAC;AACjD,MAAMC,cAAc,GAAG,eAAgB,IAAID,OAAO,CAAC,CAAC;AACpD,MAAME,SAAS,GAAGzvB,MAAM,CAAC,SAAS,CAAC;AACnC,MAAM0vB,UAAU,GAAG1vB,MAAM,CAAC,UAAU,CAAC;AACrC,MAAM2vB,QAAQ,GAAItT,CAAC,IAAK;EACtB,OAAOA,CAAC,CAAChD,KAAK,CAACqR,IAAI;EACnB,OAAOrO,CAAC;AACV,CAAC;AACD,MAAMuT,mBAAmB,GAAG,eAAgBD,QAAQ,CAAC;EACnDllB,IAAI,EAAE,iBAAiB;EACvB4O,KAAK,EAAE,eAAgB9C,8DAAM,CAAC,CAAC,CAAC,EAAE4F,yBAAyB,EAAE;IAC3DjD,GAAG,EAAE/Y,MAAM;IACX0vB,SAAS,EAAE1vB;EACb,CAAC,CAAC;EACF2vB,KAAKA,CAACzW,KAAK,EAAE;IAAEmD;EAAM,CAAC,EAAE;IACtB,MAAMmG,QAAQ,GAAG5N,gFAAkB,CAAC,CAAC;IACrC,MAAMgb,KAAK,GAAGla,gFAAkB,CAAC,CAAC;IAClC,IAAIma,YAAY;IAChB,IAAI1L,QAAQ;IACZxO,uEAAS,CAAC,MAAM;MACd,IAAI,CAACka,YAAY,CAACz0B,MAAM,EAAE;QACxB;MACF;MACA,MAAMs0B,SAAS,GAAGxW,KAAK,CAACwW,SAAS,IAAI,GAAGxW,KAAK,CAAC5O,IAAI,IAAI,GAAG,OAAO;MAChE,IAAI,CAACwlB,eAAe,CAClBD,YAAY,CAAC,CAAC,CAAC,CAAC1W,EAAE,EAClBqJ,QAAQ,CAACmB,KAAK,CAACxK,EAAE,EACjBuW,SACF,CAAC,EAAE;QACD;MACF;MACAG,YAAY,CAACj2B,OAAO,CAACm2B,cAAc,CAAC;MACpCF,YAAY,CAACj2B,OAAO,CAACo2B,cAAc,CAAC;MACpC,MAAMC,aAAa,GAAGJ,YAAY,CAAC5uB,MAAM,CAACivB,gBAAgB,CAAC;MAC3D7R,WAAW,CAAC,CAAC;MACb4R,aAAa,CAACr2B,OAAO,CAAEglB,CAAC,IAAK;QAC3B,MAAMzF,EAAE,GAAGyF,CAAC,CAACzF,EAAE;QACf,MAAMwI,KAAK,GAAGxI,EAAE,CAACwI,KAAK;QACtBxD,kBAAkB,CAAChF,EAAE,EAAEuW,SAAS,CAAC;QACjC/N,KAAK,CAACwO,SAAS,GAAGxO,KAAK,CAACyO,eAAe,GAAGzO,KAAK,CAAC0O,kBAAkB,GAAG,EAAE;QACvE,MAAMnR,EAAE,GAAG/F,EAAE,CAACmW,SAAS,CAAC,GAAIvgB,CAAC,IAAK;UAChC,IAAIA,CAAC,IAAIA,CAAC,CAACjK,MAAM,KAAKqU,EAAE,EAAE;YACxB;UACF;UACA,IAAI,CAACpK,CAAC,IAAI,YAAY,CAACjO,IAAI,CAACiO,CAAC,CAACuhB,YAAY,CAAC,EAAE;YAC3CnX,EAAE,CAAC7I,mBAAmB,CAAC,eAAe,EAAE4O,EAAE,CAAC;YAC3C/F,EAAE,CAACmW,SAAS,CAAC,GAAG,IAAI;YACpBxR,qBAAqB,CAAC3E,EAAE,EAAEuW,SAAS,CAAC;UACtC;QACF,CAAC;QACDvW,EAAE,CAAC/F,gBAAgB,CAAC,eAAe,EAAE8L,EAAE,CAAC;MAC1C,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,MAAM;MACX,MAAMtC,QAAQ,GAAGhH,mEAAK,CAACsD,KAAK,CAAC;MAC7B,MAAMqX,kBAAkB,GAAGjU,sBAAsB,CAACM,QAAQ,CAAC;MAC3D,IAAI7D,GAAG,GAAG6D,QAAQ,CAAC7D,GAAG,IAAI7D,kEAAQ;MAClC2a,YAAY,GAAG,EAAE;MACjB,IAAI1L,QAAQ,EAAE;QACZ,KAAK,IAAIrqB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;UACxC,MAAM0e,KAAK,GAAG2L,QAAQ,CAACrqB,CAAC,CAAC;UACzB,IAAI0e,KAAK,CAACW,EAAE,IAAIX,KAAK,CAACW,EAAE,YAAYqX,OAAO,EAAE;YAC3CX,YAAY,CAAC/hB,IAAI,CAAC0K,KAAK,CAAC;YACxB1C,gFAAkB,CAChB0C,KAAK,EACLzC,oFAAsB,CACpByC,KAAK,EACL+X,kBAAkB,EAClBX,KAAK,EACLpN,QACF,CACF,CAAC;YACD2M,WAAW,CAACzsB,GAAG,CACb8V,KAAK,EACLA,KAAK,CAACW,EAAE,CAACsX,qBAAqB,CAAC,CACjC,CAAC;UACH;QACF;MACF;MACAtM,QAAQ,GAAG9H,KAAK,CAAChB,OAAO,GAAGxF,sFAAwB,CAACwG,KAAK,CAAChB,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE;MACzE,KAAK,IAAIvhB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;QACxC,MAAM0e,KAAK,GAAG2L,QAAQ,CAACrqB,CAAC,CAAC;QACzB,IAAI0e,KAAK,CAAC/Y,GAAG,IAAI,IAAI,EAAE;UACrBqW,gFAAkB,CAChB0C,KAAK,EACLzC,oFAAsB,CAACyC,KAAK,EAAE+X,kBAAkB,EAAEX,KAAK,EAAEpN,QAAQ,CACnE,CAAC;QACH,CAAC,MAAM,IAAI,KAAgE,EAAE,EAE5E;MACH;MACA,OAAO/M,yEAAW,CAACsD,GAAG,EAAE,IAAI,EAAEoL,QAAQ,CAAC;IACzC,CAAC;EACH;AACF,CAAC,CAAC;AACF,MAAMuM,eAAe,GAAGjB,gDAAAA,mBAAmB;AAC3C,SAASM,cAAcA,CAACnR,CAAC,EAAE;EACzB,MAAMzF,EAAE,GAAGyF,CAAC,CAACzF,EAAE;EACf,IAAIA,EAAE,CAACmW,SAAS,CAAC,EAAE;IACjBnW,EAAE,CAACmW,SAAS,CAAC,CAAC,CAAC;EACjB;EACA,IAAInW,EAAE,CAACoW,UAAU,CAAC,EAAE;IAClBpW,EAAE,CAACoW,UAAU,CAAC,CAAC,CAAC;EAClB;AACF;AACA,SAASS,cAAcA,CAACpR,CAAC,EAAE;EACzByQ,cAAc,CAAC3sB,GAAG,CAACkc,CAAC,EAAEA,CAAC,CAACzF,EAAE,CAACsX,qBAAqB,CAAC,CAAC,CAAC;AACrD;AACA,SAASP,gBAAgBA,CAACtR,CAAC,EAAE;EAC3B,MAAM+R,MAAM,GAAGxB,WAAW,CAAC5rB,GAAG,CAACqb,CAAC,CAAC;EACjC,MAAMgS,MAAM,GAAGvB,cAAc,CAAC9rB,GAAG,CAACqb,CAAC,CAAC;EACpC,MAAMiS,EAAE,GAAGF,MAAM,CAACG,IAAI,GAAGF,MAAM,CAACE,IAAI;EACpC,MAAMC,EAAE,GAAGJ,MAAM,CAACK,GAAG,GAAGJ,MAAM,CAACI,GAAG;EAClC,IAAIH,EAAE,IAAIE,EAAE,EAAE;IACZ,MAAMjQ,CAAC,GAAGlC,CAAC,CAACzF,EAAE,CAACwI,KAAK;IACpBb,CAAC,CAACqP,SAAS,GAAGrP,CAAC,CAACsP,eAAe,GAAG,aAAaS,EAAE,MAAME,EAAE,KAAK;IAC9DjQ,CAAC,CAACuP,kBAAkB,GAAG,IAAI;IAC3B,OAAOzR,CAAC;EACV;AACF;AACA,SAASkR,eAAeA,CAAC3W,EAAE,EAAE8X,IAAI,EAAEvB,SAAS,EAAE;EAC5C,MAAMwB,KAAK,GAAG/X,EAAE,CAACuB,SAAS,CAAC,CAAC;EAC5B,MAAMsE,IAAI,GAAG7F,EAAE,CAAC+B,MAAM,CAAC;EACvB,IAAI8D,IAAI,EAAE;IACRA,IAAI,CAACplB,OAAO,CAAE+kB,GAAG,IAAK;MACpBA,GAAG,CAAChO,KAAK,CAAC,KAAK,CAAC,CAAC/W,OAAO,CAAEglB,CAAC,IAAKA,CAAC,IAAIsS,KAAK,CAACrS,SAAS,CAACjG,MAAM,CAACgG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;EACJ;EACA8Q,SAAS,CAAC/e,KAAK,CAAC,KAAK,CAAC,CAAC/W,OAAO,CAAEglB,CAAC,IAAKA,CAAC,IAAIsS,KAAK,CAACrS,SAAS,CAACC,GAAG,CAACF,CAAC,CAAC,CAAC;EAClEsS,KAAK,CAACvP,KAAK,CAACC,OAAO,GAAG,MAAM;EAC5B,MAAMuP,SAAS,GAAGF,IAAI,CAAC7M,QAAQ,KAAK,CAAC,GAAG6M,IAAI,GAAGA,IAAI,CAACpY,UAAU;EAC9DsY,SAAS,CAACpW,WAAW,CAACmW,KAAK,CAAC;EAC5B,MAAM;IAAExQ;EAAa,CAAC,GAAGhB,iBAAiB,CAACwR,KAAK,CAAC;EACjDC,SAAS,CAACrY,WAAW,CAACoY,KAAK,CAAC;EAC5B,OAAOxQ,YAAY;AACrB;AAEA,MAAM0Q,gBAAgB,GAAIzN,KAAK,IAAK;EAClC,MAAMrP,EAAE,GAAGqP,KAAK,CAACzK,KAAK,CAAC,qBAAqB,CAAC,IAAI,KAAK;EACtD,OAAO9Y,+DAAO,CAACkU,EAAE,CAAC,GAAI9Z,KAAK,IAAK6c,sEAAc,CAAC/C,EAAE,EAAE9Z,KAAK,CAAC,GAAG8Z,EAAE;AAChE,CAAC;AACD,SAAS+c,kBAAkBA,CAACtiB,CAAC,EAAE;EAC7BA,CAAC,CAACjK,MAAM,CAACwsB,SAAS,GAAG,IAAI;AAC3B;AACA,SAASC,gBAAgBA,CAACxiB,CAAC,EAAE;EAC3B,MAAMjK,MAAM,GAAGiK,CAAC,CAACjK,MAAM;EACvB,IAAIA,MAAM,CAACwsB,SAAS,EAAE;IACpBxsB,MAAM,CAACwsB,SAAS,GAAG,KAAK;IACxBxsB,MAAM,CAACuoB,aAAa,CAAC,IAAImE,KAAK,CAAC,OAAO,CAAC,CAAC;EAC1C;AACF;AACA,MAAMC,SAAS,GAAG5xB,MAAM,CAAC,SAAS,CAAC;AACnC,MAAM6xB,UAAU,GAAG;EACjBC,OAAOA,CAACxY,EAAE,EAAE;IAAEyY,SAAS,EAAE;MAAEC,IAAI;MAAE5xB,IAAI;MAAE8L;IAAO;EAAE,CAAC,EAAE4X,KAAK,EAAE;IACxDxK,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;IACvC,MAAMmO,YAAY,GAAG/lB,MAAM,IAAI4X,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAACrf,IAAI,KAAK,QAAQ;IAC3EuZ,gBAAgB,CAAC+F,EAAE,EAAE0Y,IAAI,GAAG,QAAQ,GAAG,OAAO,EAAG9iB,CAAC,IAAK;MACrD,IAAIA,CAAC,CAACjK,MAAM,CAACwsB,SAAS,EAAE;MACxB,IAAIS,QAAQ,GAAG5Y,EAAE,CAAC3e,KAAK;MACvB,IAAIyF,IAAI,EAAE;QACR8xB,QAAQ,GAAGA,QAAQ,CAAC9xB,IAAI,CAAC,CAAC;MAC5B;MACA,IAAI6xB,YAAY,EAAE;QAChBC,QAAQ,GAAG9a,qEAAa,CAAC8a,QAAQ,CAAC;MACpC;MACA5Y,EAAE,CAACsY,SAAS,CAAC,CAACM,QAAQ,CAAC;IACzB,CAAC,CAAC;IACF,IAAI9xB,IAAI,EAAE;MACRmT,gBAAgB,CAAC+F,EAAE,EAAE,QAAQ,EAAE,MAAM;QACnCA,EAAE,CAAC3e,KAAK,GAAG2e,EAAE,CAAC3e,KAAK,CAACyF,IAAI,CAAC,CAAC;MAC5B,CAAC,CAAC;IACJ;IACA,IAAI,CAAC4xB,IAAI,EAAE;MACTze,gBAAgB,CAAC+F,EAAE,EAAE,kBAAkB,EAAEkY,kBAAkB,CAAC;MAC5Dje,gBAAgB,CAAC+F,EAAE,EAAE,gBAAgB,EAAEoY,gBAAgB,CAAC;MACxDne,gBAAgB,CAAC+F,EAAE,EAAE,QAAQ,EAAEoY,gBAAgB,CAAC;IAClD;EACF,CAAC;EACD;EACAxP,OAAOA,CAAC5I,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAE;IACrB2e,EAAE,CAAC3e,KAAK,GAAGA,KAAK,IAAI,IAAI,GAAG,EAAE,GAAGA,KAAK;EACvC,CAAC;EACDw3B,YAAYA,CAAC7Y,EAAE,EAAE;IAAE3e,KAAK;IAAEynB,QAAQ;IAAE2P,SAAS,EAAE;MAAEC,IAAI;MAAE5xB,IAAI;MAAE8L;IAAO;EAAE,CAAC,EAAE4X,KAAK,EAAE;IAC9ExK,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;IACvC,IAAIxK,EAAE,CAACmY,SAAS,EAAE;IAClB,MAAMW,OAAO,GAAG,CAAClmB,MAAM,IAAIoN,EAAE,CAACtf,IAAI,KAAK,QAAQ,KAAK,CAAC,MAAM,CAACiH,IAAI,CAACqY,EAAE,CAAC3e,KAAK,CAAC,GAAGyc,qEAAa,CAACkC,EAAE,CAAC3e,KAAK,CAAC,GAAG2e,EAAE,CAAC3e,KAAK;IAC/G,MAAM6rB,QAAQ,GAAG7rB,KAAK,IAAI,IAAI,GAAG,EAAE,GAAGA,KAAK;IAC3C,IAAIy3B,OAAO,KAAK5L,QAAQ,EAAE;MACxB;IACF;IACA,IAAIpd,QAAQ,CAACipB,aAAa,KAAK/Y,EAAE,IAAIA,EAAE,CAACtf,IAAI,KAAK,OAAO,EAAE;MACxD,IAAIg4B,IAAI,IAAIr3B,KAAK,KAAKynB,QAAQ,EAAE;QAC9B;MACF;MACA,IAAIhiB,IAAI,IAAIkZ,EAAE,CAAC3e,KAAK,CAACyF,IAAI,CAAC,CAAC,KAAKomB,QAAQ,EAAE;QACxC;MACF;IACF;IACAlN,EAAE,CAAC3e,KAAK,GAAG6rB,QAAQ;EACrB;AACF,CAAC;AACD,MAAM8L,cAAc,GAAG;EACrB;EACAC,IAAI,EAAE,IAAI;EACVT,OAAOA,CAACxY,EAAE,EAAEkZ,CAAC,EAAE1O,KAAK,EAAE;IACpBxK,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;IACvCvQ,gBAAgB,CAAC+F,EAAE,EAAE,QAAQ,EAAE,MAAM;MACnC,MAAMmZ,UAAU,GAAGnZ,EAAE,CAACoZ,WAAW;MACjC,MAAMC,YAAY,GAAGC,QAAQ,CAACtZ,EAAE,CAAC;MACjC,MAAMuZ,OAAO,GAAGvZ,EAAE,CAACuZ,OAAO;MAC1B,MAAMnqB,MAAM,GAAG4Q,EAAE,CAACsY,SAAS,CAAC;MAC5B,IAAIrxB,+DAAO,CAACkyB,UAAU,CAAC,EAAE;QACvB,MAAMvnB,KAAK,GAAGmM,oEAAY,CAACob,UAAU,EAAEE,YAAY,CAAC;QACpD,MAAMG,KAAK,GAAG5nB,KAAK,KAAK,CAAC,CAAC;QAC1B,IAAI2nB,OAAO,IAAI,CAACC,KAAK,EAAE;UACrBpqB,MAAM,CAAC+pB,UAAU,CAACnuB,MAAM,CAACquB,YAAY,CAAC,CAAC;QACzC,CAAC,MAAM,IAAI,CAACE,OAAO,IAAIC,KAAK,EAAE;UAC5B,MAAMC,QAAQ,GAAG,CAAC,GAAGN,UAAU,CAAC;UAChCM,QAAQ,CAACC,MAAM,CAAC9nB,KAAK,EAAE,CAAC,CAAC;UACzBxC,MAAM,CAACqqB,QAAQ,CAAC;QAClB;MACF,CAAC,MAAM,IAAIzb,6DAAK,CAACmb,UAAU,CAAC,EAAE;QAC5B,MAAMQ,MAAM,GAAG,IAAI/T,GAAG,CAACuT,UAAU,CAAC;QAClC,IAAII,OAAO,EAAE;UACXI,MAAM,CAAChU,GAAG,CAAC0T,YAAY,CAAC;QAC1B,CAAC,MAAM;UACLM,MAAM,CAAClvB,MAAM,CAAC4uB,YAAY,CAAC;QAC7B;QACAjqB,MAAM,CAACuqB,MAAM,CAAC;MAChB,CAAC,MAAM;QACLvqB,MAAM,CAACwqB,gBAAgB,CAAC5Z,EAAE,EAAEuZ,OAAO,CAAC,CAAC;MACvC;IACF,CAAC,CAAC;EACJ,CAAC;EACD;EACA3Q,OAAO,EAAEiR,UAAU;EACnBhB,YAAYA,CAAC7Y,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAE;IAC/BxK,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;IACvCqP,UAAU,CAAC7Z,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,CAAC;EAChC;AACF,CAAC;AACD,SAASqP,UAAUA,CAAC7Z,EAAE,EAAE;EAAE3e,KAAK;EAAEynB;AAAS,CAAC,EAAE0B,KAAK,EAAE;EAClDxK,EAAE,CAACoZ,WAAW,GAAG/3B,KAAK;EACtB,IAAIk4B,OAAO;EACX,IAAItyB,+DAAO,CAAC5F,KAAK,CAAC,EAAE;IAClBk4B,OAAO,GAAGxb,oEAAY,CAAC1c,KAAK,EAAEmpB,KAAK,CAACzK,KAAK,CAAC1e,KAAK,CAAC,GAAG,CAAC,CAAC;EACvD,CAAC,MAAM,IAAI2c,6DAAK,CAAC3c,KAAK,CAAC,EAAE;IACvBk4B,OAAO,GAAGl4B,KAAK,CAACkJ,GAAG,CAACigB,KAAK,CAACzK,KAAK,CAAC1e,KAAK,CAAC;EACxC,CAAC,MAAM;IACL,IAAIA,KAAK,KAAKynB,QAAQ,EAAE;IACxByQ,OAAO,GAAGtb,kEAAU,CAAC5c,KAAK,EAAEu4B,gBAAgB,CAAC5Z,EAAE,EAAE,IAAI,CAAC,CAAC;EACzD;EACA,IAAIA,EAAE,CAACuZ,OAAO,KAAKA,OAAO,EAAE;IAC1BvZ,EAAE,CAACuZ,OAAO,GAAGA,OAAO;EACtB;AACF;AACA,MAAMQ,WAAW,GAAG;EAClBvB,OAAOA,CAACxY,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAEmpB,KAAK,EAAE;IAC5BxK,EAAE,CAACuZ,OAAO,GAAGtb,kEAAU,CAAC5c,KAAK,EAAEmpB,KAAK,CAACzK,KAAK,CAAC1e,KAAK,CAAC;IACjD2e,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;IACvCvQ,gBAAgB,CAAC+F,EAAE,EAAE,QAAQ,EAAE,MAAM;MACnCA,EAAE,CAACsY,SAAS,CAAC,CAACgB,QAAQ,CAACtZ,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;EACJ,CAAC;EACD6Y,YAAYA,CAAC7Y,EAAE,EAAE;IAAE3e,KAAK;IAAEynB;EAAS,CAAC,EAAE0B,KAAK,EAAE;IAC3CxK,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;IACvC,IAAInpB,KAAK,KAAKynB,QAAQ,EAAE;MACtB9I,EAAE,CAACuZ,OAAO,GAAGtb,kEAAU,CAAC5c,KAAK,EAAEmpB,KAAK,CAACzK,KAAK,CAAC1e,KAAK,CAAC;IACnD;EACF;AACF,CAAC;AACD,MAAM24B,YAAY,GAAG;EACnB;EACAf,IAAI,EAAE,IAAI;EACVT,OAAOA,CAACxY,EAAE,EAAE;IAAE3e,KAAK;IAAEo3B,SAAS,EAAE;MAAE7lB;IAAO;EAAE,CAAC,EAAE4X,KAAK,EAAE;IACnD,MAAMyP,UAAU,GAAGjc,6DAAK,CAAC3c,KAAK,CAAC;IAC/B4Y,gBAAgB,CAAC+F,EAAE,EAAE,QAAQ,EAAE,MAAM;MACnC,MAAMka,WAAW,GAAGzQ,KAAK,CAAC1d,SAAS,CAACjE,MAAM,CAACG,IAAI,CAAC+X,EAAE,CAACre,OAAO,EAAGszB,CAAC,IAAKA,CAAC,CAACkF,QAAQ,CAAC,CAACjzB,GAAG,CAC/E+tB,CAAC,IAAKriB,MAAM,GAAGkL,qEAAa,CAACwb,QAAQ,CAACrE,CAAC,CAAC,CAAC,GAAGqE,QAAQ,CAACrE,CAAC,CACzD,CAAC;MACDjV,EAAE,CAACsY,SAAS,CAAC,CACXtY,EAAE,CAACE,QAAQ,GAAG+Z,UAAU,GAAG,IAAIrU,GAAG,CAACsU,WAAW,CAAC,GAAGA,WAAW,GAAGA,WAAW,CAAC,CAAC,CAC/E,CAAC;MACDla,EAAE,CAACoa,UAAU,GAAG,IAAI;MACpBhe,sEAAQ,CAAC,MAAM;QACb4D,EAAE,CAACoa,UAAU,GAAG,KAAK;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC;IACFpa,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;EACzC,CAAC;EACD;EACA;EACA5B,OAAOA,CAAC5I,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAE;IACrBg5B,WAAW,CAACra,EAAE,EAAE3e,KAAK,CAAC;EACxB,CAAC;EACDw3B,YAAYA,CAAC7Y,EAAE,EAAEsa,QAAQ,EAAE9P,KAAK,EAAE;IAChCxK,EAAE,CAACsY,SAAS,CAAC,GAAGL,gBAAgB,CAACzN,KAAK,CAAC;EACzC,CAAC;EACD3B,OAAOA,CAAC7I,EAAE,EAAE;IAAE3e;EAAM,CAAC,EAAE;IACrB,IAAI,CAAC2e,EAAE,CAACoa,UAAU,EAAE;MAClBC,WAAW,CAACra,EAAE,EAAE3e,KAAK,CAAC;IACxB;EACF;AACF,CAAC;AACD,SAASg5B,WAAWA,CAACra,EAAE,EAAE3e,KAAK,EAAE;EAC9B,MAAMk5B,UAAU,GAAGva,EAAE,CAACE,QAAQ;EAC9B,MAAMsa,YAAY,GAAGvzB,+DAAO,CAAC5F,KAAK,CAAC;EACnC,IAAIk5B,UAAU,IAAI,CAACC,YAAY,IAAI,CAACxc,6DAAK,CAAC3c,KAAK,CAAC,EAAE;IAChD,MAAyC,IAAII,CAE5C;IACD;EACF;EACA,KAAK,IAAId,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAGza,EAAE,CAACre,OAAO,CAACM,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;IACjD,MAAM+5B,MAAM,GAAG1a,EAAE,CAACre,OAAO,CAAChB,CAAC,CAAC;IAC5B,MAAMg6B,WAAW,GAAGrB,QAAQ,CAACoB,MAAM,CAAC;IACpC,IAAIH,UAAU,EAAE;MACd,IAAIC,YAAY,EAAE;QAChB,MAAMI,UAAU,GAAG,OAAOD,WAAW;QACrC,IAAIC,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,QAAQ,EAAE;UACtDF,MAAM,CAACP,QAAQ,GAAG94B,KAAK,CAACmiB,IAAI,CAAEuI,CAAC,IAAKllB,MAAM,CAACklB,CAAC,CAAC,KAAKllB,MAAM,CAAC8zB,WAAW,CAAC,CAAC;QACxE,CAAC,MAAM;UACLD,MAAM,CAACP,QAAQ,GAAGpc,oEAAY,CAAC1c,KAAK,EAAEs5B,WAAW,CAAC,GAAG,CAAC,CAAC;QACzD;MACF,CAAC,MAAM;QACLD,MAAM,CAACP,QAAQ,GAAG94B,KAAK,CAACkJ,GAAG,CAACowB,WAAW,CAAC;MAC1C;IACF,CAAC,MAAM,IAAI1c,kEAAU,CAACqb,QAAQ,CAACoB,MAAM,CAAC,EAAEr5B,KAAK,CAAC,EAAE;MAC9C,IAAI2e,EAAE,CAAC6a,aAAa,KAAKl6B,CAAC,EAAEqf,EAAE,CAAC6a,aAAa,GAAGl6B,CAAC;MAChD;IACF;EACF;EACA,IAAI,CAAC45B,UAAU,IAAIva,EAAE,CAAC6a,aAAa,KAAK,CAAC,CAAC,EAAE;IAC1C7a,EAAE,CAAC6a,aAAa,GAAG,CAAC,CAAC;EACvB;AACF;AACA,SAASvB,QAAQA,CAACtZ,EAAE,EAAE;EACpB,OAAO,QAAQ,IAAIA,EAAE,GAAGA,EAAE,CAACpW,MAAM,GAAGoW,EAAE,CAAC3e,KAAK;AAC9C;AACA,SAASu4B,gBAAgBA,CAAC5Z,EAAE,EAAEuZ,OAAO,EAAE;EACrC,MAAMjzB,GAAG,GAAGizB,OAAO,GAAG,YAAY,GAAG,aAAa;EAClD,OAAOjzB,GAAG,IAAI0Z,EAAE,GAAGA,EAAE,CAAC1Z,GAAG,CAAC,GAAGizB,OAAO;AACtC;AACA,MAAMuB,aAAa,GAAG;EACpBtC,OAAOA,CAACxY,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAE;IAC1BuQ,aAAa,CAAC/a,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC;EACpD,CAAC;EACD5B,OAAOA,CAAC5I,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAE;IAC1BuQ,aAAa,CAAC/a,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC;EACpD,CAAC;EACDqO,YAAYA,CAAC7Y,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAEwQ,SAAS,EAAE;IAC1CD,aAAa,CAAC/a,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAEwQ,SAAS,EAAE,cAAc,CAAC;EAC9D,CAAC;EACDnS,OAAOA,CAAC7I,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAEwQ,SAAS,EAAE;IACrCD,aAAa,CAAC/a,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAEwQ,SAAS,EAAE,SAAS,CAAC;EACzD;AACF,CAAC;AACD,SAASC,mBAAmBA,CAAClO,OAAO,EAAErsB,IAAI,EAAE;EAC1C,QAAQqsB,OAAO;IACb,KAAK,QAAQ;MACX,OAAOiN,YAAY;IACrB,KAAK,UAAU;MACb,OAAOzB,UAAU;IACnB;MACE,QAAQ73B,IAAI;QACV,KAAK,UAAU;UACb,OAAOs4B,cAAc;QACvB,KAAK,OAAO;UACV,OAAOe,WAAW;QACpB;UACE,OAAOxB,UAAU;MACrB;EACJ;AACF;AACA,SAASwC,aAAaA,CAAC/a,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAEwQ,SAAS,EAAE7mB,IAAI,EAAE;EAC1D,MAAM+mB,UAAU,GAAGD,mBAAmB,CACpCjb,EAAE,CAAC+M,OAAO,EACVvC,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAACrf,IAC7B,CAAC;EACD,MAAMya,EAAE,GAAG+f,UAAU,CAAC/mB,IAAI,CAAC;EAC3BgH,EAAE,IAAIA,EAAE,CAAC6E,EAAE,EAAE8Z,OAAO,EAAEtP,KAAK,EAAEwQ,SAAS,CAAC;AACzC;AACA,SAASG,gBAAgBA,CAAA,EAAG;EAC1B5C,UAAU,CAACtP,WAAW,GAAG,CAAC;IAAE5nB;EAAM,CAAC,MAAM;IAAEA;EAAM,CAAC,CAAC;EACnD04B,WAAW,CAAC9Q,WAAW,GAAG,CAAC;IAAE5nB;EAAM,CAAC,EAAEmpB,KAAK,KAAK;IAC9C,IAAIA,KAAK,CAACzK,KAAK,IAAI9B,UAAU,CAACuM,KAAK,CAACzK,KAAK,CAAC1e,KAAK,EAAEA,KAAK,CAAC,EAAE;MACvD,OAAO;QAAEk4B,OAAO,EAAE;MAAK,CAAC;IAC1B;EACF,CAAC;EACDP,cAAc,CAAC/P,WAAW,GAAG,CAAC;IAAE5nB;EAAM,CAAC,EAAEmpB,KAAK,KAAK;IACjD,IAAIvjB,OAAO,CAAC5F,KAAK,CAAC,EAAE;MAClB,IAAImpB,KAAK,CAACzK,KAAK,IAAIhC,YAAY,CAAC1c,KAAK,EAAEmpB,KAAK,CAACzK,KAAK,CAAC1e,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;QAC9D,OAAO;UAAEk4B,OAAO,EAAE;QAAK,CAAC;MAC1B;IACF,CAAC,MAAM,IAAIvb,KAAK,CAAC3c,KAAK,CAAC,EAAE;MACvB,IAAImpB,KAAK,CAACzK,KAAK,IAAI1e,KAAK,CAACkJ,GAAG,CAACigB,KAAK,CAACzK,KAAK,CAAC1e,KAAK,CAAC,EAAE;QAC/C,OAAO;UAAEk4B,OAAO,EAAE;QAAK,CAAC;MAC1B;IACF,CAAC,MAAM,IAAIl4B,KAAK,EAAE;MAChB,OAAO;QAAEk4B,OAAO,EAAE;MAAK,CAAC;IAC1B;EACF,CAAC;EACDuB,aAAa,CAAC7R,WAAW,GAAG,CAAC6Q,OAAO,EAAEtP,KAAK,KAAK;IAC9C,IAAI,OAAOA,KAAK,CAAC9pB,IAAI,KAAK,QAAQ,EAAE;MAClC;IACF;IACA,MAAMw6B,UAAU,GAAGD,mBAAmB;IACpC;IACAzQ,KAAK,CAAC9pB,IAAI,CAAC+H,WAAW,CAAC,CAAC,EACxB+hB,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAACrf,IAC7B,CAAC;IACD,IAAIw6B,UAAU,CAACjS,WAAW,EAAE;MAC1B,OAAOiS,UAAU,CAACjS,WAAW,CAAC6Q,OAAO,EAAEtP,KAAK,CAAC;IAC/C;EACF,CAAC;AACH;AAEA,MAAM4Q,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;AACxD,MAAMC,cAAc,GAAG;EACrBC,IAAI,EAAG1lB,CAAC,IAAKA,CAAC,CAAC2lB,eAAe,CAAC,CAAC;EAChCC,OAAO,EAAG5lB,CAAC,IAAKA,CAAC,CAAC6lB,cAAc,CAAC,CAAC;EAClC/xB,IAAI,EAAGkM,CAAC,IAAKA,CAAC,CAACjK,MAAM,KAAKiK,CAAC,CAAC8lB,aAAa;EACzCC,IAAI,EAAG/lB,CAAC,IAAK,CAACA,CAAC,CAACgmB,OAAO;EACvBC,KAAK,EAAGjmB,CAAC,IAAK,CAACA,CAAC,CAACkmB,QAAQ;EACzBC,GAAG,EAAGnmB,CAAC,IAAK,CAACA,CAAC,CAAComB,MAAM;EACrBC,IAAI,EAAGrmB,CAAC,IAAK,CAACA,CAAC,CAACsmB,OAAO;EACvBvE,IAAI,EAAG/hB,CAAC,IAAK,QAAQ,IAAIA,CAAC,IAAIA,CAAC,CAACumB,MAAM,KAAK,CAAC;EAC5CC,MAAM,EAAGxmB,CAAC,IAAK,QAAQ,IAAIA,CAAC,IAAIA,CAAC,CAACumB,MAAM,KAAK,CAAC;EAC9CE,KAAK,EAAGzmB,CAAC,IAAK,QAAQ,IAAIA,CAAC,IAAIA,CAAC,CAACumB,MAAM,KAAK,CAAC;EAC7CG,KAAK,EAAEA,CAAC1mB,CAAC,EAAE6iB,SAAS,KAAK2C,eAAe,CAAC5X,IAAI,CAAEwK,CAAC,IAAKpY,CAAC,CAAC,GAAGoY,CAAC,KAAK,CAAC,IAAI,CAACyK,SAAS,CAACzL,QAAQ,CAACgB,CAAC,CAAC;AAC7F,CAAC;AACD,MAAMuO,aAAa,GAAGA,CAACphB,EAAE,EAAEsd,SAAS,KAAK;EACvC,MAAM+D,KAAK,GAAGrhB,EAAE,CAACshB,SAAS,KAAKthB,EAAE,CAACshB,SAAS,GAAG,CAAC,CAAC,CAAC;EACjD,MAAMC,QAAQ,GAAGjE,SAAS,CAACrtB,IAAI,CAAC,GAAG,CAAC;EACpC,OAAOoxB,KAAK,CAACE,QAAQ,CAAC,KAAKF,KAAK,CAACE,QAAQ,CAAC,GAAG,CAACpmB,KAAK,EAAE,GAAG+M,IAAI,KAAK;IAC/D,KAAK,IAAI1iB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG83B,SAAS,CAACx2B,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACzC,MAAMg8B,KAAK,GAAGtB,cAAc,CAAC5C,SAAS,CAAC93B,CAAC,CAAC,CAAC;MAC1C,IAAIg8B,KAAK,IAAIA,KAAK,CAACrmB,KAAK,EAAEmiB,SAAS,CAAC,EAAE;IACxC;IACA,OAAOtd,EAAE,CAAC7E,KAAK,EAAE,GAAG+M,IAAI,CAAC;EAC3B,CAAC,CAAC;AACJ,CAAC;AACD,MAAMuZ,QAAQ,GAAG;EACfC,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE,GAAG;EACVC,EAAE,EAAE,UAAU;EACdpF,IAAI,EAAE,YAAY;EAClB0E,KAAK,EAAE,aAAa;EACpBW,IAAI,EAAE,YAAY;EAClBvyB,MAAM,EAAE;AACV,CAAC;AACD,MAAMwyB,QAAQ,GAAGA,CAAC9hB,EAAE,EAAEsd,SAAS,KAAK;EAClC,MAAM+D,KAAK,GAAGrhB,EAAE,CAAC+hB,SAAS,KAAK/hB,EAAE,CAAC+hB,SAAS,GAAG,CAAC,CAAC,CAAC;EACjD,MAAMR,QAAQ,GAAGjE,SAAS,CAACrtB,IAAI,CAAC,GAAG,CAAC;EACpC,OAAOoxB,KAAK,CAACE,QAAQ,CAAC,KAAKF,KAAK,CAACE,QAAQ,CAAC,GAAIpmB,KAAK,IAAK;IACtD,IAAI,EAAE,KAAK,IAAIA,KAAK,CAAC,EAAE;MACrB;IACF;IACA,MAAM6mB,QAAQ,GAAG/f,iEAAS,CAAC9G,KAAK,CAAChQ,GAAG,CAAC;IACrC,IAAImyB,SAAS,CAACjV,IAAI,CACf4Z,CAAC,IAAKA,CAAC,KAAKD,QAAQ,IAAIP,QAAQ,CAACQ,CAAC,CAAC,KAAKD,QAC3C,CAAC,EAAE;MACD,OAAOhiB,EAAE,CAAC7E,KAAK,CAAC;IAClB;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAM+mB,eAAe,GAAG,eAAgBpgB,8DAAM,CAAC;EAAEiS;AAAU,CAAC,EAAE/P,OAAO,CAAC;AACtE,IAAIme,QAAQ;AACZ,IAAIC,gBAAgB,GAAG,KAAK;AAC5B,SAASC,cAAcA,CAAA,EAAG;EACxB,OAAOF,QAAQ,KAAKA,QAAQ,GAAGvgB,4EAAc,CAACsgB,eAAe,CAAC,CAAC;AACjE;AACA,SAASI,uBAAuBA,CAAA,EAAG;EACjCH,QAAQ,GAAGC,gBAAgB,GAAGD,QAAQ,GAAGtgB,uBAAuB,CAACqgB,eAAe,CAAC;EACjFE,gBAAgB,GAAG,IAAI;EACvB,OAAOD,QAAQ;AACjB;AACA,MAAM9J,MAAM,GAAGA,CAAC,GAAGnQ,IAAI,KAAK;EAC1Bma,cAAc,CAAC,CAAC,CAAChK,MAAM,CAAC,GAAGnQ,IAAI,CAAC;AAClC,CAAC;AACD,MAAMqa,OAAO,GAAGA,CAAC,GAAGra,IAAI,KAAK;EAC3Boa,uBAAuB,CAAC,CAAC,CAACC,OAAO,CAAC,GAAGra,IAAI,CAAC;AAC5C,CAAC;AACD,MAAMiN,SAAS,GAAGA,CAAC,GAAGjN,IAAI,KAAK;EAC7B,MAAMsa,GAAG,GAAGH,cAAc,CAAC,CAAC,CAAClN,SAAS,CAAC,GAAGjN,IAAI,CAAC;EAC/C,IAAI,KAAyC,EAAE,EAG9C;EACD,MAAM;IAAE0P;EAAM,CAAC,GAAG4K,GAAG;EACrBA,GAAG,CAAC5K,KAAK,GAAI+K,mBAAmB,IAAK;IACnC,MAAM9F,SAAS,GAAG+F,kBAAkB,CAACD,mBAAmB,CAAC;IACzD,IAAI,CAAC9F,SAAS,EAAE;IAChB,MAAMjN,SAAS,GAAG4S,GAAG,CAACK,UAAU;IAChC,IAAI,CAACh2B,kEAAU,CAAC+iB,SAAS,CAAC,IAAI,CAACA,SAAS,CAACyI,MAAM,IAAI,CAACzI,SAAS,CAACtJ,QAAQ,EAAE;MACtEsJ,SAAS,CAACtJ,QAAQ,GAAGuW,SAAS,CAACxW,SAAS;IAC1C;IACA,IAAIwW,SAAS,CAAC/M,QAAQ,KAAK,CAAC,EAAE;MAC5B+M,SAAS,CAACrX,WAAW,GAAG,EAAE;IAC5B;IACA,MAAMnM,KAAK,GAAGue,KAAK,CAACiF,SAAS,EAAE,KAAK,EAAEiG,oBAAoB,CAACjG,SAAS,CAAC,CAAC;IACtE,IAAIA,SAAS,YAAYX,OAAO,EAAE;MAChCW,SAAS,CAAC/P,eAAe,CAAC,SAAS,CAAC;MACpC+P,SAAS,CAAC7nB,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;IAC1C;IACA,OAAOqE,KAAK;EACd,CAAC;EACD,OAAOmpB,GAAG;AACZ,CAAC;AACD,MAAM1N,YAAY,GAAGA,CAAC,GAAG5M,IAAI,KAAK;EAChC,MAAMsa,GAAG,GAAGF,uBAAuB,CAAC,CAAC,CAACnN,SAAS,CAAC,GAAGjN,IAAI,CAAC;EACxD,IAAI,KAAyC,EAAE,EAG9C;EACD,MAAM;IAAE0P;EAAM,CAAC,GAAG4K,GAAG;EACrBA,GAAG,CAAC5K,KAAK,GAAI+K,mBAAmB,IAAK;IACnC,MAAM9F,SAAS,GAAG+F,kBAAkB,CAACD,mBAAmB,CAAC;IACzD,IAAI9F,SAAS,EAAE;MACb,OAAOjF,KAAK,CAACiF,SAAS,EAAE,IAAI,EAAEiG,oBAAoB,CAACjG,SAAS,CAAC,CAAC;IAChE;EACF,CAAC;EACD,OAAO2F,GAAG;AACZ,CAAC;AACD,SAASM,oBAAoBA,CAACjG,SAAS,EAAE;EACvC,IAAIA,SAAS,YAAYkG,UAAU,EAAE;IACnC,OAAO,KAAK;EACd;EACA,IAAI,OAAOC,aAAa,KAAK,UAAU,IAAInG,SAAS,YAAYmG,aAAa,EAAE;IAC7E,OAAO,QAAQ;EACjB;AACF;AACA,SAASP,oBAAoBA,CAACD,GAAG,EAAE;EACjC37B,MAAM,CAAC+G,cAAc,CAAC40B,GAAG,CAACjxB,MAAM,EAAE,aAAa,EAAE;IAC/CrL,KAAK,EAAGue,GAAG,IAAKzB,SAAS,CAACyB,GAAG,CAAC,IAAIxB,QAAQ,CAACwB,GAAG,CAAC,IAAIvB,WAAW,CAACuB,GAAG,CAAC;IACnEwe,QAAQ,EAAE;EACZ,CAAC,CAAC;AACJ;AACA,SAASP,0BAA0BA,CAACF,GAAG,EAAE;EACvC,IAAI7gB,aAAa,CAAC,CAAC,EAAE;IACnB,MAAMuhB,eAAe,GAAGV,GAAG,CAACjxB,MAAM,CAAC2xB,eAAe;IAClDr8B,MAAM,CAAC+G,cAAc,CAAC40B,GAAG,CAACjxB,MAAM,EAAE,iBAAiB,EAAE;MACnDtC,GAAGA,CAAA,EAAG;QACJ,OAAOi0B,eAAe;MACxB,CAAC;MACD90B,GAAGA,CAAA,EAAG;QACJ9H,IAAI,CACF,uGACF,CAAC;MACH;IACF,CAAC,CAAC;IACF,MAAM68B,eAAe,GAAGX,GAAG,CAACjxB,MAAM,CAAC4xB,eAAe;IAClD,MAAMC,GAAG,GAAG;AAChB;AACA;AACA,+KAA+K;IAC3Kv8B,MAAM,CAAC+G,cAAc,CAAC40B,GAAG,CAACjxB,MAAM,EAAE,iBAAiB,EAAE;MACnDtC,GAAGA,CAAA,EAAG;QACJ3I,IAAI,CAAC88B,GAAG,CAAC;QACT,OAAOD,eAAe;MACxB,CAAC;MACD/0B,GAAGA,CAAA,EAAG;QACJ9H,IAAI,CAAC88B,GAAG,CAAC;MACX;IACF,CAAC,CAAC;EACJ;AACF;AACA,SAASR,kBAAkBA,CAAC/F,SAAS,EAAE;EACrC,IAAI9vB,gEAAQ,CAAC8vB,SAAS,CAAC,EAAE;IACvB,MAAMzS,GAAG,GAAGzV,QAAQ,CAAC+Q,aAAa,CAACmX,SAAS,CAAC;IAC7C,IAAI,KAAiD,EAAE,EAItD;IACD,OAAOzS,GAAG;EACZ;EACA,IAAI,KAAuI,EAAE,EAI5I;EACD,OAAOyS,SAAS;AAClB;AACA,IAAIyG,uBAAuB,GAAG,KAAK;AACnC,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACjC,IAAI,CAACD,uBAAuB,EAAE;IAC5BA,uBAAuB,GAAG,IAAI;IAC9BtD,gBAAgB,CAAC,CAAC;IAClBnS,eAAe,CAAC,CAAC;EACnB;AACF,CAAC;;;;;;;;;ACj0DY;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,mBAAO,CAAC,IAAuB;;AAE7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB;AAC3D,IAAI;AACJ;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;;;;;;;;;AC1Ba;AACb,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;;;;;;;;;;;;ACLa;;AAAA;AAAA;AAAA;AAEqB;;AAElC;AACA;AACA,MAAM2V,iBAAiB,GAAGp4B,0DAAK,CAACq4B,WAAW,CAAC,CAC1C,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAChE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,qBAAqB,EACrE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAClE,SAAS,EAAE,aAAa,EAAE,YAAY,CACvC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAeC,UAAU,IAAI;EAC3B,MAAM7tB,MAAM,GAAG,CAAC,CAAC;EACjB,IAAI1K,GAAG;EACP,IAAI0T,GAAG;EACP,IAAIrZ,CAAC;EAELk+B,UAAU,IAAIA,UAAU,CAACrnB,KAAK,CAAC,IAAI,CAAC,CAAC/W,OAAO,CAAC,SAAS4J,MAAMA,CAACy0B,IAAI,EAAE;IACjEn+B,CAAC,GAAGm+B,IAAI,CAAC32B,OAAO,CAAC,GAAG,CAAC;IACrB7B,GAAG,GAAGw4B,IAAI,CAACC,SAAS,CAAC,CAAC,EAAEp+B,CAAC,CAAC,CAACmG,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAC/CiT,GAAG,GAAG8kB,IAAI,CAACC,SAAS,CAACp+B,CAAC,GAAG,CAAC,CAAC,CAACmG,IAAI,CAAC,CAAC;IAElC,IAAI,CAACR,GAAG,IAAK0K,MAAM,CAAC1K,GAAG,CAAC,IAAIq4B,iBAAiB,CAACr4B,GAAG,CAAE,EAAE;MACnD;IACF;IAEA,IAAIA,GAAG,KAAK,YAAY,EAAE;MACxB,IAAI0K,MAAM,CAAC1K,GAAG,CAAC,EAAE;QACf0K,MAAM,CAAC1K,GAAG,CAAC,CAACqO,IAAI,CAACqF,GAAG,CAAC;MACvB,CAAC,MAAM;QACLhJ,MAAM,CAAC1K,GAAG,CAAC,GAAG,CAAC0T,GAAG,CAAC;MACrB;IACF,CAAC,MAAM;MACLhJ,MAAM,CAAC1K,GAAG,CAAC,GAAG0K,MAAM,CAAC1K,GAAG,CAAC,GAAG0K,MAAM,CAAC1K,GAAG,CAAC,GAAG,IAAI,GAAG0T,GAAG,GAAGA,GAAG;IAC5D;EACF,CAAC,CAAC;EAEF,OAAOhJ,MAAM;AACf,CAAC;;;;;;;;ACtDY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,gBAAgB,mBAAO,CAAC,IAAoC;;AAE5D;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;AACA;AACA,CAAC;;;;;;;;;ACVY;AACb,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,gBAAgB;AACjC;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACjCA,IAAIguB,SAAS;AACb,IAAIC,IAAI;AACD,SAASC,sBAAsBA,CAAA,EAAG;EACrC,IAAIC,EAAE;EACN,IAAIH,SAAS,KAAK78B,SAAS,EAAE;IACzB,OAAO68B,SAAS;EACpB;EACA,IAAI,OAAOpuB,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACwuB,WAAW,EAAE;IACrDJ,SAAS,GAAG,IAAI;IAChBC,IAAI,GAAGruB,MAAM,CAACwuB,WAAW;EAC7B,CAAC,MACI,IAAI,OAAOC,UAAU,KAAK,WAAW,KAAK,CAACF,EAAE,GAAGE,UAAU,CAACC,UAAU,MAAM,IAAI,IAAIH,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACC,WAAW,CAAC,EAAE;IAC9HJ,SAAS,GAAG,IAAI;IAChBC,IAAI,GAAGI,UAAU,CAACC,UAAU,CAACF,WAAW;EAC5C,CAAC,MACI;IACDJ,SAAS,GAAG,KAAK;EACrB;EACA,OAAOA,SAAS;AACpB;AACO,SAAS1Q,GAAGA,CAAA,EAAG;EAClB,OAAO4Q,sBAAsB,CAAC,CAAC,GAAGD,IAAI,CAAC3Q,GAAG,CAAC,CAAC,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;AAC7D;;;;;;;;ACtBa;AACb,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,qBAAqB,mBAAO,CAAC,IAAqC;;AAElE;AACA,0DAA0D,cAAc;AACxE,0DAA0D,cAAc;AACxE;AACA;;;;;;;;ACRA;AACAiR,YAAY,GAAG,UAAUC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,MAAM,EAAE;EAC3D,IAAIhqB,CAAC,EAAEoY,CAAC;EACR,IAAI6R,IAAI,GAAID,MAAM,GAAG,CAAC,GAAID,IAAI,GAAG,CAAC;EAClC,IAAIG,IAAI,GAAG,CAAC,CAAC,IAAID,IAAI,IAAI,CAAC;EAC1B,IAAIE,KAAK,GAAGD,IAAI,IAAI,CAAC;EACrB,IAAIE,KAAK,GAAG,CAAC,CAAC;EACd,IAAIr/B,CAAC,GAAG++B,IAAI,GAAIE,MAAM,GAAG,CAAC,GAAI,CAAC;EAC/B,IAAInY,CAAC,GAAGiY,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;EACrB,IAAI/X,CAAC,GAAG6X,MAAM,CAACC,MAAM,GAAG9+B,CAAC,CAAC;EAE1BA,CAAC,IAAI8mB,CAAC;EAEN7R,CAAC,GAAG+R,CAAC,GAAI,CAAC,CAAC,IAAK,CAACqY,KAAM,IAAI,CAAE;EAC7BrY,CAAC,KAAM,CAACqY,KAAM;EACdA,KAAK,IAAIH,IAAI;EACb,OAAOG,KAAK,GAAG,CAAC,EAAEpqB,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI4pB,MAAM,CAACC,MAAM,GAAG9+B,CAAC,CAAC,EAAEA,CAAC,IAAI8mB,CAAC,EAAEuY,KAAK,IAAI,CAAC,EAAE,CAAC;EAE3EhS,CAAC,GAAGpY,CAAC,GAAI,CAAC,CAAC,IAAK,CAACoqB,KAAM,IAAI,CAAE;EAC7BpqB,CAAC,KAAM,CAACoqB,KAAM;EACdA,KAAK,IAAIL,IAAI;EACb,OAAOK,KAAK,GAAG,CAAC,EAAEhS,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAIwR,MAAM,CAACC,MAAM,GAAG9+B,CAAC,CAAC,EAAEA,CAAC,IAAI8mB,CAAC,EAAEuY,KAAK,IAAI,CAAC,EAAE,CAAC;EAE3E,IAAIpqB,CAAC,KAAK,CAAC,EAAE;IACXA,CAAC,GAAG,CAAC,GAAGmqB,KAAK;EACf,CAAC,MAAM,IAAInqB,CAAC,KAAKkqB,IAAI,EAAE;IACrB,OAAO9R,CAAC,GAAGiS,GAAG,GAAI,CAACtY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAIuY,QAAS;EAC5C,CAAC,MAAM;IACLlS,CAAC,GAAGA,CAAC,GAAG3G,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAER,IAAI,CAAC;IACzB/pB,CAAC,GAAGA,CAAC,GAAGmqB,KAAK;EACf;EACA,OAAO,CAACpY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAIqG,CAAC,GAAG3G,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAEvqB,CAAC,GAAG+pB,IAAI,CAAC;AACjD,CAAC;AAEDJ,aAAa,GAAG,UAAUC,MAAM,EAAEn+B,KAAK,EAAEo+B,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,MAAM,EAAE;EACnE,IAAIhqB,CAAC,EAAEoY,CAAC,EAAEvI,CAAC;EACX,IAAIoa,IAAI,GAAID,MAAM,GAAG,CAAC,GAAID,IAAI,GAAG,CAAC;EAClC,IAAIG,IAAI,GAAG,CAAC,CAAC,IAAID,IAAI,IAAI,CAAC;EAC1B,IAAIE,KAAK,GAAGD,IAAI,IAAI,CAAC;EACrB,IAAIO,EAAE,GAAIV,IAAI,KAAK,EAAE,GAAGtY,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG9Y,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAE;EAChE,IAAIx/B,CAAC,GAAG++B,IAAI,GAAG,CAAC,GAAIE,MAAM,GAAG,CAAE;EAC/B,IAAInY,CAAC,GAAGiY,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EACrB,IAAI/X,CAAC,GAAGtmB,KAAK,GAAG,CAAC,IAAKA,KAAK,KAAK,CAAC,IAAI,CAAC,GAAGA,KAAK,GAAG,CAAE,GAAG,CAAC,GAAG,CAAC;EAE3DA,KAAK,GAAGgmB,IAAI,CAACiZ,GAAG,CAACj/B,KAAK,CAAC;EAEvB,IAAIk/B,KAAK,CAACl/B,KAAK,CAAC,IAAIA,KAAK,KAAK6+B,QAAQ,EAAE;IACtClS,CAAC,GAAGuS,KAAK,CAACl/B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACxBuU,CAAC,GAAGkqB,IAAI;EACV,CAAC,MAAM;IACLlqB,CAAC,GAAGyR,IAAI,CAACmZ,KAAK,CAACnZ,IAAI,CAACoZ,GAAG,CAACp/B,KAAK,CAAC,GAAGgmB,IAAI,CAACqZ,GAAG,CAAC;IAC1C,IAAIr/B,KAAK,IAAIokB,CAAC,GAAG4B,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAACvqB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;MACrCA,CAAC,EAAE;MACH6P,CAAC,IAAI,CAAC;IACR;IACA,IAAI7P,CAAC,GAAGmqB,KAAK,IAAI,CAAC,EAAE;MAClB1+B,KAAK,IAAIg/B,EAAE,GAAG5a,CAAC;IACjB,CAAC,MAAM;MACLpkB,KAAK,IAAIg/B,EAAE,GAAGhZ,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,KAAK,CAAC;IACtC;IACA,IAAI1+B,KAAK,GAAGokB,CAAC,IAAI,CAAC,EAAE;MAClB7P,CAAC,EAAE;MACH6P,CAAC,IAAI,CAAC;IACR;IAEA,IAAI7P,CAAC,GAAGmqB,KAAK,IAAID,IAAI,EAAE;MACrB9R,CAAC,GAAG,CAAC;MACLpY,CAAC,GAAGkqB,IAAI;IACV,CAAC,MAAM,IAAIlqB,CAAC,GAAGmqB,KAAK,IAAI,CAAC,EAAE;MACzB/R,CAAC,GAAG,CAAE3sB,KAAK,GAAGokB,CAAC,GAAI,CAAC,IAAI4B,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAER,IAAI,CAAC;MACzC/pB,CAAC,GAAGA,CAAC,GAAGmqB,KAAK;IACf,CAAC,MAAM;MACL/R,CAAC,GAAG3sB,KAAK,GAAGgmB,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAEJ,KAAK,GAAG,CAAC,CAAC,GAAG1Y,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAER,IAAI,CAAC;MACtD/pB,CAAC,GAAG,CAAC;IACP;EACF;EAEA,OAAO+pB,IAAI,IAAI,CAAC,EAAEH,MAAM,CAACC,MAAM,GAAG9+B,CAAC,CAAC,GAAGqtB,CAAC,GAAG,IAAI,EAAErtB,CAAC,IAAI8mB,CAAC,EAAEuG,CAAC,IAAI,GAAG,EAAE2R,IAAI,IAAI,CAAC,EAAE,CAAC;EAE/E/pB,CAAC,GAAIA,CAAC,IAAI+pB,IAAI,GAAI3R,CAAC;EACnB6R,IAAI,IAAIF,IAAI;EACZ,OAAOE,IAAI,GAAG,CAAC,EAAEL,MAAM,CAACC,MAAM,GAAG9+B,CAAC,CAAC,GAAGiV,CAAC,GAAG,IAAI,EAAEjV,CAAC,IAAI8mB,CAAC,EAAE7R,CAAC,IAAI,GAAG,EAAEiqB,IAAI,IAAI,CAAC,EAAE,CAAC;EAE9EL,MAAM,CAACC,MAAM,GAAG9+B,CAAC,GAAG8mB,CAAC,CAAC,IAAIE,CAAC,GAAG,GAAG;AACnC,CAAC;;;;;;;;ACpFY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,cAAc,mBAAO,CAAC,IAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,oCAAoC;AAC7C;AACA,CAAC;;;;;;;;;ACnBY;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,UAAU,+BAAuC;AACjD,YAAY,mBAAO,CAAC,IAAwB;AAC5C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACjBY;;AAEZ,sDAAe,OAAOgZ,IAAI,KAAK,WAAW,GAAGA,IAAI,GAAG,IAAI;;;;;;;;ACF3C;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC,iCAAiC;AAC1E;;;;;;;;;ACba;AACb;;AAEA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,0BAA0B,mBAAO,CAAC,IAAoC;AACtE,mCAAmC,mBAAO,CAAC,IAA+C;;AAE1F;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACvBa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;;;;;;;;;ACLa;AACb,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,gBAAgB,mBAAO,CAAC,IAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;;ACRa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,qBAAqB,mBAAO,CAAC,IAAmC;AAChE,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA,IAAI,2FAA2F;AAC/F;AACA,CAAC;;;;;;;;;ACTY;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAA+B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,aAAa;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAsB;AAC5C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;;AAEA;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA,uDAAuD,+BAA+B;AACtF;AACA;AACA,CAAC;;;;;;;;;AChBY;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACda;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kCAAkC,mBAAO,CAAC,IAA8C;AACxF,gCAAgC,mBAAO,CAAC,IAA4C;AACpF,uBAAuB,mBAAO,CAAC,IAAiC;;AAEhE;AACA;;AAEA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;ACvBa;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,UAAU,+BAAuC;AACjD,WAAW,mBAAO,CAAC,GAAuB;AAC1C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;AClBa;AACb,kBAAkB,mBAAO,CAAC,IAA2C;AACrE,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,kBAAkB,mBAAO,CAAC,IAAmC;;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACba;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,+BAA+B,mBAAO,CAAC,IAAyC;;AAEhF;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACRsD;AACtB;AACzB,MAAM7sB,QAAQ,CAAC;EAClBzK,WAAWA,CAACw3B,MAAM,EAAE1sB,IAAI,EAAE;IACtB,IAAI,CAACxI,MAAM,GAAG,IAAI;IAClB,IAAI,CAACm1B,WAAW,GAAG,EAAE;IACrB,IAAI,CAACC,OAAO,GAAG,EAAE;IACjB,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAAC1sB,IAAI,GAAGA,IAAI;IAChB,MAAM6sB,eAAe,GAAG,CAAC,CAAC;IAC1B,IAAIH,MAAM,CAACI,QAAQ,EAAE;MACjB,KAAK,MAAM/lB,EAAE,IAAI2lB,MAAM,CAACI,QAAQ,EAAE;QAC9B,MAAMC,IAAI,GAAGL,MAAM,CAACI,QAAQ,CAAC/lB,EAAE,CAAC;QAChC8lB,eAAe,CAAC9lB,EAAE,CAAC,GAAGgmB,IAAI,CAACC,YAAY;MAC3C;IACJ;IACA,MAAMC,mBAAmB,GAAG,mCAAmCP,MAAM,CAAC3lB,EAAE,EAAE;IAC1E,IAAImmB,eAAe,GAAGr/B,MAAM,CAACoN,MAAM,CAAC,CAAC,CAAC,EAAE4xB,eAAe,CAAC;IACxD,IAAI;MACA,MAAMM,GAAG,GAAGC,YAAY,CAACC,OAAO,CAACJ,mBAAmB,CAAC;MACrD,MAAM1zB,IAAI,GAAG+zB,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC;MAC5Bt/B,MAAM,CAACoN,MAAM,CAACiyB,eAAe,EAAE3zB,IAAI,CAAC;IACxC,CAAC,CACD,OAAOkI,CAAC,EAAE;MACN;IAAA;IAEJ,IAAI,CAAC+rB,SAAS,GAAG;MACbC,WAAWA,CAAA,EAAG;QACV,OAAOP,eAAe;MAC1B,CAAC;MACDQ,WAAWA,CAACxgC,KAAK,EAAE;QACf,IAAI;UACAkgC,YAAY,CAACO,OAAO,CAACV,mBAAmB,EAAEK,IAAI,CAACM,SAAS,CAAC1gC,KAAK,CAAC,CAAC;QACpE,CAAC,CACD,OAAOuU,CAAC,EAAE;UACN;QAAA;QAEJyrB,eAAe,GAAGhgC,KAAK;MAC3B,CAAC;MACDitB,GAAGA,CAAA,EAAG;QACF,OAAOA,sDAAG,CAAC,CAAC;MAChB;IACJ,CAAC;IACD,IAAIna,IAAI,EAAE;MACNA,IAAI,CAAC6tB,EAAE,CAACpB,wEAAwB,EAAE,CAACqB,QAAQ,EAAE5gC,KAAK,KAAK;QACnD,IAAI4gC,QAAQ,KAAK,IAAI,CAACpB,MAAM,CAAC3lB,EAAE,EAAE;UAC7B,IAAI,CAACymB,SAAS,CAACE,WAAW,CAACxgC,KAAK,CAAC;QACrC;MACJ,CAAC,CAAC;IACN;IACA,IAAI,CAAC6gC,SAAS,GAAG,IAAIC,KAAK,CAAC,CAAC,CAAC,EAAE;MAC3B/3B,GAAG,EAAEA,CAACg4B,OAAO,EAAE90B,IAAI,KAAK;QACpB,IAAI,IAAI,CAAC3B,MAAM,EAAE;UACb,OAAO,IAAI,CAACA,MAAM,CAACq2B,EAAE,CAAC10B,IAAI,CAAC;QAC/B,CAAC,MACI;UACD,OAAO,CAAC,GAAG+V,IAAI,KAAK;YAChB,IAAI,CAAC0d,OAAO,CAACpsB,IAAI,CAAC;cACdlH,MAAM,EAAEH,IAAI;cACZ+V;YACJ,CAAC,CAAC;UACN,CAAC;QACL;MACJ;IACJ,CAAC,CAAC;IACF,IAAI,CAACzO,aAAa,GAAG,IAAIutB,KAAK,CAAC,CAAC,CAAC,EAAE;MAC/B/3B,GAAG,EAAEA,CAACg4B,OAAO,EAAE90B,IAAI,KAAK;QACpB,IAAI,IAAI,CAAC3B,MAAM,EAAE;UACb,OAAO,IAAI,CAACA,MAAM,CAAC2B,IAAI,CAAC;QAC5B,CAAC,MACI,IAAIA,IAAI,KAAK,IAAI,EAAE;UACpB,OAAO,IAAI,CAAC40B,SAAS;QACzB,CAAC,MACI,IAAIlgC,MAAM,CAACD,IAAI,CAAC,IAAI,CAAC4/B,SAAS,CAAC,CAAC3U,QAAQ,CAAC1f,IAAI,CAAC,EAAE;UACjD,OAAO,CAAC,GAAG+V,IAAI,KAAK;YAChB,IAAI,CAACyd,WAAW,CAACnsB,IAAI,CAAC;cAClBlH,MAAM,EAAEH,IAAI;cACZ+V,IAAI;cACJ1M,OAAO,EAAEA,CAAA,KAAM,CAAE;YACrB,CAAC,CAAC;YACF,OAAO,IAAI,CAACgrB,SAAS,CAACr0B,IAAI,CAAC,CAAC,GAAG+V,IAAI,CAAC;UACxC,CAAC;QACL,CAAC,MACI;UACD,OAAO,CAAC,GAAGA,IAAI,KAAK;YAChB,OAAO,IAAI5M,OAAO,CAAEE,OAAO,IAAK;cAC5B,IAAI,CAACmqB,WAAW,CAACnsB,IAAI,CAAC;gBAClBlH,MAAM,EAAEH,IAAI;gBACZ+V,IAAI;gBACJ1M;cACJ,CAAC,CAAC;YACN,CAAC,CAAC;UACN,CAAC;QACL;MACJ;IACJ,CAAC,CAAC;EACN;EACA,MAAM0rB,aAAaA,CAAC12B,MAAM,EAAE;IACxB,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,KAAK,MAAMu1B,IAAI,IAAI,IAAI,CAACH,OAAO,EAAE;MAC7B,IAAI,CAACp1B,MAAM,CAACq2B,EAAE,CAACd,IAAI,CAACzzB,MAAM,CAAC,CAAC,GAAGyzB,IAAI,CAAC7d,IAAI,CAAC;IAC7C;IACA,KAAK,MAAM6d,IAAI,IAAI,IAAI,CAACJ,WAAW,EAAE;MACjCI,IAAI,CAACvqB,OAAO,CAAC,MAAM,IAAI,CAAChL,MAAM,CAACu1B,IAAI,CAACzzB,MAAM,CAAC,CAAC,GAAGyzB,IAAI,CAAC7d,IAAI,CAAC,CAAC;IAC9D;EACJ;AACJ;;;;;;;;AC1Ga;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,qBAAqB,mBAAO,CAAC,GAA+B;AAC5D,uCAAuC,mBAAO,CAAC,IAA+C;;AAE9F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,0BAA0B;AAC9D;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,gBAAgB;;AAElB;;;;;;;;;;;;ACpC0D;AACd;AACR;AAEpC,sDAAe;EACbmf,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE;IACPH,eAAe;IACfC,QAAQ;IACR5B,IAAIA,mEAAAA;EACN,CAAC;EACDpmB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;AAC5D,CAAC;;;;;;;;ACZY;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,iCAAiC,mBAAO,CAAC,IAA4C;AACrF,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,aAAa,mBAAO,CAAC,IAA+B;AACpD,qBAAqB,mBAAO,CAAC,IAA6B;;AAE1D;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACVa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,iBAAiB,mBAAO,CAAC,IAAuC;;AAEhE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACda;AACb,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,gCAAgC,mBAAO,CAAC,IAA4C;AACpF,kCAAkC,mBAAO,CAAC,IAA8C;AACxF,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACda;;AAEE,SAASlF,aAAaA,CAAC7H,GAAG,EAAE;EACzC,MAAMhG,KAAK,GAAG,2BAA2B,CAACC,IAAI,CAAC+F,GAAG,CAAC;EACnD,OAAOhG,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AAChC;;;;;;;;ACLa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAAqC;AACjE,wBAAwB,mBAAO,CAAC,IAAgC;;AAEhE;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;;;;;;;;ACba;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,WAAW,mBAAO,CAAC,IAA4B;AAC/C,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvCa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,SAAS,mBAAO,CAAC,GAAgC;AACjD,iBAAiB,mBAAO,CAAC,IAAgC;AACzD,cAAc,mBAAO,CAAC,IAA6B;AACnD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oBAAoB;AAC5D;AACA,CAAC;;;;;;;;;ACjBY;AACb,cAAc,mBAAO,CAAC,IAA6B;AACnD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;;;;;;;;;ACNa;AACb,aAAa,mBAAO,CAAC,IAA+B;AACpD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,+BAA+B,mBAAO,CAAC,IAAuC;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;ACrBa;AACb,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,kBAAkB,mBAAO,CAAC,GAA4B;;AAEtD;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;ACXa;AACb;AACA,oBAAoB,mBAAO,CAAC,IAA2C;;AAEvE;AACA;AACA;;;;;;;;;;;;;;ACN0B;AAE1B,IAAIm7B,MAAM,GAAG,KAAK;AAClB,IAAIC,MAAM,GAAG,IAAI;AACjB,IAAIC,IAAI,GAAG1gC,gDAAAA,SAAS;AAEpB,SAAS2gC,OAAOA,CAAA,EAAG,CAAC;AAEb,SAASv5B,GAAGA,CAACoC,MAAM,EAAErF,GAAG,EAAE0T,GAAG,EAAE;EACpC,IAAIyP,KAAK,CAACxiB,OAAO,CAAC0E,MAAM,CAAC,EAAE;IACzBA,MAAM,CAAC1J,MAAM,GAAGolB,IAAI,CAACC,GAAG,CAAC3b,MAAM,CAAC1J,MAAM,EAAEqE,GAAG,CAAC;IAC5CqF,MAAM,CAAC+tB,MAAM,CAACpzB,GAAG,EAAE,CAAC,EAAE0T,GAAG,CAAC;IAC1B,OAAOA,GAAG;EACZ;EACArO,MAAM,CAACrF,GAAG,CAAC,GAAG0T,GAAG;EACjB,OAAOA,GAAG;AACZ;AAEO,SAAS+oB,GAAGA,CAACp3B,MAAM,EAAErF,GAAG,EAAE;EAC/B,IAAImjB,KAAK,CAACxiB,OAAO,CAAC0E,MAAM,CAAC,EAAE;IACzBA,MAAM,CAAC+tB,MAAM,CAACpzB,GAAG,EAAE,CAAC,CAAC;IACrB;EACF;EACA,OAAOqF,MAAM,CAACrF,GAAG,CAAC;AACpB;AAEmB;;;;;;;;;AC1BN;AACb,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;;AAEA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;;;;;;;;ACVa;AACb,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACda;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACvDY;AACb,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA,iBAAiB;AACjB;AACA;AACA;AACA,CAAC;;;;;;;;;ACRY;AACb,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;;;;;;;;ACXa;AACb,8BAA8B;AAC9B;AACA;;AAEA;AACA,4EAA4E,MAAM;;AAElF;AACA;AACA,SAAS;AACT;AACA;AACA,EAAE;;;;;;;;;ACbW;AACb,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,2BAA2B,mBAAO,CAAC,IAAqC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM,gBAAgB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;;;;;;;;;AC3Ba;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,WAAW,mBAAO,CAAC,IAA4B;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,0BAA0B,mBAAO,CAAC,IAAoC;AACtE,mCAAmC,mBAAO,CAAC,IAA+C;AAC1F,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,IAAI,8DAA8D;AAClE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;AClCY;;AAEb,sDAAe;EACb08B,iBAAiB,EAAE,IAAI;EACvBC,iBAAiB,EAAE,IAAI;EACvBtpB,mBAAmB,EAAE;AACvB,CAAC;;;;;;;;ACNY;AACb,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,aAAa,mBAAO,CAAC,IAA4B;AACjD,qBAAqB,6BAAgD;;AAErE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;ACpBa;AACb,UAAU,+BAAuC;;AAEjD;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb;AACA;AACA;AACA,WAAW;AACX;;;;;;;;;;;;;;;;;;;;;;;;;;ACLa;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS+pB,cAAcA,CAACC,aAAa,EAAE;EACrC,MAAM97B,OAAO,GAAG,IAAIq7B,+DAAK,CAACS,aAAa,CAAC;EACxC,MAAMta,QAAQ,GAAGuK,qEAAI,CAACsP,+DAAK,CAACn3B,SAAS,CAACuG,OAAO,EAAEzK,OAAO,CAAC;;EAEvD;EACAtB,0DAAK,CAAC0W,MAAM,CAACoM,QAAQ,EAAE6Z,+DAAK,CAACn3B,SAAS,EAAElE,OAAO,EAAE;IAAC+7B,UAAU,EAAE;EAAI,CAAC,CAAC;;EAEpE;EACAr9B,0DAAK,CAAC0W,MAAM,CAACoM,QAAQ,EAAExhB,OAAO,EAAE,IAAI,EAAE;IAAC+7B,UAAU,EAAE;EAAI,CAAC,CAAC;;EAEzD;EACAva,QAAQ,CAAC/hB,MAAM,GAAG,SAASA,MAAMA,CAACu8B,cAAc,EAAE;IAChD,OAAOH,cAAc,CAACn3B,yEAAW,CAACo3B,aAAa,EAAEE,cAAc,CAAC,CAAC;EACnE,CAAC;EAED,OAAOxa,QAAQ;AACjB;;AAEA;AACA,MAAMya,KAAK,GAAGJ,cAAc,CAACP,mEAAQ,CAAC;;AAEtC;AACAW,KAAK,CAACZ,KAAK,GAAGA,+DAAK;;AAEnB;AACAY,KAAK,CAAC1uB,aAAa,GAAGA,yEAAa;AACnC0uB,KAAK,CAACV,WAAW,GAAGA,uEAAW;AAC/BU,KAAK,CAACT,QAAQ,GAAGA,oEAAQ;AACzBS,KAAK,CAACxjC,OAAO,GAAGA,0DAAO;AACvBwjC,KAAK,CAACR,UAAU,GAAGA,uEAAU;;AAE7B;AACAQ,KAAK,CAACvjC,UAAU,GAAGA,qEAAU;;AAE7B;AACAujC,KAAK,CAACC,MAAM,GAAGD,KAAK,CAAC1uB,aAAa;;AAElC;AACA0uB,KAAK,CAACE,GAAG,GAAG,SAASA,GAAGA,CAACC,QAAQ,EAAE;EACjC,OAAOxtB,OAAO,CAACutB,GAAG,CAACC,QAAQ,CAAC;AAC9B,CAAC;AAEDH,KAAK,CAACP,MAAM,GAAGA,oEAAM;;AAErB;AACAO,KAAK,CAACN,YAAY,GAAGA,0EAAY;;AAEjC;AACAM,KAAK,CAACv3B,WAAW,GAAGA,qEAAW;AAE/Bu3B,KAAK,CAAC16B,YAAY,GAAGA,uEAAY;AAEjC06B,KAAK,CAACI,UAAU,GAAGrjC,KAAK,IAAI2Q,gFAAc,CAACjL,0DAAK,CAAC49B,UAAU,CAACtjC,KAAK,CAAC,GAAG,IAAI0hC,QAAQ,CAAC1hC,KAAK,CAAC,GAAGA,KAAK,CAAC;AAEjGijC,KAAK,CAACM,UAAU,GAAGX,uEAAQ,CAACW,UAAU;AAEtCN,KAAK,CAACzhC,cAAc,GAAGA,4EAAc;AAErCyhC,KAAK,CAAC5hB,OAAO,GAAG4hB,KAAK;;AAErB;AACA,sDAAeA,KAAK;;;;;;;;ACxFP;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAM,gBAAgB,qBAAM;AAC3C;AACA;AACA,iBAAiB,cAAc;;;;;;;;;ACflB;AACb,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AAC8V;AAC0C;AACgJ;AACtZ;AAElI,MAAMrxB,KAAK,GAAG,EAAE;AAChB,SAASs1B,kBAAkBA,CAACvd,KAAK,EAAE;EACjC/X,KAAK,CAACkC,IAAI,CAAC6V,KAAK,CAAC;AACnB;AACA,SAASwd,iBAAiBA,CAAA,EAAG;EAC3Bv1B,KAAK,CAACw1B,GAAG,CAAC,CAAC;AACb;AACA,IAAIC,SAAS,GAAG,KAAK;AACrB,SAASC,MAAMA,CAAC5J,GAAG,EAAE,GAAGlb,IAAI,EAAE;EAC5B,IAAI6kB,SAAS,EAAE;EACfA,SAAS,GAAG,IAAI;EAChB7D,aAAa,CAAC,CAAC;EACf,MAAMhb,QAAQ,GAAG5W,KAAK,CAACxQ,MAAM,GAAGwQ,KAAK,CAACA,KAAK,CAACxQ,MAAM,GAAG,CAAC,CAAC,CAAC8oB,SAAS,GAAG,IAAI;EACxE,MAAMqd,cAAc,GAAG/e,QAAQ,IAAIA,QAAQ,CAACgf,UAAU,CAAC37B,MAAM,CAAC47B,WAAW;EACzE,MAAMC,KAAK,GAAGC,iBAAiB,CAAC,CAAC;EACjC,IAAIJ,cAAc,EAAE;IAClBK,qBAAqB,CACnBL,cAAc,EACd/e,QAAQ,EACR,EAAE,EACF;IACE;IACAkV,GAAG,GAAGlb,IAAI,CAACnc,GAAG,CAAE8F,CAAC,IAAK;MACpB,IAAImyB,EAAE,EAAEuJ,EAAE;MACV,OAAO,CAACA,EAAE,GAAG,CAACvJ,EAAE,GAAGnyB,CAAC,CAAC1B,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG6zB,EAAE,CAACl3B,IAAI,CAAC+E,CAAC,CAAC,KAAK,IAAI,GAAG07B,EAAE,GAAGjH,IAAI,CAACM,SAAS,CAAC/0B,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC5B,IAAI,CAAC,EAAE,CAAC,EACXie,QAAQ,IAAIA,QAAQ,CAAC7U,KAAK,EAC1B+zB,KAAK,CAACrhC,GAAG,CACP,CAAC;MAAEsjB;IAAM,CAAC,KAAK,OAAOme,mBAAmB,CAACtf,QAAQ,EAAEmB,KAAK,CAAC9pB,IAAI,CAAC,GACjE,CAAC,CAAC0K,IAAI,CAAC,IAAI,CAAC,EACZm9B,KAAK,CAET,CAAC;EACH,CAAC,MAAM;IACL,MAAMK,QAAQ,GAAG,CAAC,eAAerK,GAAG,EAAE,EAAE,GAAGlb,IAAI,CAAC;IAChD,IAAIklB,KAAK,CAACtmC,MAAM;IAAI;IACpB,IAAI,EAAE;MACJ2mC,QAAQ,CAACj0B,IAAI,CAAC;AACpB,CAAC,EAAE,GAAGk0B,WAAW,CAACN,KAAK,CAAC,CAAC;IACrB;IACA/mC,OAAO,CAACC,IAAI,CAAC,GAAGmnC,QAAQ,CAAC;EAC3B;EACAtE,aAAa,CAAC,CAAC;EACf4D,SAAS,GAAG,KAAK;AACnB;AACA,SAASM,iBAAiBA,CAAA,EAAG;EAC3B,IAAIM,YAAY,GAAGr2B,KAAK,CAACA,KAAK,CAACxQ,MAAM,GAAG,CAAC,CAAC;EAC1C,IAAI,CAAC6mC,YAAY,EAAE;IACjB,OAAO,EAAE;EACX;EACA,MAAMC,eAAe,GAAG,EAAE;EAC1B,OAAOD,YAAY,EAAE;IACnB,MAAME,IAAI,GAAGD,eAAe,CAAC,CAAC,CAAC;IAC/B,IAAIC,IAAI,IAAIA,IAAI,CAACxe,KAAK,KAAKse,YAAY,EAAE;MACvCE,IAAI,CAACC,YAAY,EAAE;IACrB,CAAC,MAAM;MACLF,eAAe,CAACp0B,IAAI,CAAC;QACnB6V,KAAK,EAAEse,YAAY;QACnBG,YAAY,EAAE;MAChB,CAAC,CAAC;IACJ;IACA,MAAMC,cAAc,GAAGJ,YAAY,CAAC/d,SAAS,IAAI+d,YAAY,CAAC/d,SAAS,CAACzL,MAAM;IAC9EwpB,YAAY,GAAGI,cAAc,IAAIA,cAAc,CAAC1e,KAAK;EACvD;EACA,OAAOue,eAAe;AACxB;AACA,SAASF,WAAWA,CAACN,KAAK,EAAE;EAC1B,MAAMY,IAAI,GAAG,EAAE;EACfZ,KAAK,CAAC9nC,OAAO,CAAC,CAACi0B,KAAK,EAAE/zB,CAAC,KAAK;IAC1BwoC,IAAI,CAACx0B,IAAI,CAAC,IAAGhU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AACjC,CAAC,CAAC,GAAE,GAAGyoC,gBAAgB,CAAC1U,KAAK,CAAC,CAAC;EAC7B,CAAC,CAAC;EACF,OAAOyU,IAAI;AACb;AACA,SAASC,gBAAgBA,CAAC;EAAE5e,KAAK;EAAEye;AAAa,CAAC,EAAE;EACjD,MAAMI,OAAO,GAAGJ,YAAY,GAAG,CAAC,GAAG,QAAQA,YAAY,mBAAmB,GAAG,EAAE;EAC/E,MAAMK,MAAM,GAAG9e,KAAK,CAACO,SAAS,GAAGP,KAAK,CAACO,SAAS,CAACzL,MAAM,IAAI,IAAI,GAAG,KAAK;EACvE,MAAMpH,IAAI,GAAG,QAAQywB,mBAAmB,CACtCne,KAAK,CAACO,SAAS,EACfP,KAAK,CAAC9pB,IAAI,EACV4oC,MACF,CAAC,EAAE;EACH,MAAMC,KAAK,GAAG,GAAG,GAAGF,OAAO;EAC3B,OAAO7e,KAAK,CAACzK,KAAK,GAAG,CAAC7H,IAAI,EAAE,GAAGsxB,WAAW,CAAChf,KAAK,CAACzK,KAAK,CAAC,EAAEwpB,KAAK,CAAC,GAAG,CAACrxB,IAAI,GAAGqxB,KAAK,CAAC;AAClF;AACA,SAASC,WAAWA,CAACzpB,KAAK,EAAE;EAC1B,MAAMwF,GAAG,GAAG,EAAE;EACd,MAAMxjB,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACge,KAAK,CAAC;EAC/Bhe,IAAI,CAACoK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC1L,OAAO,CAAE6F,GAAG,IAAK;IAChCif,GAAG,CAAC5Q,IAAI,CAAC,GAAG80B,UAAU,CAACnjC,GAAG,EAAEyZ,KAAK,CAACzZ,GAAG,CAAC,CAAC,CAAC;EAC1C,CAAC,CAAC;EACF,IAAIvE,IAAI,CAACE,MAAM,GAAG,CAAC,EAAE;IACnBsjB,GAAG,CAAC5Q,IAAI,CAAC,MAAM,CAAC;EAClB;EACA,OAAO4Q,GAAG;AACZ;AACA,SAASkkB,UAAUA,CAACnjC,GAAG,EAAEjF,KAAK,EAAEigC,GAAG,EAAE;EACnC,IAAIp5B,QAAQ,CAAC7G,KAAK,CAAC,EAAE;IACnBA,KAAK,GAAGogC,IAAI,CAACM,SAAS,CAAC1gC,KAAK,CAAC;IAC7B,OAAOigC,GAAG,GAAGjgC,KAAK,GAAG,CAAC,GAAGiF,GAAG,IAAIjF,KAAK,EAAE,CAAC;EAC1C,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,IAAIA,KAAK,IAAI,IAAI,EAAE;IACnF,OAAOigC,GAAG,GAAGjgC,KAAK,GAAG,CAAC,GAAGiF,GAAG,IAAIjF,KAAK,EAAE,CAAC;EAC1C,CAAC,MAAM,IAAIkjC,KAAK,CAACljC,KAAK,CAAC,EAAE;IACvBA,KAAK,GAAGooC,UAAU,CAACnjC,GAAG,EAAEmW,KAAK,CAACpb,KAAK,CAACA,KAAK,CAAC,EAAE,IAAI,CAAC;IACjD,OAAOigC,GAAG,GAAGjgC,KAAK,GAAG,CAAC,GAAGiF,GAAG,OAAO,EAAEjF,KAAK,EAAE,GAAG,CAAC;EAClD,CAAC,MAAM,IAAI2G,UAAU,CAAC3G,KAAK,CAAC,EAAE;IAC5B,OAAO,CAAC,GAAGiF,GAAG,MAAMjF,KAAK,CAAC8P,IAAI,GAAG,IAAI9P,KAAK,CAAC8P,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;EAC5D,CAAC,MAAM;IACL9P,KAAK,GAAGob,KAAK,CAACpb,KAAK,CAAC;IACpB,OAAOigC,GAAG,GAAGjgC,KAAK,GAAG,CAAC,GAAGiF,GAAG,GAAG,EAAEjF,KAAK,CAAC;EACzC;AACF;AACA,SAASka,YAAYA,CAACvB,GAAG,EAAEtZ,IAAI,EAAE;EAC/B,IAAI,IAA0C,EAAE;EAChD,IAAIsZ,GAAG,KAAK,KAAK,CAAC,EAAE;IAClB;EACF,CAAC,MAAM,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAClCmuB,MAAM,CAAC,GAAGznC,IAAI,gCAAgC+gC,IAAI,CAACM,SAAS,CAAC/nB,GAAG,CAAC,GAAG,CAAC;EACvE,CAAC,MAAM,IAAIumB,KAAK,CAACvmB,GAAG,CAAC,EAAE;IACrBmuB,MAAM,CAAC,GAAGznC,IAAI,uDAAuD,CAAC;EACxE;AACF;AAEA,MAAMgpC,UAAU,GAAG;EACjB,gBAAgB,EAAE,CAAC;EACnB,GAAG,EAAE,gBAAgB;EACrB,iBAAiB,EAAE,CAAC;EACpB,GAAG,EAAE,iBAAiB;EACtB,sBAAsB,EAAE,CAAC;EACzB,GAAG,EAAE,sBAAsB;EAC3B,yBAAyB,EAAE,CAAC;EAC5B,GAAG,EAAE,yBAAyB;EAC9B,YAAY,EAAE,CAAC;EACf,GAAG,EAAE,YAAY;EACjB,gBAAgB,EAAE,CAAC;EACnB,GAAG,EAAE,gBAAgB;EACrB,iBAAiB,EAAE,CAAC;EACpB,GAAG,EAAE,iBAAiB;EACtB,mBAAmB,EAAE,EAAE;EACvB,IAAI,EAAE,mBAAmB;EACzB,kBAAkB,EAAE,EAAE;EACtB,IAAI,EAAE,kBAAkB;EACxB,cAAc,EAAE,EAAE;EAClB,IAAI,EAAE,cAAc;EACpB,wBAAwB,EAAE,EAAE;EAC5B,IAAI,EAAE,wBAAwB;EAC9B,WAAW,EAAE,EAAE;EACf,IAAI,EAAE,WAAW;EACjB,kBAAkB,EAAE,EAAE;EACtB,IAAI,EAAE,kBAAkB;EACxB,qBAAqB,EAAE,EAAE;EACzB,IAAI,EAAE;AACR,CAAC;AACD,MAAMC,kBAAkB,GAAG;EACzB,CAAC,IAAI,GAAG,qBAAqB;EAC7B,CAAC,IAAI,GAAG,mBAAmB;EAC3B,CAAC,GAAG,GAAG,cAAc;EACrB,CAAC,IAAI,GAAG,kBAAkB;EAC1B,CAAC,GAAG,GAAG,cAAc;EACrB,CAAC,IAAI,GAAG,mBAAmB;EAC3B,CAAC,GAAG,GAAG,SAAS;EAChB,CAAC,KAAK,GAAG,oBAAoB;EAC7B,CAAC,IAAI,GAAG,gBAAgB;EACxB,CAAC,GAAG,GAAG,gBAAgB;EACvB,CAAC,IAAI,GAAG,kBAAkB;EAC1B,CAAC,IAAI,GAAG,oBAAoB;EAC5B,CAAC,KAAK,GAAG,oBAAoB;EAC7B,CAAC,KAAK,GAAG,sBAAsB;EAC/B,CAAC,CAAC,GAAG,gBAAgB;EACrB,CAAC,CAAC,GAAG,iBAAiB;EACtB,CAAC,CAAC,GAAG,gBAAgB;EACrB,CAAC,CAAC,GAAG,kBAAkB;EACvB,CAAC,CAAC,GAAG,0BAA0B;EAC/B,CAAC,CAAC,GAAG,sBAAsB;EAC3B,CAAC,CAAC,GAAG,yBAAyB;EAC9B,CAAC,CAAC,GAAG,YAAY;EACjB,CAAC,CAAC,GAAG,gBAAgB;EACrB,CAAC,CAAC,GAAG,iBAAiB;EACtB,CAAC,EAAE,GAAG,kBAAkB;EACxB,CAAC,EAAE,GAAG,iBAAiB;EACvB,CAAC,EAAE,GAAG,cAAc;EACpB,CAAC,EAAE,GAAG,wBAAwB;EAC9B,CAAC,EAAE,GAAG,iBAAiB;EACvB,CAAC,EAAE,GAAG,kBAAkB;EACxB,CAAC,EAAE,GAAG;AACR,CAAC;AACD,SAASlB,qBAAqBA,CAACttB,EAAE,EAAEkO,QAAQ,EAAE3oB,IAAI,EAAE2iB,IAAI,EAAE;EACvD,IAAI;IACF,OAAOA,IAAI,GAAGlI,EAAE,CAAC,GAAGkI,IAAI,CAAC,GAAGlI,EAAE,CAAC,CAAC;EAClC,CAAC,CAAC,OAAOvC,GAAG,EAAE;IACZU,WAAW,CAACV,GAAG,EAAEyQ,QAAQ,EAAE3oB,IAAI,CAAC;EAClC;AACF;AACA,SAASwb,0BAA0BA,CAACf,EAAE,EAAEkO,QAAQ,EAAE3oB,IAAI,EAAE2iB,IAAI,EAAE;EAC5D,IAAIrb,kEAAU,CAACmT,EAAE,CAAC,EAAE;IAClB,MAAMoK,GAAG,GAAGkjB,qBAAqB,CAACttB,EAAE,EAAEkO,QAAQ,EAAE3oB,IAAI,EAAE2iB,IAAI,CAAC;IAC3D,IAAIkC,GAAG,IAAImhB,iEAAS,CAACnhB,GAAG,CAAC,EAAE;MACzBA,GAAG,CAACqkB,KAAK,CAAEhxB,GAAG,IAAK;QACjBU,WAAW,CAACV,GAAG,EAAEyQ,QAAQ,EAAE3oB,IAAI,CAAC;MAClC,CAAC,CAAC;IACJ;IACA,OAAO6kB,GAAG;EACZ;EACA,IAAIte,+DAAO,CAACkU,EAAE,CAAC,EAAE;IACf,MAAM0uB,MAAM,GAAG,EAAE;IACjB,KAAK,IAAIlpC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwa,EAAE,CAAClZ,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAClCkpC,MAAM,CAACl1B,IAAI,CAACuH,0BAA0B,CAACf,EAAE,CAACxa,CAAC,CAAC,EAAE0oB,QAAQ,EAAE3oB,IAAI,EAAE2iB,IAAI,CAAC,CAAC;IACtE;IACA,OAAOwmB,MAAM;EACf,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;AACH;AACA,SAASvwB,WAAWA,CAACV,GAAG,EAAEyQ,QAAQ,EAAE3oB,IAAI,EAAEopC,UAAU,GAAG,IAAI,EAAE;EAC3D,MAAMC,YAAY,GAAG1gB,QAAQ,GAAGA,QAAQ,CAACmB,KAAK,GAAG,IAAI;EACrD,MAAM;IAAEwf,YAAY;IAAEC;EAAgC,CAAC,GAAG5gB,QAAQ,IAAIA,QAAQ,CAACgf,UAAU,CAAC37B,MAAM,IAAImR,6DAAS;EAC7G,IAAIwL,QAAQ,EAAE;IACZ,IAAI6gB,GAAG,GAAG7gB,QAAQ,CAAC/J,MAAM;IACzB,MAAM6qB,eAAe,GAAG9gB,QAAQ,CAAC7U,KAAK;IACtC,MAAM41B,SAAS,GAAG,MAAyC,GAAGT,CAAwB,GAAG,8CAA8CjpC,IAAI,EAAE;IAC7I,OAAOwpC,GAAG,EAAE;MACV,MAAMG,kBAAkB,GAAGH,GAAG,CAACI,EAAE;MACjC,IAAID,kBAAkB,EAAE;QACtB,KAAK,IAAI1pC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0pC,kBAAkB,CAACpoC,MAAM,EAAEtB,CAAC,EAAE,EAAE;UAClD,IAAI0pC,kBAAkB,CAAC1pC,CAAC,CAAC,CAACiY,GAAG,EAAEuxB,eAAe,EAAEC,SAAS,CAAC,KAAK,KAAK,EAAE;YACpE;UACF;QACF;MACF;MACAF,GAAG,GAAGA,GAAG,CAAC5qB,MAAM;IAClB;IACA,IAAI0qB,YAAY,EAAE;MAChB3F,yEAAa,CAAC,CAAC;MACfoE,qBAAqB,CAACuB,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAC5CpxB,GAAG,EACHuxB,eAAe,EACfC,SAAS,CACV,CAAC;MACF9F,yEAAa,CAAC,CAAC;MACf;IACF;EACF;EACAiG,QAAQ,CAAC3xB,GAAG,EAAElY,IAAI,EAAEqpC,YAAY,EAAED,UAAU,EAAEG,+BAA+B,CAAC;AAChF;AACA,SAASM,QAAQA,CAAC3xB,GAAG,EAAElY,IAAI,EAAEqpC,YAAY,EAAED,UAAU,GAAG,IAAI,EAAEU,WAAW,GAAG,KAAK,EAAE;EACjF,IAAI,KAAyC,EAAE,EAc9C,MAAM,IAAIA,WAAW,EAAE;IACtB,MAAM5xB,GAAG;EACX,CAAC,MAAM;IACLpX,OAAO,CAAC4R,KAAK,CAACwF,GAAG,CAAC;EACpB;AACF;AAEA,MAAM8xB,KAAK,GAAG,EAAE;AAChB,IAAIC,UAAU,GAAG,CAAC,CAAC;AACnB,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,IAAIC,kBAAkB,GAAG,IAAI;AAC7B,IAAIC,cAAc,GAAG,CAAC;AACtB,MAAMC,eAAe,GAAG,eAAgBt0B,OAAO,CAACE,OAAO,CAAC,CAAC;AACzD,IAAIq0B,mBAAmB,GAAG,IAAI;AAC9B,MAAMC,eAAe,GAAG,GAAG;AAC3B,SAAS7uB,QAAQA,CAACjB,EAAE,EAAE;EACpB,MAAM+S,CAAC,GAAG8c,mBAAmB,IAAID,eAAe;EAChD,OAAO5vB,EAAE,GAAG+S,CAAC,CAACE,IAAI,CAAC,IAAI,GAAGjT,EAAE,CAACyY,IAAI,CAAC,IAAI,CAAC,GAAGzY,EAAE,CAAC,GAAG+S,CAAC;AACnD;AACA,SAASgd,kBAAkBA,CAAChwB,EAAE,EAAE;EAC9B,IAAIgG,KAAK,GAAGypB,UAAU,GAAG,CAAC;EAC1B,IAAIxpB,GAAG,GAAGupB,KAAK,CAACzoC,MAAM;EACtB,OAAOif,KAAK,GAAGC,GAAG,EAAE;IAClB,MAAMib,MAAM,GAAGlb,KAAK,GAAGC,GAAG,KAAK,CAAC;IAChC,MAAMgqB,SAAS,GAAGT,KAAK,CAACtO,MAAM,CAAC;IAC/B,MAAMgP,WAAW,GAAGC,KAAK,CAACF,SAAS,CAAC;IACpC,IAAIC,WAAW,GAAGlwB,EAAE,IAAIkwB,WAAW,KAAKlwB,EAAE,IAAIiwB,SAAS,CAACG,KAAK,GAAG,CAAC,EAAE;MACjEpqB,KAAK,GAAGkb,MAAM,GAAG,CAAC;IACpB,CAAC,MAAM;MACLjb,GAAG,GAAGib,MAAM;IACd;EACF;EACA,OAAOlb,KAAK;AACd;AACA,SAASqqB,QAAQA,CAACC,GAAG,EAAE;EACrB,IAAI,EAAEA,GAAG,CAACF,KAAK,GAAG,CAAC,CAAC,EAAE;IACpB,MAAMG,KAAK,GAAGJ,KAAK,CAACG,GAAG,CAAC;IACxB,MAAME,OAAO,GAAGhB,KAAK,CAACA,KAAK,CAACzoC,MAAM,GAAG,CAAC,CAAC;IACvC,IAAI,CAACypC,OAAO;IAAI;IAChB,EAAEF,GAAG,CAACF,KAAK,GAAG,CAAC,CAAC,IAAIG,KAAK,IAAIJ,KAAK,CAACK,OAAO,CAAC,EAAE;MAC3ChB,KAAK,CAAC/1B,IAAI,CAAC62B,GAAG,CAAC;IACjB,CAAC,MAAM;MACLd,KAAK,CAAChR,MAAM,CAACwR,kBAAkB,CAACO,KAAK,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC;IACjD;IACAA,GAAG,CAACF,KAAK,IAAI,CAAC;IACdK,UAAU,CAAC,CAAC;EACd;AACF;AACA,SAASA,UAAUA,CAAA,EAAG;EACpB,IAAI,CAACX,mBAAmB,EAAE;IACxBA,mBAAmB,GAAGD,eAAe,CAAC3c,IAAI,CAACwd,SAAS,CAAC;EACvD;AACF;AACA,SAASjwB,gBAAgBA,CAACoK,EAAE,EAAE;EAC5B,IAAI,CAAC9e,+DAAO,CAAC8e,EAAE,CAAC,EAAE;IAChB,IAAI8kB,kBAAkB,IAAI9kB,EAAE,CAAC7K,EAAE,KAAK,CAAC,CAAC,EAAE;MACtC2vB,kBAAkB,CAACnR,MAAM,CAACoR,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE/kB,EAAE,CAAC;IACtD,CAAC,MAAM,IAAI,EAAEA,EAAE,CAACulB,KAAK,GAAG,CAAC,CAAC,EAAE;MAC1BV,mBAAmB,CAACj2B,IAAI,CAACoR,EAAE,CAAC;MAC5BA,EAAE,CAACulB,KAAK,IAAI,CAAC;IACf;EACF,CAAC,MAAM;IACLV,mBAAmB,CAACj2B,IAAI,CAAC,GAAGoR,EAAE,CAAC;EACjC;EACA4lB,UAAU,CAAC,CAAC;AACd;AACA,SAASE,gBAAgBA,CAACxiB,QAAQ,EAAEyiB,IAAI,EAAEnrC,CAAC,GAAGgqC,UAAU,GAAG,CAAC,EAAE;EAC5D,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAOhqC,CAAC,GAAG+pC,KAAK,CAACzoC,MAAM,EAAEtB,CAAC,EAAE,EAAE;IAC5B,MAAMolB,EAAE,GAAG2kB,KAAK,CAAC/pC,CAAC,CAAC;IACnB,IAAIolB,EAAE,IAAIA,EAAE,CAACulB,KAAK,GAAG,CAAC,EAAE;MACtB,IAAIjiB,QAAQ,IAAItD,EAAE,CAAC7K,EAAE,KAAKmO,QAAQ,CAACM,GAAG,EAAE;QACtC;MACF;MACA,IAAI,KAA4E,EAAE,EAEjF;MACD+gB,KAAK,CAAChR,MAAM,CAAC/4B,CAAC,EAAE,CAAC,CAAC;MAClBA,CAAC,EAAE;MACH,IAAIolB,EAAE,CAACulB,KAAK,GAAG,CAAC,EAAE;QAChBvlB,EAAE,CAACulB,KAAK,IAAI,CAAC,CAAC;MAChB;MACAvlB,EAAE,CAAC,CAAC;MACJ,IAAI,EAAEA,EAAE,CAACulB,KAAK,GAAG,CAAC,CAAC,EAAE;QACnBvlB,EAAE,CAACulB,KAAK,IAAI,CAAC,CAAC;MAChB;IACF;EACF;AACF;AACA,SAASU,iBAAiBA,CAACF,IAAI,EAAE;EAC/B,IAAIlB,mBAAmB,CAAC3oC,MAAM,EAAE;IAC9B,MAAMgqC,OAAO,GAAG,CAAC,GAAG,IAAIrmB,GAAG,CAACglB,mBAAmB,CAAC,CAAC,CAACsB,IAAI,CACpD,CAACl/B,CAAC,EAAEC,CAAC,KAAKo+B,KAAK,CAACr+B,CAAC,CAAC,GAAGq+B,KAAK,CAACp+B,CAAC,CAC9B,CAAC;IACD29B,mBAAmB,CAAC3oC,MAAM,GAAG,CAAC;IAC9B,IAAI4oC,kBAAkB,EAAE;MACtBA,kBAAkB,CAACl2B,IAAI,CAAC,GAAGs3B,OAAO,CAAC;MACnC;IACF;IACApB,kBAAkB,GAAGoB,OAAO;IAC5B,IAAI,KAAyC,EAAE,EAE9C;IACD,KAAKnB,cAAc,GAAG,CAAC,EAAEA,cAAc,GAAGD,kBAAkB,CAAC5oC,MAAM,EAAE6oC,cAAc,EAAE,EAAE;MACrF,MAAM/kB,EAAE,GAAG8kB,kBAAkB,CAACC,cAAc,CAAC;MAC7C,IAAI,KAA4E,EAAE,EAEjF;MACD,IAAI/kB,EAAE,CAACulB,KAAK,GAAG,CAAC,EAAE;QAChBvlB,EAAE,CAACulB,KAAK,IAAI,CAAC,CAAC;MAChB;MACA,IAAI,EAAEvlB,EAAE,CAACulB,KAAK,GAAG,CAAC,CAAC,EAAEvlB,EAAE,CAAC,CAAC;MACzBA,EAAE,CAACulB,KAAK,IAAI,CAAC,CAAC;IAChB;IACAT,kBAAkB,GAAG,IAAI;IACzBC,cAAc,GAAG,CAAC;EACpB;AACF;AACA,MAAMO,KAAK,GAAIG,GAAG,IAAKA,GAAG,CAACtwB,EAAE,IAAI,IAAI,GAAGswB,GAAG,CAACF,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGpL,QAAQ,GAAGsL,GAAG,CAACtwB,EAAE;AAC9E,SAAS0wB,SAASA,CAACE,IAAI,EAAE;EACvB,IAAI,KAAyC,EAAE,EAE9C;EACD,MAAMK,KAAK,GAAG,MAAyC,GAAIX,CAAwC,GAAGruB,wDAAI;EAC1G,IAAI;IACF,KAAKwtB,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGD,KAAK,CAACzoC,MAAM,EAAE0oC,UAAU,EAAE,EAAE;MAC5D,MAAMa,GAAG,GAAGd,KAAK,CAACC,UAAU,CAAC;MAC7B,IAAIa,GAAG,IAAI,EAAEA,GAAG,CAACF,KAAK,GAAG,CAAC,CAAC,EAAE;QAC3B,IAAI,KAAuD,EAAE,EAE5D;QACD,IAAIE,GAAG,CAACF,KAAK,GAAG,CAAC,EAAE;UACjBE,GAAG,CAACF,KAAK,IAAI,CAAC,CAAC;QACjB;QACA7C,qBAAqB,CACnB+C,GAAG,EACHA,GAAG,CAAC7qC,CAAC,EACL6qC,GAAG,CAAC7qC,CAAC,GAAG,EAAE,GAAG,EACf,CAAC;QACD,IAAI,EAAE6qC,GAAG,CAACF,KAAK,GAAG,CAAC,CAAC,EAAE;UACpBE,GAAG,CAACF,KAAK,IAAI,CAAC,CAAC;QACjB;MACF;IACF;EACF,CAAC,SAAS;IACR,OAAOX,UAAU,GAAGD,KAAK,CAACzoC,MAAM,EAAE0oC,UAAU,EAAE,EAAE;MAC9C,MAAMa,GAAG,GAAGd,KAAK,CAACC,UAAU,CAAC;MAC7B,IAAIa,GAAG,EAAE;QACPA,GAAG,CAACF,KAAK,IAAI,CAAC,CAAC;MACjB;IACF;IACAX,UAAU,GAAG,CAAC,CAAC;IACfD,KAAK,CAACzoC,MAAM,GAAG,CAAC;IAChB+pC,iBAAiB,CAACF,IAAI,CAAC;IACvBd,mBAAmB,GAAG,IAAI;IAC1B,IAAIN,KAAK,CAACzoC,MAAM,IAAI2oC,mBAAmB,CAAC3oC,MAAM,EAAE;MAC9C2pC,SAAS,CAACE,IAAI,CAAC;IACjB;EACF;AACF;AACA,SAASC,qBAAqBA,CAACD,IAAI,EAAE3wB,EAAE,EAAE;EACvC,MAAMixB,KAAK,GAAGN,IAAI,CAAC1hC,GAAG,CAAC+Q,EAAE,CAAC,IAAI,CAAC;EAC/B,IAAIixB,KAAK,GAAGnB,eAAe,EAAE;IAC3B,MAAM5hB,QAAQ,GAAGlO,EAAE,CAACxa,CAAC;IACrB,MAAM0rC,aAAa,GAAGhjB,QAAQ,IAAIijB,gBAAgB,CAACjjB,QAAQ,CAAC3oB,IAAI,CAAC;IACjE4Y,WAAW,CACT,qCAAqC+yB,aAAa,GAAG,kBAAkBA,aAAa,GAAG,GAAG,EAAE,8NAA8N,EAC1T,IAAI,EACJ,EACF,CAAC;IACD,OAAO,IAAI;EACb;EACAP,IAAI,CAACviC,GAAG,CAAC4R,EAAE,EAAEixB,KAAK,GAAG,CAAC,CAAC;EACvB,OAAO,KAAK;AACd;AAEA,IAAIG,aAAa,GAAG,KAAK;AACzB,MAAMC,kBAAkB,GAAG,eAAgB,IAAI/X,GAAG,CAAC,CAAC;AACpD,IAAI,KAAyC,EAAE,EAM9C;AACD,MAAMvtB,GAAG,GAAG,eAAgB,IAAIutB,GAAG,CAAC,CAAC;AACrC,SAASqY,WAAWA,CAACzjB,QAAQ,EAAE;EAC7B,MAAMnO,EAAE,GAAGmO,QAAQ,CAAC3oB,IAAI,CAAC6zB,OAAO;EAChC,IAAIwY,MAAM,GAAG7lC,GAAG,CAACkD,GAAG,CAAC8Q,EAAE,CAAC;EACxB,IAAI,CAAC6xB,MAAM,EAAE;IACXL,YAAY,CAACxxB,EAAE,EAAEmO,QAAQ,CAAC3oB,IAAI,CAAC;IAC/BqsC,MAAM,GAAG7lC,GAAG,CAACkD,GAAG,CAAC8Q,EAAE,CAAC;EACtB;EACA6xB,MAAM,CAACC,SAAS,CAACrnB,GAAG,CAAC0D,QAAQ,CAAC;AAChC;AACA,SAAS4jB,aAAaA,CAAC5jB,QAAQ,EAAE;EAC/BniB,GAAG,CAACkD,GAAG,CAACif,QAAQ,CAAC3oB,IAAI,CAAC6zB,OAAO,CAAC,CAACyY,SAAS,CAACviC,MAAM,CAAC4e,QAAQ,CAAC;AAC3D;AACA,SAASqjB,YAAYA,CAACxxB,EAAE,EAAEgyB,UAAU,EAAE;EACpC,IAAIhmC,GAAG,CAACqD,GAAG,CAAC2Q,EAAE,CAAC,EAAE;IACf,OAAO,KAAK;EACd;EACAhU,GAAG,CAACqC,GAAG,CAAC2R,EAAE,EAAE;IACVgyB,UAAU,EAAEC,uBAAuB,CAACD,UAAU,CAAC;IAC/CF,SAAS,EAAE,eAAgB,IAAIpnB,GAAG,CAAC;EACrC,CAAC,CAAC;EACF,OAAO,IAAI;AACb;AACA,SAASunB,uBAAuBA,CAACpiB,SAAS,EAAE;EAC1C,OAAOqiB,gBAAgB,CAACriB,SAAS,CAAC,GAAGA,SAAS,CAACsiB,SAAS,GAAGtiB,SAAS;AACtE;AACA,SAAS6hB,QAAQA,CAAC1xB,EAAE,EAAEoyB,SAAS,EAAE;EAC/B,MAAMP,MAAM,GAAG7lC,GAAG,CAACkD,GAAG,CAAC8Q,EAAE,CAAC;EAC1B,IAAI,CAAC6xB,MAAM,EAAE;IACX;EACF;EACAA,MAAM,CAACG,UAAU,CAAC1Z,MAAM,GAAG8Z,SAAS;EACpC,CAAC,GAAGP,MAAM,CAACC,SAAS,CAAC,CAACvsC,OAAO,CAAE4oB,QAAQ,IAAK;IAC1C,IAAIikB,SAAS,EAAE;MACbjkB,QAAQ,CAACmK,MAAM,GAAG8Z,SAAS;MAC3BH,uBAAuB,CAAC9jB,QAAQ,CAAC3oB,IAAI,CAAC,CAAC8yB,MAAM,GAAG8Z,SAAS;IAC3D;IACAjkB,QAAQ,CAACkkB,WAAW,GAAG,EAAE;IACzBhB,aAAa,GAAG,IAAI;IACpBljB,QAAQ,CAACmkB,MAAM,CAAC,CAAC;IACjBjB,aAAa,GAAG,KAAK;EACvB,CAAC,CAAC;AACJ;AACA,SAASM,MAAMA,CAAC3xB,EAAE,EAAEuyB,OAAO,EAAE;EAC3B,MAAMV,MAAM,GAAG7lC,GAAG,CAACkD,GAAG,CAAC8Q,EAAE,CAAC;EAC1B,IAAI,CAAC6xB,MAAM,EAAE;EACbU,OAAO,GAAGN,uBAAuB,CAACM,OAAO,CAAC;EAC1CC,kBAAkB,CAACX,MAAM,CAACG,UAAU,EAAEO,OAAO,CAAC;EAC9C,MAAMT,SAAS,GAAG,CAAC,GAAGD,MAAM,CAACC,SAAS,CAAC;EACvC,KAAK,IAAIrsC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqsC,SAAS,CAAC/qC,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACzC,MAAM0oB,QAAQ,GAAG2jB,SAAS,CAACrsC,CAAC,CAAC;IAC7B,MAAMgtC,OAAO,GAAGR,uBAAuB,CAAC9jB,QAAQ,CAAC3oB,IAAI,CAAC;IACtD,IAAIktC,cAAc,GAAGpB,kBAAkB,CAACpiC,GAAG,CAACujC,OAAO,CAAC;IACpD,IAAI,CAACC,cAAc,EAAE;MACnB,IAAID,OAAO,KAAKZ,MAAM,CAACG,UAAU,EAAE;QACjCQ,kBAAkB,CAACC,OAAO,EAAEF,OAAO,CAAC;MACtC;MACAjB,kBAAkB,CAACjjC,GAAG,CAACokC,OAAO,EAAEC,cAAc,GAAG,eAAgB,IAAIhoB,GAAG,CAAC,CAAC,CAAC;IAC7E;IACAgoB,cAAc,CAACjoB,GAAG,CAAC0D,QAAQ,CAAC;IAC5BA,QAAQ,CAACgf,UAAU,CAACwF,UAAU,CAACpjC,MAAM,CAAC4e,QAAQ,CAAC3oB,IAAI,CAAC;IACpD2oB,QAAQ,CAACgf,UAAU,CAACyF,UAAU,CAACrjC,MAAM,CAAC4e,QAAQ,CAAC3oB,IAAI,CAAC;IACpD2oB,QAAQ,CAACgf,UAAU,CAAC0F,YAAY,CAACtjC,MAAM,CAAC4e,QAAQ,CAAC3oB,IAAI,CAAC;IACtD,IAAI2oB,QAAQ,CAACyK,QAAQ,EAAE;MACrB8Z,cAAc,CAACjoB,GAAG,CAAC0D,QAAQ,CAAC;MAC5BA,QAAQ,CAACyK,QAAQ,CAAC2Z,OAAO,CAAC9mB,MAAM,CAAC;MACjCinB,cAAc,CAACnjC,MAAM,CAAC4e,QAAQ,CAAC;IACjC,CAAC,MAAM,IAAIA,QAAQ,CAAC/J,MAAM,EAAE;MAC1BisB,QAAQ,CAAC,MAAM;QACbgB,aAAa,GAAG,IAAI;QACpBljB,QAAQ,CAAC/J,MAAM,CAACkuB,MAAM,CAAC,CAAC;QACxBjB,aAAa,GAAG,KAAK;QACrBqB,cAAc,CAACnjC,MAAM,CAAC4e,QAAQ,CAAC;MACjC,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIA,QAAQ,CAACgf,UAAU,CAACwE,MAAM,EAAE;MACrCxjB,QAAQ,CAACgf,UAAU,CAACwE,MAAM,CAAC,CAAC;IAC9B,CAAC,MAAM,IAAI,OAAOj8B,MAAM,KAAK,WAAW,EAAE;MACxCA,MAAM,CAACC,QAAQ,CAACg8B,MAAM,CAAC,CAAC;IAC1B,CAAC,MAAM;MACLrrC,OAAO,CAACC,IAAI,CACV,yEACF,CAAC;IACH;IACA,IAAI4nB,QAAQ,CAACyO,IAAI,CAAC/N,EAAE,IAAIV,QAAQ,KAAKA,QAAQ,CAACyO,IAAI,EAAE;MAClDzO,QAAQ,CAACyO,IAAI,CAAC/N,EAAE,CAACwL,iBAAiB,CAACoY,OAAO,CAAC;IAC7C;EACF;EACAhyB,gBAAgB,CAAC,MAAM;IACrB6wB,kBAAkB,CAAC5hC,KAAK,CAAC,CAAC;EAC5B,CAAC,CAAC;AACJ;AACA,SAAS8iC,kBAAkBA,CAACC,OAAO,EAAEF,OAAO,EAAE;EAC5CxwB,MAAM,CAAC0wB,OAAO,EAAEF,OAAO,CAAC;EACxB,KAAK,MAAMnnC,GAAG,IAAIqnC,OAAO,EAAE;IACzB,IAAIrnC,GAAG,KAAK,QAAQ,IAAI,EAAEA,GAAG,IAAImnC,OAAO,CAAC,EAAE;MACzC,OAAOE,OAAO,CAACrnC,GAAG,CAAC;IACrB;EACF;AACF;AACA,SAASqmC,OAAOA,CAACxxB,EAAE,EAAE;EACnB,OAAO,CAACD,EAAE,EAAE8yB,GAAG,KAAK;IAClB,IAAI;MACF,OAAO7yB,EAAE,CAACD,EAAE,EAAE8yB,GAAG,CAAC;IACpB,CAAC,CAAC,OAAOp4B,CAAC,EAAE;MACVpU,OAAO,CAAC4R,KAAK,CAACwC,CAAC,CAAC;MAChBpU,OAAO,CAACC,IAAI,CACV,mFACF,CAAC;IACH;EACF,CAAC;AACH;AAEA,IAAIwsC,UAAU;AACd,IAAIzO,MAAM,GAAG,kDAAE;AACf,IAAI0O,oBAAoB,GAAG,KAAK;AAChC,SAASC,MAAMA,CAAC73B,KAAK,EAAE,GAAG+M,IAAI,EAAE;EAC9B,IAAI4qB,UAAU,EAAE;IACdA,UAAU,CAAC15B,IAAI,CAAC+B,KAAK,EAAE,GAAG+M,IAAI,CAAC;EACjC,CAAC,MAAM,IAAI,CAAC6qB,oBAAoB,EAAE;IAChC1O,MAAM,CAAC7qB,IAAI,CAAC;MAAE2B,KAAK;MAAE+M;IAAK,CAAC,CAAC;EAC9B;AACF;AACA,SAAS+qB,iBAAiBA,CAACj6B,IAAI,EAAExI,MAAM,EAAE;EACvC,IAAIwzB,EAAE,EAAEuJ,EAAE;EACVuF,UAAU,GAAG95B,IAAI;EACjB,IAAI85B,UAAU,EAAE;IACdA,UAAU,CAACI,OAAO,GAAG,IAAI;IACzB7O,MAAM,CAAC/+B,OAAO,CAAC,CAAC;MAAE6V,KAAK;MAAE+M;IAAK,CAAC,KAAK4qB,UAAU,CAAC15B,IAAI,CAAC+B,KAAK,EAAE,GAAG+M,IAAI,CAAC,CAAC;IACpEmc,MAAM,GAAG,EAAE;EACb,CAAC,MAAM;EACL;EACA;EACA;EACA,OAAO5uB,MAAM,KAAK,WAAW;EAAI;EACjCA,MAAM,CAACuf,WAAW;EAAI;EACtB;EACA,EAAE,CAACuY,EAAE,GAAG,CAACvJ,EAAE,GAAGvuB,MAAM,CAACjB,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGwvB,EAAE,CAACvvB,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG84B,EAAE,CAAC1b,QAAQ,CAAC,OAAO,CAAC,CAAC,EACzG;IACA,MAAMshB,MAAM,GAAG3iC,MAAM,CAAC4iC,4BAA4B,GAAG5iC,MAAM,CAAC4iC,4BAA4B,IAAI,EAAE;IAC9FD,MAAM,CAAC35B,IAAI,CAAE65B,OAAO,IAAK;MACvBJ,iBAAiB,CAACI,OAAO,EAAE7iC,MAAM,CAAC;IACpC,CAAC,CAAC;IACFsN,UAAU,CAAC,MAAM;MACf,IAAI,CAACg1B,UAAU,EAAE;QACftiC,MAAM,CAAC4iC,4BAA4B,GAAG,IAAI;QAC1CL,oBAAoB,GAAG,IAAI;QAC3B1O,MAAM,GAAG,EAAE;MACb;IACF,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,MAAM;IACL0O,oBAAoB,GAAG,IAAI;IAC3B1O,MAAM,GAAG,EAAE;EACb;AACF;AACA,SAASiP,eAAeA,CAAC9Q,GAAG,EAAE38B,OAAO,EAAE;EACrCmtC,MAAM,CAAC,UAAU,CAAC,gBAAgBxQ,GAAG,EAAE38B,OAAO,EAAE;IAC9C+a,QAAQ;IACRc,IAAI;IACJ6xB,OAAO;IACP1yB;EACF,CAAC,CAAC;AACJ;AACA,SAAS2yB,kBAAkBA,CAAChR,GAAG,EAAE;EAC/BwQ,MAAM,CAAC,aAAa,CAAC,mBAAmBxQ,GAAG,CAAC;AAC9C;AACA,MAAMiR,sBAAsB,GAAG,eAAgBC,gDAAAA,2BAA2B,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;AACnH,MAAMC,wBAAwB,GAAG,eAAgBD,gDAAAA,2BAA2B,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;AACzH,MAAME,yBAAyB,GAAG,eAAgBF,gDAAAA,2BAA2B,CAC3E,mBAAmB,CAAC,uBACtB,CAAC;AACD,MAAMG,wBAAwB,GAAIjkB,SAAS,IAAK;EAC9C,IAAIkjB,UAAU,IAAI,OAAOA,UAAU,CAACgB,aAAa,KAAK,UAAU;EAAI;EACpE,CAAChB,UAAU,CAACgB,aAAa,CAAClkB,SAAS,CAAC,EAAE;IACpCgkB,yBAAyB,CAAChkB,SAAS,CAAC;EACtC;AACF,CAAC;AACD;AACA;AACA,SAAS8jB,2BAA2BA,CAAC16B,IAAI,EAAE;EACzC,OAAQ4W,SAAS,IAAK;IACpBojB,MAAM,CACJh6B,IAAI,EACJ4W,SAAS,CAACsd,UAAU,CAAC1K,GAAG,EACxB5S,SAAS,CAACpB,GAAG,EACboB,SAAS,CAACzL,MAAM,GAAGyL,SAAS,CAACzL,MAAM,CAACqK,GAAG,GAAG,KAAK,CAAC,EAChDoB,SACF,CAAC;EACH,CAAC;AACH;AACA,MAAMmkB,iBAAiB,GAAG,eAAgBC,gDAAAA,6BAA6B,CAAC,YAAY,CAAC,uBAAuB,CAAC;AAC7G,MAAMC,eAAe,GAAG,eAAgBD,gDAAAA,6BAA6B,CAAC,UAAU,CAAC,qBAAqB,CAAC;AACvG,SAASA,6BAA6BA,CAACh7B,IAAI,EAAE;EAC3C,OAAO,CAAC4W,SAAS,EAAErqB,IAAI,EAAE2uC,IAAI,KAAK;IAChClB,MAAM,CAACh6B,IAAI,EAAE4W,SAAS,CAACsd,UAAU,CAAC1K,GAAG,EAAE5S,SAAS,CAACpB,GAAG,EAAEoB,SAAS,EAAErqB,IAAI,EAAE2uC,IAAI,CAAC;EAC9E,CAAC;AACH;AACA,SAASC,qBAAqBA,CAACvkB,SAAS,EAAEzU,KAAK,EAAE6B,MAAM,EAAE;EACvDg2B,MAAM,CACJ,gBAAgB,CAAC,sBACjBpjB,SAAS,CAACsd,UAAU,CAAC1K,GAAG,EACxB5S,SAAS,EACTzU,KAAK,EACL6B,MACF,CAAC;AACH;AAEA,IAAIo3B,wBAAwB,GAAG,IAAI;AACnC,IAAIC,cAAc,GAAG,IAAI;AACzB,SAASC,2BAA2BA,CAACpmB,QAAQ,EAAE;EAC7C,MAAMiC,IAAI,GAAGikB,wBAAwB;EACrCA,wBAAwB,GAAGlmB,QAAQ;EACnCmmB,cAAc,GAAGnmB,QAAQ,IAAIA,QAAQ,CAAC3oB,IAAI,CAACs0B,SAAS,IAAI,IAAI;EAC5D,OAAO1J,IAAI;AACb;AACA,SAASokB,WAAWA,CAACx0B,EAAE,EAAE;EACvBs0B,cAAc,GAAGt0B,EAAE;AACrB;AACA,SAASy0B,UAAUA,CAAA,EAAG;EACpBH,cAAc,GAAG,IAAI;AACvB;AACA,MAAMI,WAAW,GAAIC,GAAG,IAAKC,OAAO;AACpC,SAASA,OAAOA,CAAC30B,EAAE,EAAE40B,GAAG,GAAGR,wBAAwB,EAAES,eAAe,EAAE;EACpE,IAAI,CAACD,GAAG,EAAE,OAAO50B,EAAE;EACnB,IAAIA,EAAE,CAAC80B,EAAE,EAAE;IACT,OAAO90B,EAAE;EACX;EACA,MAAM+0B,mBAAmB,GAAGA,CAAC,GAAG7sB,IAAI,KAAK;IACvC,IAAI6sB,mBAAmB,CAACC,EAAE,EAAE;MAC1BC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtB;IACA,MAAMC,YAAY,GAAGZ,2BAA2B,CAACM,GAAG,CAAC;IACrD,IAAIxqB,GAAG;IACP,IAAI;MACFA,GAAG,GAAGpK,EAAE,CAAC,GAAGkI,IAAI,CAAC;IACnB,CAAC,SAAS;MACRosB,2BAA2B,CAACY,YAAY,CAAC;MACzC,IAAIH,mBAAmB,CAACC,EAAE,EAAE;QAC1BC,gBAAgB,CAAC,CAAC,CAAC;MACrB;IACF;IACA,IAAI,KAAkE,EAAE,EAEvE;IACD,OAAO7qB,GAAG;EACZ,CAAC;EACD2qB,mBAAmB,CAACD,EAAE,GAAG,IAAI;EAC7BC,mBAAmB,CAACI,EAAE,GAAG,IAAI;EAC7BJ,mBAAmB,CAACC,EAAE,GAAG,IAAI;EAC7B,OAAOD,mBAAmB;AAC5B;AAEA,SAASK,qBAAqBA,CAACp/B,IAAI,EAAE;EACnC,IAAIy1B,kBAAkB,CAACz1B,IAAI,CAAC,EAAE;IAC5Bg3B,MAAM,CAAC,4DAA4D,GAAGh3B,IAAI,CAAC;EAC7E;AACF;AACA,SAASq/B,cAAcA,CAAChmB,KAAK,EAAEimB,UAAU,EAAE;EACzC,IAAIlB,wBAAwB,KAAK,IAAI,EAAE;IACrC,MAAyC,IAAIpH,CAAkE;IAC/G,OAAO3d,KAAK;EACd;EACA,MAAMnB,QAAQ,GAAGqnB,0BAA0B,CAACnB,wBAAwB,CAAC;EACrE,MAAMoB,QAAQ,GAAGnmB,KAAK,CAAComB,IAAI,KAAKpmB,KAAK,CAAComB,IAAI,GAAG,EAAE,CAAC;EAChD,KAAK,IAAIjwC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8vC,UAAU,CAACxuC,MAAM,EAAEtB,CAAC,EAAE,EAAE;IAC1C,IAAI,CAACkwC,GAAG,EAAExvC,KAAK,EAAE2sC,GAAG,EAAEvV,SAAS,GAAG5a,6DAAS,CAAC,GAAG4yB,UAAU,CAAC9vC,CAAC,CAAC;IAC5D,IAAIkwC,GAAG,EAAE;MACP,IAAI7oC,kEAAU,CAAC6oC,GAAG,CAAC,EAAE;QACnBA,GAAG,GAAG;UACJjoB,OAAO,EAAEioB,GAAG;UACZhoB,OAAO,EAAEgoB;QACX,CAAC;MACH;MACA,IAAIA,GAAG,CAAC5X,IAAI,EAAE;QACZuL,oEAAQ,CAACnjC,KAAK,CAAC;MACjB;MACAsvC,QAAQ,CAACh8B,IAAI,CAAC;QACZk8B,GAAG;QACHxnB,QAAQ;QACRhoB,KAAK;QACLynB,QAAQ,EAAE,KAAK,CAAC;QAChBklB,GAAG;QACHvV;MACF,CAAC,CAAC;IACJ;EACF;EACA,OAAOjO,KAAK;AACd;AACA,SAASsmB,mBAAmBA,CAACtmB,KAAK,EAAEwQ,SAAS,EAAE3R,QAAQ,EAAElY,IAAI,EAAE;EAC7D,MAAMw/B,QAAQ,GAAGnmB,KAAK,CAAComB,IAAI;EAC3B,MAAMG,WAAW,GAAG/V,SAAS,IAAIA,SAAS,CAAC4V,IAAI;EAC/C,KAAK,IAAIjwC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgwC,QAAQ,CAAC1uC,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACxC,MAAMm5B,OAAO,GAAG6W,QAAQ,CAAChwC,CAAC,CAAC;IAC3B,IAAIowC,WAAW,EAAE;MACfjX,OAAO,CAAChR,QAAQ,GAAGioB,WAAW,CAACpwC,CAAC,CAAC,CAACU,KAAK;IACzC;IACA,IAAI8S,IAAI,GAAG2lB,OAAO,CAAC+W,GAAG,CAAC1/B,IAAI,CAAC;IAC5B,IAAIgD,IAAI,EAAE;MACRkwB,yEAAa,CAAC,CAAC;MACfnoB,0BAA0B,CAAC/H,IAAI,EAAEkV,QAAQ,EAAE,CAAC,EAAE,CAC5CmB,KAAK,CAACxK,EAAE,EACR8Z,OAAO,EACPtP,KAAK,EACLwQ,SAAS,CACV,CAAC;MACFsJ,yEAAa,CAAC,CAAC;IACjB;EACF;AACF;AAEA,MAAM0M,cAAc,GAAGtqC,MAAM,CAAC,MAAM,CAAC;AACrC,MAAMuqC,UAAU,GAAIvwC,IAAI,IAAKA,IAAI,CAACwwC,YAAY;AAC9C,MAAMC,kBAAkB,GAAIpxB,KAAK,IAAKA,KAAK,KAAKA,KAAK,CAACqxB,QAAQ,IAAIrxB,KAAK,CAACqxB,QAAQ,KAAK,EAAE,CAAC;AACxF,MAAMC,kBAAkB,GAAItxB,KAAK,IAAKA,KAAK,KAAKA,KAAK,CAACuxB,KAAK,IAAIvxB,KAAK,CAACuxB,KAAK,KAAK,EAAE,CAAC;AAClF,MAAMC,WAAW,GAAI5lC,MAAM,IAAK,OAAOuyB,UAAU,KAAK,WAAW,IAAIvyB,MAAM,YAAYuyB,UAAU;AACjG,MAAMsT,cAAc,GAAI7lC,MAAM,IAAK,OAAOwyB,aAAa,KAAK,UAAU,IAAIxyB,MAAM,YAAYwyB,aAAa;AACzG,MAAMsT,aAAa,GAAGA,CAAC1xB,KAAK,EAAE2xB,MAAM,KAAK;EACvC,MAAMC,cAAc,GAAG5xB,KAAK,IAAIA,KAAK,CAAC6xB,EAAE;EACxC,IAAI1pC,gEAAQ,CAACypC,cAAc,CAAC,EAAE;IAC5B,IAAI,CAACD,MAAM,EAAE;MACX,MAAyC,IAAIvJ,CAE5C;MACD,OAAO,IAAI;IACb,CAAC,MAAM;MACL,MAAMx8B,MAAM,GAAG+lC,MAAM,CAACC,cAAc,CAAC;MACrC,IAAI,KAAkF,EAAE,EAIvF;MACD,OAAOhmC,MAAM;IACf;EACF,CAAC,MAAM;IACL,IAAI,KAA0F,EAAE,EAE/F;IACD,OAAOgmC,cAAc;EACvB;AACF,CAAC;AACD,MAAME,YAAY,GAAG;EACnB1gC,IAAI,EAAE,UAAU;EAChB+/B,YAAY,EAAE,IAAI;EAClBvyB,OAAOA,CAACmzB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAErmC,SAAS,EAAE;IACjH,MAAM;MACJsmC,EAAE,EAAEC,aAAa;MACjBC,EAAE,EAAEC,aAAa;MACjBC,GAAG,EAAEC,kBAAkB;MACvBvd,CAAC,EAAE;QAAE7V,MAAM;QAAEyB,aAAa;QAAEV,UAAU;QAAEG;MAAc;IACxD,CAAC,GAAGzU,SAAS;IACb,MAAMulC,QAAQ,GAAGD,kBAAkB,CAACY,EAAE,CAAChyB,KAAK,CAAC;IAC7C,IAAI;MAAE0K,SAAS;MAAEO,QAAQ;MAAEynB;IAAgB,CAAC,GAAGV,EAAE;IACjD,IAAI,KAA0D,EAAE,EAG/D;IACD,IAAID,EAAE,IAAI,IAAI,EAAE;MACd,MAAMY,WAAW,GAAGX,EAAE,CAAC/xB,EAAE,GAAG,MAAyC,GAAGM,CAA+B,GAAGH,UAAU,CAAC,EAAE,CAAC;MACxH,MAAMwyB,UAAU,GAAGZ,EAAE,CAACxyB,MAAM,GAAG,MAAyC,GAAGe,CAA6B,GAAGH,UAAU,CAAC,EAAE,CAAC;MACzHf,MAAM,CAACszB,WAAW,EAAE1a,SAAS,EAAEzY,MAAM,CAAC;MACtCH,MAAM,CAACuzB,UAAU,EAAE3a,SAAS,EAAEzY,MAAM,CAAC;MACrC,MAAMwT,KAAK,GAAGA,CAAC6f,UAAU,EAAEC,OAAO,KAAK;QACrC,IAAIpoB,SAAS,GAAG,EAAE,EAAE;UAClB,IAAIoC,eAAe,IAAIA,eAAe,CAACgH,IAAI,EAAE;YAC3ChH,eAAe,CAAC9C,EAAE,CAAC+K,eAAe,GAAG8d,UAAU;UACjD;UACAR,aAAa,CACXpnB,QAAQ,EACR4nB,UAAU,EACVC,OAAO,EACPhmB,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACH;MACF,CAAC;MACD,MAAMY,aAAa,GAAGA,CAAA,KAAM;QAC1B,MAAMnnC,MAAM,GAAGomC,EAAE,CAACpmC,MAAM,GAAG8lC,aAAa,CAACM,EAAE,CAAChyB,KAAK,EAAEc,aAAa,CAAC;QACjE,MAAMkyB,YAAY,GAAGC,aAAa,CAACrnC,MAAM,EAAEomC,EAAE,EAAE5xB,UAAU,EAAEf,MAAM,CAAC;QAClE,IAAIzT,MAAM,EAAE;UACV,IAAIkU,SAAS,KAAK,KAAK,IAAI0xB,WAAW,CAAC5lC,MAAM,CAAC,EAAE;YAC9CkU,SAAS,GAAG,KAAK;UACnB,CAAC,MAAM,IAAIA,SAAS,KAAK,QAAQ,IAAI2xB,cAAc,CAAC7lC,MAAM,CAAC,EAAE;YAC3DkU,SAAS,GAAG,QAAQ;UACtB;UACA,IAAI,CAACuxB,QAAQ,EAAE;YACbre,KAAK,CAACpnB,MAAM,EAAEonC,YAAY,CAAC;YAC3BE,aAAa,CAAClB,EAAE,EAAE,KAAK,CAAC;UAC1B;QACF,CAAC,MAAM,IAAI,KAAsD,EAAE,EAMlE;MACH,CAAC;MACD,IAAIX,QAAQ,EAAE;QACZre,KAAK,CAACiF,SAAS,EAAE2a,UAAU,CAAC;QAC5BM,aAAa,CAAClB,EAAE,EAAE,IAAI,CAAC;MACzB;MACA,IAAIV,kBAAkB,CAACU,EAAE,CAAChyB,KAAK,CAAC,EAAE;QAChCmzB,qBAAqB,CAAC,MAAM;UAC1BJ,aAAa,CAAC,CAAC;UACff,EAAE,CAAC/xB,EAAE,CAACmzB,WAAW,GAAG,IAAI;QAC1B,CAAC,EAAEnB,cAAc,CAAC;MACpB,CAAC,MAAM;QACLc,aAAa,CAAC,CAAC;MACjB;IACF,CAAC,MAAM;MACL,IAAIzB,kBAAkB,CAACU,EAAE,CAAChyB,KAAK,CAAC,IAAI,CAAC+xB,EAAE,CAAC9xB,EAAE,CAACmzB,WAAW,EAAE;QACtDD,qBAAqB,CAAC,MAAM;UAC1BrB,YAAY,CAAClzB,OAAO,CAClBmzB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SAAS,EACTrmC,SACF,CAAC;UACD,OAAOimC,EAAE,CAAC9xB,EAAE,CAACmzB,WAAW;QAC1B,CAAC,EAAEnB,cAAc,CAAC;QAClB;MACF;MACAD,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;MACb+xB,EAAE,CAACqB,WAAW,GAAGtB,EAAE,CAACsB,WAAW;MAC/B,MAAMT,UAAU,GAAGZ,EAAE,CAACxyB,MAAM,GAAGuyB,EAAE,CAACvyB,MAAM;MACxC,MAAM5T,MAAM,GAAGomC,EAAE,CAACpmC,MAAM,GAAGmmC,EAAE,CAACnmC,MAAM;MACpC,MAAMonC,YAAY,GAAGhB,EAAE,CAACgB,YAAY,GAAGjB,EAAE,CAACiB,YAAY;MACtD,MAAMM,WAAW,GAAGlC,kBAAkB,CAACW,EAAE,CAAC/xB,KAAK,CAAC;MAChD,MAAMuzB,gBAAgB,GAAGD,WAAW,GAAGrb,SAAS,GAAGrsB,MAAM;MACzD,MAAM4nC,aAAa,GAAGF,WAAW,GAAGV,UAAU,GAAGI,YAAY;MAC7D,IAAIlzB,SAAS,KAAK,KAAK,IAAI0xB,WAAW,CAAC5lC,MAAM,CAAC,EAAE;QAC9CkU,SAAS,GAAG,KAAK;MACnB,CAAC,MAAM,IAAIA,SAAS,KAAK,QAAQ,IAAI2xB,cAAc,CAAC7lC,MAAM,CAAC,EAAE;QAC3DkU,SAAS,GAAG,QAAQ;MACtB;MACA,IAAI4yB,eAAe,EAAE;QACnBD,kBAAkB,CAChBV,EAAE,CAACW,eAAe,EAClBA,eAAe,EACfa,gBAAgB,EAChBzmB,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YACF,CAAC;QACDuB,sBAAsB,CAAC1B,EAAE,EAAEC,EAAE,EAAE,IAAI,CAAC;MACtC,CAAC,MAAM,IAAI,CAACG,SAAS,EAAE;QACrBI,aAAa,CACXR,EAAE,EACFC,EAAE,EACFuB,gBAAgB,EAChBC,aAAa,EACb1mB,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZ,KACF,CAAC;MACH;MACA,IAAIb,QAAQ,EAAE;QACZ,IAAI,CAACiC,WAAW,EAAE;UAChBI,YAAY,CACV1B,EAAE,EACF/Z,SAAS,EACT2a,UAAU,EACV9mC,SAAS,EACT,CACF,CAAC;QACH,CAAC,MAAM;UACL,IAAIkmC,EAAE,CAAChyB,KAAK,IAAI+xB,EAAE,CAAC/xB,KAAK,IAAIgyB,EAAE,CAAChyB,KAAK,CAAC6xB,EAAE,KAAKE,EAAE,CAAC/xB,KAAK,CAAC6xB,EAAE,EAAE;YACvDG,EAAE,CAAChyB,KAAK,CAAC6xB,EAAE,GAAGE,EAAE,CAAC/xB,KAAK,CAAC6xB,EAAE;UAC3B;QACF;MACF,CAAC,MAAM;QACL,IAAI,CAACG,EAAE,CAAChyB,KAAK,IAAIgyB,EAAE,CAAChyB,KAAK,CAAC6xB,EAAE,OAAOE,EAAE,CAAC/xB,KAAK,IAAI+xB,EAAE,CAAC/xB,KAAK,CAAC6xB,EAAE,CAAC,EAAE;UAC3D,MAAM8B,UAAU,GAAG3B,EAAE,CAACpmC,MAAM,GAAG8lC,aAAa,CAC1CM,EAAE,CAAChyB,KAAK,EACRc,aACF,CAAC;UACD,IAAI6yB,UAAU,EAAE;YACdD,YAAY,CACV1B,EAAE,EACF2B,UAAU,EACV,IAAI,EACJ7nC,SAAS,EACT,CACF,CAAC;UACH,CAAC,MAAM,IAAI,KAAyC,EAAE,EAMrD;QACH,CAAC,MAAM,IAAIwnC,WAAW,EAAE;UACtBI,YAAY,CACV1B,EAAE,EACFpmC,MAAM,EACNonC,YAAY,EACZlnC,SAAS,EACT,CACF,CAAC;QACH;MACF;MACAonC,aAAa,CAAClB,EAAE,EAAEX,QAAQ,CAAC;IAC7B;EACF,CAAC;EACD3xB,MAAMA,CAAC+K,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAE;IAAE2B,EAAE,EAAE1hB,OAAO;IAAEgD,CAAC,EAAE;MAAExV,MAAM,EAAEm0B;IAAW;EAAE,CAAC,EAAEC,QAAQ,EAAE;IACnG,MAAM;MACJppB,SAAS;MACTO,QAAQ;MACRzL,MAAM;MACN6zB,WAAW;MACXL,YAAY;MACZpnC,MAAM;MACNoU;IACF,CAAC,GAAGyK,KAAK;IACT,IAAI7e,MAAM,EAAE;MACVioC,UAAU,CAACR,WAAW,CAAC;MACvBQ,UAAU,CAACb,YAAY,CAAC;IAC1B;IACAc,QAAQ,IAAID,UAAU,CAACr0B,MAAM,CAAC;IAC9B,IAAIkL,SAAS,GAAG,EAAE,EAAE;MAClB,MAAMqpB,YAAY,GAAGD,QAAQ,IAAI,CAAC1C,kBAAkB,CAACpxB,KAAK,CAAC;MAC3D,KAAK,IAAIpf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;QACxC,MAAM0e,KAAK,GAAG2L,QAAQ,CAACrqB,CAAC,CAAC;QACzBsxB,OAAO,CACL5S,KAAK,EACLwN,eAAe,EACfmlB,cAAc,EACd8B,YAAY,EACZ,CAAC,CAACz0B,KAAK,CAACozB,eACV,CAAC;MACH;IACF;EACF,CAAC;EACDsB,IAAI,EAAEN,YAAY;EAClB/V,OAAO,EAAEsW;AACX,CAAC;AACD,SAASP,YAAYA,CAACjpB,KAAK,EAAEwN,SAAS,EAAEic,YAAY,EAAE;EAAEhf,CAAC,EAAE;IAAE7V;EAAO,CAAC;EAAE4O,CAAC,EAAE+lB;AAAK,CAAC,EAAEG,QAAQ,GAAG,CAAC,EAAE;EAC9F,IAAIA,QAAQ,KAAK,CAAC,EAAE;IAClB90B,MAAM,CAACoL,KAAK,CAACuoB,YAAY,EAAE/a,SAAS,EAAEic,YAAY,CAAC;EACrD;EACA,MAAM;IAAEj0B,EAAE;IAAET,MAAM;IAAEkL,SAAS;IAAEO,QAAQ;IAAEjL;EAAM,CAAC,GAAGyK,KAAK;EACxD,MAAM2pB,SAAS,GAAGD,QAAQ,KAAK,CAAC;EAChC,IAAIC,SAAS,EAAE;IACb/0B,MAAM,CAACY,EAAE,EAAEgY,SAAS,EAAEic,YAAY,CAAC;EACrC;EACA,IAAI,CAACE,SAAS,IAAIhD,kBAAkB,CAACpxB,KAAK,CAAC,EAAE;IAC3C,IAAI0K,SAAS,GAAG,EAAE,EAAE;MAClB,KAAK,IAAI9pB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;QACxCozC,IAAI,CACF/oB,QAAQ,CAACrqB,CAAC,CAAC,EACXq3B,SAAS,EACTic,YAAY,EACZ,CACF,CAAC;MACH;IACF;EACF;EACA,IAAIE,SAAS,EAAE;IACb/0B,MAAM,CAACG,MAAM,EAAEyY,SAAS,EAAEic,YAAY,CAAC;EACzC;AACF;AACA,SAASD,eAAeA,CAACxzB,IAAI,EAAEgK,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAEC,YAAY,EAAEC,SAAS,EAAE;EAC9Fjd,CAAC,EAAE;IAAErU,WAAW;IAAElB,UAAU;IAAEmB,aAAa;IAAEzB,MAAM;IAAEe;EAAW;AAClE,CAAC,EAAEi0B,eAAe,EAAE;EAClB,MAAMzoC,MAAM,GAAG6e,KAAK,CAAC7e,MAAM,GAAG8lC,aAAa,CACzCjnB,KAAK,CAACzK,KAAK,EACXc,aACF,CAAC;EACD,IAAIlV,MAAM,EAAE;IACV,MAAMylC,QAAQ,GAAGD,kBAAkB,CAAC3mB,KAAK,CAACzK,KAAK,CAAC;IAChD,MAAMs0B,UAAU,GAAG1oC,MAAM,CAAC2oC,IAAI,IAAI3oC,MAAM,CAACgW,UAAU;IACnD,IAAI6I,KAAK,CAACC,SAAS,GAAG,EAAE,EAAE;MACxB,IAAI2mB,QAAQ,EAAE;QACZ5mB,KAAK,CAACjL,MAAM,GAAG60B,eAAe,CAC5BxzB,WAAW,CAACJ,IAAI,CAAC,EACjBgK,KAAK,EACL9K,UAAU,CAACc,IAAI,CAAC,EAChBqM,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;QACD1nB,KAAK,CAAC4oB,WAAW,GAAGiB,UAAU;QAC9B7pB,KAAK,CAACuoB,YAAY,GAAGsB,UAAU,IAAIzzB,WAAW,CAACyzB,UAAU,CAAC;MAC5D,CAAC,MAAM;QACL7pB,KAAK,CAACjL,MAAM,GAAGqB,WAAW,CAACJ,IAAI,CAAC;QAChC,IAAIuyB,YAAY,GAAGsB,UAAU;QAC7B,OAAOtB,YAAY,EAAE;UACnB,IAAIA,YAAY,IAAIA,YAAY,CAAC9nB,QAAQ,KAAK,CAAC,EAAE;YAC/C,IAAI8nB,YAAY,CAACrlC,IAAI,KAAK,uBAAuB,EAAE;cACjD8c,KAAK,CAAC4oB,WAAW,GAAGL,YAAY;YAClC,CAAC,MAAM,IAAIA,YAAY,CAACrlC,IAAI,KAAK,iBAAiB,EAAE;cAClD8c,KAAK,CAACuoB,YAAY,GAAGA,YAAY;cACjCpnC,MAAM,CAAC2oC,IAAI,GAAG9pB,KAAK,CAACuoB,YAAY,IAAInyB,WAAW,CAAC4J,KAAK,CAACuoB,YAAY,CAAC;cACnE;YACF;UACF;UACAA,YAAY,GAAGnyB,WAAW,CAACmyB,YAAY,CAAC;QAC1C;QACA,IAAI,CAACvoB,KAAK,CAACuoB,YAAY,EAAE;UACvBC,aAAa,CAACrnC,MAAM,EAAE6e,KAAK,EAAErK,UAAU,EAAEf,MAAM,CAAC;QAClD;QACAg1B,eAAe,CACbC,UAAU,IAAIzzB,WAAW,CAACyzB,UAAU,CAAC,EACrC7pB,KAAK,EACL7e,MAAM,EACNkhB,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;MACH;IACF;IACAe,aAAa,CAACzoB,KAAK,EAAE4mB,QAAQ,CAAC;EAChC;EACA,OAAO5mB,KAAK,CAACjL,MAAM,IAAIqB,WAAW,CAAC4J,KAAK,CAACjL,MAAM,CAAC;AAClD;AACA,MAAMg1B,QAAQ,GAAG1C,YAAY;AAC7B,SAASoB,aAAaA,CAACzoB,KAAK,EAAEgqB,UAAU,EAAE;EACxC,MAAMzE,GAAG,GAAGvlB,KAAK,CAACulB,GAAG;EACrB,IAAIA,GAAG,IAAIA,GAAG,CAACxmB,EAAE,EAAE;IACjB,IAAI/I,IAAI,EAAEjB,MAAM;IAChB,IAAIi1B,UAAU,EAAE;MACdh0B,IAAI,GAAGgK,KAAK,CAACxK,EAAE;MACfT,MAAM,GAAGiL,KAAK,CAACjL,MAAM;IACvB,CAAC,MAAM;MACLiB,IAAI,GAAGgK,KAAK,CAAC4oB,WAAW;MACxB7zB,MAAM,GAAGiL,KAAK,CAACuoB,YAAY;IAC7B;IACA,OAAOvyB,IAAI,IAAIA,IAAI,KAAKjB,MAAM,EAAE;MAC9B,IAAIiB,IAAI,CAACyK,QAAQ,KAAK,CAAC,EAAEzK,IAAI,CAACrQ,YAAY,CAAC,cAAc,EAAE4/B,GAAG,CAACpmB,GAAG,CAAC;MACnEnJ,IAAI,GAAGA,IAAI,CAACI,WAAW;IACzB;IACAmvB,GAAG,CAACxmB,EAAE,CAAC,CAAC;EACV;AACF;AACA,SAASypB,aAAaA,CAACrnC,MAAM,EAAE6e,KAAK,EAAErK,UAAU,EAAEf,MAAM,EAAE;EACxD,MAAMg0B,WAAW,GAAG5oB,KAAK,CAAC4oB,WAAW,GAAGjzB,UAAU,CAAC,EAAE,CAAC;EACtD,MAAM4yB,YAAY,GAAGvoB,KAAK,CAACuoB,YAAY,GAAG5yB,UAAU,CAAC,EAAE,CAAC;EACxDizB,WAAW,CAACpC,cAAc,CAAC,GAAG+B,YAAY;EAC1C,IAAIpnC,MAAM,EAAE;IACVyT,MAAM,CAACg0B,WAAW,EAAEznC,MAAM,CAAC;IAC3ByT,MAAM,CAAC2zB,YAAY,EAAEpnC,MAAM,CAAC;EAC9B;EACA,OAAOonC,YAAY;AACrB;AAEA,MAAM0B,UAAU,GAAG/tC,MAAM,CAAC,UAAU,CAAC;AACrC,MAAM0vB,UAAU,GAAG1vB,MAAM,CAAC,UAAU,CAAC;AACrC,SAAS6V,kBAAkBA,CAAA,EAAG;EAC5B,MAAMka,KAAK,GAAG;IACZie,SAAS,EAAE,KAAK;IAChBC,SAAS,EAAE,KAAK;IAChBC,YAAY,EAAE,KAAK;IACnBC,aAAa,EAAE,eAAgB,IAAIpgB,GAAG,CAAC;EACzC,CAAC;EACD7Y,SAAS,CAAC,MAAM;IACd6a,KAAK,CAACie,SAAS,GAAG,IAAI;EACxB,CAAC,CAAC;EACFI,eAAe,CAAC,MAAM;IACpBre,KAAK,CAACme,YAAY,GAAG,IAAI;EAC3B,CAAC,CAAC;EACF,OAAOne,KAAK;AACd;AACA,MAAMse,uBAAuB,GAAG,CAACC,QAAQ,EAAEvrB,KAAK,CAAC;AACjD,MAAMjO,6BAA6B,GAAG;EACpC4V,IAAI,EAAEvqB,MAAM;EACZouC,MAAM,EAAEv9B,OAAO;EACfw9B,SAAS,EAAEx9B,OAAO;EAClB;EACAqM,aAAa,EAAEgxB,uBAAuB;EACtC/wB,OAAO,EAAE+wB,uBAAuB;EAChCI,YAAY,EAAEJ,uBAAuB;EACrC9wB,gBAAgB,EAAE8wB,uBAAuB;EACzC;EACAK,aAAa,EAAEL,uBAAuB;EACtC7wB,OAAO,EAAE6wB,uBAAuB;EAChCM,YAAY,EAAEN,uBAAuB;EACrC5wB,gBAAgB,EAAE4wB,uBAAuB;EACzC;EACA3wB,cAAc,EAAE2wB,uBAAuB;EACvC1wB,QAAQ,EAAE0wB,uBAAuB;EACjCO,aAAa,EAAEP,uBAAuB;EACtCzwB,iBAAiB,EAAEywB;AACrB,CAAC;AACD,MAAMQ,mBAAmB,GAAIlsB,QAAQ,IAAK;EACxC,MAAMY,OAAO,GAAGZ,QAAQ,CAACY,OAAO;EAChC,OAAOA,OAAO,CAACc,SAAS,GAAGwqB,mBAAmB,CAACtrB,OAAO,CAACc,SAAS,CAAC,GAAGd,OAAO;AAC7E,CAAC;AACD,MAAMurB,kBAAkB,GAAG;EACzBrkC,IAAI,EAAE,gBAAgB;EACtB4O,KAAK,EAAEvE,6BAA6B;EACpCgb,KAAKA,CAACzW,KAAK,EAAE;IAAEmD;EAAM,CAAC,EAAE;IACtB,MAAMmG,QAAQ,GAAG5N,kBAAkB,CAAC,CAAC;IACrC,MAAMgb,KAAK,GAAGla,kBAAkB,CAAC,CAAC;IAClC,OAAO,MAAM;MACX,MAAMyO,QAAQ,GAAG9H,KAAK,CAAChB,OAAO,IAAIxF,wBAAwB,CAACwG,KAAK,CAAChB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;MACjF,IAAI,CAAC8I,QAAQ,IAAI,CAACA,QAAQ,CAAC/oB,MAAM,EAAE;QACjC;MACF;MACA,MAAMod,KAAK,GAAGo2B,mBAAmB,CAACzqB,QAAQ,CAAC;MAC3C,MAAMvH,QAAQ,GAAGhH,iEAAK,CAACsD,KAAK,CAAC;MAC7B,MAAM;QAAEqR;MAAK,CAAC,GAAG3N,QAAQ;MACzB,IAAI,KAAiH,EAAE,EAEtH;MACD,IAAIgT,KAAK,CAACke,SAAS,EAAE;QACnB,OAAOe,gBAAgB,CAACr2B,KAAK,CAAC;MAChC;MACA,MAAMs2B,UAAU,GAAGC,eAAe,CAACv2B,KAAK,CAAC;MACzC,IAAI,CAACs2B,UAAU,EAAE;QACf,OAAOD,gBAAgB,CAACr2B,KAAK,CAAC;MAChC;MACA,IAAIw2B,UAAU,GAAGj5B,sBAAsB,CACrC+4B,UAAU,EACVlyB,QAAQ,EACRgT,KAAK,EACLpN,QAAQ;MACR;MACCysB,KAAK,IAAKD,UAAU,GAAGC,KAC1B,CAAC;MACD,IAAIH,UAAU,CAACj1C,IAAI,KAAKguC,OAAO,EAAE;QAC/B/xB,kBAAkB,CAACg5B,UAAU,EAAEE,UAAU,CAAC;MAC5C;MACA,IAAIE,aAAa,GAAG1sB,QAAQ,CAACY,OAAO,IAAI2rB,eAAe,CAACvsB,QAAQ,CAACY,OAAO,CAAC;MACzE,IAAI8rB,aAAa,IAAIA,aAAa,CAACr1C,IAAI,KAAKguC,OAAO,IAAI,CAACsH,eAAe,CAACL,UAAU,EAAEI,aAAa,CAAC,IAAIR,mBAAmB,CAAClsB,QAAQ,CAAC,CAAC3oB,IAAI,KAAKguC,OAAO,EAAE;QACpJ,IAAIuH,YAAY,GAAGr5B,sBAAsB,CACvCm5B,aAAa,EACbtyB,QAAQ,EACRgT,KAAK,EACLpN,QACF,CAAC;QACD1M,kBAAkB,CAACo5B,aAAa,EAAEE,YAAY,CAAC;QAC/C,IAAI7kB,IAAI,KAAK,QAAQ,IAAIukB,UAAU,CAACj1C,IAAI,KAAKguC,OAAO,EAAE;UACpDjY,KAAK,CAACke,SAAS,GAAG,IAAI;UACtBsB,YAAY,CAACC,UAAU,GAAG,MAAM;YAC9Bzf,KAAK,CAACke,SAAS,GAAG,KAAK;YACvB,IAAI,EAAEtrB,QAAQ,CAACmiB,GAAG,CAACF,KAAK,GAAG,CAAC,CAAC,EAAE;cAC7BjiB,QAAQ,CAACmkB,MAAM,CAAC,CAAC;YACnB;YACA,OAAOyI,YAAY,CAACC,UAAU;YAC9BH,aAAa,GAAG,KAAK,CAAC;UACxB,CAAC;UACD,OAAOL,gBAAgB,CAACr2B,KAAK,CAAC;QAChC,CAAC,MAAM,IAAI+R,IAAI,KAAK,QAAQ,IAAIukB,UAAU,CAACj1C,IAAI,KAAKguC,OAAO,EAAE;UAC3DuH,YAAY,CAACE,UAAU,GAAG,CAACn2B,EAAE,EAAEo2B,WAAW,EAAEC,YAAY,KAAK;YAC3D,MAAMC,kBAAkB,GAAGC,sBAAsB,CAC/C9f,KAAK,EACLsf,aACF,CAAC;YACDO,kBAAkB,CAACzvC,MAAM,CAACkvC,aAAa,CAACzvC,GAAG,CAAC,CAAC,GAAGyvC,aAAa;YAC7D/1B,EAAE,CAACy0B,UAAU,CAAC,GAAG,MAAM;cACrB2B,WAAW,CAAC,CAAC;cACbp2B,EAAE,CAACy0B,UAAU,CAAC,GAAG,KAAK,CAAC;cACvB,OAAOoB,UAAU,CAACQ,YAAY;cAC9BN,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;YACDF,UAAU,CAACQ,YAAY,GAAG,MAAM;cAC9BA,YAAY,CAAC,CAAC;cACd,OAAOR,UAAU,CAACQ,YAAY;cAC9BN,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;UACH,CAAC;QACH,CAAC,MAAM;UACLA,aAAa,GAAG,KAAK,CAAC;QACxB;MACF,CAAC,MAAM,IAAIA,aAAa,EAAE;QACxBA,aAAa,GAAG,KAAK,CAAC;MACxB;MACA,OAAO12B,KAAK;IACd,CAAC;EACH;AACF,CAAC;AACD,SAASo2B,mBAAmBA,CAACzqB,QAAQ,EAAE;EACrC,IAAI3L,KAAK,GAAG2L,QAAQ,CAAC,CAAC,CAAC;EACvB,IAAIA,QAAQ,CAAC/oB,MAAM,GAAG,CAAC,EAAE;IACvB,IAAIu0C,QAAQ,GAAG,KAAK;IACpB,KAAK,MAAM/wB,CAAC,IAAIuF,QAAQ,EAAE;MACxB,IAAIvF,CAAC,CAAC/kB,IAAI,KAAKguC,OAAO,EAAE;QACtB,IAAI,KAAqD,EAAE,EAK1D;QACDrvB,KAAK,GAAGoG,CAAC;QACT+wB,QAAQ,GAAG,IAAI;QACf,IAAI,IAA0C,EAAE;MAClD;IACF;EACF;EACA,OAAOn3B,KAAK;AACd;AACA,MAAM/D,cAAc,GAAGk6B,gDAAAA,kBAAkB;AACzC,SAASe,sBAAsBA,CAAC9f,KAAK,EAAEjM,KAAK,EAAE;EAC5C,MAAM;IAAEqqB;EAAc,CAAC,GAAGpe,KAAK;EAC/B,IAAI6f,kBAAkB,GAAGzB,aAAa,CAACzqC,GAAG,CAACogB,KAAK,CAAC9pB,IAAI,CAAC;EACtD,IAAI,CAAC41C,kBAAkB,EAAE;IACvBA,kBAAkB,GAAG,eAAgBt0C,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;IACxDutC,aAAa,CAACtrC,GAAG,CAACihB,KAAK,CAAC9pB,IAAI,EAAE41C,kBAAkB,CAAC;EACnD;EACA,OAAOA,kBAAkB;AAC3B;AACA,SAAS15B,sBAAsBA,CAAC4N,KAAK,EAAEzK,KAAK,EAAE0W,KAAK,EAAEpN,QAAQ,EAAEotB,SAAS,EAAE;EACxE,MAAM;IACJxB,MAAM;IACN7jB,IAAI;IACJ8jB,SAAS,GAAG,KAAK;IACjBnxB,aAAa;IACbC,OAAO;IACPmxB,YAAY;IACZlxB,gBAAgB;IAChBmxB,aAAa;IACblxB,OAAO;IACPmxB,YAAY;IACZlxB,gBAAgB;IAChBC,cAAc;IACdC,QAAQ;IACRixB,aAAa;IACbhxB;EACF,CAAC,GAAGvE,KAAK;EACT,MAAMzZ,GAAG,GAAGO,MAAM,CAAC2jB,KAAK,CAAClkB,GAAG,CAAC;EAC7B,MAAMgwC,kBAAkB,GAAGC,sBAAsB,CAAC9f,KAAK,EAAEjM,KAAK,CAAC;EAC/D,MAAMpH,QAAQ,GAAGA,CAACjP,IAAI,EAAEkP,IAAI,KAAK;IAC/BlP,IAAI,IAAI+H,0BAA0B,CAChC/H,IAAI,EACJkV,QAAQ,EACR,CAAC,EACDhG,IACF,CAAC;EACH,CAAC;EACD,MAAMqzB,aAAa,GAAGA,CAACviC,IAAI,EAAEkP,IAAI,KAAK;IACpC,MAAMrM,IAAI,GAAGqM,IAAI,CAAC,CAAC,CAAC;IACpBD,QAAQ,CAACjP,IAAI,EAAEkP,IAAI,CAAC;IACpB,IAAIpc,+DAAO,CAACkN,IAAI,CAAC,EAAE;MACjB,IAAIA,IAAI,CAACwiC,KAAK,CAAEC,KAAK,IAAKA,KAAK,CAAC30C,MAAM,IAAI,CAAC,CAAC,EAAE+U,IAAI,CAAC,CAAC;IACtD,CAAC,MAAM,IAAI7C,IAAI,CAAClS,MAAM,IAAI,CAAC,EAAE;MAC3B+U,IAAI,CAAC,CAAC;IACR;EACF,CAAC;EACD,MAAM8+B,KAAK,GAAG;IACZ1kB,IAAI;IACJ8jB,SAAS;IACTxsB,WAAWA,CAAC1I,EAAE,EAAE;MACd,IAAI7L,IAAI,GAAG4P,aAAa;MACxB,IAAI,CAAC0S,KAAK,CAACie,SAAS,EAAE;QACpB,IAAIO,MAAM,EAAE;UACV9gC,IAAI,GAAGiQ,cAAc,IAAIL,aAAa;QACxC,CAAC,MAAM;UACL;QACF;MACF;MACA,IAAI/D,EAAE,CAACy0B,UAAU,CAAC,EAAE;QAClBz0B,EAAE,CAACy0B,UAAU,CAAC,CACZ;QACA,eACF,CAAC;MACH;MACA,MAAMoC,YAAY,GAAGP,kBAAkB,CAAChwC,GAAG,CAAC;MAC5C,IAAIuwC,YAAY,IAAIb,eAAe,CAACxrB,KAAK,EAAEqsB,YAAY,CAAC,IAAIA,YAAY,CAAC72B,EAAE,CAACy0B,UAAU,CAAC,EAAE;QACvFoC,YAAY,CAAC72B,EAAE,CAACy0B,UAAU,CAAC,CAAC,CAAC;MAC/B;MACArxB,QAAQ,CAACjP,IAAI,EAAE,CAAC6L,EAAE,CAAC,CAAC;IACtB,CAAC;IACDoF,KAAKA,CAACpF,EAAE,EAAE;MACR,IAAI7L,IAAI,GAAG6P,OAAO;MAClB,IAAI8yB,SAAS,GAAG3B,YAAY;MAC5B,IAAI4B,UAAU,GAAG9yB,gBAAgB;MACjC,IAAI,CAACwS,KAAK,CAACie,SAAS,EAAE;QACpB,IAAIO,MAAM,EAAE;UACV9gC,IAAI,GAAGkQ,QAAQ,IAAIL,OAAO;UAC1B8yB,SAAS,GAAGxB,aAAa,IAAIH,YAAY;UACzC4B,UAAU,GAAGzyB,iBAAiB,IAAIL,gBAAgB;QACpD,CAAC,MAAM;UACL;QACF;MACF;MACA,IAAI+yB,MAAM,GAAG,KAAK;MAClB,MAAMhgC,IAAI,GAAGgJ,EAAE,CAACoW,UAAU,CAAC,GAAI6gB,SAAS,IAAK;QAC3C,IAAID,MAAM,EAAE;QACZA,MAAM,GAAG,IAAI;QACb,IAAIC,SAAS,EAAE;UACb7zB,QAAQ,CAAC2zB,UAAU,EAAE,CAAC/2B,EAAE,CAAC,CAAC;QAC5B,CAAC,MAAM;UACLoD,QAAQ,CAAC0zB,SAAS,EAAE,CAAC92B,EAAE,CAAC,CAAC;QAC3B;QACA,IAAI81B,KAAK,CAACO,YAAY,EAAE;UACtBP,KAAK,CAACO,YAAY,CAAC,CAAC;QACtB;QACAr2B,EAAE,CAACoW,UAAU,CAAC,GAAG,KAAK,CAAC;MACzB,CAAC;MACD,IAAIjiB,IAAI,EAAE;QACRuiC,aAAa,CAACviC,IAAI,EAAE,CAAC6L,EAAE,EAAEhJ,IAAI,CAAC,CAAC;MACjC,CAAC,MAAM;QACLA,IAAI,CAAC,CAAC;MACR;IACF,CAAC;IACDqO,KAAKA,CAACrF,EAAE,EAAEP,MAAM,EAAE;MAChB,MAAMy3B,IAAI,GAAGrwC,MAAM,CAAC2jB,KAAK,CAAClkB,GAAG,CAAC;MAC9B,IAAI0Z,EAAE,CAACoW,UAAU,CAAC,EAAE;QAClBpW,EAAE,CAACoW,UAAU,CAAC,CACZ;QACA,eACF,CAAC;MACH;MACA,IAAIK,KAAK,CAACme,YAAY,EAAE;QACtB,OAAOn1B,MAAM,CAAC,CAAC;MACjB;MACA2D,QAAQ,CAACgyB,aAAa,EAAE,CAACp1B,EAAE,CAAC,CAAC;MAC7B,IAAIg3B,MAAM,GAAG,KAAK;MAClB,MAAMhgC,IAAI,GAAGgJ,EAAE,CAACy0B,UAAU,CAAC,GAAIwC,SAAS,IAAK;QAC3C,IAAID,MAAM,EAAE;QACZA,MAAM,GAAG,IAAI;QACbv3B,MAAM,CAAC,CAAC;QACR,IAAIw3B,SAAS,EAAE;UACb7zB,QAAQ,CAACe,gBAAgB,EAAE,CAACnE,EAAE,CAAC,CAAC;QAClC,CAAC,MAAM;UACLoD,QAAQ,CAACiyB,YAAY,EAAE,CAACr1B,EAAE,CAAC,CAAC;QAC9B;QACAA,EAAE,CAACy0B,UAAU,CAAC,GAAG,KAAK,CAAC;QACvB,IAAI6B,kBAAkB,CAACY,IAAI,CAAC,KAAK1sB,KAAK,EAAE;UACtC,OAAO8rB,kBAAkB,CAACY,IAAI,CAAC;QACjC;MACF,CAAC;MACDZ,kBAAkB,CAACY,IAAI,CAAC,GAAG1sB,KAAK;MAChC,IAAItG,OAAO,EAAE;QACXwyB,aAAa,CAACxyB,OAAO,EAAE,CAAClE,EAAE,EAAEhJ,IAAI,CAAC,CAAC;MACpC,CAAC,MAAM;QACLA,IAAI,CAAC,CAAC;MACR;IACF,CAAC;IACD+gB,KAAKA,CAACof,MAAM,EAAE;MACZ,MAAMC,MAAM,GAAGx6B,sBAAsB,CACnCu6B,MAAM,EACNp3B,KAAK,EACL0W,KAAK,EACLpN,QAAQ,EACRotB,SACF,CAAC;MACD,IAAIA,SAAS,EAAEA,SAAS,CAACW,MAAM,CAAC;MAChC,OAAOA,MAAM;IACf;EACF,CAAC;EACD,OAAOtB,KAAK;AACd;AACA,SAASJ,gBAAgBA,CAAClrB,KAAK,EAAE;EAC/B,IAAI6sB,WAAW,CAAC7sB,KAAK,CAAC,EAAE;IACtBA,KAAK,GAAG8sB,UAAU,CAAC9sB,KAAK,CAAC;IACzBA,KAAK,CAACQ,QAAQ,GAAG,IAAI;IACrB,OAAOR,KAAK;EACd;AACF;AACA,SAASorB,eAAeA,CAACprB,KAAK,EAAE;EAC9B,IAAI,CAAC6sB,WAAW,CAAC7sB,KAAK,CAAC,EAAE;IACvB,IAAIymB,UAAU,CAACzmB,KAAK,CAAC9pB,IAAI,CAAC,IAAI8pB,KAAK,CAACQ,QAAQ,EAAE;MAC5C,OAAOyqB,mBAAmB,CAACjrB,KAAK,CAACQ,QAAQ,CAAC;IAC5C;IACA,OAAOR,KAAK;EACd;EACA,IAAI,KAA4D,EAAE,EAEjE;EACD,MAAM;IAAEC,SAAS;IAAEO;EAAS,CAAC,GAAGR,KAAK;EACrC,IAAIQ,QAAQ,EAAE;IACZ,IAAIP,SAAS,GAAG,EAAE,EAAE;MAClB,OAAOO,QAAQ,CAAC,CAAC,CAAC;IACpB;IACA,IAAIP,SAAS,GAAG,EAAE,IAAIziB,kEAAU,CAACgjB,QAAQ,CAAC9I,OAAO,CAAC,EAAE;MAClD,OAAO8I,QAAQ,CAAC9I,OAAO,CAAC,CAAC;IAC3B;EACF;AACF;AACA,SAASvF,kBAAkBA,CAAC6N,KAAK,EAAEsrB,KAAK,EAAE;EACxC,IAAItrB,KAAK,CAACC,SAAS,GAAG,CAAC,IAAID,KAAK,CAACO,SAAS,EAAE;IAC1CP,KAAK,CAACjC,UAAU,GAAGutB,KAAK;IACxBn5B,kBAAkB,CAAC6N,KAAK,CAACO,SAAS,CAACd,OAAO,EAAE6rB,KAAK,CAAC;EACpD,CAAC,MAAM,IAAItrB,KAAK,CAACC,SAAS,GAAG,GAAG,EAAE;IAChCD,KAAK,CAAC+sB,SAAS,CAAChvB,UAAU,GAAGutB,KAAK,CAAC/d,KAAK,CAACvN,KAAK,CAAC+sB,SAAS,CAAC;IACzD/sB,KAAK,CAACgtB,UAAU,CAACjvB,UAAU,GAAGutB,KAAK,CAAC/d,KAAK,CAACvN,KAAK,CAACgtB,UAAU,CAAC;EAC7D,CAAC,MAAM;IACLhtB,KAAK,CAACjC,UAAU,GAAGutB,KAAK;EAC1B;AACF;AACA,SAASp5B,wBAAwBA,CAACsO,QAAQ,EAAEysB,WAAW,GAAG,KAAK,EAAEC,SAAS,EAAE;EAC1E,IAAIC,GAAG,GAAG,EAAE;EACZ,IAAIC,kBAAkB,GAAG,CAAC;EAC1B,KAAK,IAAIj3C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACxC,IAAI0e,KAAK,GAAG2L,QAAQ,CAACrqB,CAAC,CAAC;IACvB,MAAM2F,GAAG,GAAGoxC,SAAS,IAAI,IAAI,GAAGr4B,KAAK,CAAC/Y,GAAG,GAAGO,MAAM,CAAC6wC,SAAS,CAAC,GAAG7wC,MAAM,CAACwY,KAAK,CAAC/Y,GAAG,IAAI,IAAI,GAAG+Y,KAAK,CAAC/Y,GAAG,GAAG3F,CAAC,CAAC;IACzG,IAAI0e,KAAK,CAAC3e,IAAI,KAAKqb,QAAQ,EAAE;MAC3B,IAAIsD,KAAK,CAACw4B,SAAS,GAAG,GAAG,EAAED,kBAAkB,EAAE;MAC/CD,GAAG,GAAGA,GAAG,CAAC3sC,MAAM,CACd0R,wBAAwB,CAAC2C,KAAK,CAAC2L,QAAQ,EAAEysB,WAAW,EAAEnxC,GAAG,CAC3D,CAAC;IACH,CAAC,MAAM,IAAImxC,WAAW,IAAIp4B,KAAK,CAAC3e,IAAI,KAAKguC,OAAO,EAAE;MAChDiJ,GAAG,CAAChjC,IAAI,CAACrO,GAAG,IAAI,IAAI,GAAGgxC,UAAU,CAACj4B,KAAK,EAAE;QAAE/Y;MAAI,CAAC,CAAC,GAAG+Y,KAAK,CAAC;IAC5D;EACF;EACA,IAAIu4B,kBAAkB,GAAG,CAAC,EAAE;IAC1B,KAAK,IAAIj3C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGg3C,GAAG,CAAC11C,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACnCg3C,GAAG,CAACh3C,CAAC,CAAC,CAACk3C,SAAS,GAAG,CAAC,CAAC;IACvB;EACF;EACA,OAAOF,GAAG;AACZ;;AAEA;AACA;AACA,SAASx7B,eAAeA,CAACxa,OAAO,EAAE8tB,YAAY,EAAE;EAC9C,OAAOznB,kEAAU,CAACrG,OAAO,CAAC;EACxB;EACA;EACA;EAAgB,CAAC,MAAMsb,8DAAM,CAAC;IAAE9L,IAAI,EAAExP,OAAO,CAACwP;EAAK,CAAC,EAAEse,YAAY,EAAE;IAAE+G,KAAK,EAAE70B;EAAQ,CAAC,CAAC,EAAE,CAAC,GACxFA,OAAO;AACb;AAEA,SAASm2C,KAAKA,CAAA,EAAG;EACf,MAAMn3C,CAAC,GAAG8a,kBAAkB,CAAC,CAAC;EAC9B,IAAI9a,CAAC,EAAE;IACL,OAAO,CAACA,CAAC,CAAC0nC,UAAU,CAAC37B,MAAM,CAACqrC,QAAQ,IAAI,GAAG,IAAI,GAAG,GAAGp3C,CAAC,CAACq3C,GAAG,CAAC,CAAC,CAAC,GAAGr3C,CAAC,CAACq3C,GAAG,CAAC,CAAC,CAAC,EAAE;EAC5E,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;EACD,OAAO,EAAE;AACX;AACA,SAASC,iBAAiBA,CAAC5uB,QAAQ,EAAE;EACnCA,QAAQ,CAAC2uB,GAAG,GAAG,CAAC3uB,QAAQ,CAAC2uB,GAAG,CAAC,CAAC,CAAC,GAAG3uB,QAAQ,CAAC2uB,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAClE;AAEA,MAAME,iBAAiB,GAAG,eAAgB,IAAInnB,OAAO,CAAC,CAAC;AACvD,SAASonB,cAAcA,CAAC7xC,GAAG,EAAE;EAC3B,MAAM3F,CAAC,GAAG8a,kBAAkB,CAAC,CAAC;EAC9B,MAAM28B,CAAC,GAAG3T,UAAU,CAAC,IAAI,CAAC;EAC1B,IAAI9jC,CAAC,EAAE;IACL,MAAM03C,IAAI,GAAG13C,CAAC,CAAC03C,IAAI,KAAKx6B,SAAS,GAAGld,CAAC,CAAC03C,IAAI,GAAG,CAAC,CAAC,GAAG13C,CAAC,CAAC03C,IAAI;IACxD,IAAIj3C,IAAI;IACR,IAAI,KAAsH,EAAE,EAE3H,MAAM;MACLY,MAAM,CAAC+G,cAAc,CAACsvC,IAAI,EAAE/xC,GAAG,EAAE;QAC/BiyC,UAAU,EAAE,IAAI;QAChBnuC,GAAG,EAAEA,CAAA,KAAMguC,CAAC,CAAC/2C,KAAK;QAClBkI,GAAG,EAAGyQ,GAAG,IAAKo+B,CAAC,CAAC/2C,KAAK,GAAG2Y;MAC1B,CAAC,CAAC;IACJ;EACF,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;EACD,MAAM29B,GAAG,GAAG,MAAyC,GAAGjT,CAAW,GAAG0T,CAAC;EACvE,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAOT,GAAG;AACZ;AAEA,SAASa,MAAMA,CAACC,MAAM,EAAEC,SAAS,EAAE1G,cAAc,EAAExnB,KAAK,EAAEmuB,SAAS,GAAG,KAAK,EAAE;EAC3E,IAAI1xC,+DAAO,CAACwxC,MAAM,CAAC,EAAE;IACnBA,MAAM,CAACh4C,OAAO,CACZ,CAAC23C,CAAC,EAAEz3C,CAAC,KAAK63C,MAAM,CACdJ,CAAC,EACDM,SAAS,KAAKzxC,+DAAO,CAACyxC,SAAS,CAAC,GAAGA,SAAS,CAAC/3C,CAAC,CAAC,GAAG+3C,SAAS,CAAC,EAC5D1G,cAAc,EACdxnB,KAAK,EACLmuB,SACF,CACF,CAAC;IACD;EACF;EACA,IAAIC,cAAc,CAACpuB,KAAK,CAAC,IAAI,CAACmuB,SAAS,EAAE;IACvC,IAAInuB,KAAK,CAACC,SAAS,GAAG,GAAG,IAAID,KAAK,CAAC9pB,IAAI,CAACm4C,eAAe,IAAIruB,KAAK,CAACO,SAAS,CAACd,OAAO,CAACc,SAAS,EAAE;MAC5FytB,MAAM,CAACC,MAAM,EAAEC,SAAS,EAAE1G,cAAc,EAAExnB,KAAK,CAACO,SAAS,CAACd,OAAO,CAAC;IACpE;IACA;EACF;EACA,MAAM6uB,QAAQ,GAAGtuB,KAAK,CAACC,SAAS,GAAG,CAAC,GAAGimB,0BAA0B,CAAClmB,KAAK,CAACO,SAAS,CAAC,GAAGP,KAAK,CAACxK,EAAE;EAC7F,MAAM3e,KAAK,GAAGs3C,SAAS,GAAG,IAAI,GAAGG,QAAQ;EACzC,MAAM;IAAEn4C,CAAC,EAAE0zB,KAAK;IAAE+jB,CAAC,EAAExT;EAAI,CAAC,GAAG6T,MAAM;EACnC,IAAI,KAAmD,EAAE,EAKxD;EACD,MAAMM,MAAM,GAAGL,SAAS,IAAIA,SAAS,CAACN,CAAC;EACvC,MAAMC,IAAI,GAAGhkB,KAAK,CAACgkB,IAAI,KAAKx6B,6DAAS,GAAGwW,KAAK,CAACgkB,IAAI,GAAG,CAAC,CAAC,GAAGhkB,KAAK,CAACgkB,IAAI;EACpE,MAAMW,UAAU,GAAG3kB,KAAK,CAAC2kB,UAAU;EACnC,MAAMC,aAAa,GAAGx8B,iEAAK,CAACu8B,UAAU,CAAC;EACvC,MAAME,cAAc,GAAGF,UAAU,KAAKn7B,6DAAS,GAAG,MAAM,KAAK,GAAIvX,GAAG,IAAK;IACvE,IAAI,KAAyC,EAAE,EAS9C;IACD,OAAOsX,8DAAM,CAACq7B,aAAa,EAAE3yC,GAAG,CAAC;EACnC,CAAC;EACD,IAAIyyC,MAAM,IAAI,IAAI,IAAIA,MAAM,KAAKnU,GAAG,EAAE;IACpC,IAAI18B,gEAAQ,CAAC6wC,MAAM,CAAC,EAAE;MACpBV,IAAI,CAACU,MAAM,CAAC,GAAG,IAAI;MACnB,IAAIG,cAAc,CAACH,MAAM,CAAC,EAAE;QAC1BC,UAAU,CAACD,MAAM,CAAC,GAAG,IAAI;MAC3B;IACF,CAAC,MAAM,IAAIxU,iEAAK,CAACwU,MAAM,CAAC,EAAE;MACxBA,MAAM,CAAC13C,KAAK,GAAG,IAAI;IACrB;EACF;EACA,IAAI2G,kEAAU,CAAC48B,GAAG,CAAC,EAAE;IACnB6D,qBAAqB,CAAC7D,GAAG,EAAEvQ,KAAK,EAAE,EAAE,EAAE,CAAChzB,KAAK,EAAEg3C,IAAI,CAAC,CAAC;EACtD,CAAC,MAAM;IACL,MAAMc,SAAS,GAAGjxC,gEAAQ,CAAC08B,GAAG,CAAC;IAC/B,MAAMwU,MAAM,GAAG7U,iEAAK,CAACK,GAAG,CAAC;IACzB,IAAIuU,SAAS,IAAIC,MAAM,EAAE;MACvB,MAAMC,KAAK,GAAGA,CAAA,KAAM;QAClB,IAAIZ,MAAM,CAACa,CAAC,EAAE;UACZ,MAAMC,QAAQ,GAAGJ,SAAS,GAAGD,cAAc,CAACtU,GAAG,CAAC,GAAGoU,UAAU,CAACpU,GAAG,CAAC,GAAGyT,IAAI,CAACzT,GAAG,CAAC,GAAGA,GAAG,CAACvjC,KAAK;UAC1F,IAAIs3C,SAAS,EAAE;YACb1xC,+DAAO,CAACsyC,QAAQ,CAAC,IAAI95B,8DAAM,CAAC85B,QAAQ,EAAET,QAAQ,CAAC;UACjD,CAAC,MAAM;YACL,IAAI,CAAC7xC,+DAAO,CAACsyC,QAAQ,CAAC,EAAE;cACtB,IAAIJ,SAAS,EAAE;gBACbd,IAAI,CAACzT,GAAG,CAAC,GAAG,CAACkU,QAAQ,CAAC;gBACtB,IAAII,cAAc,CAACtU,GAAG,CAAC,EAAE;kBACvBoU,UAAU,CAACpU,GAAG,CAAC,GAAGyT,IAAI,CAACzT,GAAG,CAAC;gBAC7B;cACF,CAAC,MAAM;gBACLA,GAAG,CAACvjC,KAAK,GAAG,CAACy3C,QAAQ,CAAC;gBACtB,IAAIL,MAAM,CAACrb,CAAC,EAAEib,IAAI,CAACI,MAAM,CAACrb,CAAC,CAAC,GAAGwH,GAAG,CAACvjC,KAAK;cAC1C;YACF,CAAC,MAAM,IAAI,CAACk4C,QAAQ,CAACvsB,QAAQ,CAAC8rB,QAAQ,CAAC,EAAE;cACvCS,QAAQ,CAAC5kC,IAAI,CAACmkC,QAAQ,CAAC;YACzB;UACF;QACF,CAAC,MAAM,IAAIK,SAAS,EAAE;UACpBd,IAAI,CAACzT,GAAG,CAAC,GAAGvjC,KAAK;UACjB,IAAI63C,cAAc,CAACtU,GAAG,CAAC,EAAE;YACvBoU,UAAU,CAACpU,GAAG,CAAC,GAAGvjC,KAAK;UACzB;QACF,CAAC,MAAM,IAAI+3C,MAAM,EAAE;UACjBxU,GAAG,CAACvjC,KAAK,GAAGA,KAAK;UACjB,IAAIo3C,MAAM,CAACrb,CAAC,EAAEib,IAAI,CAACI,MAAM,CAACrb,CAAC,CAAC,GAAG/7B,KAAK;QACtC,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;MACH,CAAC;MACD,IAAIA,KAAK,EAAE;QACTg4C,KAAK,CAACn+B,EAAE,GAAG,CAAC,CAAC;QACbg4B,qBAAqB,CAACmG,KAAK,EAAErH,cAAc,CAAC;MAC9C,CAAC,MAAM;QACLqH,KAAK,CAAC,CAAC;MACT;IACF,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;EACH;AACF;AAEA,IAAIG,sBAAsB,GAAG,KAAK;AAClC,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,IAAID,sBAAsB,EAAE;IAC1B;EACF;EACAh4C,OAAO,CAAC4R,KAAK,CAAC,8CAA8C,CAAC;EAC7DomC,sBAAsB,GAAG,IAAI;AAC/B,CAAC;AACD,MAAME,cAAc,GAAI1hB,SAAS,IAAKA,SAAS,CAAC2hB,YAAY,CAAC3sB,QAAQ,CAAC,KAAK,CAAC,IAAIgL,SAAS,CAACjL,OAAO,KAAK,eAAe;AACrH,MAAM6sB,iBAAiB,GAAI5hB,SAAS,IAAKA,SAAS,CAAC2hB,YAAY,CAAC3sB,QAAQ,CAAC,QAAQ,CAAC;AAClF,MAAM6sB,gBAAgB,GAAI7hB,SAAS,IAAK;EACtC,IAAIA,SAAS,CAAC/M,QAAQ,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;EAC3C,IAAIyuB,cAAc,CAAC1hB,SAAS,CAAC,EAAE,OAAO,KAAK;EAC3C,IAAI4hB,iBAAiB,CAAC5hB,SAAS,CAAC,EAAE,OAAO,QAAQ;EACjD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM8hB,SAAS,GAAIt5B,IAAI,IAAKA,IAAI,CAACyK,QAAQ,KAAK,CAAC;AAC/C,SAAS8uB,wBAAwBA,CAACC,iBAAiB,EAAE;EACnD,MAAM;IACJC,EAAE,EAAEC,cAAc;IAClBhsB,CAAC,EAAEisB,KAAK;IACRllB,CAAC,EAAE;MACD/F,SAAS;MACT/O,UAAU;MACVS,WAAW;MACXlB,UAAU;MACVD,MAAM;MACNL,MAAM;MACNkB;IACF;EACF,CAAC,GAAG05B,iBAAiB;EACrB,MAAMtc,OAAO,GAAGA,CAAClT,KAAK,EAAEwN,SAAS,KAAK;IACpC,IAAI,CAACA,SAAS,CAACoiB,aAAa,CAAC,CAAC,EAAE;MAC9B,CAAC,MAAyC,IAAIC,uCAAuC,KAAKlS,MAAM,CAC9F,8FACF,CAAC;MACDgS,KAAK,CAAC,IAAI,EAAE3vB,KAAK,EAAEwN,SAAS,CAAC;MAC7BgU,iBAAiB,CAAC,CAAC;MACnBhU,SAAS,CAACsiB,MAAM,GAAG9vB,KAAK;MACxB;IACF;IACA+vB,WAAW,CAACviB,SAAS,CAACrW,UAAU,EAAE6I,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC1DwhB,iBAAiB,CAAC,CAAC;IACnBhU,SAAS,CAACsiB,MAAM,GAAG9vB,KAAK;EAC1B,CAAC;EACD,MAAM+vB,WAAW,GAAGA,CAAC/5B,IAAI,EAAEgK,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAEC,YAAY,EAAEC,SAAS,GAAG,KAAK,KAAK;IACrGA,SAAS,GAAGA,SAAS,IAAI,CAAC,CAAC1nB,KAAK,CAACioB,eAAe;IAChD,MAAM+H,eAAe,GAAGV,SAAS,CAACt5B,IAAI,CAAC,IAAIA,IAAI,CAAC9S,IAAI,KAAK,GAAG;IAC5D,MAAM+sC,UAAU,GAAGA,CAAA,KAAMC,cAAc,CACrCl6B,IAAI,EACJgK,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZuI,eACF,CAAC;IACD,MAAM;MAAE95C,IAAI;MAAEkkC,GAAG;MAAEna,SAAS;MAAEotB;IAAU,CAAC,GAAGrtB,KAAK;IACjD,IAAImwB,OAAO,GAAGn6B,IAAI,CAACyK,QAAQ;IAC3BT,KAAK,CAACxK,EAAE,GAAGQ,IAAI;IACf,IAAI,KAAkE,EAAE,EAGvE;IACD,IAAIq3B,SAAS,KAAK,CAAC,CAAC,EAAE;MACpB3F,SAAS,GAAG,KAAK;MACjB1nB,KAAK,CAACioB,eAAe,GAAG,IAAI;IAC9B;IACA,IAAIrd,QAAQ,GAAG,IAAI;IACnB,QAAQ10B,IAAI;MACV,KAAKmc,IAAI;QACP,IAAI89B,OAAO,KAAK,CAAC,EAAE;UACjB,IAAInwB,KAAK,CAACQ,QAAQ,KAAK,EAAE,EAAE;YACzB5L,MAAM,CAACoL,KAAK,CAACxK,EAAE,GAAGG,UAAU,CAAC,EAAE,CAAC,EAAET,UAAU,CAACc,IAAI,CAAC,EAAEA,IAAI,CAAC;YACzD4U,QAAQ,GAAG5U,IAAI;UACjB,CAAC,MAAM;YACL4U,QAAQ,GAAGqlB,UAAU,CAAC,CAAC;UACzB;QACF,CAAC,MAAM;UACL,IAAIj6B,IAAI,CAAC9S,IAAI,KAAK8c,KAAK,CAACQ,QAAQ,EAAE;YAChC,CAAC,MAAyC,IAAIqvB,uCAAuC,KAAKlS,MAAM,CAC9F,4BAA4B,EAC5B3nB,IAAI,CAACd,UAAU,EACf;AACd,0BAA0B+hB,IAAI,CAACM,SAAS,CACxBvhB,IAAI,CAAC9S,IACP,CAAC;AACf,0BAA0B+zB,IAAI,CAACM,SAAS,CAACvX,KAAK,CAACQ,QAAQ,CAAC,EAC5C,CAAC;YACDyuB,gBAAgB,CAAC,CAAC;YAClBj5B,IAAI,CAAC9S,IAAI,GAAG8c,KAAK,CAACQ,QAAQ;UAC5B;UACAoK,QAAQ,GAAGxU,WAAW,CAACJ,IAAI,CAAC;QAC9B;QACA;MACF,KAAKkuB,OAAO;QACV,IAAIkM,cAAc,CAACp6B,IAAI,CAAC,EAAE;UACxB4U,QAAQ,GAAGxU,WAAW,CAACJ,IAAI,CAAC;UAC5Bq6B,WAAW,CACTrwB,KAAK,CAACxK,EAAE,GAAGQ,IAAI,CAACS,OAAO,CAACU,UAAU,EAClCnB,IAAI,EACJqM,eACF,CAAC;QACH,CAAC,MAAM,IAAI8tB,OAAO,KAAK,CAAC,IAAIH,eAAe,EAAE;UAC3CplB,QAAQ,GAAGqlB,UAAU,CAAC,CAAC;QACzB,CAAC,MAAM;UACLrlB,QAAQ,GAAGxU,WAAW,CAACJ,IAAI,CAAC;QAC9B;QACA;MACF,KAAKxE,MAAM;QACT,IAAIw+B,eAAe,EAAE;UACnBh6B,IAAI,GAAGI,WAAW,CAACJ,IAAI,CAAC;UACxBm6B,OAAO,GAAGn6B,IAAI,CAACyK,QAAQ;QACzB;QACA,IAAI0vB,OAAO,KAAK,CAAC,IAAIA,OAAO,KAAK,CAAC,EAAE;UAClCvlB,QAAQ,GAAG5U,IAAI;UACf,MAAMs6B,kBAAkB,GAAG,CAACtwB,KAAK,CAACQ,QAAQ,CAAC/oB,MAAM;UACjD,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6pB,KAAK,CAACuwB,WAAW,EAAEp6C,CAAC,EAAE,EAAE;YAC1C,IAAIm6C,kBAAkB,EACpBtwB,KAAK,CAACQ,QAAQ,IAAIoK,QAAQ,CAACnK,QAAQ,KAAK,CAAC,GAAGmK,QAAQ,CAAC4lB,SAAS,GAAG5lB,QAAQ,CAAC1nB,IAAI;YAChF,IAAI/M,CAAC,KAAK6pB,KAAK,CAACuwB,WAAW,GAAG,CAAC,EAAE;cAC/BvwB,KAAK,CAACjL,MAAM,GAAG6V,QAAQ;YACzB;YACAA,QAAQ,GAAGxU,WAAW,CAACwU,QAAQ,CAAC;UAClC;UACA,OAAOolB,eAAe,GAAG55B,WAAW,CAACwU,QAAQ,CAAC,GAAGA,QAAQ;QAC3D,CAAC,MAAM;UACLqlB,UAAU,CAAC,CAAC;QACd;QACA;MACF,KAAK1+B,QAAQ;QACX,IAAI,CAACy+B,eAAe,EAAE;UACpBplB,QAAQ,GAAGqlB,UAAU,CAAC,CAAC;QACzB,CAAC,MAAM;UACLrlB,QAAQ,GAAG6lB,eAAe,CACxBz6B,IAAI,EACJgK,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;QACH;QACA;MACF;QACE,IAAIznB,SAAS,GAAG,CAAC,EAAE;UACjB,IAAI,CAACkwB,OAAO,KAAK,CAAC,IAAInwB,KAAK,CAAC9pB,IAAI,CAACqG,WAAW,CAAC,CAAC,KAAKyZ,IAAI,CAACuM,OAAO,CAAChmB,WAAW,CAAC,CAAC,KAAK,CAAC6zC,cAAc,CAACp6B,IAAI,CAAC,EAAE;YACvG4U,QAAQ,GAAGqlB,UAAU,CAAC,CAAC;UACzB,CAAC,MAAM;YACLrlB,QAAQ,GAAG8lB,cAAc,CACvB16B,IAAI,EACJgK,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;UACH;QACF,CAAC,MAAM,IAAIznB,SAAS,GAAG,CAAC,EAAE;UACxBD,KAAK,CAACynB,YAAY,GAAGA,YAAY;UACjC,MAAMja,SAAS,GAAGtY,UAAU,CAACc,IAAI,CAAC;UAClC,IAAIg6B,eAAe,EAAE;YACnBplB,QAAQ,GAAG+lB,mBAAmB,CAAC36B,IAAI,CAAC;UACtC,CAAC,MAAM,IAAIs5B,SAAS,CAACt5B,IAAI,CAAC,IAAIA,IAAI,CAAC9S,IAAI,KAAK,gBAAgB,EAAE;YAC5D0nB,QAAQ,GAAG+lB,mBAAmB,CAAC36B,IAAI,EAAEA,IAAI,CAAC9S,IAAI,EAAE,cAAc,CAAC;UACjE,CAAC,MAAM;YACL0nB,QAAQ,GAAGxU,WAAW,CAACJ,IAAI,CAAC;UAC9B;UACA05B,cAAc,CACZ1vB,KAAK,EACLwN,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACd6H,gBAAgB,CAAC7hB,SAAS,CAAC,EAC3Bka,SACF,CAAC;UACD,IAAI0G,cAAc,CAACpuB,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC9pB,IAAI,CAACm4C,eAAe,EAAE;YACxD,IAAI5uB,OAAO;YACX,IAAIuwB,eAAe,EAAE;cACnBvwB,OAAO,GAAG3N,WAAW,CAACP,QAAQ,CAAC;cAC/BkO,OAAO,CAAC1K,MAAM,GAAG6V,QAAQ,GAAGA,QAAQ,CAAC/T,eAAe,GAAG2W,SAAS,CAAC1W,SAAS;YAC5E,CAAC,MAAM;cACL2I,OAAO,GAAGzJ,IAAI,CAACyK,QAAQ,KAAK,CAAC,GAAGmwB,eAAe,CAAC,EAAE,CAAC,GAAG9+B,WAAW,CAAC,KAAK,CAAC;YAC1E;YACA2N,OAAO,CAACjK,EAAE,GAAGQ,IAAI;YACjBgK,KAAK,CAACO,SAAS,CAACd,OAAO,GAAGA,OAAO;UACnC;QACF,CAAC,MAAM,IAAIQ,SAAS,GAAG,EAAE,EAAE;UACzB,IAAIkwB,OAAO,KAAK,CAAC,EAAE;YACjBvlB,QAAQ,GAAGqlB,UAAU,CAAC,CAAC;UACzB,CAAC,MAAM;YACLrlB,QAAQ,GAAG5K,KAAK,CAAC9pB,IAAI,CAACg9B,OAAO,CAC3Bld,IAAI,EACJgK,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SAAS,EACT8H,iBAAiB,EACjB5F,eACF,CAAC;UACH;QACF,CAAC,MAAM,IAAI3pB,SAAS,GAAG,GAAG,EAAE;UAC1B2K,QAAQ,GAAG5K,KAAK,CAAC9pB,IAAI,CAACg9B,OAAO,CAC3Bld,IAAI,EACJgK,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACd6H,gBAAgB,CAACn6B,UAAU,CAACc,IAAI,CAAC,CAAC,EAClCyxB,YAAY,EACZC,SAAS,EACT8H,iBAAiB,EACjBO,WACF,CAAC;QACH,CAAC,MAAM,IAAI,MAAyC,IAAIF,uCAAuC,EAAE;UAC/FlS,MAAM,CAAC,yBAAyB,EAAEznC,IAAI,EAAE,IAAI,OAAOA,IAAI,GAAG,CAAC;QAC7D;IACJ;IACA,IAAIkkC,GAAG,IAAI,IAAI,EAAE;MACf4T,MAAM,CAAC5T,GAAG,EAAE,IAAI,EAAEoN,cAAc,EAAExnB,KAAK,CAAC;IAC1C;IACA,OAAO4K,QAAQ;EACjB,CAAC;EACD,MAAM8lB,cAAc,GAAGA,CAACl7B,EAAE,EAAEwK,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAEC,YAAY,EAAEC,SAAS,KAAK;IAC9FA,SAAS,GAAGA,SAAS,IAAI,CAAC,CAAC1nB,KAAK,CAACioB,eAAe;IAChD,MAAM;MAAE/xC,IAAI;MAAEqf,KAAK;MAAE83B,SAAS;MAAEptB,SAAS;MAAEmmB,IAAI;MAAEroB;IAAW,CAAC,GAAGiC,KAAK;IACrE,MAAM6wB,UAAU,GAAG36C,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,QAAQ;IACxD,IAAI,MAAyC,IAAI26C,UAAU,IAAIxD,SAAS,KAAK,CAAC,CAAC,EAAE;MAC/E,IAAIjH,IAAI,EAAE;QACRE,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,SAAS,CAAC;MAC9D;MACA,IAAIyuB,uBAAuB,GAAG,KAAK;MACnC,IAAIV,cAAc,CAAC56B,EAAE,CAAC,EAAE;QACtBs7B,uBAAuB,GAAGC,cAAc,CACtC,IAAI;QACJ;QACAhzB,UACF,CAAC,IAAIsE,eAAe,IAAIA,eAAe,CAACrC,KAAK,CAACzK,KAAK,IAAI8M,eAAe,CAACrC,KAAK,CAACzK,KAAK,CAACk1B,MAAM;QACzF,MAAMh0B,OAAO,GAAGjB,EAAE,CAACiB,OAAO,CAACU,UAAU;QACrC,IAAI25B,uBAAuB,EAAE;UAC3B/yB,UAAU,CAACG,WAAW,CAACzH,OAAO,CAAC;QACjC;QACA45B,WAAW,CAAC55B,OAAO,EAAEjB,EAAE,EAAE6M,eAAe,CAAC;QACzCrC,KAAK,CAACxK,EAAE,GAAGA,EAAE,GAAGiB,OAAO;MACzB;MACA,IAAIwJ,SAAS,GAAG,EAAE;MAAI;MACtB,EAAE1K,KAAK,KAAKA,KAAK,CAACyB,SAAS,IAAIzB,KAAK,CAACY,WAAW,CAAC,CAAC,EAAE;QAClD,IAAI4K,IAAI,GAAG6oB,eAAe,CACxBp0B,EAAE,CAAC2B,UAAU,EACb6I,KAAK,EACLxK,EAAE,EACF6M,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;QACD,IAAIsJ,SAAS,GAAG,KAAK;QACrB,OAAOjwB,IAAI,EAAE;UACX,IAAI,CAACkwB,iBAAiB,CAACz7B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAyC,IAAIq6B,uCAAuC,KAAK,CAACmB,SAAS,EAAE;cACxGrT,MAAM,CACJ,gCAAgC,EAChCnoB,EAAE,EACF;AAChB,oEACc,CAAC;cACDw7B,SAAS,GAAG,IAAI;YAClB;YACA/B,gBAAgB,CAAC,CAAC;UACpB;UACA,MAAMvP,GAAG,GAAG3e,IAAI;UAChBA,IAAI,GAAGA,IAAI,CAAC3K,WAAW;UACvBnB,MAAM,CAACyqB,GAAG,CAAC;QACb;MACF,CAAC,MAAM,IAAIzf,SAAS,GAAG,CAAC,EAAE;QACxB,IAAIixB,UAAU,GAAGlxB,KAAK,CAACQ,QAAQ;QAC/B,IAAI0wB,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK17B,EAAE,CAAC+M,OAAO,KAAK,KAAK,IAAI/M,EAAE,CAAC+M,OAAO,KAAK,UAAU,CAAC,EAAE;UACjF2uB,UAAU,GAAGA,UAAU,CAACvvC,KAAK,CAAC,CAAC,CAAC;QAClC;QACA,IAAI6T,EAAE,CAACW,WAAW,KAAK+6B,UAAU,EAAE;UACjC,IAAI,CAACD,iBAAiB,CAACz7B,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE;YACxC,CAAC,MAAyC,IAAIq6B,uCAAuC,KAAKlS,MAAM,CAC9F,oCAAoC,EACpCnoB,EAAE,EACF;AACd,0BAA0BA,EAAE,CAACW,WAAW;AACxC,0BAA0B6J,KAAK,CAACQ,QAAQ,EAC5B,CAAC;YACDyuB,gBAAgB,CAAC,CAAC;UACpB;UACAz5B,EAAE,CAACW,WAAW,GAAG6J,KAAK,CAACQ,QAAQ;QACjC;MACF;MACA,IAAIjL,KAAK,EAAE;QACT,IAAI,MAAyC,IAAIs6B,uCAAuC,IAAIgB,UAAU,IAAI,CAACnJ,SAAS,IAAI2F,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE;UAC7I,MAAMxZ,eAAe,GAAGre,EAAE,CAAC+M,OAAO,CAACC,QAAQ,CAAC,GAAG,CAAC;UAChD,KAAK,MAAM1mB,GAAG,IAAIyZ,KAAK,EAAE;YACvB,IAAI,CAAC,MAAyC,IAAIs6B,uCAAuC;YAAK;YAC9F;YACA,EAAEzJ,IAAI,IAAIA,IAAI,CAACptB,IAAI,CAAEiE,CAAC,IAAKA,CAAC,CAACopB,GAAG,CAACrY,OAAO,CAAC,CAAC,IAAImjB,eAAe,CAAC37B,EAAE,EAAE1Z,GAAG,EAAEyZ,KAAK,CAACzZ,GAAG,CAAC,EAAEkkB,KAAK,EAAEqC,eAAe,CAAC,EAAE;cAC1G4sB,gBAAgB,CAAC,CAAC;YACpB;YACA,IAAI4B,UAAU,KAAK/0C,GAAG,CAACs1C,QAAQ,CAAC,OAAO,CAAC,IAAIt1C,GAAG,KAAK,eAAe,CAAC,IAAImX,IAAI,CAACnX,GAAG,CAAC,IAAI,CAACugC,cAAc,CAACvgC,GAAG,CAAC;YAAI;YAC7GA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI+3B,eAAe,EAAE;cACjCnP,SAAS,CAAClP,EAAE,EAAE1Z,GAAG,EAAE,IAAI,EAAEyZ,KAAK,CAACzZ,GAAG,CAAC,EAAE,KAAK,CAAC,EAAEumB,eAAe,CAAC;YAC/D;UACF;QACF,CAAC,MAAM,IAAI9M,KAAK,CAAC87B,OAAO,EAAE;UACxB3sB,SAAS,CACPlP,EAAE,EACF,SAAS,EACT,IAAI,EACJD,KAAK,CAAC87B,OAAO,EACb,KAAK,CAAC,EACNhvB,eACF,CAAC;QACH,CAAC,MAAM,IAAIgrB,SAAS,GAAG,CAAC,IAAIlT,UAAU,CAAC5kB,KAAK,CAACyI,KAAK,CAAC,EAAE;UACnD,KAAK,MAAMliB,GAAG,IAAIyZ,KAAK,CAACyI,KAAK,EAAEzI,KAAK,CAACyI,KAAK,CAACliB,GAAG,CAAC;QACjD;MACF;MACA,IAAIw1C,UAAU;MACd,IAAIA,UAAU,GAAG/7B,KAAK,IAAIA,KAAK,CAACg8B,kBAAkB,EAAE;QAClDC,eAAe,CAACF,UAAU,EAAEjvB,eAAe,EAAErC,KAAK,CAAC;MACrD;MACA,IAAIomB,IAAI,EAAE;QACRE,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,aAAa,CAAC;MAClE;MACA,IAAI,CAACivB,UAAU,GAAG/7B,KAAK,IAAIA,KAAK,CAAC0T,cAAc,KAAKmd,IAAI,IAAI0K,uBAAuB,EAAE;QACnFW,uBAAuB,CAAC,MAAM;UAC5BH,UAAU,IAAIE,eAAe,CAACF,UAAU,EAAEjvB,eAAe,EAAErC,KAAK,CAAC;UACjE8wB,uBAAuB,IAAI/yB,UAAU,CAACnD,KAAK,CAACpF,EAAE,CAAC;UAC/C4wB,IAAI,IAAIE,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,SAAS,CAAC;QACtE,CAAC,EAAEmlB,cAAc,CAAC;MACpB;IACF;IACA,OAAOhyB,EAAE,CAACY,WAAW;EACvB,CAAC;EACD,MAAMwzB,eAAe,GAAGA,CAAC5zB,IAAI,EAAE07B,WAAW,EAAElkB,SAAS,EAAEnL,eAAe,EAAEmlB,cAAc,EAAEC,YAAY,EAAEC,SAAS,KAAK;IAClHA,SAAS,GAAGA,SAAS,IAAI,CAAC,CAACgK,WAAW,CAACzJ,eAAe;IACtD,MAAMznB,QAAQ,GAAGkxB,WAAW,CAAClxB,QAAQ;IACrC,MAAMyP,CAAC,GAAGzP,QAAQ,CAAC/oB,MAAM;IACzB,IAAIu5C,SAAS,GAAG,KAAK;IACrB,KAAK,IAAI76C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;MAC1B,MAAM6pB,KAAK,GAAG0nB,SAAS,GAAGlnB,QAAQ,CAACrqB,CAAC,CAAC,GAAGqqB,QAAQ,CAACrqB,CAAC,CAAC,GAAGw7C,cAAc,CAACnxB,QAAQ,CAACrqB,CAAC,CAAC,CAAC;MACjF,MAAMy7C,MAAM,GAAG5xB,KAAK,CAAC9pB,IAAI,KAAKmc,IAAI;MAClC,IAAI2D,IAAI,EAAE;QACR,IAAI47B,MAAM,IAAI,CAAClK,SAAS,EAAE;UACxB,IAAIvxC,CAAC,GAAG,CAAC,GAAG85B,CAAC,IAAI0hB,cAAc,CAACnxB,QAAQ,CAACrqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAACD,IAAI,KAAKmc,IAAI,EAAE;YAC9DuC,MAAM,CACJe,UAAU,CACRK,IAAI,CAAC9S,IAAI,CAACvB,KAAK,CAACqe,KAAK,CAACQ,QAAQ,CAAC/oB,MAAM,CACvC,CAAC,EACD+1B,SAAS,EACTpX,WAAW,CAACJ,IAAI,CAClB,CAAC;YACDA,IAAI,CAAC9S,IAAI,GAAG8c,KAAK,CAACQ,QAAQ;UAC5B;QACF;QACAxK,IAAI,GAAG+5B,WAAW,CAChB/5B,IAAI,EACJgK,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;MACH,CAAC,MAAM,IAAIkK,MAAM,IAAI,CAAC5xB,KAAK,CAACQ,QAAQ,EAAE;QACpC5L,MAAM,CAACoL,KAAK,CAACxK,EAAE,GAAGG,UAAU,CAAC,EAAE,CAAC,EAAE6X,SAAS,CAAC;MAC9C,CAAC,MAAM;QACL,IAAI,CAACyjB,iBAAiB,CAACzjB,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE;UACnD,IAAI,CAAC,MAAyC,IAAIqiB,uCAAuC,KAAK,CAACmB,SAAS,EAAE;YACxGrT,MAAM,CACJ,gCAAgC,EAChCnQ,SAAS,EACT;AACd,qEACY,CAAC;YACDwjB,SAAS,GAAG,IAAI;UAClB;UACA/B,gBAAgB,CAAC,CAAC;QACpB;QACAU,KAAK,CACH,IAAI,EACJ3vB,KAAK,EACLwN,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACd6H,gBAAgB,CAAC7hB,SAAS,CAAC,EAC3Bia,YACF,CAAC;MACH;IACF;IACA,OAAOzxB,IAAI;EACb,CAAC;EACD,MAAMy6B,eAAe,GAAGA,CAACz6B,IAAI,EAAEgK,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAEC,YAAY,EAAEC,SAAS,KAAK;IACjG,MAAM;MAAED,YAAY,EAAEoK;IAAqB,CAAC,GAAG7xB,KAAK;IACpD,IAAI6xB,oBAAoB,EAAE;MACxBpK,YAAY,GAAGA,YAAY,GAAGA,YAAY,CAACjnC,MAAM,CAACqxC,oBAAoB,CAAC,GAAGA,oBAAoB;IAChG;IACA,MAAMrkB,SAAS,GAAGtY,UAAU,CAACc,IAAI,CAAC;IAClC,MAAM+K,IAAI,GAAG6oB,eAAe,CAC1BxzB,WAAW,CAACJ,IAAI,CAAC,EACjBgK,KAAK,EACLwN,SAAS,EACTnL,eAAe,EACfmlB,cAAc,EACdC,YAAY,EACZC,SACF,CAAC;IACD,IAAI3mB,IAAI,IAAIuuB,SAAS,CAACvuB,IAAI,CAAC,IAAIA,IAAI,CAAC7d,IAAI,KAAK,GAAG,EAAE;MAChD,OAAOkT,WAAW,CAAC4J,KAAK,CAACjL,MAAM,GAAGgM,IAAI,CAAC;IACzC,CAAC,MAAM;MACLkuB,gBAAgB,CAAC,CAAC;MAClBr6B,MAAM,CAACoL,KAAK,CAACjL,MAAM,GAAGe,aAAa,CAAC,GAAG,CAAC,EAAE0X,SAAS,EAAEzM,IAAI,CAAC;MAC1D,OAAOA,IAAI;IACb;EACF,CAAC;EACD,MAAMmvB,cAAc,GAAGA,CAACl6B,IAAI,EAAEgK,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAEC,YAAY,EAAEqK,UAAU,KAAK;IACjG,IAAI,CAACb,iBAAiB,CAACj7B,IAAI,CAAC+7B,aAAa,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE;MAC5D,CAAC,MAAyC,IAAIlC,uCAAuC,KAAKlS,MAAM,CAC9F;AACR,sBAAsB,EACd3nB,IAAI,EACJA,IAAI,CAACyK,QAAQ,KAAK,CAAC,GAAG,QAAQ,GAAG6uB,SAAS,CAACt5B,IAAI,CAAC,IAAIA,IAAI,CAAC9S,IAAI,KAAK,GAAG,GAAG,qBAAqB,GAAG,EAAE,EAClG;AACR,sBAAsB,EACd8c,KAAK,CAAC9pB,IACR,CAAC;MACD+4C,gBAAgB,CAAC,CAAC;IACpB;IACAjvB,KAAK,CAACxK,EAAE,GAAG,IAAI;IACf,IAAIs8B,UAAU,EAAE;MACd,MAAMn7B,GAAG,GAAGg6B,mBAAmB,CAAC36B,IAAI,CAAC;MACrC,OAAO,IAAI,EAAE;QACX,MAAMg8B,KAAK,GAAG57B,WAAW,CAACJ,IAAI,CAAC;QAC/B,IAAIg8B,KAAK,IAAIA,KAAK,KAAKr7B,GAAG,EAAE;UAC1B1B,MAAM,CAAC+8B,KAAK,CAAC;QACf,CAAC,MAAM;UACL;QACF;MACF;IACF;IACA,MAAMjxB,IAAI,GAAG3K,WAAW,CAACJ,IAAI,CAAC;IAC9B,MAAMwX,SAAS,GAAGtY,UAAU,CAACc,IAAI,CAAC;IAClCf,MAAM,CAACe,IAAI,CAAC;IACZ25B,KAAK,CACH,IAAI,EACJ3vB,KAAK,EACLwN,SAAS,EACTzM,IAAI,EACJsB,eAAe,EACfmlB,cAAc,EACd6H,gBAAgB,CAAC7hB,SAAS,CAAC,EAC3Bia,YACF,CAAC;IACD,IAAIplB,eAAe,EAAE;MACnBA,eAAe,CAACrC,KAAK,CAACxK,EAAE,GAAGwK,KAAK,CAACxK,EAAE;MACnCy8B,eAAe,CAAC5vB,eAAe,EAAErC,KAAK,CAACxK,EAAE,CAAC;IAC5C;IACA,OAAOuL,IAAI;EACb,CAAC;EACD,MAAM4vB,mBAAmB,GAAGA,CAAC36B,IAAI,EAAEtI,IAAI,GAAG,GAAG,EAAEqxB,KAAK,GAAG,GAAG,KAAK;IAC7D,IAAI/hC,KAAK,GAAG,CAAC;IACb,OAAOgZ,IAAI,EAAE;MACXA,IAAI,GAAGI,WAAW,CAACJ,IAAI,CAAC;MACxB,IAAIA,IAAI,IAAIs5B,SAAS,CAACt5B,IAAI,CAAC,EAAE;QAC3B,IAAIA,IAAI,CAAC9S,IAAI,KAAKwK,IAAI,EAAE1Q,KAAK,EAAE;QAC/B,IAAIgZ,IAAI,CAAC9S,IAAI,KAAK67B,KAAK,EAAE;UACvB,IAAI/hC,KAAK,KAAK,CAAC,EAAE;YACf,OAAOoZ,WAAW,CAACJ,IAAI,CAAC;UAC1B,CAAC,MAAM;YACLhZ,KAAK,EAAE;UACT;QACF;MACF;IACF;IACA,OAAOgZ,IAAI;EACb,CAAC;EACD,MAAMq6B,WAAW,GAAGA,CAAC6B,OAAO,EAAEC,OAAO,EAAE9vB,eAAe,KAAK;IACzD,MAAM+vB,WAAW,GAAGD,OAAO,CAACj9B,UAAU;IACtC,IAAIk9B,WAAW,EAAE;MACfA,WAAW,CAACC,YAAY,CAACH,OAAO,EAAEC,OAAO,CAAC;IAC5C;IACA,IAAIr9B,MAAM,GAAGuN,eAAe;IAC5B,OAAOvN,MAAM,EAAE;MACb,IAAIA,MAAM,CAACkL,KAAK,CAACxK,EAAE,KAAK28B,OAAO,EAAE;QAC/Br9B,MAAM,CAACkL,KAAK,CAACxK,EAAE,GAAGV,MAAM,CAAC2K,OAAO,CAACjK,EAAE,GAAG08B,OAAO;MAC/C;MACAp9B,MAAM,GAAGA,MAAM,CAACA,MAAM;IACxB;EACF,CAAC;EACD,MAAMs7B,cAAc,GAAIp6B,IAAI,IAAK;IAC/B,OAAOA,IAAI,CAACyK,QAAQ,KAAK,CAAC,IAAIzK,IAAI,CAACuM,OAAO,KAAK,UAAU;EAC3D,CAAC;EACD,OAAO,CAAC2Q,OAAO,EAAE6c,WAAW,CAAC;AAC/B;AACA,SAASoB,eAAeA,CAAC37B,EAAE,EAAE1Z,GAAG,EAAEw2C,WAAW,EAAEtyB,KAAK,EAAEnB,QAAQ,EAAE;EAC9D,IAAI0zB,YAAY;EAChB,IAAIC,WAAW;EACf,IAAIC,MAAM;EACV,IAAIC,QAAQ;EACZ,IAAI52C,GAAG,KAAK,OAAO,EAAE;IACnB22C,MAAM,GAAGj9B,EAAE,CAACiN,YAAY,CAAC,OAAO,CAAC;IACjCiwB,QAAQ,GAAGpW,cAAc,CAACgW,WAAW,CAAC;IACtC,IAAI,CAACK,UAAU,CAACC,UAAU,CAACH,MAAM,IAAI,EAAE,CAAC,EAAEG,UAAU,CAACF,QAAQ,CAAC,CAAC,EAAE;MAC/DH,YAAY,GAAG,CAAC,CAAC;MACjBC,WAAW,GAAG,OAAO;IACvB;EACF,CAAC,MAAM,IAAI12C,GAAG,KAAK,OAAO,EAAE;IAC1B22C,MAAM,GAAGj9B,EAAE,CAACiN,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE;IACvCiwB,QAAQ,GAAGh1C,QAAQ,CAAC40C,WAAW,CAAC,GAAGA,WAAW,GAAG/V,cAAc,CAACC,cAAc,CAAC8V,WAAW,CAAC,CAAC;IAC5F,MAAMO,SAAS,GAAGC,UAAU,CAACL,MAAM,CAAC;IACpC,MAAMM,WAAW,GAAGD,UAAU,CAACJ,QAAQ,CAAC;IACxC,IAAI1yB,KAAK,CAAComB,IAAI,EAAE;MACd,KAAK,MAAM;QAAEC,GAAG;QAAExvC;MAAM,CAAC,IAAImpB,KAAK,CAAComB,IAAI,EAAE;QACvC,IAAIC,GAAG,CAAC1/B,IAAI,KAAK,MAAM,IAAI,CAAC9P,KAAK,EAAE;UACjCk8C,WAAW,CAACh0C,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;QACpC;MACF;IACF;IACA,IAAI8f,QAAQ,EAAE;MACZm0B,cAAc,CAACn0B,QAAQ,EAAEmB,KAAK,EAAE+yB,WAAW,CAAC;IAC9C;IACA,IAAI,CAACE,UAAU,CAACJ,SAAS,EAAEE,WAAW,CAAC,EAAE;MACvCR,YAAY,GAAG,CAAC,CAAC;MACjBC,WAAW,GAAG,OAAO;IACvB;EACF,CAAC,MAAM,IAAIh9B,EAAE,YAAYke,UAAU,IAAI+I,cAAc,CAAC3gC,GAAG,CAAC,IAAI0Z,EAAE,YAAYmQ,WAAW,KAAK+W,aAAa,CAAC5gC,GAAG,CAAC,IAAI6gC,eAAe,CAAC7gC,GAAG,CAAC,CAAC,EAAE;IACvI,IAAI4gC,aAAa,CAAC5gC,GAAG,CAAC,EAAE;MACtB22C,MAAM,GAAGj9B,EAAE,CAACoT,YAAY,CAAC9sB,GAAG,CAAC;MAC7B42C,QAAQ,GAAG5/B,kBAAkB,CAACw/B,WAAW,CAAC;IAC5C,CAAC,MAAM,IAAIA,WAAW,IAAI,IAAI,EAAE;MAC9BG,MAAM,GAAGj9B,EAAE,CAACoT,YAAY,CAAC9sB,GAAG,CAAC;MAC7B42C,QAAQ,GAAG,KAAK;IAClB,CAAC,MAAM;MACL,IAAIl9B,EAAE,CAACoT,YAAY,CAAC9sB,GAAG,CAAC,EAAE;QACxB22C,MAAM,GAAGj9B,EAAE,CAACiN,YAAY,CAAC3mB,GAAG,CAAC;MAC/B,CAAC,MAAM,IAAIA,GAAG,KAAK,OAAO,IAAI0Z,EAAE,CAAC+M,OAAO,KAAK,UAAU,EAAE;QACvDkwB,MAAM,GAAGj9B,EAAE,CAAC3e,KAAK;MACnB,CAAC,MAAM;QACL47C,MAAM,GAAG,KAAK;MAChB;MACAC,QAAQ,GAAG9V,qBAAqB,CAAC0V,WAAW,CAAC,GAAGj2C,MAAM,CAACi2C,WAAW,CAAC,GAAG,KAAK;IAC7E;IACA,IAAIG,MAAM,KAAKC,QAAQ,EAAE;MACvBH,YAAY,GAAG,CAAC,CAAC;MACjBC,WAAW,GAAG12C,GAAG;IACnB;EACF;EACA,IAAIy2C,YAAY,IAAI,IAAI,IAAI,CAACtB,iBAAiB,CAACz7B,EAAE,EAAE+8B,YAAY,CAAC,EAAE;IAChE,MAAMjyC,MAAM,GAAIihB,CAAC,IAAKA,CAAC,KAAK,KAAK,GAAG,gBAAgB,GAAG,GAAGixB,WAAW,KAAKjxB,CAAC,GAAG;IAC9E,MAAM2xB,UAAU,GAAG,aAAaC,kBAAkB,CAACZ,YAAY,CAAC,cAAc;IAC9E,MAAMa,WAAW,GAAG;AACxB,0BAA0B9yC,MAAM,CAACmyC,MAAM,CAAC;AACxC,0BAA0BnyC,MAAM,CAACoyC,QAAQ,CAAC;AAC1C;AACA,6CAA6C;IACzC;MACE/U,MAAM,CAACuV,UAAU,EAAE19B,EAAE,EAAE49B,WAAW,CAAC;IACrC;IACA,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd;AACA,SAASR,UAAUA,CAACh2C,GAAG,EAAE;EACvB,OAAO,IAAIwe,GAAG,CAACxe,GAAG,CAACN,IAAI,CAAC,CAAC,CAAC0Q,KAAK,CAAC,KAAK,CAAC,CAAC;AACzC;AACA,SAAS2lC,UAAUA,CAACnwC,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAID,CAAC,CAAC8Y,IAAI,KAAK7Y,CAAC,CAAC6Y,IAAI,EAAE;IACrB,OAAO,KAAK;EACd;EACA,KAAK,MAAM6B,CAAC,IAAI3a,CAAC,EAAE;IACjB,IAAI,CAACC,CAAC,CAAC1C,GAAG,CAACod,CAAC,CAAC,EAAE;MACb,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb;AACA,SAAS21B,UAAUA,CAACl2C,GAAG,EAAE;EACvB,MAAMy2C,QAAQ,GAAG,eAAgB,IAAIppB,GAAG,CAAC,CAAC;EAC1C,KAAK,MAAMyM,IAAI,IAAI95B,GAAG,CAACoQ,KAAK,CAAC,GAAG,CAAC,EAAE;IACjC,IAAI,CAAClR,GAAG,EAAEjF,KAAK,CAAC,GAAG6/B,IAAI,CAAC1pB,KAAK,CAAC,GAAG,CAAC;IAClClR,GAAG,GAAGA,GAAG,CAACQ,IAAI,CAAC,CAAC;IAChBzF,KAAK,GAAGA,KAAK,IAAIA,KAAK,CAACyF,IAAI,CAAC,CAAC;IAC7B,IAAIR,GAAG,IAAIjF,KAAK,EAAE;MAChBw8C,QAAQ,CAACt0C,GAAG,CAACjD,GAAG,EAAEjF,KAAK,CAAC;IAC1B;EACF;EACA,OAAOw8C,QAAQ;AACjB;AACA,SAASJ,UAAUA,CAACzwC,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAID,CAAC,CAAC8Y,IAAI,KAAK7Y,CAAC,CAAC6Y,IAAI,EAAE;IACrB,OAAO,KAAK;EACd;EACA,KAAK,MAAM,CAACxf,GAAG,EAAEjF,KAAK,CAAC,IAAI2L,CAAC,EAAE;IAC5B,IAAI3L,KAAK,KAAK4L,CAAC,CAAC7C,GAAG,CAAC9D,GAAG,CAAC,EAAE;MACxB,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb;AACA,SAASk3C,cAAcA,CAACn0B,QAAQ,EAAEmB,KAAK,EAAE+yB,WAAW,EAAE;EACpD,MAAMzlB,IAAI,GAAGzO,QAAQ,CAACY,OAAO;EAC7B,IAAIZ,QAAQ,CAACQ,UAAU,KAAKW,KAAK,KAAKsN,IAAI,IAAIA,IAAI,IAAIA,IAAI,CAACp3B,IAAI,KAAKqb,QAAQ,IAAI+b,IAAI,CAAC9M,QAAQ,CAACgC,QAAQ,CAACxC,KAAK,CAAC,CAAC,EAAE;IAC9G,MAAMszB,OAAO,GAAGz0B,QAAQ,CAACQ,UAAU,CAAC,CAAC;IACrC,KAAK,MAAMvjB,GAAG,IAAIw3C,OAAO,EAAE;MACzBP,WAAW,CAACh0C,GAAG,CACb,KAAK89B,oBAAoB,CAAC/gC,GAAG,EAAE,KAAK,CAAC,EAAE,EACvCO,MAAM,CAACi3C,OAAO,CAACx3C,GAAG,CAAC,CACrB,CAAC;IACH;EACF;EACA,IAAIkkB,KAAK,KAAKsN,IAAI,IAAIzO,QAAQ,CAAC/J,MAAM,EAAE;IACrCk+B,cAAc,CAACn0B,QAAQ,CAAC/J,MAAM,EAAE+J,QAAQ,CAACmB,KAAK,EAAE+yB,WAAW,CAAC;EAC9D;AACF;AACA,MAAMQ,iBAAiB,GAAG,qBAAqB;AAC/C,MAAMJ,kBAAkB,GAAG;EACzB,CAAC,CAAC,CAAC,aAAa,MAAM;EACtB,CAAC,CAAC,CAAC,iBAAiB,UAAU;EAC9B,CAAC,CAAC,CAAC,cAAc,OAAO;EACxB,CAAC,CAAC,CAAC,cAAc,OAAO;EACxB,CAAC,CAAC,CAAC,kBAAkB;AACvB,CAAC;AACD,SAASlC,iBAAiBA,CAACz7B,EAAE,EAAEg+B,WAAW,EAAE;EAC1C,IAAIA,WAAW,KAAK,CAAC,CAAC,cAAcA,WAAW,KAAK,CAAC,CAAC,gBAAgB;IACpE,OAAOh+B,EAAE,IAAI,CAACA,EAAE,CAACoT,YAAY,CAAC2qB,iBAAiB,CAAC,EAAE;MAChD/9B,EAAE,GAAGA,EAAE,CAACu8B,aAAa;IACvB;EACF;EACA,MAAM0B,WAAW,GAAGj+B,EAAE,IAAIA,EAAE,CAACiN,YAAY,CAAC8wB,iBAAiB,CAAC;EAC5D,IAAIE,WAAW,IAAI,IAAI,EAAE;IACvB,OAAO,KAAK;EACd,CAAC,MAAM,IAAIA,WAAW,KAAK,EAAE,EAAE;IAC7B,OAAO,IAAI;EACb,CAAC,MAAM;IACL,MAAMxpC,IAAI,GAAGwpC,WAAW,CAACzmC,KAAK,CAAC,GAAG,CAAC;IACnC,IAAIwmC,WAAW,KAAK,CAAC,CAAC,cAAcvpC,IAAI,CAACuY,QAAQ,CAAC,UAAU,CAAC,EAAE;MAC7D,OAAO,IAAI;IACb;IACA,OAAOixB,WAAW,CAACzmC,KAAK,CAAC,GAAG,CAAC,CAACwV,QAAQ,CAAC2wB,kBAAkB,CAACK,WAAW,CAAC,CAAC;EACzE;AACF;AAEA,MAAME,mBAAmB,GAAGvX,qEAAa,CAAC,CAAC,CAACuX,mBAAmB,KAAMn4B,EAAE,IAAK9M,UAAU,CAAC8M,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9F,MAAMo4B,kBAAkB,GAAGxX,qEAAa,CAAC,CAAC,CAACwX,kBAAkB,KAAMjjC,EAAE,IAAKkjC,YAAY,CAACljC,EAAE,CAAC,CAAC;AAC3F,MAAMmjC,aAAa,GAAGA,CAACtwC,OAAO,GAAG,GAAG,KAAM2vB,OAAO,IAAK;EACpD,MAAMxiB,EAAE,GAAGgjC,mBAAmB,CAACxgB,OAAO,EAAE;IAAE3vB;EAAQ,CAAC,CAAC;EACpD,OAAO,MAAMowC,kBAAkB,CAACjjC,EAAE,CAAC;AACrC,CAAC;AACD,SAASojC,0BAA0BA,CAACt+B,EAAE,EAAE;EACtC,MAAM;IAAE6X,GAAG;IAAEF,IAAI;IAAE4mB,MAAM;IAAEliB;EAAM,CAAC,GAAGrc,EAAE,CAACsX,qBAAqB,CAAC,CAAC;EAC/D,MAAM;IAAEknB,WAAW;IAAEC;EAAW,CAAC,GAAG7tC,MAAM;EAC1C,OAAO,CAACinB,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAG2mB,WAAW,IAAID,MAAM,GAAG,CAAC,IAAIA,MAAM,GAAGC,WAAW,MAAM7mB,IAAI,GAAG,CAAC,IAAIA,IAAI,GAAG8mB,UAAU,IAAIpiB,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAGoiB,UAAU,CAAC;AACnJ;AACA,MAAMC,gBAAgB,GAAIp9C,IAAI,IAAK,CAACo8B,OAAO,EAAEj9B,OAAO,KAAK;EACvD,MAAM0pB,EAAE,GAAG,IAAIw0B,oBAAoB,CAAEt4C,OAAO,IAAK;IAC/C,KAAK,MAAMuP,CAAC,IAAIvP,OAAO,EAAE;MACvB,IAAI,CAACuP,CAAC,CAACgpC,cAAc,EAAE;MACvBz0B,EAAE,CAACI,UAAU,CAAC,CAAC;MACfmT,OAAO,CAAC,CAAC;MACT;IACF;EACF,CAAC,EAAEp8B,IAAI,CAAC;EACRb,OAAO,CAAEuf,EAAE,IAAK;IACd,IAAI,EAAEA,EAAE,YAAYqX,OAAO,CAAC,EAAE;IAC9B,IAAIinB,0BAA0B,CAACt+B,EAAE,CAAC,EAAE;MAClC0d,OAAO,CAAC,CAAC;MACTvT,EAAE,CAACI,UAAU,CAAC,CAAC;MACf,OAAO,KAAK;IACd;IACAJ,EAAE,CAACE,OAAO,CAACrK,EAAE,CAAC;EAChB,CAAC,CAAC;EACF,OAAO,MAAMmK,EAAE,CAACI,UAAU,CAAC,CAAC;AAC9B,CAAC;AACD,MAAMs0B,mBAAmB,GAAIC,KAAK,IAAMphB,OAAO,IAAK;EAClD,IAAIohB,KAAK,EAAE;IACT,MAAMC,GAAG,GAAGC,UAAU,CAACF,KAAK,CAAC;IAC7B,IAAIC,GAAG,CAACE,OAAO,EAAE;MACfvhB,OAAO,CAAC,CAAC;IACX,CAAC,MAAM;MACLqhB,GAAG,CAAC9kC,gBAAgB,CAAC,QAAQ,EAAEyjB,OAAO,EAAE;QAAEwhB,IAAI,EAAE;MAAK,CAAC,CAAC;MACvD,OAAO,MAAMH,GAAG,CAAC5nC,mBAAmB,CAAC,QAAQ,EAAEumB,OAAO,CAAC;IACzD;EACF;AACF,CAAC;AACD,MAAMyhB,oBAAoB,GAAGA,CAACC,YAAY,GAAG,EAAE,KAAK,CAAC1hB,OAAO,EAAEj9B,OAAO,KAAK;EACxE,IAAIyH,QAAQ,CAACk3C,YAAY,CAAC,EAAEA,YAAY,GAAG,CAACA,YAAY,CAAC;EACzD,IAAIC,WAAW,GAAG,KAAK;EACvB,MAAMC,SAAS,GAAI1pC,CAAC,IAAK;IACvB,IAAI,CAACypC,WAAW,EAAE;MAChBA,WAAW,GAAG,IAAI;MAClBE,QAAQ,CAAC,CAAC;MACV7hB,OAAO,CAAC,CAAC;MACT9nB,CAAC,CAACjK,MAAM,CAACuoB,aAAa,CAAC,IAAIte,CAAC,CAACvM,WAAW,CAACuM,CAAC,CAAClV,IAAI,EAAEkV,CAAC,CAAC,CAAC;IACtD;EACF,CAAC;EACD,MAAM2pC,QAAQ,GAAGA,CAAA,KAAM;IACrB9+C,OAAO,CAAEuf,EAAE,IAAK;MACd,KAAK,MAAMrf,CAAC,IAAIy+C,YAAY,EAAE;QAC5Bp/B,EAAE,CAAC7I,mBAAmB,CAACxW,CAAC,EAAE2+C,SAAS,CAAC;MACtC;IACF,CAAC,CAAC;EACJ,CAAC;EACD7+C,OAAO,CAAEuf,EAAE,IAAK;IACd,KAAK,MAAMrf,CAAC,IAAIy+C,YAAY,EAAE;MAC5Bp/B,EAAE,CAAC/F,gBAAgB,CAACtZ,CAAC,EAAE2+C,SAAS,EAAE;QAAEJ,IAAI,EAAE;MAAK,CAAC,CAAC;IACnD;EACF,CAAC,CAAC;EACF,OAAOK,QAAQ;AACjB,CAAC;AACD,SAASC,cAAcA,CAACh/B,IAAI,EAAEuF,EAAE,EAAE;EAChC,IAAI+zB,SAAS,CAACt5B,IAAI,CAAC,IAAIA,IAAI,CAAC9S,IAAI,KAAK,GAAG,EAAE;IACxC,IAAI+xC,KAAK,GAAG,CAAC;IACb,IAAIl0B,IAAI,GAAG/K,IAAI,CAACI,WAAW;IAC3B,OAAO2K,IAAI,EAAE;MACX,IAAIA,IAAI,CAACN,QAAQ,KAAK,CAAC,EAAE;QACvB,MAAM/oB,MAAM,GAAG6jB,EAAE,CAACwF,IAAI,CAAC;QACvB,IAAIrpB,MAAM,KAAK,KAAK,EAAE;UACpB;QACF;MACF,CAAC,MAAM,IAAI43C,SAAS,CAACvuB,IAAI,CAAC,EAAE;QAC1B,IAAIA,IAAI,CAAC7d,IAAI,KAAK,GAAG,EAAE;UACrB,IAAI,EAAE+xC,KAAK,KAAK,CAAC,EAAE;QACrB,CAAC,MAAM,IAAIl0B,IAAI,CAAC7d,IAAI,KAAK,GAAG,EAAE;UAC5B+xC,KAAK,EAAE;QACT;MACF;MACAl0B,IAAI,GAAGA,IAAI,CAAC3K,WAAW;IACzB;EACF,CAAC,MAAM;IACLmF,EAAE,CAACvF,IAAI,CAAC;EACV;AACF;AAEA,MAAMo4B,cAAc,GAAIj4C,CAAC,IAAK,CAAC,CAACA,CAAC,CAACD,IAAI,CAAC2wB,aAAa;AACpD;AACA;AACA,SAASquB,oBAAoBA,CAAC9yC,MAAM,EAAE;EACpC,IAAI5E,UAAU,CAAC4E,MAAM,CAAC,EAAE;IACtBA,MAAM,GAAG;MAAE+yC,MAAM,EAAE/yC;IAAO,CAAC;EAC7B;EACA,MAAM;IACJ+yC,MAAM;IACNC,gBAAgB;IAChBC,cAAc;IACdC,KAAK,GAAG,GAAG;IACXpiB,OAAO,EAAEqiB,eAAe;IACxBhyC,OAAO;IACP;IACAiyC,WAAW,GAAG,IAAI;IAClBC,OAAO,EAAEC;EACX,CAAC,GAAGtzC,MAAM;EACV,IAAIuzC,cAAc,GAAG,IAAI;EACzB,IAAIC,YAAY;EAChB,IAAIC,OAAO,GAAG,CAAC;EACf,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAClBD,OAAO,EAAE;IACTF,cAAc,GAAG,IAAI;IACrB,OAAOI,IAAI,CAAC,CAAC;EACf,CAAC;EACD,MAAMA,IAAI,GAAGA,CAAA,KAAM;IACjB,IAAIC,WAAW;IACf,OAAOL,cAAc,KAAKK,WAAW,GAAGL,cAAc,GAAGR,MAAM,CAAC,CAAC,CAAC/V,KAAK,CAAEhxB,GAAG,IAAK;MAC/EA,GAAG,GAAGA,GAAG,YAAY5O,KAAK,GAAG4O,GAAG,GAAG,IAAI5O,KAAK,CAACnD,MAAM,CAAC+R,GAAG,CAAC,CAAC;MACzD,IAAIsnC,WAAW,EAAE;QACf,OAAO,IAAIzpC,OAAO,CAAC,CAACE,OAAO,EAAEC,MAAM,KAAK;UACtC,MAAM6pC,SAAS,GAAGA,CAAA,KAAM9pC,OAAO,CAAC2pC,KAAK,CAAC,CAAC,CAAC;UACxC,MAAMI,QAAQ,GAAGA,CAAA,KAAM9pC,MAAM,CAACgC,GAAG,CAAC;UAClCsnC,WAAW,CAACtnC,GAAG,EAAE6nC,SAAS,EAAEC,QAAQ,EAAEL,OAAO,GAAG,CAAC,CAAC;QACpD,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAMznC,GAAG;MACX;IACF,CAAC,CAAC,CAACwV,IAAI,CAAEkH,IAAI,IAAK;MAChB,IAAIkrB,WAAW,KAAKL,cAAc,IAAIA,cAAc,EAAE;QACpD,OAAOA,cAAc;MACvB;MACA,IAAI,KAAkD,EAAE,EAIvD;MACD,IAAI7qB,IAAI,KAAKA,IAAI,CAACqrB,UAAU,IAAIrrB,IAAI,CAAC5uB,MAAM,CAAC6E,WAAW,CAAC,KAAK,QAAQ,CAAC,EAAE;QACtE+pB,IAAI,GAAGA,IAAI,CAACpT,OAAO;MACrB;MACA,IAAI,KAAyF,EAAE,EAE9F;MACDk+B,YAAY,GAAG9qB,IAAI;MACnB,OAAOA,IAAI;IACb,CAAC,CAAC,CAAC;EACL,CAAC;EACD,OAAOnZ,eAAe,CAAC;IACrBhL,IAAI,EAAE,uBAAuB;IAC7BkgB,aAAa,EAAEkvB,IAAI;IACnBK,cAAcA,CAAC5gC,EAAE,EAAEqJ,QAAQ,EAAEqU,OAAO,EAAE;MACpC,MAAM4hB,SAAS,GAAGS,eAAe,GAAG,MAAM;QACxC,MAAMR,QAAQ,GAAGQ,eAAe,CAC9BriB,OAAO,EACN3X,EAAE,IAAKy5B,cAAc,CAACx/B,EAAE,EAAE+F,EAAE,CAC/B,CAAC;QACD,IAAIw5B,QAAQ,EAAE;UACZ,CAACl2B,QAAQ,CAACw3B,GAAG,KAAKx3B,QAAQ,CAACw3B,GAAG,GAAG,EAAE,CAAC,EAAElsC,IAAI,CAAC4qC,QAAQ,CAAC;QACtD;MACF,CAAC,GAAG7hB,OAAO;MACX,IAAI0iB,YAAY,EAAE;QAChBd,SAAS,CAAC,CAAC;MACb,CAAC,MAAM;QACLiB,IAAI,CAAC,CAAC,CAACnyB,IAAI,CAAC,MAAM,CAAC/E,QAAQ,CAACy3B,WAAW,IAAIxB,SAAS,CAAC,CAAC,CAAC;MACzD;IACF,CAAC;IACD,IAAIzG,eAAeA,CAAA,EAAG;MACpB,OAAOuH,YAAY;IACrB,CAAC;IACD5pB,KAAKA,CAAA,EAAG;MACN,MAAMnN,QAAQ,GAAG03B,eAAe;MAChC9I,iBAAiB,CAAC5uB,QAAQ,CAAC;MAC3B,IAAI+2B,YAAY,EAAE;QAChB,OAAO,MAAMY,eAAe,CAACZ,YAAY,EAAE/2B,QAAQ,CAAC;MACtD;MACA,MAAM42B,OAAO,GAAIrnC,GAAG,IAAK;QACvBunC,cAAc,GAAG,IAAI;QACrB7mC,WAAW,CACTV,GAAG,EACHyQ,QAAQ,EACR,EAAE,EACF,CAACw2B,cACH,CAAC;MACH,CAAC;MACD,IAAIG,WAAW,IAAI32B,QAAQ,CAACqB,QAAQ,IAAIu2B,qBAAqB,EAAE;QAC7D,OAAOV,IAAI,CAAC,CAAC,CAACnyB,IAAI,CAAEkH,IAAI,IAAK;UAC3B,OAAO,MAAM0rB,eAAe,CAAC1rB,IAAI,EAAEjM,QAAQ,CAAC;QAC9C,CAAC,CAAC,CAACugB,KAAK,CAAEhxB,GAAG,IAAK;UAChBqnC,OAAO,CAACrnC,GAAG,CAAC;UACZ,OAAO,MAAMinC,cAAc,GAAGvjC,WAAW,CAACujC,cAAc,EAAE;YACxDzsC,KAAK,EAAEwF;UACT,CAAC,CAAC,GAAG,IAAI;QACX,CAAC,CAAC;MACJ;MACA,MAAM/C,MAAM,GAAG+uB,GAAG,CAAC,KAAK,CAAC;MACzB,MAAMxxB,KAAK,GAAGwxB,GAAG,CAAC,CAAC;MACnB,MAAMsc,OAAO,GAAGtc,GAAG,CAAC,CAAC,CAACkb,KAAK,CAAC;MAC5B,IAAIA,KAAK,EAAE;QACT7mC,UAAU,CAAC,MAAM;UACfioC,OAAO,CAAC7/C,KAAK,GAAG,KAAK;QACvB,CAAC,EAAEy+C,KAAK,CAAC;MACX;MACA,IAAI/xC,OAAO,IAAI,IAAI,EAAE;QACnBkL,UAAU,CAAC,MAAM;UACf,IAAI,CAACpD,MAAM,CAACxU,KAAK,IAAI,CAAC+R,KAAK,CAAC/R,KAAK,EAAE;YACjC,MAAMuX,GAAG,GAAG,IAAI5O,KAAK,CACnB,mCAAmC+D,OAAO,KAC5C,CAAC;YACDkyC,OAAO,CAACrnC,GAAG,CAAC;YACZxF,KAAK,CAAC/R,KAAK,GAAGuX,GAAG;UACnB;QACF,CAAC,EAAE7K,OAAO,CAAC;MACb;MACAwyC,IAAI,CAAC,CAAC,CAACnyB,IAAI,CAAC,MAAM;QAChBvY,MAAM,CAACxU,KAAK,GAAG,IAAI;QACnB,IAAIgoB,QAAQ,CAAC/J,MAAM,IAAI+3B,WAAW,CAAChuB,QAAQ,CAAC/J,MAAM,CAACkL,KAAK,CAAC,EAAE;UACzDnB,QAAQ,CAAC/J,MAAM,CAACkuB,MAAM,CAAC,CAAC;QAC1B;MACF,CAAC,CAAC,CAAC5D,KAAK,CAAEhxB,GAAG,IAAK;QAChBqnC,OAAO,CAACrnC,GAAG,CAAC;QACZxF,KAAK,CAAC/R,KAAK,GAAGuX,GAAG;MACnB,CAAC,CAAC;MACF,OAAO,MAAM;QACX,IAAI/C,MAAM,CAACxU,KAAK,IAAI++C,YAAY,EAAE;UAChC,OAAOY,eAAe,CAACZ,YAAY,EAAE/2B,QAAQ,CAAC;QAChD,CAAC,MAAM,IAAIjW,KAAK,CAAC/R,KAAK,IAAIw+C,cAAc,EAAE;UACxC,OAAOvjC,WAAW,CAACujC,cAAc,EAAE;YACjCzsC,KAAK,EAAEA,KAAK,CAAC/R;UACf,CAAC,CAAC;QACJ,CAAC,MAAM,IAAIu+C,gBAAgB,IAAI,CAACsB,OAAO,CAAC7/C,KAAK,EAAE;UAC7C,OAAOib,WAAW,CAACsjC,gBAAgB,CAAC;QACtC;MACF,CAAC;IACH;EACF,CAAC,CAAC;AACJ;AACA,SAASoB,eAAeA,CAAC1rB,IAAI,EAAEhW,MAAM,EAAE;EACrC,MAAM;IAAEslB,GAAG,EAAEuc,IAAI;IAAEphC,KAAK;IAAEiL,QAAQ;IAAEjB;EAAG,CAAC,GAAGzK,MAAM,CAACkL,KAAK;EACvD,MAAMA,KAAK,GAAGlO,WAAW,CAACgZ,IAAI,EAAEvV,KAAK,EAAEiL,QAAQ,CAAC;EAChDR,KAAK,CAACoa,GAAG,GAAGuc,IAAI;EAChB32B,KAAK,CAACT,EAAE,GAAGA,EAAE;EACb,OAAOzK,MAAM,CAACkL,KAAK,CAACT,EAAE;EACtB,OAAOS,KAAK;AACd;AAEA,MAAM6sB,WAAW,GAAI7sB,KAAK,IAAKA,KAAK,CAAC9pB,IAAI,CAAC0gD,aAAa;AACvD,MAAMC,aAAa,GAAG;EACpBlwC,IAAI,EAAE,WAAW;EACjB;EACA;EACA;EACAiwC,aAAa,EAAE,IAAI;EACnBrhC,KAAK,EAAE;IACLuhC,OAAO,EAAE,CAACz6C,MAAM,EAAE06C,MAAM,EAAE93B,KAAK,CAAC;IAChC+3B,OAAO,EAAE,CAAC36C,MAAM,EAAE06C,MAAM,EAAE93B,KAAK,CAAC;IAChCnC,GAAG,EAAE,CAACzgB,MAAM,EAAEiL,MAAM;EACtB,CAAC;EACD0kB,KAAKA,CAACzW,KAAK,EAAE;IAAEmD;EAAM,CAAC,EAAE;IACtB,MAAMmG,QAAQ,GAAG5N,kBAAkB,CAAC,CAAC;IACrC,MAAMgmC,aAAa,GAAGp4B,QAAQ,CAAC0mB,GAAG;IAClC,IAAI,CAAC0R,aAAa,CAACnkB,QAAQ,EAAE;MAC3B,OAAO,MAAM;QACX,MAAMtS,QAAQ,GAAG9H,KAAK,CAAChB,OAAO,IAAIgB,KAAK,CAAChB,OAAO,CAAC,CAAC;QACjD,OAAO8I,QAAQ,IAAIA,QAAQ,CAAC/oB,MAAM,KAAK,CAAC,GAAG+oB,QAAQ,CAAC,CAAC,CAAC,GAAGA,QAAQ;MACnE,CAAC;IACH;IACA,MAAMwR,KAAK,GAAG,eAAgB,IAAI/H,GAAG,CAAC,CAAC;IACvC,MAAM1yB,IAAI,GAAG,eAAgB,IAAI6jB,GAAG,CAAC,CAAC;IACtC,IAAI87B,OAAO,GAAG,IAAI;IAClB,IAAI,KAAkE,EAAE,EAEvE;IACD,MAAM1P,cAAc,GAAG3oB,QAAQ,CAACqB,QAAQ;IACxC,MAAM;MACJ4S,QAAQ,EAAE;QACRpP,CAAC,EAAEisB,KAAK;QACRnsB,CAAC,EAAE+lB,IAAI;QACPJ,EAAE,EAAEiO,QAAQ;QACZ3sB,CAAC,EAAE;UAAEllB;QAAc;MACrB;IACF,CAAC,GAAG0xC,aAAa;IACjB,MAAMI,gBAAgB,GAAG9xC,aAAa,CAAC,KAAK,CAAC;IAC7C0xC,aAAa,CAACK,QAAQ,GAAG,CAACt3B,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,EAAEM,SAAS,EAAEqyB,SAAS,KAAK;MAC3E,MAAM6P,SAAS,GAAGv3B,KAAK,CAACO,SAAS;MACjCgpB,IAAI,CAACvpB,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,EAAE,CAAC,EAAEyyB,cAAc,CAAC;MACjDmI,KAAK,CACH4H,SAAS,CAACv3B,KAAK,EACfA,KAAK,EACLwN,SAAS,EACTzY,MAAM,EACNwiC,SAAS,EACT/P,cAAc,EACdnyB,SAAS,EACT2K,KAAK,CAACynB,YAAY,EAClBC,SACF,CAAC;MACDgB,qBAAqB,CAAC,MAAM;QAC1B6O,SAAS,CAACC,aAAa,GAAG,KAAK;QAC/B,IAAID,SAAS,CAAC/0C,CAAC,EAAE;UACfkR,sEAAc,CAAC6jC,SAAS,CAAC/0C,CAAC,CAAC;QAC7B;QACA,MAAMi1C,SAAS,GAAGz3B,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAAC0T,cAAc;QAC3D,IAAIwuB,SAAS,EAAE;UACbjG,eAAe,CAACiG,SAAS,EAAEF,SAAS,CAACziC,MAAM,EAAEkL,KAAK,CAAC;QACrD;MACF,CAAC,EAAEwnB,cAAc,CAAC;MAClB,IAAI,KAAkE,EAAE,EAEvE;IACH,CAAC;IACDyP,aAAa,CAACS,UAAU,GAAI13B,KAAK,IAAK;MACpC,MAAMu3B,SAAS,GAAGv3B,KAAK,CAACO,SAAS;MACjCo3B,eAAe,CAACJ,SAAS,CAAC/zB,CAAC,CAAC;MAC5Bm0B,eAAe,CAACJ,SAAS,CAAC/0C,CAAC,CAAC;MAC5B+mC,IAAI,CAACvpB,KAAK,EAAEq3B,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE7P,cAAc,CAAC;MACtDkB,qBAAqB,CAAC,MAAM;QAC1B,IAAI6O,SAAS,CAACK,EAAE,EAAE;UAChBlkC,sEAAc,CAAC6jC,SAAS,CAACK,EAAE,CAAC;QAC9B;QACA,MAAMH,SAAS,GAAGz3B,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAACsiC,gBAAgB;QAC7D,IAAIJ,SAAS,EAAE;UACbjG,eAAe,CAACiG,SAAS,EAAEF,SAAS,CAACziC,MAAM,EAAEkL,KAAK,CAAC;QACrD;QACAu3B,SAAS,CAACC,aAAa,GAAG,IAAI;MAChC,CAAC,EAAEhQ,cAAc,CAAC;MAClB,IAAI,KAAkE,EAAE,EAEvE;IACH,CAAC;IACD,SAAS/f,OAAOA,CAACzH,KAAK,EAAE;MACtB83B,cAAc,CAAC93B,KAAK,CAAC;MACrBo3B,QAAQ,CAACp3B,KAAK,EAAEnB,QAAQ,EAAE2oB,cAAc,EAAE,IAAI,CAAC;IACjD;IACA,SAASuQ,UAAUA,CAACz6C,MAAM,EAAE;MAC1B00B,KAAK,CAAC/7B,OAAO,CAAC,CAAC+pB,KAAK,EAAElkB,GAAG,KAAK;QAC5B,MAAM6K,IAAI,GAAGm7B,gBAAgB,CAAC9hB,KAAK,CAAC9pB,IAAI,CAAC;QACzC,IAAIyQ,IAAI,IAAI,CAACrJ,MAAM,CAACqJ,IAAI,CAAC,EAAE;UACzBqxC,eAAe,CAACl8C,GAAG,CAAC;QACtB;MACF,CAAC,CAAC;IACJ;IACA,SAASk8C,eAAeA,CAACl8C,GAAG,EAAE;MAC5B,MAAMgmB,MAAM,GAAGkQ,KAAK,CAACpyB,GAAG,CAAC9D,GAAG,CAAC;MAC7B,IAAIgmB,MAAM,KAAK,CAACo1B,OAAO,IAAI,CAAC1L,eAAe,CAAC1pB,MAAM,EAAEo1B,OAAO,CAAC,CAAC,EAAE;QAC7DzvB,OAAO,CAAC3F,MAAM,CAAC;MACjB,CAAC,MAAM,IAAIo1B,OAAO,EAAE;QAClBY,cAAc,CAACZ,OAAO,CAAC;MACzB;MACAllB,KAAK,CAAC/xB,MAAM,CAACnE,GAAG,CAAC;MACjBvE,IAAI,CAAC0I,MAAM,CAACnE,GAAG,CAAC;IAClB;IACAuV,KAAK,CACH,MAAM,CAACkE,KAAK,CAACuhC,OAAO,EAAEvhC,KAAK,CAACyhC,OAAO,CAAC,EACpC,CAAC,CAACF,OAAO,EAAEE,OAAO,CAAC,KAAK;MACtBF,OAAO,IAAIiB,UAAU,CAAEpxC,IAAI,IAAK8tC,OAAO,CAACqC,OAAO,EAAEnwC,IAAI,CAAC,CAAC;MACvDqwC,OAAO,IAAIe,UAAU,CAAEpxC,IAAI,IAAK,CAAC8tC,OAAO,CAACuC,OAAO,EAAErwC,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD;IACA;MAAE+Y,KAAK,EAAE,MAAM;MAAE+O,IAAI,EAAE;IAAK,CAC9B,CAAC;IACD,IAAIwpB,eAAe,GAAG,IAAI;IAC1B,MAAMC,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAID,eAAe,IAAI,IAAI,EAAE;QAC3B,IAAIE,UAAU,CAACt5B,QAAQ,CAACY,OAAO,CAACvpB,IAAI,CAAC,EAAE;UACrCwyC,qBAAqB,CAAC,MAAM;YAC1B1W,KAAK,CAACjzB,GAAG,CAACk5C,eAAe,EAAEG,aAAa,CAACv5B,QAAQ,CAACY,OAAO,CAAC,CAAC;UAC7D,CAAC,EAAEZ,QAAQ,CAACY,OAAO,CAACS,QAAQ,CAAC;QAC/B,CAAC,MAAM;UACL8R,KAAK,CAACjzB,GAAG,CAACk5C,eAAe,EAAEG,aAAa,CAACv5B,QAAQ,CAACY,OAAO,CAAC,CAAC;QAC7D;MACF;IACF,CAAC;IACDrO,SAAS,CAAC8mC,YAAY,CAAC;IACvBlmC,SAAS,CAACkmC,YAAY,CAAC;IACvB5N,eAAe,CAAC,MAAM;MACpBtY,KAAK,CAAC/7B,OAAO,CAAE6rB,MAAM,IAAK;QACxB,MAAM;UAAErC,OAAO;UAAES;QAAS,CAAC,GAAGrB,QAAQ;QACtC,MAAMmB,KAAK,GAAGo4B,aAAa,CAAC34B,OAAO,CAAC;QACpC,IAAIqC,MAAM,CAAC5rB,IAAI,KAAK8pB,KAAK,CAAC9pB,IAAI,IAAI4rB,MAAM,CAAChmB,GAAG,KAAKkkB,KAAK,CAAClkB,GAAG,EAAE;UAC1Dg8C,cAAc,CAAC93B,KAAK,CAAC;UACrB,MAAM43B,EAAE,GAAG53B,KAAK,CAACO,SAAS,CAACq3B,EAAE;UAC7BA,EAAE,IAAIlP,qBAAqB,CAACkP,EAAE,EAAE13B,QAAQ,CAAC;UACzC;QACF;QACAuH,OAAO,CAAC3F,MAAM,CAAC;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,MAAM;MACXm2B,eAAe,GAAG,IAAI;MACtB,IAAI,CAACv/B,KAAK,CAAChB,OAAO,EAAE;QAClB,OAAOw/B,OAAO,GAAG,IAAI;MACvB;MACA,MAAM12B,QAAQ,GAAG9H,KAAK,CAAChB,OAAO,CAAC,CAAC;MAChC,MAAM2gC,QAAQ,GAAG73B,QAAQ,CAAC,CAAC,CAAC;MAC5B,IAAIA,QAAQ,CAAC/oB,MAAM,GAAG,CAAC,EAAE;QACvB,IAAI,KAAyC,EAAE,EAE9C;QACDy/C,OAAO,GAAG,IAAI;QACd,OAAO12B,QAAQ;MACjB,CAAC,MAAM,IAAI,CAAC83B,OAAO,CAACD,QAAQ,CAAC,IAAI,EAAEA,QAAQ,CAACp4B,SAAS,GAAG,CAAC,CAAC,IAAI,EAAEo4B,QAAQ,CAACp4B,SAAS,GAAG,GAAG,CAAC,EAAE;QACzFi3B,OAAO,GAAG,IAAI;QACd,OAAOmB,QAAQ;MACjB;MACA,IAAIr4B,KAAK,GAAGo4B,aAAa,CAACC,QAAQ,CAAC;MACnC,IAAIr4B,KAAK,CAAC9pB,IAAI,KAAKguC,OAAO,EAAE;QAC1BgT,OAAO,GAAG,IAAI;QACd,OAAOl3B,KAAK;MACd;MACA,MAAM8K,IAAI,GAAG9K,KAAK,CAAC9pB,IAAI;MACvB,MAAMyQ,IAAI,GAAGm7B,gBAAgB,CAC3BsM,cAAc,CAACpuB,KAAK,CAAC,GAAGA,KAAK,CAAC9pB,IAAI,CAACm4C,eAAe,IAAI,CAAC,CAAC,GAAGvjB,IAC7D,CAAC;MACD,MAAM;QAAEgsB,OAAO;QAAEE,OAAO;QAAEl6B;MAAI,CAAC,GAAGvH,KAAK;MACvC,IAAIuhC,OAAO,KAAK,CAACnwC,IAAI,IAAI,CAAC8tC,OAAO,CAACqC,OAAO,EAAEnwC,IAAI,CAAC,CAAC,IAAIqwC,OAAO,IAAIrwC,IAAI,IAAI8tC,OAAO,CAACuC,OAAO,EAAErwC,IAAI,CAAC,EAAE;QAC9FqZ,KAAK,CAACC,SAAS,IAAI,CAAC,GAAG;QACvBi3B,OAAO,GAAGl3B,KAAK;QACf,OAAOq4B,QAAQ;MACjB;MACA,MAAMv8C,GAAG,GAAGkkB,KAAK,CAAClkB,GAAG,IAAI,IAAI,GAAGgvB,IAAI,GAAG9K,KAAK,CAAClkB,GAAG;MAChD,MAAMy8C,WAAW,GAAGvmB,KAAK,CAACpyB,GAAG,CAAC9D,GAAG,CAAC;MAClC,IAAIkkB,KAAK,CAACxK,EAAE,EAAE;QACZwK,KAAK,GAAG8sB,UAAU,CAAC9sB,KAAK,CAAC;QACzB,IAAIq4B,QAAQ,CAACp4B,SAAS,GAAG,GAAG,EAAE;UAC5Bo4B,QAAQ,CAACtL,SAAS,GAAG/sB,KAAK;QAC5B;MACF;MACAi4B,eAAe,GAAGn8C,GAAG;MACrB,IAAIy8C,WAAW,EAAE;QACfv4B,KAAK,CAACxK,EAAE,GAAG+iC,WAAW,CAAC/iC,EAAE;QACzBwK,KAAK,CAACO,SAAS,GAAGg4B,WAAW,CAACh4B,SAAS;QACvC,IAAIP,KAAK,CAACjC,UAAU,EAAE;UACpB5L,kBAAkB,CAAC6N,KAAK,EAAEA,KAAK,CAACjC,UAAU,CAAC;QAC7C;QACAiC,KAAK,CAACC,SAAS,IAAI,GAAG;QACtB1oB,IAAI,CAAC0I,MAAM,CAACnE,GAAG,CAAC;QAChBvE,IAAI,CAAC4jB,GAAG,CAACrf,GAAG,CAAC;MACf,CAAC,MAAM;QACLvE,IAAI,CAAC4jB,GAAG,CAACrf,GAAG,CAAC;QACb,IAAIghB,GAAG,IAAIvlB,IAAI,CAAC+jB,IAAI,GAAGk9B,QAAQ,CAAC17B,GAAG,EAAE,EAAE,CAAC,EAAE;UACxCk7B,eAAe,CAACzgD,IAAI,CAAC8nC,MAAM,CAAC,CAAC,CAACte,IAAI,CAAC,CAAC,CAAClqB,KAAK,CAAC;QAC7C;MACF;MACAmpB,KAAK,CAACC,SAAS,IAAI,GAAG;MACtBi3B,OAAO,GAAGl3B,KAAK;MACf,OAAOm4B,UAAU,CAACE,QAAQ,CAACniD,IAAI,CAAC,GAAGmiD,QAAQ,GAAGr4B,KAAK;IACrD,CAAC;EACH;AACF,CAAC;AACD,MAAMy4B,SAAS,GAAG5B,gDAAAA,aAAa;AAC/B,SAASpC,OAAOA,CAACiE,OAAO,EAAE/xC,IAAI,EAAE;EAC9B,IAAIlK,+DAAO,CAACi8C,OAAO,CAAC,EAAE;IACpB,OAAOA,OAAO,CAAC1/B,IAAI,CAAE0K,CAAC,IAAK+wB,OAAO,CAAC/wB,CAAC,EAAE/c,IAAI,CAAC,CAAC;EAC9C,CAAC,MAAM,IAAIjJ,gEAAQ,CAACg7C,OAAO,CAAC,EAAE;IAC5B,OAAOA,OAAO,CAAC1rC,KAAK,CAAC,GAAG,CAAC,CAACwV,QAAQ,CAAC7b,IAAI,CAAC;EAC1C,CAAC,MAAM,IAAI/I,gEAAQ,CAAC86C,OAAO,CAAC,EAAE;IAC5BA,OAAO,CAACC,SAAS,GAAG,CAAC;IACrB,OAAOD,OAAO,CAACv7C,IAAI,CAACwJ,IAAI,CAAC;EAC3B;EACA,OAAO,KAAK;AACd;AACA,SAASiyC,WAAWA,CAACjvC,IAAI,EAAExI,MAAM,EAAE;EACjC03C,qBAAqB,CAAClvC,IAAI,EAAE,GAAG,EAAExI,MAAM,CAAC;AAC1C;AACA,SAAS23C,aAAaA,CAACnvC,IAAI,EAAExI,MAAM,EAAE;EACnC03C,qBAAqB,CAAClvC,IAAI,EAAE,IAAI,EAAExI,MAAM,CAAC;AAC3C;AACA,SAAS03C,qBAAqBA,CAAClvC,IAAI,EAAEzT,IAAI,EAAEiL,MAAM,GAAGo1C,eAAe,EAAE;EACnE,MAAMwC,WAAW,GAAGpvC,IAAI,CAACqvC,KAAK,KAAKrvC,IAAI,CAACqvC,KAAK,GAAG,MAAM;IACpD,IAAI9B,OAAO,GAAG/1C,MAAM;IACpB,OAAO+1C,OAAO,EAAE;MACd,IAAIA,OAAO,CAACM,aAAa,EAAE;QACzB;MACF;MACAN,OAAO,GAAGA,OAAO,CAACpiC,MAAM;IAC1B;IACA,OAAOnL,IAAI,CAAC,CAAC;EACf,CAAC,CAAC;EACFsvC,UAAU,CAAC/iD,IAAI,EAAE6iD,WAAW,EAAE53C,MAAM,CAAC;EACrC,IAAIA,MAAM,EAAE;IACV,IAAI+1C,OAAO,GAAG/1C,MAAM,CAAC2T,MAAM;IAC3B,OAAOoiC,OAAO,IAAIA,OAAO,CAACpiC,MAAM,EAAE;MAChC,IAAI+3B,WAAW,CAACqK,OAAO,CAACpiC,MAAM,CAACkL,KAAK,CAAC,EAAE;QACrCk5B,qBAAqB,CAACH,WAAW,EAAE7iD,IAAI,EAAEiL,MAAM,EAAE+1C,OAAO,CAAC;MAC3D;MACAA,OAAO,GAAGA,OAAO,CAACpiC,MAAM;IAC1B;EACF;AACF;AACA,SAASokC,qBAAqBA,CAACvvC,IAAI,EAAEzT,IAAI,EAAEiL,MAAM,EAAEg4C,aAAa,EAAE;EAChE,MAAMC,QAAQ,GAAGH,UAAU,CACzB/iD,IAAI,EACJyT,IAAI,EACJwvC,aAAa,EACb;EACA,aACF,CAAC;EACD7nC,WAAW,CAAC,MAAM;IAChB2D,8DAAM,CAACkkC,aAAa,CAACjjD,IAAI,CAAC,EAAEkjD,QAAQ,CAAC;EACvC,CAAC,EAAEj4C,MAAM,CAAC;AACZ;AACA,SAAS22C,cAAcA,CAAC93B,KAAK,EAAE;EAC7BA,KAAK,CAACC,SAAS,IAAI,CAAC,GAAG;EACvBD,KAAK,CAACC,SAAS,IAAI,CAAC,GAAG;AACzB;AACA,SAASm4B,aAAaA,CAACp4B,KAAK,EAAE;EAC5B,OAAOA,KAAK,CAACC,SAAS,GAAG,GAAG,GAAGD,KAAK,CAAC+sB,SAAS,GAAG/sB,KAAK;AACxD;AAEA,SAASi5B,UAAUA,CAAC/iD,IAAI,EAAEyT,IAAI,EAAExI,MAAM,GAAGo1C,eAAe,EAAEzsB,OAAO,GAAG,KAAK,EAAE;EACzE,IAAI3oB,MAAM,EAAE;IACV,MAAMmqC,KAAK,GAAGnqC,MAAM,CAACjL,IAAI,CAAC,KAAKiL,MAAM,CAACjL,IAAI,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM6iD,WAAW,GAAGpvC,IAAI,CAAC0vC,KAAK,KAAK1vC,IAAI,CAAC0vC,KAAK,GAAG,CAAC,GAAGxgC,IAAI,KAAK;MAC3DghB,yEAAa,CAAC,CAAC;MACf,MAAMyf,KAAK,GAAGC,kBAAkB,CAACp4C,MAAM,CAAC;MACxC,MAAM4Z,GAAG,GAAGrJ,0BAA0B,CAAC/H,IAAI,EAAExI,MAAM,EAAEjL,IAAI,EAAE2iB,IAAI,CAAC;MAChEygC,KAAK,CAAC,CAAC;MACPxf,yEAAa,CAAC,CAAC;MACf,OAAO/e,GAAG;IACZ,CAAC,CAAC;IACF,IAAI+O,OAAO,EAAE;MACXwhB,KAAK,CAACkO,OAAO,CAACT,WAAW,CAAC;IAC5B,CAAC,MAAM;MACLzN,KAAK,CAACnhC,IAAI,CAAC4uC,WAAW,CAAC;IACzB;IACA,OAAOA,WAAW;EACpB,CAAC,MAAM,IAAI,KAAyC,EAAE,EAKrD;AACH;AACA,MAAMW,UAAU,GAAIC,SAAS,IAAK,CAAChwC,IAAI,EAAExI,MAAM,GAAGo1C,eAAe,KAAK;EACpE,IAAI,CAACE,qBAAqB,IAAIkD,SAAS,KAAK,IAAI,EAAE;IAChDV,UAAU,CAACU,SAAS,EAAE,CAAC,GAAG9gC,IAAI,KAAKlP,IAAI,CAAC,GAAGkP,IAAI,CAAC,EAAE1X,MAAM,CAAC;EAC3D;AACF,CAAC;AACD,MAAMy4C,aAAa,GAAGF,UAAU,CAAC,IAAI,CAAC;AACtC,MAAMtoC,SAAS,GAAGsoC,UAAU,CAAC,GAAG,CAAC;AACjC,MAAMxoC,cAAc,GAAGwoC,UAAU,CAC/B,IACF,CAAC;AACD,MAAM1nC,SAAS,GAAG0nC,UAAU,CAAC,GAAG,CAAC;AACjC,MAAMpP,eAAe,GAAGoP,UAAU,CAChC,KACF,CAAC;AACD,MAAMpoC,WAAW,GAAGooC,UAAU,CAAC,IAAI,CAAC;AACpC,MAAMG,gBAAgB,GAAGH,UAAU,CACjC,IACF,CAAC;AACD,MAAMI,iBAAiB,GAAGJ,UAAU,CAAC,KAAK,CAAC;AAC3C,MAAMK,eAAe,GAAGL,UAAU,CAAC,KAAK,CAAC;AACzC,SAASM,eAAeA,CAACrwC,IAAI,EAAExI,MAAM,GAAGo1C,eAAe,EAAE;EACvD0C,UAAU,CAAC,IAAI,EAAEtvC,IAAI,EAAExI,MAAM,CAAC;AAChC;AAEA,MAAM84C,UAAU,GAAG,YAAY;AAC/B,MAAMC,UAAU,GAAG,YAAY;AAC/B,SAASC,gBAAgBA,CAACxzC,IAAI,EAAEyzC,kBAAkB,EAAE;EAClD,OAAOC,YAAY,CAACJ,UAAU,EAAEtzC,IAAI,EAAE,IAAI,EAAEyzC,kBAAkB,CAAC,IAAIzzC,IAAI;AACzE;AACA,MAAM2zC,sBAAsB,GAAGp+C,MAAM,CAACq+C,GAAG,CAAC,OAAO,CAAC;AAClD,SAASC,uBAAuBA,CAACj6B,SAAS,EAAE;EAC1C,IAAI7iB,QAAQ,CAAC6iB,SAAS,CAAC,EAAE;IACvB,OAAO85B,YAAY,CAACJ,UAAU,EAAE15B,SAAS,EAAE,KAAK,CAAC,IAAIA,SAAS;EAChE,CAAC,MAAM;IACL,OAAOA,SAAS,IAAI+5B,sBAAsB;EAC5C;AACF;AACA,SAASG,gBAAgBA,CAAC9zC,IAAI,EAAE;EAC9B,OAAO0zC,YAAY,CAACH,UAAU,EAAEvzC,IAAI,CAAC;AACvC;AACA,SAAS0zC,YAAYA,CAACnkD,IAAI,EAAEyQ,IAAI,EAAE+zC,WAAW,GAAG,IAAI,EAAEN,kBAAkB,GAAG,KAAK,EAAE;EAChF,MAAMv7B,QAAQ,GAAGkmB,wBAAwB,IAAIwR,eAAe;EAC5D,IAAI13B,QAAQ,EAAE;IACZ,MAAM87B,SAAS,GAAG97B,QAAQ,CAAC3oB,IAAI;IAC/B,IAAIA,IAAI,KAAK+jD,UAAU,EAAE;MACvB,MAAMW,QAAQ,GAAG9Y,gBAAgB,CAC/B6Y,SAAS,EACT,KACF,CAAC;MACD,IAAIC,QAAQ,KAAKA,QAAQ,KAAKj0C,IAAI,IAAIi0C,QAAQ,KAAKnpC,QAAQ,CAAC9K,IAAI,CAAC,IAAIi0C,QAAQ,KAAK/nC,UAAU,CAACpB,QAAQ,CAAC9K,IAAI,CAAC,CAAC,CAAC,EAAE;QAC7G,OAAOg0C,SAAS;MAClB;IACF;IACA,MAAM5/B,GAAG;IACP;IACA;IACA5O,OAAO,CAAC0S,QAAQ,CAAC3oB,IAAI,CAAC,IAAIykD,SAAS,CAACzkD,IAAI,CAAC,EAAEyQ,IAAI,CAAC;IAAI;IACpDwF,OAAO,CAAC0S,QAAQ,CAACgf,UAAU,CAAC3nC,IAAI,CAAC,EAAEyQ,IAAI,CACxC;IACD,IAAI,CAACoU,GAAG,IAAIq/B,kBAAkB,EAAE;MAC9B,OAAOO,SAAS;IAClB;IACA,IAAI,KAAgE,EAAE,EAIrE;IACD,OAAO5/B,GAAG;EACZ,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;AACH;AACA,SAAS5O,OAAOA,CAAC2uC,QAAQ,EAAEn0C,IAAI,EAAE;EAC/B,OAAOm0C,QAAQ,KAAKA,QAAQ,CAACn0C,IAAI,CAAC,IAAIm0C,QAAQ,CAACrpC,QAAQ,CAAC9K,IAAI,CAAC,CAAC,IAAIm0C,QAAQ,CAACjoC,UAAU,CAACpB,QAAQ,CAAC9K,IAAI,CAAC,CAAC,CAAC,CAAC;AACzG;AAEA,SAASo0C,UAAUA,CAAC34C,MAAM,EAAE44C,UAAU,EAAEhpB,KAAK,EAAE5qB,KAAK,EAAE;EACpD,IAAI+lC,GAAG;EACP,MAAMrrB,MAAM,GAAGkQ,KAAK,IAAIA,KAAK,CAAC5qB,KAAK,CAAC;EACpC,MAAM6zC,aAAa,GAAGx+C,+DAAO,CAAC2F,MAAM,CAAC;EACrC,IAAI64C,aAAa,IAAIv9C,gEAAQ,CAAC0E,MAAM,CAAC,EAAE;IACrC,MAAM84C,qBAAqB,GAAGD,aAAa,IAAI9gB,sEAAU,CAAC/3B,MAAM,CAAC;IACjE,IAAI+4C,SAAS,GAAG,KAAK;IACrB,IAAID,qBAAqB,EAAE;MACzBC,SAAS,GAAG,CAAC9gB,qEAAS,CAACj4B,MAAM,CAAC;MAC9BA,MAAM,GAAGk4B,4EAAgB,CAACl4B,MAAM,CAAC;IACnC;IACA+qC,GAAG,GAAG,IAAIluB,KAAK,CAAC7c,MAAM,CAAC3K,MAAM,CAAC;IAC9B,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG7tB,MAAM,CAAC3K,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;MAC7Cg3C,GAAG,CAACh3C,CAAC,CAAC,GAAG6kD,UAAU,CACjBG,SAAS,GAAG5gB,sEAAU,CAACn4B,MAAM,CAACjM,CAAC,CAAC,CAAC,GAAGiM,MAAM,CAACjM,CAAC,CAAC,EAC7CA,CAAC,EACD,KAAK,CAAC,EACN2rB,MAAM,IAAIA,MAAM,CAAC3rB,CAAC,CACpB,CAAC;IACH;EACF,CAAC,MAAM,IAAI,OAAOiM,MAAM,KAAK,QAAQ,EAAE;IACrC,IAAI,KAAsE,EAAE,EAE3E;IACD+qC,GAAG,GAAG,IAAIluB,KAAK,CAAC7c,MAAM,CAAC;IACvB,KAAK,IAAIjM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiM,MAAM,EAAEjM,CAAC,EAAE,EAAE;MAC/Bg3C,GAAG,CAACh3C,CAAC,CAAC,GAAG6kD,UAAU,CAAC7kD,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,KAAK,CAAC,EAAE2rB,MAAM,IAAIA,MAAM,CAAC3rB,CAAC,CAAC,CAAC;IAC5D;EACF,CAAC,MAAM,IAAIuR,gEAAQ,CAACtF,MAAM,CAAC,EAAE;IAC3B,IAAIA,MAAM,CAAClG,MAAM,CAAC2E,QAAQ,CAAC,EAAE;MAC3BssC,GAAG,GAAGluB,KAAK,CAACje,IAAI,CACdoB,MAAM,EACN,CAACs0B,IAAI,EAAEvgC,CAAC,KAAK6kD,UAAU,CAACtkB,IAAI,EAAEvgC,CAAC,EAAE,KAAK,CAAC,EAAE2rB,MAAM,IAAIA,MAAM,CAAC3rB,CAAC,CAAC,CAC9D,CAAC;IACH,CAAC,MAAM;MACL,MAAMoB,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAC6K,MAAM,CAAC;MAChC+qC,GAAG,GAAG,IAAIluB,KAAK,CAAC1nB,IAAI,CAACE,MAAM,CAAC;MAC5B,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG14B,IAAI,CAACE,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;QAC3C,MAAM2F,GAAG,GAAGvE,IAAI,CAACpB,CAAC,CAAC;QACnBg3C,GAAG,CAACh3C,CAAC,CAAC,GAAG6kD,UAAU,CAAC54C,MAAM,CAACtG,GAAG,CAAC,EAAEA,GAAG,EAAE3F,CAAC,EAAE2rB,MAAM,IAAIA,MAAM,CAAC3rB,CAAC,CAAC,CAAC;MAC/D;IACF;EACF,CAAC,MAAM;IACLg3C,GAAG,GAAG,EAAE;EACV;EACA,IAAInb,KAAK,EAAE;IACTA,KAAK,CAAC5qB,KAAK,CAAC,GAAG+lC,GAAG;EACpB;EACA,OAAOA,GAAG;AACZ;AAEA,SAASkO,WAAWA,CAAC3iC,KAAK,EAAE4iC,YAAY,EAAE;EACxC,KAAK,IAAInlD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmlD,YAAY,CAAC7jD,MAAM,EAAEtB,CAAC,EAAE,EAAE;IAC5C,MAAMolD,IAAI,GAAGD,YAAY,CAACnlD,CAAC,CAAC;IAC5B,IAAIsG,OAAO,CAAC8+C,IAAI,CAAC,EAAE;MACjB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,CAAC9jD,MAAM,EAAE+jD,CAAC,EAAE,EAAE;QACpC9iC,KAAK,CAAC6iC,IAAI,CAACC,CAAC,CAAC,CAAC70C,IAAI,CAAC,GAAG40C,IAAI,CAACC,CAAC,CAAC,CAAC7qC,EAAE;MAClC;IACF,CAAC,MAAM,IAAI4qC,IAAI,EAAE;MACf7iC,KAAK,CAAC6iC,IAAI,CAAC50C,IAAI,CAAC,GAAG40C,IAAI,CAACz/C,GAAG,GAAG,CAAC,GAAG+c,IAAI,KAAK;QACzC,MAAMkC,GAAG,GAAGwgC,IAAI,CAAC5qC,EAAE,CAAC,GAAGkI,IAAI,CAAC;QAC5B,IAAIkC,GAAG,EAAEA,GAAG,CAACjf,GAAG,GAAGy/C,IAAI,CAACz/C,GAAG;QAC3B,OAAOif,GAAG;MACZ,CAAC,GAAGwgC,IAAI,CAAC5qC,EAAE;IACb;EACF;EACA,OAAO+H,KAAK;AACd;AAEA,SAAS+iC,UAAUA,CAAC/iC,KAAK,EAAE/R,IAAI,EAAE4O,KAAK,GAAG,CAAC,CAAC,EAAEmmC,QAAQ,EAAEC,SAAS,EAAE;EAChE,IAAI5W,wBAAwB,CAACxlB,EAAE,IAAIwlB,wBAAwB,CAACjwB,MAAM,IAAIs5B,cAAc,CAACrJ,wBAAwB,CAACjwB,MAAM,CAAC,IAAIiwB,wBAAwB,CAACjwB,MAAM,CAACyK,EAAE,EAAE;IAC3J,IAAI5Y,IAAI,KAAK,SAAS,EAAE4O,KAAK,CAAC5O,IAAI,GAAGA,IAAI;IACzC,OAAOi1C,SAAS,CAAC,CAAC,EAAEC,WAAW,CAC7BtqC,QAAQ,EACR,IAAI,EACJ,CAACO,WAAW,CAAC,MAAM,EAAEyD,KAAK,EAAEmmC,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC,CAAC,EACpD,EACF,CAAC;EACH;EACA,IAAIH,IAAI,GAAG7iC,KAAK,CAAC/R,IAAI,CAAC;EACtB,IAAI,KAAoE,EAAE,EAKzE;EACD,IAAI40C,IAAI,IAAIA,IAAI,CAACzV,EAAE,EAAE;IACnByV,IAAI,CAAC5V,EAAE,GAAG,KAAK;EACjB;EACAiW,SAAS,CAAC,CAAC;EACX,MAAME,gBAAgB,GAAGP,IAAI,IAAIQ,gBAAgB,CAACR,IAAI,CAAChmC,KAAK,CAAC,CAAC;EAC9D,MAAMymC,OAAO,GAAGzmC,KAAK,CAACzZ,GAAG;EAAI;EAC7B;EACAggD,gBAAgB,IAAIA,gBAAgB,CAAChgD,GAAG;EACxC,MAAMmgD,QAAQ,GAAGJ,WAAW,CAC1BtqC,QAAQ,EACR;IACEzV,GAAG,EAAE,CAACkgD,OAAO,IAAI,CAACjpC,QAAQ,CAACipC,OAAO,CAAC,GAAGA,OAAO,GAAG,IAAIr1C,IAAI,EAAE;IAAI;IAC7D,CAACm1C,gBAAgB,IAAIJ,QAAQ,GAAG,KAAK,GAAG,EAAE;EAC7C,CAAC,EACDI,gBAAgB,KAAKJ,QAAQ,GAAGA,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,EAChDI,gBAAgB,IAAIpjC,KAAK,CAACgW,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAC5C,CAAC;EACD,IAAI,CAACitB,SAAS,IAAIM,QAAQ,CAAC1xB,OAAO,EAAE;IAClC0xB,QAAQ,CAACxU,YAAY,GAAG,CAACwU,QAAQ,CAAC1xB,OAAO,GAAG,IAAI,CAAC;EACnD;EACA,IAAIgxB,IAAI,IAAIA,IAAI,CAACzV,EAAE,EAAE;IACnByV,IAAI,CAAC5V,EAAE,GAAG,IAAI;EAChB;EACA,OAAOsW,QAAQ;AACjB;AACA,SAASF,gBAAgBA,CAACG,MAAM,EAAE;EAChC,OAAOA,MAAM,CAACljC,IAAI,CAAEnE,KAAK,IAAK;IAC5B,IAAI,CAACyjC,OAAO,CAACzjC,KAAK,CAAC,EAAE,OAAO,IAAI;IAChC,IAAIA,KAAK,CAAC3e,IAAI,KAAKguC,OAAO,EAAE,OAAO,KAAK;IACxC,IAAIrvB,KAAK,CAAC3e,IAAI,KAAKqb,QAAQ,IAAI,CAACwqC,gBAAgB,CAAClnC,KAAK,CAAC2L,QAAQ,CAAC,EAC9D,OAAO,KAAK;IACd,OAAO,IAAI;EACb,CAAC,CAAC,GAAG07B,MAAM,GAAG,IAAI;AACpB;AAEA,SAASC,UAAUA,CAACh+C,GAAG,EAAEi+C,uBAAuB,EAAE;EAChD,MAAMjP,GAAG,GAAG,CAAC,CAAC;EACd,IAAI,KAA2D,EAAE,EAGhE;EACD,KAAK,MAAMrxC,GAAG,IAAIqC,GAAG,EAAE;IACrBgvC,GAAG,CAACiP,uBAAuB,IAAI,OAAO,CAACj/C,IAAI,CAACrB,GAAG,CAAC,GAAG,MAAMA,GAAG,EAAE,GAAGghC,YAAY,CAAChhC,GAAG,CAAC,CAAC,GAAGqC,GAAG,CAACrC,GAAG,CAAC;EAChG;EACA,OAAOqxC,GAAG;AACZ;AAEA,MAAMkP,iBAAiB,GAAIlmD,CAAC,IAAK;EAC/B,IAAI,CAACA,CAAC,EAAE,OAAO,IAAI;EACnB,IAAImmD,mBAAmB,CAACnmD,CAAC,CAAC,EAAE,OAAO+vC,0BAA0B,CAAC/vC,CAAC,CAAC;EAChE,OAAOkmD,iBAAiB,CAAClmD,CAAC,CAAC2e,MAAM,CAAC;AACpC,CAAC;AACD,MAAMynC,mBAAmB;AACvB;AACA;AACA;AAAgB9pC,8DAAM,CAAC,eAAgBjb,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC,EAAE;EAC1D0/C,CAAC,EAAGrmD,CAAC,IAAKA,CAAC;EACXsmD,GAAG,EAAGtmD,CAAC,IAAKA,CAAC,CAAC6pB,KAAK,CAACxK,EAAE;EACtBknC,KAAK,EAAGvmD,CAAC,IAAKA,CAAC,CAAC+M,IAAI;EACpBy5C,MAAM,EAAGxmD,CAAC,IAAK,MAAyC,GAAGqkC,CAAwB,GAAGrkC,CAAC,CAACof,KAAK;EAC7FqnC,MAAM,EAAGzmD,CAAC,IAAK,MAAyC,GAAGqkC,CAAwB,GAAGrkC,CAAC,CAAC0mD,KAAK;EAC7FC,MAAM,EAAG3mD,CAAC,IAAK,MAAyC,GAAGqkC,CAAwB,GAAGrkC,CAAC,CAACuiB,KAAK;EAC7FqkC,KAAK,EAAG5mD,CAAC,IAAK,MAAyC,GAAGqkC,CAAuB,GAAGrkC,CAAC,CAAC03C,IAAI;EAC1FmP,OAAO,EAAG7mD,CAAC,IAAKkmD,iBAAiB,CAAClmD,CAAC,CAAC2e,MAAM,CAAC;EAC3CmoC,KAAK,EAAG9mD,CAAC,IAAKkmD,iBAAiB,CAAClmD,CAAC,CAACm3B,IAAI,CAAC;EACvC4vB,KAAK,EAAG/mD,CAAC,IAAKA,CAAC,CAACopB,EAAE;EAClB49B,KAAK,EAAGhnD,CAAC,IAAKA,CAAC,CAAC4T,IAAI;EACpBqzC,QAAQ,EAAGjnD,CAAC,IAAKknD,KAAmB,GAAGC,oBAAoB,CAACnnD,CAAC,CAAC,GAAGA,CAAM;EACvEonD,YAAY,EAAGpnD,CAAC,IAAKA,CAAC,CAAC24C,CAAC,KAAK34C,CAAC,CAAC24C,CAAC,GAAG,MAAM;IACvC/N,QAAQ,CAAC5qC,CAAC,CAAC6sC,MAAM,CAAC;EACpB,CAAC,CAAC;EACFwa,SAAS,EAAGrnD,CAAC,IAAKA,CAAC,CAAC2kB,CAAC,KAAK3kB,CAAC,CAAC2kB,CAAC,GAAGlJ,QAAQ,CAACwX,IAAI,CAACjzB,CAAC,CAAC6T,KAAK,CAAC,CAAC;EACvDyzC,MAAM,EAAGtnD,CAAC,IAAKknD,KAAmB,GAAGK,aAAa,CAACt0B,IAAI,CAACjzB,CAAC,CAAC,GAAGwc,CAAIA;AACnE,CAAC,CACF;AACD,MAAMgrC,gBAAgB,GAAI7hD,GAAG,IAAKA,GAAG,KAAK,GAAG,IAAIA,GAAG,KAAK,GAAG;AAC5D,MAAM8hD,eAAe,GAAGA,CAAC3xB,KAAK,EAAEnwB,GAAG,KAAKmwB,KAAK,KAAK5Y,6DAAS,IAAI,CAAC4Y,KAAK,CAAC4xB,eAAe,IAAIzqC,8DAAM,CAAC6Y,KAAK,EAAEnwB,GAAG,CAAC;AAC3G,MAAMgiD,2BAA2B,GAAG;EAClCl+C,GAAGA,CAAC;IAAE8uB,CAAC,EAAE7P;EAAS,CAAC,EAAE/iB,GAAG,EAAE;IACxB,IAAIA,GAAG,KAAK,UAAU,EAAE;MACtB,OAAO,IAAI;IACb;IACA,MAAM;MAAEypC,GAAG;MAAEiJ,UAAU;MAAEtrC,IAAI;MAAEqS,KAAK;MAAEwoC,WAAW;MAAE7nD,IAAI;MAAE2nC;IAAW,CAAC,GAAGhf,QAAQ;IAChF,IAAI,KAA8D,EAAE,EAEnE;IACD,IAAIm/B,eAAe;IACnB,IAAIliD,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MAClB,MAAMgf,CAAC,GAAGijC,WAAW,CAACjiD,GAAG,CAAC;MAC1B,IAAIgf,CAAC,KAAK,KAAK,CAAC,EAAE;QAChB,QAAQA,CAAC;UACP,KAAK,CAAC,CAAC;YACL,OAAO0zB,UAAU,CAAC1yC,GAAG,CAAC;UACxB,KAAK,CAAC,CAAC;YACL,OAAOoH,IAAI,CAACpH,GAAG,CAAC;UAClB,KAAK,CAAC,CAAC;YACL,OAAOypC,GAAG,CAACzpC,GAAG,CAAC;UACjB,KAAK,CAAC,CAAC;YACL,OAAOyZ,KAAK,CAACzZ,GAAG,CAAC;QACrB;MACF,CAAC,MAAM,IAAI8hD,eAAe,CAACpP,UAAU,EAAE1yC,GAAG,CAAC,EAAE;QAC3CiiD,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO0yC,UAAU,CAAC1yC,GAAG,CAAC;MACxB,CAAC,MAAM,IAAIoH,IAAI,KAAKmQ,6DAAS,IAAID,8DAAM,CAAClQ,IAAI,EAAEpH,GAAG,CAAC,EAAE;QAClDiiD,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,OAAOoH,IAAI,CAACpH,GAAG,CAAC;MAClB,CAAC,MAAM;MACL;MACA;MACA,CAACkiD,eAAe,GAAGn/B,QAAQ,CAACo/B,YAAY,CAAC,CAAC,CAAC,KAAK7qC,8DAAM,CAAC4qC,eAAe,EAAEliD,GAAG,CAAC,EAC5E;QACAiiD,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,OAAOyZ,KAAK,CAACzZ,GAAG,CAAC;MACnB,CAAC,MAAM,IAAIypC,GAAG,KAAKlyB,6DAAS,IAAID,8DAAM,CAACmyB,GAAG,EAAEzpC,GAAG,CAAC,EAAE;QAChDiiD,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,OAAOypC,GAAG,CAACzpC,GAAG,CAAC;MACjB,CAAC,MAAM,IAAI,MAAoB,IAAIoiD,iBAAiB,EAAE;QACpDH,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC,CAAC;MACvB;IACF;IACA,MAAMqiD,YAAY,GAAG5B,mBAAmB,CAACzgD,GAAG,CAAC;IAC7C,IAAIsiD,SAAS,EAAEC,gBAAgB;IAC/B,IAAIF,YAAY,EAAE;MAChB,IAAIriD,GAAG,KAAK,QAAQ,EAAE;QACpB2+B,iEAAK,CAAC5b,QAAQ,CAACg+B,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,MAAyC,IAAIyB,CAAmB;MAClE,CAAC,MAAM,IAAI,KAA6D,EAAE,EAEzE;MACD,OAAOH,YAAY,CAACt/B,QAAQ,CAAC;IAC/B,CAAC,MAAM;IACL;IACA,CAACu/B,SAAS,GAAGloD,IAAI,CAACo1B,YAAY,MAAM8yB,SAAS,GAAGA,SAAS,CAACtiD,GAAG,CAAC,CAAC,EAC/D;MACA,OAAOsiD,SAAS;IAClB,CAAC,MAAM,IAAI7Y,GAAG,KAAKlyB,6DAAS,IAAID,8DAAM,CAACmyB,GAAG,EAAEzpC,GAAG,CAAC,EAAE;MAChDiiD,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC,CAAC;MACrB,OAAOypC,GAAG,CAACzpC,GAAG,CAAC;IACjB,CAAC,MAAM;IACL;IACAuiD,gBAAgB,GAAGxgB,UAAU,CAAC37B,MAAM,CAACm8C,gBAAgB,EAAEjrC,8DAAM,CAACirC,gBAAgB,EAAEviD,GAAG,CAAC,EACpF;MACA;QACE,OAAOuiD,gBAAgB,CAACviD,GAAG,CAAC;MAC9B;IACF,CAAC,MAAM,IAAI,KAEc,EAAE,EAY1B;EACH,CAAC;EACDiD,GAAGA,CAAC;IAAE2vB,CAAC,EAAE7P;EAAS,CAAC,EAAE/iB,GAAG,EAAEjF,KAAK,EAAE;IAC/B,MAAM;MAAEqM,IAAI;MAAEsrC,UAAU;MAAEjJ;IAAI,CAAC,GAAG1mB,QAAQ;IAC1C,IAAI++B,eAAe,CAACpP,UAAU,EAAE1yC,GAAG,CAAC,EAAE;MACpC0yC,UAAU,CAAC1yC,GAAG,CAAC,GAAGjF,KAAK;MACvB,OAAO,IAAI;IACb,CAAC,MAAM,IAAI,KAAkG,EAAE,EAG9G,MAAM,IAAIqM,IAAI,KAAKmQ,6DAAS,IAAID,8DAAM,CAAClQ,IAAI,EAAEpH,GAAG,CAAC,EAAE;MAClDoH,IAAI,CAACpH,GAAG,CAAC,GAAGjF,KAAK;MACjB,OAAO,IAAI;IACb,CAAC,MAAM,IAAIuc,8DAAM,CAACyL,QAAQ,CAACtJ,KAAK,EAAEzZ,GAAG,CAAC,EAAE;MACtC,MAAyC,IAAI6hC,CAAiE;MAC9G,OAAO,KAAK;IACd;IACA,IAAI7hC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,IAAIkd,QAAQ,EAAE;MAC9C,MAAyC,IAAI8e,CAE5C;MACD,OAAO,KAAK;IACd,CAAC,MAAM;MACL,IAAI,KAA+F,EAAE,EAMpG,MAAM;QACL4H,GAAG,CAACzpC,GAAG,CAAC,GAAGjF,KAAK;MAClB;IACF;IACA,OAAO,IAAI;EACb,CAAC;EACDkJ,GAAGA,CAAC;IACF2uB,CAAC,EAAE;MAAExrB,IAAI;MAAEsrC,UAAU;MAAEuP,WAAW;MAAExY,GAAG;MAAE1H,UAAU;MAAEogB;IAAa;EACpE,CAAC,EAAEniD,GAAG,EAAE;IACN,IAAIkiD,eAAe;IACnB,OAAO,CAAC,CAACD,WAAW,CAACjiD,GAAG,CAAC,IAAIoH,IAAI,KAAKmQ,6DAAS,IAAID,8DAAM,CAAClQ,IAAI,EAAEpH,GAAG,CAAC,IAAI8hD,eAAe,CAACpP,UAAU,EAAE1yC,GAAG,CAAC,IAAI,CAACkiD,eAAe,GAAGC,YAAY,CAAC,CAAC,CAAC,KAAK7qC,8DAAM,CAAC4qC,eAAe,EAAEliD,GAAG,CAAC,IAAIsX,8DAAM,CAACmyB,GAAG,EAAEzpC,GAAG,CAAC,IAAIsX,8DAAM,CAACmpC,mBAAmB,EAAEzgD,GAAG,CAAC,IAAIsX,8DAAM,CAACyqB,UAAU,CAAC37B,MAAM,CAACm8C,gBAAgB,EAAEviD,GAAG,CAAC;EAC5R,CAAC;EACDyC,cAAcA,CAAC4C,MAAM,EAAErF,GAAG,EAAE4N,UAAU,EAAE;IACtC,IAAIA,UAAU,CAAC9J,GAAG,IAAI,IAAI,EAAE;MAC1BuB,MAAM,CAACutB,CAAC,CAACqvB,WAAW,CAACjiD,GAAG,CAAC,GAAG,CAAC;IAC/B,CAAC,MAAM,IAAIsX,8DAAM,CAAC1J,UAAU,EAAE,OAAO,CAAC,EAAE;MACtC,IAAI,CAAC3K,GAAG,CAACoC,MAAM,EAAErF,GAAG,EAAE4N,UAAU,CAAC7S,KAAK,EAAE,IAAI,CAAC;IAC/C;IACA,OAAO0nD,OAAO,CAAChgD,cAAc,CAAC4C,MAAM,EAAErF,GAAG,EAAE4N,UAAU,CAAC;EACxD;AACF,CAAC;AACD,IAAI,KAAiD,EAAE,EAOtD;AACD,MAAM+0C,0CAA0C,GAAG,eAAgBhsC,8DAAM,CAAC,CAAC,CAAC,EAAEqrC,2BAA2B,EAAE;EACzGl+C,GAAGA,CAACuB,MAAM,EAAErF,GAAG,EAAE;IACf,IAAIA,GAAG,KAAKI,MAAM,CAACwiD,WAAW,EAAE;MAC9B;IACF;IACA,OAAOZ,2BAA2B,CAACl+C,GAAG,CAACuB,MAAM,EAAErF,GAAG,EAAEqF,MAAM,CAAC;EAC7D,CAAC;EACDpB,GAAGA,CAAC2uB,CAAC,EAAE5yB,GAAG,EAAE;IACV,MAAMiE,GAAG,GAAGjE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAACihC,yEAAiB,CAACjhC,GAAG,CAAC;IACrD,IAAI,KAA4F,EAAE,EAMjG;IACD,OAAOiE,GAAG;EACZ;AACF,CAAC,CAAC;AACF,SAAS4+C,sBAAsBA,CAAC9/B,QAAQ,EAAE;EACxC,MAAM1d,MAAM,GAAG,CAAC,CAAC;EACjB3J,MAAM,CAAC+G,cAAc,CAAC4C,MAAM,EAAE,GAAG,EAAE;IACjCxC,YAAY,EAAE,IAAI;IAClBovC,UAAU,EAAE,KAAK;IACjBnuC,GAAG,EAAEA,CAAA,KAAMif;EACb,CAAC,CAAC;EACFrnB,MAAM,CAACD,IAAI,CAACglD,mBAAmB,CAAC,CAACtmD,OAAO,CAAE6F,GAAG,IAAK;IAChDtE,MAAM,CAAC+G,cAAc,CAAC4C,MAAM,EAAErF,GAAG,EAAE;MACjC6C,YAAY,EAAE,IAAI;MAClBovC,UAAU,EAAE,KAAK;MACjBnuC,GAAG,EAAEA,CAAA,KAAM28C,mBAAmB,CAACzgD,GAAG,CAAC,CAAC+iB,QAAQ,CAAC;MAC7C;MACA;MACA9f,GAAG,EAAE4T;IACP,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOxR,MAAM;AACf;AACA,SAASy9C,0BAA0BA,CAAC//B,QAAQ,EAAE;EAC5C,MAAM;IACJ0mB,GAAG;IACH0Y,YAAY,EAAE,CAACA,YAAY;EAC7B,CAAC,GAAGp/B,QAAQ;EACZ,IAAIo/B,YAAY,EAAE;IAChBzmD,MAAM,CAACD,IAAI,CAAC0mD,YAAY,CAAC,CAAChoD,OAAO,CAAE6F,GAAG,IAAK;MACzCtE,MAAM,CAAC+G,cAAc,CAACgnC,GAAG,EAAEzpC,GAAG,EAAE;QAC9BiyC,UAAU,EAAE,IAAI;QAChBpvC,YAAY,EAAE,IAAI;QAClBiB,GAAG,EAAEA,CAAA,KAAMif,QAAQ,CAACtJ,KAAK,CAACzZ,GAAG,CAAC;QAC9BiD,GAAG,EAAE4T;MACP,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AACF;AACA,SAASksC,+BAA+BA,CAAChgC,QAAQ,EAAE;EACjD,MAAM;IAAE0mB,GAAG;IAAEiJ;EAAW,CAAC,GAAG3vB,QAAQ;EACpCrnB,MAAM,CAACD,IAAI,CAAC0a,KAAK,CAACu8B,UAAU,CAAC,CAAC,CAACv4C,OAAO,CAAE6F,GAAG,IAAK;IAC9C,IAAI,CAAC0yC,UAAU,CAACqP,eAAe,EAAE;MAC/B,IAAIF,gBAAgB,CAAC7hD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5B6hC,MAAM,CACJ,2BAA2B1G,IAAI,CAACM,SAAS,CACvCz7B,GACF,CAAC,kFACH,CAAC;QACD;MACF;MACAtE,MAAM,CAAC+G,cAAc,CAACgnC,GAAG,EAAEzpC,GAAG,EAAE;QAC9BiyC,UAAU,EAAE,IAAI;QAChBpvC,YAAY,EAAE,IAAI;QAClBiB,GAAG,EAAEA,CAAA,KAAM4uC,UAAU,CAAC1yC,GAAG,CAAC;QAC1BiD,GAAG,EAAE4T;MACP,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;AACJ;AAEA,MAAMmsC,gBAAgB,GAAI77C,MAAM,IAAK06B,MAAM,CACzC,GAAG16B,MAAM,mLACX,CAAC;AACD,SAAS87C,WAAWA,CAAA,EAAG;EACrB,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAO,IAAI;AACb;AACA,SAASC,WAAWA,CAAA,EAAG;EACrB,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAO,IAAI;AACb;AACA,SAASC,YAAYA,CAACz2B,OAAO,EAAE;EAC7B,IAAI,KAAyC,EAAE,EAE9C;AACH;AACA,SAAS02B,aAAaA,CAAC/nD,OAAO,EAAE;EAC9B,IAAI,KAAyC,EAAE,EAE9C;AACH;AACA,SAASgoD,WAAWA,CAAA,EAAG;EACrB,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAO,IAAI;AACb;AACA,SAASC,WAAWA,CAAA,EAAG;EACrB,IAAI,KAAyC,EAAE,EAE9C;AACH;AACA,SAASC,YAAYA,CAAC9pC,KAAK,EAAEojB,QAAQ,EAAE;EACrC,IAAI,KAAyC,EAAE,EAE9C;EACD,OAAO,IAAI;AACb;AACA,SAAS2mB,QAAQA,CAAA,EAAG;EAClB,OAAOC,UAAU,CAAC,CAAC,CAAC7mC,KAAK;AAC3B;AACA,SAAS8mC,QAAQA,CAAA,EAAG;EAClB,OAAOD,UAAU,CAAC,CAAC,CAAC1C,KAAK;AAC3B;AACA,SAAS0C,UAAUA,CAAA,EAAG;EACpB,MAAMppD,CAAC,GAAG8a,kBAAkB,CAAC,CAAC;EAC9B,IAAI,KAA+C,EAAE,EAEpD;EACD,OAAO9a,CAAC,CAACspD,YAAY,KAAKtpD,CAAC,CAACspD,YAAY,GAAGC,kBAAkB,CAACvpD,CAAC,CAAC,CAAC;AACnE;AACA,SAASwpD,qBAAqBA,CAACpqC,KAAK,EAAE;EACpC,OAAO9Y,+DAAO,CAAC8Y,KAAK,CAAC,GAAGA,KAAK,CAACqqC,MAAM,CAClC,CAACr/C,UAAU,EAAEmjB,CAAC,MAAMnjB,UAAU,CAACmjB,CAAC,CAAC,GAAG,IAAI,EAAEnjB,UAAU,CAAC,EACrD,CAAC,CACH,CAAC,GAAGgV,KAAK;AACX;AACA,SAASsqC,aAAaA,CAAC/oB,GAAG,EAAE6B,QAAQ,EAAE;EACpC,MAAMpjB,KAAK,GAAGoqC,qBAAqB,CAAC7oB,GAAG,CAAC;EACxC,KAAK,MAAMh7B,GAAG,IAAI68B,QAAQ,EAAE;IAC1B,IAAI78B,GAAG,CAAC0lB,UAAU,CAAC,QAAQ,CAAC,EAAE;IAC9B,IAAI7qB,GAAG,GAAG4e,KAAK,CAACzZ,GAAG,CAAC;IACpB,IAAInF,GAAG,EAAE;MACP,IAAI8F,OAAO,CAAC9F,GAAG,CAAC,IAAI6G,UAAU,CAAC7G,GAAG,CAAC,EAAE;QACnCA,GAAG,GAAG4e,KAAK,CAACzZ,GAAG,CAAC,GAAG;UAAE5F,IAAI,EAAES,GAAG;UAAE+gB,OAAO,EAAEihB,QAAQ,CAAC78B,GAAG;QAAE,CAAC;MAC1D,CAAC,MAAM;QACLnF,GAAG,CAAC+gB,OAAO,GAAGihB,QAAQ,CAAC78B,GAAG,CAAC;MAC7B;IACF,CAAC,MAAM,IAAInF,GAAG,KAAK,IAAI,EAAE;MACvBA,GAAG,GAAG4e,KAAK,CAACzZ,GAAG,CAAC,GAAG;QAAE4b,OAAO,EAAEihB,QAAQ,CAAC78B,GAAG;MAAE,CAAC;IAC/C,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;IACD,IAAInF,GAAG,IAAIgiC,QAAQ,CAAC,UAAU78B,GAAG,EAAE,CAAC,EAAE;MACpCnF,GAAG,CAACmpD,WAAW,GAAG,IAAI;IACxB;EACF;EACA,OAAOvqC,KAAK;AACd;AACA,SAASwqC,WAAWA,CAACv9C,CAAC,EAAEC,CAAC,EAAE;EACzB,IAAI,CAACD,CAAC,IAAI,CAACC,CAAC,EAAE,OAAOD,CAAC,IAAIC,CAAC;EAC3B,IAAIhG,OAAO,CAAC+F,CAAC,CAAC,IAAI/F,OAAO,CAACgG,CAAC,CAAC,EAAE,OAAOD,CAAC,CAAChC,MAAM,CAACiC,CAAC,CAAC;EAChD,OAAOgQ,MAAM,CAAC,CAAC,CAAC,EAAEktC,qBAAqB,CAACn9C,CAAC,CAAC,EAAEm9C,qBAAqB,CAACl9C,CAAC,CAAC,CAAC;AACvE;AACA,SAASu9C,oBAAoBA,CAACzqC,KAAK,EAAE0qC,YAAY,EAAE;EACjD,MAAM9S,GAAG,GAAG,CAAC,CAAC;EACd,KAAK,MAAMrxC,GAAG,IAAIyZ,KAAK,EAAE;IACvB,IAAI,CAAC0qC,YAAY,CAACz9B,QAAQ,CAAC1mB,GAAG,CAAC,EAAE;MAC/BtE,MAAM,CAAC+G,cAAc,CAAC4uC,GAAG,EAAErxC,GAAG,EAAE;QAC9BiyC,UAAU,EAAE,IAAI;QAChBnuC,GAAG,EAAEA,CAAA,KAAM2V,KAAK,CAACzZ,GAAG;MACtB,CAAC,CAAC;IACJ;EACF;EACA,OAAOqxC,GAAG;AACZ;AACA,SAAS+S,gBAAgBA,CAACC,YAAY,EAAE;EACtC,MAAM5a,GAAG,GAAGt0B,kBAAkB,CAAC,CAAC;EAChC,IAAI,KAAiD,EAAE,EAItD;EACD,IAAImvC,SAAS,GAAGD,YAAY,CAAC,CAAC;EAC9BE,oBAAoB,CAAC,CAAC;EACtB,IAAInkB,SAAS,CAACkkB,SAAS,CAAC,EAAE;IACxBA,SAAS,GAAGA,SAAS,CAAChhB,KAAK,CAAEh0B,CAAC,IAAK;MACjCmuC,kBAAkB,CAAChU,GAAG,CAAC;MACvB,MAAMn6B,CAAC;IACT,CAAC,CAAC;EACJ;EACA,OAAO,CAACg1C,SAAS,EAAE,MAAM7G,kBAAkB,CAAChU,GAAG,CAAC,CAAC;AACnD;AAEA,SAAS+a,sBAAsBA,CAAA,EAAG;EAChC,MAAMtuB,KAAK,GAAG,eAAgBx6B,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EACjD,OAAO,CAAC5G,IAAI,EAAE4F,GAAG,KAAK;IACpB,IAAIk2B,KAAK,CAACl2B,GAAG,CAAC,EAAE;MACd6hC,MAAM,CAAC,GAAGznC,IAAI,cAAc4F,GAAG,2BAA2Bk2B,KAAK,CAACl2B,GAAG,CAAC,GAAG,CAAC;IAC1E,CAAC,MAAM;MACLk2B,KAAK,CAACl2B,GAAG,CAAC,GAAG5F,IAAI;IACnB;EACF,CAAC;AACH;AACA,IAAIgoD,iBAAiB,GAAG,IAAI;AAC5B,SAASqC,YAAYA,CAAC1hC,QAAQ,EAAE;EAC9B,MAAM1nB,OAAO,GAAGmmD,oBAAoB,CAACz+B,QAAQ,CAAC;EAC9C,MAAM2hC,UAAU,GAAG3hC,QAAQ,CAAC7U,KAAK;EACjC,MAAMu7B,GAAG,GAAG1mB,QAAQ,CAAC0mB,GAAG;EACxB2Y,iBAAiB,GAAG,KAAK;EACzB,IAAI/mD,OAAO,CAACspD,YAAY,EAAE;IACxB7nC,QAAQ,CAACzhB,OAAO,CAACspD,YAAY,EAAE5hC,QAAQ,EAAE,IAAI,CAAC;EAChD;EACA,MAAM;IACJ;IACA3b,IAAI,EAAEw9C,WAAW;IACjBx/C,QAAQ,EAAEy/C,eAAe;IACzBC,OAAO;IACPvvC,KAAK,EAAEwvC,YAAY;IACnBC,OAAO,EAAEC,cAAc;IACvBC,MAAM,EAAEC,aAAa;IACrB;IACAjzB,OAAO;IACPlQ,WAAW;IACXM,OAAO;IACPiQ,YAAY;IACZhQ,OAAO;IACP6iC,SAAS;IACTC,WAAW;IACXC,aAAa;IACb7iC,aAAa;IACb8iC,SAAS;IACTC,SAAS;IACTt4B,MAAM;IACNu4B,aAAa;IACbC,eAAe;IACfC,aAAa;IACbC,cAAc;IACd;IACAC,MAAM;IACNC,YAAY;IACZ;IACAC,UAAU;IACV5b,UAAU;IACV6b;EACF,CAAC,GAAG3qD,OAAO;EACX,MAAM4qD,wBAAwB,GAAG,MAAyC,GAAGzB,CAAwB,GAAG,IAAI;EAC5G,IAAI,KAAyC,EAAE,EAO9C;EACD,IAAIW,aAAa,EAAE;IACjBe,iBAAiB,CAACf,aAAa,EAAE1b,GAAG,EAAEwc,wBAAwB,CAAC;EACjE;EACA,IAAInB,OAAO,EAAE;IACX,KAAK,MAAM9kD,GAAG,IAAI8kD,OAAO,EAAE;MACzB,MAAMqB,aAAa,GAAGrB,OAAO,CAAC9kD,GAAG,CAAC;MAClC,IAAI0B,kEAAU,CAACykD,aAAa,CAAC,EAAE;QAC7B,IAAI,KAAyC,EAAE,EAO9C,MAAM;UACL1c,GAAG,CAACzpC,GAAG,CAAC,GAAGmmD,aAAa,CAAC74B,IAAI,CAACo3B,UAAU,CAAC;QAC3C;QACA,IAAI,KAAyC,EAAE,EAE9C;MACH,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;IACH;EACF;EACA,IAAIE,WAAW,EAAE;IACf,IAAI,KAAqE,EAAE,EAI1E;IACD,MAAMx9C,IAAI,GAAGw9C,WAAW,CAACjjD,IAAI,CAAC+iD,UAAU,EAAEA,UAAU,CAAC;IACrD,IAAI,KAA4D,EAAE,EAIjE;IACD,IAAI,CAAC94C,gEAAQ,CAACxE,IAAI,CAAC,EAAE;MACnB,MAAyC,IAAIy6B,CAAyC;IACxF,CAAC,MAAM;MACL9e,QAAQ,CAAC3b,IAAI,GAAGw3B,oEAAQ,CAACx3B,IAAI,CAAC;MAC9B,IAAI,KAAyC,EAAE,EAY9C;IACH;EACF;EACAg7C,iBAAiB,GAAG,IAAI;EACxB,IAAIyC,eAAe,EAAE;IACnB,KAAK,MAAM7kD,GAAG,IAAI6kD,eAAe,EAAE;MACjC,MAAMhqD,GAAG,GAAGgqD,eAAe,CAAC7kD,GAAG,CAAC;MAChC,MAAM8D,GAAG,GAAGpC,kEAAU,CAAC7G,GAAG,CAAC,GAAGA,GAAG,CAACyyB,IAAI,CAACo3B,UAAU,EAAEA,UAAU,CAAC,GAAGhjD,kEAAU,CAAC7G,GAAG,CAACiJ,GAAG,CAAC,GAAGjJ,GAAG,CAACiJ,GAAG,CAACwpB,IAAI,CAACo3B,UAAU,EAAEA,UAAU,CAAC,GAAG7tC,wDAAI;MAClI,IAAI,KAAyD,EAAE,EAE9D;MACD,MAAM5T,GAAG,GAAG,CAACvB,kEAAU,CAAC7G,GAAG,CAAC,IAAI6G,kEAAU,CAAC7G,GAAG,CAACoI,GAAG,CAAC,GAAGpI,GAAG,CAACoI,GAAG,CAACqqB,IAAI,CAACo3B,UAAU,CAAC,GAAG,MAAyC,GAAG,CAI5H,GAAG7tC,wDAAI;MACR,MAAMsI,CAAC,GAAG/Z,QAAQ,CAAC;QACjBtB,GAAG;QACHb;MACF,CAAC,CAAC;MACFvH,MAAM,CAAC+G,cAAc,CAACgnC,GAAG,EAAEzpC,GAAG,EAAE;QAC9BiyC,UAAU,EAAE,IAAI;QAChBpvC,YAAY,EAAE,IAAI;QAClBiB,GAAG,EAAEA,CAAA,KAAMqb,CAAC,CAACpkB,KAAK;QAClBkI,GAAG,EAAGwiB,CAAC,IAAKtG,CAAC,CAACpkB,KAAK,GAAG0qB;MACxB,CAAC,CAAC;MACF,IAAI,KAAyC,EAAE,EAE9C;IACH;EACF;EACA,IAAIs/B,YAAY,EAAE;IAChB,KAAK,MAAM/kD,GAAG,IAAI+kD,YAAY,EAAE;MAC9BqB,aAAa,CAACrB,YAAY,CAAC/kD,GAAG,CAAC,EAAEypC,GAAG,EAAEib,UAAU,EAAE1kD,GAAG,CAAC;IACxD;EACF;EACA,IAAIilD,cAAc,EAAE;IAClB,MAAMx5B,QAAQ,GAAG/pB,kEAAU,CAACujD,cAAc,CAAC,GAAGA,cAAc,CAACtjD,IAAI,CAAC+iD,UAAU,CAAC,GAAGO,cAAc;IAC9FxC,OAAO,CAACC,OAAO,CAACj3B,QAAQ,CAAC,CAACtxB,OAAO,CAAE6F,GAAG,IAAK;MACzCglD,OAAO,CAAChlD,GAAG,EAAEyrB,QAAQ,CAACzrB,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;EACJ;EACA,IAAIkyB,OAAO,EAAE;IACXpV,QAAQ,CAACoV,OAAO,EAAEnP,QAAQ,EAAE,GAAG,CAAC;EAClC;EACA,SAASsjC,qBAAqBA,CAACC,QAAQ,EAAEz4C,IAAI,EAAE;IAC7C,IAAIlN,+DAAO,CAACkN,IAAI,CAAC,EAAE;MACjBA,IAAI,CAAC1T,OAAO,CAAEosD,KAAK,IAAKD,QAAQ,CAACC,KAAK,CAACj5B,IAAI,CAACo3B,UAAU,CAAC,CAAC,CAAC;IAC3D,CAAC,MAAM,IAAI72C,IAAI,EAAE;MACfy4C,QAAQ,CAACz4C,IAAI,CAACyf,IAAI,CAACo3B,UAAU,CAAC,CAAC;IACjC;EACF;EACA2B,qBAAqB,CAACvI,aAAa,EAAE97B,WAAW,CAAC;EACjDqkC,qBAAqB,CAAC/wC,SAAS,EAAEgN,OAAO,CAAC;EACzC+jC,qBAAqB,CAACjxC,cAAc,EAAEmd,YAAY,CAAC;EACnD8zB,qBAAqB,CAACnwC,SAAS,EAAEqM,OAAO,CAAC;EACzC8jC,qBAAqB,CAACvJ,WAAW,EAAEsI,SAAS,CAAC;EAC7CiB,qBAAqB,CAACrJ,aAAa,EAAEqI,WAAW,CAAC;EACjDgB,qBAAqB,CAACnI,eAAe,EAAEyH,aAAa,CAAC;EACrDU,qBAAqB,CAACpI,eAAe,EAAEwH,aAAa,CAAC;EACrDY,qBAAqB,CAACrI,iBAAiB,EAAE0H,eAAe,CAAC;EACzDW,qBAAqB,CAAC7X,eAAe,EAAE/rB,aAAa,CAAC;EACrD4jC,qBAAqB,CAAC7wC,WAAW,EAAEgwC,SAAS,CAAC;EAC7Ca,qBAAqB,CAACtI,gBAAgB,EAAE6H,cAAc,CAAC;EACvD,IAAIjlD,+DAAO,CAACklD,MAAM,CAAC,EAAE;IACnB,IAAIA,MAAM,CAAClqD,MAAM,EAAE;MACjB,MAAM+wB,OAAO,GAAG3J,QAAQ,CAAC2J,OAAO,KAAK3J,QAAQ,CAAC2J,OAAO,GAAG,CAAC,CAAC,CAAC;MAC3Dm5B,MAAM,CAAC1rD,OAAO,CAAE6F,GAAG,IAAK;QACtBtE,MAAM,CAAC+G,cAAc,CAACiqB,OAAO,EAAE1sB,GAAG,EAAE;UAClC8D,GAAG,EAAEA,CAAA,KAAM4gD,UAAU,CAAC1kD,GAAG,CAAC;UAC1BiD,GAAG,EAAGyQ,GAAG,IAAKgxC,UAAU,CAAC1kD,GAAG,CAAC,GAAG0T;QAClC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,CAACqP,QAAQ,CAAC2J,OAAO,EAAE;MAC5B3J,QAAQ,CAAC2J,OAAO,GAAG,CAAC,CAAC;IACvB;EACF;EACA,IAAIQ,MAAM,IAAInK,QAAQ,CAACmK,MAAM,KAAKrW,wDAAI,EAAE;IACtCkM,QAAQ,CAACmK,MAAM,GAAGA,MAAM;EAC1B;EACA,IAAI44B,YAAY,IAAI,IAAI,EAAE;IACxB/iC,QAAQ,CAAC+iC,YAAY,GAAGA,YAAY;EACtC;EACA,IAAIC,UAAU,EAAEhjC,QAAQ,CAACgjC,UAAU,GAAGA,UAAU;EAChD,IAAI5b,UAAU,EAAEpnB,QAAQ,CAAConB,UAAU,GAAGA,UAAU;EAChD,IAAIyb,cAAc,EAAE;IAClBjU,iBAAiB,CAAC5uB,QAAQ,CAAC;EAC7B;AACF;AACA,SAASmjC,iBAAiBA,CAACf,aAAa,EAAE1b,GAAG,EAAEwc,wBAAwB,GAAGpvC,wDAAI,EAAE;EAC9E,IAAIlW,+DAAO,CAACwkD,aAAa,CAAC,EAAE;IAC1BA,aAAa,GAAGqB,eAAe,CAACrB,aAAa,CAAC;EAChD;EACA,KAAK,MAAMnlD,GAAG,IAAImlD,aAAa,EAAE;IAC/B,MAAMtqD,GAAG,GAAGsqD,aAAa,CAACnlD,GAAG,CAAC;IAC9B,IAAIs9C,QAAQ;IACZ,IAAI1xC,gEAAQ,CAAC/Q,GAAG,CAAC,EAAE;MACjB,IAAI,SAAS,IAAIA,GAAG,EAAE;QACpByiD,QAAQ,GAAG4H,MAAM,CACfrqD,GAAG,CAACqK,IAAI,IAAIlF,GAAG,EACfnF,GAAG,CAAC+gB,OAAO,EACX,IACF,CAAC;MACH,CAAC,MAAM;QACL0hC,QAAQ,GAAG4H,MAAM,CAACrqD,GAAG,CAACqK,IAAI,IAAIlF,GAAG,CAAC;MACpC;IACF,CAAC,MAAM;MACLs9C,QAAQ,GAAG4H,MAAM,CAACrqD,GAAG,CAAC;IACxB;IACA,IAAIojC,iEAAK,CAACqf,QAAQ,CAAC,EAAE;MACnB5hD,MAAM,CAAC+G,cAAc,CAACgnC,GAAG,EAAEzpC,GAAG,EAAE;QAC9BiyC,UAAU,EAAE,IAAI;QAChBpvC,YAAY,EAAE,IAAI;QAClBiB,GAAG,EAAEA,CAAA,KAAMw5C,QAAQ,CAACviD,KAAK;QACzBkI,GAAG,EAAGwiB,CAAC,IAAK63B,QAAQ,CAACviD,KAAK,GAAG0qB;MAC/B,CAAC,CAAC;IACJ,CAAC,MAAM;MACLgkB,GAAG,CAACzpC,GAAG,CAAC,GAAGs9C,QAAQ;IACrB;IACA,IAAI,KAAyC,EAAE,EAE9C;EACH;AACF;AACA,SAASxgC,QAAQA,CAACjP,IAAI,EAAEkV,QAAQ,EAAE3oB,IAAI,EAAE;EACtCwb,0BAA0B,CACxBjV,+DAAO,CAACkN,IAAI,CAAC,GAAGA,IAAI,CAACjN,GAAG,CAAEmU,CAAC,IAAKA,CAAC,CAACuY,IAAI,CAACvK,QAAQ,CAAC7U,KAAK,CAAC,CAAC,GAAGL,IAAI,CAACyf,IAAI,CAACvK,QAAQ,CAAC7U,KAAK,CAAC,EACnF6U,QAAQ,EACR3oB,IACF,CAAC;AACH;AACA,SAASgsD,aAAaA,CAACprB,GAAG,EAAEyO,GAAG,EAAEib,UAAU,EAAE1kD,GAAG,EAAE;EAChD,IAAI8iB,MAAM,GAAG9iB,GAAG,CAAC0mB,QAAQ,CAAC,GAAG,CAAC,GAAG+/B,gBAAgB,CAAC/B,UAAU,EAAE1kD,GAAG,CAAC,GAAG,MAAM0kD,UAAU,CAAC1kD,GAAG,CAAC;EAC1F,IAAI4B,gEAAQ,CAACo5B,GAAG,CAAC,EAAE;IACjB,MAAMlU,OAAO,GAAG2iB,GAAG,CAACzO,GAAG,CAAC;IACxB,IAAIt5B,kEAAU,CAAColB,OAAO,CAAC,EAAE;MACvB;QACEvR,KAAK,CAACuN,MAAM,EAAEgE,OAAO,CAAC;MACxB;IACF,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;EACH,CAAC,MAAM,IAAIplB,kEAAU,CAACs5B,GAAG,CAAC,EAAE;IAC1B;MACEzlB,KAAK,CAACuN,MAAM,EAAEkY,GAAG,CAAC1N,IAAI,CAACo3B,UAAU,CAAC,CAAC;IACrC;EACF,CAAC,MAAM,IAAI94C,gEAAQ,CAACovB,GAAG,CAAC,EAAE;IACxB,IAAIr6B,+DAAO,CAACq6B,GAAG,CAAC,EAAE;MAChBA,GAAG,CAAC7gC,OAAO,CAAE23C,CAAC,IAAKsU,aAAa,CAACtU,CAAC,EAAErI,GAAG,EAAEib,UAAU,EAAE1kD,GAAG,CAAC,CAAC;IAC5D,CAAC,MAAM;MACL,MAAM8mB,OAAO,GAAGplB,kEAAU,CAACs5B,GAAG,CAAClU,OAAO,CAAC,GAAGkU,GAAG,CAAClU,OAAO,CAACwG,IAAI,CAACo3B,UAAU,CAAC,GAAGjb,GAAG,CAACzO,GAAG,CAAClU,OAAO,CAAC;MACzF,IAAIplB,kEAAU,CAAColB,OAAO,CAAC,EAAE;QACvBvR,KAAK,CAACuN,MAAM,EAAEgE,OAAO,EAAEkU,GAAG,CAAC;MAC7B,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;IACH;EACF,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;AACH;AACA,SAASwmB,oBAAoBA,CAACz+B,QAAQ,EAAE;EACtC,MAAM2jC,IAAI,GAAG3jC,QAAQ,CAAC3oB,IAAI;EAC1B,MAAM;IAAEusD,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAGH,IAAI;EAChD,MAAM;IACJC,MAAM,EAAEG,YAAY;IACpBrf,YAAY,EAAEvR,KAAK;IACnB9vB,MAAM,EAAE;MAAE2gD;IAAsB;EAClC,CAAC,GAAGhkC,QAAQ,CAACgf,UAAU;EACvB,MAAM/b,MAAM,GAAGkQ,KAAK,CAACpyB,GAAG,CAAC4iD,IAAI,CAAC;EAC9B,IAAIM,QAAQ;EACZ,IAAIhhC,MAAM,EAAE;IACVghC,QAAQ,GAAGhhC,MAAM;EACnB,CAAC,MAAM,IAAI,CAAC8gC,YAAY,CAACnrD,MAAM,IAAI,CAACgrD,MAAM,IAAI,CAACE,cAAc,EAAE;IAC7D;MACEG,QAAQ,GAAGN,IAAI;IACjB;EACF,CAAC,MAAM;IACLM,QAAQ,GAAG,CAAC,CAAC;IACb,IAAIF,YAAY,CAACnrD,MAAM,EAAE;MACvBmrD,YAAY,CAAC3sD,OAAO,CACjButB,CAAC,IAAKu/B,YAAY,CAACD,QAAQ,EAAEt/B,CAAC,EAAEq/B,qBAAqB,EAAE,IAAI,CAC9D,CAAC;IACH;IACAE,YAAY,CAACD,QAAQ,EAAEN,IAAI,EAAEK,qBAAqB,CAAC;EACrD;EACA,IAAIn7C,gEAAQ,CAAC86C,IAAI,CAAC,EAAE;IAClBxwB,KAAK,CAACjzB,GAAG,CAACyjD,IAAI,EAAEM,QAAQ,CAAC;EAC3B;EACA,OAAOA,QAAQ;AACjB;AACA,SAASC,YAAYA,CAAC3b,EAAE,EAAEpmC,IAAI,EAAEgiD,MAAM,EAAEC,OAAO,GAAG,KAAK,EAAE;EACvD,MAAM;IAAER,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAG3hD,IAAI;EAChD,IAAI2hD,cAAc,EAAE;IAClBI,YAAY,CAAC3b,EAAE,EAAEub,cAAc,EAAEK,MAAM,EAAE,IAAI,CAAC;EAChD;EACA,IAAIP,MAAM,EAAE;IACVA,MAAM,CAACxsD,OAAO,CACXutB,CAAC,IAAKu/B,YAAY,CAAC3b,EAAE,EAAE5jB,CAAC,EAAEw/B,MAAM,EAAE,IAAI,CACzC,CAAC;EACH;EACA,KAAK,MAAMlnD,GAAG,IAAIkF,IAAI,EAAE;IACtB,IAAIiiD,OAAO,IAAInnD,GAAG,KAAK,QAAQ,EAAE;MAC/B,MAAyC,IAAI6hC,CAE5C;IACH,CAAC,MAAM;MACL,MAAMulB,KAAK,GAAGC,yBAAyB,CAACrnD,GAAG,CAAC,IAAIknD,MAAM,IAAIA,MAAM,CAAClnD,GAAG,CAAC;MACrEsrC,EAAE,CAACtrC,GAAG,CAAC,GAAGonD,KAAK,GAAGA,KAAK,CAAC9b,EAAE,CAACtrC,GAAG,CAAC,EAAEkF,IAAI,CAAClF,GAAG,CAAC,CAAC,GAAGkF,IAAI,CAAClF,GAAG,CAAC;IACzD;EACF;EACA,OAAOsrC,EAAE;AACX;AACA,MAAM+b,yBAAyB,GAAG;EAChCjgD,IAAI,EAAEkgD,WAAW;EACjB7tC,KAAK,EAAE8tC,wBAAwB;EAC/BC,KAAK,EAAED,wBAAwB;EAC/B;EACAzC,OAAO,EAAE2C,kBAAkB;EAC3BriD,QAAQ,EAAEqiD,kBAAkB;EAC5B;EACA9C,YAAY,EAAE+C,YAAY;EAC1Bx1B,OAAO,EAAEw1B,YAAY;EACrB1lC,WAAW,EAAE0lC,YAAY;EACzBplC,OAAO,EAAEolC,YAAY;EACrBn1B,YAAY,EAAEm1B,YAAY;EAC1BnlC,OAAO,EAAEmlC,YAAY;EACrBpC,aAAa,EAAEoC,YAAY;EAC3BjlC,aAAa,EAAEilC,YAAY;EAC3BnC,SAAS,EAAEmC,YAAY;EACvBlC,SAAS,EAAEkC,YAAY;EACvBtC,SAAS,EAAEsC,YAAY;EACvBrC,WAAW,EAAEqC,YAAY;EACzB/B,aAAa,EAAE+B,YAAY;EAC3B9B,cAAc,EAAE8B,YAAY;EAC5B;EACA3B,UAAU,EAAE0B,kBAAkB;EAC9Btd,UAAU,EAAEsd,kBAAkB;EAC9B;EACAlyC,KAAK,EAAEoyC,iBAAiB;EACxB;EACA3C,OAAO,EAAEsC,WAAW;EACpBpC,MAAM,EAAE0C;AACV,CAAC;AACD,SAASN,WAAWA,CAAChc,EAAE,EAAEpmC,IAAI,EAAE;EAC7B,IAAI,CAACA,IAAI,EAAE;IACT,OAAOomC,EAAE;EACX;EACA,IAAI,CAACA,EAAE,EAAE;IACP,OAAOpmC,IAAI;EACb;EACA,OAAO,SAAS2iD,YAAYA,CAAA,EAAG;IAC7B,OAAQlxC,8DAAM,CACZjV,kEAAU,CAAC4pC,EAAE,CAAC,GAAGA,EAAE,CAAC3pC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG2pC,EAAE,EACzC5pC,kEAAU,CAACwD,IAAI,CAAC,GAAGA,IAAI,CAACvD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAGuD,IAC7C,CAAC;EACH,CAAC;AACH;AACA,SAAS0iD,WAAWA,CAACtc,EAAE,EAAEpmC,IAAI,EAAE;EAC7B,OAAOuiD,kBAAkB,CAACjB,eAAe,CAAClb,EAAE,CAAC,EAAEkb,eAAe,CAACthD,IAAI,CAAC,CAAC;AACvE;AACA,SAASshD,eAAeA,CAACxrB,GAAG,EAAE;EAC5B,IAAIr6B,+DAAO,CAACq6B,GAAG,CAAC,EAAE;IAChB,MAAM/b,GAAG,GAAG,CAAC,CAAC;IACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2gC,GAAG,CAACr/B,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACnC4kB,GAAG,CAAC+b,GAAG,CAAC3gC,CAAC,CAAC,CAAC,GAAG2gC,GAAG,CAAC3gC,CAAC,CAAC;IACtB;IACA,OAAO4kB,GAAG;EACZ;EACA,OAAO+b,GAAG;AACZ;AACA,SAAS0sB,YAAYA,CAACpc,EAAE,EAAEpmC,IAAI,EAAE;EAC9B,OAAOomC,EAAE,GAAG,CAAC,GAAG,IAAIhsB,GAAG,CAAC,EAAE,CAAC5a,MAAM,CAAC4mC,EAAE,EAAEpmC,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI;AACtD;AACA,SAASuiD,kBAAkBA,CAACnc,EAAE,EAAEpmC,IAAI,EAAE;EACpC,OAAOomC,EAAE,GAAG30B,8DAAM,CAAC,eAAgBjb,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC,EAAEsqC,EAAE,EAAEpmC,IAAI,CAAC,GAAGA,IAAI;AAC1E;AACA,SAASqiD,wBAAwBA,CAACjc,EAAE,EAAEpmC,IAAI,EAAE;EAC1C,IAAIomC,EAAE,EAAE;IACN,IAAI3qC,+DAAO,CAAC2qC,EAAE,CAAC,IAAI3qC,+DAAO,CAACuE,IAAI,CAAC,EAAE;MAChC,OAAO,CAAC,IAAG,eAAgB,IAAIoa,GAAG,CAAC,CAAC,GAAGgsB,EAAE,EAAE,GAAGpmC,IAAI,CAAC,CAAC,CAAC;IACvD;IACA,OAAOyR,8DAAM,CACX,eAAgBjb,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC,EACnC6iD,qBAAqB,CAACvY,EAAE,CAAC,EACzBuY,qBAAqB,CAAC3+C,IAAI,IAAI,IAAI,GAAGA,IAAI,GAAG,CAAC,CAAC,CAChD,CAAC;EACH,CAAC,MAAM;IACL,OAAOA,IAAI;EACb;AACF;AACA,SAASyiD,iBAAiBA,CAACrc,EAAE,EAAEpmC,IAAI,EAAE;EACnC,IAAI,CAAComC,EAAE,EAAE,OAAOpmC,IAAI;EACpB,IAAI,CAACA,IAAI,EAAE,OAAOomC,EAAE;EACpB,MAAMwc,MAAM,GAAGnxC,8DAAM,CAAC,eAAgBjb,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC,EAAEsqC,EAAE,CAAC;EAC9D,KAAK,MAAMtrC,GAAG,IAAIkF,IAAI,EAAE;IACtB4iD,MAAM,CAAC9nD,GAAG,CAAC,GAAG0nD,YAAY,CAACpc,EAAE,CAACtrC,GAAG,CAAC,EAAEkF,IAAI,CAAClF,GAAG,CAAC,CAAC;EAChD;EACA,OAAO8nD,MAAM;AACf;AAEA,SAASC,gBAAgBA,CAAA,EAAG;EAC1B,OAAO;IACL1wB,GAAG,EAAE,IAAI;IACTjxB,MAAM,EAAE;MACN4hD,WAAW,EAAE9mB,4CAAE;MACfpI,WAAW,EAAE,KAAK;MAClBypB,gBAAgB,EAAE,CAAC,CAAC;MACpBwE,qBAAqB,EAAE,CAAC,CAAC;MACzBrjB,YAAY,EAAE,KAAK,CAAC;MACpB1B,WAAW,EAAE,KAAK,CAAC;MACnBhK,eAAe,EAAE,CAAC;IACpB,CAAC;IACD2uB,MAAM,EAAE,EAAE;IACVZ,UAAU,EAAE,CAAC,CAAC;IACd5b,UAAU,EAAE,CAAC,CAAC;IACd1e,QAAQ,EAAE,eAAgB/vB,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;IAC7CymC,YAAY,EAAE,eAAgB,IAAI9X,OAAO,CAAC,CAAC;IAC3C4X,UAAU,EAAE,eAAgB,IAAI5X,OAAO,CAAC,CAAC;IACzC6X,UAAU,EAAE,eAAgB,IAAI7X,OAAO,CAAC;EAC1C,CAAC;AACH;AACA,IAAIs4B,KAAK,GAAG,CAAC;AACb,SAASC,YAAYA,CAACh7B,MAAM,EAAEkK,OAAO,EAAE;EACrC,OAAO,SAASpN,SAASA,CAACm+B,aAAa,EAAEC,SAAS,GAAG,IAAI,EAAE;IACzD,IAAI,CAAC1mD,kEAAU,CAACymD,aAAa,CAAC,EAAE;MAC9BA,aAAa,GAAGxxC,8DAAM,CAAC,CAAC,CAAC,EAAEwxC,aAAa,CAAC;IAC3C;IACA,IAAIC,SAAS,IAAI,IAAI,IAAI,CAACx8C,gEAAQ,CAACw8C,SAAS,CAAC,EAAE;MAC7C,MAAyC,IAAIvmB,CAA6D;MAC1GumB,SAAS,GAAG,IAAI;IAClB;IACA,MAAM7mD,OAAO,GAAGwmD,gBAAgB,CAAC,CAAC;IAClC,MAAMM,gBAAgB,GAAG,eAAgB,IAAI59B,OAAO,CAAC,CAAC;IACtD,MAAM69B,gBAAgB,GAAG,EAAE;IAC3B,IAAIla,SAAS,GAAG,KAAK;IACrB,MAAM/W,GAAG,GAAG91B,OAAO,CAAC81B,GAAG,GAAG;MACxBkxB,IAAI,EAAEN,KAAK,EAAE;MACbvwB,UAAU,EAAEywB,aAAa;MACzBp+B,MAAM,EAAEq+B,SAAS;MACjBI,UAAU,EAAE,IAAI;MAChBC,QAAQ,EAAElnD,OAAO;MACjB0oB,SAAS,EAAE,IAAI;MACfvvB,OAAO;MACP,IAAI0L,MAAMA,CAAA,EAAG;QACX,OAAO7E,OAAO,CAAC6E,MAAM;MACvB,CAAC;MACD,IAAIA,MAAMA,CAACqf,CAAC,EAAE;QACZ,IAAI,KAAyC,EAAE,EAI9C;MACH,CAAC;MACDnR,GAAGA,CAACimB,MAAM,EAAE,GAAGl/B,OAAO,EAAE;QACtB,IAAIgtD,gBAAgB,CAACpkD,GAAG,CAACs2B,MAAM,CAAC,EAAE;UAChC,MAAyC,IAAIsH,CAAwD;QACvG,CAAC,MAAM,IAAItH,MAAM,IAAI74B,kEAAU,CAAC64B,MAAM,CAACiC,OAAO,CAAC,EAAE;UAC/C6rB,gBAAgB,CAAChpC,GAAG,CAACkb,MAAM,CAAC;UAC5BA,MAAM,CAACiC,OAAO,CAACnF,GAAG,EAAE,GAAGh8B,OAAO,CAAC;QACjC,CAAC,MAAM,IAAIqG,kEAAU,CAAC64B,MAAM,CAAC,EAAE;UAC7B8tB,gBAAgB,CAAChpC,GAAG,CAACkb,MAAM,CAAC;UAC5BA,MAAM,CAAClD,GAAG,EAAE,GAAGh8B,OAAO,CAAC;QACzB,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;QACD,OAAOg8B,GAAG;MACZ,CAAC;MACDqxB,KAAKA,CAACA,KAAK,EAAE;QACX,IAAInH,IAAmB,EAAE;UACvB,IAAI,CAAChgD,OAAO,CAAColD,MAAM,CAACjgC,QAAQ,CAACgiC,KAAK,CAAC,EAAE;YACnCnnD,OAAO,CAAColD,MAAM,CAACt4C,IAAI,CAACq6C,KAAK,CAAC;UAC5B,CAAC,MAAM,IAAI,KAAyC,EAAE,EAIrD;QACH,CAAC,MAAM,EAEN;QACD,OAAOrxB,GAAG;MACZ,CAAC;MACD5S,SAASA,CAAC5Z,IAAI,EAAE4Z,SAAS,EAAE;QACzB,IAAI,KAAyC,EAAE,EAE9C;QACD,IAAI,CAACA,SAAS,EAAE;UACd,OAAOljB,OAAO,CAACwkD,UAAU,CAACl7C,IAAI,CAAC;QACjC;QACA,IAAI,KAAqE,EAAE,EAE1E;QACDtJ,OAAO,CAACwkD,UAAU,CAACl7C,IAAI,CAAC,GAAG4Z,SAAS;QACpC,OAAO4S,GAAG;MACZ,CAAC;MACDuxB,SAASA,CAAC/9C,IAAI,EAAE+9C,SAAS,EAAE;QACzB,IAAI,KAAyC,EAAE,EAE9C;QACD,IAAI,CAACA,SAAS,EAAE;UACd,OAAOrnD,OAAO,CAAC4oC,UAAU,CAACt/B,IAAI,CAAC;QACjC;QACA,IAAI,KAAqE,EAAE,EAE1E;QACDtJ,OAAO,CAAC4oC,UAAU,CAACt/B,IAAI,CAAC,GAAG+9C,SAAS;QACpC,OAAOvxB,GAAG;MACZ,CAAC;MACD5K,KAAKA,CAACo8B,aAAa,EAAEC,SAAS,EAAEvvC,SAAS,EAAE;QACzC,IAAI,CAAC60B,SAAS,EAAE;UACd,IAAI,KAAsE,EAAE,EAK3E;UACD,MAAMlqB,KAAK,GAAGmT,GAAG,CAAC9K,QAAQ,IAAIvW,WAAW,CAACmyC,aAAa,EAAEC,SAAS,CAAC;UACnElkC,KAAK,CAAC6d,UAAU,GAAGxgC,OAAO;UAC1B,IAAIgY,SAAS,KAAK,IAAI,EAAE;YACtBA,SAAS,GAAG,KAAK;UACnB,CAAC,MAAM,IAAIA,SAAS,KAAK,KAAK,EAAE;YAC9BA,SAAS,GAAG,KAAK,CAAC;UACpB;UACA,IAAI,KAAyC,EAAE,EAQ9C;UACD,IAAIuvC,SAAS,IAAI1xB,OAAO,EAAE;YACxBA,OAAO,CAAClT,KAAK,EAAE2kC,aAAa,CAAC;UAC/B,CAAC,MAAM;YACL37B,MAAM,CAAChJ,KAAK,EAAE2kC,aAAa,EAAEtvC,SAAS,CAAC;UACzC;UACA60B,SAAS,GAAG,IAAI;UAChB/W,GAAG,CAACmxB,UAAU,GAAGK,aAAa;UAC9BA,aAAa,CAACE,WAAW,GAAG1xB,GAAG;UAC/B,IAAI,KAAkE,EAAE,EAGvE;UACD,OAAO+S,0BAA0B,CAAClmB,KAAK,CAACO,SAAS,CAAC;QACpD,CAAC,MAAM,IAAI,KAAyC,EAAE,EAKrD;MACH,CAAC;MACDukC,SAASA,CAACC,SAAS,EAAE;QACnB,IAAI,KAA4E,EAAE,EAIjF;QACDX,gBAAgB,CAACj6C,IAAI,CAAC46C,SAAS,CAAC;MAClC,CAAC;MACDt9B,OAAOA,CAAA,EAAG;QACR,IAAIyiB,SAAS,EAAE;UACbx4B,0BAA0B,CACxB0yC,gBAAgB,EAChBjxB,GAAG,CAACpN,SAAS,EACb,EACF,CAAC;UACDiD,MAAM,CAAC,IAAI,EAAEmK,GAAG,CAACmxB,UAAU,CAAC;UAC5B,IAAI,KAAkE,EAAE,EAGvE;UACD,OAAOnxB,GAAG,CAACmxB,UAAU,CAACO,WAAW;QACnC,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;MACH,CAAC;MACD/D,OAAOA,CAAChlD,GAAG,EAAEjF,KAAK,EAAE;QAClB,IAAI,KAAoE,EAAE,EAIzE;QACDwG,OAAO,CAACkqB,QAAQ,CAACzrB,GAAG,CAAC,GAAGjF,KAAK;QAC7B,OAAOs8B,GAAG;MACZ,CAAC;MACD6xB,cAAcA,CAACr0C,EAAE,EAAE;QACjB,MAAMs0C,OAAO,GAAGC,UAAU;QAC1BA,UAAU,GAAG/xB,GAAG;QAChB,IAAI;UACF,OAAOxiB,EAAE,CAAC,CAAC;QACb,CAAC,SAAS;UACRu0C,UAAU,GAAGD,OAAO;QACtB;MACF;IACF,CAAC;IACD,OAAO9xB,GAAG;EACZ,CAAC;AACH;AACA,IAAI+xB,UAAU,GAAG,IAAI;AAErB,SAASpE,OAAOA,CAAChlD,GAAG,EAAEjF,KAAK,EAAE;EAC3B,IAAI,CAAC0/C,eAAe,EAAE;IACpB,IAAI,KAAyC,EAAE,EAE9C;EACH,CAAC,MAAM;IACL,IAAIhvB,QAAQ,GAAGgvB,eAAe,CAAChvB,QAAQ;IACvC,MAAM49B,cAAc,GAAG5O,eAAe,CAACzhC,MAAM,IAAIyhC,eAAe,CAACzhC,MAAM,CAACyS,QAAQ;IAChF,IAAI49B,cAAc,KAAK59B,QAAQ,EAAE;MAC/BA,QAAQ,GAAGgvB,eAAe,CAAChvB,QAAQ,GAAG/vB,MAAM,CAACsF,MAAM,CAACqoD,cAAc,CAAC;IACrE;IACA59B,QAAQ,CAACzrB,GAAG,CAAC,GAAGjF,KAAK;EACvB;AACF;AACA,SAASmqD,MAAMA,CAACllD,GAAG,EAAE66B,YAAY,EAAEyuB,qBAAqB,GAAG,KAAK,EAAE;EAChE,MAAMvmC,QAAQ,GAAG03B,eAAe,IAAIxR,wBAAwB;EAC5D,IAAIlmB,QAAQ,IAAIqmC,UAAU,EAAE;IAC1B,MAAM39B,QAAQ,GAAG29B,UAAU,GAAGA,UAAU,CAACX,QAAQ,CAACh9B,QAAQ,GAAG1I,QAAQ,GAAGA,QAAQ,CAAC/J,MAAM,IAAI,IAAI,GAAG+J,QAAQ,CAACmB,KAAK,CAAC6d,UAAU,IAAIhf,QAAQ,CAACmB,KAAK,CAAC6d,UAAU,CAACtW,QAAQ,GAAG1I,QAAQ,CAAC/J,MAAM,CAACyS,QAAQ,GAAG,KAAK,CAAC;IACrM,IAAIA,QAAQ,IAAIzrB,GAAG,IAAIyrB,QAAQ,EAAE;MAC/B,OAAOA,QAAQ,CAACzrB,GAAG,CAAC;IACtB,CAAC,MAAM,IAAIupD,SAAS,CAAC5tD,MAAM,GAAG,CAAC,EAAE;MAC/B,OAAO2tD,qBAAqB,IAAI5nD,kEAAU,CAACm5B,YAAY,CAAC,GAAGA,YAAY,CAACl5B,IAAI,CAACohB,QAAQ,IAAIA,QAAQ,CAAC7U,KAAK,CAAC,GAAG2sB,YAAY;IACzH,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;EACH,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;AACH;AACA,SAAS2uB,mBAAmBA,CAAA,EAAG;EAC7B,OAAO,CAAC,EAAE/O,eAAe,IAAIxR,wBAAwB,IAAImgB,UAAU,CAAC;AACtE;AAEA,MAAMK,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAMC,oBAAoB,GAAGA,CAAA,KAAMhuD,MAAM,CAACsF,MAAM,CAACyoD,mBAAmB,CAAC;AACrE,MAAME,gBAAgB,GAAItnD,GAAG,IAAK3G,MAAM,CAACkuD,cAAc,CAACvnD,GAAG,CAAC,KAAKonD,mBAAmB;AAEpF,SAASI,SAASA,CAAC9mC,QAAQ,EAAE5F,QAAQ,EAAE2sC,UAAU,EAAEC,KAAK,GAAG,KAAK,EAAE;EAChE,MAAMtwC,KAAK,GAAG,CAAC,CAAC;EAChB,MAAMsnC,KAAK,GAAG2I,oBAAoB,CAAC,CAAC;EACpC3mC,QAAQ,CAACinC,aAAa,GAAG,eAAgBtuD,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EAC5DipD,YAAY,CAAClnC,QAAQ,EAAE5F,QAAQ,EAAE1D,KAAK,EAAEsnC,KAAK,CAAC;EAC9C,KAAK,MAAM/gD,GAAG,IAAI+iB,QAAQ,CAACo/B,YAAY,CAAC,CAAC,CAAC,EAAE;IAC1C,IAAI,EAAEniD,GAAG,IAAIyZ,KAAK,CAAC,EAAE;MACnBA,KAAK,CAACzZ,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB;EACF;EACA,IAAI,KAAyC,EAAE,EAE9C;EACD,IAAI8pD,UAAU,EAAE;IACd/mC,QAAQ,CAACtJ,KAAK,GAAGswC,KAAK,GAAGtwC,KAAK,GAAGolB,2EAAe,CAACplB,KAAK,CAAC;EACzD,CAAC,MAAM;IACL,IAAI,CAACsJ,QAAQ,CAAC3oB,IAAI,CAACqf,KAAK,EAAE;MACxBsJ,QAAQ,CAACtJ,KAAK,GAAGsnC,KAAK;IACxB,CAAC,MAAM;MACLh+B,QAAQ,CAACtJ,KAAK,GAAGA,KAAK;IACxB;EACF;EACAsJ,QAAQ,CAACg+B,KAAK,GAAGA,KAAK;AACxB;AACA,SAASoJ,cAAcA,CAACpnC,QAAQ,EAAE;EAChC,OAAOA,QAAQ,EAAE;IACf,IAAIA,QAAQ,CAAC3oB,IAAI,CAAC6zB,OAAO,EAAE,OAAO,IAAI;IACtClL,QAAQ,GAAGA,QAAQ,CAAC/J,MAAM;EAC5B;AACF;AACA,SAASoxC,WAAWA,CAACrnC,QAAQ,EAAE5F,QAAQ,EAAEktC,YAAY,EAAEze,SAAS,EAAE;EAChE,MAAM;IACJnyB,KAAK;IACLsnC,KAAK;IACL78B,KAAK,EAAE;MAAEqtB;IAAU;EACrB,CAAC,GAAGxuB,QAAQ;EACZ,MAAMunC,eAAe,GAAGn0C,iEAAK,CAACsD,KAAK,CAAC;EACpC,MAAM,CAACpe,OAAO,CAAC,GAAG0nB,QAAQ,CAACo/B,YAAY;EACvC,IAAIoI,eAAe,GAAG,KAAK;EAC3B;EACE;EACA;EACA;EACA,KAAwE,KAAK3e,SAAS,IAAI2F,SAAS,GAAG,CAAC,CAAC,IAAI,EAAEA,SAAS,GAAG,EAAE,CAAC,EAC7H;IACA,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAMiZ,aAAa,GAAGznC,QAAQ,CAACmB,KAAK,CAACumC,YAAY;MACjD,KAAK,IAAIpwD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmwD,aAAa,CAAC7uD,MAAM,EAAEtB,CAAC,EAAE,EAAE;QAC7C,IAAI2F,GAAG,GAAGwqD,aAAa,CAACnwD,CAAC,CAAC;QAC1B,IAAIqwD,cAAc,CAAC3nC,QAAQ,CAAC4nC,YAAY,EAAE3qD,GAAG,CAAC,EAAE;UAC9C;QACF;QACA,MAAMjF,KAAK,GAAGoiB,QAAQ,CAACnd,GAAG,CAAC;QAC3B,IAAI3E,OAAO,EAAE;UACX,IAAIic,8DAAM,CAACypC,KAAK,EAAE/gD,GAAG,CAAC,EAAE;YACtB,IAAIjF,KAAK,KAAKgmD,KAAK,CAAC/gD,GAAG,CAAC,EAAE;cACxB+gD,KAAK,CAAC/gD,GAAG,CAAC,GAAGjF,KAAK;cAClBwvD,eAAe,GAAG,IAAI;YACxB;UACF,CAAC,MAAM;YACL,MAAMK,YAAY,GAAGj1C,gEAAQ,CAAC3V,GAAG,CAAC;YAClCyZ,KAAK,CAACmxC,YAAY,CAAC,GAAGC,gBAAgB,CACpCxvD,OAAO,EACPivD,eAAe,EACfM,YAAY,EACZ7vD,KAAK,EACLgoB,QAAQ,EACR,KACF,CAAC;UACH;QACF,CAAC,MAAM;UACL,IAAIhoB,KAAK,KAAKgmD,KAAK,CAAC/gD,GAAG,CAAC,EAAE;YACxB+gD,KAAK,CAAC/gD,GAAG,CAAC,GAAGjF,KAAK;YAClBwvD,eAAe,GAAG,IAAI;UACxB;QACF;MACF;IACF;EACF,CAAC,MAAM;IACL,IAAIN,YAAY,CAAClnC,QAAQ,EAAE5F,QAAQ,EAAE1D,KAAK,EAAEsnC,KAAK,CAAC,EAAE;MAClDwJ,eAAe,GAAG,IAAI;IACxB;IACA,IAAIO,QAAQ;IACZ,KAAK,MAAM9qD,GAAG,IAAIsqD,eAAe,EAAE;MACjC,IAAI,CAACntC,QAAQ;MAAI;MACjB,CAAC7F,8DAAM,CAAC6F,QAAQ,EAAEnd,GAAG,CAAC;MAAI;MAC1B;MACC,CAAC8qD,QAAQ,GAAGh0C,iEAAS,CAAC9W,GAAG,CAAC,MAAMA,GAAG,IAAI,CAACsX,8DAAM,CAAC6F,QAAQ,EAAE2tC,QAAQ,CAAC,CAAC,EAAE;QACpE,IAAIzvD,OAAO,EAAE;UACX,IAAIgvD,YAAY;UAAI;UACnBA,YAAY,CAACrqD,GAAG,CAAC,KAAK,KAAK,CAAC;UAAI;UACjCqqD,YAAY,CAACS,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;YAClCrxC,KAAK,CAACzZ,GAAG,CAAC,GAAG6qD,gBAAgB,CAC3BxvD,OAAO,EACPivD,eAAe,EACftqD,GAAG,EACH,KAAK,CAAC,EACN+iB,QAAQ,EACR,IACF,CAAC;UACH;QACF,CAAC,MAAM;UACL,OAAOtJ,KAAK,CAACzZ,GAAG,CAAC;QACnB;MACF;IACF;IACA,IAAI+gD,KAAK,KAAKuJ,eAAe,EAAE;MAC7B,KAAK,MAAMtqD,GAAG,IAAI+gD,KAAK,EAAE;QACvB,IAAI,CAAC5jC,QAAQ,IAAI,CAAC7F,8DAAM,CAAC6F,QAAQ,EAAEnd,GAAG,CAAC,IAAI,IAAI,EAAE;UAC/C,OAAO+gD,KAAK,CAAC/gD,GAAG,CAAC;UACjBuqD,eAAe,GAAG,IAAI;QACxB;MACF;IACF;EACF;EACA,IAAIA,eAAe,EAAE;IACnBzrB,mEAAO,CAAC/b,QAAQ,CAACg+B,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;EACpC;EACA,IAAI,KAAyC,EAAE,EAE9C;AACH;AACA,SAASkJ,YAAYA,CAAClnC,QAAQ,EAAE5F,QAAQ,EAAE1D,KAAK,EAAEsnC,KAAK,EAAE;EACtD,MAAM,CAAC1lD,OAAO,EAAE0vD,YAAY,CAAC,GAAGhoC,QAAQ,CAACo/B,YAAY;EACrD,IAAIoI,eAAe,GAAG,KAAK;EAC3B,IAAIS,aAAa;EACjB,IAAI7tC,QAAQ,EAAE;IACZ,KAAK,IAAInd,GAAG,IAAImd,QAAQ,EAAE;MACxB,IAAIojB,sEAAc,CAACvgC,GAAG,CAAC,EAAE;QACvB;MACF;MACA,MAAMjF,KAAK,GAAGoiB,QAAQ,CAACnd,GAAG,CAAC;MAC3B,IAAI+sB,QAAQ;MACZ,IAAI1xB,OAAO,IAAIic,8DAAM,CAACjc,OAAO,EAAE0xB,QAAQ,GAAGpX,gEAAQ,CAAC3V,GAAG,CAAC,CAAC,EAAE;QACxD,IAAI,CAAC+qD,YAAY,IAAI,CAACA,YAAY,CAACrkC,QAAQ,CAACqG,QAAQ,CAAC,EAAE;UACrDtT,KAAK,CAACsT,QAAQ,CAAC,GAAGhyB,KAAK;QACzB,CAAC,MAAM;UACL,CAACiwD,aAAa,KAAKA,aAAa,GAAG,CAAC,CAAC,CAAC,EAAEj+B,QAAQ,CAAC,GAAGhyB,KAAK;QAC3D;MACF,CAAC,MAAM,IAAI,CAAC2vD,cAAc,CAAC3nC,QAAQ,CAAC4nC,YAAY,EAAE3qD,GAAG,CAAC,EAAE;QACtD,IAAI,EAAEA,GAAG,IAAI+gD,KAAK,CAAC,IAAIhmD,KAAK,KAAKgmD,KAAK,CAAC/gD,GAAG,CAAC,EAAE;UAC3C+gD,KAAK,CAAC/gD,GAAG,CAAC,GAAGjF,KAAK;UAClBwvD,eAAe,GAAG,IAAI;QACxB;MACF;IACF;EACF;EACA,IAAIQ,YAAY,EAAE;IAChB,MAAMT,eAAe,GAAGn0C,iEAAK,CAACsD,KAAK,CAAC;IACpC,MAAMwxC,UAAU,GAAGD,aAAa,IAAIzzC,6DAAS;IAC7C,KAAK,IAAIld,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0wD,YAAY,CAACpvD,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAC5C,MAAM2F,GAAG,GAAG+qD,YAAY,CAAC1wD,CAAC,CAAC;MAC3Bof,KAAK,CAACzZ,GAAG,CAAC,GAAG6qD,gBAAgB,CAC3BxvD,OAAO,EACPivD,eAAe,EACftqD,GAAG,EACHirD,UAAU,CAACjrD,GAAG,CAAC,EACf+iB,QAAQ,EACR,CAACzL,8DAAM,CAAC2zC,UAAU,EAAEjrD,GAAG,CACzB,CAAC;IACH;EACF;EACA,OAAOuqD,eAAe;AACxB;AACA,SAASM,gBAAgBA,CAACxvD,OAAO,EAAEoe,KAAK,EAAEzZ,GAAG,EAAEjF,KAAK,EAAEgoB,QAAQ,EAAEmoC,QAAQ,EAAE;EACxE,MAAMrwD,GAAG,GAAGQ,OAAO,CAAC2E,GAAG,CAAC;EACxB,IAAInF,GAAG,IAAI,IAAI,EAAE;IACf,MAAMswD,UAAU,GAAG7zC,8DAAM,CAACzc,GAAG,EAAE,SAAS,CAAC;IACzC,IAAIswD,UAAU,IAAIpwD,KAAK,KAAK,KAAK,CAAC,EAAE;MAClC,MAAM8/B,YAAY,GAAGhgC,GAAG,CAAC+gB,OAAO;MAChC,IAAI/gB,GAAG,CAACT,IAAI,KAAKs0C,QAAQ,IAAI,CAAC7zC,GAAG,CAACmpD,WAAW,IAAItiD,kEAAU,CAACm5B,YAAY,CAAC,EAAE;QACzE,MAAM;UAAEmvB;QAAc,CAAC,GAAGjnC,QAAQ;QAClC,IAAI/iB,GAAG,IAAIgqD,aAAa,EAAE;UACxBjvD,KAAK,GAAGivD,aAAa,CAAChqD,GAAG,CAAC;QAC5B,CAAC,MAAM;UACL,MAAMw9C,KAAK,GAAGC,kBAAkB,CAAC16B,QAAQ,CAAC;UAC1ChoB,KAAK,GAAGivD,aAAa,CAAChqD,GAAG,CAAC,GAAG66B,YAAY,CAACl5B,IAAI,CAC5C,IAAI,EACJ8X,KACF,CAAC;UACD+jC,KAAK,CAAC,CAAC;QACT;MACF,CAAC,MAAM;QACLziD,KAAK,GAAG8/B,YAAY;MACtB;MACA,IAAI9X,QAAQ,CAACU,EAAE,EAAE;QACfV,QAAQ,CAACU,EAAE,CAACmJ,QAAQ,CAAC5sB,GAAG,EAAEjF,KAAK,CAAC;MAClC;IACF;IACA,IAAIF,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE;MAC3B,IAAIqwD,QAAQ,IAAI,CAACC,UAAU,EAAE;QAC3BpwD,KAAK,GAAG,KAAK;MACf,CAAC,MAAM,IAAIF,GAAG,CAAC,CAAC,CAAC,qBAAqB,KAAKE,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK+b,iEAAS,CAAC9W,GAAG,CAAC,CAAC,EAAE;QACpFjF,KAAK,GAAG,IAAI;MACd;IACF;EACF;EACA,OAAOA,KAAK;AACd;AACA,MAAMqwD,eAAe,GAAG,eAAgB,IAAIz7B,OAAO,CAAC,CAAC;AACrD,SAAS07B,qBAAqBA,CAACr8B,IAAI,EAAE+S,UAAU,EAAEolB,OAAO,GAAG,KAAK,EAAE;EAChE,MAAMjxB,KAAK,GAAGqrB,KAAmB,IAAI4F,OAAO,GAAGiE,eAAe,GAAGrpB,UAAU,CAACwF,UAAU;EACtF,MAAMvhB,MAAM,GAAGkQ,KAAK,CAACpyB,GAAG,CAACkrB,IAAI,CAAC;EAC9B,IAAIhJ,MAAM,EAAE;IACV,OAAOA,MAAM;EACf;EACA,MAAMgV,GAAG,GAAGhM,IAAI,CAACvV,KAAK;EACtB,MAAMhV,UAAU,GAAG,CAAC,CAAC;EACrB,MAAMsmD,YAAY,GAAG,EAAE;EACvB,IAAIO,UAAU,GAAG,KAAK;EACtB,IAAI/J,KAAmB,IAAI,CAAC7/C,kEAAU,CAACstB,IAAI,CAAC,EAAE;IAC5C,MAAMu8B,WAAW,GAAIC,IAAI,IAAK;MAC5BF,UAAU,GAAG,IAAI;MACjB,MAAM,CAAC7xC,KAAK,EAAEhe,IAAI,CAAC,GAAG4vD,qBAAqB,CAACG,IAAI,EAAEzpB,UAAU,EAAE,IAAI,CAAC;MACnEprB,8DAAM,CAAClS,UAAU,EAAEgV,KAAK,CAAC;MACzB,IAAIhe,IAAI,EAAEsvD,YAAY,CAAC18C,IAAI,CAAC,GAAG5S,IAAI,CAAC;IACtC,CAAC;IACD,IAAI,CAAC0rD,OAAO,IAAIplB,UAAU,CAAC4kB,MAAM,CAAChrD,MAAM,EAAE;MACxComC,UAAU,CAAC4kB,MAAM,CAACxsD,OAAO,CAACoxD,WAAW,CAAC;IACxC;IACA,IAAIv8B,IAAI,CAAC43B,OAAO,EAAE;MAChB2E,WAAW,CAACv8B,IAAI,CAAC43B,OAAO,CAAC;IAC3B;IACA,IAAI53B,IAAI,CAAC23B,MAAM,EAAE;MACf33B,IAAI,CAAC23B,MAAM,CAACxsD,OAAO,CAACoxD,WAAW,CAAC;IAClC;EACF;EACA,IAAI,CAACvwB,GAAG,IAAI,CAACswB,UAAU,EAAE;IACvB,IAAI1/C,gEAAQ,CAACojB,IAAI,CAAC,EAAE;MAClBkH,KAAK,CAACjzB,GAAG,CAAC+rB,IAAI,EAAEmS,6DAAS,CAAC;IAC5B;IACA,OAAOA,6DAAS;EAClB;EACA,IAAIxgC,+DAAO,CAACq6B,GAAG,CAAC,EAAE;IAChB,KAAK,IAAI3gC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2gC,GAAG,CAACr/B,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACnC,IAAI,KAA8D,EAAE,EAEnE;MACD,MAAMoxD,aAAa,GAAG91C,gEAAQ,CAACqlB,GAAG,CAAC3gC,CAAC,CAAC,CAAC;MACtC,IAAIqxD,gBAAgB,CAACD,aAAa,CAAC,EAAE;QACnChnD,UAAU,CAACgnD,aAAa,CAAC,GAAGl0C,6DAAS;MACvC;IACF;EACF,CAAC,MAAM,IAAIyjB,GAAG,EAAE;IACd,IAAI,KAA2D,EAAE,EAEhE;IACD,KAAK,MAAMh7B,GAAG,IAAIg7B,GAAG,EAAE;MACrB,MAAMywB,aAAa,GAAG91C,gEAAQ,CAAC3V,GAAG,CAAC;MACnC,IAAI0rD,gBAAgB,CAACD,aAAa,CAAC,EAAE;QACnC,MAAM5wD,GAAG,GAAGmgC,GAAG,CAACh7B,GAAG,CAAC;QACpB,MAAMgH,IAAI,GAAGvC,UAAU,CAACgnD,aAAa,CAAC,GAAG9qD,+DAAO,CAAC9F,GAAG,CAAC,IAAI6G,kEAAU,CAAC7G,GAAG,CAAC,GAAG;UAAET,IAAI,EAAES;QAAI,CAAC,GAAG8b,8DAAM,CAAC,CAAC,CAAC,EAAE9b,GAAG,CAAC;QAC1G,MAAM8wD,QAAQ,GAAG3kD,IAAI,CAAC5M,IAAI;QAC1B,IAAIwxD,UAAU,GAAG,KAAK;QACtB,IAAIC,cAAc,GAAG,IAAI;QACzB,IAAIlrD,+DAAO,CAACgrD,QAAQ,CAAC,EAAE;UACrB,KAAK,IAAIrgD,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGqgD,QAAQ,CAAChwD,MAAM,EAAE,EAAE2P,KAAK,EAAE;YACpD,MAAMlR,IAAI,GAAGuxD,QAAQ,CAACrgD,KAAK,CAAC;YAC5B,MAAMwgD,QAAQ,GAAGpqD,kEAAU,CAACtH,IAAI,CAAC,IAAIA,IAAI,CAACyQ,IAAI;YAC9C,IAAIihD,QAAQ,KAAK,SAAS,EAAE;cAC1BF,UAAU,GAAG,IAAI;cACjB;YACF,CAAC,MAAM,IAAIE,QAAQ,KAAK,QAAQ,EAAE;cAChCD,cAAc,GAAG,KAAK;YACxB;UACF;QACF,CAAC,MAAM;UACLD,UAAU,GAAGlqD,kEAAU,CAACiqD,QAAQ,CAAC,IAAIA,QAAQ,CAAC9gD,IAAI,KAAK,SAAS;QAClE;QACA7D,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG4kD,UAAU;QACrC5kD,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG6kD,cAAc;QAC7C,IAAID,UAAU,IAAIt0C,8DAAM,CAACtQ,IAAI,EAAE,SAAS,CAAC,EAAE;UACzC+jD,YAAY,CAAC18C,IAAI,CAACo9C,aAAa,CAAC;QAClC;MACF;IACF;EACF;EACA,MAAMxsC,GAAG,GAAG,CAACxa,UAAU,EAAEsmD,YAAY,CAAC;EACtC,IAAIn/C,gEAAQ,CAACojB,IAAI,CAAC,EAAE;IAClBkH,KAAK,CAACjzB,GAAG,CAAC+rB,IAAI,EAAE/P,GAAG,CAAC;EACtB;EACA,OAAOA,GAAG;AACZ;AACA,SAASysC,gBAAgBA,CAAC1rD,GAAG,EAAE;EAC7B,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAACugC,sEAAc,CAACvgC,GAAG,CAAC,EAAE;IAC1C,OAAO,IAAI;EACb,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;EACD,OAAO,KAAK;AACd;AACA,SAAS+rD,OAAOA,CAACC,IAAI,EAAE;EACrB,IAAIA,IAAI,KAAK,IAAI,EAAE;IACjB,OAAO,MAAM;EACf;EACA,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAC9B,OAAOA,IAAI,CAACnhD,IAAI,IAAI,EAAE;EACxB,CAAC,MAAM,IAAI,OAAOmhD,IAAI,KAAK,QAAQ,EAAE;IACnC,MAAMnhD,IAAI,GAAGmhD,IAAI,CAACjpD,WAAW,IAAIipD,IAAI,CAACjpD,WAAW,CAAC8H,IAAI;IACtD,OAAOA,IAAI,IAAI,EAAE;EACnB;EACA,OAAO,EAAE;AACX;AACA,SAASq/C,aAAaA,CAAC/sC,QAAQ,EAAE1D,KAAK,EAAEsJ,QAAQ,EAAE;EAChD,MAAMkpC,cAAc,GAAG91C,KAAK,CAACsD,KAAK,CAAC;EACnC,MAAMpe,OAAO,GAAG0nB,QAAQ,CAACo/B,YAAY,CAAC,CAAC,CAAC;EACxC,MAAM+J,gBAAgB,GAAGxwD,MAAM,CAACD,IAAI,CAAC0hB,QAAQ,CAAC,CAACvc,GAAG,CAAEZ,GAAG,IAAK2V,QAAQ,CAAC3V,GAAG,CAAC,CAAC;EAC1E,KAAK,MAAMA,GAAG,IAAI3E,OAAO,EAAE;IACzB,IAAIR,GAAG,GAAGQ,OAAO,CAAC2E,GAAG,CAAC;IACtB,IAAInF,GAAG,IAAI,IAAI,EAAE;IACjBsxD,YAAY,CACVnsD,GAAG,EACHisD,cAAc,CAACjsD,GAAG,CAAC,EACnBnF,GAAG,EACH,MAAyC,GAAG6jC,CAA+B,GAAGutB,cAAc,EAC5F,CAACC,gBAAgB,CAACxlC,QAAQ,CAAC1mB,GAAG,CAChC,CAAC;EACH;AACF;AACA,SAASmsD,YAAYA,CAACthD,IAAI,EAAE9P,KAAK,EAAEiM,IAAI,EAAEyS,KAAK,EAAEyxC,QAAQ,EAAE;EACxD,MAAM;IAAE9wD,IAAI;IAAEgyD,QAAQ;IAAE9xD,SAAS;IAAE+xD;EAAU,CAAC,GAAGrlD,IAAI;EACrD,IAAIolD,QAAQ,IAAIlB,QAAQ,EAAE;IACxBrpB,MAAM,CAAC,0BAA0B,GAAGh3B,IAAI,GAAG,GAAG,CAAC;IAC/C;EACF;EACA,IAAI9P,KAAK,IAAI,IAAI,IAAI,CAACqxD,QAAQ,EAAE;IAC9B;EACF;EACA,IAAIhyD,IAAI,IAAI,IAAI,IAAIA,IAAI,KAAK,IAAI,IAAI,CAACiyD,SAAS,EAAE;IAC/C,IAAIC,OAAO,GAAG,KAAK;IACnB,MAAMC,KAAK,GAAG5rD,OAAO,CAACvG,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;IAC3C,MAAMoyD,aAAa,GAAG,EAAE;IACxB,KAAK,IAAInyD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkyD,KAAK,CAAC5wD,MAAM,IAAI,CAAC2wD,OAAO,EAAEjyD,CAAC,EAAE,EAAE;MACjD,MAAM;QAAEoyD,KAAK;QAAE7sC;MAAa,CAAC,GAAG8sC,UAAU,CAAC3xD,KAAK,EAAEwxD,KAAK,CAAClyD,CAAC,CAAC,CAAC;MAC3DmyD,aAAa,CAACn+C,IAAI,CAACuR,YAAY,IAAI,EAAE,CAAC;MACtC0sC,OAAO,GAAGG,KAAK;IACjB;IACA,IAAI,CAACH,OAAO,EAAE;MACZzqB,MAAM,CAAC8qB,qBAAqB,CAAC9hD,IAAI,EAAE9P,KAAK,EAAEyxD,aAAa,CAAC,CAAC;MACzD;IACF;EACF;EACA,IAAIlyD,SAAS,IAAI,CAACA,SAAS,CAACS,KAAK,EAAE0e,KAAK,CAAC,EAAE;IACzCooB,MAAM,CAAC,wDAAwD,GAAGh3B,IAAI,GAAG,IAAI,CAAC;EAChF;AACF;AACA,MAAM+hD,YAAY,GAAG,eAAgBvrB,gDAAAA,OAAO,CAC1C,8CACF,CAAC;AACD,SAASqrB,UAAUA,CAAC3xD,KAAK,EAAEX,IAAI,EAAE;EAC/B,IAAIqyD,KAAK;EACT,MAAM7sC,YAAY,GAAGmsC,OAAO,CAAC3xD,IAAI,CAAC;EAClC,IAAIwlB,YAAY,KAAK,MAAM,EAAE;IAC3B6sC,KAAK,GAAG1xD,KAAK,KAAK,IAAI;EACxB,CAAC,MAAM,IAAI6xD,YAAY,CAAChtC,YAAY,CAAC,EAAE;IACrC,MAAMnD,CAAC,GAAG,OAAO1hB,KAAK;IACtB0xD,KAAK,GAAGhwC,CAAC,KAAKmD,YAAY,CAACnf,WAAW,CAAC,CAAC;IACxC,IAAI,CAACgsD,KAAK,IAAIhwC,CAAC,KAAK,QAAQ,EAAE;MAC5BgwC,KAAK,GAAG1xD,KAAK,YAAYX,IAAI;IAC/B;EACF,CAAC,MAAM,IAAIwlB,YAAY,KAAK,QAAQ,EAAE;IACpC6sC,KAAK,GAAG7gD,QAAQ,CAAC7Q,KAAK,CAAC;EACzB,CAAC,MAAM,IAAI6kB,YAAY,KAAK,OAAO,EAAE;IACnC6sC,KAAK,GAAG9rD,OAAO,CAAC5F,KAAK,CAAC;EACxB,CAAC,MAAM;IACL0xD,KAAK,GAAG1xD,KAAK,YAAYX,IAAI;EAC/B;EACA,OAAO;IACLqyD,KAAK;IACL7sC;EACF,CAAC;AACH;AACA,SAAS+sC,qBAAqBA,CAAC9hD,IAAI,EAAE9P,KAAK,EAAEyxD,aAAa,EAAE;EACzD,IAAIA,aAAa,CAAC7wD,MAAM,KAAK,CAAC,EAAE;IAC9B,OAAO,0BAA0BkP,IAAI,iEAAiE;EACxG;EACA,IAAIlQ,OAAO,GAAG,6CAA6CkQ,IAAI,eAAe2hD,aAAa,CAAC5rD,GAAG,CAACmW,UAAU,CAAC,CAACjS,IAAI,CAAC,KAAK,CAAC,EAAE;EACzH,MAAM8a,YAAY,GAAG4sC,aAAa,CAAC,CAAC,CAAC;EACrC,MAAMK,YAAY,GAAGzrB,SAAS,CAACrmC,KAAK,CAAC;EACrC,MAAM+xD,aAAa,GAAGC,UAAU,CAAChyD,KAAK,EAAE6kB,YAAY,CAAC;EACrD,MAAMotC,aAAa,GAAGD,UAAU,CAAChyD,KAAK,EAAE8xD,YAAY,CAAC;EACrD,IAAIL,aAAa,CAAC7wD,MAAM,KAAK,CAAC,IAAIsxD,YAAY,CAACrtC,YAAY,CAAC,IAAI,CAACuG,SAAS,CAACvG,YAAY,EAAEitC,YAAY,CAAC,EAAE;IACtGlyD,OAAO,IAAI,eAAemyD,aAAa,EAAE;EAC3C;EACAnyD,OAAO,IAAI,SAASkyD,YAAY,GAAG;EACnC,IAAII,YAAY,CAACJ,YAAY,CAAC,EAAE;IAC9BlyD,OAAO,IAAI,cAAcqyD,aAAa,GAAG;EAC3C;EACA,OAAOryD,OAAO;AAChB;AACA,SAASoyD,UAAUA,CAAChyD,KAAK,EAAEX,IAAI,EAAE;EAC/B,IAAIA,IAAI,KAAK,QAAQ,EAAE;IACrB,OAAO,IAAIW,KAAK,GAAG;EACrB,CAAC,MAAM,IAAIX,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAO,GAAGoR,MAAM,CAACzQ,KAAK,CAAC,EAAE;EAC3B,CAAC,MAAM;IACL,OAAO,GAAGA,KAAK,EAAE;EACnB;AACF;AACA,SAASkyD,YAAYA,CAAC7yD,IAAI,EAAE;EAC1B,MAAM8yD,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;EACrD,OAAOA,aAAa,CAAChwC,IAAI,CAAEiwC,IAAI,IAAK/yD,IAAI,CAACqG,WAAW,CAAC,CAAC,KAAK0sD,IAAI,CAAC;AAClE;AACA,SAAShnC,SAASA,CAAC,GAAGpJ,IAAI,EAAE;EAC1B,OAAOA,IAAI,CAACG,IAAI,CAAEiwC,IAAI,IAAKA,IAAI,CAAC1sD,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC;AAC9D;AAEA,MAAM2sD,aAAa,GAAIptD,GAAG,IAAKA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,GAAG,KAAK,SAAS;AAClE,MAAMqtD,kBAAkB,GAAItyD,KAAK,IAAK4F,+DAAO,CAAC5F,KAAK,CAAC,GAAGA,KAAK,CAAC6F,GAAG,CAACi1C,cAAc,CAAC,GAAG,CAACA,cAAc,CAAC96C,KAAK,CAAC,CAAC;AAC1G,MAAMuyD,aAAa,GAAGA,CAACttD,GAAG,EAAEutD,OAAO,EAAE9jB,GAAG,KAAK;EAC3C,IAAI8jB,OAAO,CAAC5jB,EAAE,EAAE;IACd,OAAO4jB,OAAO;EAChB;EACA,MAAM9oD,UAAU,GAAG+kC,OAAO,CAAC,CAAC,GAAGzsB,IAAI,KAAK;IACtC,IAAI,KAA2G,EAAE,EAIhH;IACD,OAAOswC,kBAAkB,CAACE,OAAO,CAAC,GAAGxwC,IAAI,CAAC,CAAC;EAC7C,CAAC,EAAE0sB,GAAG,CAAC;EACPhlC,UAAU,CAACulC,EAAE,GAAG,KAAK;EACrB,OAAOvlC,UAAU;AACnB,CAAC;AACD,MAAM+oD,oBAAoB,GAAGA,CAACC,QAAQ,EAAE7wC,KAAK,EAAEmG,QAAQ,KAAK;EAC1D,MAAM0mB,GAAG,GAAGgkB,QAAQ,CAACC,IAAI;EACzB,KAAK,MAAM1tD,GAAG,IAAIytD,QAAQ,EAAE;IAC1B,IAAIL,aAAa,CAACptD,GAAG,CAAC,EAAE;IACxB,MAAMjF,KAAK,GAAG0yD,QAAQ,CAACztD,GAAG,CAAC;IAC3B,IAAI0B,kEAAU,CAAC3G,KAAK,CAAC,EAAE;MACrB6hB,KAAK,CAAC5c,GAAG,CAAC,GAAGstD,aAAa,CAACttD,GAAG,EAAEjF,KAAK,EAAE0uC,GAAG,CAAC;IAC7C,CAAC,MAAM,IAAI1uC,KAAK,IAAI,IAAI,EAAE;MACxB,IAAI,KAAiD,EAAE,EAItD;MACD,MAAM0J,UAAU,GAAG4oD,kBAAkB,CAACtyD,KAAK,CAAC;MAC5C6hB,KAAK,CAAC5c,GAAG,CAAC,GAAG,MAAMyE,UAAU;IAC/B;EACF;AACF,CAAC;AACD,MAAMkpD,mBAAmB,GAAGA,CAAC5qC,QAAQ,EAAE2B,QAAQ,KAAK;EAClD,IAAI,KAAiF,EAAE,EAItF;EACD,MAAMjgB,UAAU,GAAG4oD,kBAAkB,CAAC3oC,QAAQ,CAAC;EAC/C3B,QAAQ,CAACnG,KAAK,CAAChB,OAAO,GAAG,MAAMnX,UAAU;AAC3C,CAAC;AACD,MAAMmpD,WAAW,GAAGA,CAAChxC,KAAK,EAAE8H,QAAQ,EAAEknB,SAAS,KAAK;EAClD,KAAK,MAAM5rC,GAAG,IAAI0kB,QAAQ,EAAE;IAC1B,IAAIknB,SAAS,IAAI5rC,GAAG,KAAK,GAAG,EAAE;MAC5B4c,KAAK,CAAC5c,GAAG,CAAC,GAAG0kB,QAAQ,CAAC1kB,GAAG,CAAC;IAC5B;EACF;AACF,CAAC;AACD,MAAM6tD,SAAS,GAAGA,CAAC9qC,QAAQ,EAAE2B,QAAQ,EAAEknB,SAAS,KAAK;EACnD,MAAMhvB,KAAK,GAAGmG,QAAQ,CAACnG,KAAK,GAAG8sC,oBAAoB,CAAC,CAAC;EACrD,IAAI3mC,QAAQ,CAACmB,KAAK,CAACC,SAAS,GAAG,EAAE,EAAE;IACjC,MAAM/pB,IAAI,GAAGsqB,QAAQ,CAACkO,CAAC;IACvB,IAAIx4B,IAAI,EAAE;MACRwzD,WAAW,CAAChxC,KAAK,EAAE8H,QAAQ,EAAEknB,SAAS,CAAC;MACvC,IAAIA,SAAS,EAAE;QACbniB,2DAAG,CAAC7M,KAAK,EAAE,GAAG,EAAExiB,IAAI,EAAE,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLozD,oBAAoB,CAAC9oC,QAAQ,EAAE9H,KAAK,CAAC;IACvC;EACF,CAAC,MAAM,IAAI8H,QAAQ,EAAE;IACnBipC,mBAAmB,CAAC5qC,QAAQ,EAAE2B,QAAQ,CAAC;EACzC;AACF,CAAC;AACD,MAAMopC,WAAW,GAAGA,CAAC/qC,QAAQ,EAAE2B,QAAQ,EAAEknB,SAAS,KAAK;EACrD,MAAM;IAAE1nB,KAAK;IAAEtH;EAAM,CAAC,GAAGmG,QAAQ;EACjC,IAAIgrC,iBAAiB,GAAG,IAAI;EAC5B,IAAIC,wBAAwB,GAAGz2C,6DAAS;EACxC,IAAI2M,KAAK,CAACC,SAAS,GAAG,EAAE,EAAE;IACxB,MAAM/pB,IAAI,GAAGsqB,QAAQ,CAACkO,CAAC;IACvB,IAAIx4B,IAAI,EAAE;MACR,IAAI,KAA0D,EAAE,EAG/D,MAAM,IAAIwxC,SAAS,IAAIxxC,IAAI,KAAK,CAAC,EAAE;QAClC2zD,iBAAiB,GAAG,KAAK;MAC3B,CAAC,MAAM;QACLH,WAAW,CAAChxC,KAAK,EAAE8H,QAAQ,EAAEknB,SAAS,CAAC;MACzC;IACF,CAAC,MAAM;MACLmiB,iBAAiB,GAAG,CAACrpC,QAAQ,CAACupC,OAAO;MACrCT,oBAAoB,CAAC9oC,QAAQ,EAAE9H,KAAK,CAAC;IACvC;IACAoxC,wBAAwB,GAAGtpC,QAAQ;EACrC,CAAC,MAAM,IAAIA,QAAQ,EAAE;IACnBipC,mBAAmB,CAAC5qC,QAAQ,EAAE2B,QAAQ,CAAC;IACvCspC,wBAAwB,GAAG;MAAEpyC,OAAO,EAAE;IAAE,CAAC;EAC3C;EACA,IAAImyC,iBAAiB,EAAE;IACrB,KAAK,MAAM/tD,GAAG,IAAI4c,KAAK,EAAE;MACvB,IAAI,CAACwwC,aAAa,CAACptD,GAAG,CAAC,IAAIguD,wBAAwB,CAAChuD,GAAG,CAAC,IAAI,IAAI,EAAE;QAChE,OAAO4c,KAAK,CAAC5c,GAAG,CAAC;MACnB;IACF;EACF;AACF,CAAC;AAED,IAAI04B,SAAS;AACb,IAAIC,IAAI;AACR,SAASu1B,YAAYA,CAACnrC,QAAQ,EAAE3oB,IAAI,EAAE;EACpC,IAAI2oB,QAAQ,CAACgf,UAAU,CAAC37B,MAAM,CAAC0yB,WAAW,IAAIq1B,WAAW,CAAC,CAAC,EAAE;IAC3Dx1B,IAAI,CAACy1B,IAAI,CAAC,OAAOh0D,IAAI,IAAI2oB,QAAQ,CAACM,GAAG,EAAE,CAAC;EAC1C;EACA,IAAI,KAAkE,EAAE,EAEvE;AACH;AACA,SAASgrC,UAAUA,CAACtrC,QAAQ,EAAE3oB,IAAI,EAAE;EAClC,IAAI2oB,QAAQ,CAACgf,UAAU,CAAC37B,MAAM,CAAC0yB,WAAW,IAAIq1B,WAAW,CAAC,CAAC,EAAE;IAC3D,MAAMG,QAAQ,GAAG,OAAOl0D,IAAI,IAAI2oB,QAAQ,CAACM,GAAG,EAAE;IAC9C,MAAMkrC,MAAM,GAAGD,QAAQ,GAAG,MAAM;IAChC31B,IAAI,CAACy1B,IAAI,CAACG,MAAM,CAAC;IACjB51B,IAAI,CAAC61B,OAAO,CACV,IAAInsB,mBAAmB,CAACtf,QAAQ,EAAEA,QAAQ,CAAC3oB,IAAI,CAAC,KAAKA,IAAI,EAAE,EAC3Dk0D,QAAQ,EACRC,MACF,CAAC;IACD51B,IAAI,CAAC81B,UAAU,CAACH,QAAQ,CAAC;IACzB31B,IAAI,CAAC81B,UAAU,CAACF,MAAM,CAAC;EACzB;EACA,IAAI,KAAkE,EAAE,EAEvE;AACH;AACA,SAASJ,WAAWA,CAAA,EAAG;EACrB,IAAIz1B,SAAS,KAAK,KAAK,CAAC,EAAE;IACxB,OAAOA,SAAS;EAClB;EACA,IAAI,OAAOpuB,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACwuB,WAAW,EAAE;IACvDJ,SAAS,GAAG,IAAI;IAChBC,IAAI,GAAGruB,MAAM,CAACwuB,WAAW;EAC3B,CAAC,MAAM;IACLJ,SAAS,GAAG,KAAK;EACnB;EACA,OAAOA,SAAS;AAClB;AAEA,SAASg2B,gBAAgBA,CAAA,EAAG;EAC1B,MAAMC,QAAQ,GAAG,EAAE;EACnB,IAAI,KAAwC,EAAE,EAG7C;EACD,IAAI,KAA0C,EAAE,EAG/C;EACD,IAAI,OAAO5a,uCAAuC,KAAK,SAAS,EAAE;IAChE,MAAyC,IAAI4a,CAAwD;IACrGtuB,qEAAa,CAAC,CAAC,CAAC0T,uCAAuC,GAAG,KAAK;EACjE;EACA,IAAI,KAA4D,EAAE,EAOjE;AACH;AAEA,MAAMnH,qBAAqB,GAAG+I,uBAAuB;AACrD,SAASl/B,cAAcA,CAACpb,OAAO,EAAE;EAC/B,OAAOwzD,kBAAkB,CAACxzD,OAAO,CAAC;AACpC;AACA,SAASqb,uBAAuBA,CAACrb,OAAO,EAAE;EACxC,OAAOwzD,kBAAkB,CAACxzD,OAAO,EAAEo4C,wBAAwB,CAAC;AAC9D;AACA,SAASob,kBAAkBA,CAACxzD,OAAO,EAAEyzD,kBAAkB,EAAE;EACvD;IACEJ,gBAAgB,CAAC,CAAC;EACpB;EACA,MAAMrpD,MAAM,GAAGg7B,qEAAa,CAAC,CAAC;EAC9Bh7B,MAAM,CAAC0pD,OAAO,GAAG,IAAI;EACrB,IAAI,KAAkE,EAAE,EAEvE;EACD,MAAM;IACJj2C,MAAM,EAAEm2C,UAAU;IAClB91C,MAAM,EAAEm0B,UAAU;IAClB1kB,SAAS,EAAEsmC,aAAa;IACxBzlD,aAAa,EAAE0lD,iBAAiB;IAChCt1C,UAAU,EAAEu1C,cAAc;IAC1Bp1C,aAAa,EAAEq1C,iBAAiB;IAChCp1C,OAAO,EAAEq1C,WAAW;IACpBl1C,cAAc,EAAEm1C,kBAAkB;IAClCn2C,UAAU,EAAEo2C,cAAc;IAC1Bl1C,WAAW,EAAEm1C,eAAe;IAC5Bh1C,UAAU,EAAEi1C,cAAc,GAAG74C,wDAAI;IACjC6D,mBAAmB,EAAEi1C;EACvB,CAAC,GAAGt0D,OAAO;EACX,MAAMw4C,KAAK,GAAGA,CAACrI,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,GAAG,IAAI,EAAEsN,eAAe,GAAG,IAAI,EAAEmlB,cAAc,GAAG,IAAI,EAAEnyB,SAAS,GAAG,KAAK,CAAC,EAAEoyB,YAAY,GAAG,IAAI,EAAEC,SAAS,GAAG,MAA0D,GAAG,CAAK,GAAG,CAAC,CAACH,EAAE,CAACU,eAAe,KAAK;IACjP,IAAIX,EAAE,KAAKC,EAAE,EAAE;MACb;IACF;IACA,IAAID,EAAE,IAAI,CAACkE,eAAe,CAAClE,EAAE,EAAEC,EAAE,CAAC,EAAE;MAClCxyB,MAAM,GAAG22C,eAAe,CAACpkB,EAAE,CAAC;MAC5B7f,OAAO,CAAC6f,EAAE,EAAEjlB,eAAe,EAAEmlB,cAAc,EAAE,IAAI,CAAC;MAClDF,EAAE,GAAG,IAAI;IACX;IACA,IAAIC,EAAE,CAAC8F,SAAS,KAAK,CAAC,CAAC,EAAE;MACvB3F,SAAS,GAAG,KAAK;MACjBH,EAAE,CAACU,eAAe,GAAG,IAAI;IAC3B;IACA,MAAM;MAAE/xC,IAAI;MAAEkkC,GAAG;MAAEna;IAAU,CAAC,GAAGsnB,EAAE;IACnC,QAAQrxC,IAAI;MACV,KAAKmc,IAAI;QACPs5C,WAAW,CAACrkB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,CAAC;QACtC;MACF,KAAKmvB,OAAO;QACV0nB,kBAAkB,CAACtkB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,CAAC;QAC7C;MACF,KAAKvD,MAAM;QACT,IAAI81B,EAAE,IAAI,IAAI,EAAE;UACdukB,eAAe,CAACtkB,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEM,SAAS,CAAC;QACnD,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;QACD;MACF,KAAK9D,QAAQ;QACXw6C,eAAe,CACbzkB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACD;MACF;QACE,IAAIznB,SAAS,GAAG,CAAC,EAAE;UACjB+rC,cAAc,CACZ1kB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACH,CAAC,MAAM,IAAIznB,SAAS,GAAG,CAAC,EAAE;UACxBgsC,gBAAgB,CACd3kB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACH,CAAC,MAAM,IAAIznB,SAAS,GAAG,EAAE,EAAE;UACzB/pB,IAAI,CAACie,OAAO,CACVmzB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SAAS,EACTrmC,SACF,CAAC;QACH,CAAC,MAAM,IAAI4e,SAAS,GAAG,GAAG,EAAE;UAC1B/pB,IAAI,CAACie,OAAO,CACVmzB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SAAS,EACTrmC,SACF,CAAC;QACH,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;IACL;IACA,IAAI+4B,GAAG,IAAI,IAAI,IAAI/X,eAAe,EAAE;MAClC2rB,MAAM,CAAC5T,GAAG,EAAEkN,EAAE,IAAIA,EAAE,CAAClN,GAAG,EAAEoN,cAAc,EAAED,EAAE,IAAID,EAAE,EAAE,CAACC,EAAE,CAAC;IAC1D;EACF,CAAC;EACD,MAAMokB,WAAW,GAAGA,CAACrkB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,KAAK;IACjD,IAAIuyB,EAAE,IAAI,IAAI,EAAE;MACdyjB,UAAU,CACRxjB,EAAE,CAAC/xB,EAAE,GAAG01C,cAAc,CAAC3jB,EAAE,CAAC/mB,QAAQ,CAAC,EACnCgN,SAAS,EACTzY,MACF,CAAC;IACH,CAAC,MAAM;MACL,MAAMS,EAAE,GAAG+xB,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;MACxB,IAAI+xB,EAAE,CAAC/mB,QAAQ,KAAK8mB,EAAE,CAAC9mB,QAAQ,EAAE;QAC/B4qC,WAAW,CAAC51C,EAAE,EAAE+xB,EAAE,CAAC/mB,QAAQ,CAAC;MAC9B;IACF;EACF,CAAC;EACD,MAAMorC,kBAAkB,GAAGA,CAACtkB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,KAAK;IACxD,IAAIuyB,EAAE,IAAI,IAAI,EAAE;MACdyjB,UAAU,CACRxjB,EAAE,CAAC/xB,EAAE,GAAG21C,iBAAiB,CAAC5jB,EAAE,CAAC/mB,QAAQ,IAAI,EAAE,CAAC,EAC5CgN,SAAS,EACTzY,MACF,CAAC;IACH,CAAC,MAAM;MACLwyB,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;IACf;EACF,CAAC;EACD,MAAMq2C,eAAe,GAAGA,CAACtkB,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEM,SAAS,KAAK;IAC5D,CAACkyB,EAAE,CAAC/xB,EAAE,EAAE+xB,EAAE,CAACxyB,MAAM,CAAC,GAAG02C,uBAAuB,CAC1ClkB,EAAE,CAAC/mB,QAAQ,EACXgN,SAAS,EACTzY,MAAM,EACNM,SAAS,EACTkyB,EAAE,CAAC/xB,EAAE,EACL+xB,EAAE,CAACxyB,MACL,CAAC;EACH,CAAC;EACD,MAAM+2C,eAAe,GAAGA,CAACxkB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEnY,SAAS,KAAK;IACxD,IAAIkyB,EAAE,CAAC/mB,QAAQ,KAAK8mB,EAAE,CAAC9mB,QAAQ,EAAE;MAC/B,MAAMzL,MAAM,GAAGw2C,eAAe,CAACjkB,EAAE,CAACvyB,MAAM,CAAC;MACzCm3C,gBAAgB,CAAC5kB,EAAE,CAAC;MACpB,CAACC,EAAE,CAAC/xB,EAAE,EAAE+xB,EAAE,CAACxyB,MAAM,CAAC,GAAG02C,uBAAuB,CAC1ClkB,EAAE,CAAC/mB,QAAQ,EACXgN,SAAS,EACTzY,MAAM,EACNM,SACF,CAAC;IACH,CAAC,MAAM;MACLkyB,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;MACb+xB,EAAE,CAACxyB,MAAM,GAAGuyB,EAAE,CAACvyB,MAAM;IACvB;EACF,CAAC;EACD,MAAMo3C,cAAc,GAAGA,CAAC;IAAE32C,EAAE;IAAET;EAAO,CAAC,EAAEyY,SAAS,EAAEpX,WAAW,KAAK;IACjE,IAAI2K,IAAI;IACR,OAAOvL,EAAE,IAAIA,EAAE,KAAKT,MAAM,EAAE;MAC1BgM,IAAI,GAAGwqC,eAAe,CAAC/1C,EAAE,CAAC;MAC1Bu1C,UAAU,CAACv1C,EAAE,EAAEgY,SAAS,EAAEpX,WAAW,CAAC;MACtCZ,EAAE,GAAGuL,IAAI;IACX;IACAgqC,UAAU,CAACh2C,MAAM,EAAEyY,SAAS,EAAEpX,WAAW,CAAC;EAC5C,CAAC;EACD,MAAM81C,gBAAgB,GAAGA,CAAC;IAAE12C,EAAE;IAAET;EAAO,CAAC,KAAK;IAC3C,IAAIgM,IAAI;IACR,OAAOvL,EAAE,IAAIA,EAAE,KAAKT,MAAM,EAAE;MAC1BgM,IAAI,GAAGwqC,eAAe,CAAC/1C,EAAE,CAAC;MAC1B4zB,UAAU,CAAC5zB,EAAE,CAAC;MACdA,EAAE,GAAGuL,IAAI;IACX;IACAqoB,UAAU,CAACr0B,MAAM,CAAC;EACpB,CAAC;EACD,MAAMi3C,cAAc,GAAGA,CAAC1kB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IACzH,IAAIH,EAAE,CAACrxC,IAAI,KAAK,KAAK,EAAE;MACrBmf,SAAS,GAAG,KAAK;IACnB,CAAC,MAAM,IAAIkyB,EAAE,CAACrxC,IAAI,KAAK,MAAM,EAAE;MAC7Bmf,SAAS,GAAG,QAAQ;IACtB;IACA,IAAIiyB,EAAE,IAAI,IAAI,EAAE;MACd8kB,YAAY,CACV7kB,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;IACH,CAAC,MAAM;MACL2kB,YAAY,CACV/kB,EAAE,EACFC,EAAE,EACFllB,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;IACH;EACF,CAAC;EACD,MAAM0kB,YAAY,GAAGA,CAACpsC,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IACtH,IAAIlyB,EAAE;IACN,IAAIiiC,SAAS;IACb,MAAM;MAAEliC,KAAK;MAAE0K,SAAS;MAAElC,UAAU;MAAEqoB;IAAK,CAAC,GAAGpmB,KAAK;IACpDxK,EAAE,GAAGwK,KAAK,CAACxK,EAAE,GAAGy1C,iBAAiB,CAC/BjrC,KAAK,CAAC9pB,IAAI,EACVmf,SAAS,EACTE,KAAK,IAAIA,KAAK,CAACD,EAAE,EACjBC,KACF,CAAC;IACD,IAAI0K,SAAS,GAAG,CAAC,EAAE;MACjBorC,kBAAkB,CAAC71C,EAAE,EAAEwK,KAAK,CAACQ,QAAQ,CAAC;IACxC,CAAC,MAAM,IAAIP,SAAS,GAAG,EAAE,EAAE;MACzB2nB,aAAa,CACX5nB,KAAK,CAACQ,QAAQ,EACdhL,EAAE,EACF,IAAI,EACJ6M,eAAe,EACfmlB,cAAc,EACd8kB,wBAAwB,CAACtsC,KAAK,EAAE3K,SAAS,CAAC,EAC1CoyB,YAAY,EACZC,SACF,CAAC;IACH;IACA,IAAItB,IAAI,EAAE;MACRE,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,SAAS,CAAC;IAC9D;IACA9L,UAAU,CAACf,EAAE,EAAEwK,KAAK,EAAEA,KAAK,CAACuK,OAAO,EAAEkd,YAAY,EAAEplB,eAAe,CAAC;IACnE,IAAI9M,KAAK,EAAE;MACT,KAAK,MAAMzZ,GAAG,IAAIyZ,KAAK,EAAE;QACvB,IAAIzZ,GAAG,KAAK,OAAO,IAAI,CAACugC,sEAAc,CAACvgC,GAAG,CAAC,EAAE;UAC3CkvD,aAAa,CAACx1C,EAAE,EAAE1Z,GAAG,EAAE,IAAI,EAAEyZ,KAAK,CAACzZ,GAAG,CAAC,EAAEuZ,SAAS,EAAEgN,eAAe,CAAC;QACtE;MACF;MACA,IAAI,OAAO,IAAI9M,KAAK,EAAE;QACpBy1C,aAAa,CAACx1C,EAAE,EAAE,OAAO,EAAE,IAAI,EAAED,KAAK,CAAC1e,KAAK,EAAEwe,SAAS,CAAC;MAC1D;MACA,IAAIoiC,SAAS,GAAGliC,KAAK,CAACg8B,kBAAkB,EAAE;QACxCC,eAAe,CAACiG,SAAS,EAAEp1B,eAAe,EAAErC,KAAK,CAAC;MACpD;IACF;IACA,IAAI,KAAkE,EAAE,EAGvE;IACD,IAAIomB,IAAI,EAAE;MACRE,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,aAAa,CAAC;IAClE;IACA,MAAMyuB,uBAAuB,GAAGC,cAAc,CAACvJ,cAAc,EAAEzpB,UAAU,CAAC;IAC1E,IAAI+yB,uBAAuB,EAAE;MAC3B/yB,UAAU,CAACG,WAAW,CAAC1I,EAAE,CAAC;IAC5B;IACAu1C,UAAU,CAACv1C,EAAE,EAAEgY,SAAS,EAAEzY,MAAM,CAAC;IACjC,IAAI,CAAC0iC,SAAS,GAAGliC,KAAK,IAAIA,KAAK,CAAC0T,cAAc,KAAK6nB,uBAAuB,IAAI1K,IAAI,EAAE;MAClFsC,qBAAqB,CAAC,MAAM;QAC1B+O,SAAS,IAAIjG,eAAe,CAACiG,SAAS,EAAEp1B,eAAe,EAAErC,KAAK,CAAC;QAC/D8wB,uBAAuB,IAAI/yB,UAAU,CAACnD,KAAK,CAACpF,EAAE,CAAC;QAC/C4wB,IAAI,IAAIE,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,SAAS,CAAC;MACtE,CAAC,EAAEmlB,cAAc,CAAC;IACpB;EACF,CAAC;EACD,MAAMjxB,UAAU,GAAGA,CAACf,EAAE,EAAEwK,KAAK,EAAEuK,OAAO,EAAEkd,YAAY,EAAEplB,eAAe,KAAK;IACxE,IAAIkI,OAAO,EAAE;MACXihC,cAAc,CAACh2C,EAAE,EAAE+U,OAAO,CAAC;IAC7B;IACA,IAAIkd,YAAY,EAAE;MAChB,KAAK,IAAItxC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsxC,YAAY,CAAChwC,MAAM,EAAEtB,CAAC,EAAE,EAAE;QAC5Cq1D,cAAc,CAACh2C,EAAE,EAAEiyB,YAAY,CAACtxC,CAAC,CAAC,CAAC;MACrC;IACF;IACA,IAAIksB,eAAe,EAAE;MACnB,IAAI5C,OAAO,GAAG4C,eAAe,CAAC5C,OAAO;MACrC,IAAI,KAA8F,EAAE,EAEnG;MACD,IAAIO,KAAK,KAAKP,OAAO,IAAI04B,UAAU,CAAC14B,OAAO,CAACvpB,IAAI,CAAC,KAAKupB,OAAO,CAACstB,SAAS,KAAK/sB,KAAK,IAAIP,OAAO,CAACutB,UAAU,KAAKhtB,KAAK,CAAC,EAAE;QAClH,MAAM0xB,WAAW,GAAGrvB,eAAe,CAACrC,KAAK;QACzCzJ,UAAU,CACRf,EAAE,EACFk8B,WAAW,EACXA,WAAW,CAACnnB,OAAO,EACnBmnB,WAAW,CAACjK,YAAY,EACxBplB,eAAe,CAACvN,MAClB,CAAC;MACH;IACF;EACF,CAAC;EACD,MAAM8yB,aAAa,GAAGA,CAACpnB,QAAQ,EAAEgN,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAEhxB,KAAK,GAAG,CAAC,KAAK;IACrI,KAAK,IAAIvgB,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAC5C,MAAM0e,KAAK,GAAG2L,QAAQ,CAACrqB,CAAC,CAAC,GAAGuxC,SAAS,GAAG8kB,cAAc,CAAChsC,QAAQ,CAACrqB,CAAC,CAAC,CAAC,GAAGw7C,cAAc,CAACnxB,QAAQ,CAACrqB,CAAC,CAAC,CAAC;MACjGw5C,KAAK,CACH,IAAI,EACJ96B,KAAK,EACL2Y,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;IACH;EACF,CAAC;EACD,MAAM2kB,YAAY,GAAGA,CAAC/kB,EAAE,EAAEC,EAAE,EAAEllB,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IACpG,MAAMlyB,EAAE,GAAG+xB,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;IACxB,IAAI,KAAkE,EAAE,EAEvE;IACD,IAAI;MAAE63B,SAAS;MAAEpF,eAAe;MAAE7B;IAAK,CAAC,GAAGmB,EAAE;IAC7C8F,SAAS,IAAI/F,EAAE,CAAC+F,SAAS,GAAG,EAAE;IAC9B,MAAMqf,QAAQ,GAAGplB,EAAE,CAAC/xB,KAAK,IAAIlC,6DAAS;IACtC,MAAMs5C,QAAQ,GAAGplB,EAAE,CAAChyB,KAAK,IAAIlC,6DAAS;IACtC,IAAIokC,SAAS;IACbp1B,eAAe,IAAIuqC,aAAa,CAACvqC,eAAe,EAAE,KAAK,CAAC;IACxD,IAAIo1B,SAAS,GAAGkV,QAAQ,CAACE,mBAAmB,EAAE;MAC5Crb,eAAe,CAACiG,SAAS,EAAEp1B,eAAe,EAAEklB,EAAE,EAAED,EAAE,CAAC;IACrD;IACA,IAAIlB,IAAI,EAAE;MACRE,mBAAmB,CAACiB,EAAE,EAAED,EAAE,EAAEjlB,eAAe,EAAE,cAAc,CAAC;IAC9D;IACAA,eAAe,IAAIuqC,aAAa,CAACvqC,eAAe,EAAE,IAAI,CAAC;IACvD,IAAI,KAA0D,EAAE,EAI/D;IACD,IAAIqqC,QAAQ,CAAC11C,SAAS,IAAI21C,QAAQ,CAAC31C,SAAS,IAAI,IAAI,IAAI01C,QAAQ,CAACv2C,WAAW,IAAIw2C,QAAQ,CAACx2C,WAAW,IAAI,IAAI,EAAE;MAC5Gk1C,kBAAkB,CAAC71C,EAAE,EAAE,EAAE,CAAC;IAC5B;IACA,IAAIyyB,eAAe,EAAE;MACnBD,kBAAkB,CAChBV,EAAE,CAACW,eAAe,EAClBA,eAAe,EACfzyB,EAAE,EACF6M,eAAe,EACfmlB,cAAc,EACd8kB,wBAAwB,CAAC/kB,EAAE,EAAElyB,SAAS,CAAC,EACvCoyB,YACF,CAAC;MACD,IAAI,KAAyC,EAAE,EAE9C;IACH,CAAC,MAAM,IAAI,CAACC,SAAS,EAAE;MACrBI,aAAa,CACXR,EAAE,EACFC,EAAE,EACF/xB,EAAE,EACF,IAAI,EACJ6M,eAAe,EACfmlB,cAAc,EACd8kB,wBAAwB,CAAC/kB,EAAE,EAAElyB,SAAS,CAAC,EACvCoyB,YAAY,EACZ,KACF,CAAC;IACH;IACA,IAAI4F,SAAS,GAAG,CAAC,EAAE;MACjB,IAAIA,SAAS,GAAG,EAAE,EAAE;QAClByf,UAAU,CAACt3C,EAAE,EAAEk3C,QAAQ,EAAEC,QAAQ,EAAEtqC,eAAe,EAAEhN,SAAS,CAAC;MAChE,CAAC,MAAM;QACL,IAAIg4B,SAAS,GAAG,CAAC,EAAE;UACjB,IAAIqf,QAAQ,CAACK,KAAK,KAAKJ,QAAQ,CAACI,KAAK,EAAE;YACrC/B,aAAa,CAACx1C,EAAE,EAAE,OAAO,EAAE,IAAI,EAAEm3C,QAAQ,CAACI,KAAK,EAAE13C,SAAS,CAAC;UAC7D;QACF;QACA,IAAIg4B,SAAS,GAAG,CAAC,EAAE;UACjB2d,aAAa,CAACx1C,EAAE,EAAE,OAAO,EAAEk3C,QAAQ,CAAC1uC,KAAK,EAAE2uC,QAAQ,CAAC3uC,KAAK,EAAE3I,SAAS,CAAC;QACvE;QACA,IAAIg4B,SAAS,GAAG,CAAC,EAAE;UACjB,MAAMiZ,aAAa,GAAG/e,EAAE,CAACgf,YAAY;UACrC,KAAK,IAAIpwD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmwD,aAAa,CAAC7uD,MAAM,EAAEtB,CAAC,EAAE,EAAE;YAC7C,MAAM2F,GAAG,GAAGwqD,aAAa,CAACnwD,CAAC,CAAC;YAC5B,MAAM2qB,IAAI,GAAG4rC,QAAQ,CAAC5wD,GAAG,CAAC;YAC1B,MAAMilB,IAAI,GAAG4rC,QAAQ,CAAC7wD,GAAG,CAAC;YAC1B,IAAIilB,IAAI,KAAKD,IAAI,IAAIhlB,GAAG,KAAK,OAAO,EAAE;cACpCkvD,aAAa,CAACx1C,EAAE,EAAE1Z,GAAG,EAAEglB,IAAI,EAAEC,IAAI,EAAE1L,SAAS,EAAEgN,eAAe,CAAC;YAChE;UACF;QACF;MACF;MACA,IAAIgrB,SAAS,GAAG,CAAC,EAAE;QACjB,IAAI/F,EAAE,CAAC9mB,QAAQ,KAAK+mB,EAAE,CAAC/mB,QAAQ,EAAE;UAC/B6qC,kBAAkB,CAAC71C,EAAE,EAAE+xB,EAAE,CAAC/mB,QAAQ,CAAC;QACrC;MACF;IACF,CAAC,MAAM,IAAI,CAACknB,SAAS,IAAIO,eAAe,IAAI,IAAI,EAAE;MAChD6kB,UAAU,CAACt3C,EAAE,EAAEk3C,QAAQ,EAAEC,QAAQ,EAAEtqC,eAAe,EAAEhN,SAAS,CAAC;IAChE;IACA,IAAI,CAACoiC,SAAS,GAAGkV,QAAQ,CAACzjC,cAAc,KAAKkd,IAAI,EAAE;MACjDsC,qBAAqB,CAAC,MAAM;QAC1B+O,SAAS,IAAIjG,eAAe,CAACiG,SAAS,EAAEp1B,eAAe,EAAEklB,EAAE,EAAED,EAAE,CAAC;QAChElB,IAAI,IAAIE,mBAAmB,CAACiB,EAAE,EAAED,EAAE,EAAEjlB,eAAe,EAAE,SAAS,CAAC;MACjE,CAAC,EAAEmlB,cAAc,CAAC;IACpB;EACF,CAAC;EACD,MAAMQ,kBAAkB,GAAGA,CAACglB,WAAW,EAAEC,WAAW,EAAEC,iBAAiB,EAAE7qC,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,KAAK;IACpI,KAAK,IAAItxC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG82D,WAAW,CAACx1D,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAC3C,MAAMg3D,QAAQ,GAAGH,WAAW,CAAC72D,CAAC,CAAC;MAC/B,MAAMi3D,QAAQ,GAAGH,WAAW,CAAC92D,CAAC,CAAC;MAC/B,MAAMq3B,SAAS;MACb;MACA;MACA2/B,QAAQ,CAAC33C,EAAE;MAAI;MACf;MACC23C,QAAQ,CAACj3D,IAAI,KAAKqb,QAAQ;MAAI;MAC/B;MACA,CAACi6B,eAAe,CAAC2hB,QAAQ,EAAEC,QAAQ,CAAC;MAAI;MACxCD,QAAQ,CAACltC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAGqrC,cAAc,CAAC6B,QAAQ,CAAC33C,EAAE,CAAC;MAC1D;MACA;MACA03C,iBAEH;MACDvd,KAAK,CACHwd,QAAQ,EACRC,QAAQ,EACR5/B,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZ,IACF,CAAC;IACH;EACF,CAAC;EACD,MAAMqlB,UAAU,GAAGA,CAACt3C,EAAE,EAAEk3C,QAAQ,EAAEC,QAAQ,EAAEtqC,eAAe,EAAEhN,SAAS,KAAK;IACzE,IAAIq3C,QAAQ,KAAKC,QAAQ,EAAE;MACzB,IAAID,QAAQ,KAAKr5C,6DAAS,EAAE;QAC1B,KAAK,MAAMvX,GAAG,IAAI4wD,QAAQ,EAAE;UAC1B,IAAI,CAACrwB,sEAAc,CAACvgC,GAAG,CAAC,IAAI,EAAEA,GAAG,IAAI6wD,QAAQ,CAAC,EAAE;YAC9C3B,aAAa,CACXx1C,EAAE,EACF1Z,GAAG,EACH4wD,QAAQ,CAAC5wD,GAAG,CAAC,EACb,IAAI,EACJuZ,SAAS,EACTgN,eACF,CAAC;UACH;QACF;MACF;MACA,KAAK,MAAMvmB,GAAG,IAAI6wD,QAAQ,EAAE;QAC1B,IAAItwB,sEAAc,CAACvgC,GAAG,CAAC,EAAE;QACzB,MAAMilB,IAAI,GAAG4rC,QAAQ,CAAC7wD,GAAG,CAAC;QAC1B,MAAMglB,IAAI,GAAG4rC,QAAQ,CAAC5wD,GAAG,CAAC;QAC1B,IAAIilB,IAAI,KAAKD,IAAI,IAAIhlB,GAAG,KAAK,OAAO,EAAE;UACpCkvD,aAAa,CAACx1C,EAAE,EAAE1Z,GAAG,EAAEglB,IAAI,EAAEC,IAAI,EAAE1L,SAAS,EAAEgN,eAAe,CAAC;QAChE;MACF;MACA,IAAI,OAAO,IAAIsqC,QAAQ,EAAE;QACvB3B,aAAa,CAACx1C,EAAE,EAAE,OAAO,EAAEk3C,QAAQ,CAAC71D,KAAK,EAAE81D,QAAQ,CAAC91D,KAAK,EAAEwe,SAAS,CAAC;MACvE;IACF;EACF,CAAC;EACD,MAAM02C,eAAe,GAAGA,CAACzkB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IAC1H,MAAM2lB,mBAAmB,GAAG9lB,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,GAAGA,EAAE,CAAC9xB,EAAE,GAAG01C,cAAc,CAAC,EAAE,CAAC;IACnE,MAAMoC,iBAAiB,GAAG/lB,EAAE,CAACxyB,MAAM,GAAGuyB,EAAE,GAAGA,EAAE,CAACvyB,MAAM,GAAGm2C,cAAc,CAAC,EAAE,CAAC;IACzE,IAAI;MAAE7d,SAAS;MAAEpF,eAAe;MAAER,YAAY,EAAEoK;IAAqB,CAAC,GAAGtK,EAAE;IAC3E,IAAI,KAC+B,EAAE,EAIpC;IACD,IAAIsK,oBAAoB,EAAE;MACxBpK,YAAY,GAAGA,YAAY,GAAGA,YAAY,CAACjnC,MAAM,CAACqxC,oBAAoB,CAAC,GAAGA,oBAAoB;IAChG;IACA,IAAIvK,EAAE,IAAI,IAAI,EAAE;MACdyjB,UAAU,CAACsC,mBAAmB,EAAE7/B,SAAS,EAAEzY,MAAM,CAAC;MAClDg2C,UAAU,CAACuC,iBAAiB,EAAE9/B,SAAS,EAAEzY,MAAM,CAAC;MAChD6yB,aAAa;MACX;MACA;MACA;MACA;MACAL,EAAE,CAAC/mB,QAAQ,IAAI,EAAE,EACjBgN,SAAS,EACT8/B,iBAAiB,EACjBjrC,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;IACH,CAAC,MAAM;MACL,IAAI2F,SAAS,GAAG,CAAC,IAAIA,SAAS,GAAG,EAAE,IAAIpF,eAAe;MAAI;MAC1D;MACAX,EAAE,CAACW,eAAe,EAAE;QAClBD,kBAAkB,CAChBV,EAAE,CAACW,eAAe,EAClBA,eAAe,EACfza,SAAS,EACTnL,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YACF,CAAC;QACD,IAAI,KAAyC,EAAE,EAE9C,MAAM;QACL;QACA;QACA;QACA;QACAF,EAAE,CAACzrC,GAAG,IAAI,IAAI,IAAIumB,eAAe,IAAIklB,EAAE,KAAKllB,eAAe,CAAC5C,OAAO,EACnE;UACAupB,sBAAsB,CACpB1B,EAAE,EACFC,EAAE,EACF;UACA,aACF,CAAC;QACH;MACF,CAAC,MAAM;QACLO,aAAa,CACXR,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACT8/B,iBAAiB,EACjBjrC,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;MACH;IACF;EACF,CAAC;EACD,MAAMukB,gBAAgB,GAAGA,CAAC3kB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IAC3HH,EAAE,CAACE,YAAY,GAAGA,YAAY;IAC9B,IAAIH,EAAE,IAAI,IAAI,EAAE;MACd,IAAIC,EAAE,CAACtnB,SAAS,GAAG,GAAG,EAAE;QACtBoC,eAAe,CAACkjB,GAAG,CAAC+R,QAAQ,CAC1B/P,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNM,SAAS,EACTqyB,SACF,CAAC;MACH,CAAC,MAAM;QACLgI,cAAc,CACZnI,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACTqyB,SACF,CAAC;MACH;IACF,CAAC,MAAM;MACL6lB,eAAe,CAACjmB,EAAE,EAAEC,EAAE,EAAEG,SAAS,CAAC;IACpC;EACF,CAAC;EACD,MAAMgI,cAAc,GAAGA,CAAC8d,YAAY,EAAEhgC,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEqyB,SAAS,KAAK;IACjH,MAAM7oB,QAAQ,GAAI2uC,YAAY,CAACjtC,SAAS,GAAGktC,uBAAuB,CAChED,YAAY,EACZnrC,eAAe,EACfmlB,cACF,CAAE;IACF,IAAI,KAAkE,EAAE,EAEvE;IACD,IAAI,KAAyC,EAAE,EAG9C;IACD,IAAIqF,WAAW,CAAC2gB,YAAY,CAAC,EAAE;MAC7B3uC,QAAQ,CAAC0mB,GAAG,CAACzS,QAAQ,GAAGzxB,SAAS;IACnC;IACA;MACE,IAAI,KAAyC,EAAE,EAE9C;MACDqsD,cAAc,CAAC7uC,QAAQ,EAAE,KAAK,EAAE6oB,SAAS,CAAC;MAC1C,IAAI,KAAyC,EAAE,EAE9C;IACH;IACA,IAAI7oB,QAAQ,CAAC8uC,QAAQ,EAAE;MACrB,IAAI,KAA0D,EAAEH,EAAuB;MACvFhmB,cAAc,IAAIA,cAAc,CAAComB,WAAW,CAAC/uC,QAAQ,EAAEgvC,iBAAiB,EAAEnmB,SAAS,CAAC;MACpF,IAAI,CAAC8lB,YAAY,CAACh4C,EAAE,EAAE;QACpB,MAAM0yB,WAAW,GAAGrpB,QAAQ,CAACY,OAAO,GAAG3N,WAAW,CAACoyB,OAAO,CAAC;QAC3D0nB,kBAAkB,CAAC,IAAI,EAAE1jB,WAAW,EAAE1a,SAAS,EAAEzY,MAAM,CAAC;MAC1D;IACF,CAAC,MAAM;MACL84C,iBAAiB,CACfhvC,QAAQ,EACR2uC,YAAY,EACZhgC,SAAS,EACTzY,MAAM,EACNyyB,cAAc,EACdnyB,SAAS,EACTqyB,SACF,CAAC;IACH;IACA,IAAI,KAAyC,EAAE,EAG9C;EACH,CAAC;EACD,MAAM6lB,eAAe,GAAGA,CAACjmB,EAAE,EAAEC,EAAE,EAAEG,SAAS,KAAK;IAC7C,MAAM7oB,QAAQ,GAAG0oB,EAAE,CAAChnB,SAAS,GAAG+mB,EAAE,CAAC/mB,SAAS;IAC5C,IAAIutC,qBAAqB,CAACxmB,EAAE,EAAEC,EAAE,EAAEG,SAAS,CAAC,EAAE;MAC5C,IAAI7oB,QAAQ,CAAC8uC,QAAQ,IAAI,CAAC9uC,QAAQ,CAACkvC,aAAa,EAAE;QAChD,IAAI,KAAyC,EAAE,EAE9C;QACDC,wBAAwB,CAACnvC,QAAQ,EAAE0oB,EAAE,EAAEG,SAAS,CAAC;QACjD,IAAI,KAAyC,EAAE,EAE9C;QACD;MACF,CAAC,MAAM;QACL7oB,QAAQ,CAACkC,IAAI,GAAGwmB,EAAE;QAClB1oB,QAAQ,CAACmkB,MAAM,CAAC,CAAC;MACnB;IACF,CAAC,MAAM;MACLuE,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;MACbqJ,QAAQ,CAACmB,KAAK,GAAGunB,EAAE;IACrB;EACF,CAAC;EACD,MAAMsmB,iBAAiB,GAAGA,CAAChvC,QAAQ,EAAE2uC,YAAY,EAAEhgC,SAAS,EAAEzY,MAAM,EAAEyyB,cAAc,EAAEnyB,SAAS,EAAEqyB,SAAS,KAAK;IAC7G,MAAMumB,iBAAiB,GAAGA,CAAA,KAAM;MAC9B,IAAI,CAACpvC,QAAQ,CAACqrB,SAAS,EAAE;QACvB,IAAIuN,SAAS;QACb,MAAM;UAAEjiC,EAAE;UAAED;QAAM,CAAC,GAAGi4C,YAAY;QAClC,MAAM;UAAEU,EAAE;UAAE1qC,CAAC;UAAE1O,MAAM;UAAEwY,IAAI;UAAEp3B;QAAK,CAAC,GAAG2oB,QAAQ;QAC9C,MAAMsvC,mBAAmB,GAAG/f,cAAc,CAACof,YAAY,CAAC;QACxDZ,aAAa,CAAC/tC,QAAQ,EAAE,KAAK,CAAC;QAC9B,IAAIqvC,EAAE,EAAE;UACNx6C,sEAAc,CAACw6C,EAAE,CAAC;QACpB;QACA,IAAI,CAACC,mBAAmB,KAAK1W,SAAS,GAAGliC,KAAK,IAAIA,KAAK,CAACg8B,kBAAkB,CAAC,EAAE;UAC3EC,eAAe,CAACiG,SAAS,EAAE3iC,MAAM,EAAE04C,YAAY,CAAC;QAClD;QACAZ,aAAa,CAAC/tC,QAAQ,EAAE,IAAI,CAAC;QAC7B,IAAIrJ,EAAE,IAAIu6B,WAAW,EAAE;UACrB,MAAMqe,cAAc,GAAGA,CAAA,KAAM;YAC3B,IAAI,KAAyC,EAAE,EAE9C;YACDvvC,QAAQ,CAACY,OAAO,GAAG4uC,mBAAmB,CAACxvC,QAAQ,CAAC;YAChD,IAAI,KAAyC,EAAE,EAE9C;YACD,IAAI,KAAyC,EAAE,EAE9C;YACDkxB,WAAW,CACTv6B,EAAE,EACFqJ,QAAQ,CAACY,OAAO,EAChBZ,QAAQ,EACR2oB,cAAc,EACd,IACF,CAAC;YACD,IAAI,KAAyC,EAAE,EAE9C;UACH,CAAC;UACD,IAAI2mB,mBAAmB,IAAIj4D,IAAI,CAACkgD,cAAc,EAAE;YAC9ClgD,IAAI,CAACkgD,cAAc,CACjB5gC,EAAE,EACFqJ,QAAQ,EACRuvC,cACF,CAAC;UACH,CAAC,MAAM;YACLA,cAAc,CAAC,CAAC;UAClB;QACF,CAAC,MAAM;UACL,IAAI9gC,IAAI,CAAC/N,EAAE,EAAE;YACX+N,IAAI,CAAC/N,EAAE,CAACsL,iBAAiB,CAAC30B,IAAI,CAAC;UACjC;UACA,IAAI,KAAyC,EAAE,EAE9C;UACD,MAAMupB,OAAO,GAAGZ,QAAQ,CAACY,OAAO,GAAG4uC,mBAAmB,CAACxvC,QAAQ,CAAC;UAChE,IAAI,KAAyC,EAAE,EAE9C;UACD,IAAI,KAAyC,EAAE,EAE9C;UACD8wB,KAAK,CACH,IAAI,EACJlwB,OAAO,EACP+N,SAAS,EACTzY,MAAM,EACN8J,QAAQ,EACR2oB,cAAc,EACdnyB,SACF,CAAC;UACD,IAAI,KAAyC,EAAE,EAE9C;UACDm4C,YAAY,CAACh4C,EAAE,GAAGiK,OAAO,CAACjK,EAAE;QAC9B;QACA,IAAIgO,CAAC,EAAE;UACLklB,qBAAqB,CAACllB,CAAC,EAAEgkB,cAAc,CAAC;QAC1C;QACA,IAAI,CAAC2mB,mBAAmB,KAAK1W,SAAS,GAAGliC,KAAK,IAAIA,KAAK,CAAC0T,cAAc,CAAC,EAAE;UACvE,MAAMqlC,kBAAkB,GAAGd,YAAY;UACvC9kB,qBAAqB,CACnB,MAAM8I,eAAe,CAACiG,SAAS,EAAE3iC,MAAM,EAAEw5C,kBAAkB,CAAC,EAC5D9mB,cACF,CAAC;QACH;QACA,IAAIgmB,YAAY,CAACvtC,SAAS,GAAG,GAAG,IAAInL,MAAM,IAAIs5B,cAAc,CAACt5B,MAAM,CAACkL,KAAK,CAAC,IAAIlL,MAAM,CAACkL,KAAK,CAACC,SAAS,GAAG,GAAG,EAAE;UAC1GpB,QAAQ,CAACrc,CAAC,IAAIkmC,qBAAqB,CAAC7pB,QAAQ,CAACrc,CAAC,EAAEglC,cAAc,CAAC;QACjE;QACA3oB,QAAQ,CAACqrB,SAAS,GAAG,IAAI;QACzB,IAAI,KAAkE,EAAE,EAEvE;QACDsjB,YAAY,GAAGhgC,SAAS,GAAGzY,MAAM,GAAG,IAAI;MAC1C,CAAC,MAAM;QACL,IAAI;UAAEgM,IAAI;UAAEwtC,EAAE;UAAEC,CAAC;UAAE15C,MAAM;UAAEkL;QAAM,CAAC,GAAGnB,QAAQ;QAC7C;UACE,MAAM4vC,oBAAoB,GAAGC,0BAA0B,CAAC7vC,QAAQ,CAAC;UACjE,IAAI4vC,oBAAoB,EAAE;YACxB,IAAI1tC,IAAI,EAAE;cACRA,IAAI,CAACvL,EAAE,GAAGwK,KAAK,CAACxK,EAAE;cAClBw4C,wBAAwB,CAACnvC,QAAQ,EAAEkC,IAAI,EAAE2mB,SAAS,CAAC;YACrD;YACA+mB,oBAAoB,CAACd,QAAQ,CAAC/pC,IAAI,CAAC,MAAM;cACvC,IAAI,CAAC/E,QAAQ,CAACy3B,WAAW,EAAE;gBACzB2X,iBAAiB,CAAC,CAAC;cACrB;YACF,CAAC,CAAC;YACF;UACF;QACF;QACA,IAAIU,UAAU,GAAG5tC,IAAI;QACrB,IAAI02B,SAAS;QACb,IAAI,KAAyC,EAAE,EAE9C;QACDmV,aAAa,CAAC/tC,QAAQ,EAAE,KAAK,CAAC;QAC9B,IAAIkC,IAAI,EAAE;UACRA,IAAI,CAACvL,EAAE,GAAGwK,KAAK,CAACxK,EAAE;UAClBw4C,wBAAwB,CAACnvC,QAAQ,EAAEkC,IAAI,EAAE2mB,SAAS,CAAC;QACrD,CAAC,MAAM;UACL3mB,IAAI,GAAGf,KAAK;QACd;QACA,IAAIuuC,EAAE,EAAE;UACN76C,sEAAc,CAAC66C,EAAE,CAAC;QACpB;QACA,IAAI9W,SAAS,GAAG12B,IAAI,CAACxL,KAAK,IAAIwL,IAAI,CAACxL,KAAK,CAACs3C,mBAAmB,EAAE;UAC5Drb,eAAe,CAACiG,SAAS,EAAE3iC,MAAM,EAAEiM,IAAI,EAAEf,KAAK,CAAC;QACjD;QACA4sC,aAAa,CAAC/tC,QAAQ,EAAE,IAAI,CAAC;QAC7B,IAAI,KAAyC,EAAE,EAE9C;QACD,MAAM+vC,QAAQ,GAAGP,mBAAmB,CAACxvC,QAAQ,CAAC;QAC9C,IAAI,KAAyC,EAAE,EAE9C;QACD,MAAMgwC,QAAQ,GAAGhwC,QAAQ,CAACY,OAAO;QACjCZ,QAAQ,CAACY,OAAO,GAAGmvC,QAAQ;QAC3B,IAAI,KAAyC,EAAE,EAE9C;QACDjf,KAAK,CACHkf,QAAQ,EACRD,QAAQ;QACR;QACAtD,cAAc,CAACuD,QAAQ,CAACr5C,EAAE,CAAC;QAC3B;QACAk2C,eAAe,CAACmD,QAAQ,CAAC,EACzBhwC,QAAQ,EACR2oB,cAAc,EACdnyB,SACF,CAAC;QACD,IAAI,KAAyC,EAAE,EAE9C;QACD0L,IAAI,CAACvL,EAAE,GAAGo5C,QAAQ,CAACp5C,EAAE;QACrB,IAAIm5C,UAAU,KAAK,IAAI,EAAE;UACvB1c,eAAe,CAACpzB,QAAQ,EAAE+vC,QAAQ,CAACp5C,EAAE,CAAC;QACxC;QACA,IAAIg5C,CAAC,EAAE;UACL9lB,qBAAqB,CAAC8lB,CAAC,EAAEhnB,cAAc,CAAC;QAC1C;QACA,IAAIiQ,SAAS,GAAG12B,IAAI,CAACxL,KAAK,IAAIwL,IAAI,CAACxL,KAAK,CAAC2T,cAAc,EAAE;UACvDwf,qBAAqB,CACnB,MAAM8I,eAAe,CAACiG,SAAS,EAAE3iC,MAAM,EAAEiM,IAAI,EAAEf,KAAK,CAAC,EACrDwnB,cACF,CAAC;QACH;QACA,IAAI,KAAkE,EAAE,EAEvE;QACD,IAAI,KAAyC,EAAE,EAE9C;MACH;IACF,CAAC;IACD3oB,QAAQ,CAACiwC,KAAK,CAACt3B,EAAE,CAAC,CAAC;IACnB,MAAMgE,MAAM,GAAG3c,QAAQ,CAAC2c,MAAM,GAAG,IAAIX,sEAAc,CAACozB,iBAAiB,CAAC;IACtEpvC,QAAQ,CAACiwC,KAAK,CAACC,GAAG,CAAC,CAAC;IACpB,MAAM/rB,MAAM,GAAGnkB,QAAQ,CAACmkB,MAAM,GAAGxH,MAAM,CAACwzB,GAAG,CAAC5lC,IAAI,CAACoS,MAAM,CAAC;IACxD,MAAMwF,GAAG,GAAGniB,QAAQ,CAACmiB,GAAG,GAAGxF,MAAM,CAACyzB,UAAU,CAAC7lC,IAAI,CAACoS,MAAM,CAAC;IACzDwF,GAAG,CAAC7qC,CAAC,GAAG0oB,QAAQ;IAChBmiB,GAAG,CAACtwB,EAAE,GAAGmO,QAAQ,CAACM,GAAG;IACrBqc,MAAM,CAAC0zB,SAAS,GAAG,MAAMnuB,QAAQ,CAACC,GAAG,CAAC;IACtC4rB,aAAa,CAAC/tC,QAAQ,EAAE,IAAI,CAAC;IAC7B,IAAI,KAAyC,EAAE,EAG9C;IACDmkB,MAAM,CAAC,CAAC;EACV,CAAC;EACD,MAAMgrB,wBAAwB,GAAGA,CAACnvC,QAAQ,EAAE0wC,SAAS,EAAE7nB,SAAS,KAAK;IACnE6nB,SAAS,CAAChvC,SAAS,GAAG1B,QAAQ;IAC9B,MAAM2wC,SAAS,GAAG3wC,QAAQ,CAACmB,KAAK,CAACzK,KAAK;IACtCsJ,QAAQ,CAACmB,KAAK,GAAGuvC,SAAS;IAC1B1wC,QAAQ,CAACkC,IAAI,GAAG,IAAI;IACpBmlC,WAAW,CAACrnC,QAAQ,EAAE0wC,SAAS,CAACh6C,KAAK,EAAEi6C,SAAS,EAAE9nB,SAAS,CAAC;IAC5DkiB,WAAW,CAAC/qC,QAAQ,EAAE0wC,SAAS,CAAC/uC,QAAQ,EAAEknB,SAAS,CAAC;IACpD7N,yEAAa,CAAC,CAAC;IACfwH,gBAAgB,CAACxiB,QAAQ,CAAC;IAC1Bib,yEAAa,CAAC,CAAC;EACjB,CAAC;EACD,MAAMgO,aAAa,GAAGA,CAACR,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,GAAG,KAAK,KAAK;IAChI,MAAM+nB,EAAE,GAAGnoB,EAAE,IAAIA,EAAE,CAAC9mB,QAAQ;IAC5B,MAAMkvC,aAAa,GAAGpoB,EAAE,GAAGA,EAAE,CAACrnB,SAAS,GAAG,CAAC;IAC3C,MAAM0vC,EAAE,GAAGpoB,EAAE,CAAC/mB,QAAQ;IACtB,MAAM;MAAE6sB,SAAS;MAAEptB;IAAU,CAAC,GAAGsnB,EAAE;IACnC,IAAI8F,SAAS,GAAG,CAAC,EAAE;MACjB,IAAIA,SAAS,GAAG,GAAG,EAAE;QACnBuiB,kBAAkB,CAChBH,EAAE,EACFE,EAAE,EACFniC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACD;MACF,CAAC,MAAM,IAAI2F,SAAS,GAAG,GAAG,EAAE;QAC1BwiB,oBAAoB,CAClBJ,EAAE,EACFE,EAAE,EACFniC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACD;MACF;IACF;IACA,IAAIznB,SAAS,GAAG,CAAC,EAAE;MACjB,IAAIyvC,aAAa,GAAG,EAAE,EAAE;QACtBI,eAAe,CAACL,EAAE,EAAEptC,eAAe,EAAEmlB,cAAc,CAAC;MACtD;MACA,IAAImoB,EAAE,KAAKF,EAAE,EAAE;QACbpE,kBAAkB,CAAC79B,SAAS,EAAEmiC,EAAE,CAAC;MACnC;IACF,CAAC,MAAM;MACL,IAAID,aAAa,GAAG,EAAE,EAAE;QACtB,IAAIzvC,SAAS,GAAG,EAAE,EAAE;UAClB2vC,kBAAkB,CAChBH,EAAE,EACFE,EAAE,EACFniC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACH,CAAC,MAAM;UACLooB,eAAe,CAACL,EAAE,EAAEptC,eAAe,EAAEmlB,cAAc,EAAE,IAAI,CAAC;QAC5D;MACF,CAAC,MAAM;QACL,IAAIkoB,aAAa,GAAG,CAAC,EAAE;UACrBrE,kBAAkB,CAAC79B,SAAS,EAAE,EAAE,CAAC;QACnC;QACA,IAAIvN,SAAS,GAAG,EAAE,EAAE;UAClB2nB,aAAa,CACX+nB,EAAE,EACFniC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACH;MACF;IACF;EACF,CAAC;EACD,MAAMmoB,oBAAoB,GAAGA,CAACJ,EAAE,EAAEE,EAAE,EAAEniC,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IAC/H+nB,EAAE,GAAGA,EAAE,IAAIxyB,6DAAS;IACpB0yB,EAAE,GAAGA,EAAE,IAAI1yB,6DAAS;IACpB,MAAM8yB,SAAS,GAAGN,EAAE,CAACh4D,MAAM;IAC3B,MAAMu4D,SAAS,GAAGL,EAAE,CAACl4D,MAAM;IAC3B,MAAMw4D,YAAY,GAAGpzC,IAAI,CAACqzC,GAAG,CAACH,SAAS,EAAEC,SAAS,CAAC;IACnD,IAAI75D,CAAC;IACL,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG85D,YAAY,EAAE95D,CAAC,EAAE,EAAE;MACjC,MAAMg6D,SAAS,GAAGR,EAAE,CAACx5D,CAAC,CAAC,GAAGuxC,SAAS,GAAG8kB,cAAc,CAACmD,EAAE,CAACx5D,CAAC,CAAC,CAAC,GAAGw7C,cAAc,CAACge,EAAE,CAACx5D,CAAC,CAAC,CAAC;MACnFw5C,KAAK,CACH8f,EAAE,CAACt5D,CAAC,CAAC,EACLg6D,SAAS,EACT3iC,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;IACH;IACA,IAAIqoB,SAAS,GAAGC,SAAS,EAAE;MACzBF,eAAe,CACbL,EAAE,EACFptC,eAAe,EACfmlB,cAAc,EACd,IAAI,EACJ,KAAK,EACLyoB,YACF,CAAC;IACH,CAAC,MAAM;MACLroB,aAAa,CACX+nB,EAAE,EACFniC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SAAS,EACTuoB,YACF,CAAC;IACH;EACF,CAAC;EACD,MAAML,kBAAkB,GAAGA,CAACH,EAAE,EAAEE,EAAE,EAAEniC,SAAS,EAAEic,YAAY,EAAEpnB,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,KAAK;IACnI,IAAIvxC,CAAC,GAAG,CAAC;IACT,MAAMi6D,EAAE,GAAGT,EAAE,CAACl4D,MAAM;IACpB,IAAI44D,EAAE,GAAGZ,EAAE,CAACh4D,MAAM,GAAG,CAAC;IACtB,IAAI8sB,EAAE,GAAG6rC,EAAE,GAAG,CAAC;IACf,OAAOj6D,CAAC,IAAIk6D,EAAE,IAAIl6D,CAAC,IAAIouB,EAAE,EAAE;MACzB,MAAM+iB,EAAE,GAAGmoB,EAAE,CAACt5D,CAAC,CAAC;MAChB,MAAMoxC,EAAE,GAAGooB,EAAE,CAACx5D,CAAC,CAAC,GAAGuxC,SAAS,GAAG8kB,cAAc,CAACmD,EAAE,CAACx5D,CAAC,CAAC,CAAC,GAAGw7C,cAAc,CAACge,EAAE,CAACx5D,CAAC,CAAC,CAAC;MAC5E,IAAIq1C,eAAe,CAAClE,EAAE,EAAEC,EAAE,CAAC,EAAE;QAC3BoI,KAAK,CACHrI,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;MACH,CAAC,MAAM;QACL;MACF;MACAvxC,CAAC,EAAE;IACL;IACA,OAAOA,CAAC,IAAIk6D,EAAE,IAAIl6D,CAAC,IAAIouB,EAAE,EAAE;MACzB,MAAM+iB,EAAE,GAAGmoB,EAAE,CAACY,EAAE,CAAC;MACjB,MAAM9oB,EAAE,GAAGooB,EAAE,CAACprC,EAAE,CAAC,GAAGmjB,SAAS,GAAG8kB,cAAc,CAACmD,EAAE,CAACprC,EAAE,CAAC,CAAC,GAAGotB,cAAc,CAACge,EAAE,CAACprC,EAAE,CAAC,CAAC;MAC/E,IAAIinB,eAAe,CAAClE,EAAE,EAAEC,EAAE,CAAC,EAAE;QAC3BoI,KAAK,CACHrI,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;MACH,CAAC,MAAM;QACL;MACF;MACA2oB,EAAE,EAAE;MACJ9rC,EAAE,EAAE;IACN;IACA,IAAIpuB,CAAC,GAAGk6D,EAAE,EAAE;MACV,IAAIl6D,CAAC,IAAIouB,EAAE,EAAE;QACX,MAAM+rC,OAAO,GAAG/rC,EAAE,GAAG,CAAC;QACtB,MAAMxP,MAAM,GAAGu7C,OAAO,GAAGF,EAAE,GAAGT,EAAE,CAACW,OAAO,CAAC,CAAC96C,EAAE,GAAGi0B,YAAY;QAC3D,OAAOtzC,CAAC,IAAIouB,EAAE,EAAE;UACdorB,KAAK,CACH,IAAI,EACJggB,EAAE,CAACx5D,CAAC,CAAC,GAAGuxC,SAAS,GAAG8kB,cAAc,CAACmD,EAAE,CAACx5D,CAAC,CAAC,CAAC,GAAGw7C,cAAc,CAACge,EAAE,CAACx5D,CAAC,CAAC,CAAC,EACjEq3B,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;UACDvxC,CAAC,EAAE;QACL;MACF;IACF,CAAC,MAAM,IAAIA,CAAC,GAAGouB,EAAE,EAAE;MACjB,OAAOpuB,CAAC,IAAIk6D,EAAE,EAAE;QACd5oC,OAAO,CAACgoC,EAAE,CAACt5D,CAAC,CAAC,EAAEksB,eAAe,EAAEmlB,cAAc,EAAE,IAAI,CAAC;QACrDrxC,CAAC,EAAE;MACL;IACF,CAAC,MAAM;MACL,MAAMo6D,EAAE,GAAGp6D,CAAC;MACZ,MAAMq6D,EAAE,GAAGr6D,CAAC;MACZ,MAAMs6D,gBAAgB,GAAG,eAAgB,IAAIxmC,GAAG,CAAC,CAAC;MAClD,KAAK9zB,CAAC,GAAGq6D,EAAE,EAAEr6D,CAAC,IAAIouB,EAAE,EAAEpuB,CAAC,EAAE,EAAE;QACzB,MAAMg6D,SAAS,GAAGR,EAAE,CAACx5D,CAAC,CAAC,GAAGuxC,SAAS,GAAG8kB,cAAc,CAACmD,EAAE,CAACx5D,CAAC,CAAC,CAAC,GAAGw7C,cAAc,CAACge,EAAE,CAACx5D,CAAC,CAAC,CAAC;QACnF,IAAIg6D,SAAS,CAACr0D,GAAG,IAAI,IAAI,EAAE;UACzB,IAAI,KAAgF,EAAE,EAMrF;UACD20D,gBAAgB,CAAC1xD,GAAG,CAACoxD,SAAS,CAACr0D,GAAG,EAAE3F,CAAC,CAAC;QACxC;MACF;MACA,IAAIqlD,CAAC;MACL,IAAIkV,OAAO,GAAG,CAAC;MACf,MAAMC,WAAW,GAAGpsC,EAAE,GAAGisC,EAAE,GAAG,CAAC;MAC/B,IAAII,KAAK,GAAG,KAAK;MACjB,IAAIC,gBAAgB,GAAG,CAAC;MACxB,MAAMC,qBAAqB,GAAG,IAAI7xC,KAAK,CAAC0xC,WAAW,CAAC;MACpD,KAAKx6D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGw6D,WAAW,EAAEx6D,CAAC,EAAE,EAAE26D,qBAAqB,CAAC36D,CAAC,CAAC,GAAG,CAAC;MAC9D,KAAKA,CAAC,GAAGo6D,EAAE,EAAEp6D,CAAC,IAAIk6D,EAAE,EAAEl6D,CAAC,EAAE,EAAE;QACzB,MAAM46D,SAAS,GAAGtB,EAAE,CAACt5D,CAAC,CAAC;QACvB,IAAIu6D,OAAO,IAAIC,WAAW,EAAE;UAC1BlpC,OAAO,CAACspC,SAAS,EAAE1uC,eAAe,EAAEmlB,cAAc,EAAE,IAAI,CAAC;UACzD;QACF;QACA,IAAIwpB,QAAQ;QACZ,IAAID,SAAS,CAACj1D,GAAG,IAAI,IAAI,EAAE;UACzBk1D,QAAQ,GAAGP,gBAAgB,CAAC7wD,GAAG,CAACmxD,SAAS,CAACj1D,GAAG,CAAC;QAChD,CAAC,MAAM;UACL,KAAK0/C,CAAC,GAAGgV,EAAE,EAAEhV,CAAC,IAAIj3B,EAAE,EAAEi3B,CAAC,EAAE,EAAE;YACzB,IAAIsV,qBAAqB,CAACtV,CAAC,GAAGgV,EAAE,CAAC,KAAK,CAAC,IAAIhlB,eAAe,CAACulB,SAAS,EAAEpB,EAAE,CAACnU,CAAC,CAAC,CAAC,EAAE;cAC5EwV,QAAQ,GAAGxV,CAAC;cACZ;YACF;UACF;QACF;QACA,IAAIwV,QAAQ,KAAK,KAAK,CAAC,EAAE;UACvBvpC,OAAO,CAACspC,SAAS,EAAE1uC,eAAe,EAAEmlB,cAAc,EAAE,IAAI,CAAC;QAC3D,CAAC,MAAM;UACLspB,qBAAqB,CAACE,QAAQ,GAAGR,EAAE,CAAC,GAAGr6D,CAAC,GAAG,CAAC;UAC5C,IAAI66D,QAAQ,IAAIH,gBAAgB,EAAE;YAChCA,gBAAgB,GAAGG,QAAQ;UAC7B,CAAC,MAAM;YACLJ,KAAK,GAAG,IAAI;UACd;UACAjhB,KAAK,CACHohB,SAAS,EACTpB,EAAE,CAACqB,QAAQ,CAAC,EACZxjC,SAAS,EACT,IAAI,EACJnL,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;UACDgpB,OAAO,EAAE;QACX;MACF;MACA,MAAMO,0BAA0B,GAAGL,KAAK,GAAGM,WAAW,CAACJ,qBAAqB,CAAC,GAAG7zB,6DAAS;MACzFue,CAAC,GAAGyV,0BAA0B,CAACx5D,MAAM,GAAG,CAAC;MACzC,KAAKtB,CAAC,GAAGw6D,WAAW,GAAG,CAAC,EAAEx6D,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QACrC,MAAMg7D,SAAS,GAAGX,EAAE,GAAGr6D,CAAC;QACxB,MAAMg6D,SAAS,GAAGR,EAAE,CAACwB,SAAS,CAAC;QAC/B,MAAMp8C,MAAM,GAAGo8C,SAAS,GAAG,CAAC,GAAGf,EAAE,GAAGT,EAAE,CAACwB,SAAS,GAAG,CAAC,CAAC,CAAC37C,EAAE,GAAGi0B,YAAY;QACvE,IAAIqnB,qBAAqB,CAAC36D,CAAC,CAAC,KAAK,CAAC,EAAE;UAClCw5C,KAAK,CACH,IAAI,EACJwgB,SAAS,EACT3iC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACH,CAAC,MAAM,IAAIkpB,KAAK,EAAE;UAChB,IAAIpV,CAAC,GAAG,CAAC,IAAIrlD,CAAC,KAAK86D,0BAA0B,CAACzV,CAAC,CAAC,EAAE;YAChDjS,IAAI,CAAC4mB,SAAS,EAAE3iC,SAAS,EAAEzY,MAAM,EAAE,CAAC,CAAC;UACvC,CAAC,MAAM;YACLymC,CAAC,EAAE;UACL;QACF;MACF;IACF;EACF,CAAC;EACD,MAAMjS,IAAI,GAAGA,CAACvpB,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,EAAE20B,QAAQ,EAAElC,cAAc,GAAG,IAAI,KAAK;IAC1E,MAAM;MAAEhyB,EAAE;MAAEtf,IAAI;MAAE6nB,UAAU;MAAEyC,QAAQ;MAAEP;IAAU,CAAC,GAAGD,KAAK;IAC3D,IAAIC,SAAS,GAAG,CAAC,EAAE;MACjBspB,IAAI,CAACvpB,KAAK,CAACO,SAAS,CAACd,OAAO,EAAE+N,SAAS,EAAEzY,MAAM,EAAE20B,QAAQ,CAAC;MAC1D;IACF;IACA,IAAIzpB,SAAS,GAAG,GAAG,EAAE;MACnBD,KAAK,CAACE,QAAQ,CAACqpB,IAAI,CAAC/b,SAAS,EAAEzY,MAAM,EAAE20B,QAAQ,CAAC;MAChD;IACF;IACA,IAAIzpB,SAAS,GAAG,EAAE,EAAE;MAClB/pB,IAAI,CAACqzC,IAAI,CAACvpB,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,EAAE1T,SAAS,CAAC;MAC9C;IACF;IACA,IAAInL,IAAI,KAAKqb,QAAQ,EAAE;MACrBw5C,UAAU,CAACv1C,EAAE,EAAEgY,SAAS,EAAEzY,MAAM,CAAC;MACjC,KAAK,IAAI5e,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;QACxCozC,IAAI,CAAC/oB,QAAQ,CAACrqB,CAAC,CAAC,EAAEq3B,SAAS,EAAEzY,MAAM,EAAE20B,QAAQ,CAAC;MAChD;MACAqhB,UAAU,CAAC/qC,KAAK,CAACjL,MAAM,EAAEyY,SAAS,EAAEzY,MAAM,CAAC;MAC3C;IACF;IACA,IAAI7e,IAAI,KAAKsb,MAAM,EAAE;MACnB26C,cAAc,CAACnsC,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,CAAC;MACxC;IACF;IACA,MAAMq8C,eAAe,GAAG1nB,QAAQ,KAAK,CAAC,IAAIzpB,SAAS,GAAG,CAAC,IAAIlC,UAAU;IACrE,IAAIqzC,eAAe,EAAE;MACnB,IAAI1nB,QAAQ,KAAK,CAAC,EAAE;QAClB3rB,UAAU,CAACG,WAAW,CAAC1I,EAAE,CAAC;QAC1Bu1C,UAAU,CAACv1C,EAAE,EAAEgY,SAAS,EAAEzY,MAAM,CAAC;QACjC2zB,qBAAqB,CAAC,MAAM3qB,UAAU,CAACnD,KAAK,CAACpF,EAAE,CAAC,EAAEgyB,cAAc,CAAC;MACnE,CAAC,MAAM;QACL,MAAM;UAAE3sB,KAAK;UAAE8wB,UAAU;UAAED;QAAW,CAAC,GAAG3tB,UAAU;QACpD,MAAMszC,OAAO,GAAGA,CAAA,KAAMtG,UAAU,CAACv1C,EAAE,EAAEgY,SAAS,EAAEzY,MAAM,CAAC;QACvD,MAAMu8C,YAAY,GAAGA,CAAA,KAAM;UACzBz2C,KAAK,CAACrF,EAAE,EAAE,MAAM;YACd67C,OAAO,CAAC,CAAC;YACT3lB,UAAU,IAAIA,UAAU,CAAC,CAAC;UAC5B,CAAC,CAAC;QACJ,CAAC;QACD,IAAIC,UAAU,EAAE;UACdA,UAAU,CAACn2B,EAAE,EAAE67C,OAAO,EAAEC,YAAY,CAAC;QACvC,CAAC,MAAM;UACLA,YAAY,CAAC,CAAC;QAChB;MACF;IACF,CAAC,MAAM;MACLvG,UAAU,CAACv1C,EAAE,EAAEgY,SAAS,EAAEzY,MAAM,CAAC;IACnC;EACF,CAAC;EACD,MAAM0S,OAAO,GAAGA,CAACzH,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAE6B,QAAQ,GAAG,KAAK,EAAE3B,SAAS,GAAG,KAAK,KAAK;IAC/F,MAAM;MACJxxC,IAAI;MACJqf,KAAK;MACL6kB,GAAG;MACH5Z,QAAQ;MACRynB,eAAe;MACfhoB,SAAS;MACTotB,SAAS;MACTjH,IAAI;MACJmrB;IACF,CAAC,GAAGvxC,KAAK;IACT,IAAIqtB,SAAS,KAAK,CAAC,CAAC,EAAE;MACpB3F,SAAS,GAAG,KAAK;IACnB;IACA,IAAItN,GAAG,IAAI,IAAI,EAAE;MACf4T,MAAM,CAAC5T,GAAG,EAAE,IAAI,EAAEoN,cAAc,EAAExnB,KAAK,EAAE,IAAI,CAAC;IAChD;IACA,IAAIuxC,UAAU,IAAI,IAAI,EAAE;MACtBlvC,eAAe,CAAC0gB,WAAW,CAACwuB,UAAU,CAAC,GAAG,KAAK,CAAC;IAClD;IACA,IAAItxC,SAAS,GAAG,GAAG,EAAE;MACnBoC,eAAe,CAACkjB,GAAG,CAACmS,UAAU,CAAC13B,KAAK,CAAC;MACrC;IACF;IACA,MAAMwxC,gBAAgB,GAAGvxC,SAAS,GAAG,CAAC,IAAImmB,IAAI;IAC9C,MAAMqrB,qBAAqB,GAAG,CAACrjB,cAAc,CAACpuB,KAAK,CAAC;IACpD,IAAIy3B,SAAS;IACb,IAAIga,qBAAqB,KAAKha,SAAS,GAAGliC,KAAK,IAAIA,KAAK,CAACm8C,oBAAoB,CAAC,EAAE;MAC9ElgB,eAAe,CAACiG,SAAS,EAAEp1B,eAAe,EAAErC,KAAK,CAAC;IACpD;IACA,IAAIC,SAAS,GAAG,CAAC,EAAE;MACjB0xC,gBAAgB,CAAC3xC,KAAK,CAACO,SAAS,EAAEinB,cAAc,EAAE6B,QAAQ,CAAC;IAC7D,CAAC,MAAM;MACL,IAAIppB,SAAS,GAAG,GAAG,EAAE;QACnBD,KAAK,CAACE,QAAQ,CAACuH,OAAO,CAAC+f,cAAc,EAAE6B,QAAQ,CAAC;QAChD;MACF;MACA,IAAImoB,gBAAgB,EAAE;QACpBlrB,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,eAAe,CAAC;MACpE;MACA,IAAIpC,SAAS,GAAG,EAAE,EAAE;QAClBD,KAAK,CAAC9pB,IAAI,CAAC+e,MAAM,CACf+K,KAAK,EACLqC,eAAe,EACfmlB,cAAc,EACdnmC,SAAS,EACTgoC,QACF,CAAC;MACH,CAAC,MAAM,IAAIpB,eAAe;MAAI;MAC9B;MACA;MACA;MACA;MACA,CAACA,eAAe,CAAC2pB,OAAO;MAAI;MAC3B17D,IAAI,KAAKqb,QAAQ,IAAI87B,SAAS,GAAG,CAAC,IAAIA,SAAS,GAAG,EAAE,CAAC,EAAE;QACtDyiB,eAAe,CACb7nB,eAAe,EACf5lB,eAAe,EACfmlB,cAAc,EACd,KAAK,EACL,IACF,CAAC;MACH,CAAC,MAAM,IAAItxC,IAAI,KAAKqb,QAAQ,IAAI87B,SAAS,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC3F,SAAS,IAAIznB,SAAS,GAAG,EAAE,EAAE;QACvF6vC,eAAe,CAACtvC,QAAQ,EAAE6B,eAAe,EAAEmlB,cAAc,CAAC;MAC5D;MACA,IAAI6B,QAAQ,EAAE;QACZp0B,MAAM,CAAC+K,KAAK,CAAC;MACf;IACF;IACA,IAAIyxC,qBAAqB,KAAKha,SAAS,GAAGliC,KAAK,IAAIA,KAAK,CAACsiC,gBAAgB,CAAC,IAAI2Z,gBAAgB,EAAE;MAC9F9oB,qBAAqB,CAAC,MAAM;QAC1B+O,SAAS,IAAIjG,eAAe,CAACiG,SAAS,EAAEp1B,eAAe,EAAErC,KAAK,CAAC;QAC/DwxC,gBAAgB,IAAIlrB,mBAAmB,CAACtmB,KAAK,EAAE,IAAI,EAAEqC,eAAe,EAAE,WAAW,CAAC;MACpF,CAAC,EAAEmlB,cAAc,CAAC;IACpB;EACF,CAAC;EACD,MAAMvyB,MAAM,GAAI+K,KAAK,IAAK;IACxB,MAAM;MAAE9pB,IAAI;MAAEsf,EAAE;MAAET,MAAM;MAAEgJ;IAAW,CAAC,GAAGiC,KAAK;IAC9C,IAAI9pB,IAAI,KAAKqb,QAAQ,EAAE;MACrB,IAAI,KAAiI,EAAE,EAQtI,MAAM;QACLsgD,cAAc,CAACr8C,EAAE,EAAET,MAAM,CAAC;MAC5B;MACA;IACF;IACA,IAAI7e,IAAI,KAAKsb,MAAM,EAAE;MACnB06C,gBAAgB,CAAClsC,KAAK,CAAC;MACvB;IACF;IACA,MAAM8xC,aAAa,GAAGA,CAAA,KAAM;MAC1B1oB,UAAU,CAAC5zB,EAAE,CAAC;MACd,IAAIuI,UAAU,IAAI,CAACA,UAAU,CAAC2sB,SAAS,IAAI3sB,UAAU,CAAC2tB,UAAU,EAAE;QAChE3tB,UAAU,CAAC2tB,UAAU,CAAC,CAAC;MACzB;IACF,CAAC;IACD,IAAI1rB,KAAK,CAACC,SAAS,GAAG,CAAC,IAAIlC,UAAU,IAAI,CAACA,UAAU,CAAC2sB,SAAS,EAAE;MAC9D,MAAM;QAAE7vB,KAAK;QAAE8wB;MAAW,CAAC,GAAG5tB,UAAU;MACxC,MAAMuzC,YAAY,GAAGA,CAAA,KAAMz2C,KAAK,CAACrF,EAAE,EAAEs8C,aAAa,CAAC;MACnD,IAAInmB,UAAU,EAAE;QACdA,UAAU,CAAC3rB,KAAK,CAACxK,EAAE,EAAEs8C,aAAa,EAAER,YAAY,CAAC;MACnD,CAAC,MAAM;QACLA,YAAY,CAAC,CAAC;MAChB;IACF,CAAC,MAAM;MACLQ,aAAa,CAAC,CAAC;IACjB;EACF,CAAC;EACD,MAAMD,cAAc,GAAGA,CAACnyB,GAAG,EAAE/oB,GAAG,KAAK;IACnC,IAAIoK,IAAI;IACR,OAAO2e,GAAG,KAAK/oB,GAAG,EAAE;MAClBoK,IAAI,GAAGwqC,eAAe,CAAC7rB,GAAG,CAAC;MAC3B0J,UAAU,CAAC1J,GAAG,CAAC;MACfA,GAAG,GAAG3e,IAAI;IACZ;IACAqoB,UAAU,CAACzyB,GAAG,CAAC;EACjB,CAAC;EACD,MAAMg7C,gBAAgB,GAAGA,CAAC9yC,QAAQ,EAAE2oB,cAAc,EAAE6B,QAAQ,KAAK;IAC/D,IAAI,KAAkE,EAAE,EAEvE;IACD,MAAM;MAAEgN,GAAG;MAAEyY,KAAK;MAAE9tB,GAAG;MAAEvhB,OAAO;MAAE0pB,EAAE;MAAE3lB,CAAC;MAAEhhB;IAAE,CAAC,GAAGqc,QAAQ;IACvD84B,eAAe,CAACn0B,CAAC,CAAC;IAClBm0B,eAAe,CAACn1C,CAAC,CAAC;IAClB,IAAI6zC,GAAG,EAAE;MACP3iC,sEAAc,CAAC2iC,GAAG,CAAC;IACrB;IACAyY,KAAK,CAACh+B,IAAI,CAAC,CAAC;IACZ,IAAIkQ,GAAG,EAAE;MACPA,GAAG,CAACF,KAAK,IAAI,CAAC;MACdrZ,OAAO,CAAChI,OAAO,EAAEZ,QAAQ,EAAE2oB,cAAc,EAAE6B,QAAQ,CAAC;IACtD;IACA,IAAIF,EAAE,EAAE;MACNT,qBAAqB,CAACS,EAAE,EAAE3B,cAAc,CAAC;IAC3C;IACAkB,qBAAqB,CAAC,MAAM;MAC1B7pB,QAAQ,CAACy3B,WAAW,GAAG,IAAI;IAC7B,CAAC,EAAE9O,cAAc,CAAC;IAClB,IAAIA,cAAc,IAAIA,cAAc,CAACpnB,aAAa,IAAI,CAAConB,cAAc,CAAC8O,WAAW,IAAIz3B,QAAQ,CAAC8uC,QAAQ,IAAI,CAAC9uC,QAAQ,CAACkvC,aAAa,IAAIlvC,QAAQ,CAACkzC,UAAU,KAAKvqB,cAAc,CAACwqB,SAAS,EAAE;MACrLxqB,cAAc,CAACyqB,IAAI,EAAE;MACrB,IAAIzqB,cAAc,CAACyqB,IAAI,KAAK,CAAC,EAAE;QAC7BzqB,cAAc,CAACr7B,OAAO,CAAC,CAAC;MAC1B;IACF;IACA,IAAI,KAAkE,EAAE,EAEvE;EACH,CAAC;EACD,MAAM2jD,eAAe,GAAGA,CAACtvC,QAAQ,EAAE6B,eAAe,EAAEmlB,cAAc,EAAE6B,QAAQ,GAAG,KAAK,EAAE3B,SAAS,GAAG,KAAK,EAAEhxB,KAAK,GAAG,CAAC,KAAK;IACrH,KAAK,IAAIvgB,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAC5CsxB,OAAO,CAACjH,QAAQ,CAACrqB,CAAC,CAAC,EAAEksB,eAAe,EAAEmlB,cAAc,EAAE6B,QAAQ,EAAE3B,SAAS,CAAC;IAC5E;EACF,CAAC;EACD,MAAMgkB,eAAe,GAAI1rC,KAAK,IAAK;IACjC,IAAIA,KAAK,CAACC,SAAS,GAAG,CAAC,EAAE;MACvB,OAAOyrC,eAAe,CAAC1rC,KAAK,CAACO,SAAS,CAACd,OAAO,CAAC;IACjD;IACA,IAAIO,KAAK,CAACC,SAAS,GAAG,GAAG,EAAE;MACzB,OAAOD,KAAK,CAACE,QAAQ,CAACa,IAAI,CAAC,CAAC;IAC9B;IACA,MAAMvL,EAAE,GAAG+1C,eAAe,CAACvrC,KAAK,CAACjL,MAAM,IAAIiL,KAAK,CAACxK,EAAE,CAAC;IACpD,MAAM08C,WAAW,GAAG18C,EAAE,IAAIA,EAAE,CAACgxB,cAAc,CAAC;IAC5C,OAAO0rB,WAAW,GAAG3G,eAAe,CAAC2G,WAAW,CAAC,GAAG18C,EAAE;EACxD,CAAC;EACD,IAAI28C,UAAU,GAAG,KAAK;EACtB,MAAMnpC,MAAM,GAAGA,CAAChJ,KAAK,EAAEwN,SAAS,EAAEnY,SAAS,KAAK;IAC9C,IAAI2K,KAAK,IAAI,IAAI,EAAE;MACjB,IAAIwN,SAAS,CAACsiB,MAAM,EAAE;QACpBroB,OAAO,CAAC+F,SAAS,CAACsiB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;MAC7C;IACF,CAAC,MAAM;MACLH,KAAK,CACHniB,SAAS,CAACsiB,MAAM,IAAI,IAAI,EACxB9vB,KAAK,EACLwN,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,IAAI,EACJnY,SACF,CAAC;IACH;IACAmY,SAAS,CAACsiB,MAAM,GAAG9vB,KAAK;IACxB,IAAI,CAACmyC,UAAU,EAAE;MACfA,UAAU,GAAG,IAAI;MACjB9wB,gBAAgB,CAAC,CAAC;MAClBG,iBAAiB,CAAC,CAAC;MACnB2wB,UAAU,GAAG,KAAK;IACpB;EACF,CAAC;EACD,MAAM9wD,SAAS,GAAG;IAChBqiB,CAAC,EAAEisB,KAAK;IACRxG,EAAE,EAAE1hB,OAAO;IACXjE,CAAC,EAAE+lB,IAAI;IACPqE,CAAC,EAAE34B,MAAM;IACTw6B,EAAE,EAAEC,cAAc;IAClB/H,EAAE,EAAEC,aAAa;IACjBC,EAAE,EAAEC,aAAa;IACjBC,GAAG,EAAEC,kBAAkB;IACvBltB,CAAC,EAAE4wC,eAAe;IAClBjhC,CAAC,EAAEtzB;EACL,CAAC;EACD,IAAI+7B,OAAO;EACX,IAAI6c,WAAW;EACf,IAAI6a,kBAAkB,EAAE;IACtB,CAAC13B,OAAO,EAAE6c,WAAW,CAAC,GAAG6a,kBAAkB,CACzCvpD,SACF,CAAC;EACH;EACA,OAAO;IACL2nB,MAAM;IACNkK,OAAO;IACPpN,SAAS,EAAEk+B,YAAY,CAACh7B,MAAM,EAAEkK,OAAO;EACzC,CAAC;AACH;AACA,SAASo5B,wBAAwBA,CAAC;EAAEp2D,IAAI;EAAEqf;AAAM,CAAC,EAAE68C,gBAAgB,EAAE;EACnE,OAAOA,gBAAgB,KAAK,KAAK,IAAIl8D,IAAI,KAAK,eAAe,IAAIk8D,gBAAgB,KAAK,QAAQ,IAAIl8D,IAAI,KAAK,gBAAgB,IAAIqf,KAAK,IAAIA,KAAK,CAAC88C,QAAQ,IAAI98C,KAAK,CAAC88C,QAAQ,CAAC7vC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG4vC,gBAAgB;AACvN;AACA,SAASxF,aAAaA,CAAC;EAAEpxB,MAAM;EAAEwF;AAAI,CAAC,EAAEsxB,OAAO,EAAE;EAC/C,IAAIA,OAAO,EAAE;IACX92B,MAAM,CAACsF,KAAK,IAAI,EAAE;IAClBE,GAAG,CAACF,KAAK,IAAI,CAAC;EAChB,CAAC,MAAM;IACLtF,MAAM,CAACsF,KAAK,IAAI,CAAC,EAAE;IACnBE,GAAG,CAACF,KAAK,IAAI,CAAC,CAAC;EACjB;AACF;AACA,SAASiQ,cAAcA,CAACvJ,cAAc,EAAEzpB,UAAU,EAAE;EAClD,OAAO,CAAC,CAACypB,cAAc,IAAIA,cAAc,IAAI,CAACA,cAAc,CAACpnB,aAAa,KAAKrC,UAAU,IAAI,CAACA,UAAU,CAAC2sB,SAAS;AACpH;AACA,SAAS1B,sBAAsBA,CAAC1B,EAAE,EAAEC,EAAE,EAAEgrB,OAAO,GAAG,KAAK,EAAE;EACvD,MAAMC,GAAG,GAAGlrB,EAAE,CAAC9mB,QAAQ;EACvB,MAAMiyC,GAAG,GAAGlrB,EAAE,CAAC/mB,QAAQ;EACvB,IAAI/jB,+DAAO,CAAC+1D,GAAG,CAAC,IAAI/1D,+DAAO,CAACg2D,GAAG,CAAC,EAAE;IAChC,KAAK,IAAIt8D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGq8D,GAAG,CAAC/6D,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACnC,MAAMs5D,EAAE,GAAG+C,GAAG,CAACr8D,CAAC,CAAC;MACjB,IAAIw5D,EAAE,GAAG8C,GAAG,CAACt8D,CAAC,CAAC;MACf,IAAIw5D,EAAE,CAAC1vC,SAAS,GAAG,CAAC,IAAI,CAAC0vC,EAAE,CAAC1nB,eAAe,EAAE;QAC3C,IAAI0nB,EAAE,CAACtiB,SAAS,IAAI,CAAC,IAAIsiB,EAAE,CAACtiB,SAAS,KAAK,EAAE,EAAE;UAC5CsiB,EAAE,GAAG8C,GAAG,CAACt8D,CAAC,CAAC,GAAGq2D,cAAc,CAACiG,GAAG,CAACt8D,CAAC,CAAC,CAAC;UACpCw5D,EAAE,CAACn6C,EAAE,GAAGi6C,EAAE,CAACj6C,EAAE;QACf;QACA,IAAI,CAAC+8C,OAAO,IAAI5C,EAAE,CAACtiB,SAAS,KAAK,CAAC,CAAC,EACjCrE,sBAAsB,CAACymB,EAAE,EAAEE,EAAE,CAAC;MAClC;MACA,IAAIA,EAAE,CAACz5D,IAAI,KAAKmc,IAAI,EAAE;QACpBs9C,EAAE,CAACn6C,EAAE,GAAGi6C,EAAE,CAACj6C,EAAE;MACf;MACA,IAAI,KAA0E,EAAE,EAE/E;IACH;EACF;AACF;AACA,SAAS07C,WAAWA,CAACpqD,GAAG,EAAE;EACxB,MAAM4c,CAAC,GAAG5c,GAAG,CAACnF,KAAK,CAAC,CAAC;EACrB,MAAMjK,MAAM,GAAG,CAAC,CAAC,CAAC;EAClB,IAAIvB,CAAC,EAAEqlD,CAAC,EAAEgT,CAAC,EAAEjtC,CAAC,EAAEtG,CAAC;EACjB,MAAMlU,GAAG,GAAGD,GAAG,CAACrP,MAAM;EACtB,KAAKtB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,EAAE,EAAE;IACxB,MAAMu8D,IAAI,GAAG5rD,GAAG,CAAC3Q,CAAC,CAAC;IACnB,IAAIu8D,IAAI,KAAK,CAAC,EAAE;MACdlX,CAAC,GAAG9jD,MAAM,CAACA,MAAM,CAACD,MAAM,GAAG,CAAC,CAAC;MAC7B,IAAIqP,GAAG,CAAC00C,CAAC,CAAC,GAAGkX,IAAI,EAAE;QACjBhvC,CAAC,CAACvtB,CAAC,CAAC,GAAGqlD,CAAC;QACR9jD,MAAM,CAACyS,IAAI,CAAChU,CAAC,CAAC;QACd;MACF;MACAq4D,CAAC,GAAG,CAAC;MACLjtC,CAAC,GAAG7pB,MAAM,CAACD,MAAM,GAAG,CAAC;MACrB,OAAO+2D,CAAC,GAAGjtC,CAAC,EAAE;QACZtG,CAAC,GAAGuzC,CAAC,GAAGjtC,CAAC,IAAI,CAAC;QACd,IAAIza,GAAG,CAACpP,MAAM,CAACujB,CAAC,CAAC,CAAC,GAAGy3C,IAAI,EAAE;UACzBlE,CAAC,GAAGvzC,CAAC,GAAG,CAAC;QACX,CAAC,MAAM;UACLsG,CAAC,GAAGtG,CAAC;QACP;MACF;MACA,IAAIy3C,IAAI,GAAG5rD,GAAG,CAACpP,MAAM,CAAC82D,CAAC,CAAC,CAAC,EAAE;QACzB,IAAIA,CAAC,GAAG,CAAC,EAAE;UACT9qC,CAAC,CAACvtB,CAAC,CAAC,GAAGuB,MAAM,CAAC82D,CAAC,GAAG,CAAC,CAAC;QACtB;QACA92D,MAAM,CAAC82D,CAAC,CAAC,GAAGr4D,CAAC;MACf;IACF;EACF;EACAq4D,CAAC,GAAG92D,MAAM,CAACD,MAAM;EACjB8pB,CAAC,GAAG7pB,MAAM,CAAC82D,CAAC,GAAG,CAAC,CAAC;EACjB,OAAOA,CAAC,EAAE,GAAG,CAAC,EAAE;IACd92D,MAAM,CAAC82D,CAAC,CAAC,GAAGjtC,CAAC;IACbA,CAAC,GAAGmC,CAAC,CAACnC,CAAC,CAAC;EACV;EACA,OAAO7pB,MAAM;AACf;AACA,SAASg3D,0BAA0BA,CAAC7vC,QAAQ,EAAE;EAC5C,MAAM8zC,YAAY,GAAG9zC,QAAQ,CAACY,OAAO,CAACc,SAAS;EAC/C,IAAIoyC,YAAY,EAAE;IAChB,IAAIA,YAAY,CAAChF,QAAQ,IAAI,CAACgF,YAAY,CAAC5E,aAAa,EAAE;MACxD,OAAO4E,YAAY;IACrB,CAAC,MAAM;MACL,OAAOjE,0BAA0B,CAACiE,YAAY,CAAC;IACjD;EACF;AACF;AACA,SAAShb,eAAeA,CAACrM,KAAK,EAAE;EAC9B,IAAIA,KAAK,EAAE;IACT,KAAK,IAAIn1C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGm1C,KAAK,CAAC7zC,MAAM,EAAEtB,CAAC,EAAE,EACnCm1C,KAAK,CAACn1C,CAAC,CAAC,CAAC2qC,KAAK,IAAI,CAAC;EACvB;AACF;AAEA,MAAM8xB,aAAa,GAAG12D,MAAM,CAACq+C,GAAG,CAAC,OAAO,CAAC;AACzC,MAAMsY,aAAa,GAAGA,CAAA,KAAM;EAC1B;IACE,MAAMttB,GAAG,GAAGyb,MAAM,CAAC4R,aAAa,CAAC;IACjC,IAAI,CAACrtB,GAAG,EAAE;MACR,MAAyC,IAAI5H,CAE5C;IACH;IACA,OAAO4H,GAAG;EACZ;AACF,CAAC;AAED,SAASutB,WAAWA,CAACt3B,MAAM,EAAErkC,OAAO,EAAE;EACpC,OAAO47D,OAAO,CAACv3B,MAAM,EAAE,IAAI,EAAErkC,OAAO,CAAC;AACvC;AACA,SAAS67D,eAAeA,CAACx3B,MAAM,EAAErkC,OAAO,EAAE;EACxC,OAAO47D,OAAO,CACZv3B,MAAM,EACN,IAAI,EACJ,MAAyC,GAAG/oB,CAAsC,GAAG;IAAEiN,KAAK,EAAE;EAAO,CACvG,CAAC;AACH;AACA,SAASuzC,eAAeA,CAACz3B,MAAM,EAAErkC,OAAO,EAAE;EACxC,OAAO47D,OAAO,CACZv3B,MAAM,EACN,IAAI,EACJ,MAAyC,GAAG/oB,CAAsC,GAAG;IAAEiN,KAAK,EAAE;EAAO,CACvG,CAAC;AACH;AACA,SAASrO,KAAKA,CAACjP,MAAM,EAAEmZ,EAAE,EAAEpkB,OAAO,EAAE;EAClC,IAAI,KAA4D,EAAE,EAIjE;EACD,OAAO47D,OAAO,CAAC3wD,MAAM,EAAEmZ,EAAE,EAAEpkB,OAAO,CAAC;AACrC;AACA,SAAS47D,OAAOA,CAAC3wD,MAAM,EAAEmZ,EAAE,EAAEpkB,OAAO,GAAGkc,6DAAS,EAAE;EAChD,MAAM;IAAE6/C,SAAS;IAAEzkC,IAAI;IAAE/O,KAAK;IAAEg1B;EAAK,CAAC,GAAGv9C,OAAO;EAChD,IAAI,KAAgD,EAAE,EAgBrD;EACD,MAAMg8D,gBAAgB,GAAG1gD,8DAAM,CAAC,CAAC,CAAC,EAAEtb,OAAO,CAAC;EAC5C,IAAI,KAAyC,EAAEg8D,EAAiC;EAChF,MAAME,eAAe,GAAG93C,EAAE,IAAI23C,SAAS,IAAI,CAAC33C,EAAE,IAAImE,KAAK,KAAK,MAAM;EAClE,IAAI4zC,UAAU;EACd,IAAI7c,qBAAqB,EAAE;IACzB,IAAI/2B,KAAK,KAAK,MAAM,EAAE;MACpB,MAAM6lB,GAAG,GAAGstB,aAAa,CAAC,CAAC;MAC3BS,UAAU,GAAG/tB,GAAG,CAACguB,gBAAgB,KAAKhuB,GAAG,CAACguB,gBAAgB,GAAG,EAAE,CAAC;IAClE,CAAC,MAAM,IAAI,CAACF,eAAe,EAAE;MAC3B,MAAMG,eAAe,GAAGA,CAAA,KAAM,CAC9B,CAAC;MACDA,eAAe,CAAC1iC,IAAI,GAAGne,wDAAI;MAC3B6gD,eAAe,CAACC,MAAM,GAAG9gD,wDAAI;MAC7B6gD,eAAe,CAACE,KAAK,GAAG/gD,wDAAI;MAC5B,OAAO6gD,eAAe;IACxB;EACF;EACA,MAAM30C,QAAQ,GAAG03B,eAAe;EAChC4c,gBAAgB,CAAC11D,IAAI,GAAG,CAACkT,EAAE,EAAEza,IAAI,EAAE2iB,IAAI,KAAKnH,0BAA0B,CAACf,EAAE,EAAEkO,QAAQ,EAAE3oB,IAAI,EAAE2iB,IAAI,CAAC;EAChG,IAAI86C,KAAK,GAAG,KAAK;EACjB,IAAIj0C,KAAK,KAAK,MAAM,EAAE;IACpByzC,gBAAgB,CAACjE,SAAS,GAAIluB,GAAG,IAAK;MACpC0H,qBAAqB,CAAC1H,GAAG,EAAEniB,QAAQ,IAAIA,QAAQ,CAACqB,QAAQ,CAAC;IAC3D,CAAC;EACH,CAAC,MAAM,IAAIR,KAAK,KAAK,MAAM,EAAE;IAC3Bi0C,KAAK,GAAG,IAAI;IACZR,gBAAgB,CAACjE,SAAS,GAAG,CAACluB,GAAG,EAAE4yB,UAAU,KAAK;MAChD,IAAIA,UAAU,EAAE;QACd5yB,GAAG,CAAC,CAAC;MACP,CAAC,MAAM;QACLD,QAAQ,CAACC,GAAG,CAAC;MACf;IACF,CAAC;EACH;EACAmyB,gBAAgB,CAACU,UAAU,GAAI7yB,GAAG,IAAK;IACrC,IAAIzlB,EAAE,EAAE;MACNylB,GAAG,CAACF,KAAK,IAAI,CAAC;IAChB;IACA,IAAI6yB,KAAK,EAAE;MACT3yB,GAAG,CAACF,KAAK,IAAI,CAAC;MACd,IAAIjiB,QAAQ,EAAE;QACZmiB,GAAG,CAACtwB,EAAE,GAAGmO,QAAQ,CAACM,GAAG;QACrB6hB,GAAG,CAAC7qC,CAAC,GAAG0oB,QAAQ;MAClB;IACF;EACF,CAAC;EACD,MAAMi1C,WAAW,GAAGh5B,iEAAO,CAAC14B,MAAM,EAAEmZ,EAAE,EAAE43C,gBAAgB,CAAC;EACzD,IAAI1c,qBAAqB,EAAE;IACzB,IAAI6c,UAAU,EAAE;MACdA,UAAU,CAACnpD,IAAI,CAAC2pD,WAAW,CAAC;IAC9B,CAAC,MAAM,IAAIT,eAAe,EAAE;MAC1BS,WAAW,CAAC,CAAC;IACf;EACF;EACA,OAAOA,WAAW;AACpB;AACA,SAASpW,aAAaA,CAACt7C,MAAM,EAAEvL,KAAK,EAAEM,OAAO,EAAE;EAC7C,MAAMqpD,UAAU,GAAG,IAAI,CAACx2C,KAAK;EAC7B,MAAM4U,MAAM,GAAGlhB,gEAAQ,CAAC0E,MAAM,CAAC,GAAGA,MAAM,CAACogB,QAAQ,CAAC,GAAG,CAAC,GAAG+/B,gBAAgB,CAAC/B,UAAU,EAAEp+C,MAAM,CAAC,GAAG,MAAMo+C,UAAU,CAACp+C,MAAM,CAAC,GAAGA,MAAM,CAACgnB,IAAI,CAACo3B,UAAU,EAAEA,UAAU,CAAC;EAC9J,IAAIjlC,EAAE;EACN,IAAI/d,kEAAU,CAAC3G,KAAK,CAAC,EAAE;IACrB0kB,EAAE,GAAG1kB,KAAK;EACZ,CAAC,MAAM;IACL0kB,EAAE,GAAG1kB,KAAK,CAAC+rB,OAAO;IAClBzrB,OAAO,GAAGN,KAAK;EACjB;EACA,MAAMyiD,KAAK,GAAGC,kBAAkB,CAAC,IAAI,CAAC;EACtC,MAAMx+B,GAAG,GAAGg4C,OAAO,CAACn0C,MAAM,EAAErD,EAAE,CAAC6N,IAAI,CAACo3B,UAAU,CAAC,EAAErpD,OAAO,CAAC;EACzDmiD,KAAK,CAAC,CAAC;EACP,OAAOv+B,GAAG;AACZ;AACA,SAASwnC,gBAAgBA,CAAChd,GAAG,EAAEp+B,IAAI,EAAE;EACnC,MAAM4sD,QAAQ,GAAG5sD,IAAI,CAAC6F,KAAK,CAAC,GAAG,CAAC;EAChC,OAAO,MAAM;IACX,IAAI0yB,GAAG,GAAG6F,GAAG;IACb,KAAK,IAAIpvC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG49D,QAAQ,CAACt8D,MAAM,IAAIioC,GAAG,EAAEvpC,CAAC,EAAE,EAAE;MAC/CupC,GAAG,GAAGA,GAAG,CAACq0B,QAAQ,CAAC59D,CAAC,CAAC,CAAC;IACxB;IACA,OAAOupC,GAAG;EACZ,CAAC;AACH;AAEA,SAASs0B,QAAQA,CAACz+C,KAAK,EAAE5O,IAAI,EAAExP,OAAO,GAAGkc,SAAS,EAAE;EAClD,MAAMld,CAAC,GAAG8a,kBAAkB,CAAC,CAAC;EAC9B,IAAI,KAA+C,EAAE,EAGpD;EACD,MAAMgjD,aAAa,GAAGxiD,QAAQ,CAAC9K,IAAI,CAAC;EACpC,IAAI,KAA8E,EAAE,EAGnF;EACD,MAAMutD,cAAc,GAAGthD,SAAS,CAACjM,IAAI,CAAC;EACtC,MAAMsnB,SAAS,GAAGkmC,iBAAiB,CAAC5+C,KAAK,EAAE0+C,aAAa,CAAC;EACzD,MAAMl5C,GAAG,GAAGggB,SAAS,CAAC,CAACN,KAAK,EAAEG,OAAO,KAAK;IACxC,IAAIw5B,UAAU;IACd,IAAIC,YAAY,GAAGhhD,SAAS;IAC5B,IAAIihD,gBAAgB;IACpBrB,eAAe,CAAC,MAAM;MACpB,MAAMsB,SAAS,GAAGh/C,KAAK,CAAC0+C,aAAa,CAAC;MACtC,IAAI72B,UAAU,CAACg3B,UAAU,EAAEG,SAAS,CAAC,EAAE;QACrCH,UAAU,GAAGG,SAAS;QACtB35B,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC;IACF,OAAO;MACLh7B,GAAGA,CAAA,EAAG;QACJ66B,KAAK,CAAC,CAAC;QACP,OAAOtjC,OAAO,CAACyI,GAAG,GAAGzI,OAAO,CAACyI,GAAG,CAACw0D,UAAU,CAAC,GAAGA,UAAU;MAC3D,CAAC;MACDr1D,GAAGA,CAAClI,KAAK,EAAE;QACT,MAAM29D,YAAY,GAAGr9D,OAAO,CAAC4H,GAAG,GAAG5H,OAAO,CAAC4H,GAAG,CAAClI,KAAK,CAAC,GAAGA,KAAK;QAC7D,IAAI,CAACumC,UAAU,CAACo3B,YAAY,EAAEJ,UAAU,CAAC,IAAI,EAAEC,YAAY,KAAKhhD,SAAS,IAAI+pB,UAAU,CAACvmC,KAAK,EAAEw9D,YAAY,CAAC,CAAC,EAAE;UAC7G;QACF;QACA,MAAMp7C,QAAQ,GAAG9iB,CAAC,CAAC6pB,KAAK,CAACzK,KAAK;QAC9B,IAAI,EAAE0D,QAAQ;QAAI;QACjBtS,IAAI,IAAIsS,QAAQ,IAAIg7C,aAAa,IAAIh7C,QAAQ,IAAIi7C,cAAc,IAAIj7C,QAAQ,CAAC,KAAK,YAAYtS,IAAI,EAAE,IAAIsS,QAAQ,IAAI,YAAYg7C,aAAa,EAAE,IAAIh7C,QAAQ,IAAI,YAAYi7C,cAAc,EAAE,IAAIj7C,QAAQ,CAAC,CAAC,EAAE;UACzMm7C,UAAU,GAAGv9D,KAAK;UAClB+jC,OAAO,CAAC,CAAC;QACX;QACAzkC,CAAC,CAAC4T,IAAI,CAAC,UAAUpD,IAAI,EAAE,EAAE6tD,YAAY,CAAC;QACtC,IAAIp3B,UAAU,CAACvmC,KAAK,EAAE29D,YAAY,CAAC,IAAIp3B,UAAU,CAACvmC,KAAK,EAAEw9D,YAAY,CAAC,IAAI,CAACj3B,UAAU,CAACo3B,YAAY,EAAEF,gBAAgB,CAAC,EAAE;UACrH15B,OAAO,CAAC,CAAC;QACX;QACAy5B,YAAY,GAAGx9D,KAAK;QACpBy9D,gBAAgB,GAAGE,YAAY;MACjC;IACF,CAAC;EACH,CAAC,CAAC;EACFz5C,GAAG,CAAC7e,MAAM,CAAC2E,QAAQ,CAAC,GAAG,MAAM;IAC3B,IAAI4zD,EAAE,GAAG,CAAC;IACV,OAAO;MACL1zC,IAAIA,CAAA,EAAG;QACL,IAAI0zC,EAAE,GAAG,CAAC,EAAE;UACV,OAAO;YAAE59D,KAAK,EAAE49D,EAAE,EAAE,GAAGxmC,SAAS,IAAI5a,SAAS,GAAG0H,GAAG;YAAEvO,IAAI,EAAE;UAAM,CAAC;QACpE,CAAC,MAAM;UACL,OAAO;YAAEA,IAAI,EAAE;UAAK,CAAC;QACvB;MACF;IACF,CAAC;EACH,CAAC;EACD,OAAOuO,GAAG;AACZ;AACA,MAAMo5C,iBAAiB,GAAGA,CAAC5+C,KAAK,EAAEm/C,SAAS,KAAK;EAC9C,OAAOA,SAAS,KAAK,YAAY,IAAIA,SAAS,KAAK,aAAa,GAAGn/C,KAAK,CAACo/C,cAAc,GAAGp/C,KAAK,CAAC,GAAGm/C,SAAS,WAAW,CAAC,IAAIn/C,KAAK,CAAC,GAAG9D,gEAAQ,CAACijD,SAAS,CAAC,WAAW,CAAC,IAAIn/C,KAAK,CAAC,GAAG3C,iEAAS,CAAC8hD,SAAS,CAAC,WAAW,CAAC;AACnN,CAAC;AAED,SAAS3qD,IAAIA,CAAC8U,QAAQ,EAAE/S,KAAK,EAAE,GAAG8oD,OAAO,EAAE;EACzC,IAAI/1C,QAAQ,CAACy3B,WAAW,EAAE;EAC1B,MAAM/gC,KAAK,GAAGsJ,QAAQ,CAACmB,KAAK,CAACzK,KAAK,IAAIlC,6DAAS;EAC/C,IAAI,KAAyC,EAAE,EAwB9C;EACD,IAAIwF,IAAI,GAAG+7C,OAAO;EAClB,MAAM1hD,eAAe,GAAGpH,KAAK,CAAC0V,UAAU,CAAC,SAAS,CAAC;EACnD,MAAMyM,SAAS,GAAG/a,eAAe,IAAIihD,iBAAiB,CAAC5+C,KAAK,EAAEzJ,KAAK,CAACnK,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7E,IAAIssB,SAAS,EAAE;IACb,IAAIA,SAAS,CAAC3xB,IAAI,EAAE;MAClBuc,IAAI,GAAG+7C,OAAO,CAACl4D,GAAG,CAAE8F,CAAC,IAAK9E,gEAAQ,CAAC8E,CAAC,CAAC,GAAGA,CAAC,CAAClG,IAAI,CAAC,CAAC,GAAGkG,CAAC,CAAC;IACvD;IACA,IAAIyrB,SAAS,CAAC7lB,MAAM,EAAE;MACpByQ,IAAI,GAAG+7C,OAAO,CAACl4D,GAAG,CAAC4W,iEAAa,CAAC;IACnC;EACF;EACA,IAAI,KAAkE,EAAE,EAEvE;EACD,IAAI,KAAyC,EAAE,EAY9C;EACD,IAAIwhD,WAAW;EACf,IAAIlyC,OAAO,GAAGrN,KAAK,CAACu/C,WAAW,GAAGh4B,oEAAY,CAAChxB,KAAK,CAAC,CAAC;EAAI;EAC1DyJ,KAAK,CAACu/C,WAAW,GAAGh4B,oEAAY,CAACrrB,gEAAQ,CAAC3F,KAAK,CAAC,CAAC,CAAC;EAClD,IAAI,CAAC8W,OAAO,IAAI1P,eAAe,EAAE;IAC/B0P,OAAO,GAAGrN,KAAK,CAACu/C,WAAW,GAAGh4B,oEAAY,CAAClqB,iEAAS,CAAC9G,KAAK,CAAC,CAAC,CAAC;EAC/D;EACA,IAAI8W,OAAO,EAAE;IACXlR,0BAA0B,CACxBkR,OAAO,EACP/D,QAAQ,EACR,CAAC,EACDhG,IACF,CAAC;EACH;EACA,MAAMk8C,WAAW,GAAGx/C,KAAK,CAACu/C,WAAW,GAAG,MAAM,CAAC;EAC/C,IAAIC,WAAW,EAAE;IACf,IAAI,CAACl2C,QAAQ,CAACm2C,OAAO,EAAE;MACrBn2C,QAAQ,CAACm2C,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC,MAAM,IAAIn2C,QAAQ,CAACm2C,OAAO,CAACF,WAAW,CAAC,EAAE;MACxC;IACF;IACAj2C,QAAQ,CAACm2C,OAAO,CAACF,WAAW,CAAC,GAAG,IAAI;IACpCpjD,0BAA0B,CACxBqjD,WAAW,EACXl2C,QAAQ,EACR,CAAC,EACDhG,IACF,CAAC;EACH;AACF;AACA,SAASo8C,qBAAqBA,CAACnqC,IAAI,EAAE+S,UAAU,EAAEolB,OAAO,GAAG,KAAK,EAAE;EAChE,MAAMjxB,KAAK,GAAG6L,UAAU,CAACyF,UAAU;EACnC,MAAMxhB,MAAM,GAAGkQ,KAAK,CAACpyB,GAAG,CAACkrB,IAAI,CAAC;EAC9B,IAAIhJ,MAAM,KAAK,KAAK,CAAC,EAAE;IACrB,OAAOA,MAAM;EACf;EACA,MAAMgV,GAAG,GAAGhM,IAAI,CAACw4B,KAAK;EACtB,IAAI/iD,UAAU,GAAG,CAAC,CAAC;EACnB,IAAI6mD,UAAU,GAAG,KAAK;EACtB,IAAI/J,KAAmB,IAAI,CAAC7/C,kEAAU,CAACstB,IAAI,CAAC,EAAE;IAC5C,MAAMoqC,WAAW,GAAI5N,IAAI,IAAK;MAC5B,MAAM6N,oBAAoB,GAAGF,qBAAqB,CAAC3N,IAAI,EAAEzpB,UAAU,EAAE,IAAI,CAAC;MAC1E,IAAIs3B,oBAAoB,EAAE;QACxB/N,UAAU,GAAG,IAAI;QACjB30C,8DAAM,CAAClS,UAAU,EAAE40D,oBAAoB,CAAC;MAC1C;IACF,CAAC;IACD,IAAI,CAAClS,OAAO,IAAIplB,UAAU,CAAC4kB,MAAM,CAAChrD,MAAM,EAAE;MACxComC,UAAU,CAAC4kB,MAAM,CAACxsD,OAAO,CAACi/D,WAAW,CAAC;IACxC;IACA,IAAIpqC,IAAI,CAAC43B,OAAO,EAAE;MAChBwS,WAAW,CAACpqC,IAAI,CAAC43B,OAAO,CAAC;IAC3B;IACA,IAAI53B,IAAI,CAAC23B,MAAM,EAAE;MACf33B,IAAI,CAAC23B,MAAM,CAACxsD,OAAO,CAACi/D,WAAW,CAAC;IAClC;EACF;EACA,IAAI,CAACp+B,GAAG,IAAI,CAACswB,UAAU,EAAE;IACvB,IAAI1/C,gEAAQ,CAACojB,IAAI,CAAC,EAAE;MAClBkH,KAAK,CAACjzB,GAAG,CAAC+rB,IAAI,EAAE,IAAI,CAAC;IACvB;IACA,OAAO,IAAI;EACb;EACA,IAAIruB,+DAAO,CAACq6B,GAAG,CAAC,EAAE;IAChBA,GAAG,CAAC7gC,OAAO,CAAE6F,GAAG,IAAKyE,UAAU,CAACzE,GAAG,CAAC,GAAG,IAAI,CAAC;EAC9C,CAAC,MAAM;IACL2W,8DAAM,CAAClS,UAAU,EAAEu2B,GAAG,CAAC;EACzB;EACA,IAAIpvB,gEAAQ,CAACojB,IAAI,CAAC,EAAE;IAClBkH,KAAK,CAACjzB,GAAG,CAAC+rB,IAAI,EAAEvqB,UAAU,CAAC;EAC7B;EACA,OAAOA,UAAU;AACnB;AACA,SAASimD,cAAcA,CAACrvD,OAAO,EAAE2E,GAAG,EAAE;EACpC,IAAI,CAAC3E,OAAO,IAAI,CAAC8b,4DAAI,CAACnX,GAAG,CAAC,EAAE;IAC1B,OAAO,KAAK;EACd;EACAA,GAAG,GAAGA,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,CAAC7D,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EACvC,OAAOsV,8DAAM,CAACjc,OAAO,EAAE2E,GAAG,CAAC,CAAC,CAAC,CAACS,WAAW,CAAC,CAAC,GAAGT,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIyR,8DAAM,CAACjc,OAAO,EAAEyb,iEAAS,CAAC9W,GAAG,CAAC,CAAC,IAAIsX,8DAAM,CAACjc,OAAO,EAAE2E,GAAG,CAAC;AACxH;AAEA,IAAIs5D,aAAa,GAAG,KAAK;AACzB,SAAS9W,iBAAiBA,CAAA,EAAG;EAC3B8W,aAAa,GAAG,IAAI;AACtB;AACA,SAAS/G,mBAAmBA,CAACxvC,QAAQ,EAAE;EACrC,MAAM;IACJ3oB,IAAI,EAAEykD,SAAS;IACf36B,KAAK;IACLhW,KAAK;IACLqrD,SAAS;IACTpX,YAAY,EAAE,CAACA,YAAY,CAAC;IAC5BvlC,KAAK;IACLmkC,KAAK;IACL9yC,IAAI;IACJif,MAAM;IACN+Z,WAAW;IACXxtB,KAAK;IACLrS,IAAI;IACJsrC,UAAU;IACVjJ,GAAG;IACHqc;EACF,CAAC,GAAG/iC,QAAQ;EACZ,MAAMiC,IAAI,GAAGmkB,2BAA2B,CAACpmB,QAAQ,CAAC;EAClD,IAAInnB,MAAM;EACV,IAAI49D,gBAAgB;EACpB,IAAI,KAAyC,EAAE,EAE9C;EACD,IAAI;IACF,IAAIt1C,KAAK,CAACC,SAAS,GAAG,CAAC,EAAE;MACvB,MAAMs1C,UAAU,GAAGF,SAAS,IAAIrrD,KAAK;MACrC,MAAMwrD,SAAS,GAAG,MAAuE,GAAG,CAS1F,GAAGD,UAAU;MACf79D,MAAM,GAAGi6C,cAAc,CACrB3oB,MAAM,CAACvrB,IAAI,CACT+3D,SAAS,EACTD,UAAU,EACVxyB,WAAW,EACX,MAAyC,GAAGvI,CAAsB,GAAGjlB,KAAK,EAC1Ei5B,UAAU,EACVtrC,IAAI,EACJqiC,GACF,CACF,CAAC;MACD+vB,gBAAgB,GAAGzY,KAAK;IAC1B,CAAC,MAAM;MACL,MAAM6Y,OAAO,GAAG/a,SAAS;MACzB,IAAI,KAA4D,EAAE,EAEjE;MACDjjD,MAAM,GAAGi6C,cAAc,CACrB+jB,OAAO,CAACj+D,MAAM,GAAG,CAAC,GAAGi+D,OAAO,CAC1B,MAAyC,GAAGl7B,CAAsB,GAAGjlB,KAAK,EAC1E,MAAyC,GAAG,CAO3C,GAAG;QAAEsnC,KAAK;QAAEnkC,KAAK;QAAE3O;MAAK,CAC3B,CAAC,GAAG2rD,OAAO,CACT,MAAyC,GAAGl7B,CAAsB,GAAGjlB,KAAK,EAC1E,IACF,CACF,CAAC;MACD+/C,gBAAgB,GAAG3a,SAAS,CAACplC,KAAK,GAAGsnC,KAAK,GAAG8Y,wBAAwB,CAAC9Y,KAAK,CAAC;IAC9E;EACF,CAAC,CAAC,OAAOzuC,GAAG,EAAE;IACZwnD,UAAU,CAACn+D,MAAM,GAAG,CAAC;IACrBqX,WAAW,CAACV,GAAG,EAAEyQ,QAAQ,EAAE,CAAC,CAAC;IAC7BnnB,MAAM,GAAGoa,WAAW,CAACoyB,OAAO,CAAC;EAC/B;EACA,IAAI5W,IAAI,GAAG51B,MAAM;EACjB,IAAIm+D,OAAO,GAAG,KAAK,CAAC;EACpB,IAAI,KAA4F,EAAE,EAEjG;EACD,IAAIP,gBAAgB,IAAI1T,YAAY,KAAK,KAAK,EAAE;IAC9C,MAAMrqD,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAC+9D,gBAAgB,CAAC;IAC1C,MAAM;MAAEr1C;IAAU,CAAC,GAAGqN,IAAI;IAC1B,IAAI/1B,IAAI,CAACE,MAAM,EAAE;MACf,IAAIwoB,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;QACvB,IAAIg+B,YAAY,IAAI1mD,IAAI,CAACyhB,IAAI,CAAC9F,mEAAe,CAAC,EAAE;UAC9CoiD,gBAAgB,GAAGS,oBAAoB,CACrCT,gBAAgB,EAChBrX,YACF,CAAC;QACH;QACA3wB,IAAI,GAAGwf,UAAU,CAACxf,IAAI,EAAEgoC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC;MACxD,CAAC,MAAM,IAAI,KAAoF,EAAE,EAwBhG;IACH;EACF;EACA,IAAIt1C,KAAK,CAAComB,IAAI,EAAE;IACd,IAAI,KAAiE,EAAE,EAItE;IACD9Y,IAAI,GAAGwf,UAAU,CAACxf,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;IAC1CA,IAAI,CAAC8Y,IAAI,GAAG9Y,IAAI,CAAC8Y,IAAI,GAAG9Y,IAAI,CAAC8Y,IAAI,CAAC5lC,MAAM,CAACwf,KAAK,CAAComB,IAAI,CAAC,GAAGpmB,KAAK,CAAComB,IAAI;EACnE;EACA,IAAIpmB,KAAK,CAACjC,UAAU,EAAE;IACpB,IAAI,KAAiE,EAAE,EAItE;IACD5L,kBAAkB,CAACmb,IAAI,EAAEtN,KAAK,CAACjC,UAAU,CAAC;EAC5C;EACA,IAAI,KAAoD,EAAE,EAEzD,MAAM;IACLrmB,MAAM,GAAG41B,IAAI;EACf;EACA2X,2BAA2B,CAACnkB,IAAI,CAAC;EACjC,OAAOppB,MAAM;AACf;AACA,MAAMo+D,YAAY,GAAI91C,KAAK,IAAK;EAC9B,MAAMo2C,WAAW,GAAGp2C,KAAK,CAACQ,QAAQ;EAClC,MAAMynB,eAAe,GAAGjoB,KAAK,CAACioB,eAAe;EAC7C,MAAMouB,SAAS,GAAG9J,gBAAgB,CAAC6J,WAAW,EAAE,KAAK,CAAC;EACtD,IAAI,CAACC,SAAS,EAAE;IACd,OAAO,CAACr2C,KAAK,EAAE,KAAK,CAAC,CAAC;EACxB,CAAC,MAAM,IAAI,KAAkG,EAAE,EAE9G;EACD,MAAM5Y,KAAK,GAAGgvD,WAAW,CAACz4D,OAAO,CAAC04D,SAAS,CAAC;EAC5C,MAAMC,YAAY,GAAGruB,eAAe,GAAGA,eAAe,CAACtqC,OAAO,CAAC04D,SAAS,CAAC,GAAG,CAAC,CAAC;EAC9E,MAAMR,OAAO,GAAIU,WAAW,IAAK;IAC/BH,WAAW,CAAChvD,KAAK,CAAC,GAAGmvD,WAAW;IAChC,IAAItuB,eAAe,EAAE;MACnB,IAAIquB,YAAY,GAAG,CAAC,CAAC,EAAE;QACrBruB,eAAe,CAACquB,YAAY,CAAC,GAAGC,WAAW;MAC7C,CAAC,MAAM,IAAIA,WAAW,CAAClpB,SAAS,GAAG,CAAC,EAAE;QACpCrtB,KAAK,CAACioB,eAAe,GAAG,CAAC,GAAGA,eAAe,EAAEsuB,WAAW,CAAC;MAC3D;IACF;EACF,CAAC;EACD,OAAO,CAAC5kB,cAAc,CAAC0kB,SAAS,CAAC,EAAER,OAAO,CAAC;AAC7C,CAAC;AACD,SAAStJ,gBAAgBA,CAAC/rC,QAAQ,EAAEg2C,OAAO,GAAG,IAAI,EAAE;EAClD,IAAIC,UAAU;EACd,KAAK,IAAItgE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqqB,QAAQ,CAAC/oB,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACxC,MAAM0e,KAAK,GAAG2L,QAAQ,CAACrqB,CAAC,CAAC;IACzB,IAAImiD,OAAO,CAACzjC,KAAK,CAAC,EAAE;MAClB,IAAIA,KAAK,CAAC3e,IAAI,KAAKguC,OAAO,IAAIrvB,KAAK,CAAC2L,QAAQ,KAAK,MAAM,EAAE;QACvD,IAAIi2C,UAAU,EAAE;UACd;QACF,CAAC,MAAM;UACLA,UAAU,GAAG5hD,KAAK;UAClB,IAAI,KAA+G,EAAE,EAEpH;QACH;MACF;IACF,CAAC,MAAM;MACL;IACF;EACF;EACA,OAAO4hD,UAAU;AACnB;AACA,MAAMd,wBAAwB,GAAI9Y,KAAK,IAAK;EAC1C,IAAI9hC,GAAG;EACP,KAAK,MAAMjf,GAAG,IAAI+gD,KAAK,EAAE;IACvB,IAAI/gD,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,OAAO,IAAImX,4DAAI,CAACnX,GAAG,CAAC,EAAE;MACnD,CAACif,GAAG,KAAKA,GAAG,GAAG,CAAC,CAAC,CAAC,EAAEjf,GAAG,CAAC,GAAG+gD,KAAK,CAAC/gD,GAAG,CAAC;IACvC;EACF;EACA,OAAOif,GAAG;AACZ,CAAC;AACD,MAAMg7C,oBAAoB,GAAGA,CAAClZ,KAAK,EAAEtnC,KAAK,KAAK;EAC7C,MAAMwF,GAAG,GAAG,CAAC,CAAC;EACd,KAAK,MAAMjf,GAAG,IAAI+gD,KAAK,EAAE;IACvB,IAAI,CAAC3pC,uEAAe,CAACpX,GAAG,CAAC,IAAI,EAAEA,GAAG,CAAC6F,KAAK,CAAC,CAAC,CAAC,IAAI4T,KAAK,CAAC,EAAE;MACrDwF,GAAG,CAACjf,GAAG,CAAC,GAAG+gD,KAAK,CAAC/gD,GAAG,CAAC;IACvB;EACF;EACA,OAAOif,GAAG;AACZ,CAAC;AACD,MAAMo7C,aAAa,GAAIn2C,KAAK,IAAK;EAC/B,OAAOA,KAAK,CAACC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,IAAID,KAAK,CAAC9pB,IAAI,KAAKguC,OAAO;AAC5D,CAAC;AACD,SAAS4pB,qBAAqBA,CAACt9B,SAAS,EAAE++B,SAAS,EAAE7nB,SAAS,EAAE;EAC9D,MAAM;IAAEnyB,KAAK,EAAEi6C,SAAS;IAAEhvC,QAAQ,EAAE0L,YAAY;IAAE3L;EAAU,CAAC,GAAGiQ,SAAS;EACzE,MAAM;IAAEjb,KAAK,EAAEmhD,SAAS;IAAEl2C,QAAQ,EAAEm2C,YAAY;IAAEtpB;EAAU,CAAC,GAAGkiB,SAAS;EACzE,MAAMjM,KAAK,GAAG/iC,SAAS,CAACkmC,YAAY;EACpC,IAAI,KAA4F,EAAE,EAEjG;EACD,IAAI8I,SAAS,CAACnpB,IAAI,IAAImpB,SAAS,CAACxxC,UAAU,EAAE;IAC1C,OAAO,IAAI;EACb;EACA,IAAI2pB,SAAS,IAAI2F,SAAS,IAAI,CAAC,EAAE;IAC/B,IAAIA,SAAS,GAAG,IAAI,EAAE;MACpB,OAAO,IAAI;IACb;IACA,IAAIA,SAAS,GAAG,EAAE,EAAE;MAClB,IAAI,CAACmiB,SAAS,EAAE;QACd,OAAO,CAAC,CAACkH,SAAS;MACpB;MACA,OAAOE,eAAe,CAACpH,SAAS,EAAEkH,SAAS,EAAEpT,KAAK,CAAC;IACrD,CAAC,MAAM,IAAIjW,SAAS,GAAG,CAAC,EAAE;MACxB,MAAMkZ,YAAY,GAAGgJ,SAAS,CAAChJ,YAAY;MAC3C,KAAK,IAAIpwD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGowD,YAAY,CAAC9uD,MAAM,EAAEtB,CAAC,EAAE,EAAE;QAC5C,MAAM2F,GAAG,GAAGyqD,YAAY,CAACpwD,CAAC,CAAC;QAC3B,IAAIugE,SAAS,CAAC56D,GAAG,CAAC,KAAK0zD,SAAS,CAAC1zD,GAAG,CAAC,IAAI,CAAC0qD,cAAc,CAAClD,KAAK,EAAExnD,GAAG,CAAC,EAAE;UACpE,OAAO,IAAI;QACb;MACF;IACF;EACF,CAAC,MAAM;IACL,IAAIowB,YAAY,IAAIyqC,YAAY,EAAE;MAChC,IAAI,CAACA,YAAY,IAAI,CAACA,YAAY,CAAC5M,OAAO,EAAE;QAC1C,OAAO,IAAI;MACb;IACF;IACA,IAAIyF,SAAS,KAAKkH,SAAS,EAAE;MAC3B,OAAO,KAAK;IACd;IACA,IAAI,CAAClH,SAAS,EAAE;MACd,OAAO,CAAC,CAACkH,SAAS;IACpB;IACA,IAAI,CAACA,SAAS,EAAE;MACd,OAAO,IAAI;IACb;IACA,OAAOE,eAAe,CAACpH,SAAS,EAAEkH,SAAS,EAAEpT,KAAK,CAAC;EACrD;EACA,OAAO,KAAK;AACd;AACA,SAASsT,eAAeA,CAACpH,SAAS,EAAEkH,SAAS,EAAEjQ,YAAY,EAAE;EAC3D,MAAMoQ,QAAQ,GAAGr/D,MAAM,CAACD,IAAI,CAACm/D,SAAS,CAAC;EACvC,IAAIG,QAAQ,CAACp/D,MAAM,KAAKD,MAAM,CAACD,IAAI,CAACi4D,SAAS,CAAC,CAAC/3D,MAAM,EAAE;IACrD,OAAO,IAAI;EACb;EACA,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0gE,QAAQ,CAACp/D,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACxC,MAAM2F,GAAG,GAAG+6D,QAAQ,CAAC1gE,CAAC,CAAC;IACvB,IAAIugE,SAAS,CAAC56D,GAAG,CAAC,KAAK0zD,SAAS,CAAC1zD,GAAG,CAAC,IAAI,CAAC0qD,cAAc,CAACC,YAAY,EAAE3qD,GAAG,CAAC,EAAE;MAC3E,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd;AACA,SAASm2C,eAAeA,CAAC;EAAEjyB,KAAK;EAAElL;AAAO,CAAC,EAAEU,EAAE,EAAE;EAC9C,OAAOV,MAAM,EAAE;IACb,MAAMwY,IAAI,GAAGxY,MAAM,CAAC2K,OAAO;IAC3B,IAAI6N,IAAI,CAACpN,QAAQ,IAAIoN,IAAI,CAACpN,QAAQ,CAACC,YAAY,KAAKH,KAAK,EAAE;MACzDsN,IAAI,CAAC9X,EAAE,GAAGwK,KAAK,CAACxK,EAAE;IACpB;IACA,IAAI8X,IAAI,KAAKtN,KAAK,EAAE;MAClB,CAACA,KAAK,GAAGlL,MAAM,CAACkL,KAAK,EAAExK,EAAE,GAAGA,EAAE;MAC9BV,MAAM,GAAGA,MAAM,CAACA,MAAM;IACxB,CAAC,MAAM;MACL;IACF;EACF;AACF;AAEA,MAAMqjC,UAAU,GAAIjiD,IAAI,IAAKA,IAAI,CAAC4gE,YAAY;AAC9C,IAAI/E,UAAU,GAAG,CAAC;AAClB,MAAMgF,YAAY,GAAG;EACnBpwD,IAAI,EAAE,UAAU;EAChB;EACA;EACA;EACA;EACAmwD,YAAY,EAAE,IAAI;EAClB3iD,OAAOA,CAACmzB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAE8H,iBAAiB,EAAE;IACzH,IAAIlI,EAAE,IAAI,IAAI,EAAE;MACd0vB,aAAa,CACXzvB,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfmlB,cAAc,EACdnyB,SAAS,EACToyB,YAAY,EACZC,SAAS,EACT8H,iBACF,CAAC;IACH,CAAC,MAAM;MACL,IAAIhI,cAAc,IAAIA,cAAc,CAACyqB,IAAI,GAAG,CAAC,IAAI,CAAC3qB,EAAE,CAACpnB,QAAQ,CAAC+2C,YAAY,EAAE;QAC1E1vB,EAAE,CAACrnB,QAAQ,GAAGonB,EAAE,CAACpnB,QAAQ;QACzBqnB,EAAE,CAACrnB,QAAQ,CAACF,KAAK,GAAGunB,EAAE;QACtBA,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;QACb;MACF;MACA0hD,aAAa,CACX5vB,EAAE,EACFC,EAAE,EACF/Z,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfhN,SAAS,EACToyB,YAAY,EACZC,SAAS,EACT8H,iBACF,CAAC;IACH;EACF,CAAC;EACDtc,OAAO,EAAEikC,eAAe;EACxB92D,SAAS,EAAE+2D;AACb,CAAC;AACD,MAAMC,QAAQ,GAAGN,gDAAAA,YAAY;AAC7B,SAASO,YAAYA,CAACt3C,KAAK,EAAErZ,IAAI,EAAE;EACjC,MAAM4wD,aAAa,GAAGv3C,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAAC5O,IAAI,CAAC;EACtD,IAAInJ,kEAAU,CAAC+5D,aAAa,CAAC,EAAE;IAC7BA,aAAa,CAAC,CAAC;EACjB;AACF;AACA,SAASP,aAAaA,CAACh3C,KAAK,EAAEwN,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAE8H,iBAAiB,EAAE;EACvI,MAAM;IACJ9rB,CAAC,EAAEisB,KAAK;IACRllB,CAAC,EAAE;MAAEllB;IAAc;EACrB,CAAC,GAAGiqC,iBAAiB;EACrB,MAAMgoB,eAAe,GAAGjyD,aAAa,CAAC,KAAK,CAAC;EAC5C,MAAM2a,QAAQ,GAAGF,KAAK,CAACE,QAAQ,GAAGu3C,sBAAsB,CACtDz3C,KAAK,EACLwnB,cAAc,EACdnlB,eAAe,EACfmL,SAAS,EACTgqC,eAAe,EACfziD,MAAM,EACNM,SAAS,EACToyB,YAAY,EACZC,SAAS,EACT8H,iBACF,CAAC;EACDG,KAAK,CACH,IAAI,EACJzvB,QAAQ,CAACE,aAAa,GAAGJ,KAAK,CAAC+sB,SAAS,EACxCyqB,eAAe,EACf,IAAI,EACJn1C,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YACF,CAAC;EACD,IAAIvnB,QAAQ,CAAC+xC,IAAI,GAAG,CAAC,EAAE;IACrBqF,YAAY,CAACt3C,KAAK,EAAE,WAAW,CAAC;IAChCs3C,YAAY,CAACt3C,KAAK,EAAE,YAAY,CAAC;IACjC2vB,KAAK,CACH,IAAI,EACJ3vB,KAAK,CAACgtB,UAAU,EAChBxf,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACf,IAAI;IACJ;IACAhN,SAAS,EACToyB,YACF,CAAC;IACDiwB,eAAe,CAACx3C,QAAQ,EAAEF,KAAK,CAACgtB,UAAU,CAAC;EAC7C,CAAC,MAAM;IACL9sB,QAAQ,CAAC/T,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;EAC/B;AACF;AACA,SAAS+qD,aAAaA,CAAC5vB,EAAE,EAAEC,EAAE,EAAE/Z,SAAS,EAAEzY,MAAM,EAAEsN,eAAe,EAAEhN,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAE;EAAEhkB,CAAC,EAAEisB,KAAK;EAAExG,EAAE,EAAE1hB,OAAO;EAAEgD,CAAC,EAAE;IAAEllB;EAAc;AAAE,CAAC,EAAE;EACtJ,MAAM2a,QAAQ,GAAGqnB,EAAE,CAACrnB,QAAQ,GAAGonB,EAAE,CAACpnB,QAAQ;EAC1CA,QAAQ,CAACF,KAAK,GAAGunB,EAAE;EACnBA,EAAE,CAAC/xB,EAAE,GAAG8xB,EAAE,CAAC9xB,EAAE;EACb,MAAMmiD,SAAS,GAAGpwB,EAAE,CAACwF,SAAS;EAC9B,MAAM6qB,WAAW,GAAGrwB,EAAE,CAACyF,UAAU;EACjC,MAAM;IAAE7sB,YAAY;IAAEC,aAAa;IAAE62C,YAAY;IAAE52C;EAAY,CAAC,GAAGH,QAAQ;EAC3E,IAAIE,aAAa,EAAE;IACjBF,QAAQ,CAACE,aAAa,GAAGu3C,SAAS;IAClC,IAAInsB,eAAe,CAACmsB,SAAS,EAAEv3C,aAAa,CAAC,EAAE;MAC7CuvB,KAAK,CACHvvB,aAAa,EACbu3C,SAAS,EACTz3C,QAAQ,CAACs3C,eAAe,EACxB,IAAI,EACJn1C,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;MACD,IAAIxnB,QAAQ,CAAC+xC,IAAI,IAAI,CAAC,EAAE;QACtB/xC,QAAQ,CAAC/T,OAAO,CAAC,CAAC;MACpB,CAAC,MAAM,IAAI8qD,YAAY,EAAE;QACvB,IAAI,CAAC52C,WAAW,EAAE;UAChBsvB,KAAK,CACHxvB,YAAY,EACZy3C,WAAW,EACXpqC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACf,IAAI;UACJ;UACAhN,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;UACDgwB,eAAe,CAACx3C,QAAQ,EAAE03C,WAAW,CAAC;QACxC;MACF;IACF,CAAC,MAAM;MACL13C,QAAQ,CAAC8xC,SAAS,GAAGD,UAAU,EAAE;MACjC,IAAI1xC,WAAW,EAAE;QACfH,QAAQ,CAACG,WAAW,GAAG,KAAK;QAC5BH,QAAQ,CAACC,YAAY,GAAGC,aAAa;MACvC,CAAC,MAAM;QACLqH,OAAO,CAACrH,aAAa,EAAEiC,eAAe,EAAEnC,QAAQ,CAAC;MACnD;MACAA,QAAQ,CAAC+xC,IAAI,GAAG,CAAC;MACjB/xC,QAAQ,CAACI,OAAO,CAAC7oB,MAAM,GAAG,CAAC;MAC3ByoB,QAAQ,CAACs3C,eAAe,GAAGjyD,aAAa,CAAC,KAAK,CAAC;MAC/C,IAAI0xD,YAAY,EAAE;QAChBtnB,KAAK,CACH,IAAI,EACJgoB,SAAS,EACTz3C,QAAQ,CAACs3C,eAAe,EACxB,IAAI,EACJn1C,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACD,IAAIxnB,QAAQ,CAAC+xC,IAAI,IAAI,CAAC,EAAE;UACtB/xC,QAAQ,CAAC/T,OAAO,CAAC,CAAC;QACpB,CAAC,MAAM;UACLwjC,KAAK,CACHxvB,YAAY,EACZy3C,WAAW,EACXpqC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACf,IAAI;UACJ;UACAhN,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;UACDgwB,eAAe,CAACx3C,QAAQ,EAAE03C,WAAW,CAAC;QACxC;MACF,CAAC,MAAM,IAAIz3C,YAAY,IAAIqrB,eAAe,CAACmsB,SAAS,EAAEx3C,YAAY,CAAC,EAAE;QACnEwvB,KAAK,CACHxvB,YAAY,EACZw3C,SAAS,EACTnqC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACDxnB,QAAQ,CAAC/T,OAAO,CAAC,IAAI,CAAC;MACxB,CAAC,MAAM;QACLwjC,KAAK,CACH,IAAI,EACJgoB,SAAS,EACTz3C,QAAQ,CAACs3C,eAAe,EACxB,IAAI,EACJn1C,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;QACD,IAAIxnB,QAAQ,CAAC+xC,IAAI,IAAI,CAAC,EAAE;UACtB/xC,QAAQ,CAAC/T,OAAO,CAAC,CAAC;QACpB;MACF;IACF;EACF,CAAC,MAAM;IACL,IAAIgU,YAAY,IAAIqrB,eAAe,CAACmsB,SAAS,EAAEx3C,YAAY,CAAC,EAAE;MAC5DwvB,KAAK,CACHxvB,YAAY,EACZw3C,SAAS,EACTnqC,SAAS,EACTzY,MAAM,EACNsN,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;MACDgwB,eAAe,CAACx3C,QAAQ,EAAEy3C,SAAS,CAAC;IACtC,CAAC,MAAM;MACLL,YAAY,CAAC/vB,EAAE,EAAE,WAAW,CAAC;MAC7BrnB,QAAQ,CAACE,aAAa,GAAGu3C,SAAS;MAClC,IAAIA,SAAS,CAAC13C,SAAS,GAAG,GAAG,EAAE;QAC7BC,QAAQ,CAAC8xC,SAAS,GAAG2F,SAAS,CAACp3C,SAAS,CAACwxC,UAAU;MACrD,CAAC,MAAM;QACL7xC,QAAQ,CAAC8xC,SAAS,GAAGD,UAAU,EAAE;MACnC;MACApiB,KAAK,CACH,IAAI,EACJgoB,SAAS,EACTz3C,QAAQ,CAACs3C,eAAe,EACxB,IAAI,EACJn1C,eAAe,EACfnC,QAAQ,EACR7K,SAAS,EACToyB,YAAY,EACZC,SACF,CAAC;MACD,IAAIxnB,QAAQ,CAAC+xC,IAAI,IAAI,CAAC,EAAE;QACtB/xC,QAAQ,CAAC/T,OAAO,CAAC,CAAC;MACpB,CAAC,MAAM;QACL,MAAM;UAAE5I,OAAO;UAAEyuD;QAAU,CAAC,GAAG9xC,QAAQ;QACvC,IAAI3c,OAAO,GAAG,CAAC,EAAE;UACfkL,UAAU,CAAC,MAAM;YACf,IAAIyR,QAAQ,CAAC8xC,SAAS,KAAKA,SAAS,EAAE;cACpC9xC,QAAQ,CAACw7B,QAAQ,CAACkc,WAAW,CAAC;YAChC;UACF,CAAC,EAAEr0D,OAAO,CAAC;QACb,CAAC,MAAM,IAAIA,OAAO,KAAK,CAAC,EAAE;UACxB2c,QAAQ,CAACw7B,QAAQ,CAACkc,WAAW,CAAC;QAChC;MACF;IACF;EACF;AACF;AACA,IAAI5mB,SAAS,GAAG,KAAK;AACrB,SAASymB,sBAAsBA,CAACz3C,KAAK,EAAEwnB,cAAc,EAAEnlB,eAAe,EAAEmL,SAAS,EAAEgqC,eAAe,EAAEziD,MAAM,EAAEM,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAE8H,iBAAiB,EAAEnvB,WAAW,GAAG,KAAK,EAAE;EACtL,IAAI,KAA+D,EAAE,EAKpE;EACD,MAAM;IACJqD,CAAC,EAAEisB,KAAK;IACRnsB,CAAC,EAAE+lB,IAAI;IACPJ,EAAE,EAAE1hB,OAAO;IACX3M,CAAC,EAAEiG,IAAI;IACP0J,CAAC,EAAE;MAAEvV,UAAU;MAAED;IAAO;EAC1B,CAAC,GAAGu6B,iBAAiB;EACrB,IAAIqoB,gBAAgB;EACpB,MAAMC,aAAa,GAAGC,kBAAkB,CAAC/3C,KAAK,CAAC;EAC/C,IAAI83C,aAAa,EAAE;IACjB,IAAItwB,cAAc,IAAIA,cAAc,CAACpnB,aAAa,EAAE;MAClDy3C,gBAAgB,GAAGrwB,cAAc,CAACwqB,SAAS;MAC3CxqB,cAAc,CAACyqB,IAAI,EAAE;IACvB;EACF;EACA,MAAM1uD,OAAO,GAAGyc,KAAK,CAACzK,KAAK,GAAG7C,gEAAQ,CAACsN,KAAK,CAACzK,KAAK,CAAChS,OAAO,CAAC,GAAG,KAAK,CAAC;EACpE,IAAI,KAAyC,EAAE,EAE9C;EACD,MAAMy0D,aAAa,GAAGjjD,MAAM;EAC5B,MAAMmL,QAAQ,GAAG;IACfF,KAAK;IACLlL,MAAM,EAAE0yB,cAAc;IACtBnlB,eAAe;IACfhN,SAAS;IACTmY,SAAS;IACTgqC,eAAe;IACfvF,IAAI,EAAE,CAAC;IACPD,SAAS,EAAED,UAAU,EAAE;IACvBxuD,OAAO,EAAE,OAAOA,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAG,CAAC,CAAC;IACnD4c,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAE,IAAI;IACnB62C,YAAY,EAAE,CAAC52C,WAAW;IAC1BA,WAAW;IACXi2B,WAAW,EAAE,KAAK;IAClBh2B,OAAO,EAAE,EAAE;IACXnU,OAAOA,CAACsnD,MAAM,GAAG,KAAK,EAAEwE,IAAI,GAAG,KAAK,EAAE;MACpC,IAAI,KAAyC,EAAE,EAW9C;MACD,MAAM;QACJj4C,KAAK,EAAE2sB,MAAM;QACbxsB,YAAY;QACZC,aAAa;QACb4xC,SAAS;QACT1xC,OAAO;QACP+B,eAAe,EAAE61C,gBAAgB;QACjC1qC,SAAS,EAAE4a;MACb,CAAC,GAAGloB,QAAQ;MACZ,IAAIi4C,UAAU,GAAG,KAAK;MACtB,IAAIj4C,QAAQ,CAACG,WAAW,EAAE;QACxBH,QAAQ,CAACG,WAAW,GAAG,KAAK;MAC9B,CAAC,MAAM,IAAI,CAACozC,MAAM,EAAE;QAClB0E,UAAU,GAAGh4C,YAAY,IAAIC,aAAa,CAACrC,UAAU,IAAIqC,aAAa,CAACrC,UAAU,CAAC6I,IAAI,KAAK,QAAQ;QACnG,IAAIuxC,UAAU,EAAE;UACdh4C,YAAY,CAACpC,UAAU,CAAC2tB,UAAU,GAAG,MAAM;YACzC,IAAIsmB,SAAS,KAAK9xC,QAAQ,CAAC8xC,SAAS,EAAE;cACpCzoB,IAAI,CACFnpB,aAAa,EACbgoB,UAAU,EACVrzB,MAAM,KAAKijD,aAAa,GAAGj3C,IAAI,CAACZ,YAAY,CAAC,GAAGpL,MAAM,EACtD,CACF,CAAC;cACD5D,gBAAgB,CAACmP,OAAO,CAAC;YAC3B;UACF,CAAC;QACH;QACA,IAAIH,YAAY,EAAE;UAChB,IAAIjL,UAAU,CAACiL,YAAY,CAAC3K,EAAE,CAAC,KAAK4yB,UAAU,EAAE;YAC9CrzB,MAAM,GAAGgM,IAAI,CAACZ,YAAY,CAAC;UAC7B;UACAsH,OAAO,CAACtH,YAAY,EAAE+3C,gBAAgB,EAAEh4C,QAAQ,EAAE,IAAI,CAAC;QACzD;QACA,IAAI,CAACi4C,UAAU,EAAE;UACf5uB,IAAI,CAACnpB,aAAa,EAAEgoB,UAAU,EAAErzB,MAAM,EAAE,CAAC,CAAC;QAC5C;MACF;MACA2iD,eAAe,CAACx3C,QAAQ,EAAEE,aAAa,CAAC;MACxCF,QAAQ,CAACE,aAAa,GAAG,IAAI;MAC7BF,QAAQ,CAAC+2C,YAAY,GAAG,KAAK;MAC7B,IAAIniD,MAAM,GAAGoL,QAAQ,CAACpL,MAAM;MAC5B,IAAIsjD,qBAAqB,GAAG,KAAK;MACjC,OAAOtjD,MAAM,EAAE;QACb,IAAIA,MAAM,CAACsL,aAAa,EAAE;UACxBtL,MAAM,CAACwL,OAAO,CAACnW,IAAI,CAAC,GAAGmW,OAAO,CAAC;UAC/B83C,qBAAqB,GAAG,IAAI;UAC5B;QACF;QACAtjD,MAAM,GAAGA,MAAM,CAACA,MAAM;MACxB;MACA,IAAI,CAACsjD,qBAAqB,IAAI,CAACD,UAAU,EAAE;QACzChnD,gBAAgB,CAACmP,OAAO,CAAC;MAC3B;MACAJ,QAAQ,CAACI,OAAO,GAAG,EAAE;MACrB,IAAIw3C,aAAa,EAAE;QACjB,IAAItwB,cAAc,IAAIA,cAAc,CAACpnB,aAAa,IAAIy3C,gBAAgB,KAAKrwB,cAAc,CAACwqB,SAAS,EAAE;UACnGxqB,cAAc,CAACyqB,IAAI,EAAE;UACrB,IAAIzqB,cAAc,CAACyqB,IAAI,KAAK,CAAC,IAAI,CAACgG,IAAI,EAAE;YACtCzwB,cAAc,CAACr7B,OAAO,CAAC,CAAC;UAC1B;QACF;MACF;MACAmrD,YAAY,CAAC3qB,MAAM,EAAE,WAAW,CAAC;IACnC,CAAC;IACD+O,QAAQA,CAAC2c,aAAa,EAAE;MACtB,IAAI,CAACn4C,QAAQ,CAACE,aAAa,EAAE;QAC3B;MACF;MACA,MAAM;QAAEJ,KAAK,EAAE2sB,MAAM;QAAExsB,YAAY;QAAEkC,eAAe,EAAE61C,gBAAgB;QAAE1qC,SAAS,EAAE4a,UAAU;QAAE/yB,SAAS,EAAEijD;MAAW,CAAC,GAAGp4C,QAAQ;MACjIo3C,YAAY,CAAC3qB,MAAM,EAAE,YAAY,CAAC;MAClC,MAAMtE,OAAO,GAAGtnB,IAAI,CAACZ,YAAY,CAAC;MAClC,MAAMo4C,aAAa,GAAGA,CAAA,KAAM;QAC1B,IAAI,CAACr4C,QAAQ,CAAC+2C,YAAY,EAAE;UAC1B;QACF;QACAtnB,KAAK,CACH,IAAI,EACJ0oB,aAAa,EACbjwB,UAAU,EACVC,OAAO,EACP6vB,gBAAgB,EAChB,IAAI;QACJ;QACAI,UAAU,EACV7wB,YAAY,EACZC,SACF,CAAC;QACDgwB,eAAe,CAACx3C,QAAQ,EAAEm4C,aAAa,CAAC;MAC1C,CAAC;MACD,MAAMF,UAAU,GAAGE,aAAa,CAACt6C,UAAU,IAAIs6C,aAAa,CAACt6C,UAAU,CAAC6I,IAAI,KAAK,QAAQ;MACzF,IAAIuxC,UAAU,EAAE;QACdh4C,YAAY,CAACpC,UAAU,CAAC2tB,UAAU,GAAG6sB,aAAa;MACpD;MACAr4C,QAAQ,CAAC+2C,YAAY,GAAG,IAAI;MAC5BxvC,OAAO,CACLtH,YAAY,EACZ+3C,gBAAgB,EAChB,IAAI;MACJ;MACA;MACA;MACF,CAAC;MACD,IAAI,CAACC,UAAU,EAAE;QACfI,aAAa,CAAC,CAAC;MACjB;IACF,CAAC;IACDhvB,IAAIA,CAACnB,UAAU,EAAEC,OAAO,EAAEnyC,IAAI,EAAE;MAC9BgqB,QAAQ,CAACC,YAAY,IAAIopB,IAAI,CAACrpB,QAAQ,CAACC,YAAY,EAAEioB,UAAU,EAAEC,OAAO,EAAEnyC,IAAI,CAAC;MAC/EgqB,QAAQ,CAACsN,SAAS,GAAG4a,UAAU;IACjC,CAAC;IACDrnB,IAAIA,CAAA,EAAG;MACL,OAAOb,QAAQ,CAACC,YAAY,IAAIY,IAAI,CAACb,QAAQ,CAACC,YAAY,CAAC;IAC7D,CAAC;IACDytC,WAAWA,CAAC/uC,QAAQ,EAAEgvC,iBAAiB,EAAE2K,UAAU,EAAE;MACnD,MAAMC,mBAAmB,GAAG,CAAC,CAACv4C,QAAQ,CAACE,aAAa;MACpD,IAAIq4C,mBAAmB,EAAE;QACvBv4C,QAAQ,CAAC+xC,IAAI,EAAE;MACjB;MACA,MAAMyG,UAAU,GAAG75C,QAAQ,CAACmB,KAAK,CAACxK,EAAE;MACpCqJ,QAAQ,CAAC8uC,QAAQ,CAACvuB,KAAK,CAAEhxB,GAAG,IAAK;QAC/BU,WAAW,CAACV,GAAG,EAAEyQ,QAAQ,EAAE,CAAC,CAAC;MAC/B,CAAC,CAAC,CAAC+E,IAAI,CAAE+0C,gBAAgB,IAAK;QAC5B,IAAI95C,QAAQ,CAACy3B,WAAW,IAAIp2B,QAAQ,CAACo2B,WAAW,IAAIp2B,QAAQ,CAAC8xC,SAAS,KAAKnzC,QAAQ,CAACkzC,UAAU,EAAE;UAC9F;QACF;QACAlzC,QAAQ,CAACkvC,aAAa,GAAG,IAAI;QAC7B,MAAM;UAAE/tC,KAAK,EAAE2sB;QAAO,CAAC,GAAG9tB,QAAQ;QAClC,IAAI,KAAyC,EAAE,EAE9C;QACD+5C,iBAAiB,CAAC/5C,QAAQ,EAAE85C,gBAAgB,EAAE,KAAK,CAAC;QACpD,IAAID,UAAU,EAAE;UACd/rB,MAAM,CAACn3B,EAAE,GAAGkjD,UAAU;QACxB;QACA,MAAMxwB,WAAW,GAAG,CAACwwB,UAAU,IAAI75C,QAAQ,CAACY,OAAO,CAACjK,EAAE;QACtDq4C,iBAAiB,CACfhvC,QAAQ,EACR8tB,MAAM;QACN;QACA;QACA;QACAz3B,UAAU,CAACwjD,UAAU,IAAI75C,QAAQ,CAACY,OAAO,CAACjK,EAAE,CAAC;QAC7C;QACA;QACAkjD,UAAU,GAAG,IAAI,GAAG33C,IAAI,CAAClC,QAAQ,CAACY,OAAO,CAAC,EAC1CS,QAAQ,EACR7K,SAAS,EACTmjD,UACF,CAAC;QACD,IAAItwB,WAAW,EAAE;UACfjzB,MAAM,CAACizB,WAAW,CAAC;QACrB;QACA+J,eAAe,CAACpzB,QAAQ,EAAE8tB,MAAM,CAACn3B,EAAE,CAAC;QACpC,IAAI,KAAyC,EAAE,EAE9C;QACD,IAAIijD,mBAAmB,IAAI,EAAEv4C,QAAQ,CAAC+xC,IAAI,KAAK,CAAC,EAAE;UAChD/xC,QAAQ,CAAC/T,OAAO,CAAC,CAAC;QACpB;MACF,CAAC,CAAC;IACJ,CAAC;IACDsb,OAAOA,CAACoxC,eAAe,EAAExvB,QAAQ,EAAE;MACjCnpB,QAAQ,CAACo2B,WAAW,GAAG,IAAI;MAC3B,IAAIp2B,QAAQ,CAACC,YAAY,EAAE;QACzBsH,OAAO,CACLvH,QAAQ,CAACC,YAAY,EACrBkC,eAAe,EACfw2C,eAAe,EACfxvB,QACF,CAAC;MACH;MACA,IAAInpB,QAAQ,CAACE,aAAa,EAAE;QAC1BqH,OAAO,CACLvH,QAAQ,CAACE,aAAa,EACtBiC,eAAe,EACfw2C,eAAe,EACfxvB,QACF,CAAC;MACH;IACF;EACF,CAAC;EACD,OAAOnpB,QAAQ;AACjB;AACA,SAASi3C,eAAeA,CAACnhD,IAAI,EAAEgK,KAAK,EAAEqC,eAAe,EAAEmlB,cAAc,EAAEnyB,SAAS,EAAEoyB,YAAY,EAAEC,SAAS,EAAE8H,iBAAiB,EAAEO,WAAW,EAAE;EACzI,MAAM7vB,QAAQ,GAAGF,KAAK,CAACE,QAAQ,GAAGu3C,sBAAsB,CACtDz3C,KAAK,EACLwnB,cAAc,EACdnlB,eAAe,EACfrM,IAAI,CAACd,UAAU;EACf;EACA5P,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,EAC7B,IAAI,EACJ8P,SAAS,EACToyB,YAAY,EACZC,SAAS,EACT8H,iBAAiB,EACjB,IACF,CAAC;EACD,MAAM93C,MAAM,GAAGq4C,WAAW,CACxB/5B,IAAI,EACJkK,QAAQ,CAACE,aAAa,GAAGJ,KAAK,CAAC+sB,SAAS,EACxC1qB,eAAe,EACfnC,QAAQ,EACRunB,YAAY,EACZC,SACF,CAAC;EACD,IAAIxnB,QAAQ,CAAC+xC,IAAI,KAAK,CAAC,EAAE;IACvB/xC,QAAQ,CAAC/T,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;EAC/B;EACA,OAAOzU,MAAM;AACf;AACA,SAAS0/D,yBAAyBA,CAACp3C,KAAK,EAAE;EACxC,MAAM;IAAEC,SAAS;IAAEO;EAAS,CAAC,GAAGR,KAAK;EACrC,MAAM84C,cAAc,GAAG74C,SAAS,GAAG,EAAE;EACrCD,KAAK,CAAC+sB,SAAS,GAAGgsB,qBAAqB,CACrCD,cAAc,GAAGt4C,QAAQ,CAAC9I,OAAO,GAAG8I,QACtC,CAAC;EACDR,KAAK,CAACgtB,UAAU,GAAG8rB,cAAc,GAAGC,qBAAqB,CAACv4C,QAAQ,CAACk7B,QAAQ,CAAC,GAAG5pC,WAAW,CAACoyB,OAAO,CAAC;AACrG;AACA,SAAS60B,qBAAqBA,CAAC57C,CAAC,EAAE;EAChC,IAAI67C,KAAK;EACT,IAAIx7D,kEAAU,CAAC2f,CAAC,CAAC,EAAE;IACjB,MAAM87C,UAAU,GAAGC,kBAAkB,IAAI/7C,CAAC,CAAC2oB,EAAE;IAC7C,IAAImzB,UAAU,EAAE;MACd97C,CAAC,CAACwoB,EAAE,GAAG,KAAK;MACZiW,SAAS,CAAC,CAAC;IACb;IACAz+B,CAAC,GAAGA,CAAC,CAAC,CAAC;IACP,IAAI87C,UAAU,EAAE;MACd97C,CAAC,CAACwoB,EAAE,GAAG,IAAI;MACXqzB,KAAK,GAAGG,YAAY;MACpBC,UAAU,CAAC,CAAC;IACd;EACF;EACA,IAAI38D,+DAAO,CAAC0gB,CAAC,CAAC,EAAE;IACd,MAAMk8C,WAAW,GAAG9M,gBAAgB,CAACpvC,CAAC,CAAC;IACvC,IAAI,KAA6H,EAAE,EAElI;IACDA,CAAC,GAAGk8C,WAAW;EACjB;EACAl8C,CAAC,GAAGw0B,cAAc,CAACx0B,CAAC,CAAC;EACrB,IAAI67C,KAAK,IAAI,CAAC77C,CAAC,CAAC8qB,eAAe,EAAE;IAC/B9qB,CAAC,CAAC8qB,eAAe,GAAG+wB,KAAK,CAAC17D,MAAM,CAAE2d,CAAC,IAAKA,CAAC,KAAKkC,CAAC,CAAC;EAClD;EACA,OAAOA,CAAC;AACV;AACA,SAASs0B,uBAAuBA,CAAC9gC,EAAE,EAAEuP,QAAQ,EAAE;EAC7C,IAAIA,QAAQ,IAAIA,QAAQ,CAACE,aAAa,EAAE;IACtC,IAAI3jB,+DAAO,CAACkU,EAAE,CAAC,EAAE;MACfuP,QAAQ,CAACI,OAAO,CAACnW,IAAI,CAAC,GAAGwG,EAAE,CAAC;IAC9B,CAAC,MAAM;MACLuP,QAAQ,CAACI,OAAO,CAACnW,IAAI,CAACwG,EAAE,CAAC;IAC3B;EACF,CAAC,MAAM;IACLQ,gBAAgB,CAACR,EAAE,CAAC;EACtB;AACF;AACA,SAAS+mD,eAAeA,CAACx3C,QAAQ,EAAEo5C,MAAM,EAAE;EACzCp5C,QAAQ,CAACC,YAAY,GAAGm5C,MAAM;EAC9B,MAAM;IAAEt5C,KAAK;IAAEqC;EAAgB,CAAC,GAAGnC,QAAQ;EAC3C,IAAI1K,EAAE,GAAG8jD,MAAM,CAAC9jD,EAAE;EAClB,OAAO,CAACA,EAAE,IAAI8jD,MAAM,CAAC/4C,SAAS,EAAE;IAC9B+4C,MAAM,GAAGA,MAAM,CAAC/4C,SAAS,CAACd,OAAO;IACjCjK,EAAE,GAAG8jD,MAAM,CAAC9jD,EAAE;EAChB;EACAwK,KAAK,CAACxK,EAAE,GAAGA,EAAE;EACb,IAAI6M,eAAe,IAAIA,eAAe,CAAC5C,OAAO,KAAKO,KAAK,EAAE;IACxDqC,eAAe,CAACrC,KAAK,CAACxK,EAAE,GAAGA,EAAE;IAC7By8B,eAAe,CAAC5vB,eAAe,EAAE7M,EAAE,CAAC;EACtC;AACF;AACA,SAASuiD,kBAAkBA,CAAC/3C,KAAK,EAAE;EACjC,MAAMw1B,WAAW,GAAGx1B,KAAK,CAACzK,KAAK,IAAIyK,KAAK,CAACzK,KAAK,CAACigC,WAAW;EAC1D,OAAOA,WAAW,IAAI,IAAI,IAAIA,WAAW,KAAK,KAAK;AACrD;AAEA,MAAMjkC,QAAQ,GAAGrV,MAAM,CAACq+C,GAAG,CAAC,OAAO,CAAC;AACpC,MAAMloC,IAAI,GAAGnW,MAAM,CAACq+C,GAAG,CAAC,OAAO,CAAC;AAChC,MAAMrW,OAAO,GAAGhoC,MAAM,CAACq+C,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM/oC,MAAM,GAAGtV,MAAM,CAACq+C,GAAG,CAAC,OAAO,CAAC;AAClC,MAAMqb,UAAU,GAAG,EAAE;AACrB,IAAIuD,YAAY,GAAG,IAAI;AACvB,SAASvd,SAASA,CAAC2d,eAAe,GAAG,KAAK,EAAE;EAC1C3D,UAAU,CAACzrD,IAAI,CAACgvD,YAAY,GAAGI,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7D;AACA,SAASH,UAAUA,CAAA,EAAG;EACpBxD,UAAU,CAACn4B,GAAG,CAAC,CAAC;EAChB07B,YAAY,GAAGvD,UAAU,CAACA,UAAU,CAACn+D,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;AAC1D;AACA,IAAIyhE,kBAAkB,GAAG,CAAC;AAC1B,SAAStzB,gBAAgBA,CAAC/uC,KAAK,EAAE2iE,OAAO,GAAG,KAAK,EAAE;EAChDN,kBAAkB,IAAIriE,KAAK;EAC3B,IAAIA,KAAK,GAAG,CAAC,IAAIsiE,YAAY,IAAIK,OAAO,EAAE;IACxCL,YAAY,CAACvH,OAAO,GAAG,IAAI;EAC7B;AACF;AACA,SAAS6H,UAAUA,CAACz5C,KAAK,EAAE;EACzBA,KAAK,CAACioB,eAAe,GAAGixB,kBAAkB,GAAG,CAAC,GAAGC,YAAY,IAAIl8B,6DAAS,GAAG,IAAI;EACjFm8B,UAAU,CAAC,CAAC;EACZ,IAAIF,kBAAkB,GAAG,CAAC,IAAIC,YAAY,EAAE;IAC1CA,YAAY,CAAChvD,IAAI,CAAC6V,KAAK,CAAC;EAC1B;EACA,OAAOA,KAAK;AACd;AACA,SAAS05C,kBAAkBA,CAACxjE,IAAI,EAAEqf,KAAK,EAAEiL,QAAQ,EAAE6sB,SAAS,EAAEkZ,YAAY,EAAEtmC,SAAS,EAAE;EACrF,OAAOw5C,UAAU,CACfE,eAAe,CACbzjE,IAAI,EACJqf,KAAK,EACLiL,QAAQ,EACR6sB,SAAS,EACTkZ,YAAY,EACZtmC,SAAS,EACT,IACF,CACF,CAAC;AACH;AACA,SAAS47B,WAAWA,CAAC3lD,IAAI,EAAEqf,KAAK,EAAEiL,QAAQ,EAAE6sB,SAAS,EAAEkZ,YAAY,EAAE;EACnE,OAAOkT,UAAU,CACf3nD,WAAW,CACT5b,IAAI,EACJqf,KAAK,EACLiL,QAAQ,EACR6sB,SAAS,EACTkZ,YAAY,EACZ,IACF,CACF,CAAC;AACH;AACA,SAASjO,OAAOA,CAACzhD,KAAK,EAAE;EACtB,OAAOA,KAAK,GAAGA,KAAK,CAAC+iE,WAAW,KAAK,IAAI,GAAG,KAAK;AACnD;AACA,SAASpuB,eAAeA,CAAClE,EAAE,EAAEC,EAAE,EAAE;EAC/B,IAAI,KAA6E,EAAE,EAOlF;EACD,OAAOD,EAAE,CAACpxC,IAAI,KAAKqxC,EAAE,CAACrxC,IAAI,IAAIoxC,EAAE,CAACxrC,GAAG,KAAKyrC,EAAE,CAACzrC,GAAG;AACjD;AACA,IAAI+9D,oBAAoB;AACxB,SAASC,kBAAkBA,CAACC,WAAW,EAAE;EACvCF,oBAAoB,GAAGE,WAAW;AACpC;AACA,MAAMC,4BAA4B,GAAGA,CAAC,GAAGnhD,IAAI,KAAK;EAChD,OAAOyP,YAAY,CACjB,IAAGuxC,oBAAoB,GAAGA,oBAAoB,CAAChhD,IAAI,EAAEksB,wBAAwB,CAAC,GAAGlsB,IAAI,CACvF,CAAC;AACH,CAAC;AACD,MAAMohD,YAAY,GAAGA,CAAC;EAAEn+D;AAAI,CAAC,KAAKA,GAAG,IAAI,IAAI,GAAGA,GAAG,GAAG,IAAI;AAC1D,MAAMo+D,YAAY,GAAGA,CAAC;EACpB9/B,GAAG;EACH+/B,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,IAAI,OAAOhgC,GAAG,KAAK,QAAQ,EAAE;IAC3BA,GAAG,GAAG,EAAE,GAAGA,GAAG;EAChB;EACA,OAAOA,GAAG,IAAI,IAAI,GAAG18B,gEAAQ,CAAC08B,GAAG,CAAC,IAAIL,iEAAK,CAACK,GAAG,CAAC,IAAI58B,kEAAU,CAAC48B,GAAG,CAAC,GAAG;IAAEjkC,CAAC,EAAE4uC,wBAAwB;IAAE6I,CAAC,EAAExT,GAAG;IAAExH,CAAC,EAAEunC,OAAO;IAAErrB,CAAC,EAAE,CAAC,CAACsrB;EAAQ,CAAC,GAAGhgC,GAAG,GAAG,IAAI;AACtJ,CAAC;AACD,SAASu/B,eAAeA,CAACzjE,IAAI,EAAEqf,KAAK,GAAG,IAAI,EAAEiL,QAAQ,GAAG,IAAI,EAAE6sB,SAAS,GAAG,CAAC,EAAEkZ,YAAY,GAAG,IAAI,EAAEtmC,SAAS,GAAG/pB,IAAI,KAAKqb,QAAQ,GAAG,CAAC,GAAG,CAAC,EAAE8oD,WAAW,GAAG,KAAK,EAAEC,6BAA6B,GAAG,KAAK,EAAE;EACnM,MAAMt6C,KAAK,GAAG;IACZ45C,WAAW,EAAE,IAAI;IACjBW,QAAQ,EAAE,IAAI;IACdrkE,IAAI;IACJqf,KAAK;IACLzZ,GAAG,EAAEyZ,KAAK,IAAI0kD,YAAY,CAAC1kD,KAAK,CAAC;IACjC6kB,GAAG,EAAE7kB,KAAK,IAAI2kD,YAAY,CAAC3kD,KAAK,CAAC;IACjCgV,OAAO,EAAEya,cAAc;IACvByC,YAAY,EAAE,IAAI;IAClBjnB,QAAQ;IACRD,SAAS,EAAE,IAAI;IACfL,QAAQ,EAAE,IAAI;IACd6sB,SAAS,EAAE,IAAI;IACfC,UAAU,EAAE,IAAI;IAChB5G,IAAI,EAAE,IAAI;IACVroB,UAAU,EAAE,IAAI;IAChBvI,EAAE,EAAE,IAAI;IACRT,MAAM,EAAE,IAAI;IACZ5T,MAAM,EAAE,IAAI;IACZynC,WAAW,EAAE,IAAI;IACjBL,YAAY,EAAE,IAAI;IAClBgI,WAAW,EAAE,CAAC;IACdtwB,SAAS;IACTotB,SAAS;IACTkZ,YAAY;IACZte,eAAe,EAAE,IAAI;IACrBpK,UAAU,EAAE,IAAI;IAChB0H,GAAG,EAAER;EACP,CAAC;EACD,IAAIu1B,6BAA6B,EAAE;IACjCE,iBAAiB,CAACx6C,KAAK,EAAEQ,QAAQ,CAAC;IAClC,IAAIP,SAAS,GAAG,GAAG,EAAE;MACnB/pB,IAAI,CAACmK,SAAS,CAAC2f,KAAK,CAAC;IACvB;EACF,CAAC,MAAM,IAAIQ,QAAQ,EAAE;IACnBR,KAAK,CAACC,SAAS,IAAIviB,gEAAQ,CAAC8iB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;EAChD;EACA,IAAI,KAAoE,EAAE,EAEzE;EACD,IAAI04C,kBAAkB,GAAG,CAAC;EAAI;EAC9B,CAACmB,WAAW;EAAI;EAChBlB,YAAY;EAAI;EAChB;EACA;EACA;EACCn5C,KAAK,CAACqtB,SAAS,GAAG,CAAC,IAAIptB,SAAS,GAAG,CAAC,CAAC;EAAI;EAC1C;EACAD,KAAK,CAACqtB,SAAS,KAAK,EAAE,EAAE;IACtB8rB,YAAY,CAAChvD,IAAI,CAAC6V,KAAK,CAAC;EAC1B;EACA,OAAOA,KAAK;AACd;AACA,MAAMlO,WAAW,GAAG,MAAyC,GAAGkoD,CAA4B,GAAG1xC,YAAY;AAC3G,SAASA,YAAYA,CAACpyB,IAAI,EAAEqf,KAAK,GAAG,IAAI,EAAEiL,QAAQ,GAAG,IAAI,EAAE6sB,SAAS,GAAG,CAAC,EAAEkZ,YAAY,GAAG,IAAI,EAAE8T,WAAW,GAAG,KAAK,EAAE;EAClH,IAAI,CAACnkE,IAAI,IAAIA,IAAI,KAAKokD,sBAAsB,EAAE;IAC5C,IAAI,KAAkD,EAAE,EAEvD;IACDpkD,IAAI,GAAGguC,OAAO;EAChB;EACA,IAAIoU,OAAO,CAACpiD,IAAI,CAAC,EAAE;IACjB,MAAMi5B,MAAM,GAAG2d,UAAU,CACvB52C,IAAI,EACJqf,KAAK,EACL;IACA,oBACF,CAAC;IACD,IAAIiL,QAAQ,EAAE;MACZg6C,iBAAiB,CAACrrC,MAAM,EAAE3O,QAAQ,CAAC;IACrC;IACA,IAAI04C,kBAAkB,GAAG,CAAC,IAAI,CAACmB,WAAW,IAAIlB,YAAY,EAAE;MAC1D,IAAIhqC,MAAM,CAAClP,SAAS,GAAG,CAAC,EAAE;QACxBk5C,YAAY,CAACA,YAAY,CAACx7D,OAAO,CAACzH,IAAI,CAAC,CAAC,GAAGi5B,MAAM;MACnD,CAAC,MAAM;QACLgqC,YAAY,CAAChvD,IAAI,CAACglB,MAAM,CAAC;MAC3B;IACF;IACAA,MAAM,CAACke,SAAS,GAAG,CAAC,CAAC;IACrB,OAAOle,MAAM;EACf;EACA,IAAIyT,gBAAgB,CAAC1sC,IAAI,CAAC,EAAE;IAC1BA,IAAI,GAAGA,IAAI,CAAC2sC,SAAS;EACvB;EACA,IAAIttB,KAAK,EAAE;IACTA,KAAK,GAAGklD,kBAAkB,CAACllD,KAAK,CAAC;IACjC,IAAI;MAAEw3C,KAAK,EAAE2N,KAAK;MAAE18C;IAAM,CAAC,GAAGzI,KAAK;IACnC,IAAImlD,KAAK,IAAI,CAACh9D,gEAAQ,CAACg9D,KAAK,CAAC,EAAE;MAC7BnlD,KAAK,CAACw3C,KAAK,GAAGzwB,sEAAc,CAACo+B,KAAK,CAAC;IACrC;IACA,IAAIhzD,gEAAQ,CAACsW,KAAK,CAAC,EAAE;MACnB,IAAIgd,mEAAO,CAAChd,KAAK,CAAC,IAAI,CAACvhB,+DAAO,CAACuhB,KAAK,CAAC,EAAE;QACrCA,KAAK,GAAGvL,8DAAM,CAAC,CAAC,CAAC,EAAEuL,KAAK,CAAC;MAC3B;MACAzI,KAAK,CAACyI,KAAK,GAAGwe,sEAAc,CAACxe,KAAK,CAAC;IACrC;EACF;EACA,MAAMiC,SAAS,GAAGviB,gEAAQ,CAACxH,IAAI,CAAC,GAAG,CAAC,GAAGiiD,UAAU,CAACjiD,IAAI,CAAC,GAAG,GAAG,GAAGuwC,UAAU,CAACvwC,IAAI,CAAC,GAAG,EAAE,GAAGwR,gEAAQ,CAACxR,IAAI,CAAC,GAAG,CAAC,GAAGsH,kEAAU,CAACtH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;EACrI,IAAI,KAA2E,EAAE,EAQhF;EACD,OAAOyjE,eAAe,CACpBzjE,IAAI,EACJqf,KAAK,EACLiL,QAAQ,EACR6sB,SAAS,EACTkZ,YAAY,EACZtmC,SAAS,EACTo6C,WAAW,EACX,IACF,CAAC;AACH;AACA,SAASI,kBAAkBA,CAACllD,KAAK,EAAE;EACjC,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EACvB,OAAOylB,mEAAO,CAACzlB,KAAK,CAAC,IAAIkwC,gBAAgB,CAAClwC,KAAK,CAAC,GAAG9C,8DAAM,CAAC,CAAC,CAAC,EAAE8C,KAAK,CAAC,GAAGA,KAAK;AAC9E;AACA,SAASu3B,UAAUA,CAAC9sB,KAAK,EAAE26C,UAAU,EAAEC,QAAQ,GAAG,KAAK,EAAEC,eAAe,GAAG,KAAK,EAAE;EAChF,MAAM;IAAEtlD,KAAK;IAAE6kB,GAAG;IAAEiT,SAAS;IAAE7sB,QAAQ;IAAEzC;EAAW,CAAC,GAAGiC,KAAK;EAC7D,MAAM86C,WAAW,GAAGH,UAAU,GAAGI,UAAU,CAACxlD,KAAK,IAAI,CAAC,CAAC,EAAEolD,UAAU,CAAC,GAAGplD,KAAK;EAC5E,MAAM4Z,MAAM,GAAG;IACbyqC,WAAW,EAAE,IAAI;IACjBW,QAAQ,EAAE,IAAI;IACdrkE,IAAI,EAAE8pB,KAAK,CAAC9pB,IAAI;IAChBqf,KAAK,EAAEulD,WAAW;IAClBh/D,GAAG,EAAEg/D,WAAW,IAAIb,YAAY,CAACa,WAAW,CAAC;IAC7C1gC,GAAG,EAAEugC,UAAU,IAAIA,UAAU,CAACvgC,GAAG;IAC/B;IACA;IACA;IACAwgC,QAAQ,IAAIxgC,GAAG,GAAG39B,+DAAO,CAAC29B,GAAG,CAAC,GAAGA,GAAG,CAAC55B,MAAM,CAAC05D,YAAY,CAACS,UAAU,CAAC,CAAC,GAAG,CAACvgC,GAAG,EAAE8/B,YAAY,CAACS,UAAU,CAAC,CAAC,GAAGT,YAAY,CAACS,UAAU,CAAC,GAChIvgC,GAAG;IACP7P,OAAO,EAAEvK,KAAK,CAACuK,OAAO;IACtBkd,YAAY,EAAEznB,KAAK,CAACynB,YAAY;IAChCjnB,QAAQ,EAAE,MAAkF,GAAGA,CAA4B,GAAGA,QAAQ;IACtIrf,MAAM,EAAE6e,KAAK,CAAC7e,MAAM;IACpBynC,WAAW,EAAE5oB,KAAK,CAAC4oB,WAAW;IAC9BL,YAAY,EAAEvoB,KAAK,CAACuoB,YAAY;IAChCgI,WAAW,EAAEvwB,KAAK,CAACuwB,WAAW;IAC9BtwB,SAAS,EAAED,KAAK,CAACC,SAAS;IAC1B;IACA;IACA;IACA;IACAotB,SAAS,EAAEstB,UAAU,IAAI36C,KAAK,CAAC9pB,IAAI,KAAKqb,QAAQ,GAAG87B,SAAS,KAAK,CAAC,CAAC,GAAG,EAAE,GAAGA,SAAS,GAAG,EAAE,GAAGA,SAAS;IACrGkZ,YAAY,EAAEvmC,KAAK,CAACumC,YAAY;IAChCte,eAAe,EAAEjoB,KAAK,CAACioB,eAAe;IACtCpK,UAAU,EAAE7d,KAAK,CAAC6d,UAAU;IAC5BuI,IAAI,EAAEpmB,KAAK,CAAComB,IAAI;IAChBroB,UAAU;IACV;IACA;IACA;IACA;IACAwC,SAAS,EAAEP,KAAK,CAACO,SAAS;IAC1BL,QAAQ,EAAEF,KAAK,CAACE,QAAQ;IACxB6sB,SAAS,EAAE/sB,KAAK,CAAC+sB,SAAS,IAAID,UAAU,CAAC9sB,KAAK,CAAC+sB,SAAS,CAAC;IACzDC,UAAU,EAAEhtB,KAAK,CAACgtB,UAAU,IAAIF,UAAU,CAAC9sB,KAAK,CAACgtB,UAAU,CAAC;IAC5Dx3B,EAAE,EAAEwK,KAAK,CAACxK,EAAE;IACZT,MAAM,EAAEiL,KAAK,CAACjL,MAAM;IACpBwwB,GAAG,EAAEvlB,KAAK,CAACulB,GAAG;IACdhmB,EAAE,EAAES,KAAK,CAACT;EACZ,CAAC;EACD,IAAIxB,UAAU,IAAI88C,eAAe,EAAE;IACjC1oD,kBAAkB,CAChBgd,MAAM,EACNpR,UAAU,CAACwP,KAAK,CAAC4B,MAAM,CACzB,CAAC;EACH;EACA,OAAOA,MAAM;AACf;AACA,SAAS6rC,cAAcA,CAACh7C,KAAK,EAAE;EAC7B,MAAMmP,MAAM,GAAG2d,UAAU,CAAC9sB,KAAK,CAAC;EAChC,IAAIvjB,OAAO,CAACujB,KAAK,CAACQ,QAAQ,CAAC,EAAE;IAC3B2O,MAAM,CAAC3O,QAAQ,GAAGR,KAAK,CAACQ,QAAQ,CAAC9jB,GAAG,CAACs+D,cAAc,CAAC;EACtD;EACA,OAAO7rC,MAAM;AACf;AACA,SAASyhB,eAAeA,CAACh7B,IAAI,GAAG,GAAG,EAAEqlD,IAAI,GAAG,CAAC,EAAE;EAC7C,OAAOnpD,WAAW,CAACO,IAAI,EAAE,IAAI,EAAEuD,IAAI,EAAEqlD,IAAI,CAAC;AAC5C;AACA,SAASC,iBAAiBA,CAACzkD,OAAO,EAAE0kD,aAAa,EAAE;EACjD,MAAMn7C,KAAK,GAAGlO,WAAW,CAACN,MAAM,EAAE,IAAI,EAAEiF,OAAO,CAAC;EAChDuJ,KAAK,CAACuwB,WAAW,GAAG4qB,aAAa;EACjC,OAAOn7C,KAAK;AACd;AACA,SAASo7C,kBAAkBA,CAACxlD,IAAI,GAAG,EAAE,EAAEylD,OAAO,GAAG,KAAK,EAAE;EACtD,OAAOA,OAAO,IAAIzf,SAAS,CAAC,CAAC,EAAEC,WAAW,CAAC3X,OAAO,EAAE,IAAI,EAAEtuB,IAAI,CAAC,IAAI9D,WAAW,CAACoyB,OAAO,EAAE,IAAI,EAAEtuB,IAAI,CAAC;AACrG;AACA,SAAS+7B,cAAcA,CAAC98B,KAAK,EAAE;EAC7B,IAAIA,KAAK,IAAI,IAAI,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IAC/C,OAAO/C,WAAW,CAACoyB,OAAO,CAAC;EAC7B,CAAC,MAAM,IAAIznC,+DAAO,CAACoY,KAAK,CAAC,EAAE;IACzB,OAAO/C,WAAW,CAChBP,QAAQ,EACR,IAAI;IACJ;IACAsD,KAAK,CAAClT,KAAK,CAAC,CACd,CAAC;EACH,CAAC,MAAM,IAAI22C,OAAO,CAACzjC,KAAK,CAAC,EAAE;IACzB,OAAO23C,cAAc,CAAC33C,KAAK,CAAC;EAC9B,CAAC,MAAM;IACL,OAAO/C,WAAW,CAACO,IAAI,EAAE,IAAI,EAAEhW,MAAM,CAACwY,KAAK,CAAC,CAAC;EAC/C;AACF;AACA,SAAS23C,cAAcA,CAAC33C,KAAK,EAAE;EAC7B,OAAOA,KAAK,CAACW,EAAE,KAAK,IAAI,IAAIX,KAAK,CAACw4B,SAAS,KAAK,CAAC,CAAC,IAAIx4B,KAAK,CAACymD,IAAI,GAAGzmD,KAAK,GAAGi4B,UAAU,CAACj4B,KAAK,CAAC;AAC9F;AACA,SAAS2lD,iBAAiBA,CAACx6C,KAAK,EAAEQ,QAAQ,EAAE;EAC1C,IAAItqB,IAAI,GAAG,CAAC;EACZ,MAAM;IAAE+pB;EAAU,CAAC,GAAGD,KAAK;EAC3B,IAAIQ,QAAQ,IAAI,IAAI,EAAE;IACpBA,QAAQ,GAAG,IAAI;EACjB,CAAC,MAAM,IAAI/jB,+DAAO,CAAC+jB,QAAQ,CAAC,EAAE;IAC5BtqB,IAAI,GAAG,EAAE;EACX,CAAC,MAAM,IAAI,OAAOsqB,QAAQ,KAAK,QAAQ,EAAE;IACvC,IAAIP,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;MACxB,MAAMs7B,IAAI,GAAG/6B,QAAQ,CAAC9I,OAAO;MAC7B,IAAI6jC,IAAI,EAAE;QACRA,IAAI,CAACzV,EAAE,KAAKyV,IAAI,CAAC5V,EAAE,GAAG,KAAK,CAAC;QAC5B60B,iBAAiB,CAACx6C,KAAK,EAAEu7B,IAAI,CAAC,CAAC,CAAC;QAChCA,IAAI,CAACzV,EAAE,KAAKyV,IAAI,CAAC5V,EAAE,GAAG,IAAI,CAAC;MAC7B;MACA;IACF,CAAC,MAAM;MACLzvC,IAAI,GAAG,EAAE;MACT,MAAMqlE,QAAQ,GAAG/6C,QAAQ,CAACkO,CAAC;MAC3B,IAAI,CAAC6sC,QAAQ,IAAI,CAAC9V,gBAAgB,CAACjlC,QAAQ,CAAC,EAAE;QAC5CA,QAAQ,CAACgpC,IAAI,GAAGzkB,wBAAwB;MAC1C,CAAC,MAAM,IAAIw2B,QAAQ,KAAK,CAAC,IAAIx2B,wBAAwB,EAAE;QACrD,IAAIA,wBAAwB,CAACrsB,KAAK,CAACgW,CAAC,KAAK,CAAC,EAAE;UAC1ClO,QAAQ,CAACkO,CAAC,GAAG,CAAC;QAChB,CAAC,MAAM;UACLlO,QAAQ,CAACkO,CAAC,GAAG,CAAC;UACd1O,KAAK,CAACqtB,SAAS,IAAI,IAAI;QACzB;MACF;IACF;EACF,CAAC,MAAM,IAAI7vC,kEAAU,CAACgjB,QAAQ,CAAC,EAAE;IAC/BA,QAAQ,GAAG;MAAE9I,OAAO,EAAE8I,QAAQ;MAAEgpC,IAAI,EAAEzkB;IAAyB,CAAC;IAChE7uC,IAAI,GAAG,EAAE;EACX,CAAC,MAAM;IACLsqB,QAAQ,GAAGnkB,MAAM,CAACmkB,QAAQ,CAAC;IAC3B,IAAIP,SAAS,GAAG,EAAE,EAAE;MAClB/pB,IAAI,GAAG,EAAE;MACTsqB,QAAQ,GAAG,CAACowB,eAAe,CAACpwB,QAAQ,CAAC,CAAC;IACxC,CAAC,MAAM;MACLtqB,IAAI,GAAG,CAAC;IACV;EACF;EACA8pB,KAAK,CAACQ,QAAQ,GAAGA,QAAQ;EACzBR,KAAK,CAACC,SAAS,IAAI/pB,IAAI;AACzB;AACA,SAAS6kE,UAAUA,CAAC,GAAGliD,IAAI,EAAE;EAC3B,MAAMs0B,GAAG,GAAG,CAAC,CAAC;EACd,KAAK,IAAIh3C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0iB,IAAI,CAACphB,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACpC,MAAMqlE,OAAO,GAAG3iD,IAAI,CAAC1iB,CAAC,CAAC;IACvB,KAAK,MAAM2F,GAAG,IAAI0/D,OAAO,EAAE;MACzB,IAAI1/D,GAAG,KAAK,OAAO,EAAE;QACnB,IAAIqxC,GAAG,CAAC4f,KAAK,KAAKyO,OAAO,CAACzO,KAAK,EAAE;UAC/B5f,GAAG,CAAC4f,KAAK,GAAGzwB,sEAAc,CAAC,CAAC6Q,GAAG,CAAC4f,KAAK,EAAEyO,OAAO,CAACzO,KAAK,CAAC,CAAC;QACxD;MACF,CAAC,MAAM,IAAIjxD,GAAG,KAAK,OAAO,EAAE;QAC1BqxC,GAAG,CAACnvB,KAAK,GAAGwe,sEAAc,CAAC,CAAC2Q,GAAG,CAACnvB,KAAK,EAAEw9C,OAAO,CAACx9C,KAAK,CAAC,CAAC;MACxD,CAAC,MAAM,IAAI/K,4DAAI,CAACnX,GAAG,CAAC,EAAE;QACpB,MAAMizC,QAAQ,GAAG5B,GAAG,CAACrxC,GAAG,CAAC;QACzB,MAAM2/D,QAAQ,GAAGD,OAAO,CAAC1/D,GAAG,CAAC;QAC7B,IAAI2/D,QAAQ,IAAI1sB,QAAQ,KAAK0sB,QAAQ,IAAI,EAAEh/D,+DAAO,CAACsyC,QAAQ,CAAC,IAAIA,QAAQ,CAACvsB,QAAQ,CAACi5C,QAAQ,CAAC,CAAC,EAAE;UAC5FtuB,GAAG,CAACrxC,GAAG,CAAC,GAAGizC,QAAQ,GAAG,EAAE,CAACvuC,MAAM,CAACuuC,QAAQ,EAAE0sB,QAAQ,CAAC,GAAGA,QAAQ;QAChE;MACF,CAAC,MAAM,IAAI3/D,GAAG,KAAK,EAAE,EAAE;QACrBqxC,GAAG,CAACrxC,GAAG,CAAC,GAAG0/D,OAAO,CAAC1/D,GAAG,CAAC;MACzB;IACF;EACF;EACA,OAAOqxC,GAAG;AACZ;AACA,SAASqE,eAAeA,CAAC7nC,IAAI,EAAEkV,QAAQ,EAAEmB,KAAK,EAAEwQ,SAAS,GAAG,IAAI,EAAE;EAChE9e,0BAA0B,CAAC/H,IAAI,EAAEkV,QAAQ,EAAE,CAAC,EAAE,CAC5CmB,KAAK,EACLwQ,SAAS,CACV,CAAC;AACJ;AAEA,MAAMkrC,eAAe,GAAG7X,gBAAgB,CAAC,CAAC;AAC1C,IAAI1kC,GAAG,GAAG,CAAC;AACX,SAASsuC,uBAAuBA,CAACztC,KAAK,EAAElL,MAAM,EAAEoL,QAAQ,EAAE;EACxD,MAAMhqB,IAAI,GAAG8pB,KAAK,CAAC9pB,IAAI;EACvB,MAAM2nC,UAAU,GAAG,CAAC/oB,MAAM,GAAGA,MAAM,CAAC+oB,UAAU,GAAG7d,KAAK,CAAC6d,UAAU,KAAK69B,eAAe;EACrF,MAAM78C,QAAQ,GAAG;IACfM,GAAG,EAAEA,GAAG,EAAE;IACVa,KAAK;IACL9pB,IAAI;IACJ4e,MAAM;IACN+oB,UAAU;IACVvQ,IAAI,EAAE,IAAI;IACV;IACAvM,IAAI,EAAE,IAAI;IACVtB,OAAO,EAAE,IAAI;IACb;IACA+b,MAAM,EAAE,IAAI;IACZwH,MAAM,EAAE,IAAI;IACZ;IACAhC,GAAG,EAAE,IAAI;IACT8tB,KAAK,EAAE,IAAI3zB,mEAAW,CACpB;IACA,cACF,CAAC;IACDnS,MAAM,EAAE,IAAI;IACZhf,KAAK,EAAE,IAAI;IACXwe,OAAO,EAAE,IAAI;IACbmzC,WAAW,EAAE,IAAI;IACjBtG,SAAS,EAAE,IAAI;IACf9tC,QAAQ,EAAEzS,MAAM,GAAGA,MAAM,CAACyS,QAAQ,GAAG/vB,MAAM,CAACsF,MAAM,CAAC+gC,UAAU,CAACtW,QAAQ,CAAC;IACvEimB,GAAG,EAAE14B,MAAM,GAAGA,MAAM,CAAC04B,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACrCuQ,WAAW,EAAE,IAAI;IACjBhb,WAAW,EAAE,EAAE;IACf;IACA8e,UAAU,EAAE,IAAI;IAChB5b,UAAU,EAAE,IAAI;IAChB;IACAgY,YAAY,EAAEkJ,qBAAqB,CAACjxD,IAAI,EAAE2nC,UAAU,CAAC;IACrD4oB,YAAY,EAAEwO,qBAAqB,CAAC/+D,IAAI,EAAE2nC,UAAU,CAAC;IACrD;IACA9zB,IAAI,EAAE,IAAI;IACV;IACAirD,OAAO,EAAE,IAAI;IACb;IACAlP,aAAa,EAAEzyC,6DAAS;IACxB;IACAuuC,YAAY,EAAE1rD,IAAI,CAAC0rD,YAAY;IAC/B;IACArc,GAAG,EAAElyB,6DAAS;IACdnQ,IAAI,EAAEmQ,6DAAS;IACfkC,KAAK,EAAElC,6DAAS;IAChBwpC,KAAK,EAAExpC,6DAAS;IAChBqF,KAAK,EAAErF,6DAAS;IAChBw6B,IAAI,EAAEx6B,6DAAS;IACfm7B,UAAU,EAAEn7B,6DAAS;IACrBosC,YAAY,EAAE,IAAI;IAClB;IACAv/B,QAAQ;IACR6xC,UAAU,EAAE7xC,QAAQ,GAAGA,QAAQ,CAAC8xC,SAAS,GAAG,CAAC;IAC7CrE,QAAQ,EAAE,IAAI;IACdI,aAAa,EAAE,KAAK;IACpB;IACA;IACA7jB,SAAS,EAAE,KAAK;IAChBoM,WAAW,EAAE,KAAK;IAClBkB,aAAa,EAAE,KAAK;IACpBokB,EAAE,EAAE,IAAI;IACR3gD,CAAC,EAAE,IAAI;IACPizC,EAAE,EAAE,IAAI;IACR1qC,CAAC,EAAE,IAAI;IACP+qC,EAAE,EAAE,IAAI;IACRC,CAAC,EAAE,IAAI;IACPrlB,EAAE,EAAE,IAAI;IACRkN,GAAG,EAAE,IAAI;IACTuB,EAAE,EAAE,IAAI;IACRp1C,CAAC,EAAE,IAAI;IACP8sD,GAAG,EAAE,IAAI;IACTF,GAAG,EAAE,IAAI;IACTtvB,EAAE,EAAE,IAAI;IACR+7B,EAAE,EAAE;EACN,CAAC;EACD,IAAI,KAAyC,EAAE,EAE9C,MAAM;IACLh9C,QAAQ,CAAC0mB,GAAG,GAAG;MAAE7W,CAAC,EAAE7P;IAAS,CAAC;EAChC;EACAA,QAAQ,CAACyO,IAAI,GAAGxY,MAAM,GAAGA,MAAM,CAACwY,IAAI,GAAGzO,QAAQ;EAC/CA,QAAQ,CAAC9U,IAAI,GAAGA,IAAI,CAACqf,IAAI,CAAC,IAAI,EAAEvK,QAAQ,CAAC;EACzC,IAAImB,KAAK,CAACT,EAAE,EAAE;IACZS,KAAK,CAACT,EAAE,CAACV,QAAQ,CAAC;EACpB;EACA,OAAOA,QAAQ;AACjB;AACA,IAAI03B,eAAe,GAAG,IAAI;AAC1B,MAAMtlC,kBAAkB,GAAGA,CAAA,KAAMslC,eAAe,IAAIxR,wBAAwB;AAC5E,IAAI+2B,0BAA0B;AAC9B,IAAIC,kBAAkB;AACtB;EACE,MAAMC,CAAC,GAAG7/B,qEAAa,CAAC,CAAC;EACzB,MAAM8/B,oBAAoB,GAAGA,CAACngE,GAAG,EAAEogE,MAAM,KAAK;IAC5C,IAAIC,OAAO;IACX,IAAI,EAAEA,OAAO,GAAGH,CAAC,CAAClgE,GAAG,CAAC,CAAC,EAAEqgE,OAAO,GAAGH,CAAC,CAAClgE,GAAG,CAAC,GAAG,EAAE;IAC9CqgE,OAAO,CAAChyD,IAAI,CAAC+xD,MAAM,CAAC;IACpB,OAAQ36C,CAAC,IAAK;MACZ,IAAI46C,OAAO,CAAC1kE,MAAM,GAAG,CAAC,EAAE0kE,OAAO,CAAClmE,OAAO,CAAE8I,GAAG,IAAKA,GAAG,CAACwiB,CAAC,CAAC,CAAC,CAAC,KACpD46C,OAAO,CAAC,CAAC,CAAC,CAAC56C,CAAC,CAAC;IACpB,CAAC;EACH,CAAC;EACDu6C,0BAA0B,GAAGG,oBAAoB,CAC/C,0BAA0B,EACzB16C,CAAC,IAAKg1B,eAAe,GAAGh1B,CAC3B,CAAC;EACDw6C,kBAAkB,GAAGE,oBAAoB,CACvC,qBAAqB,EACpB16C,CAAC,IAAKk1B,qBAAqB,GAAGl1B,CACjC,CAAC;AACH;AACA,MAAMg4B,kBAAkB,GAAI16B,QAAQ,IAAK;EACvC,MAAMiC,IAAI,GAAGy1B,eAAe;EAC5BulB,0BAA0B,CAACj9C,QAAQ,CAAC;EACpCA,QAAQ,CAACiwC,KAAK,CAACt3B,EAAE,CAAC,CAAC;EACnB,OAAO,MAAM;IACX3Y,QAAQ,CAACiwC,KAAK,CAACC,GAAG,CAAC,CAAC;IACpB+M,0BAA0B,CAACh7C,IAAI,CAAC;EAClC,CAAC;AACH,CAAC;AACD,MAAMu/B,oBAAoB,GAAGA,CAAA,KAAM;EACjC9J,eAAe,IAAIA,eAAe,CAACuY,KAAK,CAACC,GAAG,CAAC,CAAC;EAC9C+M,0BAA0B,CAAC,IAAI,CAAC;AAClC,CAAC;AACD,MAAMM,YAAY,GAAG,eAAgBj/B,gDAAAA,OAAO,CAAC,gBAAgB,CAAC;AAC9D,SAASsnB,qBAAqBA,CAAC99C,IAAI,EAAE;EAAEm9C;AAAY,CAAC,EAAE;EACpD,IAAIsY,YAAY,CAACz1D,IAAI,CAAC,IAAIm9C,WAAW,CAACn9C,IAAI,CAAC,EAAE;IAC3Cg3B,MAAM,CACJ,iEAAiE,GAAGh3B,IACtE,CAAC;EACH;AACF;AACA,SAAS21C,mBAAmBA,CAACz9B,QAAQ,EAAE;EACrC,OAAOA,QAAQ,CAACmB,KAAK,CAACC,SAAS,GAAG,CAAC;AACrC;AACA,IAAIw2B,qBAAqB,GAAG,KAAK;AACjC,SAASiX,cAAcA,CAAC7uC,QAAQ,EAAEgnC,KAAK,GAAG,KAAK,EAAEne,SAAS,GAAG,KAAK,EAAE;EAClEme,KAAK,IAAIkW,kBAAkB,CAAClW,KAAK,CAAC;EAClC,MAAM;IAAEtwC,KAAK;IAAEiL;EAAS,CAAC,GAAG3B,QAAQ,CAACmB,KAAK;EAC1C,MAAM4lC,UAAU,GAAGtJ,mBAAmB,CAACz9B,QAAQ,CAAC;EAChD8mC,SAAS,CAAC9mC,QAAQ,EAAEtJ,KAAK,EAAEqwC,UAAU,EAAEC,KAAK,CAAC;EAC7C8D,SAAS,CAAC9qC,QAAQ,EAAE2B,QAAQ,EAAEknB,SAAS,CAAC;EACxC,MAAM20B,WAAW,GAAGzW,UAAU,GAAG0W,sBAAsB,CAACz9C,QAAQ,EAAEgnC,KAAK,CAAC,GAAG,KAAK,CAAC;EACjFA,KAAK,IAAIkW,kBAAkB,CAAC,KAAK,CAAC;EAClC,OAAOM,WAAW;AACpB;AACA,SAASC,sBAAsBA,CAACz9C,QAAQ,EAAEgnC,KAAK,EAAE;EAC/C,IAAIlxB,EAAE;EACN,MAAMgmB,SAAS,GAAG97B,QAAQ,CAAC3oB,IAAI;EAC/B,IAAI,KAAyC,EAAE,EAqB9C;EACD2oB,QAAQ,CAACk/B,WAAW,GAAG,eAAgBvmD,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EAC1D+hB,QAAQ,CAAC7U,KAAK,GAAG,IAAI2tB,KAAK,CAAC9Y,QAAQ,CAAC0mB,GAAG,EAAEuY,2BAA2B,CAAC;EACrE,IAAI,KAAyC,EAAE,EAE9C;EACD,MAAM;IAAE9xB;EAAM,CAAC,GAAG2uB,SAAS;EAC3B,IAAI3uB,KAAK,EAAE;IACT6N,yEAAa,CAAC,CAAC;IACf,MAAM4lB,YAAY,GAAG5gC,QAAQ,CAAC4gC,YAAY,GAAGzzB,KAAK,CAACv0B,MAAM,GAAG,CAAC,GAAGioD,kBAAkB,CAAC7gC,QAAQ,CAAC,GAAG,IAAI;IACnG,MAAMy6B,KAAK,GAAGC,kBAAkB,CAAC16B,QAAQ,CAAC;IAC1C,MAAMw9C,WAAW,GAAGp+B,qBAAqB,CACvCjS,KAAK,EACLnN,QAAQ,EACR,CAAC,EACD,CACE,MAAyC,GAAG2b,CAA+B,GAAG3b,QAAQ,CAACtJ,KAAK,EAC5FkqC,YAAY,CAEhB,CAAC;IACD,MAAM+c,YAAY,GAAGtgC,iEAAS,CAACmgC,WAAW,CAAC;IAC3CviC,yEAAa,CAAC,CAAC;IACfwf,KAAK,CAAC,CAAC;IACP,IAAI,CAACkjB,YAAY,IAAI39C,QAAQ,CAACg9C,EAAE,KAAK,CAACztB,cAAc,CAACvvB,QAAQ,CAAC,EAAE;MAC9D4uB,iBAAiB,CAAC5uB,QAAQ,CAAC;IAC7B;IACA,IAAI29C,YAAY,EAAE;MAChBH,WAAW,CAACz4C,IAAI,CAACy8B,oBAAoB,EAAEA,oBAAoB,CAAC;MAC5D,IAAIwF,KAAK,EAAE;QACT,OAAOwW,WAAW,CAACz4C,IAAI,CAAE64C,cAAc,IAAK;UAC1C7D,iBAAiB,CAAC/5C,QAAQ,EAAE49C,cAAc,EAAE5W,KAAK,CAAC;QACpD,CAAC,CAAC,CAACzmB,KAAK,CAAEh0B,CAAC,IAAK;UACd0D,WAAW,CAAC1D,CAAC,EAAEyT,QAAQ,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;MACJ,CAAC,MAAM;QACLA,QAAQ,CAAC8uC,QAAQ,GAAG0O,WAAW;QAC/B,IAAI,KAA+D,EAAE,EAKpE;MACH;IACF,CAAC,MAAM;MACLzD,iBAAiB,CAAC/5C,QAAQ,EAAEw9C,WAAW,EAAExW,KAAK,CAAC;IACjD;EACF,CAAC,MAAM;IACL6W,oBAAoB,CAAC79C,QAAQ,EAAEgnC,KAAK,CAAC;EACvC;AACF;AACA,SAAS+S,iBAAiBA,CAAC/5C,QAAQ,EAAEw9C,WAAW,EAAExW,KAAK,EAAE;EACvD,IAAIroD,kEAAU,CAAC6+D,WAAW,CAAC,EAAE;IAC3B,IAAIx9C,QAAQ,CAAC3oB,IAAI,CAACymE,iBAAiB,EAAE;MACnC99C,QAAQ,CAAC+9C,SAAS,GAAGP,WAAW;IAClC,CAAC,MAAM;MACLx9C,QAAQ,CAACmK,MAAM,GAAGqzC,WAAW;IAC/B;EACF,CAAC,MAAM,IAAI30D,gEAAQ,CAAC20D,WAAW,CAAC,EAAE;IAChC,IAAI,KAAiE,EAAE,EAItE;IACD,IAAI,KAAkE,EAAE,EAEvE;IACDx9C,QAAQ,CAAC2vB,UAAU,GAAGvT,qEAAS,CAACohC,WAAW,CAAC;IAC5C,IAAI,KAAyC,EAAE,EAE9C;EACH,CAAC,MAAM,IAAI,KAAmE,EAAE,EAI/E;EACDK,oBAAoB,CAAC79C,QAAQ,EAAEgnC,KAAK,CAAC;AACvC;AACA,IAAIiX,OAAO;AACX,IAAIC,gBAAgB;AACpB,SAASC,uBAAuBA,CAACC,QAAQ,EAAE;EACzCH,OAAO,GAAGG,QAAQ;EAClBF,gBAAgB,GAAI5mE,CAAC,IAAK;IACxB,IAAIA,CAAC,CAAC6yB,MAAM,CAACk0C,GAAG,EAAE;MAChB/mE,CAAC,CAACk/D,SAAS,GAAG,IAAI19B,KAAK,CAACxhC,CAAC,CAACovC,GAAG,EAAEkZ,0CAA0C,CAAC;IAC5E;EACF,CAAC;AACH;AACA,MAAMnsC,aAAa,GAAGA,CAAA,KAAM,CAACwqD,OAAO;AACpC,SAASJ,oBAAoBA,CAAC79C,QAAQ,EAAEgnC,KAAK,EAAEsX,WAAW,EAAE;EAC1D,MAAMxiB,SAAS,GAAG97B,QAAQ,CAAC3oB,IAAI;EAC/B,IAAI,CAAC2oB,QAAQ,CAACmK,MAAM,EAAE;IACpB,IAAI,CAAC68B,KAAK,IAAIiX,OAAO,IAAI,CAACniB,SAAS,CAAC3xB,MAAM,EAAE;MAC1C,MAAM/R,QAAQ,GAAG0jC,SAAS,CAAC1jC,QAAQ,IAAIomC,KAAmB,IAAIC,oBAAoB,CAACz+B,QAAQ,CAAC,CAAC5H,QAAQ;MACrG,IAAIA,QAAQ,EAAE;QACZ,IAAI,KAAyC,EAAE,EAE9C;QACD,MAAM;UAAE4c,eAAe;UAAEC;QAAgB,CAAC,GAAGjV,QAAQ,CAACgf,UAAU,CAAC37B,MAAM;QACvE,MAAM;UAAEk7D,UAAU;UAAEtpC,eAAe,EAAEupC;QAAyB,CAAC,GAAG1iB,SAAS;QAC3E,MAAM2iB,oBAAoB,GAAG7qD,8DAAM,CACjCA,8DAAM,CACJ;UACEohB,eAAe;UACfupC;QACF,CAAC,EACDtpC,eACF,CAAC,EACDupC,wBACF,CAAC;QACD1iB,SAAS,CAAC3xB,MAAM,GAAG8zC,OAAO,CAAC7lD,QAAQ,EAAEqmD,oBAAoB,CAAC;QAC1D,IAAI,KAAyC,EAAE,EAE9C;MACH;IACF;IACAz+C,QAAQ,CAACmK,MAAM,GAAG2xB,SAAS,CAAC3xB,MAAM,IAAIrW,wDAAI;IAC1C,IAAIoqD,gBAAgB,EAAE;MACpBA,gBAAgB,CAACl+C,QAAQ,CAAC;IAC5B;EACF;EACA,IAAIw+B,IAA2B,EAAE;IAC/B,MAAM/D,KAAK,GAAGC,kBAAkB,CAAC16B,QAAQ,CAAC;IAC1Cgb,yEAAa,CAAC,CAAC;IACf,IAAI;MACF0mB,YAAY,CAAC1hC,QAAQ,CAAC;IACxB,CAAC,SAAS;MACRib,yEAAa,CAAC,CAAC;MACfwf,KAAK,CAAC,CAAC;IACT;EACF;EACA,IAAI,KAAoG,EAAE,EAQzG;AACH;AACA,MAAMikB,kBAAkB,GAAG,MAAyC,GAAG,CActE,GAAG;EACF39D,GAAGA,CAACuB,MAAM,EAAErF,GAAG,EAAE;IACf2+B,iEAAK,CAACt5B,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;IACxB,OAAOA,MAAM,CAACrF,GAAG,CAAC;EACpB;AACF,CAAC;AACD,SAAS2hE,aAAaA,CAAC5+C,QAAQ,EAAE;EAC/B,OAAO,IAAI8Y,KAAK,CAAC9Y,QAAQ,CAACnG,KAAK,EAAE;IAC/B9Y,GAAGA,CAACuB,MAAM,EAAErF,GAAG,EAAE;MACf2+B,KAAK,CAAC5b,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;MAChC,OAAO1d,MAAM,CAACrF,GAAG,CAAC;IACpB;EACF,CAAC,CAAC;AACJ;AACA,SAAS4jD,kBAAkBA,CAAC7gC,QAAQ,EAAE;EACpC,MAAM8iC,MAAM,GAAIn5B,OAAO,IAAK;IAC1B,IAAI,KAAyC,EAAE,EAmB9C;IACD3J,QAAQ,CAAC2J,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAClC,CAAC;EACD,IAAI,KAAyC,EAAE,EAe9C,MAAM;IACL,OAAO;MACLq0B,KAAK,EAAE,IAAIllB,KAAK,CAAC9Y,QAAQ,CAACg+B,KAAK,EAAE0gB,kBAAkB,CAAC;MACpD7kD,KAAK,EAAEmG,QAAQ,CAACnG,KAAK;MACrB3O,IAAI,EAAE8U,QAAQ,CAAC9U,IAAI;MACnB43C;IACF,CAAC;EACH;AACF;AACA,SAASzb,0BAA0BA,CAACrnB,QAAQ,EAAE;EAC5C,IAAIA,QAAQ,CAAC2J,OAAO,EAAE;IACpB,OAAO3J,QAAQ,CAAC88C,WAAW,KAAK98C,QAAQ,CAAC88C,WAAW,GAAG,IAAIhkC,KAAK,CAACsD,qEAAS,CAACC,mEAAO,CAACrc,QAAQ,CAAC2J,OAAO,CAAC,CAAC,EAAE;MACrG5oB,GAAGA,CAACuB,MAAM,EAAErF,GAAG,EAAE;QACf,IAAIA,GAAG,IAAIqF,MAAM,EAAE;UACjB,OAAOA,MAAM,CAACrF,GAAG,CAAC;QACpB,CAAC,MAAM,IAAIA,GAAG,IAAIygD,mBAAmB,EAAE;UACrC,OAAOA,mBAAmB,CAACzgD,GAAG,CAAC,CAAC+iB,QAAQ,CAAC;QAC3C;MACF,CAAC;MACD9e,GAAGA,CAACoB,MAAM,EAAErF,GAAG,EAAE;QACf,OAAOA,GAAG,IAAIqF,MAAM,IAAIrF,GAAG,IAAIygD,mBAAmB;MACpD;IACF,CAAC,CAAC,CAAC;EACL,CAAC,MAAM;IACL,OAAO19B,QAAQ,CAAC7U,KAAK;EACvB;AACF;AACA,MAAM8zD,UAAU,GAAG,iBAAiB;AACpC,MAAMC,QAAQ,GAAInhE,GAAG,IAAKA,GAAG,CAACkB,OAAO,CAACggE,UAAU,EAAG7iD,CAAC,IAAKA,CAAC,CAAChd,WAAW,CAAC,CAAC,CAAC,CAACH,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAC9F,SAASgkC,gBAAgBA,CAAC6Y,SAAS,EAAEqjB,eAAe,GAAG,IAAI,EAAE;EAC3D,OAAOxgE,kEAAU,CAACm9C,SAAS,CAAC,GAAGA,SAAS,CAACniC,WAAW,IAAImiC,SAAS,CAACh0C,IAAI,GAAGg0C,SAAS,CAACh0C,IAAI,IAAIq3D,eAAe,IAAIrjB,SAAS,CAACsjB,MAAM;AAChI;AACA,SAAS9/B,mBAAmBA,CAACtf,QAAQ,EAAE87B,SAAS,EAAE7b,MAAM,GAAG,KAAK,EAAE;EAChE,IAAIn4B,IAAI,GAAGm7B,gBAAgB,CAAC6Y,SAAS,CAAC;EACtC,IAAI,CAACh0C,IAAI,IAAIg0C,SAAS,CAACujB,MAAM,EAAE;IAC7B,MAAMlhE,KAAK,GAAG29C,SAAS,CAACujB,MAAM,CAAClhE,KAAK,CAAC,iBAAiB,CAAC;IACvD,IAAIA,KAAK,EAAE;MACT2J,IAAI,GAAG3J,KAAK,CAAC,CAAC,CAAC;IACjB;EACF;EACA,IAAI,CAAC2J,IAAI,IAAIkY,QAAQ,IAAIA,QAAQ,CAAC/J,MAAM,EAAE;IACxC,MAAMqpD,iBAAiB,GAAIrjB,QAAQ,IAAK;MACtC,KAAK,MAAMh/C,GAAG,IAAIg/C,QAAQ,EAAE;QAC1B,IAAIA,QAAQ,CAACh/C,GAAG,CAAC,KAAK6+C,SAAS,EAAE;UAC/B,OAAO7+C,GAAG;QACZ;MACF;IACF,CAAC;IACD6K,IAAI,GAAGw3D,iBAAiB,CACtBt/C,QAAQ,CAACgjC,UAAU,IAAIhjC,QAAQ,CAAC/J,MAAM,CAAC5e,IAAI,CAAC2rD,UAC9C,CAAC,IAAIsc,iBAAiB,CAACt/C,QAAQ,CAACgf,UAAU,CAACgkB,UAAU,CAAC;EACxD;EACA,OAAOl7C,IAAI,GAAGo3D,QAAQ,CAACp3D,IAAI,CAAC,GAAGm4B,MAAM,GAAG,KAAK,GAAG,WAAW;AAC7D;AACA,SAAS8D,gBAAgBA,CAAC/rC,KAAK,EAAE;EAC/B,OAAO2G,kEAAU,CAAC3G,KAAK,CAAC,IAAI,WAAW,IAAIA,KAAK;AAClD;AAEA,MAAMqK,QAAQ,GAAGA,CAACk9D,eAAe,EAAEC,YAAY,KAAK;EAClD,MAAMpjD,CAAC,GAAGmgB,oEAAU,CAACgjC,eAAe,EAAEC,YAAY,EAAE5nB,qBAAqB,CAAC;EAC1E,IAAI,KAAyC,EAAE,EAK9C;EACD,OAAOx7B,CAAC;AACV,CAAC;AAED,SAASpK,CAACA,CAAC3a,IAAI,EAAEsoE,eAAe,EAAEh+C,QAAQ,EAAE;EAC1C,MAAMyP,CAAC,GAAGo1B,SAAS,CAAC5tD,MAAM;EAC1B,IAAIw4B,CAAC,KAAK,CAAC,EAAE;IACX,IAAIvoB,gEAAQ,CAAC82D,eAAe,CAAC,IAAI,CAAC/hE,+DAAO,CAAC+hE,eAAe,CAAC,EAAE;MAC1D,IAAIlmB,OAAO,CAACkmB,eAAe,CAAC,EAAE;QAC5B,OAAO1sD,WAAW,CAAC5b,IAAI,EAAE,IAAI,EAAE,CAACsoE,eAAe,CAAC,CAAC;MACnD;MACA,OAAO1sD,WAAW,CAAC5b,IAAI,EAAEsoE,eAAe,CAAC;IAC3C,CAAC,MAAM;MACL,OAAO1sD,WAAW,CAAC5b,IAAI,EAAE,IAAI,EAAEsoE,eAAe,CAAC;IACjD;EACF,CAAC,MAAM;IACL,IAAIvuC,CAAC,GAAG,CAAC,EAAE;MACTzP,QAAQ,GAAGvB,KAAK,CAAC1d,SAAS,CAACI,KAAK,CAAClE,IAAI,CAAC4nD,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC,MAAM,IAAIp1B,CAAC,KAAK,CAAC,IAAIqoB,OAAO,CAAC93B,QAAQ,CAAC,EAAE;MACvCA,QAAQ,GAAG,CAACA,QAAQ,CAAC;IACvB;IACA,OAAO1O,WAAW,CAAC5b,IAAI,EAAEsoE,eAAe,EAAEh+C,QAAQ,CAAC;EACrD;AACF;AAEA,SAASi+C,mBAAmBA,CAAA,EAAG;EAC7B,IAAI,IAA2E,EAAE;IAC/E;EACF;EACA,MAAMC,QAAQ,GAAG;IAAE1gD,KAAK,EAAE;EAAgB,CAAC;EAC3C,MAAM2gD,WAAW,GAAG;IAAE3gD,KAAK,EAAE;EAAgB,CAAC;EAC9C,MAAM4gD,WAAW,GAAG;IAAE5gD,KAAK,EAAE;EAAgB,CAAC;EAC9C,MAAM6gD,YAAY,GAAG;IAAE7gD,KAAK,EAAE;EAAgB,CAAC;EAC/C,MAAM8gD,SAAS,GAAG;IAChBC,sBAAsB,EAAE,IAAI;IAC5B3iE,MAAMA,CAAC+B,GAAG,EAAE;MACV,IAAI,CAACuJ,QAAQ,CAACvJ,GAAG,CAAC,EAAE;QAClB,OAAO,IAAI;MACb;MACA,IAAIA,GAAG,CAAC6gE,OAAO,EAAE;QACf,OAAO,CAAC,KAAK,EAAEN,QAAQ,EAAE,aAAa,CAAC;MACzC,CAAC,MAAM,IAAI3kC,KAAK,CAAC57B,GAAG,CAAC,EAAE;QACrB,OAAO,CACL,KAAK,EACL,CAAC,CAAC,EACF,CAAC,MAAM,EAAEugE,QAAQ,EAAEO,UAAU,CAAC9gE,GAAG,CAAC,CAAC,EACnC,GAAG;QACH;QACA+gE,WAAW,CAAC,QAAQ,IAAI/gE,GAAG,GAAGA,GAAG,CAACiB,MAAM,GAAGjB,GAAG,CAAC,EAC/C,GAAG,CACJ;MACH,CAAC,MAAM,IAAIg8B,UAAU,CAACh8B,GAAG,CAAC,EAAE;QAC1B,OAAO,CACL,KAAK,EACL,CAAC,CAAC,EACF,CAAC,MAAM,EAAEugE,QAAQ,EAAErkC,SAAS,CAACl8B,GAAG,CAAC,GAAG,iBAAiB,GAAG,UAAU,CAAC,EACnE,GAAG,EACH+gE,WAAW,CAAC/gE,GAAG,CAAC,EAChB,IAAIk9B,UAAU,CAACl9B,GAAG,CAAC,GAAG,aAAa,GAAG,EAAE,EAAE,CAC3C;MACH,CAAC,MAAM,IAAIk9B,UAAU,CAACl9B,GAAG,CAAC,EAAE;QAC1B,OAAO,CACL,KAAK,EACL,CAAC,CAAC,EACF,CAAC,MAAM,EAAEugE,QAAQ,EAAErkC,SAAS,CAACl8B,GAAG,CAAC,GAAG,iBAAiB,GAAG,UAAU,CAAC,EACnE,GAAG,EACH+gE,WAAW,CAAC/gE,GAAG,CAAC,EAChB,GAAG,CACJ;MACH;MACA,OAAO,IAAI;IACb,CAAC;IACDghE,OAAOA,CAAChhE,GAAG,EAAE;MACX,OAAOA,GAAG,IAAIA,GAAG,CAAC6gE,OAAO;IAC3B,CAAC;IACD5hD,IAAIA,CAACjf,GAAG,EAAE;MACR,IAAIA,GAAG,IAAIA,GAAG,CAAC6gE,OAAO,EAAE;QACtB,OAAO,CACL,KAAK,EACL,CAAC,CAAC,EACF,GAAGI,cAAc,CAACjhE,GAAG,CAACq+C,CAAC,CAAC,CACzB;MACH;IACF;EACF,CAAC;EACD,SAAS4iB,cAAcA,CAACvgD,QAAQ,EAAE;IAChC,MAAMwgD,MAAM,GAAG,EAAE;IACjB,IAAIxgD,QAAQ,CAAC3oB,IAAI,CAACqf,KAAK,IAAIsJ,QAAQ,CAACtJ,KAAK,EAAE;MACzC8pD,MAAM,CAACl1D,IAAI,CAACm1D,mBAAmB,CAAC,OAAO,EAAErtD,KAAK,CAAC4M,QAAQ,CAACtJ,KAAK,CAAC,CAAC,CAAC;IAClE;IACA,IAAIsJ,QAAQ,CAAC2vB,UAAU,KAAKn7B,SAAS,EAAE;MACrCgsD,MAAM,CAACl1D,IAAI,CAACm1D,mBAAmB,CAAC,OAAO,EAAEzgD,QAAQ,CAAC2vB,UAAU,CAAC,CAAC;IAChE;IACA,IAAI3vB,QAAQ,CAAC3b,IAAI,KAAKmQ,SAAS,EAAE;MAC/BgsD,MAAM,CAACl1D,IAAI,CAACm1D,mBAAmB,CAAC,MAAM,EAAErtD,KAAK,CAAC4M,QAAQ,CAAC3b,IAAI,CAAC,CAAC,CAAC;IAChE;IACA,MAAMhC,QAAQ,GAAGq+D,WAAW,CAAC1gD,QAAQ,EAAE,UAAU,CAAC;IAClD,IAAI3d,QAAQ,EAAE;MACZm+D,MAAM,CAACl1D,IAAI,CAACm1D,mBAAmB,CAAC,UAAU,EAAEp+D,QAAQ,CAAC,CAAC;IACxD;IACA,MAAMk4C,QAAQ,GAAGmmB,WAAW,CAAC1gD,QAAQ,EAAE,QAAQ,CAAC;IAChD,IAAIu6B,QAAQ,EAAE;MACZimB,MAAM,CAACl1D,IAAI,CAACm1D,mBAAmB,CAAC,UAAU,EAAElmB,QAAQ,CAAC,CAAC;IACxD;IACAimB,MAAM,CAACl1D,IAAI,CAAC,CACV,KAAK,EACL,CAAC,CAAC,EACF,CACE,MAAM,EACN;MACE6T,KAAK,EAAE6gD,YAAY,CAAC7gD,KAAK,GAAG;IAC9B,CAAC,EACD,gBAAgB,CACjB,EACD,CAAC,QAAQ,EAAE;MAAEwhD,MAAM,EAAE3gD;IAAS,CAAC,CAAC,CACjC,CAAC;IACF,OAAOwgD,MAAM;EACf;EACA,SAASC,mBAAmBA,CAACppE,IAAI,EAAEiL,MAAM,EAAE;IACzCA,MAAM,GAAGsR,MAAM,CAAC,CAAC,CAAC,EAAEtR,MAAM,CAAC;IAC3B,IAAI,CAAC3J,MAAM,CAACD,IAAI,CAAC4J,MAAM,CAAC,CAAC1J,MAAM,EAAE;MAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrB;IACA,OAAO,CACL,KAAK,EACL;MAAEumB,KAAK,EAAE;IAAyC,CAAC,EACnD,CACE,KAAK,EACL;MACEA,KAAK,EAAE;IACT,CAAC,EACD9nB,IAAI,CACL,EACD,CACE,KAAK,EACL;MACE8nB,KAAK,EAAE;IACT,CAAC,EACD,GAAGxmB,MAAM,CAACD,IAAI,CAAC4J,MAAM,CAAC,CAACzE,GAAG,CAAEZ,GAAG,IAAK;MAClC,OAAO,CACL,KAAK,EACL,CAAC,CAAC,EACF,CAAC,MAAM,EAAE+iE,YAAY,EAAE/iE,GAAG,GAAG,IAAI,CAAC,EAClCojE,WAAW,CAAC/9D,MAAM,CAACrF,GAAG,CAAC,EAAE,KAAK,CAAC,CAChC;IACH,CAAC,CAAC,CACH,CACF;EACH;EACA,SAASojE,WAAWA,CAAC39C,CAAC,EAAEk+C,KAAK,GAAG,IAAI,EAAE;IACpC,IAAI,OAAOl+C,CAAC,KAAK,QAAQ,EAAE;MACzB,OAAO,CAAC,MAAM,EAAEo9C,WAAW,EAAEp9C,CAAC,CAAC;IACjC,CAAC,MAAM,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MAChC,OAAO,CAAC,MAAM,EAAEq9C,WAAW,EAAE3nC,IAAI,CAACM,SAAS,CAAChW,CAAC,CAAC,CAAC;IACjD,CAAC,MAAM,IAAI,OAAOA,CAAC,KAAK,SAAS,EAAE;MACjC,OAAO,CAAC,MAAM,EAAEs9C,YAAY,EAAEt9C,CAAC,CAAC;IAClC,CAAC,MAAM,IAAI7Z,QAAQ,CAAC6Z,CAAC,CAAC,EAAE;MACtB,OAAO,CAAC,QAAQ,EAAE;QAAEi+C,MAAM,EAAEC,KAAK,GAAGxtD,KAAK,CAACsP,CAAC,CAAC,GAAGA;MAAE,CAAC,CAAC;IACrD,CAAC,MAAM;MACL,OAAO,CAAC,MAAM,EAAEq9C,WAAW,EAAEviE,MAAM,CAACklB,CAAC,CAAC,CAAC;IACzC;EACF;EACA,SAASg+C,WAAWA,CAAC1gD,QAAQ,EAAE3oB,IAAI,EAAE;IACnC,MAAMivB,IAAI,GAAGtG,QAAQ,CAAC3oB,IAAI;IAC1B,IAAIsH,UAAU,CAAC2nB,IAAI,CAAC,EAAE;MACpB;IACF;IACA,MAAMu6C,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM5jE,GAAG,IAAI+iB,QAAQ,CAAC0mB,GAAG,EAAE;MAC9B,IAAIo6B,WAAW,CAACx6C,IAAI,EAAErpB,GAAG,EAAE5F,IAAI,CAAC,EAAE;QAChCwpE,SAAS,CAAC5jE,GAAG,CAAC,GAAG+iB,QAAQ,CAAC0mB,GAAG,CAACzpC,GAAG,CAAC;MACpC;IACF;IACA,OAAO4jE,SAAS;EAClB;EACA,SAASC,WAAWA,CAACx6C,IAAI,EAAErpB,GAAG,EAAE5F,IAAI,EAAE;IACpC,MAAMY,IAAI,GAAGquB,IAAI,CAACjvB,IAAI,CAAC;IACvB,IAAIuG,OAAO,CAAC3F,IAAI,CAAC,IAAIA,IAAI,CAAC0rB,QAAQ,CAAC1mB,GAAG,CAAC,IAAI4L,QAAQ,CAAC5Q,IAAI,CAAC,IAAIgF,GAAG,IAAIhF,IAAI,EAAE;MACxE,OAAO,IAAI;IACb;IACA,IAAIquB,IAAI,CAACu9B,OAAO,IAAIid,WAAW,CAACx6C,IAAI,CAACu9B,OAAO,EAAE5mD,GAAG,EAAE5F,IAAI,CAAC,EAAE;MACxD,OAAO,IAAI;IACb;IACA,IAAIivB,IAAI,CAACs9B,MAAM,IAAIt9B,IAAI,CAACs9B,MAAM,CAACzpC,IAAI,CAAEwK,CAAC,IAAKm8C,WAAW,CAACn8C,CAAC,EAAE1nB,GAAG,EAAE5F,IAAI,CAAC,CAAC,EAAE;MACrE,OAAO,IAAI;IACb;EACF;EACA,SAAS+oE,UAAUA,CAAC19C,CAAC,EAAE;IACrB,IAAI8Y,SAAS,CAAC9Y,CAAC,CAAC,EAAE;MAChB,OAAO,YAAY;IACrB;IACA,IAAIA,CAAC,CAACia,MAAM,EAAE;MACZ,OAAO,aAAa;IACtB;IACA,OAAO,KAAK;EACd;EACA,IAAIp1B,MAAM,CAACw5D,kBAAkB,EAAE;IAC7Bx5D,MAAM,CAACw5D,kBAAkB,CAACz1D,IAAI,CAAC20D,SAAS,CAAC;EAC3C,CAAC,MAAM;IACL14D,MAAM,CAACw5D,kBAAkB,GAAG,CAACd,SAAS,CAAC;EACzC;AACF;AAEA,SAASe,QAAQA,CAACvE,IAAI,EAAEtyC,MAAM,EAAEgJ,KAAK,EAAE5qB,KAAK,EAAE;EAC5C,MAAM0a,MAAM,GAAGkQ,KAAK,CAAC5qB,KAAK,CAAC;EAC3B,IAAI0a,MAAM,IAAIg+C,UAAU,CAACh+C,MAAM,EAAEw5C,IAAI,CAAC,EAAE;IACtC,OAAOx5C,MAAM;EACf;EACA,MAAMqrB,GAAG,GAAGnkB,MAAM,CAAC,CAAC;EACpBmkB,GAAG,CAACmuB,IAAI,GAAGA,IAAI,CAAC35D,KAAK,CAAC,CAAC;EACvBwrC,GAAG,CAACokB,UAAU,GAAGnqD,KAAK;EACtB,OAAO4qB,KAAK,CAAC5qB,KAAK,CAAC,GAAG+lC,GAAG;AAC3B;AACA,SAAS2yB,UAAUA,CAACh+C,MAAM,EAAEw5C,IAAI,EAAE;EAChC,MAAMx6C,IAAI,GAAGgB,MAAM,CAACw5C,IAAI;EACxB,IAAIx6C,IAAI,CAACrpB,MAAM,IAAI6jE,IAAI,CAAC7jE,MAAM,EAAE;IAC9B,OAAO,KAAK;EACd;EACA,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2qB,IAAI,CAACrpB,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACpC,IAAIinC,UAAU,CAACtc,IAAI,CAAC3qB,CAAC,CAAC,EAAEmlE,IAAI,CAACnlE,CAAC,CAAC,CAAC,EAAE;MAChC,OAAO,KAAK;IACd;EACF;EACA,IAAI+iE,kBAAkB,GAAG,CAAC,IAAIC,YAAY,EAAE;IAC1CA,YAAY,CAAChvD,IAAI,CAAC2X,MAAM,CAAC;EAC3B;EACA,OAAO,IAAI;AACb;AAEA,MAAMtrB,OAAO,GAAG,QAAQ;AACxB,MAAMS,IAAI,GAAG,sDAAyC,GAAG0mC,CAAM,GAAGhrB,IAAI;AACtE,MAAMotD,gBAAgB,GAAG5gC,gDAAAA,kBAAkB;AAC3C,MAAM6gC,QAAQ,GAAG,KAAiD,GAAGv8B,UAAU,GAAG,CAAM;AACxF,MAAMw8B,eAAe,GAAG,qDAAiD,GAAGr8B,iBAAiB,GAAGjxB,CAAI;AACpG,MAAMutD,SAAS,GAAG;EAChBzS,uBAAuB;EACvBC,cAAc;EACdW,mBAAmB;EACnBppB,2BAA2B;EAC3BqT,OAAO,EAAEA,OAAO;EAChB3G,cAAc;EACdzL,0BAA0B;EAC1B6V,gBAAgB;EAChBxe,kBAAkB;EAClBC;AACF,CAAC;AACD,MAAM2iC,QAAQ,GAAGD,gDAAAA,SAAS;AAC1B,MAAME,aAAa,GAAG,IAAI;AAC1B,MAAMC,WAAW,GAAG,IAAI;AACxB,MAAMC,gBAAgB,GAAG,IAAI;;;;;;;;;AChuQhB;AACb;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;ACPa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,0BAA0B,mBAAO,CAAC,IAA2C;AAC7E,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA+B;AACpD,cAAc,mBAAO,CAAC,IAAsB;AAC5C,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,oBAAoB,mBAAO,CAAC,IAAqC;AACjE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,GAAsC;AACnE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,UAAU,mBAAO,CAAC,IAAkB;AACpC,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChMa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,4BAA4B,mBAAO,CAAC,IAAuC;;AAE3E;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;ACda;AACb;AACA;;;;;;;;;ACFa;AACb;AACA;;;;;;;;;ACFa;AACb;AACA,oBAAoB,iCAAiC;AACrD,wBAAwB,qCAAqC;AAC7D,2BAA2B,wCAAwC;AACnE,wBAAwB,qCAAqC;AAC7D,2BAA2B,wCAAwC;AACnE,wBAAwB,sCAAsC;AAC9D,gCAAgC,8CAA8C;AAC9E,mBAAmB,gCAAgC;AACnD,uBAAuB,oCAAoC;AAC3D,yBAAyB,uCAAuC;AAChE,uBAAuB,qCAAqC;AAC5D,iBAAiB,8BAA8B;AAC/C,8BAA8B,4CAA4C;AAC1E,oBAAoB,iCAAiC;AACrD,wBAAwB,sCAAsC;AAC9D,qBAAqB,kCAAkC;AACvD,uBAAuB,qCAAqC;AAC5D,mBAAmB,gCAAgC;AACnD,kBAAkB,+BAA+B;AACjD,gBAAgB,6BAA6B;AAC7C,sBAAsB,oCAAoC;AAC1D,wBAAwB,sCAAsC;AAC9D,kBAAkB,+BAA+B;AACjD,0BAA0B,yCAAyC;AACnE,oBAAoB;AACpB;;;;;;;;;AC3Ba;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,YAAY,mBAAO,CAAC,IAAwB;AAC5C,WAAW,mBAAO,CAAC,GAAuB;AAC1C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACzBa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,aAAa,mBAAO,CAAC,IAA+B;AACpD,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,iCAAiC,wCAAkD;AACnF,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,aAAa,cAAc,UAAU;AAC3E,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iCAAiC;AACtF;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,MAAM;AACN,IAAI,gBAAgB;AACpB;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASnjC,OAAOA,CAACvgC,GAAG,EAAE;EACpB,MAAMF,GAAG,GAAG,eAAgBlF,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EAC/C,KAAK,MAAMhB,GAAG,IAAIc,GAAG,CAACoQ,KAAK,CAAC,GAAG,CAAC,EAAEtQ,GAAG,CAACZ,GAAG,CAAC,GAAG,CAAC;EAC9C,OAAQ0T,GAAG,IAAKA,GAAG,IAAI9S,GAAG;AAC5B;AAEA,MAAM2W,SAAS,GAAG,MAAyC,GAAG7b,CAAiB,GAAG,CAAC,CAAC;AACpF,MAAMylC,SAAS,GAAG,MAAyC,GAAGzlC,CAAiB,GAAG,EAAE;AACpF,MAAMmb,IAAI,GAAGA,CAAA,KAAM,CACnB,CAAC;AACD,MAAMqqB,EAAE,GAAGA,CAAA,KAAM,KAAK;AACtB,MAAM/pB,IAAI,GAAInX,GAAG,IAAKA,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;AAAI;AAC/E3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnD,MAAMvR,eAAe,GAAIpX,GAAG,IAAKA,GAAG,CAAC0lB,UAAU,CAAC,WAAW,CAAC;AAC5D,MAAM/O,MAAM,GAAGjb,MAAM,CAACoN,MAAM;AAC5B,MAAMqQ,MAAM,GAAGA,CAACnO,GAAG,EAAE0O,EAAE,KAAK;EAC1B,MAAMrf,CAAC,GAAG2Q,GAAG,CAACnJ,OAAO,CAAC6X,EAAE,CAAC;EACzB,IAAIrf,CAAC,GAAG,CAAC,CAAC,EAAE;IACV2Q,GAAG,CAACooB,MAAM,CAAC/4B,CAAC,EAAE,CAAC,CAAC;EAClB;AACF,CAAC;AACD,MAAMqqE,cAAc,GAAGhpE,MAAM,CAAC+J,SAAS,CAACi/D,cAAc;AACtD,MAAMptD,MAAM,GAAGA,CAAC5D,GAAG,EAAE1T,GAAG,KAAK0kE,cAAc,CAAC/iE,IAAI,CAAC+R,GAAG,EAAE1T,GAAG,CAAC;AAC1D,MAAMW,OAAO,GAAGwiB,KAAK,CAACxiB,OAAO;AAC7B,MAAMgkE,KAAK,GAAIjxD,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,cAAc;AAC3D,MAAMgE,KAAK,GAAIhE,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,cAAc;AAC3D,MAAMmxD,MAAM,GAAInxD,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,eAAe;AAC7D,MAAM5R,QAAQ,GAAI4R,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,iBAAiB;AACjE,MAAMhS,UAAU,GAAIgS,GAAG,IAAK,OAAOA,GAAG,KAAK,UAAU;AACrD,MAAM9R,QAAQ,GAAI8R,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAMuD,QAAQ,GAAIvD,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAM9H,QAAQ,GAAI8H,GAAG,IAAKA,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ;AACjE,MAAM0sB,SAAS,GAAI1sB,GAAG,IAAK;EACzB,OAAO,CAAC9H,QAAQ,CAAC8H,GAAG,CAAC,IAAIhS,UAAU,CAACgS,GAAG,CAAC,KAAKhS,UAAU,CAACgS,GAAG,CAACoU,IAAI,CAAC,IAAIpmB,UAAU,CAACgS,GAAG,CAAC4vB,KAAK,CAAC;AAC5F,CAAC;AACD,MAAMwhC,cAAc,GAAGppE,MAAM,CAAC+J,SAAS,CAACT,QAAQ;AAChD,MAAM4/D,YAAY,GAAI7pE,KAAK,IAAK+pE,cAAc,CAACnjE,IAAI,CAAC5G,KAAK,CAAC;AAC1D,MAAMqmC,SAAS,GAAIrmC,KAAK,IAAK;EAC3B,OAAO6pE,YAAY,CAAC7pE,KAAK,CAAC,CAAC8K,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,MAAMhC,aAAa,GAAI6P,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,iBAAiB;AACtE,MAAMqxD,YAAY,GAAI/kE,GAAG,IAAK4B,QAAQ,CAAC5B,GAAG,CAAC,IAAIA,GAAG,KAAK,KAAK,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG08C,QAAQ,CAAC18C,GAAG,EAAE,EAAE,CAAC,KAAKA,GAAG;AAChH,MAAMugC,cAAc,GAAG,eAAgBc,OAAO;AAC5C;AACA,qIACF,CAAC;AACD,MAAMf,kBAAkB,GAAG,eAAgBe,gDAAAA,OAAO,CAChD,2EACF,CAAC;AACD,MAAM2jC,mBAAmB,GAAInwD,EAAE,IAAK;EAClC,MAAMqhB,KAAK,GAAG,eAAgBx6B,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EACjD,OAAQF,GAAG,IAAK;IACd,MAAMmkE,GAAG,GAAG/uC,KAAK,CAACp1B,GAAG,CAAC;IACtB,OAAOmkE,GAAG,KAAK/uC,KAAK,CAACp1B,GAAG,CAAC,GAAG+T,EAAE,CAAC/T,GAAG,CAAC,CAAC;EACtC,CAAC;AACH,CAAC;AACD,MAAMokE,UAAU,GAAG,QAAQ;AAC3B,MAAMvvD,QAAQ,GAAGqvD,mBAAmB,CACjClkE,GAAG,IAAK;EACP,OAAOA,GAAG,CAACkB,OAAO,CAACkjE,UAAU,EAAE,CAACtyC,CAAC,EAAEzT,CAAC,KAAKA,CAAC,GAAGA,CAAC,CAAChd,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;AACpE,CACF,CAAC;AACD,MAAMgjE,WAAW,GAAG,YAAY;AAChC,MAAMruD,SAAS,GAAGkuD,mBAAmB,CAClClkE,GAAG,IAAKA,GAAG,CAACkB,OAAO,CAACmjE,WAAW,EAAE,KAAK,CAAC,CAAC1kE,WAAW,CAAC,CACvD,CAAC;AACD,MAAMsW,UAAU,GAAGiuD,mBAAmB,CAAElkE,GAAG,IAAK;EAC9C,OAAOA,GAAG,CAACuJ,MAAM,CAAC,CAAC,CAAC,CAAClI,WAAW,CAAC,CAAC,GAAGrB,GAAG,CAAC+E,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AACF,MAAMm7B,YAAY,GAAGgkC,mBAAmB,CACrClkE,GAAG,IAAK;EACP,MAAMugB,CAAC,GAAGvgB,GAAG,GAAG,KAAKiW,UAAU,CAACjW,GAAG,CAAC,EAAE,GAAG,EAAE;EAC3C,OAAOugB,CAAC;AACV,CACF,CAAC;AACD,MAAMigB,UAAU,GAAGA,CAACvmC,KAAK,EAAEynB,QAAQ,KAAK,CAAC9mB,MAAM,CAAC8d,EAAE,CAACze,KAAK,EAAEynB,QAAQ,CAAC;AACnE,MAAM5K,cAAc,GAAGA,CAACwtD,GAAG,EAAE,GAAG19B,GAAG,KAAK;EACtC,KAAK,IAAIrtC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+qE,GAAG,CAACzpE,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACnC+qE,GAAG,CAAC/qE,CAAC,CAAC,CAAC,GAAGqtC,GAAG,CAAC;EAChB;AACF,CAAC;AACD,MAAMje,GAAG,GAAGA,CAACpnB,GAAG,EAAErC,GAAG,EAAEjF,KAAK,EAAE+8B,QAAQ,GAAG,KAAK,KAAK;EACjDp8B,MAAM,CAAC+G,cAAc,CAACJ,GAAG,EAAErC,GAAG,EAAE;IAC9B6C,YAAY,EAAE,IAAI;IAClBovC,UAAU,EAAE,KAAK;IACjBna,QAAQ;IACR/8B;EACF,CAAC,CAAC;AACJ,CAAC;AACD,MAAMyc,aAAa,GAAI9D,GAAG,IAAK;EAC7B,MAAMsL,CAAC,GAAGqmD,UAAU,CAAC3xD,GAAG,CAAC;EACzB,OAAOumB,KAAK,CAACjb,CAAC,CAAC,GAAGtL,GAAG,GAAGsL,CAAC;AAC3B,CAAC;AACD,MAAMpI,QAAQ,GAAIlD,GAAG,IAAK;EACxB,MAAMsL,CAAC,GAAGpd,QAAQ,CAAC8R,GAAG,CAAC,GAAGlI,MAAM,CAACkI,GAAG,CAAC,GAAGimB,GAAG;EAC3C,OAAOM,KAAK,CAACjb,CAAC,CAAC,GAAGtL,GAAG,GAAGsL,CAAC;AAC3B,CAAC;AACD,IAAIsmD,WAAW;AACf,MAAMjlC,aAAa,GAAGA,CAAA,KAAM;EAC1B,OAAOilC,WAAW,KAAKA,WAAW,GAAG,OAAOvsC,UAAU,KAAK,WAAW,GAAGA,UAAU,GAAG,OAAO31B,IAAI,KAAK,WAAW,GAAGA,IAAI,GAAG,OAAOkH,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAG,OAAOi7D,qBAAM,KAAK,WAAW,GAAGA,qBAAM,GAAG,CAAC,CAAC,CAAC;AAClN,CAAC;AACD,MAAMC,OAAO,GAAG,kDAAkD;AAClE,SAASC,iBAAiBA,CAAC56D,IAAI,EAAE;EAC/B,OAAO26D,OAAO,CAACnkE,IAAI,CAACwJ,IAAI,CAAC,GAAG,WAAWA,IAAI,EAAE,GAAG,WAAWswB,IAAI,CAACM,SAAS,CAAC5wB,IAAI,CAAC,GAAG;AACpF;AACA,SAAS66D,WAAWA,CAACp/D,MAAM,EAAEjL,OAAO,EAAE;EACpC,OAAOiL,MAAM,GAAG60B,IAAI,CAACM,SAAS,CAC5BpgC,OAAO,EACP,CAACu3B,CAAC,EAAElf,GAAG,KAAK,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAAC1O,QAAQ,CAAC,CAAC,GAAG0O,GAC3D,CAAC;AACH;AAEA,MAAMiyD,UAAU,GAAG;EACjB,MAAM,EAAE,CAAC;EACT,GAAG,EAAE,MAAM;EACX,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,YAAY,EAAE,EAAE;EAChB,IAAI,EAAE,YAAY;EAClB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,iBAAiB,EAAE,EAAE;EACrB,IAAI,EAAE,iBAAiB;EACvB,gBAAgB,EAAE,GAAG;EACrB,KAAK,EAAE,gBAAgB;EACvB,kBAAkB,EAAE,GAAG;EACvB,KAAK,EAAE,kBAAkB;EACzB,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,YAAY;EACnB,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,eAAe;EACvB,mBAAmB,EAAE,IAAI;EACzB,MAAM,EAAE,mBAAmB;EAC3B,QAAQ,EAAE,CAAC,CAAC;EACZ,IAAI,EAAE,QAAQ;EACd,MAAM,EAAE,CAAC,CAAC;EACV,IAAI,EAAE;AACR,CAAC;AACD,MAAMC,cAAc,GAAG;EACrB,CAAC,CAAC,GAAG,MAAM;EACX,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,EAAE,GAAG,YAAY;EAClB,CAAC,EAAE,GAAG,gBAAgB;EACtB,CAAC,EAAE,GAAG,iBAAiB;EACvB,CAAC,GAAG,GAAG,gBAAgB;EACvB,CAAC,GAAG,GAAG,kBAAkB;EACzB,CAAC,GAAG,GAAG,YAAY;EACnB,CAAC,IAAI,GAAG,eAAe;EACvB,CAAC,IAAI,GAAG,mBAAmB;EAC3B,CAAC,CAAC,CAAC,GAAG,SAAS;EACf,CAAC,CAAC,CAAC,GAAG;AACR,CAAC;AAED,MAAMC,UAAU,GAAG;EACjB,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,sBAAsB,EAAE,CAAC;EACzB,GAAG,EAAE,sBAAsB;EAC3B,oBAAoB,EAAE,CAAC;EACvB,GAAG,EAAE,oBAAoB;EACzB,eAAe,EAAE,CAAC;EAClB,GAAG,EAAE,eAAe;EACpB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,UAAU,EAAE,EAAE;EACd,IAAI,EAAE,UAAU;EAChB,UAAU,EAAE,GAAG;EACf,KAAK,EAAE,UAAU;EACjB,6BAA6B,EAAE,GAAG;EAClC,KAAK,EAAE,6BAA6B;EACpC,sBAAsB,EAAE,GAAG;EAC3B,KAAK,EAAE,sBAAsB;EAC7B,WAAW,EAAE,CAAC;EACd,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,SAAS,GAAG;EAChB,QAAQ,EAAE,CAAC;EACX,GAAG,EAAE,QAAQ;EACb,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,WAAW,EAAE,CAAC;EACd,GAAG,EAAE;AACP,CAAC;AACD,MAAMC,aAAa,GAAG;EACpB,CAAC,CAAC,GAAG,QAAQ;EACb,CAAC,CAAC,GAAG,SAAS;EACd,CAAC,CAAC,GAAG;AACP,CAAC;AAED,MAAMC,eAAe,GAAG,uNAAuN;AAC/O,MAAM/kC,iBAAiB,GAAG,eAAgBI,OAAO,CAAC2kC,eAAe,CAAC;AAClE,MAAMC,qBAAqB,GAAGhlC,gDAAAA,iBAAiB;AAE/C,MAAMilC,KAAK,GAAG,CAAC;AACf,SAASC,iBAAiBA,CAAC7/D,MAAM,EAAEsU,KAAK,GAAG,CAAC,EAAEC,GAAG,GAAGvU,MAAM,CAAC3K,MAAM,EAAE;EACjEif,KAAK,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACqzC,GAAG,CAACx5C,KAAK,EAAEtU,MAAM,CAAC3K,MAAM,CAAC,CAAC;EACnDkf,GAAG,GAAGkG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACqzC,GAAG,CAACv5C,GAAG,EAAEvU,MAAM,CAAC3K,MAAM,CAAC,CAAC;EAC/C,IAAIif,KAAK,GAAGC,GAAG,EAAE,OAAO,EAAE;EAC1B,IAAIurD,KAAK,GAAG9/D,MAAM,CAAC4K,KAAK,CAAC,SAAS,CAAC;EACnC,MAAMm1D,gBAAgB,GAAGD,KAAK,CAAC5kE,MAAM,CAAC,CAACoxB,CAAC,EAAE0zC,GAAG,KAAKA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;EAChEF,KAAK,GAAGA,KAAK,CAAC5kE,MAAM,CAAC,CAACoxB,CAAC,EAAE0zC,GAAG,KAAKA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;EAC/C,IAAIxgC,KAAK,GAAG,CAAC;EACb,MAAM7mB,GAAG,GAAG,EAAE;EACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+rE,KAAK,CAACzqE,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACrCyrC,KAAK,IAAIsgC,KAAK,CAAC/rE,CAAC,CAAC,CAACsB,MAAM,IAAI0qE,gBAAgB,CAAChsE,CAAC,CAAC,IAAIgsE,gBAAgB,CAAChsE,CAAC,CAAC,CAACsB,MAAM,IAAI,CAAC,CAAC;IACnF,IAAImqC,KAAK,IAAIlrB,KAAK,EAAE;MAClB,KAAK,IAAI8kC,CAAC,GAAGrlD,CAAC,GAAG6rE,KAAK,EAAExmB,CAAC,IAAIrlD,CAAC,GAAG6rE,KAAK,IAAIrrD,GAAG,GAAGirB,KAAK,EAAE4Z,CAAC,EAAE,EAAE;QAC1D,IAAIA,CAAC,GAAG,CAAC,IAAIA,CAAC,IAAI0mB,KAAK,CAACzqE,MAAM,EAAE;QAChC,MAAM68B,IAAI,GAAGknB,CAAC,GAAG,CAAC;QAClBzgC,GAAG,CAAC5Q,IAAI,CACN,GAAGmqB,IAAI,GAAG,GAAG,CAAC+tC,MAAM,CAACxlD,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGzgB,MAAM,CAACi4B,IAAI,CAAC,CAAC78B,MAAM,EAAE,CAAC,CAAC,CAAC,MAAMyqE,KAAK,CAAC1mB,CAAC,CAAC,EAC1E,CAAC;QACD,MAAM8mB,UAAU,GAAGJ,KAAK,CAAC1mB,CAAC,CAAC,CAAC/jD,MAAM;QAClC,MAAM8qE,gBAAgB,GAAGJ,gBAAgB,CAAC3mB,CAAC,CAAC,IAAI2mB,gBAAgB,CAAC3mB,CAAC,CAAC,CAAC/jD,MAAM,IAAI,CAAC;QAC/E,IAAI+jD,CAAC,KAAKrlD,CAAC,EAAE;UACX,MAAMqsE,GAAG,GAAG9rD,KAAK,IAAIkrB,KAAK,IAAI0gC,UAAU,GAAGC,gBAAgB,CAAC,CAAC;UAC7D,MAAM9qE,MAAM,GAAGolB,IAAI,CAACC,GAAG,CACrB,CAAC,EACDnG,GAAG,GAAGirB,KAAK,GAAG0gC,UAAU,GAAGE,GAAG,GAAG7rD,GAAG,GAAGD,KACzC,CAAC;UACDqE,GAAG,CAAC5Q,IAAI,CAAC,QAAQ,GAAG,GAAG,CAACk4D,MAAM,CAACG,GAAG,CAAC,GAAG,GAAG,CAACH,MAAM,CAAC5qE,MAAM,CAAC,CAAC;QAC3D,CAAC,MAAM,IAAI+jD,CAAC,GAAGrlD,CAAC,EAAE;UAChB,IAAIwgB,GAAG,GAAGirB,KAAK,EAAE;YACf,MAAMnqC,MAAM,GAAGolB,IAAI,CAACC,GAAG,CAACD,IAAI,CAACqzC,GAAG,CAACv5C,GAAG,GAAGirB,KAAK,EAAE0gC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC7DvnD,GAAG,CAAC5Q,IAAI,CAAC,QAAQ,GAAG,GAAG,CAACk4D,MAAM,CAAC5qE,MAAM,CAAC,CAAC;UACzC;UACAmqC,KAAK,IAAI0gC,UAAU,GAAGC,gBAAgB;QACxC;MACF;MACA;IACF;EACF;EACA,OAAOxnD,GAAG,CAACna,IAAI,CAAC,IAAI,CAAC;AACvB;AAEA,SAAS47B,cAAcA,CAAC3lC,KAAK,EAAE;EAC7B,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IAClB,MAAMkkB,GAAG,GAAG,CAAC,CAAC;IACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC,MAAMugC,IAAI,GAAG7/B,KAAK,CAACV,CAAC,CAAC;MACrB,MAAMoK,UAAU,GAAG7C,QAAQ,CAACg5B,IAAI,CAAC,GAAG+rC,gBAAgB,CAAC/rC,IAAI,CAAC,GAAG8F,cAAc,CAAC9F,IAAI,CAAC;MACjF,IAAIn2B,UAAU,EAAE;QACd,KAAK,MAAMzE,GAAG,IAAIyE,UAAU,EAAE;UAC5Bwa,GAAG,CAACjf,GAAG,CAAC,GAAGyE,UAAU,CAACzE,GAAG,CAAC;QAC5B;MACF;IACF;IACA,OAAOif,GAAG;EACZ,CAAC,MAAM,IAAIrd,QAAQ,CAAC7G,KAAK,CAAC,IAAI6Q,QAAQ,CAAC7Q,KAAK,CAAC,EAAE;IAC7C,OAAOA,KAAK;EACd;AACF;AACA,MAAM6rE,eAAe,GAAG,eAAe;AACvC,MAAMC,mBAAmB,GAAG,SAAS;AACrC,MAAMC,cAAc,GAAG,gBAAgB;AACvC,SAASH,gBAAgBA,CAAC/hD,OAAO,EAAE;EACjC,MAAMysB,GAAG,GAAG,CAAC,CAAC;EACdzsB,OAAO,CAAC5iB,OAAO,CAAC8kE,cAAc,EAAE,EAAE,CAAC,CAAC51D,KAAK,CAAC01D,eAAe,CAAC,CAACzsE,OAAO,CAAEygC,IAAI,IAAK;IAC3E,IAAIA,IAAI,EAAE;MACR,MAAMmsC,GAAG,GAAGnsC,IAAI,CAAC1pB,KAAK,CAAC21D,mBAAmB,CAAC;MAC3CE,GAAG,CAACprE,MAAM,GAAG,CAAC,KAAK01C,GAAG,CAAC01B,GAAG,CAAC,CAAC,CAAC,CAACvmE,IAAI,CAAC,CAAC,CAAC,GAAGumE,GAAG,CAAC,CAAC,CAAC,CAACvmE,IAAI,CAAC,CAAC,CAAC;IACxD;EACF,CAAC,CAAC;EACF,OAAO6wC,GAAG;AACZ;AACA,SAAS5Q,cAAcA,CAACpgB,MAAM,EAAE;EAC9B,IAAI,CAACA,MAAM,EAAE,OAAO,EAAE;EACtB,IAAIze,QAAQ,CAACye,MAAM,CAAC,EAAE,OAAOA,MAAM;EACnC,IAAIgxB,GAAG,GAAG,EAAE;EACZ,KAAK,MAAMrxC,GAAG,IAAIqgB,MAAM,EAAE;IACxB,MAAMtlB,KAAK,GAAGslB,MAAM,CAACrgB,GAAG,CAAC;IACzB,IAAI4B,QAAQ,CAAC7G,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAChD,MAAM0wD,aAAa,GAAGzrD,GAAG,CAAC0lB,UAAU,CAAC,IAAI,CAAC,GAAG1lB,GAAG,GAAG8W,SAAS,CAAC9W,GAAG,CAAC;MACjEqxC,GAAG,IAAI,GAAGoa,aAAa,IAAI1wD,KAAK,GAAG;IACrC;EACF;EACA,OAAOs2C,GAAG;AACZ;AACA,SAAS7Q,cAAcA,CAACzlC,KAAK,EAAE;EAC7B,IAAIkkB,GAAG,GAAG,EAAE;EACZ,IAAIrd,QAAQ,CAAC7G,KAAK,CAAC,EAAE;IACnBkkB,GAAG,GAAGlkB,KAAK;EACb,CAAC,MAAM,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IACzB,KAAK,IAAIV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC,MAAMoK,UAAU,GAAG+7B,cAAc,CAACzlC,KAAK,CAACV,CAAC,CAAC,CAAC;MAC3C,IAAIoK,UAAU,EAAE;QACdwa,GAAG,IAAIxa,UAAU,GAAG,GAAG;MACzB;IACF;EACF,CAAC,MAAM,IAAImH,QAAQ,CAAC7Q,KAAK,CAAC,EAAE;IAC1B,KAAK,MAAM8P,IAAI,IAAI9P,KAAK,EAAE;MACxB,IAAIA,KAAK,CAAC8P,IAAI,CAAC,EAAE;QACfoU,GAAG,IAAIpU,IAAI,GAAG,GAAG;MACnB;IACF;EACF;EACA,OAAOoU,GAAG,CAACze,IAAI,CAAC,CAAC;AACnB;AACA,SAAS+gC,cAAcA,CAAC9nB,KAAK,EAAE;EAC7B,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EACvB,IAAI;IAAEw3C,KAAK,EAAE2N,KAAK;IAAE18C;EAAM,CAAC,GAAGzI,KAAK;EACnC,IAAImlD,KAAK,IAAI,CAACh9D,QAAQ,CAACg9D,KAAK,CAAC,EAAE;IAC7BnlD,KAAK,CAACw3C,KAAK,GAAGzwB,cAAc,CAACo+B,KAAK,CAAC;EACrC;EACA,IAAI18C,KAAK,EAAE;IACTzI,KAAK,CAACyI,KAAK,GAAGwe,cAAc,CAACxe,KAAK,CAAC;EACrC;EACA,OAAOzI,KAAK;AACd;AAEA,MAAMutD,SAAS,GAAG,glBAAglB;AAClmB,MAAMC,QAAQ,GAAG,mpBAAmpB;AACpqB,MAAMC,SAAS,GAAG,oVAAoV;AACtW,MAAMC,SAAS,GAAG,sEAAsE;AACxF,MAAMtvD,SAAS,GAAG,eAAgBwpB,gDAAAA,OAAO,CAAC2lC,SAAS,CAAC;AACpD,MAAMlvD,QAAQ,GAAG,eAAgBupB,gDAAAA,OAAO,CAAC4lC,QAAQ,CAAC;AAClD,MAAMlvD,WAAW,GAAG,eAAgBspB,gDAAAA,OAAO,CAAC6lC,SAAS,CAAC;AACtD,MAAME,SAAS,GAAG,eAAgB/lC,gDAAAA,OAAO,CAAC8lC,SAAS,CAAC;AAEpD,MAAME,mBAAmB,GAAG,6EAA6E;AACzG,MAAMnwD,oBAAoB,GAAG,eAAgBmqB,gDAAAA,OAAO,CAACgmC,mBAAmB,CAAC;AACzE,MAAMzmC,aAAa,GAAG,eAAgBS,OAAO,CAC3CgmC,mBAAmB,GAAG,oJACxB,CAAC;AACD,SAASrwD,kBAAkBA,CAACjc,KAAK,EAAE;EACjC,OAAO,CAAC,CAACA,KAAK,IAAIA,KAAK,KAAK,EAAE;AAChC;AACA,MAAMusE,gBAAgB,GAAG,iCAAiC;AAC1D,MAAMC,mBAAmB,GAAG,CAAC,CAAC;AAC9B,SAASC,iBAAiBA,CAAC38D,IAAI,EAAE;EAC/B,IAAI08D,mBAAmB,CAAC7C,cAAc,CAAC75D,IAAI,CAAC,EAAE;IAC5C,OAAO08D,mBAAmB,CAAC18D,IAAI,CAAC;EAClC;EACA,MAAM48D,QAAQ,GAAGH,gBAAgB,CAACjmE,IAAI,CAACwJ,IAAI,CAAC;EAC5C,IAAI48D,QAAQ,EAAE;IACZvsE,OAAO,CAAC4R,KAAK,CAAC,0BAA0BjC,IAAI,EAAE,CAAC;EACjD;EACA,OAAO08D,mBAAmB,CAAC18D,IAAI,CAAC,GAAG,CAAC48D,QAAQ;AAC9C;AACA,MAAMC,cAAc,GAAG;EACrBC,aAAa,EAAE,gBAAgB;EAC/B/lD,SAAS,EAAE,OAAO;EAClBgmD,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE;AACb,CAAC;AACD,MAAMhnC,eAAe,GAAG,eAAgBQ,gDAAAA,OAAO,CAC7C,w+BACF,CAAC;AACD,MAAMV,cAAc,GAAG,eAAgBU,gDAAAA,OAAO,CAC5C,koFACF,CAAC;AACD,MAAMymC,iBAAiB,GAAG,eAAgBzmC,gDAAAA,OAAO,CAC/C,myBACF,CAAC;AACD,SAASP,qBAAqBA,CAAC/lC,KAAK,EAAE;EACpC,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,KAAK;EACd;EACA,MAAMX,IAAI,GAAG,OAAOW,KAAK;EACzB,OAAOX,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,SAAS;AACrE;AAEA,MAAM2tE,QAAQ,GAAG,SAAS;AAC1B,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,MAAMnnE,GAAG,GAAG,EAAE,GAAGmnE,MAAM;EACvB,MAAM/mE,KAAK,GAAG6mE,QAAQ,CAAC5mE,IAAI,CAACL,GAAG,CAAC;EAChC,IAAI,CAACI,KAAK,EAAE;IACV,OAAOJ,GAAG;EACZ;EACA,IAAIonE,IAAI,GAAG,EAAE;EACb,IAAIC,OAAO;EACX,IAAI78D,KAAK;EACT,IAAIuxC,SAAS,GAAG,CAAC;EACjB,KAAKvxC,KAAK,GAAGpK,KAAK,CAACoK,KAAK,EAAEA,KAAK,GAAGxK,GAAG,CAACnF,MAAM,EAAE2P,KAAK,EAAE,EAAE;IACrD,QAAQxK,GAAG,CAAC6nB,UAAU,CAACrd,KAAK,CAAC;MAC3B,KAAK,EAAE;QACL68D,OAAO,GAAG,QAAQ;QAClB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,OAAO;QACjB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,OAAO;QACjB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,MAAM;QAChB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,MAAM;QAChB;MACF;QACE;IACJ;IACA,IAAItrB,SAAS,KAAKvxC,KAAK,EAAE;MACvB48D,IAAI,IAAIpnE,GAAG,CAAC+E,KAAK,CAACg3C,SAAS,EAAEvxC,KAAK,CAAC;IACrC;IACAuxC,SAAS,GAAGvxC,KAAK,GAAG,CAAC;IACrB48D,IAAI,IAAIC,OAAO;EACjB;EACA,OAAOtrB,SAAS,KAAKvxC,KAAK,GAAG48D,IAAI,GAAGpnE,GAAG,CAAC+E,KAAK,CAACg3C,SAAS,EAAEvxC,KAAK,CAAC,GAAG48D,IAAI;AACxE;AACA,MAAME,cAAc,GAAG,0BAA0B;AACjD,SAASC,iBAAiBA,CAACC,GAAG,EAAE;EAC9B,OAAOA,GAAG,CAACtmE,OAAO,CAAComE,cAAc,EAAE,EAAE,CAAC;AACxC;AACA,MAAMG,yBAAyB,GAAG,sCAAsC;AACxE,SAASxnC,oBAAoBA,CAAC/gC,GAAG,EAAEwoE,YAAY,EAAE;EAC/C,OAAOxoE,GAAG,CAACgC,OAAO,CAChBumE,yBAAyB,EACxBlnD,CAAC,IAAKmnD,YAAY,GAAGnnD,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,OAAOA,CAAC,EAAE,GAAG,KAAKA,CAAC,EACnE,CAAC;AACH;AAEA,SAASonD,kBAAkBA,CAAC/hE,CAAC,EAAEC,CAAC,EAAE;EAChC,IAAID,CAAC,CAAC/K,MAAM,KAAKgL,CAAC,CAAChL,MAAM,EAAE,OAAO,KAAK;EACvC,IAAI+sE,KAAK,GAAG,IAAI;EAChB,KAAK,IAAIruE,CAAC,GAAG,CAAC,EAAEquE,KAAK,IAAIruE,CAAC,GAAGqM,CAAC,CAAC/K,MAAM,EAAEtB,CAAC,EAAE,EAAE;IAC1CquE,KAAK,GAAG/wD,UAAU,CAACjR,CAAC,CAACrM,CAAC,CAAC,EAAEsM,CAAC,CAACtM,CAAC,CAAC,CAAC;EAChC;EACA,OAAOquE,KAAK;AACd;AACA,SAAS/wD,UAAUA,CAACjR,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAIgiE,UAAU,GAAG9D,MAAM,CAACn+D,CAAC,CAAC;EAC1B,IAAIkiE,UAAU,GAAG/D,MAAM,CAACl+D,CAAC,CAAC;EAC1B,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOD,UAAU,IAAIC,UAAU,GAAGliE,CAAC,CAACmiE,OAAO,CAAC,CAAC,KAAKliE,CAAC,CAACkiE,OAAO,CAAC,CAAC,GAAG,KAAK;EACvE;EACAF,UAAU,GAAG1xD,QAAQ,CAACvQ,CAAC,CAAC;EACxBkiE,UAAU,GAAG3xD,QAAQ,CAACtQ,CAAC,CAAC;EACxB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOliE,CAAC,KAAKC,CAAC;EAChB;EACAgiE,UAAU,GAAGhoE,OAAO,CAAC+F,CAAC,CAAC;EACvBkiE,UAAU,GAAGjoE,OAAO,CAACgG,CAAC,CAAC;EACvB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOD,UAAU,IAAIC,UAAU,GAAGH,kBAAkB,CAAC/hE,CAAC,EAAEC,CAAC,CAAC,GAAG,KAAK;EACpE;EACAgiE,UAAU,GAAG/8D,QAAQ,CAAClF,CAAC,CAAC;EACxBkiE,UAAU,GAAGh9D,QAAQ,CAACjF,CAAC,CAAC;EACxB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,IAAI,CAACD,UAAU,IAAI,CAACC,UAAU,EAAE;MAC9B,OAAO,KAAK;IACd;IACA,MAAME,UAAU,GAAGptE,MAAM,CAACD,IAAI,CAACiL,CAAC,CAAC,CAAC/K,MAAM;IACxC,MAAMotE,UAAU,GAAGrtE,MAAM,CAACD,IAAI,CAACkL,CAAC,CAAC,CAAChL,MAAM;IACxC,IAAImtE,UAAU,KAAKC,UAAU,EAAE;MAC7B,OAAO,KAAK;IACd;IACA,KAAK,MAAM/oE,GAAG,IAAI0G,CAAC,EAAE;MACnB,MAAMsiE,OAAO,GAAGtiE,CAAC,CAACg+D,cAAc,CAAC1kE,GAAG,CAAC;MACrC,MAAMipE,OAAO,GAAGtiE,CAAC,CAAC+9D,cAAc,CAAC1kE,GAAG,CAAC;MACrC,IAAIgpE,OAAO,IAAI,CAACC,OAAO,IAAI,CAACD,OAAO,IAAIC,OAAO,IAAI,CAACtxD,UAAU,CAACjR,CAAC,CAAC1G,GAAG,CAAC,EAAE2G,CAAC,CAAC3G,GAAG,CAAC,CAAC,EAAE;QAC7E,OAAO,KAAK;MACd;IACF;EACF;EACA,OAAOO,MAAM,CAACmG,CAAC,CAAC,KAAKnG,MAAM,CAACoG,CAAC,CAAC;AAChC;AACA,SAAS8Q,YAAYA,CAACzM,GAAG,EAAE0I,GAAG,EAAE;EAC9B,OAAO1I,GAAG,CAACk+D,SAAS,CAAEtuC,IAAI,IAAKjjB,UAAU,CAACijB,IAAI,EAAElnB,GAAG,CAAC,CAAC;AACvD;AAEA,MAAMuqB,KAAK,GAAIvqB,GAAG,IAAK;EACrB,OAAO,CAAC,EAAEA,GAAG,IAAIA,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AACD,MAAM8tB,eAAe,GAAI9tB,GAAG,IAAK;EAC/B,OAAO9R,QAAQ,CAAC8R,GAAG,CAAC,GAAGA,GAAG,GAAGA,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG/S,OAAO,CAAC+S,GAAG,CAAC,IAAI9H,QAAQ,CAAC8H,GAAG,CAAC,KAAKA,GAAG,CAAC1O,QAAQ,KAAK8/D,cAAc,IAAI,CAACpjE,UAAU,CAACgS,GAAG,CAAC1O,QAAQ,CAAC,CAAC,GAAGi5B,KAAK,CAACvqB,GAAG,CAAC,GAAG8tB,eAAe,CAAC9tB,GAAG,CAAC3Y,KAAK,CAAC,GAAGogC,IAAI,CAACM,SAAS,CAAC/nB,GAAG,EAAEy1D,QAAQ,EAAE,CAAC,CAAC,GAAG5oE,MAAM,CAACmT,GAAG,CAAC;AAC5O,CAAC;AACD,MAAMy1D,QAAQ,GAAGA,CAACC,IAAI,EAAE11D,GAAG,KAAK;EAC9B,IAAIuqB,KAAK,CAACvqB,GAAG,CAAC,EAAE;IACd,OAAOy1D,QAAQ,CAACC,IAAI,EAAE11D,GAAG,CAAC3Y,KAAK,CAAC;EAClC,CAAC,MAAM,IAAI4pE,KAAK,CAACjxD,GAAG,CAAC,EAAE;IACrB,OAAO;MACL,CAAC,OAAOA,GAAG,CAAC8L,IAAI,GAAG,GAAG,CAAC,GAAG9L,GAAG,CAAC3T,OAAO,CAAC,CAAC,CAAC,CAAC+jD,MAAM,CAC7C,CAAC/jD,OAAO,EAAE,CAACC,GAAG,EAAEqpE,IAAI,CAAC,EAAEhvE,CAAC,KAAK;QAC3B0F,OAAO,CAACupE,eAAe,CAACtpE,GAAG,EAAE3F,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGgvE,IAAI;QAC/C,OAAOtpE,OAAO;MAChB,CAAC,EACD,CAAC,CACH;IACF,CAAC;EACH,CAAC,MAAM,IAAI2X,KAAK,CAAChE,GAAG,CAAC,EAAE;IACrB,OAAO;MACL,CAAC,OAAOA,GAAG,CAAC8L,IAAI,GAAG,GAAG,CAAC,GAAG9L,GAAG,CAAC6vB,MAAM,CAAC,CAAC,CAAC,CAAC3iC,GAAG,CAAE6kB,CAAC,IAAK6jD,eAAe,CAAC7jD,CAAC,CAAC;IACvE,CAAC;EACH,CAAC,MAAM,IAAIxO,QAAQ,CAACvD,GAAG,CAAC,EAAE;IACxB,OAAO41D,eAAe,CAAC51D,GAAG,CAAC;EAC7B,CAAC,MAAM,IAAI9H,QAAQ,CAAC8H,GAAG,CAAC,IAAI,CAAC/S,OAAO,CAAC+S,GAAG,CAAC,IAAI,CAAC7P,aAAa,CAAC6P,GAAG,CAAC,EAAE;IAChE,OAAOnT,MAAM,CAACmT,GAAG,CAAC;EACpB;EACA,OAAOA,GAAG;AACZ,CAAC;AACD,MAAM41D,eAAe,GAAGA,CAAC7jD,CAAC,EAAEprB,CAAC,GAAG,EAAE,KAAK;EACrC,IAAIw+B,EAAE;EACN;IACE;IACA;IACA5hB,QAAQ,CAACwO,CAAC,CAAC,GAAG,UAAU,CAACoT,EAAE,GAAGpT,CAAC,CAACpZ,WAAW,KAAK,IAAI,GAAGwsB,EAAE,GAAGx+B,CAAC,GAAG,GAAGorB;EAAC;AAExE,CAAC;;;;;;;;;ACpgBY;AACb,cAAc,mBAAO,CAAC,IAAsB;AAC5C,iBAAiB,mBAAO,CAAC,IAAqB;AAC9C,2BAA2B,mBAAO,CAAC,IAAqC;;AAExE;AACA,kFAAkF;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACdY;AACb;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,4BAA4B,mBAAO,CAAC,IAAoC;AACxE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;AACA,iDAAiD,mBAAmB;;AAEpE;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Ba;AACb,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACtBa;AACb;;;;;;;;;ACDa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACRa;AACb,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA,iCAAiC,OAAO,mBAAmB,aAAa;AACxE,CAAC;;;;;;;;;ACPY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,cAAc,mBAAO,CAAC,IAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,oCAAoC;AAC7C;AACA,CAAC;;;;;;;;;ACnBY;AACb,kBAAkB,mBAAO,CAAC,IAAmC;;AAE7D;;AAEA;AACA;AACA;;;;;;;;;ACPa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACba;AACb,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;;ACRa;AACb,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;ACXO,MAAMlY,UAAU,GAAG,uBAAuB;AAC1C,MAAM+sB,wBAAwB,GAAG,qBAAqB;;;;;;;;ACDhD;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;;;;;;;;;ACJa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,+BAA+B,mBAAO,CAAC,IAAyC;;AAEhF;AACA;AACA,EAAE;AACF;AACA;AACA;;;;;;;;;ACVa;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,0BAA0B,mBAAO,CAAC,IAAuC;AACzE,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA,IAAI,gGAAgG;AACpG;AACA,CAAC;;;;;;;;;ACTY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,qBAAqB,mBAAO,CAAC,IAA+B;AAC5D,+BAA+B,mBAAO,CAAC,IAA2C;AAClF,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA,wBAAwB,qBAAqB;AAC7C,CAAC;;AAED,iCAAiC;AACjC;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB;AAC3D,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI,wDAAwD;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACzCY;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRa;;AAEE,SAAShN,IAAIA,CAACzY,EAAE,EAAE00D,OAAO,EAAE;EACxC,OAAO,SAASC,IAAIA,CAAA,EAAG;IACrB,OAAO30D,EAAE,CAAC40D,KAAK,CAACF,OAAO,EAAEhgB,SAAS,CAAC;EACrC,CAAC;AACH;;;;;;;;ACNa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;AClCa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACTa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,cAAc,mBAAO,CAAC,IAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;;AAEA;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK,IAAI,iBAAiB;AAC1B;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC/BY;;AAAA;AAAA;AAAA;AAE4B;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASmgB,MAAMA,CAAC5oE,GAAG,EAAE;EACnB,MAAM6oE,OAAO,GAAG;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE;EACT,CAAC;EACD,OAAOl4D,kBAAkB,CAAC3Q,GAAG,CAAC,CAACkB,OAAO,CAAC,kBAAkB,EAAE,SAASmnE,QAAQA,CAACjoE,KAAK,EAAE;IAClF,OAAOyoE,OAAO,CAACzoE,KAAK,CAAC;EACvB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS0oE,oBAAoBA,CAAC/3D,MAAM,EAAExW,OAAO,EAAE;EAC7C,IAAI,CAACwuE,MAAM,GAAG,EAAE;EAEhBh4D,MAAM,IAAImrB,mEAAU,CAACnrB,MAAM,EAAE,IAAI,EAAExW,OAAO,CAAC;AAC7C;AAEA,MAAMoK,SAAS,GAAGmkE,oBAAoB,CAACnkE,SAAS;AAEhDA,SAAS,CAACqkE,MAAM,GAAG,SAASA,MAAMA,CAACj/D,IAAI,EAAE9P,KAAK,EAAE;EAC9C,IAAI,CAAC8uE,MAAM,CAACx7D,IAAI,CAAC,CAACxD,IAAI,EAAE9P,KAAK,CAAC,CAAC;AACjC,CAAC;AAED0K,SAAS,CAACT,QAAQ,GAAG,SAASA,QAAQA,CAAC+kE,OAAO,EAAE;EAC9C,MAAMC,OAAO,GAAGD,OAAO,GAAG,UAAShvE,KAAK,EAAE;IACxC,OAAOgvE,OAAO,CAACpoE,IAAI,CAAC,IAAI,EAAE5G,KAAK,EAAE2uE,MAAM,CAAC;EAC1C,CAAC,GAAGA,MAAM;EAEV,OAAO,IAAI,CAACG,MAAM,CAACjpE,GAAG,CAAC,SAASqpE,IAAIA,CAACC,IAAI,EAAE;IACzC,OAAOF,OAAO,CAACE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGF,OAAO,CAACE,IAAI,CAAC,CAAC,CAAC,CAAC;EAClD,CAAC,EAAE,EAAE,CAAC,CAACplE,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAED,sDAAe8kE,oBAAoB;;;;;;;;;;;;;;;;;;ACzDtB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEwB;;AAErC;;AAEA,MAAM;EAAC5kE;AAAQ,CAAC,GAAGtJ,MAAM,CAAC+J,SAAS;AACnC,MAAM;EAACmkD;AAAc,CAAC,GAAGluD,MAAM;AAE/B,MAAMyuE,MAAM,GAAG,CAACj0C,KAAK,IAAI37B,KAAK,IAAI;EAC9B,MAAMuG,GAAG,GAAGkE,QAAQ,CAACrD,IAAI,CAACpH,KAAK,CAAC;EAChC,OAAO27B,KAAK,CAACp1B,GAAG,CAAC,KAAKo1B,KAAK,CAACp1B,GAAG,CAAC,GAAGA,GAAG,CAAC+E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACpF,WAAW,CAAC,CAAC,CAAC;AACtE,CAAC,EAAE/E,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAMopE,UAAU,GAAIhwE,IAAI,IAAK;EAC3BA,IAAI,GAAGA,IAAI,CAACqG,WAAW,CAAC,CAAC;EACzB,OAAQlG,KAAK,IAAK4vE,MAAM,CAAC5vE,KAAK,CAAC,KAAKH,IAAI;AAC1C,CAAC;AAED,MAAMiwE,UAAU,GAAGjwE,IAAI,IAAIG,KAAK,IAAI,OAAOA,KAAK,KAAKH,IAAI;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;EAACuG;AAAO,CAAC,GAAGwiB,KAAK;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMvc,WAAW,GAAGyjE,UAAU,CAAC,WAAW,CAAC;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAAC52D,GAAG,EAAE;EACrB,OAAOA,GAAG,KAAK,IAAI,IAAI,CAAC9M,WAAW,CAAC8M,GAAG,CAAC,IAAIA,GAAG,CAAC3Q,WAAW,KAAK,IAAI,IAAI,CAAC6D,WAAW,CAAC8M,GAAG,CAAC3Q,WAAW,CAAC,IAChGrB,UAAU,CAACgS,GAAG,CAAC3Q,WAAW,CAACunE,QAAQ,CAAC,IAAI52D,GAAG,CAAC3Q,WAAW,CAACunE,QAAQ,CAAC52D,GAAG,CAAC;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM62D,aAAa,GAAGH,UAAU,CAAC,aAAa,CAAC;;AAG/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,iBAAiBA,CAAC92D,GAAG,EAAE;EAC9B,IAAI9X,MAAM;EACV,IAAK,OAAO6uE,WAAW,KAAK,WAAW,IAAMA,WAAW,CAACC,MAAO,EAAE;IAChE9uE,MAAM,GAAG6uE,WAAW,CAACC,MAAM,CAACh3D,GAAG,CAAC;EAClC,CAAC,MAAM;IACL9X,MAAM,GAAI8X,GAAG,IAAMA,GAAG,CAACwlB,MAAO,IAAKqxC,aAAa,CAAC72D,GAAG,CAACwlB,MAAM,CAAE;EAC/D;EACA,OAAOt9B,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMgG,QAAQ,GAAGyoE,UAAU,CAAC,QAAQ,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,MAAM3oE,UAAU,GAAG2oE,UAAU,CAAC,UAAU,CAAC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMM,QAAQ,GAAGN,UAAU,CAAC,QAAQ,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMz+D,QAAQ,GAAIrR,KAAK,IAAKA,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4rB,SAAS,GAAG5rB,KAAK,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMsJ,aAAa,GAAI6P,GAAG,IAAK;EAC7B,IAAIy2D,MAAM,CAACz2D,GAAG,CAAC,KAAK,QAAQ,EAAE;IAC5B,OAAO,KAAK;EACd;EAEA,MAAMjO,SAAS,GAAGmkD,cAAc,CAACl2C,GAAG,CAAC;EACrC,OAAO,CAACjO,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK/J,MAAM,CAAC+J,SAAS,IAAI/J,MAAM,CAACkuD,cAAc,CAACnkD,SAAS,CAAC,KAAK,IAAI,KAAK,EAAErF,MAAM,CAAC6E,WAAW,IAAIyO,GAAG,CAAC,IAAI,EAAEtT,MAAM,CAAC2E,QAAQ,IAAI2O,GAAG,CAAC;AACzK,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMmxD,MAAM,GAAGuF,UAAU,CAAC,MAAM,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,MAAM,GAAGR,UAAU,CAAC,MAAM,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMS,MAAM,GAAGT,UAAU,CAAC,MAAM,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMU,UAAU,GAAGV,UAAU,CAAC,UAAU,CAAC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMW,QAAQ,GAAIr3D,GAAG,IAAK9H,QAAQ,CAAC8H,GAAG,CAAC,IAAIhS,UAAU,CAACgS,GAAG,CAACs3D,IAAI,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMn/D,UAAU,GAAItR,KAAK,IAAK;EAC5B,IAAI0wE,IAAI;EACR,OAAO1wE,KAAK,KACT,OAAO0hC,QAAQ,KAAK,UAAU,IAAI1hC,KAAK,YAAY0hC,QAAQ,IAC1Dv6B,UAAU,CAACnH,KAAK,CAACuvE,MAAM,CAAC,KACtB,CAACmB,IAAI,GAAGd,MAAM,CAAC5vE,KAAK,CAAC,MAAM,UAAU;EACrC;EACC0wE,IAAI,KAAK,QAAQ,IAAIvpE,UAAU,CAACnH,KAAK,CAACyK,QAAQ,CAAC,IAAIzK,KAAK,CAACyK,QAAQ,CAAC,CAAC,KAAK,mBAAoB,CAEhG,CACF;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkmE,iBAAiB,GAAGd,UAAU,CAAC,iBAAiB,CAAC;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM5pE,IAAI,GAAIM,GAAG,IAAKA,GAAG,CAACN,IAAI,GAC5BM,GAAG,CAACN,IAAI,CAAC,CAAC,GAAGM,GAAG,CAACkB,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS7H,OAAOA,CAACkI,GAAG,EAAEwS,EAAE,EAAE;EAACyoB,UAAU,GAAG;AAAK,CAAC,GAAG,CAAC,CAAC,EAAE;EACnD;EACA,IAAIj7B,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,WAAW,EAAE;IAC9C;EACF;EAEA,IAAIhI,CAAC;EACL,IAAI85B,CAAC;;EAEL;EACA,IAAI,OAAO9xB,GAAG,KAAK,QAAQ,EAAE;IAC3B;IACAA,GAAG,GAAG,CAACA,GAAG,CAAC;EACb;EAEA,IAAI1B,OAAO,CAAC0B,GAAG,CAAC,EAAE;IAChB;IACA,KAAKhI,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG9xB,GAAG,CAAC1G,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;MACtCwa,EAAE,CAAClT,IAAI,CAAC,IAAI,EAAEU,GAAG,CAAChI,CAAC,CAAC,EAAEA,CAAC,EAAEgI,GAAG,CAAC;IAC/B;EACF,CAAC,MAAM;IACL;IACA,MAAM5G,IAAI,GAAG6hC,UAAU,GAAG5hC,MAAM,CAACyvE,mBAAmB,CAAC9oE,GAAG,CAAC,GAAG3G,MAAM,CAACD,IAAI,CAAC4G,GAAG,CAAC;IAC5E,MAAM4I,GAAG,GAAGxP,IAAI,CAACE,MAAM;IACvB,IAAIqE,GAAG;IAEP,KAAK3F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,EAAE,EAAE;MACxB2F,GAAG,GAAGvE,IAAI,CAACpB,CAAC,CAAC;MACbwa,EAAE,CAAClT,IAAI,CAAC,IAAI,EAAEU,GAAG,CAACrC,GAAG,CAAC,EAAEA,GAAG,EAAEqC,GAAG,CAAC;IACnC;EACF;AACF;AAEA,SAASsB,OAAOA,CAACtB,GAAG,EAAErC,GAAG,EAAE;EACzBA,GAAG,GAAGA,GAAG,CAACS,WAAW,CAAC,CAAC;EACvB,MAAMhF,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAC4G,GAAG,CAAC;EAC7B,IAAIhI,CAAC,GAAGoB,IAAI,CAACE,MAAM;EACnB,IAAIytE,IAAI;EACR,OAAO/uE,CAAC,EAAE,GAAG,CAAC,EAAE;IACd+uE,IAAI,GAAG3tE,IAAI,CAACpB,CAAC,CAAC;IACd,IAAI2F,GAAG,KAAKopE,IAAI,CAAC3oE,WAAW,CAAC,CAAC,EAAE;MAC9B,OAAO2oE,IAAI;IACb;EACF;EACA,OAAO,IAAI;AACb;AAEA,MAAMgC,OAAO,GAAG,CAAC,MAAM;EACrB;EACA,IAAI,OAAOryC,UAAU,KAAK,WAAW,EAAE,OAAOA,UAAU;EACxD,OAAO,OAAO31B,IAAI,KAAK,WAAW,GAAGA,IAAI,GAAI,OAAOkH,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAGi7D,MAAO;AAC/F,CAAC,EAAE,CAAC;AAEJ,MAAM8F,gBAAgB,GAAI9pE,OAAO,IAAK,CAACqF,WAAW,CAACrF,OAAO,CAAC,IAAIA,OAAO,KAAK6pE,OAAO;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS5kE,KAAKA,CAAC;AAAA,EAA6B;EAC1C,MAAM;IAACD;EAAQ,CAAC,GAAG8kE,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;EACvD,MAAMzvE,MAAM,GAAG,CAAC,CAAC;EACjB,MAAM0vE,WAAW,GAAGA,CAAC53D,GAAG,EAAE1T,GAAG,KAAK;IAChC,MAAMurE,SAAS,GAAGhlE,QAAQ,IAAI5C,OAAO,CAAC/H,MAAM,EAAEoE,GAAG,CAAC,IAAIA,GAAG;IACzD,IAAI6D,aAAa,CAACjI,MAAM,CAAC2vE,SAAS,CAAC,CAAC,IAAI1nE,aAAa,CAAC6P,GAAG,CAAC,EAAE;MAC1D9X,MAAM,CAAC2vE,SAAS,CAAC,GAAG/kE,KAAK,CAAC5K,MAAM,CAAC2vE,SAAS,CAAC,EAAE73D,GAAG,CAAC;IACnD,CAAC,MAAM,IAAI7P,aAAa,CAAC6P,GAAG,CAAC,EAAE;MAC7B9X,MAAM,CAAC2vE,SAAS,CAAC,GAAG/kE,KAAK,CAAC,CAAC,CAAC,EAAEkN,GAAG,CAAC;IACpC,CAAC,MAAM,IAAI/S,OAAO,CAAC+S,GAAG,CAAC,EAAE;MACvB9X,MAAM,CAAC2vE,SAAS,CAAC,GAAG73D,GAAG,CAAC7N,KAAK,CAAC,CAAC;IACjC,CAAC,MAAM;MACLjK,MAAM,CAAC2vE,SAAS,CAAC,GAAG73D,GAAG;IACzB;EACF,CAAC;EAED,KAAK,IAAIrZ,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAGo1B,SAAS,CAAC5tD,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;IAChDkvD,SAAS,CAAClvD,CAAC,CAAC,IAAIF,OAAO,CAACovD,SAAS,CAAClvD,CAAC,CAAC,EAAEixE,WAAW,CAAC;EACpD;EACA,OAAO1vE,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM+a,MAAM,GAAGA,CAACjQ,CAAC,EAAEC,CAAC,EAAE4iE,OAAO,EAAE;EAACjsC;AAAU,CAAC,GAAE,CAAC,CAAC,KAAK;EAClDnjC,OAAO,CAACwM,CAAC,EAAE,CAAC+M,GAAG,EAAE1T,GAAG,KAAK;IACvB,IAAIupE,OAAO,IAAI7nE,UAAU,CAACgS,GAAG,CAAC,EAAE;MAC9BhN,CAAC,CAAC1G,GAAG,CAAC,GAAGstB,qEAAI,CAAC5Z,GAAG,EAAE61D,OAAO,CAAC;IAC7B,CAAC,MAAM;MACL7iE,CAAC,CAAC1G,GAAG,CAAC,GAAG0T,GAAG;IACd;EACF,CAAC,EAAE;IAAC4pB;EAAU,CAAC,CAAC;EAChB,OAAO52B,CAAC;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM8kE,QAAQ,GAAI7wD,OAAO,IAAK;EAC5B,IAAIA,OAAO,CAACgO,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;IACpChO,OAAO,GAAGA,OAAO,CAAC9U,KAAK,CAAC,CAAC,CAAC;EAC5B;EACA,OAAO8U,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMvO,QAAQ,GAAGA,CAACrJ,WAAW,EAAE0oE,gBAAgB,EAAEhyD,KAAK,EAAE7M,WAAW,KAAK;EACtE7J,WAAW,CAAC0C,SAAS,GAAG/J,MAAM,CAACsF,MAAM,CAACyqE,gBAAgB,CAAChmE,SAAS,EAAEmH,WAAW,CAAC;EAC9E7J,WAAW,CAAC0C,SAAS,CAAC1C,WAAW,GAAGA,WAAW;EAC/CrH,MAAM,CAAC+G,cAAc,CAACM,WAAW,EAAE,OAAO,EAAE;IAC1ChI,KAAK,EAAE0wE,gBAAgB,CAAChmE;EAC1B,CAAC,CAAC;EACFgU,KAAK,IAAI/d,MAAM,CAACoN,MAAM,CAAC/F,WAAW,CAAC0C,SAAS,EAAEgU,KAAK,CAAC;AACtD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMxM,YAAY,GAAGA,CAACy+D,SAAS,EAAEC,OAAO,EAAEnqE,MAAM,EAAEoqE,UAAU,KAAK;EAC/D,IAAInyD,KAAK;EACT,IAAIpf,CAAC;EACL,IAAI2M,IAAI;EACR,MAAM8gD,MAAM,GAAG,CAAC,CAAC;EAEjB6jB,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EACvB;EACA,IAAID,SAAS,IAAI,IAAI,EAAE,OAAOC,OAAO;EAErC,GAAG;IACDlyD,KAAK,GAAG/d,MAAM,CAACyvE,mBAAmB,CAACO,SAAS,CAAC;IAC7CrxE,CAAC,GAAGof,KAAK,CAAC9d,MAAM;IAChB,OAAOtB,CAAC,EAAE,GAAG,CAAC,EAAE;MACd2M,IAAI,GAAGyS,KAAK,CAACpf,CAAC,CAAC;MACf,IAAI,CAAC,CAACuxE,UAAU,IAAIA,UAAU,CAAC5kE,IAAI,EAAE0kE,SAAS,EAAEC,OAAO,CAAC,KAAK,CAAC7jB,MAAM,CAAC9gD,IAAI,CAAC,EAAE;QAC1E2kE,OAAO,CAAC3kE,IAAI,CAAC,GAAG0kE,SAAS,CAAC1kE,IAAI,CAAC;QAC/B8gD,MAAM,CAAC9gD,IAAI,CAAC,GAAG,IAAI;MACrB;IACF;IACA0kE,SAAS,GAAGlqE,MAAM,KAAK,KAAK,IAAIooD,cAAc,CAAC8hB,SAAS,CAAC;EAC3D,CAAC,QAAQA,SAAS,KAAK,CAAClqE,MAAM,IAAIA,MAAM,CAACkqE,SAAS,EAAEC,OAAO,CAAC,CAAC,IAAID,SAAS,KAAKhwE,MAAM,CAAC+J,SAAS;EAE/F,OAAOkmE,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMr2B,QAAQ,GAAGA,CAACx0C,GAAG,EAAE+qE,YAAY,EAAEC,QAAQ,KAAK;EAChDhrE,GAAG,GAAGP,MAAM,CAACO,GAAG,CAAC;EACjB,IAAIgrE,QAAQ,KAAKjwE,SAAS,IAAIiwE,QAAQ,GAAGhrE,GAAG,CAACnF,MAAM,EAAE;IACnDmwE,QAAQ,GAAGhrE,GAAG,CAACnF,MAAM;EACvB;EACAmwE,QAAQ,IAAID,YAAY,CAAClwE,MAAM;EAC/B,MAAMkhD,SAAS,GAAG/7C,GAAG,CAACe,OAAO,CAACgqE,YAAY,EAAEC,QAAQ,CAAC;EACrD,OAAOjvB,SAAS,KAAK,CAAC,CAAC,IAAIA,SAAS,KAAKivB,QAAQ;AACnD,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAO,GAAIxxE,KAAK,IAAK;EACzB,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EACvB,IAAIoG,OAAO,CAACpG,KAAK,CAAC,EAAE,OAAOA,KAAK;EAChC,IAAIF,CAAC,GAAGE,KAAK,CAACoB,MAAM;EACpB,IAAI,CAACgvE,QAAQ,CAACtwE,CAAC,CAAC,EAAE,OAAO,IAAI;EAC7B,MAAM2Q,GAAG,GAAG,IAAImY,KAAK,CAAC9oB,CAAC,CAAC;EACxB,OAAOA,CAAC,EAAE,GAAG,CAAC,EAAE;IACd2Q,GAAG,CAAC3Q,CAAC,CAAC,GAAGE,KAAK,CAACF,CAAC,CAAC;EACnB;EACA,OAAO2Q,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMghE,YAAY,GAAG,CAACC,UAAU,IAAI;EAClC;EACA,OAAO1xE,KAAK,IAAI;IACd,OAAO0xE,UAAU,IAAI1xE,KAAK,YAAY0xE,UAAU;EAClD,CAAC;AACH,CAAC,EAAE,OAAOC,UAAU,KAAK,WAAW,IAAItiB,cAAc,CAACsiB,UAAU,CAAC,CAAC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMpgE,YAAY,GAAGA,CAACzJ,GAAG,EAAEwS,EAAE,KAAK;EAChC,MAAMs3D,SAAS,GAAG9pE,GAAG,IAAIA,GAAG,CAACjC,MAAM,CAAC2E,QAAQ,CAAC;EAE7C,MAAMA,QAAQ,GAAGonE,SAAS,CAACxqE,IAAI,CAACU,GAAG,CAAC;EAEpC,IAAIzG,MAAM;EAEV,OAAO,CAACA,MAAM,GAAGmJ,QAAQ,CAACkgB,IAAI,CAAC,CAAC,KAAK,CAACrpB,MAAM,CAAC8U,IAAI,EAAE;IACjD,MAAMw5D,IAAI,GAAGtuE,MAAM,CAACb,KAAK;IACzB8Z,EAAE,CAAClT,IAAI,CAACU,GAAG,EAAE6nE,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;EAChC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMp/D,QAAQ,GAAGA,CAACshE,MAAM,EAAEtrE,GAAG,KAAK;EAChC,IAAI63C,OAAO;EACX,MAAM3tC,GAAG,GAAG,EAAE;EAEd,OAAO,CAAC2tC,OAAO,GAAGyzB,MAAM,CAACjrE,IAAI,CAACL,GAAG,CAAC,MAAM,IAAI,EAAE;IAC5CkK,GAAG,CAACqD,IAAI,CAACsqC,OAAO,CAAC;EACnB;EAEA,OAAO3tC,GAAG;AACZ,CAAC;;AAED;AACA,MAAM6yB,UAAU,GAAGusC,UAAU,CAAC,iBAAiB,CAAC;AAEhD,MAAM7nE,WAAW,GAAGzB,GAAG,IAAI;EACzB,OAAOA,GAAG,CAACL,WAAW,CAAC,CAAC,CAACuB,OAAO,CAAC,uBAAuB,EACtD,SAASmnE,QAAQA,CAACzhD,CAAC,EAAE2kD,EAAE,EAAEC,EAAE,EAAE;IAC3B,OAAOD,EAAE,CAAClqE,WAAW,CAAC,CAAC,GAAGmqE,EAAE;EAC9B,CACF,CAAC;AACH,CAAC;;AAED;AACA,MAAM5H,cAAc,GAAG,CAAC,CAAC;EAACA;AAAc,CAAC,KAAK,CAACriE,GAAG,EAAE2E,IAAI,KAAK09D,cAAc,CAAC/iE,IAAI,CAACU,GAAG,EAAE2E,IAAI,CAAC,EAAEtL,MAAM,CAAC+J,SAAS,CAAC;;AAE9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM3D,QAAQ,GAAGsoE,UAAU,CAAC,QAAQ,CAAC;AAErC,MAAMzkE,iBAAiB,GAAGA,CAACtD,GAAG,EAAEkqE,OAAO,KAAK;EAC1C,MAAM3/D,WAAW,GAAGlR,MAAM,CAAC8wE,yBAAyB,CAACnqE,GAAG,CAAC;EACzD,MAAMoqE,kBAAkB,GAAG,CAAC,CAAC;EAE7BtyE,OAAO,CAACyS,WAAW,EAAE,CAACgB,UAAU,EAAE/C,IAAI,KAAK;IACzC,IAAIwmC,GAAG;IACP,IAAI,CAACA,GAAG,GAAGk7B,OAAO,CAAC3+D,UAAU,EAAE/C,IAAI,EAAExI,GAAG,CAAC,MAAM,KAAK,EAAE;MACpDoqE,kBAAkB,CAAC5hE,IAAI,CAAC,GAAGwmC,GAAG,IAAIzjC,UAAU;IAC9C;EACF,CAAC,CAAC;EAEFlS,MAAM,CAACmR,gBAAgB,CAACxK,GAAG,EAAEoqE,kBAAkB,CAAC;AAClD,CAAC;;AAED;AACA;AACA;AACA;;AAEA,MAAM1mE,aAAa,GAAI1D,GAAG,IAAK;EAC7BsD,iBAAiB,CAACtD,GAAG,EAAE,CAACuL,UAAU,EAAE/C,IAAI,KAAK;IAC3C;IACA,IAAInJ,UAAU,CAACW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAACR,OAAO,CAACgJ,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MAC7E,OAAO,KAAK;IACd;IAEA,MAAM9P,KAAK,GAAGsH,GAAG,CAACwI,IAAI,CAAC;IAEvB,IAAI,CAACnJ,UAAU,CAAC3G,KAAK,CAAC,EAAE;IAExB6S,UAAU,CAACqkC,UAAU,GAAG,KAAK;IAE7B,IAAI,UAAU,IAAIrkC,UAAU,EAAE;MAC5BA,UAAU,CAACkqB,QAAQ,GAAG,KAAK;MAC3B;IACF;IAEA,IAAI,CAAClqB,UAAU,CAAC3K,GAAG,EAAE;MACnB2K,UAAU,CAAC3K,GAAG,GAAG,MAAM;QACrB,MAAMS,KAAK,CAAC,qCAAqC,GAAGmH,IAAI,GAAG,IAAI,CAAC;MAClE,CAAC;IACH;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMytB,WAAW,GAAGA,CAACo0C,aAAa,EAAEC,SAAS,KAAK;EAChD,MAAMtqE,GAAG,GAAG,CAAC,CAAC;EAEd,MAAMuqE,MAAM,GAAI5hE,GAAG,IAAK;IACtBA,GAAG,CAAC7Q,OAAO,CAACY,KAAK,IAAI;MACnBsH,GAAG,CAACtH,KAAK,CAAC,GAAG,IAAI;IACnB,CAAC,CAAC;EACJ,CAAC;EAED4F,OAAO,CAAC+rE,aAAa,CAAC,GAAGE,MAAM,CAACF,aAAa,CAAC,GAAGE,MAAM,CAACrsE,MAAM,CAACmsE,aAAa,CAAC,CAACx7D,KAAK,CAACy7D,SAAS,CAAC,CAAC;EAE/F,OAAOtqE,GAAG;AACZ,CAAC;AAED,MAAMwqE,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,MAAMC,cAAc,GAAGA,CAAC/xE,KAAK,EAAE8/B,YAAY,KAAK;EAC9C9/B,KAAK,GAAG,CAACA,KAAK;EACd,OAAOyQ,MAAM,CAACC,QAAQ,CAAC1Q,KAAK,CAAC,GAAGA,KAAK,GAAG8/B,YAAY;AACtD,CAAC;AAED,MAAMkyC,KAAK,GAAG,4BAA4B;AAE1C,MAAMC,KAAK,GAAG,YAAY;AAE1B,MAAMC,QAAQ,GAAG;EACfD,KAAK;EACLD,KAAK;EACLG,WAAW,EAAEH,KAAK,GAAGA,KAAK,CAAC5qE,WAAW,CAAC,CAAC,GAAG6qE;AAC7C,CAAC;AAED,MAAMG,cAAc,GAAGA,CAAC3tD,IAAI,GAAG,EAAE,EAAE4tD,QAAQ,GAAGH,QAAQ,CAACC,WAAW,KAAK;EACrE,IAAIpsE,GAAG,GAAG,EAAE;EACZ,MAAM;IAACnF;EAAM,CAAC,GAAGyxE,QAAQ;EACzB,OAAO5tD,IAAI,EAAE,EAAE;IACb1e,GAAG,IAAIssE,QAAQ,CAACrsD,IAAI,CAACssD,MAAM,CAAC,CAAC,GAAG1xE,MAAM,GAAC,CAAC,CAAC;EAC3C;EAEA,OAAOmF,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASwsE,mBAAmBA,CAAC/yE,KAAK,EAAE;EAClC,OAAO,CAAC,EAAEA,KAAK,IAAImH,UAAU,CAACnH,KAAK,CAACuvE,MAAM,CAAC,IAAIvvE,KAAK,CAAC6F,MAAM,CAAC6E,WAAW,CAAC,KAAK,UAAU,IAAI1K,KAAK,CAAC6F,MAAM,CAAC2E,QAAQ,CAAC,CAAC;AACpH;AAEA,MAAM2H,YAAY,GAAIrK,GAAG,IAAK;EAC5B,MAAM8J,KAAK,GAAG,IAAIgX,KAAK,CAAC,EAAE,CAAC;EAE3B,MAAMoqD,KAAK,GAAGA,CAACjnE,MAAM,EAAEjM,CAAC,KAAK;IAE3B,IAAIuR,QAAQ,CAACtF,MAAM,CAAC,EAAE;MACpB,IAAI6F,KAAK,CAACtK,OAAO,CAACyE,MAAM,CAAC,IAAI,CAAC,EAAE;QAC9B;MACF;MAEA,IAAG,EAAE,QAAQ,IAAIA,MAAM,CAAC,EAAE;QACxB6F,KAAK,CAAC9R,CAAC,CAAC,GAAGiM,MAAM;QACjB,MAAMjB,MAAM,GAAG1E,OAAO,CAAC2F,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExCnM,OAAO,CAACmM,MAAM,EAAE,CAACvL,KAAK,EAAEiF,GAAG,KAAK;UAC9B,MAAMwtE,YAAY,GAAGD,KAAK,CAACxyE,KAAK,EAAEV,CAAC,GAAG,CAAC,CAAC;UACxC,CAACuM,WAAW,CAAC4mE,YAAY,CAAC,KAAKnoE,MAAM,CAACrF,GAAG,CAAC,GAAGwtE,YAAY,CAAC;QAC5D,CAAC,CAAC;QAEFrhE,KAAK,CAAC9R,CAAC,CAAC,GAAGwB,SAAS;QAEpB,OAAOwJ,MAAM;MACf;IACF;IAEA,OAAOiB,MAAM;EACf,CAAC;EAED,OAAOinE,KAAK,CAAClrE,GAAG,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,MAAMorE,SAAS,GAAGrD,UAAU,CAAC,eAAe,CAAC;AAE7C,MAAMsD,UAAU,GAAInzE,KAAK,IACvBA,KAAK,KAAKqR,QAAQ,CAACrR,KAAK,CAAC,IAAImH,UAAU,CAACnH,KAAK,CAAC,CAAC,IAAImH,UAAU,CAACnH,KAAK,CAACutB,IAAI,CAAC,IAAIpmB,UAAU,CAACnH,KAAK,CAAC+oC,KAAK,CAAC;AAEtG,sDAAe;EACb3iC,OAAO;EACP4pE,aAAa;EACbD,QAAQ;EACRz+D,UAAU;EACV2+D,iBAAiB;EACjB5oE,QAAQ;EACR+oE,QAAQ;EACRxkD,SAAS;EACTva,QAAQ;EACR/H,aAAa;EACb+C,WAAW;EACXi+D,MAAM;EACN+F,MAAM;EACNC,MAAM;EACN/oE,QAAQ;EACRJ,UAAU;EACVqpE,QAAQ;EACRG,iBAAiB;EACjBc,YAAY;EACZlB,UAAU;EACV3wE,OAAO;EACPqM,KAAK;EACLmQ,MAAM;EACNnW,IAAI;EACJgrE,QAAQ;EACRp/D,QAAQ;EACRa,YAAY;EACZk9D,MAAM;EACNC,UAAU;EACV90B,QAAQ;EACRy2B,OAAO;EACPjgE,YAAY;EACZhB,QAAQ;EACR+yB,UAAU;EACV6mC,cAAc;EACd/4D,UAAU,EAAE+4D,cAAc;EAAE;EAC5B/+D,iBAAiB;EACjBI,aAAa;EACbuyB,WAAW;EACX/1B,WAAW;EACXsqE,IAAI;EACJC,cAAc;EACdnpE,OAAO;EACP4hE,MAAM,EAAE6F,OAAO;EACfC,gBAAgB;EAChB4B,QAAQ;EACRE,cAAc;EACdG,mBAAmB;EACnB5gE,YAAY;EACZ+gE,SAAS;EACTC;AACF,CAAC;;;;;;;;ACltBY;AACb;AACA,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;;;;;;;;;ACPa;AACb;AACA;AACA;AACA;AACA;;;;;;;;;ACLa;AACb,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;AACA,gDAAgD;AAChD;;;;;;;;;ACLa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACVa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,cAAc,mBAAO,CAAC,IAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,oCAAoC;AAC7C;AACA,CAAC;;;;;;;;;;;;;ACnBY;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASj/D,MAAMA,CAAC4B,OAAO,EAAEC,MAAM,EAAErE,QAAQ,EAAE;EACxD,MAAMpD,cAAc,GAAGoD,QAAQ,CAAC7F,MAAM,CAACyC,cAAc;EACrD,IAAI,CAACoD,QAAQ,CAACU,MAAM,IAAI,CAAC9D,cAAc,IAAIA,cAAc,CAACoD,QAAQ,CAACU,MAAM,CAAC,EAAE;IAC1E0D,OAAO,CAACpE,QAAQ,CAAC;EACnB,CAAC,MAAM;IACLqE,MAAM,CAAC,IAAIrW,+DAAU,CACnB,kCAAkC,GAAGgS,QAAQ,CAACU,MAAM,EACpD,CAAC1S,+DAAU,CAACia,eAAe,EAAEja,+DAAU,CAAC0zE,gBAAgB,CAAC,CAAC5sD,IAAI,CAACmZ,KAAK,CAACjuB,QAAQ,CAACU,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAChGV,QAAQ,CAAC7F,MAAM,EACf6F,QAAQ,CAACD,OAAO,EAChBC,QACF,CAAC,CAAC;EACJ;AACF;;;;;;;;AC1Ba;AACb,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;;;;;;;;;;;;;;;;ACjBa;;AAAA;AAAA;AAEqB;AACU;AACO;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS2hE,aAAaA,CAACxI,GAAG,EAAEn5D,QAAQ,EAAE;EACnD,MAAM7F,MAAM,GAAG,IAAI,IAAIy2B,mEAAQ;EAC/B,MAAMt7B,OAAO,GAAG0K,QAAQ,IAAI7F,MAAM;EAClC,MAAMpD,OAAO,GAAGF,sEAAY,CAACoC,IAAI,CAAC3D,OAAO,CAACyB,OAAO,CAAC;EAClD,IAAIoE,IAAI,GAAG7F,OAAO,CAAC6F,IAAI;EAEvBnH,0DAAK,CAAC9F,OAAO,CAACirE,GAAG,EAAE,SAAS10C,SAASA,CAAC7b,EAAE,EAAE;IACxCzN,IAAI,GAAGyN,EAAE,CAAClT,IAAI,CAACyE,MAAM,EAAEgB,IAAI,EAAEpE,OAAO,CAACuB,SAAS,CAAC,CAAC,EAAE0H,QAAQ,GAAGA,QAAQ,CAACU,MAAM,GAAG9Q,SAAS,CAAC;EAC3F,CAAC,CAAC;EAEFmH,OAAO,CAACuB,SAAS,CAAC,CAAC;EAEnB,OAAO6C,IAAI;AACb;;;;;;;;AC3Ba;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,qBAAqB,6BAAgD;AACrE,aAAa,mBAAO,CAAC,IAA+B;AACpD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,8BAA8B,mBAAO,CAAC,IAAwC;AAC9E,4BAA4B,mBAAO,CAAC,IAAsC;AAC1E,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI,wEAAwE,IAAI;AAChF;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnEa;AACb,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,mBAAO,CAAC,GAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClBa;;AAAA;AAEkC;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM01B,WAAW,CAAC;EAChB/5B,WAAWA,CAAC8qE,QAAQ,EAAE;IACpB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;MAClC,MAAM,IAAI7pE,SAAS,CAAC,8BAA8B,CAAC;IACrD;IAEA,IAAI8pE,cAAc;IAElB,IAAI,CAACC,OAAO,GAAG,IAAI59D,OAAO,CAAC,SAAS69D,eAAeA,CAAC39D,OAAO,EAAE;MAC3Dy9D,cAAc,GAAGz9D,OAAO;IAC1B,CAAC,CAAC;IAEF,MAAMc,KAAK,GAAG,IAAI;;IAElB;IACA,IAAI,CAAC48D,OAAO,CAACjmD,IAAI,CAACjU,MAAM,IAAI;MAC1B,IAAI,CAAC1C,KAAK,CAAC88D,UAAU,EAAE;MAEvB,IAAI5zE,CAAC,GAAG8W,KAAK,CAAC88D,UAAU,CAACtyE,MAAM;MAE/B,OAAOtB,CAAC,EAAE,GAAG,CAAC,EAAE;QACd8W,KAAK,CAAC88D,UAAU,CAAC5zE,CAAC,CAAC,CAACwZ,MAAM,CAAC;MAC7B;MACA1C,KAAK,CAAC88D,UAAU,GAAG,IAAI;IACzB,CAAC,CAAC;;IAEF;IACA,IAAI,CAACF,OAAO,CAACjmD,IAAI,GAAGomD,WAAW,IAAI;MACjC,IAAI97D,QAAQ;MACZ;MACA,MAAM27D,OAAO,GAAG,IAAI59D,OAAO,CAACE,OAAO,IAAI;QACrCc,KAAK,CAAC4C,SAAS,CAAC1D,OAAO,CAAC;QACxB+B,QAAQ,GAAG/B,OAAO;MACpB,CAAC,CAAC,CAACyX,IAAI,CAAComD,WAAW,CAAC;MAEpBH,OAAO,CAACl6D,MAAM,GAAG,SAASvD,MAAMA,CAAA,EAAG;QACjCa,KAAK,CAACR,WAAW,CAACyB,QAAQ,CAAC;MAC7B,CAAC;MAED,OAAO27D,OAAO;IAChB,CAAC;IAEDF,QAAQ,CAAC,SAASh6D,MAAMA,CAAClZ,OAAO,EAAEyL,MAAM,EAAE4F,OAAO,EAAE;MACjD,IAAImF,KAAK,CAACg9D,MAAM,EAAE;QAChB;QACA;MACF;MAEAh9D,KAAK,CAACg9D,MAAM,GAAG,IAAIr/D,kEAAa,CAACnU,OAAO,EAAEyL,MAAM,EAAE4F,OAAO,CAAC;MAC1D8hE,cAAc,CAAC38D,KAAK,CAACg9D,MAAM,CAAC;IAC9B,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACD,MAAM,EAAE;MACf,MAAM,IAAI,CAACA,MAAM;IACnB;EACF;;EAEA;AACF;AACA;;EAEEp6D,SAASA,CAAC7E,QAAQ,EAAE;IAClB,IAAI,IAAI,CAACi/D,MAAM,EAAE;MACfj/D,QAAQ,CAAC,IAAI,CAACi/D,MAAM,CAAC;MACrB;IACF;IAEA,IAAI,IAAI,CAACF,UAAU,EAAE;MACnB,IAAI,CAACA,UAAU,CAAC5/D,IAAI,CAACa,QAAQ,CAAC;IAChC,CAAC,MAAM;MACL,IAAI,CAAC++D,UAAU,GAAG,CAAC/+D,QAAQ,CAAC;IAC9B;EACF;;EAEA;AACF;AACA;;EAEEyB,WAAWA,CAACzB,QAAQ,EAAE;IACpB,IAAI,CAAC,IAAI,CAAC++D,UAAU,EAAE;MACpB;IACF;IACA,MAAM3iE,KAAK,GAAG,IAAI,CAAC2iE,UAAU,CAACpsE,OAAO,CAACqN,QAAQ,CAAC;IAC/C,IAAI5D,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAAC2iE,UAAU,CAAC76C,MAAM,CAAC9nB,KAAK,EAAE,CAAC,CAAC;IAClC;EACF;;EAEA;AACF;AACA;AACA;EACE,OAAOhF,MAAMA,CAAA,EAAG;IACd,IAAIuN,MAAM;IACV,MAAM1C,KAAK,GAAG,IAAI2rB,WAAW,CAAC,SAAS+wC,QAAQA,CAAC1uD,CAAC,EAAE;MACjDtL,MAAM,GAAGsL,CAAC;IACZ,CAAC,CAAC;IACF,OAAO;MACLhO,KAAK;MACL0C;IACF,CAAC;EACH;AACF;AAEA,sDAAeipB,WAAW;;;;;;;;ACxHb;;AAEb,sDAAe,OAAOb,QAAQ,KAAK,WAAW,GAAGA,QAAQ,GAAG,IAAI;;;;;;;;ACFnD;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;;;;;;;;ACXa;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,WAAW,mBAAO,CAAC,GAAuB;AAC1C,cAAc,mBAAO,CAAC,IAA0B;AAChD,mBAAmB,mBAAO,CAAC,IAA6B;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACfa;AACb,WAAW,mBAAO,CAAC,IAA4B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACXa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASgB,MAAMA,CAACoxC,QAAQ,EAAE;EACvC,OAAO,SAAS7E,IAAIA,CAACx+D,GAAG,EAAE;IACxB,OAAOqjE,QAAQ,CAAC5E,KAAK,CAAC,IAAI,EAAEz+D,GAAG,CAAC;EAClC,CAAC;AACH;;;;;;;;AC3Ba;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,mBAAmB,mBAAO,CAAC,IAAiC;AAC5D,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA,IAAI,yFAAyF;AAC7F;AACA,CAAC;;;;;;;;;;;;;;;;;;;ACTY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEmB;AACe;AAC/C;AACoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASujE,WAAWA,CAACh0E,KAAK,EAAE;EAC1B,OAAO0F,0DAAK,CAAC4D,aAAa,CAACtJ,KAAK,CAAC,IAAI0F,0DAAK,CAACU,OAAO,CAACpG,KAAK,CAAC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASi0E,cAAcA,CAACxuE,GAAG,EAAE;EAC3B,OAAOC,0DAAK,CAACq1C,QAAQ,CAACt1C,GAAG,EAAE,IAAI,CAAC,GAAGA,GAAG,CAAC6F,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG7F,GAAG;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASyuE,SAASA,CAACpjE,IAAI,EAAErL,GAAG,EAAE0uE,IAAI,EAAE;EAClC,IAAI,CAACrjE,IAAI,EAAE,OAAOrL,GAAG;EACrB,OAAOqL,IAAI,CAAC3G,MAAM,CAAC1E,GAAG,CAAC,CAACY,GAAG,CAAC,SAASqpE,IAAIA,CAAC94D,KAAK,EAAE9W,CAAC,EAAE;IAClD;IACA8W,KAAK,GAAGq9D,cAAc,CAACr9D,KAAK,CAAC;IAC7B,OAAO,CAACu9D,IAAI,IAAIr0E,CAAC,GAAG,GAAG,GAAG8W,KAAK,GAAG,GAAG,GAAGA,KAAK;EAC/C,CAAC,CAAC,CAACrM,IAAI,CAAC4pE,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAAC3jE,GAAG,EAAE;EACxB,OAAO/K,0DAAK,CAACU,OAAO,CAACqK,GAAG,CAAC,IAAI,CAACA,GAAG,CAACkS,IAAI,CAACqxD,WAAW,CAAC;AACrD;AAEA,MAAMK,UAAU,GAAG3uE,0DAAK,CAACgN,YAAY,CAAChN,0DAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAASuB,MAAMA,CAACwF,IAAI,EAAE;EAC3E,OAAO,UAAU,CAAC3F,IAAI,CAAC2F,IAAI,CAAC;AAC9B,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASg2B,UAAUA,CAAC36B,GAAG,EAAE8I,QAAQ,EAAE9P,OAAO,EAAE;EAC1C,IAAI,CAAC4E,0DAAK,CAAC2L,QAAQ,CAACvJ,GAAG,CAAC,EAAE;IACxB,MAAM,IAAI2B,SAAS,CAAC,0BAA0B,CAAC;EACjD;;EAEA;EACAmH,QAAQ,GAAGA,QAAQ,IAAI,KAAKmjE,mFAAgB,IAAIryC,QAAQ,EAAE,CAAC;;EAE3D;EACA5gC,OAAO,GAAG4E,0DAAK,CAACgN,YAAY,CAAC5R,OAAO,EAAE;IACpCwzE,UAAU,EAAE,IAAI;IAChBH,IAAI,EAAE,KAAK;IACXI,OAAO,EAAE;EACX,CAAC,EAAE,KAAK,EAAE,SAASC,OAAOA,CAAC36C,MAAM,EAAE9tB,MAAM,EAAE;IACzC;IACA,OAAO,CAACrG,0DAAK,CAAC2G,WAAW,CAACN,MAAM,CAAC8tB,MAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,MAAMy6C,UAAU,GAAGxzE,OAAO,CAACwzE,UAAU;EACrC;EACA,MAAMG,OAAO,GAAG3zE,OAAO,CAAC2zE,OAAO,IAAIC,cAAc;EACjD,MAAMP,IAAI,GAAGrzE,OAAO,CAACqzE,IAAI;EACzB,MAAMI,OAAO,GAAGzzE,OAAO,CAACyzE,OAAO;EAC/B,MAAMI,KAAK,GAAG7zE,OAAO,CAACg/B,IAAI,IAAI,OAAOA,IAAI,KAAK,WAAW,IAAIA,IAAI;EACjE,MAAM80C,OAAO,GAAGD,KAAK,IAAIjvE,0DAAK,CAACqtE,mBAAmB,CAACniE,QAAQ,CAAC;EAE5D,IAAI,CAAClL,0DAAK,CAACyB,UAAU,CAACstE,OAAO,CAAC,EAAE;IAC9B,MAAM,IAAIhrE,SAAS,CAAC,4BAA4B,CAAC;EACnD;EAEA,SAASorE,YAAYA,CAACr0E,KAAK,EAAE;IAC3B,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE;IAE7B,IAAIkF,0DAAK,CAAC4kE,MAAM,CAAC9pE,KAAK,CAAC,EAAE;MACvB,OAAOA,KAAK,CAACs0E,WAAW,CAAC,CAAC;IAC5B;IAEA,IAAI,CAACF,OAAO,IAAIlvE,0DAAK,CAAC4qE,MAAM,CAAC9vE,KAAK,CAAC,EAAE;MACnC,MAAM,IAAId,oEAAU,CAAC,8CAA8C,CAAC;IACtE;IAEA,IAAIgG,0DAAK,CAACsqE,aAAa,CAACxvE,KAAK,CAAC,IAAIkF,0DAAK,CAAC+rE,YAAY,CAACjxE,KAAK,CAAC,EAAE;MAC3D,OAAOo0E,OAAO,IAAI,OAAO90C,IAAI,KAAK,UAAU,GAAG,IAAIA,IAAI,CAAC,CAACt/B,KAAK,CAAC,CAAC,GAAGu0E,MAAM,CAACpqE,IAAI,CAACnK,KAAK,CAAC;IACvF;IAEA,OAAOA,KAAK;EACd;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,SAASk0E,cAAcA,CAACl0E,KAAK,EAAEiF,GAAG,EAAEqL,IAAI,EAAE;IACxC,IAAIL,GAAG,GAAGjQ,KAAK;IAEf,IAAIA,KAAK,IAAI,CAACsQ,IAAI,IAAI,OAAOtQ,KAAK,KAAK,QAAQ,EAAE;MAC/C,IAAIkF,0DAAK,CAACq1C,QAAQ,CAACt1C,GAAG,EAAE,IAAI,CAAC,EAAE;QAC7B;QACAA,GAAG,GAAG6uE,UAAU,GAAG7uE,GAAG,GAAGA,GAAG,CAAC6F,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC;QACA9K,KAAK,GAAGogC,IAAI,CAACM,SAAS,CAAC1gC,KAAK,CAAC;MAC/B,CAAC,MAAM,IACJkF,0DAAK,CAACU,OAAO,CAAC5F,KAAK,CAAC,IAAI4zE,WAAW,CAAC5zE,KAAK,CAAC,IAC1C,CAACkF,0DAAK,CAAC6qE,UAAU,CAAC/vE,KAAK,CAAC,IAAIkF,0DAAK,CAACq1C,QAAQ,CAACt1C,GAAG,EAAE,IAAI,CAAC,MAAMgL,GAAG,GAAG/K,0DAAK,CAAC8rE,OAAO,CAAChxE,KAAK,CAAC,CACrF,EAAE;QACH;QACAiF,GAAG,GAAGwuE,cAAc,CAACxuE,GAAG,CAAC;QAEzBgL,GAAG,CAAC7Q,OAAO,CAAC,SAAS8vE,IAAIA,CAACvwD,EAAE,EAAEpO,KAAK,EAAE;UACnC,EAAErL,0DAAK,CAAC2G,WAAW,CAAC8S,EAAE,CAAC,IAAIA,EAAE,KAAK,IAAI,CAAC,IAAIvO,QAAQ,CAAC2+D,MAAM;UACxD;UACAgF,OAAO,KAAK,IAAI,GAAGL,SAAS,CAAC,CAACzuE,GAAG,CAAC,EAAEsL,KAAK,EAAEojE,IAAI,CAAC,GAAII,OAAO,KAAK,IAAI,GAAG9uE,GAAG,GAAGA,GAAG,GAAG,IAAK,EACxFovE,YAAY,CAAC11D,EAAE,CACjB,CAAC;QACH,CAAC,CAAC;QACF,OAAO,KAAK;MACd;IACF;IAEA,IAAI60D,WAAW,CAACxzE,KAAK,CAAC,EAAE;MACtB,OAAO,IAAI;IACb;IAEAoQ,QAAQ,CAAC2+D,MAAM,CAAC2E,SAAS,CAACpjE,IAAI,EAAErL,GAAG,EAAE0uE,IAAI,CAAC,EAAEU,YAAY,CAACr0E,KAAK,CAAC,CAAC;IAEhE,OAAO,KAAK;EACd;EAEA,MAAMoR,KAAK,GAAG,EAAE;EAEhB,MAAMojE,cAAc,GAAG7zE,MAAM,CAACoN,MAAM,CAAC8lE,UAAU,EAAE;IAC/CK,cAAc;IACdG,YAAY;IACZb;EACF,CAAC,CAAC;EAEF,SAASiB,KAAKA,CAACz0E,KAAK,EAAEsQ,IAAI,EAAE;IAC1B,IAAIpL,0DAAK,CAAC2G,WAAW,CAAC7L,KAAK,CAAC,EAAE;IAE9B,IAAIoR,KAAK,CAACtK,OAAO,CAAC9G,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;MAC/B,MAAM2I,KAAK,CAAC,iCAAiC,GAAG2H,IAAI,CAACvG,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE;IAEAqH,KAAK,CAACkC,IAAI,CAACtT,KAAK,CAAC;IAEjBkF,0DAAK,CAAC9F,OAAO,CAACY,KAAK,EAAE,SAASkvE,IAAIA,CAACvwD,EAAE,EAAE1Z,GAAG,EAAE;MAC1C,MAAMpE,MAAM,GAAG,EAAEqE,0DAAK,CAAC2G,WAAW,CAAC8S,EAAE,CAAC,IAAIA,EAAE,KAAK,IAAI,CAAC,IAAIs1D,OAAO,CAACrtE,IAAI,CACpEwJ,QAAQ,EAAEuO,EAAE,EAAEzZ,0DAAK,CAAC2B,QAAQ,CAAC5B,GAAG,CAAC,GAAGA,GAAG,CAACQ,IAAI,CAAC,CAAC,GAAGR,GAAG,EAAEqL,IAAI,EAAEkkE,cAC9D,CAAC;MAED,IAAI3zE,MAAM,KAAK,IAAI,EAAE;QACnB4zE,KAAK,CAAC91D,EAAE,EAAErO,IAAI,GAAGA,IAAI,CAAC3G,MAAM,CAAC1E,GAAG,CAAC,GAAG,CAACA,GAAG,CAAC,CAAC;MAC5C;IACF,CAAC,CAAC;IAEFmM,KAAK,CAACw1B,GAAG,CAAC,CAAC;EACb;EAEA,IAAI,CAAC1hC,0DAAK,CAAC2L,QAAQ,CAACvJ,GAAG,CAAC,EAAE;IACxB,MAAM,IAAI2B,SAAS,CAAC,wBAAwB,CAAC;EAC/C;EAEAwrE,KAAK,CAACntE,GAAG,CAAC;EAEV,OAAO8I,QAAQ;AACjB;AAEA,sDAAe6xB,UAAU;;;;;;;;AC1NZ;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,gBAAgB,mBAAO,CAAC,IAAoC;;AAE5D;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;AACA;AACA,CAAC;;;;;;;;;ACVY;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,aAAa,mBAAO,CAAC,IAA+B;AACpD,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mCAA8C;AAC5D,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpBa;AACb;AACA,SAAS;;;;;;;;;ACFI;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,YAAY,mBAAO,CAAC,IAAoB;AACxC,mBAAmB,mBAAO,CAAC,GAA+B;AAC1D,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,IAAI,2DAA2D;AAC/D;AACA,CAAC;;;;;;;;;;;;;;;;;;;ACf+B;AACI;AACF;AACa;AAE/C,MAAM2yC,aAAa,GAAG;EACpBC,IAAI,EAAEH,yDAAW;EACjBI,GAAG,EAAEH,wDAAUA;AACjB,CAAC;AAEDzvE,0DAAK,CAAC9F,OAAO,CAACw1E,aAAa,EAAE,CAAC96D,EAAE,EAAE9Z,KAAK,KAAK;EAC1C,IAAI8Z,EAAE,EAAE;IACN,IAAI;MACFnZ,MAAM,CAAC+G,cAAc,CAACoS,EAAE,EAAE,MAAM,EAAE;QAAC9Z;MAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,OAAOuU,CAAC,EAAE;MACV;IAAA;IAEF5T,MAAM,CAAC+G,cAAc,CAACoS,EAAE,EAAE,aAAa,EAAE;MAAC9Z;IAAK,CAAC,CAAC;EACnD;AACF,CAAC,CAAC;AAEF,MAAM+0E,YAAY,GAAI3B,MAAM,IAAK,KAAKA,MAAM,EAAE;AAE9C,MAAM4B,gBAAgB,GAAIloE,OAAO,IAAK5H,0DAAK,CAACyB,UAAU,CAACmG,OAAO,CAAC,IAAIA,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK;AAExG,sDAAe;EACbi2B,UAAU,EAAGX,QAAQ,IAAK;IACxBA,QAAQ,GAAGl9B,0DAAK,CAACU,OAAO,CAACw8B,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;IAE1D,MAAM;MAACxhC;IAAM,CAAC,GAAGwhC,QAAQ;IACzB,IAAI6yC,aAAa;IACjB,IAAInoE,OAAO;IAEX,MAAMooE,eAAe,GAAG,CAAC,CAAC;IAE1B,KAAK,IAAI51E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,MAAM,EAAEtB,CAAC,EAAE,EAAE;MAC/B21E,aAAa,GAAG7yC,QAAQ,CAAC9iC,CAAC,CAAC;MAC3B,IAAIua,EAAE;MAEN/M,OAAO,GAAGmoE,aAAa;MAEvB,IAAI,CAACD,gBAAgB,CAACC,aAAa,CAAC,EAAE;QACpCnoE,OAAO,GAAG8nE,aAAa,CAAC,CAAC/6D,EAAE,GAAGrU,MAAM,CAACyvE,aAAa,CAAC,EAAEvvE,WAAW,CAAC,CAAC,CAAC;QAEnE,IAAIoH,OAAO,KAAKhM,SAAS,EAAE;UACzB,MAAM,IAAI5B,oEAAU,CAAC,oBAAoB2a,EAAE,GAAG,CAAC;QACjD;MACF;MAEA,IAAI/M,OAAO,EAAE;QACX;MACF;MAEAooE,eAAe,CAACr7D,EAAE,IAAI,GAAG,GAAGva,CAAC,CAAC,GAAGwN,OAAO;IAC1C;IAEA,IAAI,CAACA,OAAO,EAAE;MAEZ,MAAMqoE,OAAO,GAAGx0E,MAAM,CAACqE,OAAO,CAACkwE,eAAe,CAAC,CAC5CrvE,GAAG,CAAC,CAAC,CAACgU,EAAE,EAAEub,KAAK,CAAC,KAAK,WAAWvb,EAAE,GAAG,IACnCub,KAAK,KAAK,KAAK,GAAG,qCAAqC,GAAG,+BAA+B,CAC5F,CAAC;MAEH,IAAI9O,CAAC,GAAG1lB,MAAM,GACXu0E,OAAO,CAACv0E,MAAM,GAAG,CAAC,GAAG,WAAW,GAAGu0E,OAAO,CAACtvE,GAAG,CAACkvE,YAAY,CAAC,CAAChrE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAGgrE,YAAY,CAACI,OAAO,CAAC,CAAC,CAAC,CAAC,GACzG,yBAAyB;MAE3B,MAAM,IAAIj2E,oEAAU,CAClB,uDAAuD,GAAGonB,CAAC,EAC3D,iBACF,CAAC;IACH;IAEA,OAAOxZ,OAAO;EAChB,CAAC;EACDs1B,QAAQ,EAAEwyC;AACZ,CAAC;;;;;;;;AC5EY;AACb,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,kBAAkB,mBAAO,CAAC,GAA4B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,kCAAkC,mBAAO,CAAC,IAA8C;;AAExF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AClBY;AACb,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;;;;;;;;;ACHa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,uBAAuB,mBAAO,CAAC,IAAiC;AAChE,+BAA+B,mBAAO,CAAC,IAA2C;AAClF,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;AACA;AACA;;AAEA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA,WAAW,iBAAiB;AAC5B,WAAW,+BAA+B;AAC1C,WAAW,YAAY;;AAEvB;AACA;AACA,CAAC;;AAED;;;;;;;;;AC3Ca;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVa;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS7gE,aAAaA,CAACnU,OAAO,EAAEyL,MAAM,EAAE4F,OAAO,EAAE;EAC/C;EACA/R,oEAAU,CAAC0H,IAAI,CAAC,IAAI,EAAEhH,OAAO,IAAI,IAAI,GAAG,UAAU,GAAGA,OAAO,EAAEV,oEAAU,CAACk2E,YAAY,EAAE/pE,MAAM,EAAE4F,OAAO,CAAC;EACvG,IAAI,CAACnB,IAAI,GAAG,eAAe;AAC7B;AAEA5K,0DAAK,CAACmM,QAAQ,CAAC0C,aAAa,EAAE7U,oEAAU,EAAE;EACxCm2E,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,sDAAethE,aAAa;;;;;;;;;;;;;;ACxB5B,MAAMuhE,aAAa,GAAG,OAAO/lE,MAAM,KAAK,WAAW,IAAI,OAAOd,QAAQ,KAAK,WAAW;;AAEtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMN,qBAAqB,GAAG,CAC3BonE,OAAO,IAAK;EACX,OAAOD,aAAa,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAACxuE,OAAO,CAACyuE,OAAO,CAAC,GAAG,CAAC;AACpF,CAAC,EAAE,OAAOjnE,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACinE,OAAO,CAAC;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMv/D,8BAA8B,GAAG,CAAC,MAAM;EAC5C,OACE,OAAOw/D,iBAAiB,KAAK,WAAW;EACxC;EACAntE,IAAI,YAAYmtE,iBAAiB,IACjC,OAAOntE,IAAI,CAACotE,aAAa,KAAK,UAAU;AAE5C,CAAC,EAAE,CAAC;;;;;;;;;ACxCS;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,oBAAoB,mBAAO,CAAC,IAAsC;;AAElE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASnvC,OAAOA,CAACvgC,GAAG,EAAE;EACpB,MAAMF,GAAG,GAAG,eAAgBlF,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EAC/C,KAAK,MAAMhB,GAAG,IAAIc,GAAG,CAACoQ,KAAK,CAAC,GAAG,CAAC,EAAEtQ,GAAG,CAACZ,GAAG,CAAC,GAAG,CAAC;EAC9C,OAAQ0T,GAAG,IAAKA,GAAG,IAAI9S,GAAG;AAC5B;AAEA,MAAM2W,SAAS,GAAG,MAAyC,GAAG7b,CAAiB,GAAG,CAAC,CAAC;AACpF,MAAMylC,SAAS,GAAG,MAAyC,GAAGzlC,CAAiB,GAAG,EAAE;AACpF,MAAMmb,IAAI,GAAGA,CAAA,KAAM,CACnB,CAAC;AACD,MAAMqqB,EAAE,GAAGA,CAAA,KAAM,KAAK;AACtB,MAAM/pB,IAAI,GAAInX,GAAG,IAAKA,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;AAAI;AAC/E3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnD,MAAMvR,eAAe,GAAIpX,GAAG,IAAKA,GAAG,CAAC0lB,UAAU,CAAC,WAAW,CAAC;AAC5D,MAAM/O,MAAM,GAAGjb,MAAM,CAACoN,MAAM;AAC5B,MAAMqQ,MAAM,GAAGA,CAACnO,GAAG,EAAE0O,EAAE,KAAK;EAC1B,MAAMrf,CAAC,GAAG2Q,GAAG,CAACnJ,OAAO,CAAC6X,EAAE,CAAC;EACzB,IAAIrf,CAAC,GAAG,CAAC,CAAC,EAAE;IACV2Q,GAAG,CAACooB,MAAM,CAAC/4B,CAAC,EAAE,CAAC,CAAC;EAClB;AACF,CAAC;AACD,MAAMqqE,cAAc,GAAGhpE,MAAM,CAAC+J,SAAS,CAACi/D,cAAc;AACtD,MAAMptD,MAAM,GAAGA,CAAC5D,GAAG,EAAE1T,GAAG,KAAK0kE,cAAc,CAAC/iE,IAAI,CAAC+R,GAAG,EAAE1T,GAAG,CAAC;AAC1D,MAAMW,OAAO,GAAGwiB,KAAK,CAACxiB,OAAO;AAC7B,MAAMgkE,KAAK,GAAIjxD,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,cAAc;AAC3D,MAAMgE,KAAK,GAAIhE,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,cAAc;AAC3D,MAAMmxD,MAAM,GAAInxD,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,eAAe;AAC7D,MAAM5R,QAAQ,GAAI4R,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,iBAAiB;AACjE,MAAMhS,UAAU,GAAIgS,GAAG,IAAK,OAAOA,GAAG,KAAK,UAAU;AACrD,MAAM9R,QAAQ,GAAI8R,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAMuD,QAAQ,GAAIvD,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAM9H,QAAQ,GAAI8H,GAAG,IAAKA,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ;AACjE,MAAM0sB,SAAS,GAAI1sB,GAAG,IAAK;EACzB,OAAO,CAAC9H,QAAQ,CAAC8H,GAAG,CAAC,IAAIhS,UAAU,CAACgS,GAAG,CAAC,KAAKhS,UAAU,CAACgS,GAAG,CAACoU,IAAI,CAAC,IAAIpmB,UAAU,CAACgS,GAAG,CAAC4vB,KAAK,CAAC;AAC5F,CAAC;AACD,MAAMwhC,cAAc,GAAGppE,MAAM,CAAC+J,SAAS,CAACT,QAAQ;AAChD,MAAM4/D,YAAY,GAAI7pE,KAAK,IAAK+pE,cAAc,CAACnjE,IAAI,CAAC5G,KAAK,CAAC;AAC1D,MAAMqmC,SAAS,GAAIrmC,KAAK,IAAK;EAC3B,OAAO6pE,YAAY,CAAC7pE,KAAK,CAAC,CAAC8K,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,MAAMhC,aAAa,GAAI6P,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,iBAAiB;AACtE,MAAMqxD,YAAY,GAAI/kE,GAAG,IAAK4B,QAAQ,CAAC5B,GAAG,CAAC,IAAIA,GAAG,KAAK,KAAK,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG08C,QAAQ,CAAC18C,GAAG,EAAE,EAAE,CAAC,KAAKA,GAAG;AAChH,MAAMugC,cAAc,GAAG,eAAgBc,gDAAAA,OAAO;AAC5C;AACA,qIACF,CAAC;AACD,MAAMf,kBAAkB,GAAG,eAAgBe,gDAAAA,OAAO,CAChD,2EACF,CAAC;AACD,MAAM2jC,mBAAmB,GAAInwD,EAAE,IAAK;EAClC,MAAMqhB,KAAK,GAAG,eAAgBx6B,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EACjD,OAAQF,GAAG,IAAK;IACd,MAAMmkE,GAAG,GAAG/uC,KAAK,CAACp1B,GAAG,CAAC;IACtB,OAAOmkE,GAAG,KAAK/uC,KAAK,CAACp1B,GAAG,CAAC,GAAG+T,EAAE,CAAC/T,GAAG,CAAC,CAAC;EACtC,CAAC;AACH,CAAC;AACD,MAAMokE,UAAU,GAAG,QAAQ;AAC3B,MAAMvvD,QAAQ,GAAGqvD,mBAAmB,CACjClkE,GAAG,IAAK;EACP,OAAOA,GAAG,CAACkB,OAAO,CAACkjE,UAAU,EAAE,CAACtyC,CAAC,EAAEzT,CAAC,KAAKA,CAAC,GAAGA,CAAC,CAAChd,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;AACpE,CACF,CAAC;AACD,MAAMgjE,WAAW,GAAG,YAAY;AAChC,MAAMruD,SAAS,GAAGkuD,mBAAmB,CAClClkE,GAAG,IAAKA,GAAG,CAACkB,OAAO,CAACmjE,WAAW,EAAE,KAAK,CAAC,CAAC1kE,WAAW,CAAC,CACvD,CAAC;AACD,MAAMsW,UAAU,GAAGiuD,mBAAmB,CAAElkE,GAAG,IAAK;EAC9C,OAAOA,GAAG,CAACuJ,MAAM,CAAC,CAAC,CAAC,CAAClI,WAAW,CAAC,CAAC,GAAGrB,GAAG,CAAC+E,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AACF,MAAMm7B,YAAY,GAAGgkC,mBAAmB,CACrClkE,GAAG,IAAK;EACP,MAAMugB,CAAC,GAAGvgB,GAAG,GAAG,KAAKiW,UAAU,CAACjW,GAAG,CAAC,EAAE,GAAG,EAAE;EAC3C,OAAOugB,CAAC;AACV,CACF,CAAC;AACD,MAAMigB,UAAU,GAAGA,CAACvmC,KAAK,EAAEynB,QAAQ,KAAK,CAAC9mB,MAAM,CAAC8d,EAAE,CAACze,KAAK,EAAEynB,QAAQ,CAAC;AACnE,MAAM5K,cAAc,GAAGA,CAACwtD,GAAG,EAAE,GAAG19B,GAAG,KAAK;EACtC,KAAK,IAAIrtC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+qE,GAAG,CAACzpE,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACnC+qE,GAAG,CAAC/qE,CAAC,CAAC,CAAC,GAAGqtC,GAAG,CAAC;EAChB;AACF,CAAC;AACD,MAAMje,GAAG,GAAGA,CAACpnB,GAAG,EAAErC,GAAG,EAAEjF,KAAK,EAAE+8B,QAAQ,GAAG,KAAK,KAAK;EACjDp8B,MAAM,CAAC+G,cAAc,CAACJ,GAAG,EAAErC,GAAG,EAAE;IAC9B6C,YAAY,EAAE,IAAI;IAClBovC,UAAU,EAAE,KAAK;IACjBna,QAAQ;IACR/8B;EACF,CAAC,CAAC;AACJ,CAAC;AACD,MAAMyc,aAAa,GAAI9D,GAAG,IAAK;EAC7B,MAAMsL,CAAC,GAAGqmD,UAAU,CAAC3xD,GAAG,CAAC;EACzB,OAAOumB,KAAK,CAACjb,CAAC,CAAC,GAAGtL,GAAG,GAAGsL,CAAC;AAC3B,CAAC;AACD,MAAMpI,QAAQ,GAAIlD,GAAG,IAAK;EACxB,MAAMsL,CAAC,GAAGpd,QAAQ,CAAC8R,GAAG,CAAC,GAAGlI,MAAM,CAACkI,GAAG,CAAC,GAAGimB,GAAG;EAC3C,OAAOM,KAAK,CAACjb,CAAC,CAAC,GAAGtL,GAAG,GAAGsL,CAAC;AAC3B,CAAC;AACD,IAAIsmD,WAAW;AACf,MAAMjlC,aAAa,GAAGA,CAAA,KAAM;EAC1B,OAAOilC,WAAW,KAAKA,WAAW,GAAG,OAAOvsC,UAAU,KAAK,WAAW,GAAGA,UAAU,GAAG,OAAO31B,IAAI,KAAK,WAAW,GAAGA,IAAI,GAAG,OAAOkH,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAG,OAAOi7D,qBAAM,KAAK,WAAW,GAAGA,qBAAM,GAAG,CAAC,CAAC,CAAC;AAClN,CAAC;AACD,MAAMC,OAAO,GAAG,kDAAkD;AAClE,SAASC,iBAAiBA,CAAC56D,IAAI,EAAE;EAC/B,OAAO26D,OAAO,CAACnkE,IAAI,CAACwJ,IAAI,CAAC,GAAG,WAAWA,IAAI,EAAE,GAAG,WAAWswB,IAAI,CAACM,SAAS,CAAC5wB,IAAI,CAAC,GAAG;AACpF;AACA,SAAS66D,WAAWA,CAACp/D,MAAM,EAAEjL,OAAO,EAAE;EACpC,OAAOiL,MAAM,GAAG60B,IAAI,CAACM,SAAS,CAC5BpgC,OAAO,EACP,CAACu3B,CAAC,EAAElf,GAAG,KAAK,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAAC1O,QAAQ,CAAC,CAAC,GAAG0O,GAC3D,CAAC;AACH;AAEA,MAAMiyD,UAAU,GAAG;EACjB,MAAM,EAAE,CAAC;EACT,GAAG,EAAE,MAAM;EACX,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,YAAY,EAAE,EAAE;EAChB,IAAI,EAAE,YAAY;EAClB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,iBAAiB,EAAE,EAAE;EACrB,IAAI,EAAE,iBAAiB;EACvB,gBAAgB,EAAE,GAAG;EACrB,KAAK,EAAE,gBAAgB;EACvB,kBAAkB,EAAE,GAAG;EACvB,KAAK,EAAE,kBAAkB;EACzB,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,YAAY;EACnB,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,eAAe;EACvB,mBAAmB,EAAE,IAAI;EACzB,MAAM,EAAE,mBAAmB;EAC3B,QAAQ,EAAE,CAAC,CAAC;EACZ,IAAI,EAAE,QAAQ;EACd,MAAM,EAAE,CAAC,CAAC;EACV,IAAI,EAAE;AACR,CAAC;AACD,MAAMC,cAAc,GAAG;EACrB,CAAC,CAAC,GAAG,MAAM;EACX,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,EAAE,GAAG,YAAY;EAClB,CAAC,EAAE,GAAG,gBAAgB;EACtB,CAAC,EAAE,GAAG,iBAAiB;EACvB,CAAC,GAAG,GAAG,gBAAgB;EACvB,CAAC,GAAG,GAAG,kBAAkB;EACzB,CAAC,GAAG,GAAG,YAAY;EACnB,CAAC,IAAI,GAAG,eAAe;EACvB,CAAC,IAAI,GAAG,mBAAmB;EAC3B,CAAC,CAAC,CAAC,GAAG,SAAS;EACf,CAAC,CAAC,CAAC,GAAG;AACR,CAAC;AAED,MAAMC,UAAU,GAAG;EACjB,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,sBAAsB,EAAE,CAAC;EACzB,GAAG,EAAE,sBAAsB;EAC3B,oBAAoB,EAAE,CAAC;EACvB,GAAG,EAAE,oBAAoB;EACzB,eAAe,EAAE,CAAC;EAClB,GAAG,EAAE,eAAe;EACpB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,UAAU,EAAE,EAAE;EACd,IAAI,EAAE,UAAU;EAChB,UAAU,EAAE,GAAG;EACf,KAAK,EAAE,UAAU;EACjB,6BAA6B,EAAE,GAAG;EAClC,KAAK,EAAE,6BAA6B;EACpC,sBAAsB,EAAE,GAAG;EAC3B,KAAK,EAAE,sBAAsB;EAC7B,WAAW,EAAE,CAAC;EACd,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,SAAS,GAAG;EAChB,QAAQ,EAAE,CAAC;EACX,GAAG,EAAE,QAAQ;EACb,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,WAAW,EAAE,CAAC;EACd,GAAG,EAAE;AACP,CAAC;AACD,MAAMC,aAAa,GAAG;EACpB,CAAC,CAAC,GAAG,QAAQ;EACb,CAAC,CAAC,GAAG,SAAS;EACd,CAAC,CAAC,GAAG;AACP,CAAC;AAED,MAAMC,eAAe,GAAG,uNAAuN;AAC/O,MAAM/kC,iBAAiB,GAAG,eAAgBI,gDAAAA,OAAO,CAAC2kC,eAAe,CAAC;AAClE,MAAMC,qBAAqB,GAAGhlC,gDAAAA,iBAAiB;AAE/C,MAAMilC,KAAK,GAAG,CAAC;AACf,SAASC,iBAAiBA,CAAC7/D,MAAM,EAAEsU,KAAK,GAAG,CAAC,EAAEC,GAAG,GAAGvU,MAAM,CAAC3K,MAAM,EAAE;EACjEif,KAAK,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACqzC,GAAG,CAACx5C,KAAK,EAAEtU,MAAM,CAAC3K,MAAM,CAAC,CAAC;EACnDkf,GAAG,GAAGkG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACqzC,GAAG,CAACv5C,GAAG,EAAEvU,MAAM,CAAC3K,MAAM,CAAC,CAAC;EAC/C,IAAIif,KAAK,GAAGC,GAAG,EAAE,OAAO,EAAE;EAC1B,IAAIurD,KAAK,GAAG9/D,MAAM,CAAC4K,KAAK,CAAC,SAAS,CAAC;EACnC,MAAMm1D,gBAAgB,GAAGD,KAAK,CAAC5kE,MAAM,CAAC,CAACoxB,CAAC,EAAE0zC,GAAG,KAAKA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;EAChEF,KAAK,GAAGA,KAAK,CAAC5kE,MAAM,CAAC,CAACoxB,CAAC,EAAE0zC,GAAG,KAAKA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;EAC/C,IAAIxgC,KAAK,GAAG,CAAC;EACb,MAAM7mB,GAAG,GAAG,EAAE;EACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+rE,KAAK,CAACzqE,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACrCyrC,KAAK,IAAIsgC,KAAK,CAAC/rE,CAAC,CAAC,CAACsB,MAAM,IAAI0qE,gBAAgB,CAAChsE,CAAC,CAAC,IAAIgsE,gBAAgB,CAAChsE,CAAC,CAAC,CAACsB,MAAM,IAAI,CAAC,CAAC;IACnF,IAAImqC,KAAK,IAAIlrB,KAAK,EAAE;MAClB,KAAK,IAAI8kC,CAAC,GAAGrlD,CAAC,GAAG6rE,KAAK,EAAExmB,CAAC,IAAIrlD,CAAC,GAAG6rE,KAAK,IAAIrrD,GAAG,GAAGirB,KAAK,EAAE4Z,CAAC,EAAE,EAAE;QAC1D,IAAIA,CAAC,GAAG,CAAC,IAAIA,CAAC,IAAI0mB,KAAK,CAACzqE,MAAM,EAAE;QAChC,MAAM68B,IAAI,GAAGknB,CAAC,GAAG,CAAC;QAClBzgC,GAAG,CAAC5Q,IAAI,CACN,GAAGmqB,IAAI,GAAG,GAAG,CAAC+tC,MAAM,CAACxlD,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGzgB,MAAM,CAACi4B,IAAI,CAAC,CAAC78B,MAAM,EAAE,CAAC,CAAC,CAAC,MAAMyqE,KAAK,CAAC1mB,CAAC,CAAC,EAC1E,CAAC;QACD,MAAM8mB,UAAU,GAAGJ,KAAK,CAAC1mB,CAAC,CAAC,CAAC/jD,MAAM;QAClC,MAAM8qE,gBAAgB,GAAGJ,gBAAgB,CAAC3mB,CAAC,CAAC,IAAI2mB,gBAAgB,CAAC3mB,CAAC,CAAC,CAAC/jD,MAAM,IAAI,CAAC;QAC/E,IAAI+jD,CAAC,KAAKrlD,CAAC,EAAE;UACX,MAAMqsE,GAAG,GAAG9rD,KAAK,IAAIkrB,KAAK,IAAI0gC,UAAU,GAAGC,gBAAgB,CAAC,CAAC;UAC7D,MAAM9qE,MAAM,GAAGolB,IAAI,CAACC,GAAG,CACrB,CAAC,EACDnG,GAAG,GAAGirB,KAAK,GAAG0gC,UAAU,GAAGE,GAAG,GAAG7rD,GAAG,GAAGD,KACzC,CAAC;UACDqE,GAAG,CAAC5Q,IAAI,CAAC,QAAQ,GAAG,GAAG,CAACk4D,MAAM,CAACG,GAAG,CAAC,GAAG,GAAG,CAACH,MAAM,CAAC5qE,MAAM,CAAC,CAAC;QAC3D,CAAC,MAAM,IAAI+jD,CAAC,GAAGrlD,CAAC,EAAE;UAChB,IAAIwgB,GAAG,GAAGirB,KAAK,EAAE;YACf,MAAMnqC,MAAM,GAAGolB,IAAI,CAACC,GAAG,CAACD,IAAI,CAACqzC,GAAG,CAACv5C,GAAG,GAAGirB,KAAK,EAAE0gC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC7DvnD,GAAG,CAAC5Q,IAAI,CAAC,QAAQ,GAAG,GAAG,CAACk4D,MAAM,CAAC5qE,MAAM,CAAC,CAAC;UACzC;UACAmqC,KAAK,IAAI0gC,UAAU,GAAGC,gBAAgB;QACxC;MACF;MACA;IACF;EACF;EACA,OAAOxnD,GAAG,CAACna,IAAI,CAAC,IAAI,CAAC;AACvB;AAEA,SAAS47B,cAAcA,CAAC3lC,KAAK,EAAE;EAC7B,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IAClB,MAAMkkB,GAAG,GAAG,CAAC,CAAC;IACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC,MAAMugC,IAAI,GAAG7/B,KAAK,CAACV,CAAC,CAAC;MACrB,MAAMoK,UAAU,GAAG7C,QAAQ,CAACg5B,IAAI,CAAC,GAAG+rC,gBAAgB,CAAC/rC,IAAI,CAAC,GAAG8F,cAAc,CAAC9F,IAAI,CAAC;MACjF,IAAIn2B,UAAU,EAAE;QACd,KAAK,MAAMzE,GAAG,IAAIyE,UAAU,EAAE;UAC5Bwa,GAAG,CAACjf,GAAG,CAAC,GAAGyE,UAAU,CAACzE,GAAG,CAAC;QAC5B;MACF;IACF;IACA,OAAOif,GAAG;EACZ,CAAC,MAAM,IAAIrd,QAAQ,CAAC7G,KAAK,CAAC,IAAI6Q,QAAQ,CAAC7Q,KAAK,CAAC,EAAE;IAC7C,OAAOA,KAAK;EACd;AACF;AACA,MAAM6rE,eAAe,GAAG,eAAe;AACvC,MAAMC,mBAAmB,GAAG,SAAS;AACrC,MAAMC,cAAc,GAAG,gBAAgB;AACvC,SAASH,gBAAgBA,CAAC/hD,OAAO,EAAE;EACjC,MAAMysB,GAAG,GAAG,CAAC,CAAC;EACdzsB,OAAO,CAAC5iB,OAAO,CAAC8kE,cAAc,EAAE,EAAE,CAAC,CAAC51D,KAAK,CAAC01D,eAAe,CAAC,CAACzsE,OAAO,CAAEygC,IAAI,IAAK;IAC3E,IAAIA,IAAI,EAAE;MACR,MAAMmsC,GAAG,GAAGnsC,IAAI,CAAC1pB,KAAK,CAAC21D,mBAAmB,CAAC;MAC3CE,GAAG,CAACprE,MAAM,GAAG,CAAC,KAAK01C,GAAG,CAAC01B,GAAG,CAAC,CAAC,CAAC,CAACvmE,IAAI,CAAC,CAAC,CAAC,GAAGumE,GAAG,CAAC,CAAC,CAAC,CAACvmE,IAAI,CAAC,CAAC,CAAC;IACxD;EACF,CAAC,CAAC;EACF,OAAO6wC,GAAG;AACZ;AACA,SAAS5Q,cAAcA,CAACpgB,MAAM,EAAE;EAC9B,IAAI,CAACA,MAAM,EAAE,OAAO,EAAE;EACtB,IAAIze,QAAQ,CAACye,MAAM,CAAC,EAAE,OAAOA,MAAM;EACnC,IAAIgxB,GAAG,GAAG,EAAE;EACZ,KAAK,MAAMrxC,GAAG,IAAIqgB,MAAM,EAAE;IACxB,MAAMtlB,KAAK,GAAGslB,MAAM,CAACrgB,GAAG,CAAC;IACzB,IAAI4B,QAAQ,CAAC7G,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAChD,MAAM0wD,aAAa,GAAGzrD,GAAG,CAAC0lB,UAAU,CAAC,IAAI,CAAC,GAAG1lB,GAAG,GAAG8W,SAAS,CAAC9W,GAAG,CAAC;MACjEqxC,GAAG,IAAI,GAAGoa,aAAa,IAAI1wD,KAAK,GAAG;IACrC;EACF;EACA,OAAOs2C,GAAG;AACZ;AACA,SAAS7Q,cAAcA,CAACzlC,KAAK,EAAE;EAC7B,IAAIkkB,GAAG,GAAG,EAAE;EACZ,IAAIrd,QAAQ,CAAC7G,KAAK,CAAC,EAAE;IACnBkkB,GAAG,GAAGlkB,KAAK;EACb,CAAC,MAAM,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IACzB,KAAK,IAAIV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC,MAAMoK,UAAU,GAAG+7B,cAAc,CAACzlC,KAAK,CAACV,CAAC,CAAC,CAAC;MAC3C,IAAIoK,UAAU,EAAE;QACdwa,GAAG,IAAIxa,UAAU,GAAG,GAAG;MACzB;IACF;EACF,CAAC,MAAM,IAAImH,QAAQ,CAAC7Q,KAAK,CAAC,EAAE;IAC1B,KAAK,MAAM8P,IAAI,IAAI9P,KAAK,EAAE;MACxB,IAAIA,KAAK,CAAC8P,IAAI,CAAC,EAAE;QACfoU,GAAG,IAAIpU,IAAI,GAAG,GAAG;MACnB;IACF;EACF;EACA,OAAOoU,GAAG,CAACze,IAAI,CAAC,CAAC;AACnB;AACA,SAAS+gC,cAAcA,CAAC9nB,KAAK,EAAE;EAC7B,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EACvB,IAAI;IAAEw3C,KAAK,EAAE2N,KAAK;IAAE18C;EAAM,CAAC,GAAGzI,KAAK;EACnC,IAAImlD,KAAK,IAAI,CAACh9D,QAAQ,CAACg9D,KAAK,CAAC,EAAE;IAC7BnlD,KAAK,CAACw3C,KAAK,GAAGzwB,cAAc,CAACo+B,KAAK,CAAC;EACrC;EACA,IAAI18C,KAAK,EAAE;IACTzI,KAAK,CAACyI,KAAK,GAAGwe,cAAc,CAACxe,KAAK,CAAC;EACrC;EACA,OAAOzI,KAAK;AACd;AAEA,MAAMutD,SAAS,GAAG,glBAAglB;AAClmB,MAAMC,QAAQ,GAAG,mpBAAmpB;AACpqB,MAAMC,SAAS,GAAG,oVAAoV;AACtW,MAAMC,SAAS,GAAG,sEAAsE;AACxF,MAAMtvD,SAAS,GAAG,eAAgBwpB,gDAAAA,OAAO,CAAC2lC,SAAS,CAAC;AACpD,MAAMlvD,QAAQ,GAAG,eAAgBupB,gDAAAA,OAAO,CAAC4lC,QAAQ,CAAC;AAClD,MAAMlvD,WAAW,GAAG,eAAgBspB,gDAAAA,OAAO,CAAC6lC,SAAS,CAAC;AACtD,MAAME,SAAS,GAAG,eAAgB/lC,gDAAAA,OAAO,CAAC8lC,SAAS,CAAC;AAEpD,MAAME,mBAAmB,GAAG,6EAA6E;AACzG,MAAMnwD,oBAAoB,GAAG,eAAgBmqB,OAAO,CAACgmC,mBAAmB,CAAC;AACzE,MAAMzmC,aAAa,GAAG,eAAgBS,OAAO,CAC3CgmC,mBAAmB,GAAG,oJACxB,CAAC;AACD,SAASrwD,kBAAkBA,CAACjc,KAAK,EAAE;EACjC,OAAO,CAAC,CAACA,KAAK,IAAIA,KAAK,KAAK,EAAE;AAChC;AACA,MAAMusE,gBAAgB,GAAG,iCAAiC;AAC1D,MAAMC,mBAAmB,GAAG,CAAC,CAAC;AAC9B,SAASC,iBAAiBA,CAAC38D,IAAI,EAAE;EAC/B,IAAI08D,mBAAmB,CAAC7C,cAAc,CAAC75D,IAAI,CAAC,EAAE;IAC5C,OAAO08D,mBAAmB,CAAC18D,IAAI,CAAC;EAClC;EACA,MAAM48D,QAAQ,GAAGH,gBAAgB,CAACjmE,IAAI,CAACwJ,IAAI,CAAC;EAC5C,IAAI48D,QAAQ,EAAE;IACZvsE,OAAO,CAAC4R,KAAK,CAAC,0BAA0BjC,IAAI,EAAE,CAAC;EACjD;EACA,OAAO08D,mBAAmB,CAAC18D,IAAI,CAAC,GAAG,CAAC48D,QAAQ;AAC9C;AACA,MAAMC,cAAc,GAAG;EACrBC,aAAa,EAAE,gBAAgB;EAC/B/lD,SAAS,EAAE,OAAO;EAClBgmD,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE;AACb,CAAC;AACD,MAAMhnC,eAAe,GAAG,eAAgBQ,gDAAAA,OAAO,CAC7C,w+BACF,CAAC;AACD,MAAMV,cAAc,GAAG,eAAgBU,gDAAAA,OAAO,CAC5C,koFACF,CAAC;AACD,MAAMymC,iBAAiB,GAAG,eAAgBzmC,gDAAAA,OAAO,CAC/C,myBACF,CAAC;AACD,SAASP,qBAAqBA,CAAC/lC,KAAK,EAAE;EACpC,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,KAAK;EACd;EACA,MAAMX,IAAI,GAAG,OAAOW,KAAK;EACzB,OAAOX,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,SAAS;AACrE;AAEA,MAAM2tE,QAAQ,GAAG,SAAS;AAC1B,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,MAAMnnE,GAAG,GAAG,EAAE,GAAGmnE,MAAM;EACvB,MAAM/mE,KAAK,GAAG6mE,QAAQ,CAAC5mE,IAAI,CAACL,GAAG,CAAC;EAChC,IAAI,CAACI,KAAK,EAAE;IACV,OAAOJ,GAAG;EACZ;EACA,IAAIonE,IAAI,GAAG,EAAE;EACb,IAAIC,OAAO;EACX,IAAI78D,KAAK;EACT,IAAIuxC,SAAS,GAAG,CAAC;EACjB,KAAKvxC,KAAK,GAAGpK,KAAK,CAACoK,KAAK,EAAEA,KAAK,GAAGxK,GAAG,CAACnF,MAAM,EAAE2P,KAAK,EAAE,EAAE;IACrD,QAAQxK,GAAG,CAAC6nB,UAAU,CAACrd,KAAK,CAAC;MAC3B,KAAK,EAAE;QACL68D,OAAO,GAAG,QAAQ;QAClB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,OAAO;QACjB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,OAAO;QACjB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,MAAM;QAChB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,MAAM;QAChB;MACF;QACE;IACJ;IACA,IAAItrB,SAAS,KAAKvxC,KAAK,EAAE;MACvB48D,IAAI,IAAIpnE,GAAG,CAAC+E,KAAK,CAACg3C,SAAS,EAAEvxC,KAAK,CAAC;IACrC;IACAuxC,SAAS,GAAGvxC,KAAK,GAAG,CAAC;IACrB48D,IAAI,IAAIC,OAAO;EACjB;EACA,OAAOtrB,SAAS,KAAKvxC,KAAK,GAAG48D,IAAI,GAAGpnE,GAAG,CAAC+E,KAAK,CAACg3C,SAAS,EAAEvxC,KAAK,CAAC,GAAG48D,IAAI;AACxE;AACA,MAAME,cAAc,GAAG,0BAA0B;AACjD,SAASC,iBAAiBA,CAACC,GAAG,EAAE;EAC9B,OAAOA,GAAG,CAACtmE,OAAO,CAAComE,cAAc,EAAE,EAAE,CAAC;AACxC;AACA,MAAMG,yBAAyB,GAAG,sCAAsC;AACxE,SAASxnC,oBAAoBA,CAAC/gC,GAAG,EAAEwoE,YAAY,EAAE;EAC/C,OAAOxoE,GAAG,CAACgC,OAAO,CAChBumE,yBAAyB,EACxBlnD,CAAC,IAAKmnD,YAAY,GAAGnnD,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,OAAOA,CAAC,EAAE,GAAG,KAAKA,CAAC,EACnE,CAAC;AACH;AAEA,SAASonD,kBAAkBA,CAAC/hE,CAAC,EAAEC,CAAC,EAAE;EAChC,IAAID,CAAC,CAAC/K,MAAM,KAAKgL,CAAC,CAAChL,MAAM,EAAE,OAAO,KAAK;EACvC,IAAI+sE,KAAK,GAAG,IAAI;EAChB,KAAK,IAAIruE,CAAC,GAAG,CAAC,EAAEquE,KAAK,IAAIruE,CAAC,GAAGqM,CAAC,CAAC/K,MAAM,EAAEtB,CAAC,EAAE,EAAE;IAC1CquE,KAAK,GAAG/wD,UAAU,CAACjR,CAAC,CAACrM,CAAC,CAAC,EAAEsM,CAAC,CAACtM,CAAC,CAAC,CAAC;EAChC;EACA,OAAOquE,KAAK;AACd;AACA,SAAS/wD,UAAUA,CAACjR,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAIgiE,UAAU,GAAG9D,MAAM,CAACn+D,CAAC,CAAC;EAC1B,IAAIkiE,UAAU,GAAG/D,MAAM,CAACl+D,CAAC,CAAC;EAC1B,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOD,UAAU,IAAIC,UAAU,GAAGliE,CAAC,CAACmiE,OAAO,CAAC,CAAC,KAAKliE,CAAC,CAACkiE,OAAO,CAAC,CAAC,GAAG,KAAK;EACvE;EACAF,UAAU,GAAG1xD,QAAQ,CAACvQ,CAAC,CAAC;EACxBkiE,UAAU,GAAG3xD,QAAQ,CAACtQ,CAAC,CAAC;EACxB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOliE,CAAC,KAAKC,CAAC;EAChB;EACAgiE,UAAU,GAAGhoE,OAAO,CAAC+F,CAAC,CAAC;EACvBkiE,UAAU,GAAGjoE,OAAO,CAACgG,CAAC,CAAC;EACvB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOD,UAAU,IAAIC,UAAU,GAAGH,kBAAkB,CAAC/hE,CAAC,EAAEC,CAAC,CAAC,GAAG,KAAK;EACpE;EACAgiE,UAAU,GAAG/8D,QAAQ,CAAClF,CAAC,CAAC;EACxBkiE,UAAU,GAAGh9D,QAAQ,CAACjF,CAAC,CAAC;EACxB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,IAAI,CAACD,UAAU,IAAI,CAACC,UAAU,EAAE;MAC9B,OAAO,KAAK;IACd;IACA,MAAME,UAAU,GAAGptE,MAAM,CAACD,IAAI,CAACiL,CAAC,CAAC,CAAC/K,MAAM;IACxC,MAAMotE,UAAU,GAAGrtE,MAAM,CAACD,IAAI,CAACkL,CAAC,CAAC,CAAChL,MAAM;IACxC,IAAImtE,UAAU,KAAKC,UAAU,EAAE;MAC7B,OAAO,KAAK;IACd;IACA,KAAK,MAAM/oE,GAAG,IAAI0G,CAAC,EAAE;MACnB,MAAMsiE,OAAO,GAAGtiE,CAAC,CAACg+D,cAAc,CAAC1kE,GAAG,CAAC;MACrC,MAAMipE,OAAO,GAAGtiE,CAAC,CAAC+9D,cAAc,CAAC1kE,GAAG,CAAC;MACrC,IAAIgpE,OAAO,IAAI,CAACC,OAAO,IAAI,CAACD,OAAO,IAAIC,OAAO,IAAI,CAACtxD,UAAU,CAACjR,CAAC,CAAC1G,GAAG,CAAC,EAAE2G,CAAC,CAAC3G,GAAG,CAAC,CAAC,EAAE;QAC7E,OAAO,KAAK;MACd;IACF;EACF;EACA,OAAOO,MAAM,CAACmG,CAAC,CAAC,KAAKnG,MAAM,CAACoG,CAAC,CAAC;AAChC;AACA,SAAS8Q,YAAYA,CAACzM,GAAG,EAAE0I,GAAG,EAAE;EAC9B,OAAO1I,GAAG,CAACk+D,SAAS,CAAEtuC,IAAI,IAAKjjB,UAAU,CAACijB,IAAI,EAAElnB,GAAG,CAAC,CAAC;AACvD;AAEA,MAAMuqB,KAAK,GAAIvqB,GAAG,IAAK;EACrB,OAAO,CAAC,EAAEA,GAAG,IAAIA,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AACD,MAAM8tB,eAAe,GAAI9tB,GAAG,IAAK;EAC/B,OAAO9R,QAAQ,CAAC8R,GAAG,CAAC,GAAGA,GAAG,GAAGA,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG/S,OAAO,CAAC+S,GAAG,CAAC,IAAI9H,QAAQ,CAAC8H,GAAG,CAAC,KAAKA,GAAG,CAAC1O,QAAQ,KAAK8/D,cAAc,IAAI,CAACpjE,UAAU,CAACgS,GAAG,CAAC1O,QAAQ,CAAC,CAAC,GAAGi5B,KAAK,CAACvqB,GAAG,CAAC,GAAG8tB,eAAe,CAAC9tB,GAAG,CAAC3Y,KAAK,CAAC,GAAGogC,IAAI,CAACM,SAAS,CAAC/nB,GAAG,EAAEy1D,QAAQ,EAAE,CAAC,CAAC,GAAG5oE,MAAM,CAACmT,GAAG,CAAC;AAC5O,CAAC;AACD,MAAMy1D,QAAQ,GAAGA,CAACC,IAAI,EAAE11D,GAAG,KAAK;EAC9B,IAAIuqB,KAAK,CAACvqB,GAAG,CAAC,EAAE;IACd,OAAOy1D,QAAQ,CAACC,IAAI,EAAE11D,GAAG,CAAC3Y,KAAK,CAAC;EAClC,CAAC,MAAM,IAAI4pE,KAAK,CAACjxD,GAAG,CAAC,EAAE;IACrB,OAAO;MACL,CAAC,OAAOA,GAAG,CAAC8L,IAAI,GAAG,GAAG,CAAC,GAAG9L,GAAG,CAAC3T,OAAO,CAAC,CAAC,CAAC,CAAC+jD,MAAM,CAC7C,CAAC/jD,OAAO,EAAE,CAACC,GAAG,EAAEqpE,IAAI,CAAC,EAAEhvE,CAAC,KAAK;QAC3B0F,OAAO,CAACupE,eAAe,CAACtpE,GAAG,EAAE3F,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGgvE,IAAI;QAC/C,OAAOtpE,OAAO;MAChB,CAAC,EACD,CAAC,CACH;IACF,CAAC;EACH,CAAC,MAAM,IAAI2X,KAAK,CAAChE,GAAG,CAAC,EAAE;IACrB,OAAO;MACL,CAAC,OAAOA,GAAG,CAAC8L,IAAI,GAAG,GAAG,CAAC,GAAG9L,GAAG,CAAC6vB,MAAM,CAAC,CAAC,CAAC,CAAC3iC,GAAG,CAAE6kB,CAAC,IAAK6jD,eAAe,CAAC7jD,CAAC,CAAC;IACvE,CAAC;EACH,CAAC,MAAM,IAAIxO,QAAQ,CAACvD,GAAG,CAAC,EAAE;IACxB,OAAO41D,eAAe,CAAC51D,GAAG,CAAC;EAC7B,CAAC,MAAM,IAAI9H,QAAQ,CAAC8H,GAAG,CAAC,IAAI,CAAC/S,OAAO,CAAC+S,GAAG,CAAC,IAAI,CAAC7P,aAAa,CAAC6P,GAAG,CAAC,EAAE;IAChE,OAAOnT,MAAM,CAACmT,GAAG,CAAC;EACpB;EACA,OAAOA,GAAG;AACZ,CAAC;AACD,MAAM41D,eAAe,GAAGA,CAAC7jD,CAAC,EAAEprB,CAAC,GAAG,EAAE,KAAK;EACrC,IAAIw+B,EAAE;EACN;IACE;IACA;IACA5hB,QAAQ,CAACwO,CAAC,CAAC,GAAG,UAAU,CAACoT,EAAE,GAAGpT,CAAC,CAACpZ,WAAW,KAAK,IAAI,GAAGwsB,EAAE,GAAGx+B,CAAC,GAAG,GAAGorB;EAAC;AAExE,CAAC;;;;;;;;;ACpgBY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,qBAAqB,mBAAO,CAAC,IAA8B;AAC3D,YAAY,mBAAO,CAAC,IAAoB;AACxC,aAAa,mBAAO,CAAC,IAA+B;AACpD,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,wBAAwB,6CAAwD;AAChF,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB,IAAI;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI,iDAAiD;AACrD;AACA,CAAC;;;;;;;;;;;;;AChEiC;AACU;AAE5C,sDAAexc,mEAAQ,CAACC,qBAAqB;AAE3C;AACA;EACE4wB,KAAKA,CAACjvB,IAAI,EAAE9P,KAAK,EAAE01E,OAAO,EAAEplE,IAAI,EAAEqlE,MAAM,EAAEC,MAAM,EAAE;IAChD,MAAMC,MAAM,GAAG,CAAC/lE,IAAI,GAAG,GAAG,GAAG4G,kBAAkB,CAAC1W,KAAK,CAAC,CAAC;IAEvDkF,0DAAK,CAAC0qE,QAAQ,CAAC8F,OAAO,CAAC,IAAIG,MAAM,CAACviE,IAAI,CAAC,UAAU,GAAG,IAAI0Z,IAAI,CAAC0oD,OAAO,CAAC,CAACI,WAAW,CAAC,CAAC,CAAC;IAEpF5wE,0DAAK,CAAC2B,QAAQ,CAACyJ,IAAI,CAAC,IAAIulE,MAAM,CAACviE,IAAI,CAAC,OAAO,GAAGhD,IAAI,CAAC;IAEnDpL,0DAAK,CAAC2B,QAAQ,CAAC8uE,MAAM,CAAC,IAAIE,MAAM,CAACviE,IAAI,CAAC,SAAS,GAAGqiE,MAAM,CAAC;IAEzDC,MAAM,KAAK,IAAI,IAAIC,MAAM,CAACviE,IAAI,CAAC,QAAQ,CAAC;IAExC7E,QAAQ,CAAConE,MAAM,GAAGA,MAAM,CAAC9rE,IAAI,CAAC,IAAI,CAAC;EACrC,CAAC;EAED0O,IAAIA,CAAC3I,IAAI,EAAE;IACT,MAAM3J,KAAK,GAAGsI,QAAQ,CAAConE,MAAM,CAAC1vE,KAAK,CAAC,IAAI+5C,MAAM,CAAC,YAAY,GAAGpwC,IAAI,GAAG,WAAW,CAAC,CAAC;IAClF,OAAQ3J,KAAK,GAAG4vE,kBAAkB,CAAC5vE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;EACrD,CAAC;EAEDiY,MAAMA,CAACtO,IAAI,EAAE;IACX,IAAI,CAACivB,KAAK,CAACjvB,IAAI,EAAE,EAAE,EAAEkd,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;EAC7C;AACF,CAAC;AAID;AACA;EACE8R,KAAKA,CAAA,EAAG,CAAC,CAAC;EACVtmB,IAAIA,CAAA,EAAG;IACL,OAAO,IAAI;EACb,CAAC;EACD2F,MAAMA,CAAA,EAAG,CAAC;AACZ,CAAC;;;;;;;;ACxCU;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,qBAAqB,mBAAO,CAAC,IAA+B;AAC5D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,0BAA0B,mBAAO,CAAC,IAA6B;AAC/D,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,wBAAwB,6CAAwD;AAChF,6BAA6B,mBAAO,CAAC,IAAwC;AAC7E,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;;AC3Ea;AACb,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACba;AACb,cAAc,mBAAO,CAAC,IAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,gBAAgB,mBAAO,CAAC,IAAwB;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACba;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;;;;;;;;;;;;;ACLa;;AAEqB;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS+jB,YAAYA,CAAC6zC,OAAO,EAAE;EAC5C,OAAO9wE,0DAAK,CAAC2L,QAAQ,CAACmlE,OAAO,CAAC,IAAKA,OAAO,CAAC7zC,YAAY,KAAK,IAAK;AACnE;;;;;;;;ACbY;;AAAA8zC,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAEZ/3C,kBAAkB,GAAGg4C,UAAU;AAC/Bh4C,mBAAmB,GAAGi4C,WAAW;AACjCj4C,qBAAqB,GAAGk4C,aAAa;AAErC,IAAIC,MAAM,GAAG,EAAE;AACf,IAAIC,SAAS,GAAG,EAAE;AAClB,IAAIC,GAAG,GAAG,OAAOpF,UAAU,KAAK,WAAW,GAAGA,UAAU,GAAG/oD,KAAK;AAEhE,IAAIpX,IAAI,GAAG,kEAAkE;AAC7E,KAAK,IAAI1R,CAAC,GAAG,CAAC,EAAE4Q,GAAG,GAAGc,IAAI,CAACpQ,MAAM,EAAEtB,CAAC,GAAG4Q,GAAG,EAAE,EAAE5Q,CAAC,EAAE;EAC/C+2E,MAAM,CAAC/2E,CAAC,CAAC,GAAG0R,IAAI,CAAC1R,CAAC,CAAC;EACnBg3E,SAAS,CAACtlE,IAAI,CAAC4c,UAAU,CAACtuB,CAAC,CAAC,CAAC,GAAGA,CAAC;AACnC;;AAEA;AACA;AACAg3E,SAAS,CAAC,GAAG,CAAC1oD,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AACjC0oD,SAAS,CAAC,GAAG,CAAC1oD,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AAEjC,SAAS4oD,OAAOA,CAAEC,GAAG,EAAE;EACrB,IAAIvmE,GAAG,GAAGumE,GAAG,CAAC71E,MAAM;EAEpB,IAAIsP,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE;IACf,MAAM,IAAIvH,KAAK,CAAC,gDAAgD,CAAC;EACnE;;EAEA;EACA;EACA,IAAI+tE,QAAQ,GAAGD,GAAG,CAAC3vE,OAAO,CAAC,GAAG,CAAC;EAC/B,IAAI4vE,QAAQ,KAAK,CAAC,CAAC,EAAEA,QAAQ,GAAGxmE,GAAG;EAEnC,IAAIymE,eAAe,GAAGD,QAAQ,KAAKxmE,GAAG,GAClC,CAAC,GACD,CAAC,GAAIwmE,QAAQ,GAAG,CAAE;EAEtB,OAAO,CAACA,QAAQ,EAAEC,eAAe,CAAC;AACpC;;AAEA;AACA,SAAST,UAAUA,CAAEO,GAAG,EAAE;EACxB,IAAIG,IAAI,GAAGJ,OAAO,CAACC,GAAG,CAAC;EACvB,IAAIC,QAAQ,GAAGE,IAAI,CAAC,CAAC,CAAC;EACtB,IAAID,eAAe,GAAGC,IAAI,CAAC,CAAC,CAAC;EAC7B,OAAQ,CAACF,QAAQ,GAAGC,eAAe,IAAI,CAAC,GAAG,CAAC,GAAIA,eAAe;AACjE;AAEA,SAASE,WAAWA,CAAEJ,GAAG,EAAEC,QAAQ,EAAEC,eAAe,EAAE;EACpD,OAAQ,CAACD,QAAQ,GAAGC,eAAe,IAAI,CAAC,GAAG,CAAC,GAAIA,eAAe;AACjE;AAEA,SAASR,WAAWA,CAAEM,GAAG,EAAE;EACzB,IAAIzK,GAAG;EACP,IAAI4K,IAAI,GAAGJ,OAAO,CAACC,GAAG,CAAC;EACvB,IAAIC,QAAQ,GAAGE,IAAI,CAAC,CAAC,CAAC;EACtB,IAAID,eAAe,GAAGC,IAAI,CAAC,CAAC,CAAC;EAE7B,IAAI3mE,GAAG,GAAG,IAAIsmE,GAAG,CAACM,WAAW,CAACJ,GAAG,EAAEC,QAAQ,EAAEC,eAAe,CAAC,CAAC;EAE9D,IAAIG,OAAO,GAAG,CAAC;;EAEf;EACA,IAAI5mE,GAAG,GAAGymE,eAAe,GAAG,CAAC,GACzBD,QAAQ,GAAG,CAAC,GACZA,QAAQ;EAEZ,IAAIp3E,CAAC;EACL,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,IAAI,CAAC,EAAE;IAC3B0sE,GAAG,GACAsK,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,CAAC,CAAC,IAAI,EAAE,GAClCg3E,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAG,GACvCg3E,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,GACvCg3E,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC2Q,GAAG,CAAC6mE,OAAO,EAAE,CAAC,GAAI9K,GAAG,IAAI,EAAE,GAAI,IAAI;IACnC/7D,GAAG,CAAC6mE,OAAO,EAAE,CAAC,GAAI9K,GAAG,IAAI,CAAC,GAAI,IAAI;IAClC/7D,GAAG,CAAC6mE,OAAO,EAAE,CAAC,GAAG9K,GAAG,GAAG,IAAI;EAC7B;EAEA,IAAI2K,eAAe,KAAK,CAAC,EAAE;IACzB3K,GAAG,GACAsK,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,CAAC,CAAC,IAAI,CAAC,GACjCg3E,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE;IACzC2Q,GAAG,CAAC6mE,OAAO,EAAE,CAAC,GAAG9K,GAAG,GAAG,IAAI;EAC7B;EAEA,IAAI2K,eAAe,KAAK,CAAC,EAAE;IACzB3K,GAAG,GACAsK,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,CAAC,CAAC,IAAI,EAAE,GAClCg3E,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,GACtCg3E,SAAS,CAACG,GAAG,CAAC7oD,UAAU,CAACtuB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE;IACzC2Q,GAAG,CAAC6mE,OAAO,EAAE,CAAC,GAAI9K,GAAG,IAAI,CAAC,GAAI,IAAI;IAClC/7D,GAAG,CAAC6mE,OAAO,EAAE,CAAC,GAAG9K,GAAG,GAAG,IAAI;EAC7B;EAEA,OAAO/7D,GAAG;AACZ;AAEA,SAAS8mE,eAAeA,CAAEC,GAAG,EAAE;EAC7B,OAAOX,MAAM,CAACW,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,GAC7BX,MAAM,CAACW,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,GACxBX,MAAM,CAACW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GACvBX,MAAM,CAACW,GAAG,GAAG,IAAI,CAAC;AACtB;AAEA,SAASC,WAAWA,CAAEC,KAAK,EAAEr3D,KAAK,EAAEC,GAAG,EAAE;EACvC,IAAIksD,GAAG;EACP,IAAImL,MAAM,GAAG,EAAE;EACf,KAAK,IAAI73E,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGwgB,GAAG,EAAExgB,CAAC,IAAI,CAAC,EAAE;IACnC0sE,GAAG,GACD,CAAEkL,KAAK,CAAC53E,CAAC,CAAC,IAAI,EAAE,GAAI,QAAQ,KAC1B43E,KAAK,CAAC53E,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,IAC7B43E,KAAK,CAAC53E,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACvB63E,MAAM,CAAC7jE,IAAI,CAACyjE,eAAe,CAAC/K,GAAG,CAAC,CAAC;EACnC;EACA,OAAOmL,MAAM,CAACptE,IAAI,CAAC,EAAE,CAAC;AACxB;AAEA,SAASqsE,aAAaA,CAAEc,KAAK,EAAE;EAC7B,IAAIlL,GAAG;EACP,IAAI97D,GAAG,GAAGgnE,KAAK,CAACt2E,MAAM;EACtB,IAAIw2E,UAAU,GAAGlnE,GAAG,GAAG,CAAC,EAAC;EACzB,IAAImnE,KAAK,GAAG,EAAE;EACd,IAAIC,cAAc,GAAG,KAAK,EAAC;;EAE3B;EACA,KAAK,IAAIh4E,CAAC,GAAG,CAAC,EAAEi4E,IAAI,GAAGrnE,GAAG,GAAGknE,UAAU,EAAE93E,CAAC,GAAGi4E,IAAI,EAAEj4E,CAAC,IAAIg4E,cAAc,EAAE;IACtED,KAAK,CAAC/jE,IAAI,CAAC2jE,WAAW,CAACC,KAAK,EAAE53E,CAAC,EAAGA,CAAC,GAAGg4E,cAAc,GAAIC,IAAI,GAAGA,IAAI,GAAIj4E,CAAC,GAAGg4E,cAAe,CAAC,CAAC;EAC9F;;EAEA;EACA,IAAIF,UAAU,KAAK,CAAC,EAAE;IACpBpL,GAAG,GAAGkL,KAAK,CAAChnE,GAAG,GAAG,CAAC,CAAC;IACpBmnE,KAAK,CAAC/jE,IAAI,CACR+iE,MAAM,CAACrK,GAAG,IAAI,CAAC,CAAC,GAChBqK,MAAM,CAAErK,GAAG,IAAI,CAAC,GAAI,IAAI,CAAC,GACzB,IACF,CAAC;EACH,CAAC,MAAM,IAAIoL,UAAU,KAAK,CAAC,EAAE;IAC3BpL,GAAG,GAAG,CAACkL,KAAK,CAAChnE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAIgnE,KAAK,CAAChnE,GAAG,GAAG,CAAC,CAAC;IAC5CmnE,KAAK,CAAC/jE,IAAI,CACR+iE,MAAM,CAACrK,GAAG,IAAI,EAAE,CAAC,GACjBqK,MAAM,CAAErK,GAAG,IAAI,CAAC,GAAI,IAAI,CAAC,GACzBqK,MAAM,CAAErK,GAAG,IAAI,CAAC,GAAI,IAAI,CAAC,GACzB,GACF,CAAC;EACH;EAEA,OAAOqL,KAAK,CAACttE,IAAI,CAAC,EAAE,CAAC;AACvB;;;;;;;;ACrJA,CAAC,UAAS2X,CAAC,EAACnN,CAAC,EAAC;EAAC,KAAiD,GAACijE,MAAM,CAACt5C,OAAO,GAAC3pB,CAAC,CAAC,CAAC,GAAC,CAA+G;AAAA,CAAC,CAAC,IAAI,EAAC,YAAU;EAAC,OAAO,UAASmN,CAAC,EAAC;IAAC,SAASnN,CAACA,CAACqf,CAAC,EAAC;MAAC,IAAGmjB,CAAC,CAACnjB,CAAC,CAAC,EAAC,OAAOmjB,CAAC,CAACnjB,CAAC,CAAC,CAACsK,OAAO;MAAC,IAAIja,CAAC,GAAC8yB,CAAC,CAACnjB,CAAC,CAAC,GAAC;QAACsK,OAAO,EAAC,CAAC,CAAC;QAACrkB,EAAE,EAAC+Z,CAAC;QAACpf,MAAM,EAAC,CAAC;MAAC,CAAC;MAAC,OAAOkN,CAAC,CAACkS,CAAC,CAAC,CAAChtB,IAAI,CAACqd,CAAC,CAACia,OAAO,EAACja,CAAC,EAACA,CAAC,CAACia,OAAO,EAAC3pB,CAAC,CAAC,EAAC0P,CAAC,CAACzP,MAAM,GAAC,CAAC,CAAC,EAACyP,CAAC,CAACia,OAAO;IAAA;IAAC,IAAI6Y,CAAC,GAAC,CAAC,CAAC;IAAC,OAAOxiC,CAAC,CAACoY,CAAC,GAACjL,CAAC,EAACnN,CAAC,CAAC6P,CAAC,GAAC2yB,CAAC,EAACxiC,CAAC,CAACsY,CAAC,GAAC,EAAE,EAACtY,CAAC,CAAC,CAAC,CAAC;EAAA,CAAC,CAAC,CAAC,UAASmN,CAAC,EAACnN,CAAC,EAACwiC,CAAC,EAAC;IAAC,YAAY;;IAACr1B,CAAC,CAACwc,OAAO,GAAC6Y,CAAC,CAAC,CAAC,CAAC;EAAA,CAAC,EAAC,UAASr1B,CAAC,EAACnN,CAAC,EAAC;IAAC,YAAY;;IAAC,CAAC,YAAU;MAAC5T,MAAM,CAACoN,MAAM,IAAEpN,MAAM,CAAC+G,cAAc,CAAC/G,MAAM,EAAC,QAAQ,EAAC;QAACu2C,UAAU,EAAC,CAAC,CAAC;QAACpvC,YAAY,EAAC,CAAC,CAAC;QAACi1B,QAAQ,EAAC,CAAC,CAAC;QAAC/8B,KAAK,EAAC,SAAAA,CAAS0hB,CAAC,EAAC;UAAC,IAAG,KAAK,CAAC,KAAGA,CAAC,IAAE,IAAI,KAAGA,CAAC,EAAC,MAAM,IAAIzY,SAAS,CAAC,yCAAyC,CAAC;UAAC,KAAI,IAAIsL,CAAC,GAAC5T,MAAM,CAAC+gB,CAAC,CAAC,EAACq1B,CAAC,GAAC,CAAC,EAACA,CAAC,GAACyX,SAAS,CAAC5tD,MAAM,EAACm2C,CAAC,EAAE,EAAC;YAAC,IAAInjB,CAAC,GAAC46B,SAAS,CAACzX,CAAC,CAAC;YAAC,IAAG,KAAK,CAAC,KAAGnjB,CAAC,IAAE,IAAI,KAAGA,CAAC,EAAC;cAACA,CAAC,GAACjzB,MAAM,CAACizB,CAAC,CAAC;cAAC,KAAI,IAAI3P,CAAC,GAACtjB,MAAM,CAACD,IAAI,CAACC,MAAM,CAACizB,CAAC,CAAC,CAAC,EAACt0B,CAAC,GAAC,CAAC,EAACqM,CAAC,GAACsY,CAAC,CAACrjB,MAAM,EAACtB,CAAC,GAACqM,CAAC,EAACrM,CAAC,EAAE,EAAC;gBAAC,IAAIgnB,CAAC,GAACrC,CAAC,CAAC3kB,CAAC,CAAC;kBAACq4D,CAAC,GAACh3D,MAAM,CAACs2C,wBAAwB,CAACrjB,CAAC,EAACtN,CAAC,CAAC;gBAAC,KAAK,CAAC,KAAGqxC,CAAC,IAAEA,CAAC,CAACzgB,UAAU,KAAG3iC,CAAC,CAAC+R,CAAC,CAAC,GAACsN,CAAC,CAACtN,CAAC,CAAC,CAAC;cAAA;YAAC;UAAC;UAAC,OAAO/R,CAAC;QAAA;MAAC,CAAC,CAAC;IAAA,CAAC,CAAC,CAAC;EAAA,CAAC,EAAC,UAASmN,CAAC,EAACnN,CAAC,EAAC;IAAC,YAAY;;IAACmN,CAAC,CAACwc,OAAO,GAAC,YAAU;MAAC,IAAIxc,CAAC,GAAC,CAAC,CAAC;MAAC,OAAOA,CAAC,CAACi2D,QAAQ,GAAC,UAASj2D,CAAC,EAAC;QAAC,IAAInN,CAAC,EAACwiC,CAAC,EAACnjB,CAAC,EAAC3P,CAAC;QAAC,KAAI1P,CAAC,GAAC,EAAE,EAACqf,CAAC,GAAClS,CAAC,CAAC9gB,MAAM,EAACm2C,CAAC,GAAC,CAAC,EAACA,CAAC,GAACnjB,CAAC,EAACmjB,CAAC,EAAE,EAAC9yB,CAAC,GAACvC,CAAC,CAACkM,UAAU,CAACmpB,CAAC,CAAC,EAAC9yB,CAAC,IAAE,CAAC,IAAEA,CAAC,IAAE,GAAG,GAAC1P,CAAC,IAAEmN,CAAC,CAACpS,MAAM,CAACynC,CAAC,CAAC,GAAC9yB,CAAC,GAAC,IAAI,IAAE1P,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,GAAG,GAAC3zD,CAAC,IAAE,EAAE,GAAC,EAAE,CAAC,EAAC1P,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,GAAG,GAAC3zD,CAAC,IAAE,CAAC,GAAC,EAAE,CAAC,EAAC1P,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,GAAG,GAAC3zD,CAAC,IAAE,CAAC,GAAC,EAAE,CAAC,KAAG1P,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,GAAG,GAAC3zD,CAAC,IAAE,CAAC,GAAC,EAAE,CAAC,EAAC1P,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,GAAG,GAAC3zD,CAAC,IAAE,CAAC,GAAC,EAAE,CAAC,CAAC;QAAC,OAAO1P,CAAC;MAAA,CAAC,EAACmN,CAAC,CAACm2D,QAAQ,GAAC,UAASn2D,CAAC,EAAC;QAAC,IAAInN,CAAC,EAACwiC,CAAC,EAACnjB,CAAC,EAAC3P,CAAC,EAAC3kB,CAAC,EAACqM,CAAC;QAAC,KAAI4I,CAAC,GAAC,EAAE,EAACqf,CAAC,GAAClS,CAAC,CAAC9gB,MAAM,EAACm2C,CAAC,GAAC,CAAC,EAACA,CAAC,GAACnjB,CAAC,GAAE,QAAO3P,CAAC,GAACvC,CAAC,CAACkM,UAAU,CAACmpB,CAAC,EAAE,CAAC,EAAC9yB,CAAC,IAAE,CAAC;UAAE,KAAK,CAAC;UAAC,KAAK,CAAC;UAAC,KAAK,CAAC;UAAC,KAAK,CAAC;UAAC,KAAK,CAAC;UAAC,KAAK,CAAC;UAAC,KAAK,CAAC;UAAC,KAAK,CAAC;YAAC1P,CAAC,IAAEmN,CAAC,CAACpS,MAAM,CAACynC,CAAC,GAAC,CAAC,CAAC;YAAC;UAAM,KAAK,EAAE;UAAC,KAAK,EAAE;YAACz3C,CAAC,GAACoiB,CAAC,CAACkM,UAAU,CAACmpB,CAAC,EAAE,CAAC,EAACxiC,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,CAAC,EAAE,GAAC3zD,CAAC,KAAG,CAAC,GAAC,EAAE,GAAC3kB,CAAC,CAAC;YAAC;UAAM,KAAK,EAAE;YAACA,CAAC,GAACoiB,CAAC,CAACkM,UAAU,CAACmpB,CAAC,EAAE,CAAC,EAACprC,CAAC,GAAC+V,CAAC,CAACkM,UAAU,CAACmpB,CAAC,EAAE,CAAC,EAACxiC,CAAC,IAAE/O,MAAM,CAACoyE,YAAY,CAAC,CAAC,EAAE,GAAC3zD,CAAC,KAAG,EAAE,GAAC,CAAC,EAAE,GAAC3kB,CAAC,KAAG,CAAC,GAAC,CAAC,EAAE,GAACqM,CAAC,KAAG,CAAC,CAAC;QAAA;QAAC,OAAO4I,CAAC;MAAA,CAAC,EAACmN,CAAC;IAAA,CAAC,CAAC,CAAC;EAAA,CAAC,EAAC,UAASA,CAAC,EAACnN,CAAC,EAACwiC,CAAC,EAAC;IAAC,YAAY;;IAACA,CAAC,CAAC,CAAC,CAAC,EAACA,CAAC,CAAC,CAAC,CAAC;IAAC,IAAInjB,CAAC,GAACmjB,CAAC,CAAC,CAAC,CAAC;MAAC9yB,CAAC,GAAC,YAAU;QAAC,SAASvC,CAACA,CAACA,CAAC,EAAC;UAAC,IAAInN,CAAC,GAAC,IAAIujE,MAAM,CAACp2D,CAAC,CAACq2D,UAAU,EAACr2D,CAAC,CAACs2D,YAAY,CAAC;UAACzjE,CAAC,CAAC0jE,OAAO,CAACv2D,CAAC,CAAC3C,IAAI,CAAC,EAACxK,CAAC,CAAC2jE,IAAI,CAAC,CAAC;UAAC,IAAInhC,CAAC,GAACtoC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;UAACqoC,CAAC,CAACohC,KAAK,GAACz2D,CAAC,CAACy2D,KAAK,EAACphC,CAAC,CAACqhC,MAAM,GAAC12D,CAAC,CAAC02D,MAAM;UAAC,IAAIxkD,CAAC,GAACmjB,CAAC,CAAC2R,UAAU,CAAC,IAAI,CAAC;YAACzkC,CAAC,GAAC,CAACvC,CAAC,CAACy2D,KAAK,GAAC,CAAC,GAACz2D,CAAC,CAAC22D,OAAO,IAAE9jE,CAAC,CAAC+jE,cAAc,CAAC,CAAC;YAACh5E,CAAC,GAAC,CAACoiB,CAAC,CAAC02D,MAAM,GAAC,CAAC,GAAC12D,CAAC,CAAC22D,OAAO,IAAE9jE,CAAC,CAAC+jE,cAAc,CAAC,CAAC;UAAC,IAAG52D,CAAC,CAAC62D,OAAO,EAAC;YAAC,IAAI5sE,CAAC,GAAC,kBAAkB;YAACioB,CAAC,CAAC4kD,SAAS,GAAC7sE,CAAC,EAAC+V,CAAC,CAAC+2D,UAAU,GAAC9sE,CAAC;UAAA,CAAC,MAAKioB,CAAC,CAAC4kD,SAAS,GAAC92D,CAAC,CAACg3D,UAAU;UAAC9kD,CAAC,CAAC+kD,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC5hC,CAAC,CAACohC,KAAK,EAACphC,CAAC,CAACqhC,MAAM,CAAC;UAAC,KAAI,IAAI9xD,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC/R,CAAC,CAAC+jE,cAAc,CAAC,CAAC,EAAChyD,CAAC,EAAE,EAAC,KAAI,IAAIqxC,CAAC,GAAC,CAAC,EAACA,CAAC,GAACpjD,CAAC,CAAC+jE,cAAc,CAAC,CAAC,EAAC3gB,CAAC,EAAE,EAAC;YAAC/jC,CAAC,CAAC4kD,SAAS,GAACjkE,CAAC,CAACqkE,MAAM,CAACtyD,CAAC,EAACqxC,CAAC,CAAC,GAACj2C,CAAC,CAAC+2D,UAAU,GAAC/2D,CAAC,CAACg3D,UAAU;YAAC,IAAI1+D,CAAC,GAACgM,IAAI,CAAC6yD,IAAI,CAAC,CAAClhB,CAAC,GAAC,CAAC,IAAE1zC,CAAC,CAAC,GAAC+B,IAAI,CAACmZ,KAAK,CAACw4B,CAAC,GAAC1zC,CAAC,CAAC;cAACg0B,CAAC,GAACjyB,IAAI,CAAC6yD,IAAI,CAAC,CAACvyD,CAAC,GAAC,CAAC,IAAErC,CAAC,CAAC,GAAC+B,IAAI,CAACmZ,KAAK,CAAC7Y,CAAC,GAACrC,CAAC,CAAC;YAAC2P,CAAC,CAAC+kD,QAAQ,CAAC3yD,IAAI,CAAC8yD,KAAK,CAACnhB,CAAC,GAAC1zC,CAAC,CAAC,GAACvC,CAAC,CAAC22D,OAAO,EAACryD,IAAI,CAAC8yD,KAAK,CAACxyD,CAAC,GAAChnB,CAAC,CAAC,GAACoiB,CAAC,CAAC22D,OAAO,EAACr+D,CAAC,EAACi+B,CAAC,CAAC;UAAA;UAAC,OAAOlB,CAAC;QAAA;QAAC,IAAIxiC,CAAC,GAAC,CAAC,CAAC;QAAC,OAAOA,CAAC,CAACwkE,WAAW,GAAC,UAASxkE,CAAC,EAACwiC,CAAC,EAAC;UAAC,QAAQ,IAAE,OAAOxiC,CAAC,KAAGA,CAAC,GAAC,EAAE,CAAC,EAAC,QAAQ,IAAE,OAAOwiC,CAAC,GAACA,CAAC,GAAC;YAACh4B,IAAI,EAACg4B;UAAC,CAAC,GAAC,QAAQ,IAAE,OAAOA,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAC,CAAC,EAACA,CAAC,GAACp2C,MAAM,CAACoN,MAAM,CAAC;YAACsqE,OAAO,EAAC,EAAE;YAACF,KAAK,EAAC,GAAG;YAACC,MAAM,EAAC,GAAG;YAACL,UAAU,EAAC,CAAC,CAAC;YAACC,YAAY,EAACgB,mBAAmB,CAACC,CAAC;YAACV,OAAO,EAAC,CAAC,CAAC;YAACG,UAAU,EAAC,SAAS;YAACD,UAAU,EAAC;UAAS,CAAC,EAAC1hC,CAAC,CAAC;UAAC,IAAG;YAACA,CAAC,CAACh4B,IAAI,GAAC6U,CAAC,CAAC+jD,QAAQ,CAACpjE,CAAC,CAAC;UAAA,CAAC,QAAMmN,CAAC,EAAC;YAACq1B,CAAC,CAACh4B,IAAI,GAAC,EAAE,GAAC2C,CAAC;UAAA;UAAC,IAAIuC,CAAC,GAACvC,CAAC,CAACq1B,CAAC,CAAC;UAAC,OAAO9yB,CAAC,CAACi1D,SAAS,CAAC,CAAC;QAAA,CAAC,EAAC3kE,CAAC,CAACykE,mBAAmB,GAACA,mBAAmB,EAACzkE,CAAC;MAAA,CAAC,CAAC,CAAC;IAAC,CAAChF,MAAM,CAACmoE,QAAQ,KAAGnoE,MAAM,CAACmoE,QAAQ,GAACzzD,CAAC,CAAC,EAACvC,CAAC,CAACwc,OAAO,GAACja,CAAC;EAAA,CAAC,EAAC,UAASvC,CAAC,EAACnN,CAAC,EAAC;IAAC,SAASwiC,CAACA,CAACr1B,CAAC,EAAC;MAAC,IAAI,CAACqO,IAAI,GAACzJ,CAAC,CAAC6yD,cAAc,EAAC,IAAI,CAAC9sE,IAAI,GAACqV,CAAC;IAAA;IAAC,SAASkS,CAACA,CAAClS,CAAC,EAACnN,CAAC,EAAC;MAAC,IAAI,CAACwjE,UAAU,GAACr2D,CAAC,EAAC,IAAI,CAAC03D,iBAAiB,GAAC7kE,CAAC,EAAC,IAAI,CAACigB,OAAO,GAAC,IAAI,EAAC,IAAI,CAAC6kD,WAAW,GAAC,CAAC,EAAC,IAAI,CAACC,SAAS,GAAC,IAAI,EAAC,IAAI,CAACC,QAAQ,GAAC,IAAInxD,KAAK,CAAD,CAAC;IAAA;IAAC,SAASnE,CAACA,CAACvC,CAAC,EAACnN,CAAC,EAAC;MAAC,IAAG,KAAK,CAAC,IAAEmN,CAAC,CAAC9gB,MAAM,EAAC,MAAM,IAAI+H,KAAK,CAAC+Y,CAAC,CAAC9gB,MAAM,GAAC,GAAG,GAAC2T,CAAC,CAAC;MAAC,KAAI,IAAIwiC,CAAC,GAAC,CAAC,EAACA,CAAC,GAACr1B,CAAC,CAAC9gB,MAAM,IAAE,CAAC,IAAE8gB,CAAC,CAACq1B,CAAC,CAAC,GAAEA,CAAC,EAAE;MAAC,IAAI,CAACigC,GAAG,GAAC,IAAI5uD,KAAK,CAAC1G,CAAC,CAAC9gB,MAAM,GAACm2C,CAAC,GAACxiC,CAAC,CAAC;MAAC,KAAI,IAAIqf,CAAC,GAAC,CAAC,EAACA,CAAC,GAAClS,CAAC,CAAC9gB,MAAM,GAACm2C,CAAC,EAACnjB,CAAC,EAAE,EAAC,IAAI,CAACojD,GAAG,CAACpjD,CAAC,CAAC,GAAClS,CAAC,CAACkS,CAAC,GAACmjB,CAAC,CAAC;IAAA;IAAC,SAASz3C,CAACA,CAACoiB,CAAC,EAACnN,CAAC,EAAC;MAAC,IAAI,CAACilE,UAAU,GAAC93D,CAAC,EAAC,IAAI,CAAC+3D,SAAS,GAACllE,CAAC;IAAA;IAAC,SAAS5I,CAACA,CAAA,EAAE;MAAC,IAAI,CAACwyB,MAAM,GAAC,IAAI/V,KAAK,CAAD,CAAC,EAAC,IAAI,CAACxnB,MAAM,GAAC,CAAC;IAAA;IAACm2C,CAAC,CAACrsC,SAAS,GAAC;MAACgvE,SAAS,EAAC,SAAAA,CAASh4D,CAAC,EAAC;QAAC,OAAO,IAAI,CAACrV,IAAI,CAACzL,MAAM;MAAA,CAAC;MAACm+B,KAAK,EAAC,SAAAA,CAASrd,CAAC,EAAC;QAAC,KAAI,IAAInN,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAAClI,IAAI,CAACzL,MAAM,EAAC2T,CAAC,EAAE,EAACmN,CAAC,CAACi4D,GAAG,CAAC,IAAI,CAACttE,IAAI,CAACuhB,UAAU,CAACrZ,CAAC,CAAC,EAAC,CAAC,CAAC;MAAA;IAAC,CAAC,EAACqf,CAAC,CAAClpB,SAAS,GAAC;MAACutE,OAAO,EAAC,SAAAA,CAASv2D,CAAC,EAAC;QAAC,IAAInN,CAAC,GAAC,IAAIwiC,CAAC,CAACr1B,CAAC,CAAC;QAAC,IAAI,CAAC63D,QAAQ,CAACjmE,IAAI,CAACiB,CAAC,CAAC,EAAC,IAAI,CAAC+kE,SAAS,GAAC,IAAI;MAAA,CAAC;MAACV,MAAM,EAAC,SAAAA,CAASl3D,CAAC,EAACnN,CAAC,EAAC;QAAC,IAAGmN,CAAC,GAAC,CAAC,IAAE,IAAI,CAAC23D,WAAW,IAAE33D,CAAC,IAAEnN,CAAC,GAAC,CAAC,IAAE,IAAI,CAAC8kE,WAAW,IAAE9kE,CAAC,EAAC,MAAM,IAAI5L,KAAK,CAAC+Y,CAAC,GAAC,GAAG,GAACnN,CAAC,CAAC;QAAC,OAAO,IAAI,CAACigB,OAAO,CAAC9S,CAAC,CAAC,CAACnN,CAAC,CAAC;MAAA,CAAC;MAAC+jE,cAAc,EAAC,SAAAA,CAAA,EAAU;QAAC,OAAO,IAAI,CAACe,WAAW;MAAA,CAAC;MAACnB,IAAI,EAAC,SAAAA,CAAA,EAAU;QAAC,IAAG,IAAI,CAACH,UAAU,GAAC,CAAC,EAAC;UAAC,IAAIr2D,CAAC,GAAC,CAAC;UAAC,KAAIA,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,EAAE,EAACA,CAAC,EAAE,EAAC;YAAC,KAAI,IAAInN,CAAC,GAACjV,CAAC,CAACs6E,WAAW,CAACl4D,CAAC,EAAC,IAAI,CAAC03D,iBAAiB,CAAC,EAACriC,CAAC,GAAC,IAAIprC,CAAC,CAAD,CAAC,EAACioB,CAAC,GAAC,CAAC,EAAC3P,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC1P,CAAC,CAAC3T,MAAM,EAACqjB,CAAC,EAAE,EAAC2P,CAAC,IAAErf,CAAC,CAAC0P,CAAC,CAAC,CAACw1D,SAAS;YAAC,KAAI,IAAIx1D,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAACs1D,QAAQ,CAAC34E,MAAM,EAACqjB,CAAC,EAAE,EAAC;cAAC,IAAIqC,CAAC,GAAC,IAAI,CAACizD,QAAQ,CAACt1D,CAAC,CAAC;cAAC8yB,CAAC,CAAC4iC,GAAG,CAACrzD,CAAC,CAACyJ,IAAI,EAAC,CAAC,CAAC,EAACgnB,CAAC,CAAC4iC,GAAG,CAACrzD,CAAC,CAACozD,SAAS,CAAC,CAAC,EAACzhC,CAAC,CAAC4hC,eAAe,CAACvzD,CAAC,CAACyJ,IAAI,EAACrO,CAAC,CAAC,CAAC,EAAC4E,CAAC,CAACyY,KAAK,CAACgY,CAAC,CAAC;YAAA;YAAC,IAAGA,CAAC,CAAC8iC,eAAe,CAAC,CAAC,IAAE,CAAC,GAACjmD,CAAC,EAAC;UAAK;UAAC,IAAI,CAACmkD,UAAU,GAACr2D,CAAC;QAAA;QAAC,IAAI,CAACo4D,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,CAACC,kBAAkB,CAAC,CAAC,CAAC;MAAA,CAAC;MAACD,QAAQ,EAAC,SAAAA,CAASp4D,CAAC,EAACnN,CAAC,EAAC;QAAC,IAAI,CAAC8kE,WAAW,GAAC,CAAC,GAAC,IAAI,CAACtB,UAAU,GAAC,EAAE,EAAC,IAAI,CAACvjD,OAAO,GAAC,IAAIpM,KAAK,CAAC,IAAI,CAACixD,WAAW,CAAC;QAAC,KAAI,IAAItiC,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAACsiC,WAAW,EAACtiC,CAAC,EAAE,EAAC;UAAC,IAAI,CAACviB,OAAO,CAACuiB,CAAC,CAAC,GAAC,IAAI3uB,KAAK,CAAC,IAAI,CAACixD,WAAW,CAAC;UAAC,KAAI,IAAIp1D,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAACo1D,WAAW,EAACp1D,CAAC,EAAE,EAAC,IAAI,CAACuQ,OAAO,CAACuiB,CAAC,CAAC,CAAC9yB,CAAC,CAAC,GAAC,IAAI;QAAA;QAAC,IAAI,CAAC+1D,yBAAyB,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,IAAI,CAACA,yBAAyB,CAAC,IAAI,CAACX,WAAW,GAAC,CAAC,EAAC,CAAC,CAAC,EAAC,IAAI,CAACW,yBAAyB,CAAC,CAAC,EAAC,IAAI,CAACX,WAAW,GAAC,CAAC,CAAC,EAAC,IAAI,CAACY,0BAA0B,CAAC,CAAC,EAAC,IAAI,CAACC,kBAAkB,CAAC,CAAC,EAAC,IAAI,CAACC,aAAa,CAACz4D,CAAC,EAACnN,CAAC,CAAC,EAAC,IAAI,CAACwjE,UAAU,IAAE,CAAC,IAAE,IAAI,CAACqC,eAAe,CAAC14D,CAAC,CAAC,EAAC,IAAI,IAAE,IAAI,CAAC43D,SAAS,KAAG,IAAI,CAACA,SAAS,GAAC1lD,CAAC,CAACymD,UAAU,CAAC,IAAI,CAACtC,UAAU,EAAC,IAAI,CAACqB,iBAAiB,EAAC,IAAI,CAACG,QAAQ,CAAC,CAAC,EAAC,IAAI,CAACe,OAAO,CAAC,IAAI,CAAChB,SAAS,EAAC/kE,CAAC,CAAC;MAAA,CAAC;MAACylE,yBAAyB,EAAC,SAAAA,CAASt4D,CAAC,EAACnN,CAAC,EAAC;QAAC,KAAI,IAAIwiC,CAAC,GAAC,CAAC,CAAC,EAACA,CAAC,IAAE,CAAC,EAACA,CAAC,EAAE,EAAC,IAAG,EAAEr1B,CAAC,GAACq1B,CAAC,IAAE,CAAC,CAAC,IAAE,IAAI,CAACsiC,WAAW,IAAE33D,CAAC,GAACq1B,CAAC,CAAC,EAAC,KAAI,IAAInjB,CAAC,GAAC,CAAC,CAAC,EAACA,CAAC,IAAE,CAAC,EAACA,CAAC,EAAE,EAACrf,CAAC,GAACqf,CAAC,IAAE,CAAC,CAAC,IAAE,IAAI,CAACylD,WAAW,IAAE9kE,CAAC,GAACqf,CAAC,KAAG,CAAC,IAAEmjB,CAAC,IAAEA,CAAC,IAAE,CAAC,KAAG,CAAC,IAAEnjB,CAAC,IAAE,CAAC,IAAEA,CAAC,CAAC,IAAE,CAAC,IAAEA,CAAC,IAAEA,CAAC,IAAE,CAAC,KAAG,CAAC,IAAEmjB,CAAC,IAAE,CAAC,IAAEA,CAAC,CAAC,IAAE,CAAC,IAAEA,CAAC,IAAEA,CAAC,IAAE,CAAC,IAAE,CAAC,IAAEnjB,CAAC,IAAEA,CAAC,IAAE,CAAC,GAAC,IAAI,CAACY,OAAO,CAAC9S,CAAC,GAACq1B,CAAC,CAAC,CAACxiC,CAAC,GAACqf,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,IAAI,CAACY,OAAO,CAAC9S,CAAC,GAACq1B,CAAC,CAAC,CAACxiC,CAAC,GAACqf,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;MAAA,CAAC;MAACmmD,kBAAkB,EAAC,SAAAA,CAAA,EAAU;QAAC,KAAI,IAAIr4D,CAAC,GAAC,CAAC,EAACnN,CAAC,GAAC,CAAC,EAACwiC,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,CAAC,EAACA,CAAC,EAAE,EAAC;UAAC,IAAI,CAAC+iC,QAAQ,CAAC,CAAC,CAAC,EAAC/iC,CAAC,CAAC;UAAC,IAAInjB,CAAC,GAACqkB,CAAC,CAACsiC,YAAY,CAAC,IAAI,CAAC;UAAC,CAAC,CAAC,IAAExjC,CAAC,IAAEr1B,CAAC,GAACkS,CAAC,MAAIlS,CAAC,GAACkS,CAAC,EAACrf,CAAC,GAACwiC,CAAC,CAAC;QAAA;QAAC,OAAOxiC,CAAC;MAAA,CAAC;MAACimE,eAAe,EAAC,SAAAA,CAAS94D,CAAC,EAACnN,CAAC,EAACwiC,CAAC,EAAC;QAAC,IAAInjB,CAAC,GAAClS,CAAC,CAAC+4D,oBAAoB,CAAClmE,CAAC,EAACwiC,CAAC,CAAC;UAAC9yB,CAAC,GAAC,CAAC;QAAC,IAAI,CAACi0D,IAAI,CAAC,CAAC;QAAC,KAAI,IAAI54E,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAACk1B,OAAO,CAAC5zB,MAAM,EAACtB,CAAC,EAAE,EAAC,KAAI,IAAIqM,CAAC,GAACrM,CAAC,GAAC2kB,CAAC,EAACqC,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAACkO,OAAO,CAACl1B,CAAC,CAAC,CAACsB,MAAM,EAAC0lB,CAAC,EAAE,EAAC;UAAC,IAAIqxC,CAAC,GAACrxC,CAAC,GAACrC,CAAC;YAACjK,CAAC,GAAC,IAAI,CAACwa,OAAO,CAACl1B,CAAC,CAAC,CAACgnB,CAAC,CAAC;UAACtM,CAAC,KAAG4Z,CAAC,CAAC8mD,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,EAAC9mD,CAAC,CAAC+mD,MAAM,CAAChjB,CAAC,EAAChsD,CAAC,CAAC,EAACioB,CAAC,CAACgnD,MAAM,CAACjjB,CAAC,GAAC1zC,CAAC,EAACtY,CAAC,CAAC,EAACioB,CAAC,CAACgnD,MAAM,CAACjjB,CAAC,GAAC1zC,CAAC,EAACtY,CAAC,GAACsY,CAAC,CAAC,EAAC2P,CAAC,CAACgnD,MAAM,CAACjjB,CAAC,EAAChsD,CAAC,GAACsY,CAAC,CAAC,EAAC2P,CAAC,CAACinD,OAAO,CAAC,CAAC,CAAC;QAAA;QAAC,OAAOjnD,CAAC;MAAA,CAAC;MAACsmD,kBAAkB,EAAC,SAAAA,CAAA,EAAU;QAAC,KAAI,IAAIx4D,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAAC23D,WAAW,GAAC,CAAC,EAAC33D,CAAC,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC8S,OAAO,CAAC9S,CAAC,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC8S,OAAO,CAAC9S,CAAC,CAAC,CAAC,CAAC,CAAC,GAACA,CAAC,GAAC,CAAC,IAAE,CAAC,CAAC;QAAC,KAAI,IAAInN,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,IAAI,CAAC8kE,WAAW,GAAC,CAAC,EAAC9kE,CAAC,EAAE,EAAC,IAAI,IAAE,IAAI,CAACigB,OAAO,CAAC,CAAC,CAAC,CAACjgB,CAAC,CAAC,KAAG,IAAI,CAACigB,OAAO,CAAC,CAAC,CAAC,CAACjgB,CAAC,CAAC,GAACA,CAAC,GAAC,CAAC,IAAE,CAAC,CAAC;MAAA,CAAC;MAAC0lE,0BAA0B,EAAC,SAAAA,CAAA,EAAU;QAAC,KAAI,IAAIv4D,CAAC,GAACu2B,CAAC,CAAC6iC,kBAAkB,CAAC,IAAI,CAAC/C,UAAU,CAAC,EAACxjE,CAAC,GAAC,CAAC,EAACA,CAAC,GAACmN,CAAC,CAAC9gB,MAAM,EAAC2T,CAAC,EAAE,EAAC,KAAI,IAAIwiC,CAAC,GAAC,CAAC,EAACA,CAAC,GAACr1B,CAAC,CAAC9gB,MAAM,EAACm2C,CAAC,EAAE,EAAC;UAAC,IAAInjB,CAAC,GAAClS,CAAC,CAACnN,CAAC,CAAC;YAAC0P,CAAC,GAACvC,CAAC,CAACq1B,CAAC,CAAC;UAAC,IAAG,IAAI,IAAE,IAAI,CAACviB,OAAO,CAACZ,CAAC,CAAC,CAAC3P,CAAC,CAAC,EAAC,KAAI,IAAI3kB,CAAC,GAAC,CAAC,CAAC,EAACA,CAAC,IAAE,CAAC,EAACA,CAAC,EAAE,EAAC,KAAI,IAAIqM,CAAC,GAAC,CAAC,CAAC,EAACA,CAAC,IAAE,CAAC,EAACA,CAAC,EAAE,EAACrM,CAAC,IAAE,CAAC,CAAC,IAAE,CAAC,IAAEA,CAAC,IAAEqM,CAAC,IAAE,CAAC,CAAC,IAAE,CAAC,IAAEA,CAAC,IAAE,CAAC,IAAErM,CAAC,IAAE,CAAC,IAAEqM,CAAC,GAAC,IAAI,CAAC6oB,OAAO,CAACZ,CAAC,GAACt0B,CAAC,CAAC,CAAC2kB,CAAC,GAACtY,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC6oB,OAAO,CAACZ,CAAC,GAACt0B,CAAC,CAAC,CAAC2kB,CAAC,GAACtY,CAAC,CAAC,GAAC,CAAC,CAAC;QAAA;MAAC,CAAC;MAACyuE,eAAe,EAAC,SAAAA,CAAS14D,CAAC,EAAC;QAAC,KAAI,IAAInN,CAAC,GAAC0jC,CAAC,CAAC8iC,gBAAgB,CAAC,IAAI,CAAChD,UAAU,CAAC,EAAChhC,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,EAAE,EAACA,CAAC,EAAE,EAAC;UAAC,IAAInjB,CAAC,GAAC,CAAClS,CAAC,IAAE,CAAC,KAAGnN,CAAC,IAAEwiC,CAAC,GAAC,CAAC,CAAC;UAAC,IAAI,CAACviB,OAAO,CAACxO,IAAI,CAACmZ,KAAK,CAAC4X,CAAC,GAAC,CAAC,CAAC,CAAC,CAACA,CAAC,GAAC,CAAC,GAAC,IAAI,CAACsiC,WAAW,GAAC,CAAC,GAAC,CAAC,CAAC,GAACzlD,CAAC;QAAA;QAAC,KAAI,IAAImjB,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,EAAE,EAACA,CAAC,EAAE,EAAC;UAAC,IAAInjB,CAAC,GAAC,CAAClS,CAAC,IAAE,CAAC,KAAGnN,CAAC,IAAEwiC,CAAC,GAAC,CAAC,CAAC;UAAC,IAAI,CAACviB,OAAO,CAACuiB,CAAC,GAAC,CAAC,GAAC,IAAI,CAACsiC,WAAW,GAAC,CAAC,GAAC,CAAC,CAAC,CAACrzD,IAAI,CAACmZ,KAAK,CAAC4X,CAAC,GAAC,CAAC,CAAC,CAAC,GAACnjB,CAAC;QAAA;MAAC,CAAC;MAACumD,aAAa,EAAC,SAAAA,CAASz4D,CAAC,EAACnN,CAAC,EAAC;QAAC,KAAI,IAAIwiC,CAAC,GAAC,IAAI,CAACqiC,iBAAiB,IAAE,CAAC,GAAC7kE,CAAC,EAACqf,CAAC,GAACqkB,CAAC,CAAC+iC,cAAc,CAACjkC,CAAC,CAAC,EAAC9yB,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,EAAE,EAACA,CAAC,EAAE,EAAC;UAAC,IAAI3kB,CAAC,GAAC,CAACoiB,CAAC,IAAE,CAAC,KAAGkS,CAAC,IAAE3P,CAAC,GAAC,CAAC,CAAC;UAACA,CAAC,GAAC,CAAC,GAAC,IAAI,CAACuQ,OAAO,CAACvQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC3kB,CAAC,GAAC2kB,CAAC,GAAC,CAAC,GAAC,IAAI,CAACuQ,OAAO,CAACvQ,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC3kB,CAAC,GAAC,IAAI,CAACk1B,OAAO,CAAC,IAAI,CAAC6kD,WAAW,GAAC,EAAE,GAACp1D,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC3kB,CAAC;QAAA;QAAC,KAAI,IAAI2kB,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,EAAE,EAACA,CAAC,EAAE,EAAC;UAAC,IAAI3kB,CAAC,GAAC,CAACoiB,CAAC,IAAE,CAAC,KAAGkS,CAAC,IAAE3P,CAAC,GAAC,CAAC,CAAC;UAACA,CAAC,GAAC,CAAC,GAAC,IAAI,CAACuQ,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC6kD,WAAW,GAACp1D,CAAC,GAAC,CAAC,CAAC,GAAC3kB,CAAC,GAAC2kB,CAAC,GAAC,CAAC,GAAC,IAAI,CAACuQ,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAACvQ,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC,GAAC3kB,CAAC,GAAC,IAAI,CAACk1B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAACvQ,CAAC,GAAC,CAAC,CAAC,GAAC3kB,CAAC;QAAA;QAAC,IAAI,CAACk1B,OAAO,CAAC,IAAI,CAAC6kD,WAAW,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC33D,CAAC;MAAA,CAAC;MAAC44D,OAAO,EAAC,SAAAA,CAAS54D,CAAC,EAACnN,CAAC,EAAC;QAAC,KAAI,IAAIwiC,CAAC,GAAC,CAAC,CAAC,EAACnjB,CAAC,GAAC,IAAI,CAACylD,WAAW,GAAC,CAAC,EAACp1D,CAAC,GAAC,CAAC,EAAC3kB,CAAC,GAAC,CAAC,EAACqM,CAAC,GAAC,IAAI,CAAC0tE,WAAW,GAAC,CAAC,EAAC1tE,CAAC,GAAC,CAAC,EAACA,CAAC,IAAE,CAAC,EAAC,KAAI,CAAC,IAAEA,CAAC,IAAEA,CAAC,EAAE,IAAG;UAAC,KAAI,IAAI2a,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,CAAC,EAACA,CAAC,EAAE,EAAC,IAAG,IAAI,IAAE,IAAI,CAACkO,OAAO,CAACZ,CAAC,CAAC,CAACjoB,CAAC,GAAC2a,CAAC,CAAC,EAAC;YAAC,IAAIqxC,CAAC,GAAC,CAAC,CAAC;YAACr4D,CAAC,GAACoiB,CAAC,CAAC9gB,MAAM,KAAG+2D,CAAC,GAAC,CAAC,KAAGj2C,CAAC,CAACpiB,CAAC,CAAC,KAAG2kB,CAAC,GAAC,CAAC,CAAC,CAAC;YAAC,IAAIjK,CAAC,GAACi+B,CAAC,CAACgjC,OAAO,CAAC1mE,CAAC,EAACqf,CAAC,EAACjoB,CAAC,GAAC2a,CAAC,CAAC;YAACtM,CAAC,KAAG29C,CAAC,GAAC,CAACA,CAAC,CAAC,EAAC,IAAI,CAACnjC,OAAO,CAACZ,CAAC,CAAC,CAACjoB,CAAC,GAAC2a,CAAC,CAAC,GAACqxC,CAAC,EAAC1zC,CAAC,EAAE,EAACA,CAAC,IAAE,CAAC,CAAC,KAAG3kB,CAAC,EAAE,EAAC2kB,CAAC,GAAC,CAAC,CAAC;UAAA;UAAC,IAAG2P,CAAC,IAAEmjB,CAAC,EAACnjB,CAAC,GAAC,CAAC,IAAE,IAAI,CAACylD,WAAW,IAAEzlD,CAAC,EAAC;YAACA,CAAC,IAAEmjB,CAAC,EAACA,CAAC,GAAC,CAACA,CAAC;YAAC;UAAK;QAAC;MAAC;IAAC,CAAC,EAACnjB,CAAC,CAACsnD,IAAI,GAAC,GAAG,EAACtnD,CAAC,CAACunD,IAAI,GAAC,EAAE,EAACvnD,CAAC,CAACymD,UAAU,GAAC,UAAS34D,CAAC,EAACnN,CAAC,EAACwiC,CAAC,EAAC;MAAC,KAAI,IAAI9yB,CAAC,GAAC3kB,CAAC,CAACs6E,WAAW,CAACl4D,CAAC,EAACnN,CAAC,CAAC,EAAC+R,CAAC,GAAC,IAAI3a,CAAC,CAAD,CAAC,EAACgsD,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC5gB,CAAC,CAACn2C,MAAM,EAAC+2D,CAAC,EAAE,EAAC;QAAC,IAAI39C,CAAC,GAAC+8B,CAAC,CAAC4gB,CAAC,CAAC;QAACrxC,CAAC,CAACqzD,GAAG,CAAC3/D,CAAC,CAAC+V,IAAI,EAAC,CAAC,CAAC,EAACzJ,CAAC,CAACqzD,GAAG,CAAC3/D,CAAC,CAAC0/D,SAAS,CAAC,CAAC,EAACzhC,CAAC,CAAC4hC,eAAe,CAAC7/D,CAAC,CAAC+V,IAAI,EAACrO,CAAC,CAAC,CAAC,EAAC1H,CAAC,CAAC+kB,KAAK,CAACzY,CAAC,CAAC;MAAA;MAAC,KAAI,IAAI8S,CAAC,GAAC,CAAC,EAACu+B,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC1zC,CAAC,CAACrjB,MAAM,EAAC+2D,CAAC,EAAE,EAACv+B,CAAC,IAAEnV,CAAC,CAAC0zC,CAAC,CAAC,CAAC8hB,SAAS;MAAC,IAAGnzD,CAAC,CAACuzD,eAAe,CAAC,CAAC,GAAC,CAAC,GAACzgD,CAAC,EAAC,MAAM,IAAIzwB,KAAK,CAAC,yBAAyB,GAAC2d,CAAC,CAACuzD,eAAe,CAAC,CAAC,GAAC,GAAG,GAAC,CAAC,GAACzgD,CAAC,GAAC,GAAG,CAAC;MAAC,KAAI9S,CAAC,CAACuzD,eAAe,CAAC,CAAC,GAAC,CAAC,IAAE,CAAC,GAACzgD,CAAC,IAAE9S,CAAC,CAACqzD,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAACrzD,CAAC,CAACuzD,eAAe,CAAC,CAAC,GAAC,CAAC,IAAE,CAAC,GAAEvzD,CAAC,CAAC80D,MAAM,CAAC,CAAC,CAAC,CAAC;MAAC,SAAO;QAAC,IAAG90D,CAAC,CAACuzD,eAAe,CAAC,CAAC,IAAE,CAAC,GAACzgD,CAAC,EAAC;QAAM,IAAG9S,CAAC,CAACqzD,GAAG,CAAC/lD,CAAC,CAACsnD,IAAI,EAAC,CAAC,CAAC,EAAC50D,CAAC,CAACuzD,eAAe,CAAC,CAAC,IAAE,CAAC,GAACzgD,CAAC,EAAC;QAAM9S,CAAC,CAACqzD,GAAG,CAAC/lD,CAAC,CAACunD,IAAI,EAAC,CAAC,CAAC;MAAA;MAAC,OAAOvnD,CAAC,CAACynD,WAAW,CAAC/0D,CAAC,EAACrC,CAAC,CAAC;IAAA,CAAC,EAAC2P,CAAC,CAACynD,WAAW,GAAC,UAAS35D,CAAC,EAACnN,CAAC,EAAC;MAAC,KAAI,IAAIwiC,CAAC,GAAC,CAAC,EAACnjB,CAAC,GAAC,CAAC,EAACt0B,CAAC,GAAC,CAAC,EAACqM,CAAC,GAAC,IAAIyc,KAAK,CAAC7T,CAAC,CAAC3T,MAAM,CAAC,EAAC0lB,CAAC,GAAC,IAAI8B,KAAK,CAAC7T,CAAC,CAAC3T,MAAM,CAAC,EAAC+2D,CAAC,GAAC,CAAC,EAACA,CAAC,GAACpjD,CAAC,CAAC3T,MAAM,EAAC+2D,CAAC,EAAE,EAAC;QAAC,IAAI39C,CAAC,GAACzF,CAAC,CAACojD,CAAC,CAAC,CAAC8hB,SAAS;UAACrgD,CAAC,GAAC7kB,CAAC,CAACojD,CAAC,CAAC,CAAC6hB,UAAU,GAACx/D,CAAC;QAAC4Z,CAAC,GAAC5N,IAAI,CAACC,GAAG,CAAC2N,CAAC,EAAC5Z,CAAC,CAAC,EAAC1a,CAAC,GAAC0mB,IAAI,CAACC,GAAG,CAAC3mB,CAAC,EAAC85B,CAAC,CAAC,EAACztB,CAAC,CAACgsD,CAAC,CAAC,GAAC,IAAIvvC,KAAK,CAACpO,CAAC,CAAC;QAAC,KAAI,IAAImrD,CAAC,GAAC,CAAC,EAACA,CAAC,GAACx5D,CAAC,CAACgsD,CAAC,CAAC,CAAC/2D,MAAM,EAACukE,CAAC,EAAE,EAACx5D,CAAC,CAACgsD,CAAC,CAAC,CAACwN,CAAC,CAAC,GAAC,GAAG,GAACzjD,CAAC,CAACyc,MAAM,CAACgnC,CAAC,GAACpuB,CAAC,CAAC;QAACA,CAAC,IAAE/8B,CAAC;QAAC,IAAIoK,CAAC,GAAC6zB,CAAC,CAACqjC,yBAAyB,CAACliD,CAAC,CAAC;UAAChT,CAAC,GAAC,IAAInC,CAAC,CAACtY,CAAC,CAACgsD,CAAC,CAAC,EAACvzC,CAAC,CAACs1D,SAAS,CAAC,CAAC,GAAC,CAAC,CAAC;UAAChvD,CAAC,GAACtE,CAAC,CAACsO,GAAG,CAACtQ,CAAC,CAAC;QAACkC,CAAC,CAACqxC,CAAC,CAAC,GAAC,IAAIvvC,KAAK,CAAChE,CAAC,CAACs1D,SAAS,CAAC,CAAC,GAAC,CAAC,CAAC;QAAC,KAAI,IAAIvU,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC7+C,CAAC,CAACqxC,CAAC,CAAC,CAAC/2D,MAAM,EAACukE,CAAC,EAAE,EAAC;UAAC,IAAIx4C,CAAC,GAACw4C,CAAC,GAACz6C,CAAC,CAACgvD,SAAS,CAAC,CAAC,GAACpzD,CAAC,CAACqxC,CAAC,CAAC,CAAC/2D,MAAM;UAAC0lB,CAAC,CAACqxC,CAAC,CAAC,CAACwN,CAAC,CAAC,GAACx4C,CAAC,IAAE,CAAC,GAACjC,CAAC,CAAC3hB,GAAG,CAAC4jB,CAAC,CAAC,GAAC,CAAC;QAAA;MAAC;MAAC,KAAI,IAAIE,CAAC,GAAC,CAAC,EAACs4C,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC5wD,CAAC,CAAC3T,MAAM,EAACukE,CAAC,EAAE,EAACt4C,CAAC,IAAEtY,CAAC,CAAC4wD,CAAC,CAAC,CAACqU,UAAU;MAAC,KAAI,IAAI+B,CAAC,GAAC,IAAInzD,KAAK,CAACyE,CAAC,CAAC,EAAC2uD,CAAC,GAAC,CAAC,EAACrW,CAAC,GAAC,CAAC,EAACA,CAAC,GAACvxC,CAAC,EAACuxC,CAAC,EAAE,EAAC,KAAI,IAAIxN,CAAC,GAAC,CAAC,EAACA,CAAC,GAACpjD,CAAC,CAAC3T,MAAM,EAAC+2D,CAAC,EAAE,EAACwN,CAAC,GAACx5D,CAAC,CAACgsD,CAAC,CAAC,CAAC/2D,MAAM,KAAG26E,CAAC,CAACC,CAAC,EAAE,CAAC,GAAC7vE,CAAC,CAACgsD,CAAC,CAAC,CAACwN,CAAC,CAAC,CAAC;MAAC,KAAI,IAAIA,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC7lE,CAAC,EAAC6lE,CAAC,EAAE,EAAC,KAAI,IAAIxN,CAAC,GAAC,CAAC,EAACA,CAAC,GAACpjD,CAAC,CAAC3T,MAAM,EAAC+2D,CAAC,EAAE,EAACwN,CAAC,GAAC7+C,CAAC,CAACqxC,CAAC,CAAC,CAAC/2D,MAAM,KAAG26E,CAAC,CAACC,CAAC,EAAE,CAAC,GAACl1D,CAAC,CAACqxC,CAAC,CAAC,CAACwN,CAAC,CAAC,CAAC;MAAC,OAAOoW,CAAC;IAAA,CAAC;IAAC,KAAI,IAAIj1D,CAAC,GAAC;QAACm1D,WAAW,EAAC,CAAC;QAACC,cAAc,EAAC,CAAC;QAACvC,cAAc,EAAC,CAAC;QAACwC,UAAU,EAAC;MAAC,CAAC,EAAChkB,CAAC,GAAC;QAACikB,CAAC,EAAC,CAAC;QAACC,CAAC,EAAC,CAAC;QAACC,CAAC,EAAC,CAAC;QAAC7C,CAAC,EAAC;MAAC,CAAC,EAACj/D,CAAC,GAAC;QAAC+hE,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC,CAAC;QAACC,UAAU,EAAC;MAAC,CAAC,EAACrkC,CAAC,GAAC;QAACskC,sBAAsB,EAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC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EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,EAAC39E,CAAC,CAACs6E,WAAW,GAAC,UAASl4D,CAAC,EAACnN,CAAC,EAAC;MAAC,IAAIwiC,CAAC,GAACz3C,CAAC,CAAC49E,eAAe,CAACx7D,CAAC,EAACnN,CAAC,CAAC;MAAC,IAAG,KAAK,CAAC,IAAEwiC,CAAC,EAAC,MAAM,IAAIpuC,KAAK,CAAC,4BAA4B,GAAC+Y,CAAC,GAAC,qBAAqB,GAACnN,CAAC,CAAC;MAAC,KAAI,IAAIqf,CAAC,GAACmjB,CAAC,CAACn2C,MAAM,GAAC,CAAC,EAACqjB,CAAC,GAAC,IAAImE,KAAK,CAAD,CAAC,EAACzc,CAAC,GAAC,CAAC,EAACA,CAAC,GAACioB,CAAC,EAACjoB,CAAC,EAAE,EAAC,KAAI,IAAI2a,CAAC,GAACywB,CAAC,CAAC,CAAC,GAACprC,CAAC,GAAC,CAAC,CAAC,EAACgsD,CAAC,GAAC5gB,CAAC,CAAC,CAAC,GAACprC,CAAC,GAAC,CAAC,CAAC,EAACqO,CAAC,GAAC+8B,CAAC,CAAC,CAAC,GAACprC,CAAC,GAAC,CAAC,CAAC,EAACssC,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC3xB,CAAC,EAAC2xB,CAAC,EAAE,EAACh0B,CAAC,CAAC3Q,IAAI,CAAC,IAAIhU,CAAC,CAACq4D,CAAC,EAAC39C,CAAC,CAAC,CAAC;MAAC,OAAOiK,CAAC;IAAA,CAAC,EAAC3kB,CAAC,CAAC49E,eAAe,GAAC,UAASx7D,CAAC,EAACnN,CAAC,EAAC;MAAC,QAAOA,CAAC;QAAE,KAAKojD,CAAC,CAACikB,CAAC;UAAC,OAAOt8E,CAAC,CAAC29E,cAAc,CAAC,CAAC,IAAEv7D,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;QAAC,KAAKi2C,CAAC,CAACkkB,CAAC;UAAC,OAAOv8E,CAAC,CAAC29E,cAAc,CAAC,CAAC,IAAEv7D,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;QAAC,KAAKi2C,CAAC,CAACmkB,CAAC;UAAC,OAAOx8E,CAAC,CAAC29E,cAAc,CAAC,CAAC,IAAEv7D,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;QAAC,KAAKi2C,CAAC,CAACshB,CAAC;UAAC,OAAO35E,CAAC,CAAC29E,cAAc,CAAC,CAAC,IAAEv7D,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;QAAC;UAAQ;MAAM;IAAC,CAAC,EAAC/V,CAAC,CAACjB,SAAS,GAAC;MAAC3B,GAAG,EAAC,SAAAA,CAAS2Y,CAAC,EAAC;QAAC,IAAInN,CAAC,GAACyR,IAAI,CAACmZ,KAAK,CAACzd,CAAC,GAAC,CAAC,CAAC;QAAC,OAAO,CAAC,KAAG,IAAI,CAACyc,MAAM,CAAC5pB,CAAC,CAAC,KAAG,CAAC,GAACmN,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC;MAAA,CAAC;MAACi4D,GAAG,EAAC,SAAAA,CAASj4D,CAAC,EAACnN,CAAC,EAAC;QAAC,KAAI,IAAIwiC,CAAC,GAAC,CAAC,EAACA,CAAC,GAACxiC,CAAC,EAACwiC,CAAC,EAAE,EAAC,IAAI,CAACqkC,MAAM,CAAC,CAAC,KAAG15D,CAAC,KAAGnN,CAAC,GAACwiC,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC,CAAC;MAAA,CAAC;MAAC8iC,eAAe,EAAC,SAAAA,CAAA,EAAU;QAAC,OAAO,IAAI,CAACj5E,MAAM;MAAA,CAAC;MAACw6E,MAAM,EAAC,SAAAA,CAAS15D,CAAC,EAAC;QAAC,IAAInN,CAAC,GAACyR,IAAI,CAACmZ,KAAK,CAAC,IAAI,CAACv+B,MAAM,GAAC,CAAC,CAAC;QAAC,IAAI,CAACu9B,MAAM,CAACv9B,MAAM,IAAE2T,CAAC,IAAE,IAAI,CAAC4pB,MAAM,CAAC7qB,IAAI,CAAC,CAAC,CAAC,EAACoO,CAAC,KAAG,IAAI,CAACyc,MAAM,CAAC5pB,CAAC,CAAC,IAAE,GAAG,KAAG,IAAI,CAAC3T,MAAM,GAAC,CAAC,CAAC,EAAC,IAAI,CAACA,MAAM,EAAE;MAAA;IAAC,CAAC,EAAC2O,MAAM,CAACuoE,MAAM,GAAClkD,CAAC,EAACrkB,MAAM,CAACypE,mBAAmB,GAACrhB,CAAC;IAAC,IAAG;MAACj2C,CAAC,CAACwc,OAAO,GAAC;QAAC45C,MAAM,EAAClkD,CAAC;QAAColD,mBAAmB,EAACrhB;MAAC,CAAC;IAAA,CAAC,QAAMj2C,CAAC,EAAC,CAAC;EAAC,CAAC,CAAC,CAAC;AAAA,CAAC,CAAC;;;;;;;;;;;;;;;;;ACAvogB;;AAAA;AAAA;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS07D,eAAeA,CAACC,QAAQ,EAAEr0E,MAAM,EAAEgmE,OAAO,EAAE;EAClD,IAAI9pE,0DAAK,CAAC2B,QAAQ,CAACw2E,QAAQ,CAAC,EAAE;IAC5B,IAAI;MACF,CAACr0E,MAAM,IAAIo3B,IAAI,CAACC,KAAK,EAAEg9C,QAAQ,CAAC;MAChC,OAAOn4E,0DAAK,CAACO,IAAI,CAAC43E,QAAQ,CAAC;IAC7B,CAAC,CAAC,OAAO9oE,CAAC,EAAE;MACV,IAAIA,CAAC,CAACzE,IAAI,KAAK,aAAa,EAAE;QAC5B,MAAMyE,CAAC;MACT;IACF;EACF;EAEA,OAAO,CAACy6D,OAAO,IAAI5uC,IAAI,CAACM,SAAS,EAAE28C,QAAQ,CAAC;AAC9C;AAEA,MAAMv7C,QAAQ,GAAG;EAEfpiC,YAAY,EAAEoU,iEAAoB;EAElChH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;EAExBP,gBAAgB,EAAE,CAAC,SAASA,gBAAgBA,CAACF,IAAI,EAAEpE,OAAO,EAAE;IAC1D,MAAM8N,WAAW,GAAG9N,OAAO,CAACiO,cAAc,CAAC,CAAC,IAAI,EAAE;IAClD,MAAMonE,kBAAkB,GAAGvnE,WAAW,CAACjP,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvE,MAAMy2E,eAAe,GAAGr4E,0DAAK,CAAC2L,QAAQ,CAACxE,IAAI,CAAC;IAE5C,IAAIkxE,eAAe,IAAIr4E,0DAAK,CAAC49B,UAAU,CAACz2B,IAAI,CAAC,EAAE;MAC7CA,IAAI,GAAG,IAAI60B,QAAQ,CAAC70B,IAAI,CAAC;IAC3B;IAEA,MAAMyE,UAAU,GAAG5L,0DAAK,CAAC4L,UAAU,CAACzE,IAAI,CAAC;IAEzC,IAAIyE,UAAU,EAAE;MACd,OAAOwsE,kBAAkB,GAAGl9C,IAAI,CAACM,SAAS,CAACvwB,+EAAc,CAAC9D,IAAI,CAAC,CAAC,GAAGA,IAAI;IACzE;IAEA,IAAInH,0DAAK,CAACsqE,aAAa,CAACnjE,IAAI,CAAC,IAC3BnH,0DAAK,CAACqqE,QAAQ,CAACljE,IAAI,CAAC,IACpBnH,0DAAK,CAAC8qE,QAAQ,CAAC3jE,IAAI,CAAC,IACpBnH,0DAAK,CAAC2qE,MAAM,CAACxjE,IAAI,CAAC,IAClBnH,0DAAK,CAAC4qE,MAAM,CAACzjE,IAAI,CAAC,EAClB;MACA,OAAOA,IAAI;IACb;IACA,IAAInH,0DAAK,CAACuqE,iBAAiB,CAACpjE,IAAI,CAAC,EAAE;MACjC,OAAOA,IAAI,CAAC8xB,MAAM;IACpB;IACA,IAAIj5B,0DAAK,CAACirE,iBAAiB,CAAC9jE,IAAI,CAAC,EAAE;MACjCpE,OAAO,CAACgO,cAAc,CAAC,iDAAiD,EAAE,KAAK,CAAC;MAChF,OAAO5J,IAAI,CAACpC,QAAQ,CAAC,CAAC;IACxB;IAEA,IAAI8lE,UAAU;IAEd,IAAIwN,eAAe,EAAE;MACnB,IAAIxnE,WAAW,CAACjP,OAAO,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,EAAE;QACjE,OAAOq2E,iFAAgB,CAAC9wE,IAAI,EAAE,IAAI,CAACmxE,cAAc,CAAC,CAACvzE,QAAQ,CAAC,CAAC;MAC/D;MAEA,IAAI,CAAC8lE,UAAU,GAAG7qE,0DAAK,CAAC6qE,UAAU,CAAC1jE,IAAI,CAAC,KAAK0J,WAAW,CAACjP,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE;QAC5F,MAAM22E,SAAS,GAAG,IAAI,CAAClgE,GAAG,IAAI,IAAI,CAACA,GAAG,CAAC2jB,QAAQ;QAE/C,OAAOe,2EAAU,CACf8tC,UAAU,GAAG;UAAC,SAAS,EAAE1jE;QAAI,CAAC,GAAGA,IAAI,EACrCoxE,SAAS,IAAI,IAAIA,SAAS,CAAC,CAAC,EAC5B,IAAI,CAACD,cACP,CAAC;MACH;IACF;IAEA,IAAID,eAAe,IAAID,kBAAkB,EAAG;MAC1Cr1E,OAAO,CAACgO,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC;MACjD,OAAOmnE,eAAe,CAAC/wE,IAAI,CAAC;IAC9B;IAEA,OAAOA,IAAI;EACb,CAAC,CAAC;EAEFG,iBAAiB,EAAE,CAAC,SAASA,iBAAiBA,CAACH,IAAI,EAAE;IACnD,MAAM3M,YAAY,GAAG,IAAI,CAACA,YAAY,IAAIoiC,QAAQ,CAACpiC,YAAY;IAC/D,MAAMkiC,iBAAiB,GAAGliC,YAAY,IAAIA,YAAY,CAACkiC,iBAAiB;IACxE,MAAM87C,aAAa,GAAG,IAAI,CAAC3wE,YAAY,KAAK,MAAM;IAElD,IAAIV,IAAI,IAAInH,0DAAK,CAAC2B,QAAQ,CAACwF,IAAI,CAAC,KAAMu1B,iBAAiB,IAAI,CAAC,IAAI,CAAC70B,YAAY,IAAK2wE,aAAa,CAAC,EAAE;MAChG,MAAM/7C,iBAAiB,GAAGjiC,YAAY,IAAIA,YAAY,CAACiiC,iBAAiB;MACxE,MAAMg8C,iBAAiB,GAAG,CAACh8C,iBAAiB,IAAI+7C,aAAa;MAE7D,IAAI;QACF,OAAOt9C,IAAI,CAACC,KAAK,CAACh0B,IAAI,CAAC;MACzB,CAAC,CAAC,OAAOkI,CAAC,EAAE;QACV,IAAIopE,iBAAiB,EAAE;UACrB,IAAIppE,CAAC,CAACzE,IAAI,KAAK,aAAa,EAAE;YAC5B,MAAM5Q,oEAAU,CAACiL,IAAI,CAACoK,CAAC,EAAErV,oEAAU,CAAC0zE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC1hE,QAAQ,CAAC;UAClF;UACA,MAAMqD,CAAC;QACT;MACF;IACF;IAEA,OAAOlI,IAAI;EACb,CAAC,CAAC;EAEF;AACF;AACA;AACA;EACEK,OAAO,EAAE,CAAC;EAEVM,cAAc,EAAE,YAAY;EAC5BC,cAAc,EAAE,cAAc;EAE9BI,gBAAgB,EAAE,CAAC,CAAC;EACpBC,aAAa,EAAE,CAAC,CAAC;EAEjBiQ,GAAG,EAAE;IACH2jB,QAAQ,EAAEhzB,mEAAQ,CAACkzB,OAAO,CAACF,QAAQ;IACnC5B,IAAI,EAAEpxB,mEAAQ,CAACkzB,OAAO,CAAC9B;EACzB,CAAC;EAEDxxB,cAAc,EAAE,SAASA,cAAcA,CAAC8D,MAAM,EAAE;IAC9C,OAAOA,MAAM,IAAI,GAAG,IAAIA,MAAM,GAAG,GAAG;EACtC,CAAC;EAED3J,OAAO,EAAE;IACP21E,MAAM,EAAE;MACN,QAAQ,EAAE,mCAAmC;MAC7C,cAAc,EAAE98E;IAClB;EACF;AACF,CAAC;AAEDoE,0DAAK,CAAC9F,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAGgN,MAAM,IAAK;EAC3E01B,QAAQ,CAAC75B,OAAO,CAACmE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,sDAAe01B,QAAQ;;;;;;;;AC3JV;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS7tB,WAAWA,CAAC4pE,YAAY,EAAExkB,GAAG,EAAE;EACtCwkB,YAAY,GAAGA,YAAY,IAAI,EAAE;EACjC,MAAM9oE,KAAK,GAAG,IAAIqT,KAAK,CAACy1D,YAAY,CAAC;EACrC,MAAMC,UAAU,GAAG,IAAI11D,KAAK,CAACy1D,YAAY,CAAC;EAC1C,IAAIE,IAAI,GAAG,CAAC;EACZ,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,aAAa;EAEjB5kB,GAAG,GAAGA,GAAG,KAAKv4D,SAAS,GAAGu4D,GAAG,GAAG,IAAI;EAEpC,OAAO,SAAS/lD,IAAIA,CAAC4qE,WAAW,EAAE;IAChC,MAAMjxD,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IAEtB,MAAMkxD,SAAS,GAAGL,UAAU,CAACE,IAAI,CAAC;IAElC,IAAI,CAACC,aAAa,EAAE;MAClBA,aAAa,GAAGhxD,GAAG;IACrB;IAEAlY,KAAK,CAACgpE,IAAI,CAAC,GAAGG,WAAW;IACzBJ,UAAU,CAACC,IAAI,CAAC,GAAG9wD,GAAG;IAEtB,IAAI3tB,CAAC,GAAG0+E,IAAI;IACZ,IAAII,UAAU,GAAG,CAAC;IAElB,OAAO9+E,CAAC,KAAKy+E,IAAI,EAAE;MACjBK,UAAU,IAAIrpE,KAAK,CAACzV,CAAC,EAAE,CAAC;MACxBA,CAAC,GAAGA,CAAC,GAAGu+E,YAAY;IACtB;IAEAE,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAIF,YAAY;IAEhC,IAAIE,IAAI,KAAKC,IAAI,EAAE;MACjBA,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAIH,YAAY;IAClC;IAEA,IAAI5wD,GAAG,GAAGgxD,aAAa,GAAG5kB,GAAG,EAAE;MAC7B;IACF;IAEA,MAAMglB,MAAM,GAAGF,SAAS,IAAIlxD,GAAG,GAAGkxD,SAAS;IAE3C,OAAOE,MAAM,GAAGr4D,IAAI,CAAC8yD,KAAK,CAACsF,UAAU,GAAG,IAAI,GAAGC,MAAM,CAAC,GAAGv9E,SAAS;EACpE,CAAC;AACH;AAEA,sDAAemT,WAAW;;;;;;;;ACtDb;AACb,oBAAoB,mBAAO,CAAC,IAA8B;;AAE1D;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,WAAW,mBAAO,CAAC,IAAoB;AACvC,UAAU,+BAAuC;AACjD,WAAW,mBAAO,CAAC,GAAuB;AAC1C,mBAAmB,mBAAO,CAAC,IAA6B;AACxD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACrBO,MAAMhV,OAAO,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9B;AACA;AACA;AACA;AACA;AAC2M;AAE3M,SAASmB,IAAIA,CAAC88B,GAAG,EAAE,GAAGlb,IAAI,EAAE;EAC1B7hB,OAAO,CAACC,IAAI,CAAC,cAAc88B,GAAG,EAAE,EAAE,GAAGlb,IAAI,CAAC;AAC5C;AAEA,IAAIs8D,iBAAiB;AACrB,MAAMh6C,WAAW,CAAC;EAChBt8B,WAAWA,CAACu2E,QAAQ,GAAG,KAAK,EAAE;IAC5B,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB;AACJ;AACA;IACI,IAAI,CAACC,OAAO,GAAG,IAAI;IACnB;AACJ;AACA;IACI,IAAI,CAAC/0D,OAAO,GAAG,EAAE;IACjB;AACJ;AACA;IACI,IAAI,CAACg1D,QAAQ,GAAG,EAAE;IAClB,IAAI,CAACC,SAAS,GAAG,KAAK;IACtB,IAAI,CAACzgE,MAAM,GAAGqgE,iBAAiB;IAC/B,IAAI,CAACC,QAAQ,IAAID,iBAAiB,EAAE;MAClC,IAAI,CAAC/tE,KAAK,GAAG,CAAC+tE,iBAAiB,CAACK,MAAM,KAAKL,iBAAiB,CAACK,MAAM,GAAG,EAAE,CAAC,EAAErrE,IAAI,CAC7E,IACF,CAAC,GAAG,CAAC;IACP;EACF;EACA,IAAIsrE,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACJ,OAAO;EACrB;EACA3hB,KAAKA,CAAA,EAAG;IACN,IAAI,IAAI,CAAC2hB,OAAO,EAAE;MAChB,IAAI,CAACE,SAAS,GAAG,IAAI;MACrB,IAAIp/E,CAAC,EAAE85B,CAAC;MACR,IAAI,IAAI,CAACulD,MAAM,EAAE;QACf,KAAKr/E,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAACulD,MAAM,CAAC/9E,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;UAC9C,IAAI,CAACq/E,MAAM,CAACr/E,CAAC,CAAC,CAACu9D,KAAK,CAAC,CAAC;QACxB;MACF;MACA,KAAKv9D,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAAC3P,OAAO,CAAC7oB,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;QAC/C,IAAI,CAACmqB,OAAO,CAACnqB,CAAC,CAAC,CAACu9D,KAAK,CAAC,CAAC;MACzB;IACF;EACF;EACA;AACF;AACA;EACED,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAAC4hB,OAAO,EAAE;MAChB,IAAI,IAAI,CAACE,SAAS,EAAE;QAClB,IAAI,CAACA,SAAS,GAAG,KAAK;QACtB,IAAIp/E,CAAC,EAAE85B,CAAC;QACR,IAAI,IAAI,CAACulD,MAAM,EAAE;UACf,KAAKr/E,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAACulD,MAAM,CAAC/9E,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;YAC9C,IAAI,CAACq/E,MAAM,CAACr/E,CAAC,CAAC,CAACs9D,MAAM,CAAC,CAAC;UACzB;QACF;QACA,KAAKt9D,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAAC3P,OAAO,CAAC7oB,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;UAC/C,IAAI,CAACmqB,OAAO,CAACnqB,CAAC,CAAC,CAACs9D,MAAM,CAAC,CAAC;QAC1B;MACF;IACF;EACF;EACAzE,GAAGA,CAACr+C,EAAE,EAAE;IACN,IAAI,IAAI,CAAC0kE,OAAO,EAAE;MAChB,MAAMK,kBAAkB,GAAGP,iBAAiB;MAC5C,IAAI;QACFA,iBAAiB,GAAG,IAAI;QACxB,OAAOxkE,EAAE,CAAC,CAAC;MACb,CAAC,SAAS;QACRwkE,iBAAiB,GAAGO,kBAAkB;MACxC;IACF,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;EACH;EACA;AACF;AACA;AACA;EACEl+C,EAAEA,CAAA,EAAG;IACH29C,iBAAiB,GAAG,IAAI;EAC1B;EACA;AACF;AACA;AACA;EACEpmB,GAAGA,CAAA,EAAG;IACJomB,iBAAiB,GAAG,IAAI,CAACrgE,MAAM;EACjC;EACAgc,IAAIA,CAAC6kD,UAAU,EAAE;IACf,IAAI,IAAI,CAACN,OAAO,EAAE;MAChB,IAAI,CAACA,OAAO,GAAG,KAAK;MACpB,IAAIl/E,CAAC,EAAE85B,CAAC;MACR,KAAK95B,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAAC3P,OAAO,CAAC7oB,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;QAC/C,IAAI,CAACmqB,OAAO,CAACnqB,CAAC,CAAC,CAAC26B,IAAI,CAAC,CAAC;MACxB;MACA,IAAI,CAACxQ,OAAO,CAAC7oB,MAAM,GAAG,CAAC;MACvB,KAAKtB,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAACqlD,QAAQ,CAAC79E,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;QAChD,IAAI,CAACm/E,QAAQ,CAACn/E,CAAC,CAAC,CAAC,CAAC;MACpB;MACA,IAAI,CAACm/E,QAAQ,CAAC79E,MAAM,GAAG,CAAC;MACxB,IAAI,IAAI,CAAC+9E,MAAM,EAAE;QACf,KAAKr/E,CAAC,GAAG,CAAC,EAAE85B,CAAC,GAAG,IAAI,CAACulD,MAAM,CAAC/9E,MAAM,EAAEtB,CAAC,GAAG85B,CAAC,EAAE95B,CAAC,EAAE,EAAE;UAC9C,IAAI,CAACq/E,MAAM,CAACr/E,CAAC,CAAC,CAAC26B,IAAI,CAAC,IAAI,CAAC;QAC3B;QACA,IAAI,CAAC0kD,MAAM,CAAC/9E,MAAM,GAAG,CAAC;MACxB;MACA,IAAI,CAAC,IAAI,CAAC29E,QAAQ,IAAI,IAAI,CAACtgE,MAAM,IAAI,CAAC6gE,UAAU,EAAE;QAChD,MAAMn3C,IAAI,GAAG,IAAI,CAAC1pB,MAAM,CAAC0gE,MAAM,CAAC/3C,GAAG,CAAC,CAAC;QACrC,IAAIe,IAAI,IAAIA,IAAI,KAAK,IAAI,EAAE;UACzB,IAAI,CAAC1pB,MAAM,CAAC0gE,MAAM,CAAC,IAAI,CAACpuE,KAAK,CAAC,GAAGo3B,IAAI;UACrCA,IAAI,CAACp3B,KAAK,GAAG,IAAI,CAACA,KAAK;QACzB;MACF;MACA,IAAI,CAAC0N,MAAM,GAAG,KAAK,CAAC;IACtB;EACF;AACF;AACA,SAAS2mB,WAAWA,CAAC25C,QAAQ,EAAE;EAC7B,OAAO,IAAIj6C,WAAW,CAACi6C,QAAQ,CAAC;AAClC;AACA,SAAS15C,eAAeA,CAAA,EAAG;EACzB,OAAOy5C,iBAAiB;AAC1B;AACA,SAASv5C,cAAcA,CAACjrB,EAAE,EAAEilE,YAAY,GAAG,KAAK,EAAE;EAChD,IAAIT,iBAAiB,EAAE;IACrBA,iBAAiB,CAACG,QAAQ,CAACnrE,IAAI,CAACwG,EAAE,CAAC;EACrC,CAAC,MAAM,IAAI,KAA0D,EAAE,EAItE;AACH;AAEA,IAAIklE,SAAS;AACb,MAAMC,WAAW,GAAG;EAClB,QAAQ,EAAE,CAAC;EACX,GAAG,EAAE,QAAQ;EACb,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,UAAU,EAAE,CAAC;EACb,GAAG,EAAE,UAAU;EACf,UAAU,EAAE,CAAC;EACb,GAAG,EAAE,UAAU;EACf,OAAO,EAAE,EAAE;EACX,IAAI,EAAE,OAAO;EACb,eAAe,EAAE,EAAE;EACnB,IAAI,EAAE,eAAe;EACrB,QAAQ,EAAE,EAAE;EACZ,IAAI,EAAE;AACR,CAAC;AACD,MAAMC,kBAAkB,GAAG,eAAgB,IAAIxvD,OAAO,CAAC,CAAC;AACxD,MAAMsU,cAAc,CAAC;EACnBh8B,WAAWA,CAAC8R,EAAE,EAAE;IACd,IAAI,CAACA,EAAE,GAAGA,EAAE;IACZ;AACJ;AACA;IACI,IAAI,CAACshD,IAAI,GAAG,KAAK,CAAC;IAClB;AACJ;AACA;IACI,IAAI,CAAC+jB,QAAQ,GAAG,KAAK,CAAC;IACtB;AACJ;AACA;IACI,IAAI,CAACl1C,KAAK,GAAG,CAAC,GAAG,CAAC;IAClB;AACJ;AACA;IACI,IAAI,CAAC/f,IAAI,GAAG,KAAK,CAAC;IAClB;AACJ;AACA;IACI,IAAI,CAACk1D,OAAO,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC/mB,SAAS,GAAG,KAAK,CAAC;IACvB,IAAIimB,iBAAiB,IAAIA,iBAAiB,CAACM,MAAM,EAAE;MACjDN,iBAAiB,CAAC70D,OAAO,CAACnW,IAAI,CAAC,IAAI,CAAC;IACtC;EACF;EACAupD,KAAKA,CAAA,EAAG;IACN,IAAI,CAAC5yB,KAAK,IAAI,EAAE;EAClB;EACA2yB,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAAC3yB,KAAK,GAAG,EAAE,EAAE;MACnB,IAAI,CAACA,KAAK,IAAI,CAAC,EAAE;MACjB,IAAIi1C,kBAAkB,CAACh2E,GAAG,CAAC,IAAI,CAAC,EAAE;QAChCg2E,kBAAkB,CAAC91E,MAAM,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC26B,OAAO,CAAC,CAAC;MAChB;IACF;EACF;EACA;AACF;AACA;EACEs7C,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACp1C,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,CAACA,KAAK,GAAG,EAAE,CAAC,EAAE;MACxC;IACF;IACA,IAAI,EAAE,IAAI,CAACA,KAAK,GAAG,CAAC,CAAC,EAAE;MACrBq1C,KAAK,CAAC,IAAI,CAAC;IACb;EACF;EACAnnB,GAAGA,CAAA,EAAG;IACJ,IAAI,EAAE,IAAI,CAACluB,KAAK,GAAG,CAAC,CAAC,EAAE;MACrB,OAAO,IAAI,CAACnwB,EAAE,CAAC,CAAC;IAClB;IACA,IAAI,CAACmwB,KAAK,IAAI,CAAC;IACfs1C,aAAa,CAAC,IAAI,CAAC;IACnBC,WAAW,CAAC,IAAI,CAAC;IACjB,MAAMC,UAAU,GAAGT,SAAS;IAC5B,MAAMU,eAAe,GAAGC,WAAW;IACnCX,SAAS,GAAG,IAAI;IAChBW,WAAW,GAAG,IAAI;IAClB,IAAI;MACF,OAAO,IAAI,CAAC7lE,EAAE,CAAC,CAAC;IAClB,CAAC,SAAS;MACR,IAAI,KAA+D,EAAE,EAIpE;MACD8lE,WAAW,CAAC,IAAI,CAAC;MACjBZ,SAAS,GAAGS,UAAU;MACtBE,WAAW,GAAGD,eAAe;MAC7B,IAAI,CAACz1C,KAAK,IAAI,CAAC,CAAC;IAClB;EACF;EACAhQ,IAAIA,CAAA,EAAG;IACL,IAAI,IAAI,CAACgQ,KAAK,GAAG,CAAC,EAAE;MAClB,KAAK,IAAI41C,IAAI,GAAG,IAAI,CAACzkB,IAAI,EAAEykB,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACC,OAAO,EAAE;QACpDC,SAAS,CAACF,IAAI,CAAC;MACjB;MACA,IAAI,CAACzkB,IAAI,GAAG,IAAI,CAAC+jB,QAAQ,GAAG,KAAK,CAAC;MAClCI,aAAa,CAAC,IAAI,CAAC;MACnB,IAAI,CAACS,MAAM,IAAI,IAAI,CAACA,MAAM,CAAC,CAAC;MAC5B,IAAI,CAAC/1C,KAAK,IAAI,CAAC,CAAC;IAClB;EACF;EACAlG,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACkG,KAAK,GAAG,EAAE,EAAE;MACnBi1C,kBAAkB,CAAC56D,GAAG,CAAC,IAAI,CAAC;IAC9B,CAAC,MAAM,IAAI,IAAI,CAAC+zC,SAAS,EAAE;MACzB,IAAI,CAACA,SAAS,CAAC,CAAC;IAClB,CAAC,MAAM;MACL,IAAI,CAACD,UAAU,CAAC,CAAC;IACnB;EACF;EACA;AACF;AACA;EACEA,UAAUA,CAAA,EAAG;IACX,IAAI6nB,OAAO,CAAC,IAAI,CAAC,EAAE;MACjB,IAAI,CAAC9nB,GAAG,CAAC,CAAC;IACZ;EACF;EACA,IAAI+nB,KAAKA,CAAA,EAAG;IACV,OAAOD,OAAO,CAAC,IAAI,CAAC;EACtB;AACF;AACA,IAAIE,UAAU,GAAG,CAAC;AAClB,IAAIC,UAAU;AACd,IAAIC,eAAe;AACnB,SAASf,KAAKA,CAACgB,GAAG,EAAEC,UAAU,GAAG,KAAK,EAAE;EACtCD,GAAG,CAACr2C,KAAK,IAAI,CAAC;EACd,IAAIs2C,UAAU,EAAE;IACdD,GAAG,CAACp2D,IAAI,GAAGm2D,eAAe;IAC1BA,eAAe,GAAGC,GAAG;IACrB;EACF;EACAA,GAAG,CAACp2D,IAAI,GAAGk2D,UAAU;EACrBA,UAAU,GAAGE,GAAG;AAClB;AACA,SAASE,UAAUA,CAAA,EAAG;EACpBL,UAAU,EAAE;AACd;AACA,SAASM,QAAQA,CAAA,EAAG;EAClB,IAAI,EAAEN,UAAU,GAAG,CAAC,EAAE;IACpB;EACF;EACA,IAAIE,eAAe,EAAE;IACnB,IAAI9rE,CAAC,GAAG8rE,eAAe;IACvBA,eAAe,GAAG,KAAK,CAAC;IACxB,OAAO9rE,CAAC,EAAE;MACR,MAAM2V,IAAI,GAAG3V,CAAC,CAAC2V,IAAI;MACnB3V,CAAC,CAAC2V,IAAI,GAAG,KAAK,CAAC;MACf3V,CAAC,CAAC01B,KAAK,IAAI,CAAC,CAAC;MACb11B,CAAC,GAAG2V,IAAI;IACV;EACF;EACA,IAAInY,KAAK;EACT,OAAOquE,UAAU,EAAE;IACjB,IAAI7rE,CAAC,GAAG6rE,UAAU;IAClBA,UAAU,GAAG,KAAK,CAAC;IACnB,OAAO7rE,CAAC,EAAE;MACR,MAAM2V,IAAI,GAAG3V,CAAC,CAAC2V,IAAI;MACnB3V,CAAC,CAAC2V,IAAI,GAAG,KAAK,CAAC;MACf3V,CAAC,CAAC01B,KAAK,IAAI,CAAC,CAAC;MACb,IAAI11B,CAAC,CAAC01B,KAAK,GAAG,CAAC,EAAE;QACf,IAAI;UACF;UACA11B,CAAC,CAACwvB,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,OAAOxsB,GAAG,EAAE;UACZ,IAAI,CAACxF,KAAK,EAAEA,KAAK,GAAGwF,GAAG;QACzB;MACF;MACAhD,CAAC,GAAG2V,IAAI;IACV;EACF;EACA,IAAInY,KAAK,EAAE,MAAMA,KAAK;AACxB;AACA,SAASytE,WAAWA,CAACc,GAAG,EAAE;EACxB,KAAK,IAAIT,IAAI,GAAGS,GAAG,CAACllB,IAAI,EAAEykB,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACC,OAAO,EAAE;IACnDD,IAAI,CAAClgF,OAAO,GAAG,CAAC,CAAC;IACjBkgF,IAAI,CAACa,cAAc,GAAGb,IAAI,CAACc,GAAG,CAACC,UAAU;IACzCf,IAAI,CAACc,GAAG,CAACC,UAAU,GAAGf,IAAI;EAC5B;AACF;AACA,SAASD,WAAWA,CAACU,GAAG,EAAE;EACxB,IAAIvC,IAAI;EACR,IAAIC,IAAI,GAAGsC,GAAG,CAACnB,QAAQ;EACvB,IAAIU,IAAI,GAAG7B,IAAI;EACf,OAAO6B,IAAI,EAAE;IACX,MAAM51D,IAAI,GAAG41D,IAAI,CAACgB,OAAO;IACzB,IAAIhB,IAAI,CAAClgF,OAAO,KAAK,CAAC,CAAC,EAAE;MACvB,IAAIkgF,IAAI,KAAK7B,IAAI,EAAEA,IAAI,GAAG/zD,IAAI;MAC9B81D,SAAS,CAACF,IAAI,CAAC;MACfiB,SAAS,CAACjB,IAAI,CAAC;IACjB,CAAC,MAAM;MACL9B,IAAI,GAAG8B,IAAI;IACb;IACAA,IAAI,CAACc,GAAG,CAACC,UAAU,GAAGf,IAAI,CAACa,cAAc;IACzCb,IAAI,CAACa,cAAc,GAAG,KAAK,CAAC;IAC5Bb,IAAI,GAAG51D,IAAI;EACb;EACAq2D,GAAG,CAACllB,IAAI,GAAG2iB,IAAI;EACfuC,GAAG,CAACnB,QAAQ,GAAGnB,IAAI;AACrB;AACA,SAASiC,OAAOA,CAACK,GAAG,EAAE;EACpB,KAAK,IAAIT,IAAI,GAAGS,GAAG,CAACllB,IAAI,EAAEykB,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACC,OAAO,EAAE;IACnD,IAAID,IAAI,CAACc,GAAG,CAAChhF,OAAO,KAAKkgF,IAAI,CAAClgF,OAAO,IAAIkgF,IAAI,CAACc,GAAG,CAACt2E,QAAQ,KAAK02E,eAAe,CAAClB,IAAI,CAACc,GAAG,CAACt2E,QAAQ,CAAC,IAAIw1E,IAAI,CAACc,GAAG,CAAChhF,OAAO,KAAKkgF,IAAI,CAAClgF,OAAO,CAAC,EAAE;MACvI,OAAO,IAAI;IACb;EACF;EACA,IAAI2gF,GAAG,CAACU,MAAM,EAAE;IACd,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd;AACA,SAASD,eAAeA,CAAC12E,QAAQ,EAAE;EACjC,IAAIA,QAAQ,CAAC4/B,KAAK,GAAG,CAAC,IAAI,EAAE5/B,QAAQ,CAAC4/B,KAAK,GAAG,EAAE,CAAC,EAAE;IAChD;EACF;EACA5/B,QAAQ,CAAC4/B,KAAK,IAAI,CAAC,EAAE;EACrB,IAAI5/B,QAAQ,CAAC42E,aAAa,KAAKA,aAAa,EAAE;IAC5C;EACF;EACA52E,QAAQ,CAAC42E,aAAa,GAAGA,aAAa;EACtC,MAAMN,GAAG,GAAGt2E,QAAQ,CAACs2E,GAAG;EACxBt2E,QAAQ,CAAC4/B,KAAK,IAAI,CAAC;EACnB,IAAI02C,GAAG,CAAChhF,OAAO,GAAG,CAAC,IAAI,CAAC0K,QAAQ,CAAC2kD,KAAK,IAAI3kD,QAAQ,CAAC+wD,IAAI,IAAI,CAAC6kB,OAAO,CAAC51E,QAAQ,CAAC,EAAE;IAC7EA,QAAQ,CAAC4/B,KAAK,IAAI,CAAC,CAAC;IACpB;EACF;EACA,MAAMi3C,OAAO,GAAGlC,SAAS;EACzB,MAAMU,eAAe,GAAGC,WAAW;EACnCX,SAAS,GAAG30E,QAAQ;EACpBs1E,WAAW,GAAG,IAAI;EAClB,IAAI;IACFH,WAAW,CAACn1E,QAAQ,CAAC;IACrB,MAAMrK,KAAK,GAAGqK,QAAQ,CAACyP,EAAE,CAACzP,QAAQ,CAAC9B,MAAM,CAAC;IAC1C,IAAIo4E,GAAG,CAAChhF,OAAO,KAAK,CAAC,IAAI4mC,kEAAU,CAACvmC,KAAK,EAAEqK,QAAQ,CAAC9B,MAAM,CAAC,EAAE;MAC3D8B,QAAQ,CAAC9B,MAAM,GAAGvI,KAAK;MACvB2gF,GAAG,CAAChhF,OAAO,EAAE;IACf;EACF,CAAC,CAAC,OAAO4X,GAAG,EAAE;IACZopE,GAAG,CAAChhF,OAAO,EAAE;IACb,MAAM4X,GAAG;EACX,CAAC,SAAS;IACRynE,SAAS,GAAGkC,OAAO;IACnBvB,WAAW,GAAGD,eAAe;IAC7BE,WAAW,CAACv1E,QAAQ,CAAC;IACrBA,QAAQ,CAAC4/B,KAAK,IAAI,CAAC,CAAC;EACtB;AACF;AACA,SAAS81C,SAASA,CAACF,IAAI,EAAEsB,IAAI,GAAG,KAAK,EAAE;EACrC,MAAM;IAAER,GAAG;IAAEO,OAAO;IAAEE;EAAQ,CAAC,GAAGvB,IAAI;EACtC,IAAIqB,OAAO,EAAE;IACXA,OAAO,CAACE,OAAO,GAAGA,OAAO;IACzBvB,IAAI,CAACqB,OAAO,GAAG,KAAK,CAAC;EACvB;EACA,IAAIE,OAAO,EAAE;IACXA,OAAO,CAACF,OAAO,GAAGA,OAAO;IACzBrB,IAAI,CAACuB,OAAO,GAAG,KAAK,CAAC;EACvB;EACA,IAAI,KAAkE,EAAE,EAEvE;EACD,IAAIT,GAAG,CAACW,IAAI,KAAKzB,IAAI,EAAE;IACrBc,GAAG,CAACW,IAAI,GAAGJ,OAAO;IAClB,IAAI,CAACA,OAAO,IAAIP,GAAG,CAACt2E,QAAQ,EAAE;MAC5Bs2E,GAAG,CAACt2E,QAAQ,CAAC4/B,KAAK,IAAI,CAAC,CAAC;MACxB,KAAK,IAAI7Q,CAAC,GAAGunD,GAAG,CAACt2E,QAAQ,CAAC+wD,IAAI,EAAEhiC,CAAC,EAAEA,CAAC,GAAGA,CAAC,CAAC0mD,OAAO,EAAE;QAChDC,SAAS,CAAC3mD,CAAC,EAAE,IAAI,CAAC;MACpB;IACF;EACF;EACA,IAAI,CAAC+nD,IAAI,IAAI,CAAC,GAAER,GAAG,CAACY,EAAE,IAAIZ,GAAG,CAAC96E,GAAG,EAAE;IACjC86E,GAAG,CAAC96E,GAAG,CAACuD,MAAM,CAACu3E,GAAG,CAAC17E,GAAG,CAAC;EACzB;AACF;AACA,SAAS67E,SAASA,CAACjB,IAAI,EAAE;EACvB,MAAM;IAAEgB,OAAO;IAAEf;EAAQ,CAAC,GAAGD,IAAI;EACjC,IAAIgB,OAAO,EAAE;IACXA,OAAO,CAACf,OAAO,GAAGA,OAAO;IACzBD,IAAI,CAACgB,OAAO,GAAG,KAAK,CAAC;EACvB;EACA,IAAIf,OAAO,EAAE;IACXA,OAAO,CAACe,OAAO,GAAGA,OAAO;IACzBhB,IAAI,CAACC,OAAO,GAAG,KAAK,CAAC;EACvB;AACF;AACA,SAASn7C,MAAMA,CAAC7qB,EAAE,EAAExZ,OAAO,EAAE;EAC3B,IAAIwZ,EAAE,CAAC6qB,MAAM,YAAYX,cAAc,EAAE;IACvClqB,EAAE,GAAGA,EAAE,CAAC6qB,MAAM,CAAC7qB,EAAE;EACnB;EACA,MAAMvF,CAAC,GAAG,IAAIyvB,cAAc,CAAClqB,EAAE,CAAC;EAChC,IAAIxZ,OAAO,EAAE;IACXsb,MAAM,CAACrH,CAAC,EAAEjU,OAAO,CAAC;EACpB;EACA,IAAI;IACFiU,CAAC,CAAC4jD,GAAG,CAAC,CAAC;EACT,CAAC,CAAC,OAAO5gD,GAAG,EAAE;IACZhD,CAAC,CAAC0lB,IAAI,CAAC,CAAC;IACR,MAAM1iB,GAAG;EACX;EACA,MAAMiqE,MAAM,GAAGjtE,CAAC,CAAC4jD,GAAG,CAAC5lC,IAAI,CAAChe,CAAC,CAAC;EAC5BitE,MAAM,CAAC78C,MAAM,GAAGpwB,CAAC;EACjB,OAAOitE,MAAM;AACf;AACA,SAASvnD,IAAIA,CAACunD,MAAM,EAAE;EACpBA,MAAM,CAAC78C,MAAM,CAAC1K,IAAI,CAAC,CAAC;AACtB;AACA,IAAI0lD,WAAW,GAAG,IAAI;AACtB,MAAM8B,UAAU,GAAG,EAAE;AACrB,SAASz+C,aAAaA,CAAA,EAAG;EACvBy+C,UAAU,CAACnuE,IAAI,CAACqsE,WAAW,CAAC;EAC5BA,WAAW,GAAG,KAAK;AACrB;AACA,SAAS+B,cAAcA,CAAA,EAAG;EACxBD,UAAU,CAACnuE,IAAI,CAACqsE,WAAW,CAAC;EAC5BA,WAAW,GAAG,IAAI;AACpB;AACA,SAAS18C,aAAaA,CAAA,EAAG;EACvB,MAAM0E,IAAI,GAAG85C,UAAU,CAAC76C,GAAG,CAAC,CAAC;EAC7B+4C,WAAW,GAAGh4C,IAAI,KAAK,KAAK,CAAC,GAAG,IAAI,GAAGA,IAAI;AAC7C;AACA,SAASg6C,eAAeA,CAAC7nE,EAAE,EAAEilE,YAAY,GAAG,KAAK,EAAE;EACjD,IAAIC,SAAS,YAAYh7C,cAAc,EAAE;IACvCg7C,SAAS,CAACI,OAAO,GAAGtlE,EAAE;EACxB,CAAC,MAAM,IAAI,KAA0D,EAAE,EAItE;AACH;AACA,SAASylE,aAAaA,CAAChrE,CAAC,EAAE;EACxB,MAAM;IAAE6qE;EAAQ,CAAC,GAAG7qE,CAAC;EACrBA,CAAC,CAAC6qE,OAAO,GAAG,KAAK,CAAC;EAClB,IAAIA,OAAO,EAAE;IACX,MAAM8B,OAAO,GAAGlC,SAAS;IACzBA,SAAS,GAAG,KAAK,CAAC;IAClB,IAAI;MACFI,OAAO,CAAC,CAAC;IACX,CAAC,SAAS;MACRJ,SAAS,GAAGkC,OAAO;IACrB;EACF;AACF;AAEA,IAAID,aAAa,GAAG,CAAC;AACrB,MAAMW,IAAI,CAAC;EACT55E,WAAWA,CAACs4E,GAAG,EAAEK,GAAG,EAAE;IACpB,IAAI,CAACL,GAAG,GAAGA,GAAG;IACd,IAAI,CAACK,GAAG,GAAGA,GAAG;IACd,IAAI,CAAChhF,OAAO,GAAGghF,GAAG,CAAChhF,OAAO;IAC1B,IAAI,CAACmgF,OAAO,GAAG,IAAI,CAACe,OAAO,GAAG,IAAI,CAACO,OAAO,GAAG,IAAI,CAACF,OAAO,GAAG,IAAI,CAACR,cAAc,GAAG,KAAK,CAAC;EAC1F;AACF;AACA,MAAMmB,GAAG,CAAC;EACR75E,WAAWA,CAACqC,QAAQ,EAAE;IACpB,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAAC1K,OAAO,GAAG,CAAC;IAChB;AACJ;AACA;IACI,IAAI,CAACihF,UAAU,GAAG,KAAK,CAAC;IACxB;AACJ;AACA;IACI,IAAI,CAACU,IAAI,GAAG,KAAK,CAAC;IAClB;AACJ;AACA;IACI,IAAI,CAACz7E,GAAG,GAAG,KAAK,CAAC;IACjB,IAAI,CAACZ,GAAG,GAAG,KAAK,CAAC;IACjB;AACJ;AACA;IACI,IAAI,CAACs8E,EAAE,GAAG,CAAC;IACX,IAAI,KAAyC,EAAE,EAE9C;EACH;EACA39C,KAAKA,CAACk+C,SAAS,EAAE;IACf,IAAI,CAAC9C,SAAS,IAAI,CAACW,WAAW,IAAIX,SAAS,KAAK,IAAI,CAAC30E,QAAQ,EAAE;MAC7D;IACF;IACA,IAAIw1E,IAAI,GAAG,IAAI,CAACe,UAAU;IAC1B,IAAIf,IAAI,KAAK,KAAK,CAAC,IAAIA,IAAI,CAACS,GAAG,KAAKtB,SAAS,EAAE;MAC7Ca,IAAI,GAAG,IAAI,CAACe,UAAU,GAAG,IAAIgB,IAAI,CAAC5C,SAAS,EAAE,IAAI,CAAC;MAClD,IAAI,CAACA,SAAS,CAAC5jB,IAAI,EAAE;QACnB4jB,SAAS,CAAC5jB,IAAI,GAAG4jB,SAAS,CAACG,QAAQ,GAAGU,IAAI;MAC5C,CAAC,MAAM;QACLA,IAAI,CAACgB,OAAO,GAAG7B,SAAS,CAACG,QAAQ;QACjCH,SAAS,CAACG,QAAQ,CAACW,OAAO,GAAGD,IAAI;QACjCb,SAAS,CAACG,QAAQ,GAAGU,IAAI;MAC3B;MACAkC,MAAM,CAAClC,IAAI,CAAC;IACd,CAAC,MAAM,IAAIA,IAAI,CAAClgF,OAAO,KAAK,CAAC,CAAC,EAAE;MAC9BkgF,IAAI,CAAClgF,OAAO,GAAG,IAAI,CAACA,OAAO;MAC3B,IAAIkgF,IAAI,CAACC,OAAO,EAAE;QAChB,MAAM51D,IAAI,GAAG21D,IAAI,CAACC,OAAO;QACzB51D,IAAI,CAAC22D,OAAO,GAAGhB,IAAI,CAACgB,OAAO;QAC3B,IAAIhB,IAAI,CAACgB,OAAO,EAAE;UAChBhB,IAAI,CAACgB,OAAO,CAACf,OAAO,GAAG51D,IAAI;QAC7B;QACA21D,IAAI,CAACgB,OAAO,GAAG7B,SAAS,CAACG,QAAQ;QACjCU,IAAI,CAACC,OAAO,GAAG,KAAK,CAAC;QACrBd,SAAS,CAACG,QAAQ,CAACW,OAAO,GAAGD,IAAI;QACjCb,SAAS,CAACG,QAAQ,GAAGU,IAAI;QACzB,IAAIb,SAAS,CAAC5jB,IAAI,KAAKykB,IAAI,EAAE;UAC3Bb,SAAS,CAAC5jB,IAAI,GAAGlxC,IAAI;QACvB;MACF;IACF;IACA,IAAI,KAA8D,EAAE,EASnE;IACD,OAAO21D,IAAI;EACb;EACA97C,OAAOA,CAAC+9C,SAAS,EAAE;IACjB,IAAI,CAACniF,OAAO,EAAE;IACdshF,aAAa,EAAE;IACf,IAAI,CAAC5B,MAAM,CAACyC,SAAS,CAAC;EACxB;EACAzC,MAAMA,CAACyC,SAAS,EAAE;IAChBtB,UAAU,CAAC,CAAC;IACZ,IAAI;MACF,IAAI,KAAyC,EAAE,EAa9C;MACD,KAAK,IAAIX,IAAI,GAAG,IAAI,CAACyB,IAAI,EAAEzB,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACqB,OAAO,EAAE;QACpD,IAAIrB,IAAI,CAACS,GAAG,CAACjB,MAAM,CAAC,CAAC,EAAE;UACrB;UACAQ,IAAI,CAACS,GAAG,CAACK,GAAG,CAACtB,MAAM,CAAC,CAAC;QACvB;MACF;IACF,CAAC,SAAS;MACRoB,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AACA,SAASsB,MAAMA,CAAClC,IAAI,EAAE;EACpBA,IAAI,CAACc,GAAG,CAACY,EAAE,EAAE;EACb,IAAI1B,IAAI,CAACS,GAAG,CAACr2C,KAAK,GAAG,CAAC,EAAE;IACtB,MAAM5/B,QAAQ,GAAGw1E,IAAI,CAACc,GAAG,CAACt2E,QAAQ;IAClC,IAAIA,QAAQ,IAAI,CAACw1E,IAAI,CAACc,GAAG,CAACW,IAAI,EAAE;MAC9Bj3E,QAAQ,CAAC4/B,KAAK,IAAI,CAAC,GAAG,EAAE;MACxB,KAAK,IAAI7Q,CAAC,GAAG/uB,QAAQ,CAAC+wD,IAAI,EAAEhiC,CAAC,EAAEA,CAAC,GAAGA,CAAC,CAAC0mD,OAAO,EAAE;QAC5CiC,MAAM,CAAC3oD,CAAC,CAAC;MACX;IACF;IACA,MAAM4oD,WAAW,GAAGnC,IAAI,CAACc,GAAG,CAACW,IAAI;IACjC,IAAIU,WAAW,KAAKnC,IAAI,EAAE;MACxBA,IAAI,CAACqB,OAAO,GAAGc,WAAW;MAC1B,IAAIA,WAAW,EAAEA,WAAW,CAACZ,OAAO,GAAGvB,IAAI;IAC7C;IACA,IAAI,KAAyE,EAAE,EAE9E;IACDA,IAAI,CAACc,GAAG,CAACW,IAAI,GAAGzB,IAAI;EACtB;AACF;AACA,MAAMoC,SAAS,GAAG,eAAgB,IAAIrtD,OAAO,CAAC,CAAC;AAC/C,MAAMstD,WAAW,GAAG78E,MAAM,CACxB,MAAyC,GAAG,CAAgB,GAAG,EACjE,CAAC;AACD,MAAM88E,mBAAmB,GAAG98E,MAAM,CAChC,MAAyC,GAAG,CAAkB,GAAG,EACnE,CAAC;AACD,MAAM+8E,iBAAiB,GAAG/8E,MAAM,CAC9B,MAAyC,GAAG,CAAe,GAAG,EAChE,CAAC;AACD,SAASu+B,KAAKA,CAACt5B,MAAM,EAAEjL,IAAI,EAAE4F,GAAG,EAAE;EAChC,IAAI06E,WAAW,IAAIX,SAAS,EAAE;IAC5B,IAAIqD,OAAO,GAAGJ,SAAS,CAACl5E,GAAG,CAACuB,MAAM,CAAC;IACnC,IAAI,CAAC+3E,OAAO,EAAE;MACZJ,SAAS,CAAC/5E,GAAG,CAACoC,MAAM,EAAE+3E,OAAO,GAAG,eAAgB,IAAIjvD,GAAG,CAAC,CAAC,CAAC;IAC5D;IACA,IAAIutD,GAAG,GAAG0B,OAAO,CAACt5E,GAAG,CAAC9D,GAAG,CAAC;IAC1B,IAAI,CAAC07E,GAAG,EAAE;MACR0B,OAAO,CAACn6E,GAAG,CAACjD,GAAG,EAAE07E,GAAG,GAAG,IAAIkB,GAAG,CAAC,CAAC,CAAC;MACjClB,GAAG,CAAC96E,GAAG,GAAGw8E,OAAO;MACjB1B,GAAG,CAAC17E,GAAG,GAAGA,GAAG;IACf;IACA,IAAI,KAAyC,EAAE,EAM9C,MAAM;MACL07E,GAAG,CAAC/8C,KAAK,CAAC,CAAC;IACb;EACF;AACF;AACA,SAASG,OAAOA,CAACz5B,MAAM,EAAEjL,IAAI,EAAE4F,GAAG,EAAE4mB,QAAQ,EAAEpE,QAAQ,EAAE66D,SAAS,EAAE;EACjE,MAAMD,OAAO,GAAGJ,SAAS,CAACl5E,GAAG,CAACuB,MAAM,CAAC;EACrC,IAAI,CAAC+3E,OAAO,EAAE;IACZpB,aAAa,EAAE;IACf;EACF;EACA,MAAM9oB,GAAG,GAAIwoB,GAAG,IAAK;IACnB,IAAIA,GAAG,EAAE;MACP,IAAI,KAAyC,EAAE,EAS9C,MAAM;QACLA,GAAG,CAAC58C,OAAO,CAAC,CAAC;MACf;IACF;EACF,CAAC;EACDy8C,UAAU,CAAC,CAAC;EACZ,IAAInhF,IAAI,KAAK,OAAO,EAAE;IACpBgjF,OAAO,CAACjjF,OAAO,CAAC+4D,GAAG,CAAC;EACtB,CAAC,MAAM;IACL,MAAMoqB,aAAa,GAAG38E,+DAAO,CAAC0E,MAAM,CAAC;IACrC,MAAMk4E,YAAY,GAAGD,aAAa,IAAIvY,oEAAY,CAAC/kE,GAAG,CAAC;IACvD,IAAIs9E,aAAa,IAAIt9E,GAAG,KAAK,QAAQ,EAAE;MACrC,MAAMk0D,SAAS,GAAG1oD,MAAM,CAACob,QAAQ,CAAC;MAClCw2D,OAAO,CAACjjF,OAAO,CAAC,CAACuhF,GAAG,EAAE9qC,IAAI,KAAK;QAC7B,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAKusC,iBAAiB,IAAI,CAAClmE,gEAAQ,CAAC25B,IAAI,CAAC,IAAIA,IAAI,IAAIsjB,SAAS,EAAE;UAC3FhB,GAAG,CAACwoB,GAAG,CAAC;QACV;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI17E,GAAG,KAAK,KAAK,CAAC,IAAIo9E,OAAO,CAACn5E,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QACzCivD,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAAC9D,GAAG,CAAC,CAAC;MACvB;MACA,IAAIu9E,YAAY,EAAE;QAChBrqB,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAACq5E,iBAAiB,CAAC,CAAC;MACrC;MACA,QAAQ/iF,IAAI;QACV,KAAK,KAAK;UACR,IAAI,CAACkjF,aAAa,EAAE;YAClBpqB,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAACm5E,WAAW,CAAC,CAAC;YAC7B,IAAItY,6DAAK,CAACt/D,MAAM,CAAC,EAAE;cACjB6tD,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAACo5E,mBAAmB,CAAC,CAAC;YACvC;UACF,CAAC,MAAM,IAAIK,YAAY,EAAE;YACvBrqB,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAAC,QAAQ,CAAC,CAAC;UAC5B;UACA;QACF,KAAK,QAAQ;UACX,IAAI,CAACw5E,aAAa,EAAE;YAClBpqB,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAACm5E,WAAW,CAAC,CAAC;YAC7B,IAAItY,6DAAK,CAACt/D,MAAM,CAAC,EAAE;cACjB6tD,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAACo5E,mBAAmB,CAAC,CAAC;YACvC;UACF;UACA;QACF,KAAK,KAAK;UACR,IAAIvY,6DAAK,CAACt/D,MAAM,CAAC,EAAE;YACjB6tD,GAAG,CAACkqB,OAAO,CAACt5E,GAAG,CAACm5E,WAAW,CAAC,CAAC;UAC/B;UACA;MACJ;IACF;EACF;EACAzB,QAAQ,CAAC,CAAC;AACZ;AACA,SAASgC,kBAAkBA,CAAC9Z,MAAM,EAAE1jE,GAAG,EAAE;EACvC,MAAMy9E,MAAM,GAAGT,SAAS,CAACl5E,GAAG,CAAC4/D,MAAM,CAAC;EACpC,OAAO+Z,MAAM,IAAIA,MAAM,CAAC35E,GAAG,CAAC9D,GAAG,CAAC;AAClC;AAEA,SAAS09E,iBAAiBA,CAACC,KAAK,EAAE;EAChC,MAAM3iD,GAAG,GAAG7kB,KAAK,CAACwnE,KAAK,CAAC;EACxB,IAAI3iD,GAAG,KAAK2iD,KAAK,EAAE,OAAO3iD,GAAG;EAC7B2D,KAAK,CAAC3D,GAAG,EAAE,SAAS,EAAEmiD,iBAAiB,CAAC;EACxC,OAAO5+C,SAAS,CAACo/C,KAAK,CAAC,GAAG3iD,GAAG,GAAGA,GAAG,CAACp6B,GAAG,CAAC69B,UAAU,CAAC;AACrD;AACA,SAASD,gBAAgBA,CAACxzB,GAAG,EAAE;EAC7B2zB,KAAK,CAAC3zB,GAAG,GAAGmL,KAAK,CAACnL,GAAG,CAAC,EAAE,SAAS,EAAEmyE,iBAAiB,CAAC;EACrD,OAAOnyE,GAAG;AACZ;AACA,MAAM4yE,qBAAqB,GAAG;EAC5BC,SAAS,EAAE,IAAI;EACf,CAACz9E,MAAM,CAAC2E,QAAQ,IAAI;IAClB,OAAOA,QAAQ,CAAC,IAAI,EAAE3E,MAAM,CAAC2E,QAAQ,EAAE05B,UAAU,CAAC;EACpD,CAAC;EACD/5B,MAAMA,CAAC,GAAGqY,IAAI,EAAE;IACd,OAAO2gE,iBAAiB,CAAC,IAAI,CAAC,CAACh5E,MAAM,CACnC,GAAGqY,IAAI,CAACnc,GAAG,CAAEk9E,CAAC,IAAKn9E,+DAAO,CAACm9E,CAAC,CAAC,GAAGJ,iBAAiB,CAACI,CAAC,CAAC,GAAGA,CAAC,CAC1D,CAAC;EACH,CAAC;EACD/9E,OAAOA,CAAA,EAAG;IACR,OAAOgF,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAGhK,KAAK,IAAK;MAC1CA,KAAK,CAAC,CAAC,CAAC,GAAG0jC,UAAU,CAAC1jC,KAAK,CAAC,CAAC,CAAC,CAAC;MAC/B,OAAOA,KAAK;IACd,CAAC,CAAC;EACJ,CAAC;EACDs1C,KAAKA,CAACx7B,EAAE,EAAE00D,OAAO,EAAE;IACjB,OAAOE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE50D,EAAE,EAAE00D,OAAO,EAAE,KAAK,CAAC,EAAEhgB,SAAS,CAAC;EAC7D,CAAC;EACD/nD,MAAMA,CAACqT,EAAE,EAAE00D,OAAO,EAAE;IAClB,OAAOE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE50D,EAAE,EAAE00D,OAAO,EAAG9jD,CAAC,IAAKA,CAAC,CAAC7kB,GAAG,CAAC69B,UAAU,CAAC,EAAE8qB,SAAS,CAAC;EAChF,CAAC;EACDw0B,IAAIA,CAAClpE,EAAE,EAAE00D,OAAO,EAAE;IAChB,OAAOE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE50D,EAAE,EAAE00D,OAAO,EAAE9qC,UAAU,EAAE8qB,SAAS,CAAC;EAChE,CAAC;EACD2f,SAASA,CAACr0D,EAAE,EAAE00D,OAAO,EAAE;IACrB,OAAOE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE50D,EAAE,EAAE00D,OAAO,EAAE,KAAK,CAAC,EAAEhgB,SAAS,CAAC;EACjE,CAAC;EACDy0B,QAAQA,CAACnpE,EAAE,EAAE00D,OAAO,EAAE;IACpB,OAAOE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE50D,EAAE,EAAE00D,OAAO,EAAE9qC,UAAU,EAAE8qB,SAAS,CAAC;EACpE,CAAC;EACD00B,aAAaA,CAACppE,EAAE,EAAE00D,OAAO,EAAE;IACzB,OAAOE,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE50D,EAAE,EAAE00D,OAAO,EAAE,KAAK,CAAC,EAAEhgB,SAAS,CAAC;EACrE,CAAC;EACD;EACApvD,OAAOA,CAAC0a,EAAE,EAAE00D,OAAO,EAAE;IACnB,OAAOE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE50D,EAAE,EAAE00D,OAAO,EAAE,KAAK,CAAC,EAAEhgB,SAAS,CAAC;EAC/D,CAAC;EACD7iC,QAAQA,CAAC,GAAG3J,IAAI,EAAE;IAChB,OAAOmhE,WAAW,CAAC,IAAI,EAAE,UAAU,EAAEnhE,IAAI,CAAC;EAC5C,CAAC;EACDlb,OAAOA,CAAC,GAAGkb,IAAI,EAAE;IACf,OAAOmhE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAEnhE,IAAI,CAAC;EAC3C,CAAC;EACDjY,IAAIA,CAACq5E,SAAS,EAAE;IACd,OAAOT,iBAAiB,CAAC,IAAI,CAAC,CAAC54E,IAAI,CAACq5E,SAAS,CAAC;EAChD,CAAC;EACD;EACAC,WAAWA,CAAC,GAAGrhE,IAAI,EAAE;IACnB,OAAOmhE,WAAW,CAAC,IAAI,EAAE,aAAa,EAAEnhE,IAAI,CAAC;EAC/C,CAAC;EACDnc,GAAGA,CAACiU,EAAE,EAAE00D,OAAO,EAAE;IACf,OAAOE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE50D,EAAE,EAAE00D,OAAO,EAAE,KAAK,CAAC,EAAEhgB,SAAS,CAAC;EAC3D,CAAC;EACD5nB,GAAGA,CAAA,EAAG;IACJ,OAAO08C,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;EAChC,CAAC;EACDhwE,IAAIA,CAAC,GAAG0O,IAAI,EAAE;IACZ,OAAOshE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAEthE,IAAI,CAAC;EACvC,CAAC;EACD+mC,MAAMA,CAACjvC,EAAE,EAAE,GAAGkI,IAAI,EAAE;IAClB,OAAO+mC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAEjvC,EAAE,EAAEkI,IAAI,CAAC;EACzC,CAAC;EACDuhE,WAAWA,CAACzpE,EAAE,EAAE,GAAGkI,IAAI,EAAE;IACvB,OAAO+mC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAEjvC,EAAE,EAAEkI,IAAI,CAAC;EAC9C,CAAC;EACDwY,KAAKA,CAAA,EAAG;IACN,OAAO8oD,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;EAClC,CAAC;EACD;EACAnhE,IAAIA,CAACrI,EAAE,EAAE00D,OAAO,EAAE;IAChB,OAAOE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE50D,EAAE,EAAE00D,OAAO,EAAE,KAAK,CAAC,EAAEhgB,SAAS,CAAC;EAC5D,CAAC;EACDn2B,MAAMA,CAAC,GAAGrW,IAAI,EAAE;IACd,OAAOshE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAEthE,IAAI,CAAC;EACzC,CAAC;EACDwhE,UAAUA,CAAA,EAAG;IACX,OAAOb,iBAAiB,CAAC,IAAI,CAAC,CAACa,UAAU,CAAC,CAAC;EAC7C,CAAC;EACDC,QAAQA,CAACC,QAAQ,EAAE;IACjB,OAAOf,iBAAiB,CAAC,IAAI,CAAC,CAACc,QAAQ,CAACC,QAAQ,CAAC;EACnD,CAAC;EACDC,SAASA,CAAC,GAAG3hE,IAAI,EAAE;IACjB,OAAO2gE,iBAAiB,CAAC,IAAI,CAAC,CAACgB,SAAS,CAAC,GAAG3hE,IAAI,CAAC;EACnD,CAAC;EACD2gC,OAAOA,CAAC,GAAG3gC,IAAI,EAAE;IACf,OAAOshE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAEthE,IAAI,CAAC;EAC1C,CAAC;EACDwmB,MAAMA,CAAA,EAAG;IACP,OAAOx+B,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE05B,UAAU,CAAC;EAC7C;AACF,CAAC;AACD,SAAS15B,QAAQA,CAAC3B,IAAI,EAAE+D,MAAM,EAAEw3E,SAAS,EAAE;EACzC,MAAM3zE,GAAG,GAAGwzB,gBAAgB,CAACp7B,IAAI,CAAC;EAClC,MAAMw7E,IAAI,GAAG5zE,GAAG,CAAC7D,MAAM,CAAC,CAAC,CAAC;EAC1B,IAAI6D,GAAG,KAAK5H,IAAI,IAAI,CAACm7B,SAAS,CAACn7B,IAAI,CAAC,EAAE;IACpCw7E,IAAI,CAACC,KAAK,GAAGD,IAAI,CAAC35D,IAAI;IACtB25D,IAAI,CAAC35D,IAAI,GAAG,MAAM;MAChB,MAAMrpB,MAAM,GAAGgjF,IAAI,CAACC,KAAK,CAAC,CAAC;MAC3B,IAAIjjF,MAAM,CAACb,KAAK,EAAE;QAChBa,MAAM,CAACb,KAAK,GAAG4jF,SAAS,CAAC/iF,MAAM,CAACb,KAAK,CAAC;MACxC;MACA,OAAOa,MAAM;IACf,CAAC;EACH;EACA,OAAOgjF,IAAI;AACb;AACA,MAAME,UAAU,GAAG37D,KAAK,CAAC1d,SAAS;AAClC,SAASgkE,KAAKA,CAACrmE,IAAI,EAAE+D,MAAM,EAAE0N,EAAE,EAAE00D,OAAO,EAAEwV,YAAY,EAAEhiE,IAAI,EAAE;EAC5D,MAAM/R,GAAG,GAAGwzB,gBAAgB,CAACp7B,IAAI,CAAC;EAClC,MAAMi8C,SAAS,GAAGr0C,GAAG,KAAK5H,IAAI,IAAI,CAACm7B,SAAS,CAACn7B,IAAI,CAAC;EAClD,MAAM47E,QAAQ,GAAGh0E,GAAG,CAAC7D,MAAM,CAAC;EAC5B,IAAI63E,QAAQ,KAAKF,UAAU,CAAC33E,MAAM,CAAC,EAAE;IACnC,MAAM83E,OAAO,GAAGD,QAAQ,CAACvV,KAAK,CAACrmE,IAAI,EAAE2Z,IAAI,CAAC;IAC1C,OAAOsiC,SAAS,GAAG5gB,UAAU,CAACwgD,OAAO,CAAC,GAAGA,OAAO;EAClD;EACA,IAAIC,SAAS,GAAGrqE,EAAE;EAClB,IAAI7J,GAAG,KAAK5H,IAAI,EAAE;IAChB,IAAIi8C,SAAS,EAAE;MACb6/B,SAAS,GAAG,SAAAA,CAAStkD,IAAI,EAAEtvB,KAAK,EAAE;QAChC,OAAOuJ,EAAE,CAAClT,IAAI,CAAC,IAAI,EAAE88B,UAAU,CAAC7D,IAAI,CAAC,EAAEtvB,KAAK,EAAElI,IAAI,CAAC;MACrD,CAAC;IACH,CAAC,MAAM,IAAIyR,EAAE,CAAClZ,MAAM,GAAG,CAAC,EAAE;MACxBujF,SAAS,GAAG,SAAAA,CAAStkD,IAAI,EAAEtvB,KAAK,EAAE;QAChC,OAAOuJ,EAAE,CAAClT,IAAI,CAAC,IAAI,EAAEi5B,IAAI,EAAEtvB,KAAK,EAAElI,IAAI,CAAC;MACzC,CAAC;IACH;EACF;EACA,MAAMxH,MAAM,GAAGojF,QAAQ,CAACr9E,IAAI,CAACqJ,GAAG,EAAEk0E,SAAS,EAAE3V,OAAO,CAAC;EACrD,OAAOlqB,SAAS,IAAI0/B,YAAY,GAAGA,YAAY,CAACnjF,MAAM,CAAC,GAAGA,MAAM;AAClE;AACA,SAASkoD,MAAMA,CAAC1gD,IAAI,EAAE+D,MAAM,EAAE0N,EAAE,EAAEkI,IAAI,EAAE;EACtC,MAAM/R,GAAG,GAAGwzB,gBAAgB,CAACp7B,IAAI,CAAC;EAClC,IAAI87E,SAAS,GAAGrqE,EAAE;EAClB,IAAI7J,GAAG,KAAK5H,IAAI,EAAE;IAChB,IAAI,CAACm7B,SAAS,CAACn7B,IAAI,CAAC,EAAE;MACpB87E,SAAS,GAAG,SAAAA,CAASC,GAAG,EAAEvkD,IAAI,EAAEtvB,KAAK,EAAE;QACrC,OAAOuJ,EAAE,CAAClT,IAAI,CAAC,IAAI,EAAEw9E,GAAG,EAAE1gD,UAAU,CAAC7D,IAAI,CAAC,EAAEtvB,KAAK,EAAElI,IAAI,CAAC;MAC1D,CAAC;IACH,CAAC,MAAM,IAAIyR,EAAE,CAAClZ,MAAM,GAAG,CAAC,EAAE;MACxBujF,SAAS,GAAG,SAAAA,CAASC,GAAG,EAAEvkD,IAAI,EAAEtvB,KAAK,EAAE;QACrC,OAAOuJ,EAAE,CAAClT,IAAI,CAAC,IAAI,EAAEw9E,GAAG,EAAEvkD,IAAI,EAAEtvB,KAAK,EAAElI,IAAI,CAAC;MAC9C,CAAC;IACH;EACF;EACA,OAAO4H,GAAG,CAAC7D,MAAM,CAAC,CAAC+3E,SAAS,EAAE,GAAGniE,IAAI,CAAC;AACxC;AACA,SAASmhE,WAAWA,CAAC96E,IAAI,EAAE+D,MAAM,EAAE4V,IAAI,EAAE;EACvC,MAAM/R,GAAG,GAAGmL,KAAK,CAAC/S,IAAI,CAAC;EACvBu7B,KAAK,CAAC3zB,GAAG,EAAE,SAAS,EAAEmyE,iBAAiB,CAAC;EACxC,MAAMl+D,GAAG,GAAGjU,GAAG,CAAC7D,MAAM,CAAC,CAAC,GAAG4V,IAAI,CAAC;EAChC,IAAI,CAACkC,GAAG,KAAK,CAAC,CAAC,IAAIA,GAAG,KAAK,KAAK,KAAKigB,OAAO,CAACniB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;IACrDA,IAAI,CAAC,CAAC,CAAC,GAAG5G,KAAK,CAAC4G,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO/R,GAAG,CAAC7D,MAAM,CAAC,CAAC,GAAG4V,IAAI,CAAC;EAC7B;EACA,OAAOkC,GAAG;AACZ;AACA,SAASo/D,UAAUA,CAACj7E,IAAI,EAAE+D,MAAM,EAAE4V,IAAI,GAAG,EAAE,EAAE;EAC3CghB,aAAa,CAAC,CAAC;EACfw9C,UAAU,CAAC,CAAC;EACZ,MAAMt8D,GAAG,GAAG9I,KAAK,CAAC/S,IAAI,CAAC,CAAC+D,MAAM,CAAC,CAACsiE,KAAK,CAACrmE,IAAI,EAAE2Z,IAAI,CAAC;EACjDy+D,QAAQ,CAAC,CAAC;EACVx9C,aAAa,CAAC,CAAC;EACf,OAAO/e,GAAG;AACZ;AAEA,MAAMmgE,kBAAkB,GAAG,eAAgB/9C,+DAAO,CAAC,6BAA6B,CAAC;AACjF,MAAMg+C,cAAc,GAAG,IAAI//D,GAAG,CAC5B,eAAgB5jB,MAAM,CAACyvE,mBAAmB,CAAC/qE,MAAM,CAAC,CAACoB,MAAM,CAAExB,GAAG,IAAKA,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,QAAQ,CAAC,CAACY,GAAG,CAAEZ,GAAG,IAAKI,MAAM,CAACJ,GAAG,CAAC,CAAC,CAACwB,MAAM,CAACyV,4DAAQ,CACvJ,CAAC;AACD,SAASytD,cAAcA,CAAC1kE,GAAG,EAAE;EAC3B,IAAI,CAACiX,gEAAQ,CAACjX,GAAG,CAAC,EAAEA,GAAG,GAAGO,MAAM,CAACP,GAAG,CAAC;EACrC,MAAMqC,GAAG,GAAG8T,KAAK,CAAC,IAAI,CAAC;EACvBwoB,KAAK,CAACt8B,GAAG,EAAE,KAAK,EAAErC,GAAG,CAAC;EACtB,OAAOqC,GAAG,CAACqiE,cAAc,CAAC1kE,GAAG,CAAC;AAChC;AACA,MAAMs/E,mBAAmB,CAAC;EACxBv8E,WAAWA,CAACw8E,WAAW,GAAG,KAAK,EAAEC,UAAU,GAAG,KAAK,EAAE;IACnD,IAAI,CAACD,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EACA17E,GAAGA,CAACuB,MAAM,EAAErF,GAAG,EAAE25D,QAAQ,EAAE;IACzB,IAAI35D,GAAG,KAAK,UAAU,EAAE,OAAOqF,MAAM,CAAC,UAAU,CAAC;IACjD,MAAMo6E,WAAW,GAAG,IAAI,CAACF,WAAW;MAAEG,UAAU,GAAG,IAAI,CAACF,UAAU;IAClE,IAAIx/E,GAAG,KAAK,gBAAgB,EAAE;MAC5B,OAAO,CAACy/E,WAAW;IACrB,CAAC,MAAM,IAAIz/E,GAAG,KAAK,gBAAgB,EAAE;MACnC,OAAOy/E,WAAW;IACpB,CAAC,MAAM,IAAIz/E,GAAG,KAAK,eAAe,EAAE;MAClC,OAAO0/E,UAAU;IACnB,CAAC,MAAM,IAAI1/E,GAAG,KAAK,SAAS,EAAE;MAC5B,IAAI25D,QAAQ,KAAK,CAAC8lB,WAAW,GAAGC,UAAU,GAAGC,kBAAkB,GAAGC,WAAW,GAAGF,UAAU,GAAGG,kBAAkB,GAAGC,WAAW,EAAEh8E,GAAG,CAACuB,MAAM,CAAC;MAAI;MAC9I;MACA3J,MAAM,CAACkuD,cAAc,CAACvkD,MAAM,CAAC,KAAK3J,MAAM,CAACkuD,cAAc,CAAC+P,QAAQ,CAAC,EAAE;QACjE,OAAOt0D,MAAM;MACf;MACA;IACF;IACA,MAAMi4E,aAAa,GAAG38E,+DAAO,CAAC0E,MAAM,CAAC;IACrC,IAAI,CAACo6E,WAAW,EAAE;MAChB,IAAI5qE,EAAE;MACN,IAAIyoE,aAAa,KAAKzoE,EAAE,GAAG+oE,qBAAqB,CAAC59E,GAAG,CAAC,CAAC,EAAE;QACtD,OAAO6U,EAAE;MACX;MACA,IAAI7U,GAAG,KAAK,gBAAgB,EAAE;QAC5B,OAAO0kE,cAAc;MACvB;IACF;IACA,MAAMzlD,GAAG,GAAGwjC,OAAO,CAAC3+C,GAAG,CACrBuB,MAAM,EACNrF,GAAG;IACH;IACA;IACA;IACAi+B,KAAK,CAAC54B,MAAM,CAAC,GAAGA,MAAM,GAAGs0D,QAC3B,CAAC;IACD,IAAI1iD,gEAAQ,CAACjX,GAAG,CAAC,GAAGq/E,cAAc,CAACp7E,GAAG,CAACjE,GAAG,CAAC,GAAGo/E,kBAAkB,CAACp/E,GAAG,CAAC,EAAE;MACrE,OAAOif,GAAG;IACZ;IACA,IAAI,CAACwgE,WAAW,EAAE;MAChB9gD,KAAK,CAACt5B,MAAM,EAAE,KAAK,EAAErF,GAAG,CAAC;IAC3B;IACA,IAAI0/E,UAAU,EAAE;MACd,OAAOzgE,GAAG;IACZ;IACA,IAAIgf,KAAK,CAAChf,GAAG,CAAC,EAAE;MACd,OAAOq+D,aAAa,IAAIvY,oEAAY,CAAC/kE,GAAG,CAAC,GAAGif,GAAG,GAAGA,GAAG,CAAClkB,KAAK;IAC7D;IACA,IAAI6Q,gEAAQ,CAACqT,GAAG,CAAC,EAAE;MACjB,OAAOwgE,WAAW,GAAGrhD,QAAQ,CAACnf,GAAG,CAAC,GAAG2f,QAAQ,CAAC3f,GAAG,CAAC;IACpD;IACA,OAAOA,GAAG;EACZ;AACF;AACA,MAAM8gE,sBAAsB,SAAST,mBAAmB,CAAC;EACvDv8E,WAAWA,CAAC28E,UAAU,GAAG,KAAK,EAAE;IAC9B,KAAK,CAAC,KAAK,EAAEA,UAAU,CAAC;EAC1B;EACAz8E,GAAGA,CAACoC,MAAM,EAAErF,GAAG,EAAEjF,KAAK,EAAE4+D,QAAQ,EAAE;IAChC,IAAIn3C,QAAQ,GAAGnd,MAAM,CAACrF,GAAG,CAAC;IAC1B,IAAI,CAAC,IAAI,CAACw/E,UAAU,EAAE;MACpB,MAAMQ,kBAAkB,GAAGzgD,UAAU,CAAC/c,QAAQ,CAAC;MAC/C,IAAI,CAAC+b,SAAS,CAACxjC,KAAK,CAAC,IAAI,CAACwkC,UAAU,CAACxkC,KAAK,CAAC,EAAE;QAC3CynB,QAAQ,GAAGrM,KAAK,CAACqM,QAAQ,CAAC;QAC1BznB,KAAK,GAAGob,KAAK,CAACpb,KAAK,CAAC;MACtB;MACA,IAAI,CAAC4F,+DAAO,CAAC0E,MAAM,CAAC,IAAI44B,KAAK,CAACzb,QAAQ,CAAC,IAAI,CAACyb,KAAK,CAACljC,KAAK,CAAC,EAAE;QACxD,IAAIilF,kBAAkB,EAAE;UACtB,OAAO,KAAK;QACd,CAAC,MAAM;UACLx9D,QAAQ,CAACznB,KAAK,GAAGA,KAAK;UACtB,OAAO,IAAI;QACb;MACF;IACF;IACA,MAAMklF,MAAM,GAAGt/E,+DAAO,CAAC0E,MAAM,CAAC,IAAI0/D,oEAAY,CAAC/kE,GAAG,CAAC,GAAGwL,MAAM,CAACxL,GAAG,CAAC,GAAGqF,MAAM,CAAC1J,MAAM,GAAG2b,8DAAM,CAACjS,MAAM,EAAErF,GAAG,CAAC;IACvG,MAAMpE,MAAM,GAAG6mD,OAAO,CAACx/C,GAAG,CACxBoC,MAAM,EACNrF,GAAG,EACHjF,KAAK,EACLkjC,KAAK,CAAC54B,MAAM,CAAC,GAAGA,MAAM,GAAGs0D,QAC3B,CAAC;IACD,IAAIt0D,MAAM,KAAK8Q,KAAK,CAACwjD,QAAQ,CAAC,EAAE;MAC9B,IAAI,CAACsmB,MAAM,EAAE;QACXnhD,OAAO,CAACz5B,MAAM,EAAE,KAAK,EAAErF,GAAG,EAAEjF,KAAK,CAAC;MACpC,CAAC,MAAM,IAAIumC,kEAAU,CAACvmC,KAAK,EAAEynB,QAAQ,CAAC,EAAE;QACtCsc,OAAO,CAACz5B,MAAM,EAAE,KAAK,EAAErF,GAAG,EAAEjF,KAAK,EAAEynB,QAAQ,CAAC;MAC9C;IACF;IACA,OAAO5mB,MAAM;EACf;EACA8lE,cAAcA,CAACr8D,MAAM,EAAErF,GAAG,EAAE;IAC1B,MAAMigF,MAAM,GAAG3oE,8DAAM,CAACjS,MAAM,EAAErF,GAAG,CAAC;IAClC,MAAMwiB,QAAQ,GAAGnd,MAAM,CAACrF,GAAG,CAAC;IAC5B,MAAMpE,MAAM,GAAG6mD,OAAO,CAACif,cAAc,CAACr8D,MAAM,EAAErF,GAAG,CAAC;IAClD,IAAIpE,MAAM,IAAIqkF,MAAM,EAAE;MACpBnhD,OAAO,CAACz5B,MAAM,EAAE,QAAQ,EAAErF,GAAG,EAAE,KAAK,CAAC,EAAEwiB,QAAQ,CAAC;IAClD;IACA,OAAO5mB,MAAM;EACf;EACAqI,GAAGA,CAACoB,MAAM,EAAErF,GAAG,EAAE;IACf,MAAMpE,MAAM,GAAG6mD,OAAO,CAACx+C,GAAG,CAACoB,MAAM,EAAErF,GAAG,CAAC;IACvC,IAAI,CAACiX,gEAAQ,CAACjX,GAAG,CAAC,IAAI,CAACq/E,cAAc,CAACp7E,GAAG,CAACjE,GAAG,CAAC,EAAE;MAC9C2+B,KAAK,CAACt5B,MAAM,EAAE,KAAK,EAAErF,GAAG,CAAC;IAC3B;IACA,OAAOpE,MAAM;EACf;EACA8mD,OAAOA,CAACr9C,MAAM,EAAE;IACds5B,KAAK,CACHt5B,MAAM,EACN,SAAS,EACT1E,+DAAO,CAAC0E,MAAM,CAAC,GAAG,QAAQ,GAAG43E,WAC/B,CAAC;IACD,OAAOx6B,OAAO,CAACC,OAAO,CAACr9C,MAAM,CAAC;EAChC;AACF;AACA,MAAM66E,uBAAuB,SAASZ,mBAAmB,CAAC;EACxDv8E,WAAWA,CAAC28E,UAAU,GAAG,KAAK,EAAE;IAC9B,KAAK,CAAC,IAAI,EAAEA,UAAU,CAAC;EACzB;EACAz8E,GAAGA,CAACoC,MAAM,EAAErF,GAAG,EAAE;IACf,IAAI,KAAyC,EAAE,EAK9C;IACD,OAAO,IAAI;EACb;EACA0hE,cAAcA,CAACr8D,MAAM,EAAErF,GAAG,EAAE;IAC1B,IAAI,KAAyC,EAAE,EAK9C;IACD,OAAO,IAAI;EACb;AACF;AACA,MAAMmgF,eAAe,GAAG,eAAgB,IAAIJ,sBAAsB,CAAC,CAAC;AACpE,MAAMK,gBAAgB,GAAG,eAAgB,IAAIF,uBAAuB,CAAC,CAAC;AACtE,MAAMG,uBAAuB,GAAG,eAAgB,IAAIN,sBAAsB,CAAC,IAAI,CAAC;AAChF,MAAMO,uBAAuB,GAAG,eAAgB,IAAIJ,uBAAuB,CAAC,IAAI,CAAC;AAEjF,MAAMK,SAAS,GAAIxlF,KAAK,IAAKA,KAAK;AAClC,MAAMylF,QAAQ,GAAI/6D,CAAC,IAAKg9B,OAAO,CAACmH,cAAc,CAACnkC,CAAC,CAAC;AACjD,SAASg7D,oBAAoBA,CAACt5E,MAAM,EAAEs4E,WAAW,EAAEC,UAAU,EAAE;EAC7D,OAAO,UAAS,GAAG3iE,IAAI,EAAE;IACvB,MAAM1X,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,MAAMq7E,SAAS,GAAGvqE,KAAK,CAAC9Q,MAAM,CAAC;IAC/B,MAAMs7E,WAAW,GAAGhc,6DAAK,CAAC+b,SAAS,CAAC;IACpC,MAAME,MAAM,GAAGz5E,MAAM,KAAK,SAAS,IAAIA,MAAM,KAAK/G,MAAM,CAAC2E,QAAQ,IAAI47E,WAAW;IAChF,MAAME,SAAS,GAAG15E,MAAM,KAAK,MAAM,IAAIw5E,WAAW;IAClD,MAAMG,aAAa,GAAGz7E,MAAM,CAAC8B,MAAM,CAAC,CAAC,GAAG4V,IAAI,CAAC;IAC7C,MAAMysD,IAAI,GAAGkW,UAAU,GAAGa,SAAS,GAAGd,WAAW,GAAGsB,UAAU,GAAGtiD,UAAU;IAC3E,CAACghD,WAAW,IAAI9gD,KAAK,CACnB+hD,SAAS,EACT,SAAS,EACTG,SAAS,GAAG3D,mBAAmB,GAAGD,WACpC,CAAC;IACD,OAAO;MACL;MACAh4D,IAAIA,CAAA,EAAG;QACL,MAAM;UAAElqB,KAAK;UAAE2V;QAAK,CAAC,GAAGowE,aAAa,CAAC77D,IAAI,CAAC,CAAC;QAC5C,OAAOvU,IAAI,GAAG;UAAE3V,KAAK;UAAE2V;QAAK,CAAC,GAAG;UAC9B3V,KAAK,EAAE6lF,MAAM,GAAG,CAACpX,IAAI,CAACzuE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAEyuE,IAAI,CAACzuE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGyuE,IAAI,CAACzuE,KAAK,CAAC;UAC9D2V;QACF,CAAC;MACH,CAAC;MACD;MACA,CAACtQ,MAAM,CAAC2E,QAAQ,IAAI;QAClB,OAAO,IAAI;MACb;IACF,CAAC;EACH,CAAC;AACH;AACA,SAASi8E,oBAAoBA,CAAC5mF,IAAI,EAAE;EAClC,OAAO,UAAS,GAAG2iB,IAAI,EAAE;IACvB,IAAI,KAAyC,EAAE,EAM9C;IACD,OAAO3iB,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAGA,IAAI,KAAK,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI;EACrE,CAAC;AACH;AACA,SAAS6mF,sBAAsBA,CAAC7iD,QAAQ,EAAEq4B,OAAO,EAAE;EACjD,MAAMyqB,gBAAgB,GAAG;IACvBp9E,GAAGA,CAAC9D,GAAG,EAAE;MACP,MAAMqF,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;MAC9B,MAAMq7E,SAAS,GAAGvqE,KAAK,CAAC9Q,MAAM,CAAC;MAC/B,MAAM87E,MAAM,GAAGhrE,KAAK,CAACnW,GAAG,CAAC;MACzB,IAAI,CAACo+B,QAAQ,EAAE;QACb,IAAIkD,kEAAU,CAACthC,GAAG,EAAEmhF,MAAM,CAAC,EAAE;UAC3BxiD,KAAK,CAAC+hD,SAAS,EAAE,KAAK,EAAE1gF,GAAG,CAAC;QAC9B;QACA2+B,KAAK,CAAC+hD,SAAS,EAAE,KAAK,EAAES,MAAM,CAAC;MACjC;MACA,MAAM;QAAEl9E;MAAI,CAAC,GAAGu8E,QAAQ,CAACE,SAAS,CAAC;MACnC,MAAMlX,IAAI,GAAG/S,OAAO,GAAG8pB,SAAS,GAAGniD,QAAQ,GAAG2iD,UAAU,GAAGtiD,UAAU;MACrE,IAAIx6B,GAAG,CAACtC,IAAI,CAAC++E,SAAS,EAAE1gF,GAAG,CAAC,EAAE;QAC5B,OAAOwpE,IAAI,CAACnkE,MAAM,CAACvB,GAAG,CAAC9D,GAAG,CAAC,CAAC;MAC9B,CAAC,MAAM,IAAIiE,GAAG,CAACtC,IAAI,CAAC++E,SAAS,EAAES,MAAM,CAAC,EAAE;QACtC,OAAO3X,IAAI,CAACnkE,MAAM,CAACvB,GAAG,CAACq9E,MAAM,CAAC,CAAC;MACjC,CAAC,MAAM,IAAI97E,MAAM,KAAKq7E,SAAS,EAAE;QAC/Br7E,MAAM,CAACvB,GAAG,CAAC9D,GAAG,CAAC;MACjB;IACF,CAAC;IACD,IAAIwf,IAAIA,CAAA,EAAG;MACT,MAAMna,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;MAC9B,CAAC+4B,QAAQ,IAAIO,KAAK,CAACxoB,KAAK,CAAC9Q,MAAM,CAAC,EAAE,SAAS,EAAE43E,WAAW,CAAC;MACzD,OAAOx6B,OAAO,CAAC3+C,GAAG,CAACuB,MAAM,EAAE,MAAM,EAAEA,MAAM,CAAC;IAC5C,CAAC;IACDpB,GAAGA,CAACjE,GAAG,EAAE;MACP,MAAMqF,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;MAC9B,MAAMq7E,SAAS,GAAGvqE,KAAK,CAAC9Q,MAAM,CAAC;MAC/B,MAAM87E,MAAM,GAAGhrE,KAAK,CAACnW,GAAG,CAAC;MACzB,IAAI,CAACo+B,QAAQ,EAAE;QACb,IAAIkD,kEAAU,CAACthC,GAAG,EAAEmhF,MAAM,CAAC,EAAE;UAC3BxiD,KAAK,CAAC+hD,SAAS,EAAE,KAAK,EAAE1gF,GAAG,CAAC;QAC9B;QACA2+B,KAAK,CAAC+hD,SAAS,EAAE,KAAK,EAAES,MAAM,CAAC;MACjC;MACA,OAAOnhF,GAAG,KAAKmhF,MAAM,GAAG97E,MAAM,CAACpB,GAAG,CAACjE,GAAG,CAAC,GAAGqF,MAAM,CAACpB,GAAG,CAACjE,GAAG,CAAC,IAAIqF,MAAM,CAACpB,GAAG,CAACk9E,MAAM,CAAC;IACjF,CAAC;IACDhnF,OAAOA,CAACk0E,QAAQ,EAAE9E,OAAO,EAAE;MACzB,MAAM6X,QAAQ,GAAG,IAAI;MACrB,MAAM/7E,MAAM,GAAG+7E,QAAQ,CAAC,SAAS,CAAC;MAClC,MAAMV,SAAS,GAAGvqE,KAAK,CAAC9Q,MAAM,CAAC;MAC/B,MAAMmkE,IAAI,GAAG/S,OAAO,GAAG8pB,SAAS,GAAGniD,QAAQ,GAAG2iD,UAAU,GAAGtiD,UAAU;MACrE,CAACL,QAAQ,IAAIO,KAAK,CAAC+hD,SAAS,EAAE,SAAS,EAAEzD,WAAW,CAAC;MACrD,OAAO53E,MAAM,CAAClL,OAAO,CAAC,CAACY,KAAK,EAAEiF,GAAG,KAAK;QACpC,OAAOquE,QAAQ,CAAC1sE,IAAI,CAAC4nE,OAAO,EAAEC,IAAI,CAACzuE,KAAK,CAAC,EAAEyuE,IAAI,CAACxpE,GAAG,CAAC,EAAEohF,QAAQ,CAAC;MACjE,CAAC,CAAC;IACJ;EACF,CAAC;EACDzqE,8DAAM,CACJuqE,gBAAgB,EAChB9iD,QAAQ,GAAG;IACT/e,GAAG,EAAE2hE,oBAAoB,CAAC,KAAK,CAAC;IAChC/9E,GAAG,EAAE+9E,oBAAoB,CAAC,KAAK,CAAC;IAChC78E,MAAM,EAAE68E,oBAAoB,CAAC,QAAQ,CAAC;IACtC18E,KAAK,EAAE08E,oBAAoB,CAAC,OAAO;EACrC,CAAC,GAAG;IACF3hE,GAAGA,CAACtkB,KAAK,EAAE;MACT,IAAI,CAAC07D,OAAO,IAAI,CAACl4B,SAAS,CAACxjC,KAAK,CAAC,IAAI,CAACwkC,UAAU,CAACxkC,KAAK,CAAC,EAAE;QACvDA,KAAK,GAAGob,KAAK,CAACpb,KAAK,CAAC;MACtB;MACA,MAAMsK,MAAM,GAAG8Q,KAAK,CAAC,IAAI,CAAC;MAC1B,MAAMkrE,KAAK,GAAGb,QAAQ,CAACn7E,MAAM,CAAC;MAC9B,MAAM46E,MAAM,GAAGoB,KAAK,CAACp9E,GAAG,CAACtC,IAAI,CAAC0D,MAAM,EAAEtK,KAAK,CAAC;MAC5C,IAAI,CAACklF,MAAM,EAAE;QACX56E,MAAM,CAACga,GAAG,CAACtkB,KAAK,CAAC;QACjB+jC,OAAO,CAACz5B,MAAM,EAAE,KAAK,EAAEtK,KAAK,EAAEA,KAAK,CAAC;MACtC;MACA,OAAO,IAAI;IACb,CAAC;IACDkI,GAAGA,CAACjD,GAAG,EAAEjF,KAAK,EAAE;MACd,IAAI,CAAC07D,OAAO,IAAI,CAACl4B,SAAS,CAACxjC,KAAK,CAAC,IAAI,CAACwkC,UAAU,CAACxkC,KAAK,CAAC,EAAE;QACvDA,KAAK,GAAGob,KAAK,CAACpb,KAAK,CAAC;MACtB;MACA,MAAMsK,MAAM,GAAG8Q,KAAK,CAAC,IAAI,CAAC;MAC1B,MAAM;QAAElS,GAAG;QAAEH;MAAI,CAAC,GAAG08E,QAAQ,CAACn7E,MAAM,CAAC;MACrC,IAAI46E,MAAM,GAAGh8E,GAAG,CAACtC,IAAI,CAAC0D,MAAM,EAAErF,GAAG,CAAC;MAClC,IAAI,CAACigF,MAAM,EAAE;QACXjgF,GAAG,GAAGmW,KAAK,CAACnW,GAAG,CAAC;QAChBigF,MAAM,GAAGh8E,GAAG,CAACtC,IAAI,CAAC0D,MAAM,EAAErF,GAAG,CAAC;MAChC,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;MACD,MAAMwiB,QAAQ,GAAG1e,GAAG,CAACnC,IAAI,CAAC0D,MAAM,EAAErF,GAAG,CAAC;MACtCqF,MAAM,CAACpC,GAAG,CAACjD,GAAG,EAAEjF,KAAK,CAAC;MACtB,IAAI,CAACklF,MAAM,EAAE;QACXnhD,OAAO,CAACz5B,MAAM,EAAE,KAAK,EAAErF,GAAG,EAAEjF,KAAK,CAAC;MACpC,CAAC,MAAM,IAAIumC,kEAAU,CAACvmC,KAAK,EAAEynB,QAAQ,CAAC,EAAE;QACtCsc,OAAO,CAACz5B,MAAM,EAAE,KAAK,EAAErF,GAAG,EAAEjF,KAAK,EAAEynB,QAAQ,CAAC;MAC9C;MACA,OAAO,IAAI;IACb,CAAC;IACDre,MAAMA,CAACnE,GAAG,EAAE;MACV,MAAMqF,MAAM,GAAG8Q,KAAK,CAAC,IAAI,CAAC;MAC1B,MAAM;QAAElS,GAAG;QAAEH;MAAI,CAAC,GAAG08E,QAAQ,CAACn7E,MAAM,CAAC;MACrC,IAAI46E,MAAM,GAAGh8E,GAAG,CAACtC,IAAI,CAAC0D,MAAM,EAAErF,GAAG,CAAC;MAClC,IAAI,CAACigF,MAAM,EAAE;QACXjgF,GAAG,GAAGmW,KAAK,CAACnW,GAAG,CAAC;QAChBigF,MAAM,GAAGh8E,GAAG,CAACtC,IAAI,CAAC0D,MAAM,EAAErF,GAAG,CAAC;MAChC,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;MACD,MAAMwiB,QAAQ,GAAG1e,GAAG,GAAGA,GAAG,CAACnC,IAAI,CAAC0D,MAAM,EAAErF,GAAG,CAAC,GAAG,KAAK,CAAC;MACrD,MAAMpE,MAAM,GAAGyJ,MAAM,CAAClB,MAAM,CAACnE,GAAG,CAAC;MACjC,IAAIigF,MAAM,EAAE;QACVnhD,OAAO,CAACz5B,MAAM,EAAE,QAAQ,EAAErF,GAAG,EAAE,KAAK,CAAC,EAAEwiB,QAAQ,CAAC;MAClD;MACA,OAAO5mB,MAAM;IACf,CAAC;IACD0I,KAAKA,CAAA,EAAG;MACN,MAAMe,MAAM,GAAG8Q,KAAK,CAAC,IAAI,CAAC;MAC1B,MAAMorE,QAAQ,GAAGl8E,MAAM,CAACma,IAAI,KAAK,CAAC;MAClC,MAAM69D,SAAS,GAAG,MAAyC,GAAG1Y,CAAiD,GAAG,KAAK,CAAC;MACxH,MAAM/oE,MAAM,GAAGyJ,MAAM,CAACf,KAAK,CAAC,CAAC;MAC7B,IAAIi9E,QAAQ,EAAE;QACZziD,OAAO,CACLz5B,MAAM,EACN,OAAO,EACP,KAAK,CAAC,EACN,KAAK,CAAC,EACNg4E,SACF,CAAC;MACH;MACA,OAAOzhF,MAAM;IACf;EACF,CACF,CAAC;EACD,MAAM4lF,eAAe,GAAG,CACtB,MAAM,EACN,QAAQ,EACR,SAAS,EACTphF,MAAM,CAAC2E,QAAQ,CAChB;EACDy8E,eAAe,CAACrnF,OAAO,CAAEgN,MAAM,IAAK;IAClC+5E,gBAAgB,CAAC/5E,MAAM,CAAC,GAAGs5E,oBAAoB,CAACt5E,MAAM,EAAEi3B,QAAQ,EAAEq4B,OAAO,CAAC;EAC5E,CAAC,CAAC;EACF,OAAOyqB,gBAAgB;AACzB;AACA,SAASO,2BAA2BA,CAAChC,WAAW,EAAEhpB,OAAO,EAAE;EACzD,MAAMyqB,gBAAgB,GAAGD,sBAAsB,CAACxB,WAAW,EAAEhpB,OAAO,CAAC;EACrE,OAAO,CAACpxD,MAAM,EAAErF,GAAG,EAAE25D,QAAQ,KAAK;IAChC,IAAI35D,GAAG,KAAK,gBAAgB,EAAE;MAC5B,OAAO,CAACy/E,WAAW;IACrB,CAAC,MAAM,IAAIz/E,GAAG,KAAK,gBAAgB,EAAE;MACnC,OAAOy/E,WAAW;IACpB,CAAC,MAAM,IAAIz/E,GAAG,KAAK,SAAS,EAAE;MAC5B,OAAOqF,MAAM;IACf;IACA,OAAOo9C,OAAO,CAAC3+C,GAAG,CAChBwT,8DAAM,CAAC4pE,gBAAgB,EAAElhF,GAAG,CAAC,IAAIA,GAAG,IAAIqF,MAAM,GAAG67E,gBAAgB,GAAG77E,MAAM,EAC1ErF,GAAG,EACH25D,QACF,CAAC;EACH,CAAC;AACH;AACA,MAAM+nB,yBAAyB,GAAG;EAChC59E,GAAG,EAAE,eAAgB29E,2BAA2B,CAAC,KAAK,EAAE,KAAK;AAC/D,CAAC;AACD,MAAME,yBAAyB,GAAG;EAChC79E,GAAG,EAAE,eAAgB29E,2BAA2B,CAAC,KAAK,EAAE,IAAI;AAC9D,CAAC;AACD,MAAMG,0BAA0B,GAAG;EACjC99E,GAAG,EAAE,eAAgB29E,2BAA2B,CAAC,IAAI,EAAE,KAAK;AAC9D,CAAC;AACD,MAAMI,iCAAiC,GAAG;EACxC/9E,GAAG,EAAE,eAAgB29E,2BAA2B,CAAC,IAAI,EAAE,IAAI;AAC7D,CAAC;AACD,SAASH,iBAAiBA,CAACj8E,MAAM,EAAEpB,GAAG,EAAEjE,GAAG,EAAE;EAC3C,MAAMmhF,MAAM,GAAGhrE,KAAK,CAACnW,GAAG,CAAC;EACzB,IAAImhF,MAAM,KAAKnhF,GAAG,IAAIiE,GAAG,CAACtC,IAAI,CAAC0D,MAAM,EAAE87E,MAAM,CAAC,EAAE;IAC9C,MAAM/mF,IAAI,GAAGgnC,SAAS,CAAC/7B,MAAM,CAAC;IAC9BlK,IAAI,CACF,YAAYf,IAAI,kEAAkEA,IAAI,KAAK,KAAK,GAAG,UAAU,GAAG,EAAE,8JACpH,CAAC;EACH;AACF;AAEA,MAAM0lF,WAAW,GAAG,eAAgB,IAAInwD,OAAO,CAAC,CAAC;AACjD,MAAMkwD,kBAAkB,GAAG,eAAgB,IAAIlwD,OAAO,CAAC,CAAC;AACxD,MAAMiwD,WAAW,GAAG,eAAgB,IAAIjwD,OAAO,CAAC,CAAC;AACjD,MAAMgwD,kBAAkB,GAAG,eAAgB,IAAIhwD,OAAO,CAAC,CAAC;AACxD,SAASmyD,aAAaA,CAACC,OAAO,EAAE;EAC9B,QAAQA,OAAO;IACb,KAAK,QAAQ;IACb,KAAK,OAAO;MACV,OAAO,CAAC,CAAC;IACX,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,SAAS;IACd,KAAK,SAAS;MACZ,OAAO,CAAC,CAAC;IACX;MACE,OAAO,CAAC,CAAC;EACb;AACF;AACA,SAASC,aAAaA,CAACjnF,KAAK,EAAE;EAC5B,OAAOA,KAAK,CAAC,UAAU,CAAC,IAAI,CAACW,MAAM,CAACumF,YAAY,CAAClnF,KAAK,CAAC,GAAG,CAAC,CAAC,gBAAgB+mF,aAAa,CAAC1gD,iEAAS,CAACrmC,KAAK,CAAC,CAAC;AAC7G;AACA,SAAS6jC,QAAQA,CAACv5B,MAAM,EAAE;EACxB,IAAIk6B,UAAU,CAACl6B,MAAM,CAAC,EAAE;IACtB,OAAOA,MAAM;EACf;EACA,OAAO68E,oBAAoB,CACzB78E,MAAM,EACN,KAAK,EACL86E,eAAe,EACfuB,yBAAyB,EACzB5B,WACF,CAAC;AACH;AACA,SAASjhD,eAAeA,CAACx5B,MAAM,EAAE;EAC/B,OAAO68E,oBAAoB,CACzB78E,MAAM,EACN,KAAK,EACLg7E,uBAAuB,EACvBsB,yBAAyB,EACzB9B,kBACF,CAAC;AACH;AACA,SAASzhD,QAAQA,CAAC/4B,MAAM,EAAE;EACxB,OAAO68E,oBAAoB,CACzB78E,MAAM,EACN,IAAI,EACJ+6E,gBAAgB,EAChBwB,0BAA0B,EAC1BhC,WACF,CAAC;AACH;AACA,SAASlhD,eAAeA,CAACr5B,MAAM,EAAE;EAC/B,OAAO68E,oBAAoB,CACzB78E,MAAM,EACN,IAAI,EACJi7E,uBAAuB,EACvBuB,iCAAiC,EACjClC,kBACF,CAAC;AACH;AACA,SAASuC,oBAAoBA,CAAC78E,MAAM,EAAEo6E,WAAW,EAAE0C,YAAY,EAAEC,kBAAkB,EAAEC,QAAQ,EAAE;EAC7F,IAAI,CAACz2E,gEAAQ,CAACvG,MAAM,CAAC,EAAE;IACrB,IAAI,KAAyC,EAAE,EAM9C;IACD,OAAOA,MAAM;EACf;EACA,IAAIA,MAAM,CAAC,SAAS,CAAC,IAAI,EAAEo6E,WAAW,IAAIp6E,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE;IACnE,OAAOA,MAAM;EACf;EACA,MAAMi9E,aAAa,GAAGD,QAAQ,CAACv+E,GAAG,CAACuB,MAAM,CAAC;EAC1C,IAAIi9E,aAAa,EAAE;IACjB,OAAOA,aAAa;EACtB;EACA,MAAMC,UAAU,GAAGP,aAAa,CAAC38E,MAAM,CAAC;EACxC,IAAIk9E,UAAU,KAAK,CAAC,CAAC,eAAe;IAClC,OAAOl9E,MAAM;EACf;EACA,MAAM6I,KAAK,GAAG,IAAI2tB,KAAK,CACrBx2B,MAAM,EACNk9E,UAAU,KAAK,CAAC,CAAC,mBAAmBH,kBAAkB,GAAGD,YAC3D,CAAC;EACDE,QAAQ,CAACp/E,GAAG,CAACoC,MAAM,EAAE6I,KAAK,CAAC;EAC3B,OAAOA,KAAK;AACd;AACA,SAASmwB,UAAUA,CAACtjC,KAAK,EAAE;EACzB,IAAIwkC,UAAU,CAACxkC,KAAK,CAAC,EAAE;IACrB,OAAOsjC,UAAU,CAACtjC,KAAK,CAAC,SAAS,CAAC,CAAC;EACrC;EACA,OAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC7C;AACA,SAASwkC,UAAUA,CAACxkC,KAAK,EAAE;EACzB,OAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC7C;AACA,SAASwjC,SAASA,CAACxjC,KAAK,EAAE;EACxB,OAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC,eAAe,CAAC,CAAC;AAC5C;AACA,SAASmkC,OAAOA,CAACnkC,KAAK,EAAE;EACtB,OAAOA,KAAK,GAAG,CAAC,CAACA,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK;AAC3C;AACA,SAASob,KAAKA,CAACirE,QAAQ,EAAE;EACvB,MAAMpmD,GAAG,GAAGomD,QAAQ,IAAIA,QAAQ,CAAC,SAAS,CAAC;EAC3C,OAAOpmD,GAAG,GAAG7kB,KAAK,CAAC6kB,GAAG,CAAC,GAAGomD,QAAQ;AACpC;AACA,SAAShiD,OAAOA,CAACrkC,KAAK,EAAE;EACtB,IAAI,CAACuc,8DAAM,CAACvc,KAAK,EAAE,UAAU,CAAC,IAAIW,MAAM,CAACumF,YAAY,CAAClnF,KAAK,CAAC,EAAE;IAC5D0uB,2DAAG,CAAC1uB,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;EAC9B;EACA,OAAOA,KAAK;AACd;AACA,MAAM0jC,UAAU,GAAI1jC,KAAK,IAAK6Q,gEAAQ,CAAC7Q,KAAK,CAAC,GAAG6jC,QAAQ,CAAC7jC,KAAK,CAAC,GAAGA,KAAK;AACvE,MAAMgmF,UAAU,GAAIhmF,KAAK,IAAK6Q,gEAAQ,CAAC7Q,KAAK,CAAC,GAAGqjC,QAAQ,CAACrjC,KAAK,CAAC,GAAGA,KAAK;AAEvE,SAASkjC,KAAKA,CAAC6T,CAAC,EAAE;EAChB,OAAOA,CAAC,GAAGA,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,KAAK;AAC5C;AACA,SAASxT,GAAGA,CAACvjC,KAAK,EAAE;EAClB,OAAOynF,SAAS,CAACznF,KAAK,EAAE,KAAK,CAAC;AAChC;AACA,SAASojC,UAAUA,CAACpjC,KAAK,EAAE;EACzB,OAAOynF,SAAS,CAACznF,KAAK,EAAE,IAAI,CAAC;AAC/B;AACA,SAASynF,SAASA,CAACpK,QAAQ,EAAE3hB,OAAO,EAAE;EACpC,IAAIx4B,KAAK,CAACm6C,QAAQ,CAAC,EAAE;IACnB,OAAOA,QAAQ;EACjB;EACA,OAAO,IAAIqK,OAAO,CAACrK,QAAQ,EAAE3hB,OAAO,CAAC;AACvC;AACA,MAAMgsB,OAAO,CAAC;EACZ1/E,WAAWA,CAAChI,KAAK,EAAE2kF,UAAU,EAAE;IAC7B,IAAI,CAAChE,GAAG,GAAG,IAAIkB,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;IACxB,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK;IAC7B,IAAI,CAAC8F,SAAS,GAAGhD,UAAU,GAAG3kF,KAAK,GAAGob,KAAK,CAACpb,KAAK,CAAC;IAClD,IAAI,CAACuI,MAAM,GAAGo8E,UAAU,GAAG3kF,KAAK,GAAG0jC,UAAU,CAAC1jC,KAAK,CAAC;IACpD,IAAI,CAAC,eAAe,CAAC,GAAG2kF,UAAU;EACpC;EACA,IAAI3kF,KAAKA,CAAA,EAAG;IACV,IAAI,KAAyC,EAAE,EAM9C,MAAM;MACL,IAAI,CAAC2gF,GAAG,CAAC/8C,KAAK,CAAC,CAAC;IAClB;IACA,OAAO,IAAI,CAACr7B,MAAM;EACpB;EACA,IAAIvI,KAAKA,CAAC6rB,QAAQ,EAAE;IAClB,MAAMpE,QAAQ,GAAG,IAAI,CAACkgE,SAAS;IAC/B,MAAMC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAIpkD,SAAS,CAAC3X,QAAQ,CAAC,IAAI2Y,UAAU,CAAC3Y,QAAQ,CAAC;IAC3FA,QAAQ,GAAG+7D,cAAc,GAAG/7D,QAAQ,GAAGzQ,KAAK,CAACyQ,QAAQ,CAAC;IACtD,IAAI0a,kEAAU,CAAC1a,QAAQ,EAAEpE,QAAQ,CAAC,EAAE;MAClC,IAAI,CAACkgE,SAAS,GAAG97D,QAAQ;MACzB,IAAI,CAACtjB,MAAM,GAAGq/E,cAAc,GAAG/7D,QAAQ,GAAG6X,UAAU,CAAC7X,QAAQ,CAAC;MAC9D,IAAI,KAAyC,EAAE,EAQ9C,MAAM;QACL,IAAI,CAAC80D,GAAG,CAAC58C,OAAO,CAAC,CAAC;MACpB;IACF;EACF;AACF;AACA,SAASqB,UAAUA,CAAC0a,IAAI,EAAE;EACxB,IAAIA,IAAI,CAAC6gC,GAAG,EAAE;IACZ,IAAI,KAAyC,EAAE,EAO9C,MAAM;MACL7gC,IAAI,CAAC6gC,GAAG,CAAC58C,OAAO,CAAC,CAAC;IACpB;EACF;AACF;AACA,SAAS/oB,KAAKA,CAAC8kC,IAAI,EAAE;EACnB,OAAO5c,KAAK,CAAC4c,IAAI,CAAC,GAAGA,IAAI,CAAC9/C,KAAK,GAAG8/C,IAAI;AACxC;AACA,SAAS3a,OAAOA,CAAC55B,MAAM,EAAE;EACvB,OAAO5E,UAAU,CAAC4E,MAAM,CAAC,GAAGA,MAAM,CAAC,CAAC,GAAGyP,KAAK,CAACzP,MAAM,CAAC;AACtD;AACA,MAAMs8E,qBAAqB,GAAG;EAC5B9+E,GAAG,EAAEA,CAACuB,MAAM,EAAErF,GAAG,EAAE25D,QAAQ,KAAK35D,GAAG,KAAK,SAAS,GAAGqF,MAAM,GAAG0Q,KAAK,CAAC0sC,OAAO,CAAC3+C,GAAG,CAACuB,MAAM,EAAErF,GAAG,EAAE25D,QAAQ,CAAC,CAAC;EACtG12D,GAAG,EAAEA,CAACoC,MAAM,EAAErF,GAAG,EAAEjF,KAAK,EAAE4+D,QAAQ,KAAK;IACrC,MAAMn3C,QAAQ,GAAGnd,MAAM,CAACrF,GAAG,CAAC;IAC5B,IAAIi+B,KAAK,CAACzb,QAAQ,CAAC,IAAI,CAACyb,KAAK,CAACljC,KAAK,CAAC,EAAE;MACpCynB,QAAQ,CAACznB,KAAK,GAAGA,KAAK;MACtB,OAAO,IAAI;IACb,CAAC,MAAM;MACL,OAAO0nD,OAAO,CAACx/C,GAAG,CAACoC,MAAM,EAAErF,GAAG,EAAEjF,KAAK,EAAE4+D,QAAQ,CAAC;IAClD;EACF;AACF,CAAC;AACD,SAASx6B,SAASA,CAAC0jD,cAAc,EAAE;EACjC,OAAOxkD,UAAU,CAACwkD,cAAc,CAAC,GAAGA,cAAc,GAAG,IAAIhnD,KAAK,CAACgnD,cAAc,EAAED,qBAAqB,CAAC;AACvG;AACA,MAAME,aAAa,CAAC;EAClB//E,WAAWA,CAACggF,OAAO,EAAE;IACnB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;IACxB,IAAI,CAACz/E,MAAM,GAAG,KAAK,CAAC;IACpB,MAAMo4E,GAAG,GAAG,IAAI,CAACA,GAAG,GAAG,IAAIkB,GAAG,CAAC,CAAC;IAChC,MAAM;MAAE94E,GAAG;MAAEb;IAAI,CAAC,GAAG8/E,OAAO,CAACrH,GAAG,CAAC/8C,KAAK,CAACrR,IAAI,CAACouD,GAAG,CAAC,EAAEA,GAAG,CAAC58C,OAAO,CAACxR,IAAI,CAACouD,GAAG,CAAC,CAAC;IACxE,IAAI,CAACsH,IAAI,GAAGl/E,GAAG;IACf,IAAI,CAACm/E,IAAI,GAAGhgF,GAAG;EACjB;EACA,IAAIlI,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACuI,MAAM,GAAG,IAAI,CAAC0/E,IAAI,CAAC,CAAC;EAClC;EACA,IAAIjoF,KAAKA,CAACmoF,MAAM,EAAE;IAChB,IAAI,CAACD,IAAI,CAACC,MAAM,CAAC;EACnB;AACF;AACA,SAASjkD,SAASA,CAAC8jD,OAAO,EAAE;EAC1B,OAAO,IAAID,aAAa,CAACC,OAAO,CAAC;AACnC;AACA,SAAS9iD,MAAMA,CAACyjC,MAAM,EAAE;EACtB,IAAI,KAA6D,EAAE,EAElE;EACD,MAAMryB,GAAG,GAAG1wC,+DAAO,CAAC+iE,MAAM,CAAC,GAAG,IAAIvgD,KAAK,CAACugD,MAAM,CAAC/nE,MAAM,CAAC,GAAG,CAAC,CAAC;EAC3D,KAAK,MAAMqE,GAAG,IAAI0jE,MAAM,EAAE;IACxBryB,GAAG,CAACrxC,GAAG,CAAC,GAAGmjF,aAAa,CAACzf,MAAM,EAAE1jE,GAAG,CAAC;EACvC;EACA,OAAOqxC,GAAG;AACZ;AACA,MAAM+xC,aAAa,CAAC;EAClBrgF,WAAWA,CAACsgF,OAAO,EAAEja,IAAI,EAAEka,aAAa,EAAE;IACxC,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACja,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACka,aAAa,GAAGA,aAAa;IAClC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;IACxB,IAAI,CAAChgF,MAAM,GAAG,KAAK,CAAC;EACtB;EACA,IAAIvI,KAAKA,CAAA,EAAG;IACV,MAAM2Y,GAAG,GAAG,IAAI,CAAC2vE,OAAO,CAAC,IAAI,CAACja,IAAI,CAAC;IACnC,OAAO,IAAI,CAAC9lE,MAAM,GAAGoQ,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC4vE,aAAa,GAAG5vE,GAAG;EAChE;EACA,IAAI3Y,KAAKA,CAACmoF,MAAM,EAAE;IAChB,IAAI,CAACG,OAAO,CAAC,IAAI,CAACja,IAAI,CAAC,GAAG8Z,MAAM;EAClC;EACA,IAAIxH,GAAGA,CAAA,EAAG;IACR,OAAO8B,kBAAkB,CAACrnE,KAAK,CAAC,IAAI,CAACktE,OAAO,CAAC,EAAE,IAAI,CAACja,IAAI,CAAC;EAC3D;AACF;AACA,MAAMma,aAAa,CAAC;EAClBxgF,WAAWA,CAACygF,OAAO,EAAE;IACnB,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;IACxB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAC7B,IAAI,CAAClgF,MAAM,GAAG,KAAK,CAAC;EACtB;EACA,IAAIvI,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACuI,MAAM,GAAG,IAAI,CAACkgF,OAAO,CAAC,CAAC;EACrC;AACF;AACA,SAASxjD,KAAKA,CAAC15B,MAAM,EAAEtG,GAAG,EAAE66B,YAAY,EAAE;EACxC,IAAIoD,KAAK,CAAC33B,MAAM,CAAC,EAAE;IACjB,OAAOA,MAAM;EACf,CAAC,MAAM,IAAI5E,UAAU,CAAC4E,MAAM,CAAC,EAAE;IAC7B,OAAO,IAAIi9E,aAAa,CAACj9E,MAAM,CAAC;EAClC,CAAC,MAAM,IAAIsF,QAAQ,CAACtF,MAAM,CAAC,IAAIijD,SAAS,CAAC5tD,MAAM,GAAG,CAAC,EAAE;IACnD,OAAOwnF,aAAa,CAAC78E,MAAM,EAAEtG,GAAG,EAAE66B,YAAY,CAAC;EACjD,CAAC,MAAM;IACL,OAAOyD,GAAG,CAACh4B,MAAM,CAAC;EACpB;AACF;AACA,SAAS68E,aAAaA,CAAC78E,MAAM,EAAEtG,GAAG,EAAE66B,YAAY,EAAE;EAChD,MAAMnnB,GAAG,GAAGpN,MAAM,CAACtG,GAAG,CAAC;EACvB,OAAOi+B,KAAK,CAACvqB,GAAG,CAAC,GAAGA,GAAG,GAAG,IAAI0vE,aAAa,CAAC98E,MAAM,EAAEtG,GAAG,EAAE66B,YAAY,CAAC;AACxE;AAEA,MAAM4oD,eAAe,CAAC;EACpB1gF,WAAWA,CAAC8R,EAAE,EAAEurD,MAAM,EAAErW,KAAK,EAAE;IAC7B,IAAI,CAACl1C,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACurD,MAAM,GAAGA,MAAM;IACpB;AACJ;AACA;IACI,IAAI,CAAC98D,MAAM,GAAG,KAAK,CAAC;IACpB;AACJ;AACA;IACI,IAAI,CAACo4E,GAAG,GAAG,IAAIkB,GAAG,CAAC,IAAI,CAAC;IACxB;AACJ;AACA;IACI,IAAI,CAAC8G,SAAS,GAAG,IAAI;IACrB;IACA;IACA;AACJ;AACA;IACI,IAAI,CAACvtB,IAAI,GAAG,KAAK,CAAC;IAClB;AACJ;AACA;IACI,IAAI,CAAC+jB,QAAQ,GAAG,KAAK,CAAC;IACtB;AACJ;AACA;IACI,IAAI,CAACl1C,KAAK,GAAG,EAAE;IACf;AACJ;AACA;IACI,IAAI,CAACg3C,aAAa,GAAGA,aAAa,GAAG,CAAC;IACtC;AACJ;AACA;IACI,IAAI,CAAC/2D,IAAI,GAAG,KAAK,CAAC;IAClB;IACA,IAAI,CAACya,MAAM,GAAG,IAAI;IAClB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC0gC,MAAM;IAChC,IAAI,CAACrW,KAAK,GAAGA,KAAK;EACpB;EACA;AACF;AACA;EACEqwB,MAAMA,CAAA,EAAG;IACP,IAAI,CAACp1C,KAAK,IAAI,EAAE;IAChB,IAAI,EAAE,IAAI,CAACA,KAAK,GAAG,CAAC,CAAC;IAAI;IACzB+0C,SAAS,KAAK,IAAI,EAAE;MAClBM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;MACjB,OAAO,IAAI;IACb,CAAC,MAAM,IAAI,KAAyC,EAAE,EAAC;EACzD;EACA,IAAIt/E,KAAKA,CAAA,EAAG;IACV,MAAM6/E,IAAI,GAAG,MAAyC,GAAG,CAIvD,GAAG,IAAI,CAACc,GAAG,CAAC/8C,KAAK,CAAC,CAAC;IACrBm9C,eAAe,CAAC,IAAI,CAAC;IACrB,IAAIlB,IAAI,EAAE;MACRA,IAAI,CAAClgF,OAAO,GAAG,IAAI,CAACghF,GAAG,CAAChhF,OAAO;IACjC;IACA,OAAO,IAAI,CAAC4I,MAAM;EACpB;EACA,IAAIvI,KAAKA,CAAC6rB,QAAQ,EAAE;IAClB,IAAI,IAAI,CAACw5C,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACx5C,QAAQ,CAAC;IACvB,CAAC,MAAM,IAAI,KAAyC,EAAE,EAErD;EACH;AACF;AACA,SAASxhB,QAAQA,CAACk9D,eAAe,EAAEC,YAAY,EAAExY,KAAK,GAAG,KAAK,EAAE;EAC9D,IAAIjnC,MAAM;EACV,IAAIs9C,MAAM;EACV,IAAI1+D,kEAAU,CAAC4gE,eAAe,CAAC,EAAE;IAC/Bx/C,MAAM,GAAGw/C,eAAe;EAC1B,CAAC,MAAM;IACLx/C,MAAM,GAAGw/C,eAAe,CAACx+D,GAAG;IAC5Bs8D,MAAM,GAAGkC,eAAe,CAACr/D,GAAG;EAC9B;EACA,MAAM0gF,IAAI,GAAG,IAAIF,eAAe,CAAC3gE,MAAM,EAAEs9C,MAAM,EAAErW,KAAK,CAAC;EACvD,IAAI,KAAmE,EAAE,EAGxE;EACD,OAAO45B,IAAI;AACb;AAEA,MAAMnkD,YAAY,GAAG;EACnB,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE;AACb,CAAC;AACD,MAAMC,cAAc,GAAG;EACrB,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,KAAK;EACZ,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE;AACX,CAAC;AACD,MAAMmkD,aAAa,GAAG;EACpB,MAAM,EAAE,UAAU;EAClB,aAAa,EAAE,gBAAgB;EAC/B,aAAa,EAAE,gBAAgB;EAC/B,YAAY,EAAE,eAAe;EAC7B,KAAK,EAAE,SAAS;EAChB,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,eAAe,GAAG;EACtB,cAAc,EAAE,CAAC;EACjB,GAAG,EAAE,cAAc;EACnB,gBAAgB,EAAE,CAAC;EACnB,GAAG,EAAE,gBAAgB;EACrB,eAAe,EAAE,CAAC;EAClB,GAAG,EAAE;AACP,CAAC;AACD,MAAMC,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAMC,UAAU,GAAG,eAAgB,IAAIp0D,OAAO,CAAC,CAAC;AAChD,IAAIq0D,aAAa,GAAG,KAAK,CAAC;AAC1B,SAASnkD,iBAAiBA,CAAA,EAAG;EAC3B,OAAOmkD,aAAa;AACtB;AACA,SAASjkD,gBAAgBA,CAACkpB,SAAS,EAAE6wB,YAAY,GAAG,KAAK,EAAE/rD,KAAK,GAAGi2D,aAAa,EAAE;EAChF,IAAIj2D,KAAK,EAAE;IACT,IAAIyrD,QAAQ,GAAGuK,UAAU,CAACjgF,GAAG,CAACiqB,KAAK,CAAC;IACpC,IAAI,CAACyrD,QAAQ,EAAEuK,UAAU,CAAC9gF,GAAG,CAAC8qB,KAAK,EAAEyrD,QAAQ,GAAG,EAAE,CAAC;IACnDA,QAAQ,CAACnrE,IAAI,CAAC46C,SAAS,CAAC;EAC1B,CAAC,MAAM,IAAI,KAA0D,EAAE,EAItE;AACH;AACA,SAAS1zC,KAAKA,CAACjP,MAAM,EAAEmZ,EAAE,EAAEpkB,OAAO,GAAGkc,6DAAS,EAAE;EAC9C,MAAM;IAAE6/C,SAAS;IAAEzkC,IAAI;IAAEimB,IAAI;IAAEwa,SAAS;IAAE2E,UAAU;IAAEp2D;EAAK,CAAC,GAAGtG,OAAO;EACtE,MAAM4oF,iBAAiB,GAAI5iE,CAAC,IAAK;IAC/B,CAAChmB,OAAO,CAACi8D,MAAM,IAAIn8D,IAAI,EACrB,wBAAwB,EACxBkmB,CAAC,EACD,4GACF,CAAC;EACH,CAAC;EACD,MAAM6iE,cAAc,GAAIC,OAAO,IAAK;IAClC,IAAIxxD,IAAI,EAAE,OAAOwxD,OAAO;IACxB,IAAI5lD,SAAS,CAAC4lD,OAAO,CAAC,IAAIxxD,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,CAAC,EACpD,OAAOuL,QAAQ,CAACimD,OAAO,EAAE,CAAC,CAAC;IAC7B,OAAOjmD,QAAQ,CAACimD,OAAO,CAAC;EAC1B,CAAC;EACD,IAAIzkD,MAAM;EACV,IAAI5c,MAAM;EACV,IAAIq3D,OAAO;EACX,IAAIiK,YAAY;EAChB,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,aAAa,GAAG,KAAK;EACzB,IAAIrmD,KAAK,CAAC33B,MAAM,CAAC,EAAE;IACjBwc,MAAM,GAAGA,CAAA,KAAMxc,MAAM,CAACvL,KAAK;IAC3BspF,YAAY,GAAG9lD,SAAS,CAACj4B,MAAM,CAAC;EAClC,CAAC,MAAM,IAAI+3B,UAAU,CAAC/3B,MAAM,CAAC,EAAE;IAC7Bwc,MAAM,GAAGA,CAAA,KAAMohE,cAAc,CAAC59E,MAAM,CAAC;IACrC+9E,YAAY,GAAG,IAAI;EACrB,CAAC,MAAM,IAAI1jF,+DAAO,CAAC2F,MAAM,CAAC,EAAE;IAC1Bg+E,aAAa,GAAG,IAAI;IACpBD,YAAY,GAAG/9E,MAAM,CAAC4W,IAAI,CAAEmE,CAAC,IAAKgd,UAAU,CAAChd,CAAC,CAAC,IAAIkd,SAAS,CAACld,CAAC,CAAC,CAAC;IAChEyB,MAAM,GAAGA,CAAA,KAAMxc,MAAM,CAAC1F,GAAG,CAAEygB,CAAC,IAAK;MAC/B,IAAI4c,KAAK,CAAC5c,CAAC,CAAC,EAAE;QACZ,OAAOA,CAAC,CAACtmB,KAAK;MAChB,CAAC,MAAM,IAAIsjC,UAAU,CAAChd,CAAC,CAAC,EAAE;QACxB,OAAO6iE,cAAc,CAAC7iE,CAAC,CAAC;MAC1B,CAAC,MAAM,IAAI3f,kEAAU,CAAC2f,CAAC,CAAC,EAAE;QACxB,OAAO1f,IAAI,GAAGA,IAAI,CAAC0f,CAAC,EAAE,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC;MAChC,CAAC,MAAM;QACL,MAAyC,IAAI4iE,CAAoB;MACnE;IACF,CAAC,CAAC;EACJ,CAAC,MAAM,IAAIviF,kEAAU,CAAC4E,MAAM,CAAC,EAAE;IAC7B,IAAImZ,EAAE,EAAE;MACNqD,MAAM,GAAGnhB,IAAI,GAAG,MAAMA,IAAI,CAAC2E,MAAM,EAAE,CAAC,CAAC,GAAGA,MAAM;IAChD,CAAC,MAAM;MACLwc,MAAM,GAAGA,CAAA,KAAM;QACb,IAAIq3D,OAAO,EAAE;UACXp8C,aAAa,CAAC,CAAC;UACf,IAAI;YACFo8C,OAAO,CAAC,CAAC;UACX,CAAC,SAAS;YACRn8C,aAAa,CAAC,CAAC;UACjB;QACF;QACA,MAAMumD,aAAa,GAAGP,aAAa;QACnCA,aAAa,GAAGtkD,MAAM;QACtB,IAAI;UACF,OAAO/9B,IAAI,GAAGA,IAAI,CAAC2E,MAAM,EAAE,CAAC,EAAE,CAAC89E,YAAY,CAAC,CAAC,GAAG99E,MAAM,CAAC89E,YAAY,CAAC;QACtE,CAAC,SAAS;UACRJ,aAAa,GAAGO,aAAa;QAC/B;MACF,CAAC;IACH;EACF,CAAC,MAAM;IACLzhE,MAAM,GAAGjM,wDAAI;IACb,MAAyC,IAAIotE,CAAyB;EACxE;EACA,IAAIxkE,EAAE,IAAIkT,IAAI,EAAE;IACd,MAAM6xD,UAAU,GAAG1hE,MAAM;IACzB,MAAMq2B,KAAK,GAAGxmB,IAAI,KAAK,IAAI,GAAGiH,QAAQ,GAAGjH,IAAI;IAC7C7P,MAAM,GAAGA,CAAA,KAAMob,QAAQ,CAACsmD,UAAU,CAAC,CAAC,EAAErrC,KAAK,CAAC;EAC9C;EACA,MAAM6Z,KAAK,GAAGpzB,eAAe,CAAC,CAAC;EAC/B,MAAMo4B,WAAW,GAAGA,CAAA,KAAM;IACxBt4B,MAAM,CAAC1K,IAAI,CAAC,CAAC;IACb,IAAIg+B,KAAK,IAAIA,KAAK,CAAC2mB,MAAM,EAAE;MACzBxgE,8DAAM,CAAC65C,KAAK,CAACxuC,OAAO,EAAEkb,MAAM,CAAC;IAC/B;EACF,CAAC;EACD,IAAIkZ,IAAI,IAAIn5B,EAAE,EAAE;IACd,MAAMglE,GAAG,GAAGhlE,EAAE;IACdA,EAAE,GAAGA,CAAC,GAAG1C,IAAI,KAAK;MAChB0nE,GAAG,CAAC,GAAG1nE,IAAI,CAAC;MACZi7C,WAAW,CAAC,CAAC;IACf,CAAC;EACH;EACA,IAAIx1C,QAAQ,GAAG8hE,aAAa,GAAG,IAAInhE,KAAK,CAAC7c,MAAM,CAAC3K,MAAM,CAAC,CAAC+oF,IAAI,CAACZ,qBAAqB,CAAC,GAAGA,qBAAqB;EAC3G,MAAM5+C,GAAG,GAAIy/C,iBAAiB,IAAK;IACjC,IAAI,EAAEjlD,MAAM,CAACsF,KAAK,GAAG,CAAC,CAAC,IAAI,CAACtF,MAAM,CAACu7C,KAAK,IAAI,CAAC0J,iBAAiB,EAAE;MAC9D;IACF;IACA,IAAIllE,EAAE,EAAE;MACN,MAAMmH,QAAQ,GAAG8Y,MAAM,CAACwzB,GAAG,CAAC,CAAC;MAC7B,IAAIvgC,IAAI,IAAI0xD,YAAY,KAAKC,aAAa,GAAG19D,QAAQ,CAAC1J,IAAI,CAAC,CAACuI,CAAC,EAAEprB,CAAC,KAAKinC,kEAAU,CAAC7b,CAAC,EAAEjD,QAAQ,CAACnoB,CAAC,CAAC,CAAC,CAAC,GAAGinC,kEAAU,CAAC1a,QAAQ,EAAEpE,QAAQ,CAAC,CAAC,EAAE;QAClI,IAAI23D,OAAO,EAAE;UACXA,OAAO,CAAC,CAAC;QACX;QACA,MAAMyK,cAAc,GAAGZ,aAAa;QACpCA,aAAa,GAAGtkD,MAAM;QACtB,IAAI;UACF,MAAM3iB,IAAI,GAAG,CACX6J,QAAQ;UACR;UACApE,QAAQ,KAAKshE,qBAAqB,GAAG,KAAK,CAAC,GAAGQ,aAAa,IAAI9hE,QAAQ,CAAC,CAAC,CAAC,KAAKshE,qBAAqB,GAAG,EAAE,GAAGthE,QAAQ,EACpH4hE,YAAY,CACb;UACDziF,IAAI,GAAGA,IAAI,CAAC8d,EAAE,EAAE,CAAC,EAAE1C,IAAI,CAAC;UACtB;UACA0C,EAAE,CAAC,GAAG1C,IAAI,CACX;UACDyF,QAAQ,GAAGoE,QAAQ;QACrB,CAAC,SAAS;UACRo9D,aAAa,GAAGY,cAAc;QAChC;MACF;IACF,CAAC,MAAM;MACLllD,MAAM,CAACwzB,GAAG,CAAC,CAAC;IACd;EACF,CAAC;EACD,IAAI6E,UAAU,EAAE;IACdA,UAAU,CAAC7yB,GAAG,CAAC;EACjB;EACAxF,MAAM,GAAG,IAAIX,cAAc,CAACjc,MAAM,CAAC;EACnC4c,MAAM,CAAC0zB,SAAS,GAAGA,SAAS,GAAG,MAAMA,SAAS,CAACluB,GAAG,EAAE,KAAK,CAAC,GAAGA,GAAG;EAChEk/C,YAAY,GAAIvvE,EAAE,IAAKkrB,gBAAgB,CAAClrB,EAAE,EAAE,KAAK,EAAE6qB,MAAM,CAAC;EAC1Dy6C,OAAO,GAAGz6C,MAAM,CAACq7C,MAAM,GAAG,MAAM;IAC9B,MAAMvB,QAAQ,GAAGuK,UAAU,CAACjgF,GAAG,CAAC47B,MAAM,CAAC;IACvC,IAAI85C,QAAQ,EAAE;MACZ,IAAI73E,IAAI,EAAE;QACRA,IAAI,CAAC63E,QAAQ,EAAE,CAAC,CAAC;MACnB,CAAC,MAAM;QACL,KAAK,MAAMqL,QAAQ,IAAIrL,QAAQ,EAAEqL,QAAQ,CAAC,CAAC;MAC7C;MACAd,UAAU,CAAC5/E,MAAM,CAACu7B,MAAM,CAAC;IAC3B;EACF,CAAC;EACD,IAAI,KAAyC,EAAE,EAG9C;EACD,IAAIjgB,EAAE,EAAE;IACN,IAAI23C,SAAS,EAAE;MACblyB,GAAG,CAAC,IAAI,CAAC;IACX,CAAC,MAAM;MACL1iB,QAAQ,GAAGkd,MAAM,CAACwzB,GAAG,CAAC,CAAC;IACzB;EACF,CAAC,MAAM,IAAIE,SAAS,EAAE;IACpBA,SAAS,CAACluB,GAAG,CAAC5X,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;EACvC,CAAC,MAAM;IACLoS,MAAM,CAACwzB,GAAG,CAAC,CAAC;EACd;EACA8E,WAAW,CAACJ,KAAK,GAAGl4B,MAAM,CAACk4B,KAAK,CAACtqC,IAAI,CAACoS,MAAM,CAAC;EAC7Cs4B,WAAW,CAACL,MAAM,GAAGj4B,MAAM,CAACi4B,MAAM,CAACrqC,IAAI,CAACoS,MAAM,CAAC;EAC/Cs4B,WAAW,CAAChjC,IAAI,GAAGgjC,WAAW;EAC9B,OAAOA,WAAW;AACpB;AACA,SAAS95B,QAAQA,CAACnjC,KAAK,EAAEo+C,KAAK,GAAGvf,QAAQ,EAAE4L,IAAI,EAAE;EAC/C,IAAI2T,KAAK,IAAI,CAAC,IAAI,CAACvtC,gEAAQ,CAAC7Q,KAAK,CAAC,IAAIA,KAAK,CAAC,UAAU,CAAC,EAAE;IACvD,OAAOA,KAAK;EACd;EACAyqC,IAAI,GAAGA,IAAI,IAAI,eAAgB,IAAIlmB,GAAG,CAAC,CAAC;EACxC,IAAIkmB,IAAI,CAACvhC,GAAG,CAAClJ,KAAK,CAAC,EAAE;IACnB,OAAOA,KAAK;EACd;EACAyqC,IAAI,CAACnmB,GAAG,CAACtkB,KAAK,CAAC;EACfo+C,KAAK,EAAE;EACP,IAAIlb,KAAK,CAACljC,KAAK,CAAC,EAAE;IAChBmjC,QAAQ,CAACnjC,KAAK,CAACA,KAAK,EAAEo+C,KAAK,EAAE3T,IAAI,CAAC;EACpC,CAAC,MAAM,IAAI7kC,+DAAO,CAAC5F,KAAK,CAAC,EAAE;IACzB,KAAK,IAAIV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC6jC,QAAQ,CAACnjC,KAAK,CAACV,CAAC,CAAC,EAAE8+C,KAAK,EAAE3T,IAAI,CAAC;IACjC;EACF,CAAC,MAAM,IAAI9tB,6DAAK,CAAC3c,KAAK,CAAC,IAAI4pE,6DAAK,CAAC5pE,KAAK,CAAC,EAAE;IACvCA,KAAK,CAACZ,OAAO,CAAEsrB,CAAC,IAAK;MACnByY,QAAQ,CAACzY,CAAC,EAAE0zB,KAAK,EAAE3T,IAAI,CAAC;IAC1B,CAAC,CAAC;EACJ,CAAC,MAAM,IAAI3hC,qEAAa,CAAC9I,KAAK,CAAC,EAAE;IAC/B,KAAK,MAAMiF,GAAG,IAAIjF,KAAK,EAAE;MACvBmjC,QAAQ,CAACnjC,KAAK,CAACiF,GAAG,CAAC,EAAEm5C,KAAK,EAAE3T,IAAI,CAAC;IACnC;IACA,KAAK,MAAMxlC,GAAG,IAAItE,MAAM,CAACopF,qBAAqB,CAAC/pF,KAAK,CAAC,EAAE;MACrD,IAAIW,MAAM,CAAC+J,SAAS,CAACs/E,oBAAoB,CAACpjF,IAAI,CAAC5G,KAAK,EAAEiF,GAAG,CAAC,EAAE;QAC1Dk+B,QAAQ,CAACnjC,KAAK,CAACiF,GAAG,CAAC,EAAEm5C,KAAK,EAAE3T,IAAI,CAAC;MACnC;IACF;EACF;EACA,OAAOzqC,KAAK;AACd;;;;;;;;;ACr2Da;AACb,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D;AACA;;AAEA,6BAA6B,uCAAuC;AACpE;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;ACfa;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,0BAA0B,mBAAO,CAAC,IAAoC;AACtE,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzBa;AACb;;;;;;;;;ACDa;AACb,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;;AAEA;AACA;AACA,kCAAkC,kDAAkD;AACpF,IAAI;AACJ;AACA,IAAI;AACJ;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,0BAA0B,mBAAO,CAAC,IAA6C;AAC/E,cAAc,mBAAO,CAAC,IAAuB;AAC7C,iBAAiB,mBAAO,CAAC,IAAuC;AAChE,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,yBAAyB,mBAAO,CAAC,IAAkC;AACnE,uCAAuC,mBAAO,CAAC,IAA+C;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,yBAAyB;AAC1E;AACA;AACA;AACA;AACA,IAAI;AACJ,4EAA4E,4CAA4C;AACxH;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC7Ca;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASiqF,4BAA4BA,CAAC5+E,MAAM,EAAE;EAC5C,IAAIA,MAAM,CAACsC,WAAW,EAAE;IACtBtC,MAAM,CAACsC,WAAW,CAAC0lE,gBAAgB,CAAC,CAAC;EACvC;EAEA,IAAIhoE,MAAM,CAACwK,MAAM,IAAIxK,MAAM,CAACwK,MAAM,CAACoD,OAAO,EAAE;IAC1C,MAAM,IAAIlF,yEAAa,CAAC,IAAI,EAAE1I,MAAM,CAAC;EACvC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS6+E,eAAeA,CAAC7+E,MAAM,EAAE;EAC9C4+E,4BAA4B,CAAC5+E,MAAM,CAAC;EAEpCA,MAAM,CAACpD,OAAO,GAAGF,sEAAY,CAACoC,IAAI,CAACkB,MAAM,CAACpD,OAAO,CAAC;;EAElD;EACAoD,MAAM,CAACgB,IAAI,GAAGwmE,kEAAa,CAACjsE,IAAI,CAC9ByE,MAAM,EACNA,MAAM,CAACkB,gBACT,CAAC;EAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAACzF,OAAO,CAACuE,MAAM,CAACe,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;IAC1Df,MAAM,CAACpD,OAAO,CAACgO,cAAc,CAAC,mCAAmC,EAAE,KAAK,CAAC;EAC3E;EAEA,MAAMnJ,OAAO,GAAGs1B,sEAAQ,CAACW,UAAU,CAAC13B,MAAM,CAACyB,OAAO,IAAIg1B,mEAAQ,CAACh1B,OAAO,CAAC;EAEvE,OAAOA,OAAO,CAACzB,MAAM,CAAC,CAAC0hB,IAAI,CAAC,SAASo9D,mBAAmBA,CAACj5E,QAAQ,EAAE;IACjE+4E,4BAA4B,CAAC5+E,MAAM,CAAC;;IAEpC;IACA6F,QAAQ,CAAC7E,IAAI,GAAGwmE,kEAAa,CAACjsE,IAAI,CAChCyE,MAAM,EACNA,MAAM,CAACmB,iBAAiB,EACxB0E,QACF,CAAC;IAEDA,QAAQ,CAACjJ,OAAO,GAAGF,sEAAY,CAACoC,IAAI,CAAC+G,QAAQ,CAACjJ,OAAO,CAAC;IAEtD,OAAOiJ,QAAQ;EACjB,CAAC,EAAE,SAASk5E,kBAAkBA,CAAChX,MAAM,EAAE;IACrC,IAAI,CAACpxC,wEAAQ,CAACoxC,MAAM,CAAC,EAAE;MACrB6W,4BAA4B,CAAC5+E,MAAM,CAAC;;MAEpC;MACA,IAAI+nE,MAAM,IAAIA,MAAM,CAACliE,QAAQ,EAAE;QAC7BkiE,MAAM,CAACliE,QAAQ,CAAC7E,IAAI,GAAGwmE,kEAAa,CAACjsE,IAAI,CACvCyE,MAAM,EACNA,MAAM,CAACmB,iBAAiB,EACxB4mE,MAAM,CAACliE,QACT,CAAC;QACDkiE,MAAM,CAACliE,QAAQ,CAACjJ,OAAO,GAAGF,sEAAY,CAACoC,IAAI,CAACipE,MAAM,CAACliE,QAAQ,CAACjJ,OAAO,CAAC;MACtE;IACF;IAEA,OAAOmN,OAAO,CAACG,MAAM,CAAC69D,MAAM,CAAC;EAC/B,CAAC,CAAC;AACJ;;;;;;;;AChFa;AACb;;;;;;;;;ACDa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,+BAA+B,6BAA4D;AAC3F,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,gCAAgC,mBAAO,CAAC,IAA0C;AAClF,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,8DAA8D;AAC9D,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACtDO,SAAS/gE,qBAAqBA,CAAA,EAAG;EACpC,OAAOC,SAAS,CAAC,CAAC,CAAC2hD,4BAA4B;AACnD;AACO,SAAS3hD,SAASA,CAAA,EAAG;EACxB;EACA,OAAQ,OAAOhE,SAAS,KAAK,WAAW,IAAI,OAAOiB,MAAM,KAAK,WAAW,GACnEA,MAAM,GACN,OAAOyuB,UAAU,KAAK,WAAW,GAC7BA,UAAU,GACV,CAAC,CAAC;AAChB;AACO,MAAMzrB,gBAAgB,GAAG,OAAOuuB,KAAK,KAAK,UAAU;;;;;;;;ACX9C;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;;AAEA;;;;;;;;;ACNA;AACA,sDAAe,IAAI;;;;;;;;ACDN;AACb,0BAA0B,mBAAO,CAAC,IAA6C;AAC/E,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACZuC;AACI;AAE3C,sDAAe;EACb,GAAG57B,6CAAK;EACR,GAAGgJ,+DAAQA;AACb,CAAC;;;;;;;;ACNY;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA6B;AACtD,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA,IAAI,uFAAuF;AAC3F;AACA,CAAC;;;;;;;;;ACTY;AACb,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA,CAAC;;;;;;;;;ACRY;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,qBAAqB,mBAAO,CAAC,IAA6B;AAC1D,8BAA8B,mBAAO,CAAC,GAAsC;AAC5E,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA8B;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;;;;;;;;;AC3Ca;AACb,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,YAAY,mBAAO,CAAC,IAAoB;AACxC,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,EAAE;;;;;;;;;ACfW;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,uBAAuB,mBAAO,CAAC,IAAiC;;AAEhE;;AAEA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;AChBa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,4BAA4B,mBAAO,CAAC,IAAuC;;AAE3E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU;AAC5C;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACpBa;;AAEE,SAAS8zB,QAAQA,CAAChiC,KAAK,EAAE;EACtC,OAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAACq1E,UAAU,CAAC;AACtC;;;;;;;;ACJa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;AAC/C,8BAA8B,mBAAO,CAAC,IAAwC;;AAE9E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG,IAAI,gCAAgC;AACvC;;;;;;;;;AC3Ba;AACb,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACVa;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASxhE,aAAaA,CAACvH,OAAO,EAAE+9E,YAAY,EAAE;EAC3D,IAAI/9E,OAAO,IAAI,CAAC8F,8EAAa,CAACi4E,YAAY,CAAC,EAAE;IAC3C,OAAO72E,4EAAW,CAAClH,OAAO,EAAE+9E,YAAY,CAAC;EAC3C;EACA,OAAOA,YAAY;AACrB;;;;;;;;ACpBa;AACb,YAAY,mBAAO,CAAC,IAAyB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;AAC/C,8BAA8B,mBAAO,CAAC,IAAwC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,sBAAsB,kBAAkB;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI,gCAAgC;AACvC;;;;;;;;;;;;;;;AChDa;;AAEmB;AACS;AACG;AAE7B,SAASlN,gBAAgBA,CAAC9wE,IAAI,EAAE/L,OAAO,EAAE;EACtD,OAAO2hC,mEAAU,CAAC51B,IAAI,EAAE,IAAI6B,mEAAQ,CAACkzB,OAAO,CAACH,eAAe,CAAC,CAAC,EAAEtgC,MAAM,CAACoN,MAAM,CAAC;IAC5EkmE,OAAO,EAAE,SAAAA,CAASj0E,KAAK,EAAEiF,GAAG,EAAEqL,IAAI,EAAEg6E,OAAO,EAAE;MAC3C,IAAIp8E,mEAAQ,CAACq8E,MAAM,IAAIrlF,0DAAK,CAACqqE,QAAQ,CAACvvE,KAAK,CAAC,EAAE;QAC5C,IAAI,CAAC+uE,MAAM,CAAC9pE,GAAG,EAAEjF,KAAK,CAACiK,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,KAAK;MACd;MAEA,OAAOqgF,OAAO,CAACpW,cAAc,CAACxF,KAAK,CAAC,IAAI,EAAElgB,SAAS,CAAC;IACtD;EACF,CAAC,EAAEluD,OAAO,CAAC,CAAC;AACd;;;;;;;;;;;;ACjBa;;AAAA;AAAA;AAAA;AAE+D;AAC5E,sDAAe,OAAO2gC,eAAe,KAAK,WAAW,GAAGA,eAAe,GAAG4tC,iFAAoB;;;;;;;;ACHjF;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,YAAY,mBAAO,CAAC,IAAwB;AAC5C,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA,IAAI,kFAAkF;AACtF;AACA,CAAC;;;;;;;;;ACTY;AACb,0BAA0B,mBAAO,CAAC,IAAoC;;AAEtE;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAAAoH,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAAAA,mBAAA;AAEZ,MAAMuU,MAAM,GAAGvU,mBAAO,CAAC,IAAW,CAAC;AACnC,MAAMwU,OAAO,GAAGxU,mBAAO,CAAC,IAAS,CAAC;AAClC,MAAMyU,mBAAmB,GACtB,OAAOrlF,MAAM,KAAK,UAAU,IAAI,OAAOA,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,CAAE;AAAA,EAClEA,MAAM,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC,CAAC;AAAA,EAC5C,IAAI;AAEV64B,UAAc,GAAGq2C,MAAM;AACvBr2C,yBAAkB,GAAGysD,UAAU;AAC/BzsD,UAAyB,GAAG,EAAE;AAE9B,MAAM2sD,YAAY,GAAG,UAAU;AAC/B3sD,yBAAkB,GAAG2sD,YAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAtW,MAAM,CAACwW,mBAAmB,GAAGC,iBAAiB,CAAC,CAAC;AAEhD,IAAI,CAACzW,MAAM,CAACwW,mBAAmB,IAAI,OAAO5qF,OAAO,KAAK,WAAW,IAC7D,OAAOA,OAAO,CAAC4R,KAAK,KAAK,UAAU,EAAE;EACvC5R,OAAO,CAAC4R,KAAK,CACX,2EAA2E,GAC3E,sEACF,CAAC;AACH;AAEA,SAASi5E,iBAAiBA,CAAA,EAAI;EAC5B;EACA,IAAI;IACF,MAAM/6E,GAAG,GAAG,IAAIkhE,UAAU,CAAC,CAAC,CAAC;IAC7B,MAAMmV,KAAK,GAAG;MAAE2E,GAAG,EAAE,SAAAA,CAAA,EAAY;QAAE,OAAO,EAAE;MAAC;IAAE,CAAC;IAChDtqF,MAAM,CAACuqF,cAAc,CAAC5E,KAAK,EAAEnV,UAAU,CAACzmE,SAAS,CAAC;IAClD/J,MAAM,CAACuqF,cAAc,CAACj7E,GAAG,EAAEq2E,KAAK,CAAC;IACjC,OAAOr2E,GAAG,CAACg7E,GAAG,CAAC,CAAC,KAAK,EAAE;EACzB,CAAC,CAAC,OAAO12E,CAAC,EAAE;IACV,OAAO,KAAK;EACd;AACF;AAEA5T,MAAM,CAAC+G,cAAc,CAAC6sE,MAAM,CAAC7pE,SAAS,EAAE,QAAQ,EAAE;EAChDwsC,UAAU,EAAE,IAAI;EAChBnuC,GAAG,EAAE,SAAAA,CAAA,EAAY;IACf,IAAI,CAACwrE,MAAM,CAAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAOzuE,SAAS;IAC5C,OAAO,IAAI,CAACq9B,MAAM;EACpB;AACF,CAAC,CAAC;AAEFx9B,MAAM,CAAC+G,cAAc,CAAC6sE,MAAM,CAAC7pE,SAAS,EAAE,QAAQ,EAAE;EAChDwsC,UAAU,EAAE,IAAI;EAChBnuC,GAAG,EAAE,SAAAA,CAAA,EAAY;IACf,IAAI,CAACwrE,MAAM,CAAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAOzuE,SAAS;IAC5C,OAAO,IAAI,CAACqqF,UAAU;EACxB;AACF,CAAC,CAAC;AAEF,SAASC,YAAYA,CAAExqF,MAAM,EAAE;EAC7B,IAAIA,MAAM,GAAGiqF,YAAY,EAAE;IACzB,MAAM,IAAIQ,UAAU,CAAC,aAAa,GAAGzqF,MAAM,GAAG,gCAAgC,CAAC;EACjF;EACA;EACA,MAAM0qF,GAAG,GAAG,IAAIna,UAAU,CAACvwE,MAAM,CAAC;EAClCD,MAAM,CAACuqF,cAAc,CAACI,GAAG,EAAE/W,MAAM,CAAC7pE,SAAS,CAAC;EAC5C,OAAO4gF,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS/W,MAAMA,CAAE5nC,GAAG,EAAE4+C,gBAAgB,EAAE3qF,MAAM,EAAE;EAC9C;EACA,IAAI,OAAO+rC,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI,OAAO4+C,gBAAgB,KAAK,QAAQ,EAAE;MACxC,MAAM,IAAItiF,SAAS,CACjB,oEACF,CAAC;IACH;IACA,OAAOuiF,WAAW,CAAC7+C,GAAG,CAAC;EACzB;EACA,OAAOxiC,IAAI,CAACwiC,GAAG,EAAE4+C,gBAAgB,EAAE3qF,MAAM,CAAC;AAC5C;AAEA2zE,MAAM,CAACkX,QAAQ,GAAG,IAAI,EAAC;;AAEvB,SAASthF,IAAIA,CAAEnK,KAAK,EAAEurF,gBAAgB,EAAE3qF,MAAM,EAAE;EAC9C,IAAI,OAAOZ,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO0rF,UAAU,CAAC1rF,KAAK,EAAEurF,gBAAgB,CAAC;EAC5C;EAEA,IAAI7b,WAAW,CAACC,MAAM,CAAC3vE,KAAK,CAAC,EAAE;IAC7B,OAAO2rF,aAAa,CAAC3rF,KAAK,CAAC;EAC7B;EAEA,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIiJ,SAAS,CACjB,6EAA6E,GAC7E,sCAAsC,GAAI,OAAOjJ,KACnD,CAAC;EACH;EAEA,IAAI4rF,UAAU,CAAC5rF,KAAK,EAAE0vE,WAAW,CAAC,IAC7B1vE,KAAK,IAAI4rF,UAAU,CAAC5rF,KAAK,CAACm+B,MAAM,EAAEuxC,WAAW,CAAE,EAAE;IACpD,OAAOmc,eAAe,CAAC7rF,KAAK,EAAEurF,gBAAgB,EAAE3qF,MAAM,CAAC;EACzD;EAEA,IAAI,OAAOkrF,iBAAiB,KAAK,WAAW,KACvCF,UAAU,CAAC5rF,KAAK,EAAE8rF,iBAAiB,CAAC,IACpC9rF,KAAK,IAAI4rF,UAAU,CAAC5rF,KAAK,CAACm+B,MAAM,EAAE2tD,iBAAiB,CAAE,CAAC,EAAE;IAC3D,OAAOD,eAAe,CAAC7rF,KAAK,EAAEurF,gBAAgB,EAAE3qF,MAAM,CAAC;EACzD;EAEA,IAAI,OAAOZ,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAM,IAAIiJ,SAAS,CACjB,uEACF,CAAC;EACH;EAEA,MAAM8iF,OAAO,GAAG/rF,KAAK,CAAC+rF,OAAO,IAAI/rF,KAAK,CAAC+rF,OAAO,CAAC,CAAC;EAChD,IAAIA,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK/rF,KAAK,EAAE;IACxC,OAAOu0E,MAAM,CAACpqE,IAAI,CAAC4hF,OAAO,EAAER,gBAAgB,EAAE3qF,MAAM,CAAC;EACvD;EAEA,MAAMgL,CAAC,GAAGogF,UAAU,CAAChsF,KAAK,CAAC;EAC3B,IAAI4L,CAAC,EAAE,OAAOA,CAAC;EAEf,IAAI,OAAOvG,MAAM,KAAK,WAAW,IAAIA,MAAM,CAAC4mF,WAAW,IAAI,IAAI,IAC3D,OAAOjsF,KAAK,CAACqF,MAAM,CAAC4mF,WAAW,CAAC,KAAK,UAAU,EAAE;IACnD,OAAO1X,MAAM,CAACpqE,IAAI,CAACnK,KAAK,CAACqF,MAAM,CAAC4mF,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAEV,gBAAgB,EAAE3qF,MAAM,CAAC;EACnF;EAEA,MAAM,IAAIqI,SAAS,CACjB,6EAA6E,GAC7E,sCAAsC,GAAI,OAAOjJ,KACnD,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAu0E,MAAM,CAACpqE,IAAI,GAAG,UAAUnK,KAAK,EAAEurF,gBAAgB,EAAE3qF,MAAM,EAAE;EACvD,OAAOuJ,IAAI,CAACnK,KAAK,EAAEurF,gBAAgB,EAAE3qF,MAAM,CAAC;AAC9C,CAAC;;AAED;AACA;AACAD,MAAM,CAACuqF,cAAc,CAAC3W,MAAM,CAAC7pE,SAAS,EAAEymE,UAAU,CAACzmE,SAAS,CAAC;AAC7D/J,MAAM,CAACuqF,cAAc,CAAC3W,MAAM,EAAEpD,UAAU,CAAC;AAEzC,SAAS+a,UAAUA,CAAEznE,IAAI,EAAE;EACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIxb,SAAS,CAAC,wCAAwC,CAAC;EAC/D,CAAC,MAAM,IAAIwb,IAAI,GAAG,CAAC,EAAE;IACnB,MAAM,IAAI4mE,UAAU,CAAC,aAAa,GAAG5mE,IAAI,GAAG,gCAAgC,CAAC;EAC/E;AACF;AAEA,SAAS0nE,KAAKA,CAAE1nE,IAAI,EAAEklE,IAAI,EAAEnuB,QAAQ,EAAE;EACpC0wB,UAAU,CAACznE,IAAI,CAAC;EAChB,IAAIA,IAAI,IAAI,CAAC,EAAE;IACb,OAAO2mE,YAAY,CAAC3mE,IAAI,CAAC;EAC3B;EACA,IAAIklE,IAAI,KAAK7oF,SAAS,EAAE;IACtB;IACA;IACA;IACA,OAAO,OAAO06D,QAAQ,KAAK,QAAQ,GAC/B4vB,YAAY,CAAC3mE,IAAI,CAAC,CAACklE,IAAI,CAACA,IAAI,EAAEnuB,QAAQ,CAAC,GACvC4vB,YAAY,CAAC3mE,IAAI,CAAC,CAACklE,IAAI,CAACA,IAAI,CAAC;EACnC;EACA,OAAOyB,YAAY,CAAC3mE,IAAI,CAAC;AAC3B;;AAEA;AACA;AACA;AACA;AACA8vD,MAAM,CAAC4X,KAAK,GAAG,UAAU1nE,IAAI,EAAEklE,IAAI,EAAEnuB,QAAQ,EAAE;EAC7C,OAAO2wB,KAAK,CAAC1nE,IAAI,EAAEklE,IAAI,EAAEnuB,QAAQ,CAAC;AACpC,CAAC;AAED,SAASgwB,WAAWA,CAAE/mE,IAAI,EAAE;EAC1BynE,UAAU,CAACznE,IAAI,CAAC;EAChB,OAAO2mE,YAAY,CAAC3mE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGyT,OAAO,CAACzT,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD;;AAEA;AACA;AACA;AACA8vD,MAAM,CAACiX,WAAW,GAAG,UAAU/mE,IAAI,EAAE;EACnC,OAAO+mE,WAAW,CAAC/mE,IAAI,CAAC;AAC1B,CAAC;AACD;AACA;AACA;AACA8vD,MAAM,CAAC6X,eAAe,GAAG,UAAU3nE,IAAI,EAAE;EACvC,OAAO+mE,WAAW,CAAC/mE,IAAI,CAAC;AAC1B,CAAC;AAED,SAASinE,UAAUA,CAAExe,MAAM,EAAE1R,QAAQ,EAAE;EACrC,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,EAAE,EAAE;IACnDA,QAAQ,GAAG,MAAM;EACnB;EAEA,IAAI,CAAC+Y,MAAM,CAAC8X,UAAU,CAAC7wB,QAAQ,CAAC,EAAE;IAChC,MAAM,IAAIvyD,SAAS,CAAC,oBAAoB,GAAGuyD,QAAQ,CAAC;EACtD;EAEA,MAAM56D,MAAM,GAAGs1E,UAAU,CAAChJ,MAAM,EAAE1R,QAAQ,CAAC,GAAG,CAAC;EAC/C,IAAI8vB,GAAG,GAAGF,YAAY,CAACxqF,MAAM,CAAC;EAE9B,MAAMg7C,MAAM,GAAG0vC,GAAG,CAACvsD,KAAK,CAACmuC,MAAM,EAAE1R,QAAQ,CAAC;EAE1C,IAAI5f,MAAM,KAAKh7C,MAAM,EAAE;IACrB;IACA;IACA;IACA0qF,GAAG,GAAGA,GAAG,CAACxgF,KAAK,CAAC,CAAC,EAAE8wC,MAAM,CAAC;EAC5B;EAEA,OAAO0vC,GAAG;AACZ;AAEA,SAASgB,aAAaA,CAAE1J,KAAK,EAAE;EAC7B,MAAMhiF,MAAM,GAAGgiF,KAAK,CAAChiF,MAAM,GAAG,CAAC,GAAG,CAAC,GAAGs3B,OAAO,CAAC0qD,KAAK,CAAChiF,MAAM,CAAC,GAAG,CAAC;EAC/D,MAAM0qF,GAAG,GAAGF,YAAY,CAACxqF,MAAM,CAAC;EAChC,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,MAAM,EAAEtB,CAAC,IAAI,CAAC,EAAE;IAClCgsF,GAAG,CAAChsF,CAAC,CAAC,GAAGsjF,KAAK,CAACtjF,CAAC,CAAC,GAAG,GAAG;EACzB;EACA,OAAOgsF,GAAG;AACZ;AAEA,SAASK,aAAaA,CAAEY,SAAS,EAAE;EACjC,IAAIX,UAAU,CAACW,SAAS,EAAEpb,UAAU,CAAC,EAAE;IACrC,MAAMqb,IAAI,GAAG,IAAIrb,UAAU,CAACob,SAAS,CAAC;IACtC,OAAOV,eAAe,CAACW,IAAI,CAACruD,MAAM,EAAEquD,IAAI,CAACrB,UAAU,EAAEqB,IAAI,CAACtW,UAAU,CAAC;EACvE;EACA,OAAOoW,aAAa,CAACC,SAAS,CAAC;AACjC;AAEA,SAASV,eAAeA,CAAEjJ,KAAK,EAAEuI,UAAU,EAAEvqF,MAAM,EAAE;EACnD,IAAIuqF,UAAU,GAAG,CAAC,IAAIvI,KAAK,CAAC1M,UAAU,GAAGiV,UAAU,EAAE;IACnD,MAAM,IAAIE,UAAU,CAAC,sCAAsC,CAAC;EAC9D;EAEA,IAAIzI,KAAK,CAAC1M,UAAU,GAAGiV,UAAU,IAAIvqF,MAAM,IAAI,CAAC,CAAC,EAAE;IACjD,MAAM,IAAIyqF,UAAU,CAAC,sCAAsC,CAAC;EAC9D;EAEA,IAAIC,GAAG;EACP,IAAIH,UAAU,KAAKrqF,SAAS,IAAIF,MAAM,KAAKE,SAAS,EAAE;IACpDwqF,GAAG,GAAG,IAAIna,UAAU,CAACyR,KAAK,CAAC;EAC7B,CAAC,MAAM,IAAIhiF,MAAM,KAAKE,SAAS,EAAE;IAC/BwqF,GAAG,GAAG,IAAIna,UAAU,CAACyR,KAAK,EAAEuI,UAAU,CAAC;EACzC,CAAC,MAAM;IACLG,GAAG,GAAG,IAAIna,UAAU,CAACyR,KAAK,EAAEuI,UAAU,EAAEvqF,MAAM,CAAC;EACjD;;EAEA;EACAD,MAAM,CAACuqF,cAAc,CAACI,GAAG,EAAE/W,MAAM,CAAC7pE,SAAS,CAAC;EAE5C,OAAO4gF,GAAG;AACZ;AAEA,SAASU,UAAUA,CAAE1kF,GAAG,EAAE;EACxB,IAAIitE,MAAM,CAAChF,QAAQ,CAACjoE,GAAG,CAAC,EAAE;IACxB,MAAM4I,GAAG,GAAGgoB,OAAO,CAAC5wB,GAAG,CAAC1G,MAAM,CAAC,GAAG,CAAC;IACnC,MAAM0qF,GAAG,GAAGF,YAAY,CAACl7E,GAAG,CAAC;IAE7B,IAAIo7E,GAAG,CAAC1qF,MAAM,KAAK,CAAC,EAAE;MACpB,OAAO0qF,GAAG;IACZ;IAEAhkF,GAAG,CAACklF,IAAI,CAAClB,GAAG,EAAE,CAAC,EAAE,CAAC,EAAEp7E,GAAG,CAAC;IACxB,OAAOo7E,GAAG;EACZ;EAEA,IAAIhkF,GAAG,CAAC1G,MAAM,KAAKE,SAAS,EAAE;IAC5B,IAAI,OAAOwG,GAAG,CAAC1G,MAAM,KAAK,QAAQ,IAAI6rF,WAAW,CAACnlF,GAAG,CAAC1G,MAAM,CAAC,EAAE;MAC7D,OAAOwqF,YAAY,CAAC,CAAC,CAAC;IACxB;IACA,OAAOkB,aAAa,CAAChlF,GAAG,CAAC;EAC3B;EAEA,IAAIA,GAAG,CAACjI,IAAI,KAAK,QAAQ,IAAI+oB,KAAK,CAACxiB,OAAO,CAAC0B,GAAG,CAAC+E,IAAI,CAAC,EAAE;IACpD,OAAOigF,aAAa,CAAChlF,GAAG,CAAC+E,IAAI,CAAC;EAChC;AACF;AAEA,SAAS6rB,OAAOA,CAAEt3B,MAAM,EAAE;EACxB;EACA;EACA,IAAIA,MAAM,IAAIiqF,YAAY,EAAE;IAC1B,MAAM,IAAIQ,UAAU,CAAC,iDAAiD,GACjD,UAAU,GAAGR,YAAY,CAAC5gF,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;EACzE;EACA,OAAOrJ,MAAM,GAAG,CAAC;AACnB;AAEA,SAAS+pF,UAAUA,CAAE/pF,MAAM,EAAE;EAC3B,IAAI,CAACA,MAAM,IAAIA,MAAM,EAAE;IAAE;IACvBA,MAAM,GAAG,CAAC;EACZ;EACA,OAAO2zE,MAAM,CAAC4X,KAAK,CAAC,CAACvrF,MAAM,CAAC;AAC9B;AAEA2zE,MAAM,CAAChF,QAAQ,GAAG,SAASA,QAAQA,CAAE3jE,CAAC,EAAE;EACtC,OAAOA,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAC8gF,SAAS,KAAK,IAAI,IACtC9gF,CAAC,KAAK2oE,MAAM,CAAC7pE,SAAS,EAAC;AAC3B,CAAC;AAED6pE,MAAM,CAACoY,OAAO,GAAG,SAASA,OAAOA,CAAEhhF,CAAC,EAAEC,CAAC,EAAE;EACvC,IAAIggF,UAAU,CAACjgF,CAAC,EAAEwlE,UAAU,CAAC,EAAExlE,CAAC,GAAG4oE,MAAM,CAACpqE,IAAI,CAACwB,CAAC,EAAEA,CAAC,CAACyyB,MAAM,EAAEzyB,CAAC,CAACuqE,UAAU,CAAC;EACzE,IAAI0V,UAAU,CAAChgF,CAAC,EAAEulE,UAAU,CAAC,EAAEvlE,CAAC,GAAG2oE,MAAM,CAACpqE,IAAI,CAACyB,CAAC,EAAEA,CAAC,CAACwyB,MAAM,EAAExyB,CAAC,CAACsqE,UAAU,CAAC;EACzE,IAAI,CAAC3B,MAAM,CAAChF,QAAQ,CAAC5jE,CAAC,CAAC,IAAI,CAAC4oE,MAAM,CAAChF,QAAQ,CAAC3jE,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAI3C,SAAS,CACjB,uEACF,CAAC;EACH;EAEA,IAAI0C,CAAC,KAAKC,CAAC,EAAE,OAAO,CAAC;EAErB,IAAIm3E,CAAC,GAAGp3E,CAAC,CAAC/K,MAAM;EAChB,IAAIgsF,CAAC,GAAGhhF,CAAC,CAAChL,MAAM;EAEhB,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAE4Q,GAAG,GAAG8V,IAAI,CAACqzC,GAAG,CAAC0pB,CAAC,EAAE6J,CAAC,CAAC,EAAEttF,CAAC,GAAG4Q,GAAG,EAAE,EAAE5Q,CAAC,EAAE;IAClD,IAAIqM,CAAC,CAACrM,CAAC,CAAC,KAAKsM,CAAC,CAACtM,CAAC,CAAC,EAAE;MACjByjF,CAAC,GAAGp3E,CAAC,CAACrM,CAAC,CAAC;MACRstF,CAAC,GAAGhhF,CAAC,CAACtM,CAAC,CAAC;MACR;IACF;EACF;EAEA,IAAIyjF,CAAC,GAAG6J,CAAC,EAAE,OAAO,CAAC,CAAC;EACpB,IAAIA,CAAC,GAAG7J,CAAC,EAAE,OAAO,CAAC;EACnB,OAAO,CAAC;AACV,CAAC;AAEDxO,MAAM,CAAC8X,UAAU,GAAG,SAASA,UAAUA,CAAE7wB,QAAQ,EAAE;EACjD,QAAQh2D,MAAM,CAACg2D,QAAQ,CAAC,CAAC91D,WAAW,CAAC,CAAC;IACpC,KAAK,KAAK;IACV,KAAK,MAAM;IACX,KAAK,OAAO;IACZ,KAAK,OAAO;IACZ,KAAK,QAAQ;IACb,KAAK,QAAQ;IACb,KAAK,QAAQ;IACb,KAAK,MAAM;IACX,KAAK,OAAO;IACZ,KAAK,SAAS;IACd,KAAK,UAAU;MACb,OAAO,IAAI;IACb;MACE,OAAO,KAAK;EAChB;AACF,CAAC;AAED6uE,MAAM,CAAC5qE,MAAM,GAAG,SAASA,MAAMA,CAAEyJ,IAAI,EAAExS,MAAM,EAAE;EAC7C,IAAI,CAACwnB,KAAK,CAACxiB,OAAO,CAACwN,IAAI,CAAC,EAAE;IACxB,MAAM,IAAInK,SAAS,CAAC,6CAA6C,CAAC;EACpE;EAEA,IAAImK,IAAI,CAACxS,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO2zE,MAAM,CAAC4X,KAAK,CAAC,CAAC,CAAC;EACxB;EAEA,IAAI7sF,CAAC;EACL,IAAIsB,MAAM,KAAKE,SAAS,EAAE;IACxBF,MAAM,GAAG,CAAC;IACV,KAAKtB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8T,IAAI,CAACxS,MAAM,EAAE,EAAEtB,CAAC,EAAE;MAChCsB,MAAM,IAAIwS,IAAI,CAAC9T,CAAC,CAAC,CAACsB,MAAM;IAC1B;EACF;EAEA,MAAMu9B,MAAM,GAAGo2C,MAAM,CAACiX,WAAW,CAAC5qF,MAAM,CAAC;EACzC,IAAIisF,GAAG,GAAG,CAAC;EACX,KAAKvtF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8T,IAAI,CAACxS,MAAM,EAAE,EAAEtB,CAAC,EAAE;IAChC,IAAIgsF,GAAG,GAAGl4E,IAAI,CAAC9T,CAAC,CAAC;IACjB,IAAIssF,UAAU,CAACN,GAAG,EAAEna,UAAU,CAAC,EAAE;MAC/B,IAAI0b,GAAG,GAAGvB,GAAG,CAAC1qF,MAAM,GAAGu9B,MAAM,CAACv9B,MAAM,EAAE;QACpC,IAAI,CAAC2zE,MAAM,CAAChF,QAAQ,CAAC+b,GAAG,CAAC,EAAEA,GAAG,GAAG/W,MAAM,CAACpqE,IAAI,CAACmhF,GAAG,CAAC;QACjDA,GAAG,CAACkB,IAAI,CAACruD,MAAM,EAAE0uD,GAAG,CAAC;MACvB,CAAC,MAAM;QACL1b,UAAU,CAACzmE,SAAS,CAACxC,GAAG,CAACtB,IAAI,CAC3Bu3B,MAAM,EACNmtD,GAAG,EACHuB,GACF,CAAC;MACH;IACF,CAAC,MAAM,IAAI,CAACtY,MAAM,CAAChF,QAAQ,CAAC+b,GAAG,CAAC,EAAE;MAChC,MAAM,IAAIriF,SAAS,CAAC,6CAA6C,CAAC;IACpE,CAAC,MAAM;MACLqiF,GAAG,CAACkB,IAAI,CAACruD,MAAM,EAAE0uD,GAAG,CAAC;IACvB;IACAA,GAAG,IAAIvB,GAAG,CAAC1qF,MAAM;EACnB;EACA,OAAOu9B,MAAM;AACf,CAAC;AAED,SAAS+3C,UAAUA,CAAEhJ,MAAM,EAAE1R,QAAQ,EAAE;EACrC,IAAI+Y,MAAM,CAAChF,QAAQ,CAACrC,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM,CAACtsE,MAAM;EACtB;EACA,IAAI8uE,WAAW,CAACC,MAAM,CAACzC,MAAM,CAAC,IAAI0e,UAAU,CAAC1e,MAAM,EAAEwC,WAAW,CAAC,EAAE;IACjE,OAAOxC,MAAM,CAACgJ,UAAU;EAC1B;EACA,IAAI,OAAOhJ,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAM,IAAIjkE,SAAS,CACjB,4EAA4E,GAC5E,gBAAgB,GAAG,OAAOikE,MAC5B,CAAC;EACH;EAEA,MAAMh9D,GAAG,GAAGg9D,MAAM,CAACtsE,MAAM;EACzB,MAAMksF,SAAS,GAAIt+B,SAAS,CAAC5tD,MAAM,GAAG,CAAC,IAAI4tD,SAAS,CAAC,CAAC,CAAC,KAAK,IAAK;EACjE,IAAI,CAACs+B,SAAS,IAAI58E,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC;;EAErC;EACA,IAAI68E,WAAW,GAAG,KAAK;EACvB,SAAS;IACP,QAAQvxB,QAAQ;MACd,KAAK,OAAO;MACZ,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAOtrD,GAAG;MACZ,KAAK,MAAM;MACX,KAAK,OAAO;QACV,OAAO88E,WAAW,CAAC9f,MAAM,CAAC,CAACtsE,MAAM;MACnC,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,SAAS;MACd,KAAK,UAAU;QACb,OAAOsP,GAAG,GAAG,CAAC;MAChB,KAAK,KAAK;QACR,OAAOA,GAAG,KAAK,CAAC;MAClB,KAAK,QAAQ;QACX,OAAO+8E,aAAa,CAAC/f,MAAM,CAAC,CAACtsE,MAAM;MACrC;QACE,IAAImsF,WAAW,EAAE;UACf,OAAOD,SAAS,GAAG,CAAC,CAAC,GAAGE,WAAW,CAAC9f,MAAM,CAAC,CAACtsE,MAAM,EAAC;QACrD;QACA46D,QAAQ,GAAG,CAAC,EAAE,GAAGA,QAAQ,EAAE91D,WAAW,CAAC,CAAC;QACxCqnF,WAAW,GAAG,IAAI;IACtB;EACF;AACF;AACAxY,MAAM,CAAC2B,UAAU,GAAGA,UAAU;AAE9B,SAASgX,YAAYA,CAAE1xB,QAAQ,EAAE37C,KAAK,EAAEC,GAAG,EAAE;EAC3C,IAAIitE,WAAW,GAAG,KAAK;;EAEvB;EACA;;EAEA;EACA;EACA;EACA;EACA,IAAIltE,KAAK,KAAK/e,SAAS,IAAI+e,KAAK,GAAG,CAAC,EAAE;IACpCA,KAAK,GAAG,CAAC;EACX;EACA;EACA;EACA,IAAIA,KAAK,GAAG,IAAI,CAACjf,MAAM,EAAE;IACvB,OAAO,EAAE;EACX;EAEA,IAAIkf,GAAG,KAAKhf,SAAS,IAAIgf,GAAG,GAAG,IAAI,CAAClf,MAAM,EAAE;IAC1Ckf,GAAG,GAAG,IAAI,CAAClf,MAAM;EACnB;EAEA,IAAIkf,GAAG,IAAI,CAAC,EAAE;IACZ,OAAO,EAAE;EACX;;EAEA;EACAA,GAAG,MAAM,CAAC;EACVD,KAAK,MAAM,CAAC;EAEZ,IAAIC,GAAG,IAAID,KAAK,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,IAAI,CAAC27C,QAAQ,EAAEA,QAAQ,GAAG,MAAM;EAEhC,OAAO,IAAI,EAAE;IACX,QAAQA,QAAQ;MACd,KAAK,KAAK;QACR,OAAO2xB,QAAQ,CAAC,IAAI,EAAEttE,KAAK,EAAEC,GAAG,CAAC;MAEnC,KAAK,MAAM;MACX,KAAK,OAAO;QACV,OAAOstE,SAAS,CAAC,IAAI,EAAEvtE,KAAK,EAAEC,GAAG,CAAC;MAEpC,KAAK,OAAO;QACV,OAAOutE,UAAU,CAAC,IAAI,EAAExtE,KAAK,EAAEC,GAAG,CAAC;MAErC,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAOwtE,WAAW,CAAC,IAAI,EAAEztE,KAAK,EAAEC,GAAG,CAAC;MAEtC,KAAK,QAAQ;QACX,OAAOytE,WAAW,CAAC,IAAI,EAAE1tE,KAAK,EAAEC,GAAG,CAAC;MAEtC,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,SAAS;MACd,KAAK,UAAU;QACb,OAAO0tE,YAAY,CAAC,IAAI,EAAE3tE,KAAK,EAAEC,GAAG,CAAC;MAEvC;QACE,IAAIitE,WAAW,EAAE,MAAM,IAAI9jF,SAAS,CAAC,oBAAoB,GAAGuyD,QAAQ,CAAC;QACrEA,QAAQ,GAAG,CAACA,QAAQ,GAAG,EAAE,EAAE91D,WAAW,CAAC,CAAC;QACxCqnF,WAAW,GAAG,IAAI;IACtB;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACAxY,MAAM,CAAC7pE,SAAS,CAACgiF,SAAS,GAAG,IAAI;AAEjC,SAASe,IAAIA,CAAE7hF,CAAC,EAAEqY,CAAC,EAAE0I,CAAC,EAAE;EACtB,MAAMrtB,CAAC,GAAGsM,CAAC,CAACqY,CAAC,CAAC;EACdrY,CAAC,CAACqY,CAAC,CAAC,GAAGrY,CAAC,CAAC+gB,CAAC,CAAC;EACX/gB,CAAC,CAAC+gB,CAAC,CAAC,GAAGrtB,CAAC;AACV;AAEAi1E,MAAM,CAAC7pE,SAAS,CAACgjF,MAAM,GAAG,SAASA,MAAMA,CAAA,EAAI;EAC3C,MAAMx9E,GAAG,GAAG,IAAI,CAACtP,MAAM;EACvB,IAAIsP,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;IACjB,MAAM,IAAIm7E,UAAU,CAAC,2CAA2C,CAAC;EACnE;EACA,KAAK,IAAI/rF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,IAAI,CAAC,EAAE;IAC/BmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;EACtB;EACA,OAAO,IAAI;AACb,CAAC;AAEDi1E,MAAM,CAAC7pE,SAAS,CAACijF,MAAM,GAAG,SAASA,MAAMA,CAAA,EAAI;EAC3C,MAAMz9E,GAAG,GAAG,IAAI,CAACtP,MAAM;EACvB,IAAIsP,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;IACjB,MAAM,IAAIm7E,UAAU,CAAC,2CAA2C,CAAC;EACnE;EACA,KAAK,IAAI/rF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,IAAI,CAAC,EAAE;IAC/BmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;IACpBmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;EAC1B;EACA,OAAO,IAAI;AACb,CAAC;AAEDi1E,MAAM,CAAC7pE,SAAS,CAACkjF,MAAM,GAAG,SAASA,MAAMA,CAAA,EAAI;EAC3C,MAAM19E,GAAG,GAAG,IAAI,CAACtP,MAAM;EACvB,IAAIsP,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;IACjB,MAAM,IAAIm7E,UAAU,CAAC,2CAA2C,CAAC;EACnE;EACA,KAAK,IAAI/rF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE5Q,CAAC,IAAI,CAAC,EAAE;IAC/BmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;IACpBmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;IACxBmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;IACxBmuF,IAAI,CAAC,IAAI,EAAEnuF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;EAC1B;EACA,OAAO,IAAI;AACb,CAAC;AAEDi1E,MAAM,CAAC7pE,SAAS,CAACT,QAAQ,GAAG,SAASA,QAAQA,CAAA,EAAI;EAC/C,MAAMrJ,MAAM,GAAG,IAAI,CAACA,MAAM;EAC1B,IAAIA,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAC3B,IAAI4tD,SAAS,CAAC5tD,MAAM,KAAK,CAAC,EAAE,OAAOwsF,SAAS,CAAC,IAAI,EAAE,CAAC,EAAExsF,MAAM,CAAC;EAC7D,OAAOssF,YAAY,CAACxe,KAAK,CAAC,IAAI,EAAElgB,SAAS,CAAC;AAC5C,CAAC;AAED+lB,MAAM,CAAC7pE,SAAS,CAACmjF,cAAc,GAAGtZ,MAAM,CAAC7pE,SAAS,CAACT,QAAQ;AAE3DsqE,MAAM,CAAC7pE,SAAS,CAACojF,MAAM,GAAG,SAASA,MAAMA,CAAEliF,CAAC,EAAE;EAC5C,IAAI,CAAC2oE,MAAM,CAAChF,QAAQ,CAAC3jE,CAAC,CAAC,EAAE,MAAM,IAAI3C,SAAS,CAAC,2BAA2B,CAAC;EACzE,IAAI,IAAI,KAAK2C,CAAC,EAAE,OAAO,IAAI;EAC3B,OAAO2oE,MAAM,CAACoY,OAAO,CAAC,IAAI,EAAE/gF,CAAC,CAAC,KAAK,CAAC;AACtC,CAAC;AAED2oE,MAAM,CAAC7pE,SAAS,CAACqjF,OAAO,GAAG,SAASA,OAAOA,CAAA,EAAI;EAC7C,IAAIhoF,GAAG,GAAG,EAAE;EACZ,MAAMkgB,GAAG,GAAGiY,UAAyB;EACrCn4B,GAAG,GAAG,IAAI,CAACkE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAEgc,GAAG,CAAC,CAAChf,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAACxB,IAAI,CAAC,CAAC;EACnE,IAAI,IAAI,CAAC7E,MAAM,GAAGqlB,GAAG,EAAElgB,GAAG,IAAI,OAAO;EACrC,OAAO,UAAU,GAAGA,GAAG,GAAG,GAAG;AAC/B,CAAC;AACD,IAAI2kF,mBAAmB,EAAE;EACvBnW,MAAM,CAAC7pE,SAAS,CAACggF,mBAAmB,CAAC,GAAGnW,MAAM,CAAC7pE,SAAS,CAACqjF,OAAO;AAClE;AAEAxZ,MAAM,CAAC7pE,SAAS,CAACiiF,OAAO,GAAG,SAASA,OAAOA,CAAEriF,MAAM,EAAEuV,KAAK,EAAEC,GAAG,EAAEkuE,SAAS,EAAEC,OAAO,EAAE;EACnF,IAAIrC,UAAU,CAACthF,MAAM,EAAE6mE,UAAU,CAAC,EAAE;IAClC7mE,MAAM,GAAGiqE,MAAM,CAACpqE,IAAI,CAACG,MAAM,EAAEA,MAAM,CAAC8zB,MAAM,EAAE9zB,MAAM,CAAC4rE,UAAU,CAAC;EAChE;EACA,IAAI,CAAC3B,MAAM,CAAChF,QAAQ,CAACjlE,MAAM,CAAC,EAAE;IAC5B,MAAM,IAAIrB,SAAS,CACjB,kEAAkE,GAClE,gBAAgB,GAAI,OAAOqB,MAC7B,CAAC;EACH;EAEA,IAAIuV,KAAK,KAAK/e,SAAS,EAAE;IACvB+e,KAAK,GAAG,CAAC;EACX;EACA,IAAIC,GAAG,KAAKhf,SAAS,EAAE;IACrBgf,GAAG,GAAGxV,MAAM,GAAGA,MAAM,CAAC1J,MAAM,GAAG,CAAC;EAClC;EACA,IAAIotF,SAAS,KAAKltF,SAAS,EAAE;IAC3BktF,SAAS,GAAG,CAAC;EACf;EACA,IAAIC,OAAO,KAAKntF,SAAS,EAAE;IACzBmtF,OAAO,GAAG,IAAI,CAACrtF,MAAM;EACvB;EAEA,IAAIif,KAAK,GAAG,CAAC,IAAIC,GAAG,GAAGxV,MAAM,CAAC1J,MAAM,IAAIotF,SAAS,GAAG,CAAC,IAAIC,OAAO,GAAG,IAAI,CAACrtF,MAAM,EAAE;IAC9E,MAAM,IAAIyqF,UAAU,CAAC,oBAAoB,CAAC;EAC5C;EAEA,IAAI2C,SAAS,IAAIC,OAAO,IAAIpuE,KAAK,IAAIC,GAAG,EAAE;IACxC,OAAO,CAAC;EACV;EACA,IAAIkuE,SAAS,IAAIC,OAAO,EAAE;IACxB,OAAO,CAAC,CAAC;EACX;EACA,IAAIpuE,KAAK,IAAIC,GAAG,EAAE;IAChB,OAAO,CAAC;EACV;EAEAD,KAAK,MAAM,CAAC;EACZC,GAAG,MAAM,CAAC;EACVkuE,SAAS,MAAM,CAAC;EAChBC,OAAO,MAAM,CAAC;EAEd,IAAI,IAAI,KAAK3jF,MAAM,EAAE,OAAO,CAAC;EAE7B,IAAIy4E,CAAC,GAAGkL,OAAO,GAAGD,SAAS;EAC3B,IAAIpB,CAAC,GAAG9sE,GAAG,GAAGD,KAAK;EACnB,MAAM3P,GAAG,GAAG8V,IAAI,CAACqzC,GAAG,CAAC0pB,CAAC,EAAE6J,CAAC,CAAC;EAE1B,MAAMsB,QAAQ,GAAG,IAAI,CAACpjF,KAAK,CAACkjF,SAAS,EAAEC,OAAO,CAAC;EAC/C,MAAME,UAAU,GAAG7jF,MAAM,CAACQ,KAAK,CAAC+U,KAAK,EAAEC,GAAG,CAAC;EAE3C,KAAK,IAAIxgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,GAAG,EAAE,EAAE5Q,CAAC,EAAE;IAC5B,IAAI4uF,QAAQ,CAAC5uF,CAAC,CAAC,KAAK6uF,UAAU,CAAC7uF,CAAC,CAAC,EAAE;MACjCyjF,CAAC,GAAGmL,QAAQ,CAAC5uF,CAAC,CAAC;MACfstF,CAAC,GAAGuB,UAAU,CAAC7uF,CAAC,CAAC;MACjB;IACF;EACF;EAEA,IAAIyjF,CAAC,GAAG6J,CAAC,EAAE,OAAO,CAAC,CAAC;EACpB,IAAIA,CAAC,GAAG7J,CAAC,EAAE,OAAO,CAAC;EACnB,OAAO,CAAC;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASqL,oBAAoBA,CAAEjwD,MAAM,EAAExlB,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAEhsB,GAAG,EAAE;EACrE;EACA,IAAIrR,MAAM,CAACv9B,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;;EAElC;EACA,IAAI,OAAOuqF,UAAU,KAAK,QAAQ,EAAE;IAClC3vB,QAAQ,GAAG2vB,UAAU;IACrBA,UAAU,GAAG,CAAC;EAChB,CAAC,MAAM,IAAIA,UAAU,GAAG,UAAU,EAAE;IAClCA,UAAU,GAAG,UAAU;EACzB,CAAC,MAAM,IAAIA,UAAU,GAAG,CAAC,UAAU,EAAE;IACnCA,UAAU,GAAG,CAAC,UAAU;EAC1B;EACAA,UAAU,GAAG,CAACA,UAAU,EAAC;EACzB,IAAIsB,WAAW,CAACtB,UAAU,CAAC,EAAE;IAC3B;IACAA,UAAU,GAAG37C,GAAG,GAAG,CAAC,GAAIrR,MAAM,CAACv9B,MAAM,GAAG,CAAE;EAC5C;;EAEA;EACA,IAAIuqF,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGhtD,MAAM,CAACv9B,MAAM,GAAGuqF,UAAU;EAC3D,IAAIA,UAAU,IAAIhtD,MAAM,CAACv9B,MAAM,EAAE;IAC/B,IAAI4uC,GAAG,EAAE,OAAO,CAAC,CAAC,MACb27C,UAAU,GAAGhtD,MAAM,CAACv9B,MAAM,GAAG,CAAC;EACrC,CAAC,MAAM,IAAIuqF,UAAU,GAAG,CAAC,EAAE;IACzB,IAAI37C,GAAG,EAAE27C,UAAU,GAAG,CAAC,MAClB,OAAO,CAAC,CAAC;EAChB;;EAEA;EACA,IAAI,OAAOxyE,GAAG,KAAK,QAAQ,EAAE;IAC3BA,GAAG,GAAG47D,MAAM,CAACpqE,IAAI,CAACwO,GAAG,EAAE6iD,QAAQ,CAAC;EAClC;;EAEA;EACA,IAAI+Y,MAAM,CAAChF,QAAQ,CAAC52D,GAAG,CAAC,EAAE;IACxB;IACA,IAAIA,GAAG,CAAC/X,MAAM,KAAK,CAAC,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IACA,OAAOytF,YAAY,CAAClwD,MAAM,EAAExlB,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAEhsB,GAAG,CAAC;EAC7D,CAAC,MAAM,IAAI,OAAO72B,GAAG,KAAK,QAAQ,EAAE;IAClCA,GAAG,GAAGA,GAAG,GAAG,IAAI,EAAC;IACjB,IAAI,OAAOw4D,UAAU,CAACzmE,SAAS,CAAC5D,OAAO,KAAK,UAAU,EAAE;MACtD,IAAI0oC,GAAG,EAAE;QACP,OAAO2hC,UAAU,CAACzmE,SAAS,CAAC5D,OAAO,CAACF,IAAI,CAACu3B,MAAM,EAAExlB,GAAG,EAAEwyE,UAAU,CAAC;MACnE,CAAC,MAAM;QACL,OAAOha,UAAU,CAACzmE,SAAS,CAAC24E,WAAW,CAACz8E,IAAI,CAACu3B,MAAM,EAAExlB,GAAG,EAAEwyE,UAAU,CAAC;MACvE;IACF;IACA,OAAOkD,YAAY,CAAClwD,MAAM,EAAE,CAACxlB,GAAG,CAAC,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAEhsB,GAAG,CAAC;EAC/D;EAEA,MAAM,IAAIvmC,SAAS,CAAC,sCAAsC,CAAC;AAC7D;AAEA,SAASolF,YAAYA,CAAEp+E,GAAG,EAAE0I,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAEhsB,GAAG,EAAE;EAC1D,IAAI8+C,SAAS,GAAG,CAAC;EACjB,IAAIC,SAAS,GAAGt+E,GAAG,CAACrP,MAAM;EAC1B,IAAI4tF,SAAS,GAAG71E,GAAG,CAAC/X,MAAM;EAE1B,IAAI46D,QAAQ,KAAK16D,SAAS,EAAE;IAC1B06D,QAAQ,GAAGh2D,MAAM,CAACg2D,QAAQ,CAAC,CAAC91D,WAAW,CAAC,CAAC;IACzC,IAAI81D,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,OAAO,IAC3CA,QAAQ,KAAK,SAAS,IAAIA,QAAQ,KAAK,UAAU,EAAE;MACrD,IAAIvrD,GAAG,CAACrP,MAAM,GAAG,CAAC,IAAI+X,GAAG,CAAC/X,MAAM,GAAG,CAAC,EAAE;QACpC,OAAO,CAAC,CAAC;MACX;MACA0tF,SAAS,GAAG,CAAC;MACbC,SAAS,IAAI,CAAC;MACdC,SAAS,IAAI,CAAC;MACdrD,UAAU,IAAI,CAAC;IACjB;EACF;EAEA,SAAS1yE,IAAIA,CAAE6yE,GAAG,EAAEhsF,CAAC,EAAE;IACrB,IAAIgvF,SAAS,KAAK,CAAC,EAAE;MACnB,OAAOhD,GAAG,CAAChsF,CAAC,CAAC;IACf,CAAC,MAAM;MACL,OAAOgsF,GAAG,CAACmD,YAAY,CAACnvF,CAAC,GAAGgvF,SAAS,CAAC;IACxC;EACF;EAEA,IAAIhvF,CAAC;EACL,IAAIkwC,GAAG,EAAE;IACP,IAAIk/C,UAAU,GAAG,CAAC,CAAC;IACnB,KAAKpvF,CAAC,GAAG6rF,UAAU,EAAE7rF,CAAC,GAAGivF,SAAS,EAAEjvF,CAAC,EAAE,EAAE;MACvC,IAAImZ,IAAI,CAACxI,GAAG,EAAE3Q,CAAC,CAAC,KAAKmZ,IAAI,CAACE,GAAG,EAAE+1E,UAAU,KAAK,CAAC,CAAC,GAAG,CAAC,GAAGpvF,CAAC,GAAGovF,UAAU,CAAC,EAAE;QACtE,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAEA,UAAU,GAAGpvF,CAAC;QACrC,IAAIA,CAAC,GAAGovF,UAAU,GAAG,CAAC,KAAKF,SAAS,EAAE,OAAOE,UAAU,GAAGJ,SAAS;MACrE,CAAC,MAAM;QACL,IAAII,UAAU,KAAK,CAAC,CAAC,EAAEpvF,CAAC,IAAIA,CAAC,GAAGovF,UAAU;QAC1CA,UAAU,GAAG,CAAC,CAAC;MACjB;IACF;EACF,CAAC,MAAM;IACL,IAAIvD,UAAU,GAAGqD,SAAS,GAAGD,SAAS,EAAEpD,UAAU,GAAGoD,SAAS,GAAGC,SAAS;IAC1E,KAAKlvF,CAAC,GAAG6rF,UAAU,EAAE7rF,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAChC,IAAI64B,KAAK,GAAG,IAAI;MAChB,KAAK,IAAIwsB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6pC,SAAS,EAAE7pC,CAAC,EAAE,EAAE;QAClC,IAAIlsC,IAAI,CAACxI,GAAG,EAAE3Q,CAAC,GAAGqlD,CAAC,CAAC,KAAKlsC,IAAI,CAACE,GAAG,EAAEgsC,CAAC,CAAC,EAAE;UACrCxsB,KAAK,GAAG,KAAK;UACb;QACF;MACF;MACA,IAAIA,KAAK,EAAE,OAAO74B,CAAC;IACrB;EACF;EAEA,OAAO,CAAC,CAAC;AACX;AAEAi1E,MAAM,CAAC7pE,SAAS,CAACihB,QAAQ,GAAG,SAASA,QAAQA,CAAEhT,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAE;EACxE,OAAO,IAAI,CAAC10D,OAAO,CAAC6R,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED+Y,MAAM,CAAC7pE,SAAS,CAAC5D,OAAO,GAAG,SAASA,OAAOA,CAAE6R,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAE;EACtE,OAAO4yB,oBAAoB,CAAC,IAAI,EAAEz1E,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAE,IAAI,CAAC;AACpE,CAAC;AAED+Y,MAAM,CAAC7pE,SAAS,CAAC24E,WAAW,GAAG,SAASA,WAAWA,CAAE1qE,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAE;EAC9E,OAAO4yB,oBAAoB,CAAC,IAAI,EAAEz1E,GAAG,EAAEwyE,UAAU,EAAE3vB,QAAQ,EAAE,KAAK,CAAC;AACrE,CAAC;AAED,SAASmzB,QAAQA,CAAErD,GAAG,EAAEpe,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,EAAE;EAC9Cw9B,MAAM,GAAG3tB,MAAM,CAAC2tB,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAMwwD,SAAS,GAAGtD,GAAG,CAAC1qF,MAAM,GAAGw9B,MAAM;EACrC,IAAI,CAACx9B,MAAM,EAAE;IACXA,MAAM,GAAGguF,SAAS;EACpB,CAAC,MAAM;IACLhuF,MAAM,GAAG6P,MAAM,CAAC7P,MAAM,CAAC;IACvB,IAAIA,MAAM,GAAGguF,SAAS,EAAE;MACtBhuF,MAAM,GAAGguF,SAAS;IACpB;EACF;EAEA,MAAMC,MAAM,GAAG3hB,MAAM,CAACtsE,MAAM;EAE5B,IAAIA,MAAM,GAAGiuF,MAAM,GAAG,CAAC,EAAE;IACvBjuF,MAAM,GAAGiuF,MAAM,GAAG,CAAC;EACrB;EACA,IAAIvvF,CAAC;EACL,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,MAAM,EAAE,EAAEtB,CAAC,EAAE;IAC3B,MAAMqQ,MAAM,GAAGgyC,QAAQ,CAACurB,MAAM,CAAC4hB,MAAM,CAACxvF,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAImtF,WAAW,CAAC98E,MAAM,CAAC,EAAE,OAAOrQ,CAAC;IACjCgsF,GAAG,CAACltD,MAAM,GAAG9+B,CAAC,CAAC,GAAGqQ,MAAM;EAC1B;EACA,OAAOrQ,CAAC;AACV;AAEA,SAASyvF,SAASA,CAAEzD,GAAG,EAAEpe,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,EAAE;EAC/C,OAAOouF,UAAU,CAAChC,WAAW,CAAC9f,MAAM,EAAEoe,GAAG,CAAC1qF,MAAM,GAAGw9B,MAAM,CAAC,EAAEktD,GAAG,EAAEltD,MAAM,EAAEx9B,MAAM,CAAC;AAClF;AAEA,SAASquF,UAAUA,CAAE3D,GAAG,EAAEpe,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,EAAE;EAChD,OAAOouF,UAAU,CAACE,YAAY,CAAChiB,MAAM,CAAC,EAAEoe,GAAG,EAAEltD,MAAM,EAAEx9B,MAAM,CAAC;AAC9D;AAEA,SAASuuF,WAAWA,CAAE7D,GAAG,EAAEpe,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,EAAE;EACjD,OAAOouF,UAAU,CAAC/B,aAAa,CAAC/f,MAAM,CAAC,EAAEoe,GAAG,EAAEltD,MAAM,EAAEx9B,MAAM,CAAC;AAC/D;AAEA,SAASwuF,SAASA,CAAE9D,GAAG,EAAEpe,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,EAAE;EAC/C,OAAOouF,UAAU,CAACK,cAAc,CAACniB,MAAM,EAAEoe,GAAG,CAAC1qF,MAAM,GAAGw9B,MAAM,CAAC,EAAEktD,GAAG,EAAEltD,MAAM,EAAEx9B,MAAM,CAAC;AACrF;AAEA2zE,MAAM,CAAC7pE,SAAS,CAACq0B,KAAK,GAAG,SAASA,KAAKA,CAAEmuC,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,EAAE46D,QAAQ,EAAE;EACzE;EACA,IAAIp9B,MAAM,KAAKt9B,SAAS,EAAE;IACxB06D,QAAQ,GAAG,MAAM;IACjB56D,MAAM,GAAG,IAAI,CAACA,MAAM;IACpBw9B,MAAM,GAAG,CAAC;IACZ;EACA,CAAC,MAAM,IAAIx9B,MAAM,KAAKE,SAAS,IAAI,OAAOs9B,MAAM,KAAK,QAAQ,EAAE;IAC7Do9B,QAAQ,GAAGp9B,MAAM;IACjBx9B,MAAM,GAAG,IAAI,CAACA,MAAM;IACpBw9B,MAAM,GAAG,CAAC;IACZ;EACA,CAAC,MAAM,IAAI1tB,QAAQ,CAAC0tB,MAAM,CAAC,EAAE;IAC3BA,MAAM,GAAGA,MAAM,KAAK,CAAC;IACrB,IAAI1tB,QAAQ,CAAC9P,MAAM,CAAC,EAAE;MACpBA,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI46D,QAAQ,KAAK16D,SAAS,EAAE06D,QAAQ,GAAG,MAAM;IAC/C,CAAC,MAAM;MACLA,QAAQ,GAAG56D,MAAM;MACjBA,MAAM,GAAGE,SAAS;IACpB;EACF,CAAC,MAAM;IACL,MAAM,IAAI6H,KAAK,CACb,yEACF,CAAC;EACH;EAEA,MAAMimF,SAAS,GAAG,IAAI,CAAChuF,MAAM,GAAGw9B,MAAM;EACtC,IAAIx9B,MAAM,KAAKE,SAAS,IAAIF,MAAM,GAAGguF,SAAS,EAAEhuF,MAAM,GAAGguF,SAAS;EAElE,IAAK1hB,MAAM,CAACtsE,MAAM,GAAG,CAAC,KAAKA,MAAM,GAAG,CAAC,IAAIw9B,MAAM,GAAG,CAAC,CAAC,IAAKA,MAAM,GAAG,IAAI,CAACx9B,MAAM,EAAE;IAC7E,MAAM,IAAIyqF,UAAU,CAAC,wCAAwC,CAAC;EAChE;EAEA,IAAI,CAAC7vB,QAAQ,EAAEA,QAAQ,GAAG,MAAM;EAEhC,IAAIuxB,WAAW,GAAG,KAAK;EACvB,SAAS;IACP,QAAQvxB,QAAQ;MACd,KAAK,KAAK;QACR,OAAOmzB,QAAQ,CAAC,IAAI,EAAEzhB,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,CAAC;MAE/C,KAAK,MAAM;MACX,KAAK,OAAO;QACV,OAAOmuF,SAAS,CAAC,IAAI,EAAE7hB,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,CAAC;MAEhD,KAAK,OAAO;MACZ,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAOquF,UAAU,CAAC,IAAI,EAAE/hB,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,CAAC;MAEjD,KAAK,QAAQ;QACX;QACA,OAAOuuF,WAAW,CAAC,IAAI,EAAEjiB,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,CAAC;MAElD,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,SAAS;MACd,KAAK,UAAU;QACb,OAAOwuF,SAAS,CAAC,IAAI,EAAEliB,MAAM,EAAE9uC,MAAM,EAAEx9B,MAAM,CAAC;MAEhD;QACE,IAAImsF,WAAW,EAAE,MAAM,IAAI9jF,SAAS,CAAC,oBAAoB,GAAGuyD,QAAQ,CAAC;QACrEA,QAAQ,GAAG,CAAC,EAAE,GAAGA,QAAQ,EAAE91D,WAAW,CAAC,CAAC;QACxCqnF,WAAW,GAAG,IAAI;IACtB;EACF;AACF,CAAC;AAEDxY,MAAM,CAAC7pE,SAAS,CAACb,MAAM,GAAG,SAASA,MAAMA,CAAA,EAAI;EAC3C,OAAO;IACLxK,IAAI,EAAE,QAAQ;IACdgN,IAAI,EAAE+b,KAAK,CAAC1d,SAAS,CAACI,KAAK,CAAClE,IAAI,CAAC,IAAI,CAAC0oF,IAAI,IAAI,IAAI,EAAE,CAAC;EACvD,CAAC;AACH,CAAC;AAED,SAAS/B,WAAWA,CAAEjC,GAAG,EAAEzrE,KAAK,EAAEC,GAAG,EAAE;EACrC,IAAID,KAAK,KAAK,CAAC,IAAIC,GAAG,KAAKwrE,GAAG,CAAC1qF,MAAM,EAAE;IACrC,OAAO4pF,MAAM,CAACpU,aAAa,CAACkV,GAAG,CAAC;EAClC,CAAC,MAAM;IACL,OAAOd,MAAM,CAACpU,aAAa,CAACkV,GAAG,CAACxgF,KAAK,CAAC+U,KAAK,EAAEC,GAAG,CAAC,CAAC;EACpD;AACF;AAEA,SAASstE,SAASA,CAAE9B,GAAG,EAAEzrE,KAAK,EAAEC,GAAG,EAAE;EACnCA,GAAG,GAAGkG,IAAI,CAACqzC,GAAG,CAACiyB,GAAG,CAAC1qF,MAAM,EAAEkf,GAAG,CAAC;EAC/B,MAAMoE,GAAG,GAAG,EAAE;EAEd,IAAI5kB,CAAC,GAAGugB,KAAK;EACb,OAAOvgB,CAAC,GAAGwgB,GAAG,EAAE;IACd,MAAMyvE,SAAS,GAAGjE,GAAG,CAAChsF,CAAC,CAAC;IACxB,IAAIkwF,SAAS,GAAG,IAAI;IACpB,IAAIC,gBAAgB,GAAIF,SAAS,GAAG,IAAI,GACpC,CAAC,GACAA,SAAS,GAAG,IAAI,GACb,CAAC,GACAA,SAAS,GAAG,IAAI,GACb,CAAC,GACD,CAAC;IAEb,IAAIjwF,CAAC,GAAGmwF,gBAAgB,IAAI3vE,GAAG,EAAE;MAC/B,IAAI4vE,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,aAAa;MAEpD,QAAQJ,gBAAgB;QACtB,KAAK,CAAC;UACJ,IAAIF,SAAS,GAAG,IAAI,EAAE;YACpBC,SAAS,GAAGD,SAAS;UACvB;UACA;QACF,KAAK,CAAC;UACJG,UAAU,GAAGpE,GAAG,CAAChsF,CAAC,GAAG,CAAC,CAAC;UACvB,IAAI,CAACowF,UAAU,GAAG,IAAI,MAAM,IAAI,EAAE;YAChCG,aAAa,GAAG,CAACN,SAAS,GAAG,IAAI,KAAK,GAAG,GAAIG,UAAU,GAAG,IAAK;YAC/D,IAAIG,aAAa,GAAG,IAAI,EAAE;cACxBL,SAAS,GAAGK,aAAa;YAC3B;UACF;UACA;QACF,KAAK,CAAC;UACJH,UAAU,GAAGpE,GAAG,CAAChsF,CAAC,GAAG,CAAC,CAAC;UACvBqwF,SAAS,GAAGrE,GAAG,CAAChsF,CAAC,GAAG,CAAC,CAAC;UACtB,IAAI,CAACowF,UAAU,GAAG,IAAI,MAAM,IAAI,IAAI,CAACC,SAAS,GAAG,IAAI,MAAM,IAAI,EAAE;YAC/DE,aAAa,GAAG,CAACN,SAAS,GAAG,GAAG,KAAK,GAAG,GAAG,CAACG,UAAU,GAAG,IAAI,KAAK,GAAG,GAAIC,SAAS,GAAG,IAAK;YAC1F,IAAIE,aAAa,GAAG,KAAK,KAAKA,aAAa,GAAG,MAAM,IAAIA,aAAa,GAAG,MAAM,CAAC,EAAE;cAC/EL,SAAS,GAAGK,aAAa;YAC3B;UACF;UACA;QACF,KAAK,CAAC;UACJH,UAAU,GAAGpE,GAAG,CAAChsF,CAAC,GAAG,CAAC,CAAC;UACvBqwF,SAAS,GAAGrE,GAAG,CAAChsF,CAAC,GAAG,CAAC,CAAC;UACtBswF,UAAU,GAAGtE,GAAG,CAAChsF,CAAC,GAAG,CAAC,CAAC;UACvB,IAAI,CAACowF,UAAU,GAAG,IAAI,MAAM,IAAI,IAAI,CAACC,SAAS,GAAG,IAAI,MAAM,IAAI,IAAI,CAACC,UAAU,GAAG,IAAI,MAAM,IAAI,EAAE;YAC/FC,aAAa,GAAG,CAACN,SAAS,GAAG,GAAG,KAAK,IAAI,GAAG,CAACG,UAAU,GAAG,IAAI,KAAK,GAAG,GAAG,CAACC,SAAS,GAAG,IAAI,KAAK,GAAG,GAAIC,UAAU,GAAG,IAAK;YACxH,IAAIC,aAAa,GAAG,MAAM,IAAIA,aAAa,GAAG,QAAQ,EAAE;cACtDL,SAAS,GAAGK,aAAa;YAC3B;UACF;MACJ;IACF;IAEA,IAAIL,SAAS,KAAK,IAAI,EAAE;MACtB;MACA;MACAA,SAAS,GAAG,MAAM;MAClBC,gBAAgB,GAAG,CAAC;IACtB,CAAC,MAAM,IAAID,SAAS,GAAG,MAAM,EAAE;MAC7B;MACAA,SAAS,IAAI,OAAO;MACpBtrE,GAAG,CAAC5Q,IAAI,CAACk8E,SAAS,KAAK,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;MAC3CA,SAAS,GAAG,MAAM,GAAGA,SAAS,GAAG,KAAK;IACxC;IAEAtrE,GAAG,CAAC5Q,IAAI,CAACk8E,SAAS,CAAC;IACnBlwF,CAAC,IAAImwF,gBAAgB;EACvB;EAEA,OAAOK,qBAAqB,CAAC5rE,GAAG,CAAC;AACnC;;AAEA;AACA;AACA;AACA,MAAM6rE,oBAAoB,GAAG,MAAM;AAEnC,SAASD,qBAAqBA,CAAEE,UAAU,EAAE;EAC1C,MAAM9/E,GAAG,GAAG8/E,UAAU,CAACpvF,MAAM;EAC7B,IAAIsP,GAAG,IAAI6/E,oBAAoB,EAAE;IAC/B,OAAOvqF,MAAM,CAACoyE,YAAY,CAAClJ,KAAK,CAAClpE,MAAM,EAAEwqF,UAAU,CAAC,EAAC;EACvD;;EAEA;EACA,IAAI9rE,GAAG,GAAG,EAAE;EACZ,IAAI5kB,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAG4Q,GAAG,EAAE;IACdgU,GAAG,IAAI1e,MAAM,CAACoyE,YAAY,CAAClJ,KAAK,CAC9BlpE,MAAM,EACNwqF,UAAU,CAACllF,KAAK,CAACxL,CAAC,EAAEA,CAAC,IAAIywF,oBAAoB,CAC/C,CAAC;EACH;EACA,OAAO7rE,GAAG;AACZ;AAEA,SAASmpE,UAAUA,CAAE/B,GAAG,EAAEzrE,KAAK,EAAEC,GAAG,EAAE;EACpC,IAAIw2B,GAAG,GAAG,EAAE;EACZx2B,GAAG,GAAGkG,IAAI,CAACqzC,GAAG,CAACiyB,GAAG,CAAC1qF,MAAM,EAAEkf,GAAG,CAAC;EAE/B,KAAK,IAAIxgB,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGwgB,GAAG,EAAE,EAAExgB,CAAC,EAAE;IAChCg3C,GAAG,IAAI9wC,MAAM,CAACoyE,YAAY,CAAC0T,GAAG,CAAChsF,CAAC,CAAC,GAAG,IAAI,CAAC;EAC3C;EACA,OAAOg3C,GAAG;AACZ;AAEA,SAASg3C,WAAWA,CAAEhC,GAAG,EAAEzrE,KAAK,EAAEC,GAAG,EAAE;EACrC,IAAIw2B,GAAG,GAAG,EAAE;EACZx2B,GAAG,GAAGkG,IAAI,CAACqzC,GAAG,CAACiyB,GAAG,CAAC1qF,MAAM,EAAEkf,GAAG,CAAC;EAE/B,KAAK,IAAIxgB,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGwgB,GAAG,EAAE,EAAExgB,CAAC,EAAE;IAChCg3C,GAAG,IAAI9wC,MAAM,CAACoyE,YAAY,CAAC0T,GAAG,CAAChsF,CAAC,CAAC,CAAC;EACpC;EACA,OAAOg3C,GAAG;AACZ;AAEA,SAAS62C,QAAQA,CAAE7B,GAAG,EAAEzrE,KAAK,EAAEC,GAAG,EAAE;EAClC,MAAM5P,GAAG,GAAGo7E,GAAG,CAAC1qF,MAAM;EAEtB,IAAI,CAACif,KAAK,IAAIA,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC;EAClC,IAAI,CAACC,GAAG,IAAIA,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAG5P,GAAG,EAAE4P,GAAG,GAAG5P,GAAG;EAE3C,IAAI+/E,GAAG,GAAG,EAAE;EACZ,KAAK,IAAI3wF,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGwgB,GAAG,EAAE,EAAExgB,CAAC,EAAE;IAChC2wF,GAAG,IAAIC,mBAAmB,CAAC5E,GAAG,CAAChsF,CAAC,CAAC,CAAC;EACpC;EACA,OAAO2wF,GAAG;AACZ;AAEA,SAASzC,YAAYA,CAAElC,GAAG,EAAEzrE,KAAK,EAAEC,GAAG,EAAE;EACtC,MAAM/K,KAAK,GAAGu2E,GAAG,CAACxgF,KAAK,CAAC+U,KAAK,EAAEC,GAAG,CAAC;EACnC,IAAIoE,GAAG,GAAG,EAAE;EACZ;EACA,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyV,KAAK,CAACnU,MAAM,GAAG,CAAC,EAAEtB,CAAC,IAAI,CAAC,EAAE;IAC5C4kB,GAAG,IAAI1e,MAAM,CAACoyE,YAAY,CAAC7iE,KAAK,CAACzV,CAAC,CAAC,GAAIyV,KAAK,CAACzV,CAAC,GAAG,CAAC,CAAC,GAAG,GAAI,CAAC;EAC7D;EACA,OAAO4kB,GAAG;AACZ;AAEAqwD,MAAM,CAAC7pE,SAAS,CAACI,KAAK,GAAG,SAASA,KAAKA,CAAE+U,KAAK,EAAEC,GAAG,EAAE;EACnD,MAAM5P,GAAG,GAAG,IAAI,CAACtP,MAAM;EACvBif,KAAK,GAAG,CAAC,CAACA,KAAK;EACfC,GAAG,GAAGA,GAAG,KAAKhf,SAAS,GAAGoP,GAAG,GAAG,CAAC,CAAC4P,GAAG;EAErC,IAAID,KAAK,GAAG,CAAC,EAAE;IACbA,KAAK,IAAI3P,GAAG;IACZ,IAAI2P,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC;EAC1B,CAAC,MAAM,IAAIA,KAAK,GAAG3P,GAAG,EAAE;IACtB2P,KAAK,GAAG3P,GAAG;EACb;EAEA,IAAI4P,GAAG,GAAG,CAAC,EAAE;IACXA,GAAG,IAAI5P,GAAG;IACV,IAAI4P,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAG,CAAC;EACtB,CAAC,MAAM,IAAIA,GAAG,GAAG5P,GAAG,EAAE;IACpB4P,GAAG,GAAG5P,GAAG;EACX;EAEA,IAAI4P,GAAG,GAAGD,KAAK,EAAEC,GAAG,GAAGD,KAAK;EAE5B,MAAMswE,MAAM,GAAG,IAAI,CAACC,QAAQ,CAACvwE,KAAK,EAAEC,GAAG,CAAC;EACxC;EACAnf,MAAM,CAACuqF,cAAc,CAACiF,MAAM,EAAE5b,MAAM,CAAC7pE,SAAS,CAAC;EAE/C,OAAOylF,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA,SAASE,WAAWA,CAAEjyD,MAAM,EAAEkyD,GAAG,EAAE1vF,MAAM,EAAE;EACzC,IAAKw9B,MAAM,GAAG,CAAC,KAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIitD,UAAU,CAAC,oBAAoB,CAAC;EAChF,IAAIjtD,MAAM,GAAGkyD,GAAG,GAAG1vF,MAAM,EAAE,MAAM,IAAIyqF,UAAU,CAAC,uCAAuC,CAAC;AAC1F;AAEA9W,MAAM,CAAC7pE,SAAS,CAAC6lF,UAAU,GAC3Bhc,MAAM,CAAC7pE,SAAS,CAAC8lF,UAAU,GAAG,SAASA,UAAUA,CAAEpyD,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EAC/EryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB83C,UAAU,GAAGA,UAAU,KAAK,CAAC;EAC7B,IAAI,CAACua,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE83C,UAAU,EAAE,IAAI,CAACt1E,MAAM,CAAC;EAE3D,IAAI+X,GAAG,GAAG,IAAI,CAACylB,MAAM,CAAC;EACtB,IAAIsyD,GAAG,GAAG,CAAC;EACX,IAAIpxF,CAAC,GAAG,CAAC;EACT,OAAO,EAAEA,CAAC,GAAG42E,UAAU,KAAKwa,GAAG,IAAI,KAAK,CAAC,EAAE;IACzC/3E,GAAG,IAAI,IAAI,CAACylB,MAAM,GAAG9+B,CAAC,CAAC,GAAGoxF,GAAG;EAC/B;EAEA,OAAO/3E,GAAG;AACZ,CAAC;AAED47D,MAAM,CAAC7pE,SAAS,CAACimF,UAAU,GAC3Bpc,MAAM,CAAC7pE,SAAS,CAACkmF,UAAU,GAAG,SAASA,UAAUA,CAAExyD,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EAC/EryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB83C,UAAU,GAAGA,UAAU,KAAK,CAAC;EAC7B,IAAI,CAACua,QAAQ,EAAE;IACbJ,WAAW,CAACjyD,MAAM,EAAE83C,UAAU,EAAE,IAAI,CAACt1E,MAAM,CAAC;EAC9C;EAEA,IAAI+X,GAAG,GAAG,IAAI,CAACylB,MAAM,GAAG,EAAE83C,UAAU,CAAC;EACrC,IAAIwa,GAAG,GAAG,CAAC;EACX,OAAOxa,UAAU,GAAG,CAAC,KAAKwa,GAAG,IAAI,KAAK,CAAC,EAAE;IACvC/3E,GAAG,IAAI,IAAI,CAACylB,MAAM,GAAG,EAAE83C,UAAU,CAAC,GAAGwa,GAAG;EAC1C;EAEA,OAAO/3E,GAAG;AACZ,CAAC;AAED47D,MAAM,CAAC7pE,SAAS,CAACmmF,SAAS,GAC1Btc,MAAM,CAAC7pE,SAAS,CAAComF,SAAS,GAAG,SAASA,SAASA,CAAE1yD,MAAM,EAAEqyD,QAAQ,EAAE;EACjEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAO,IAAI,CAACw9B,MAAM,CAAC;AACrB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAACqmF,YAAY,GAC7Bxc,MAAM,CAAC7pE,SAAS,CAACsmF,YAAY,GAAG,SAASA,YAAYA,CAAE5yD,MAAM,EAAEqyD,QAAQ,EAAE;EACvEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAO,IAAI,CAACw9B,MAAM,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE;AAC/C,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAACumF,YAAY,GAC7B1c,MAAM,CAAC7pE,SAAS,CAAC+jF,YAAY,GAAG,SAASA,YAAYA,CAAErwD,MAAM,EAAEqyD,QAAQ,EAAE;EACvEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAQ,IAAI,CAACw9B,MAAM,CAAC,IAAI,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC;AAC/C,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAACwmF,YAAY,GAC7B3c,MAAM,CAAC7pE,SAAS,CAACymF,YAAY,GAAG,SAASA,YAAYA,CAAE/yD,MAAM,EAAEqyD,QAAQ,EAAE;EACvEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAElD,OAAO,CAAE,IAAI,CAACw9B,MAAM,CAAC,GAChB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GACtB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG,IACvB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAG,SAAU;AACpC,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC0mF,YAAY,GAC7B7c,MAAM,CAAC7pE,SAAS,CAAC2mF,YAAY,GAAG,SAASA,YAAYA,CAAEjzD,MAAM,EAAEqyD,QAAQ,EAAE;EACvEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAElD,OAAQ,IAAI,CAACw9B,MAAM,CAAC,GAAG,SAAS,IAC5B,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,GACvB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GACvB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,CAAC;AACrB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC4mF,eAAe,GAAGC,kBAAkB,CAAC,SAASD,eAAeA,CAAElzD,MAAM,EAAE;EACtFA,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrBozD,cAAc,CAACpzD,MAAM,EAAE,QAAQ,CAAC;EAChC,MAAMh0B,KAAK,GAAG,IAAI,CAACg0B,MAAM,CAAC;EAC1B,MAAMuJ,IAAI,GAAG,IAAI,CAACvJ,MAAM,GAAG,CAAC,CAAC;EAC7B,IAAIh0B,KAAK,KAAKtJ,SAAS,IAAI6mC,IAAI,KAAK7mC,SAAS,EAAE;IAC7C2wF,WAAW,CAACrzD,MAAM,EAAE,IAAI,CAACx9B,MAAM,GAAG,CAAC,CAAC;EACtC;EAEA,MAAM8wF,EAAE,GAAGtnF,KAAK,GACd,IAAI,CAAC,EAAEg0B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;EAE1B,MAAMuzD,EAAE,GAAG,IAAI,CAAC,EAAEvzD,MAAM,CAAC,GACvB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxBuJ,IAAI,GAAG,CAAC,IAAI,EAAE;EAEhB,OAAOiqD,MAAM,CAACF,EAAE,CAAC,IAAIE,MAAM,CAACD,EAAE,CAAC,IAAIC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AAEFrd,MAAM,CAAC7pE,SAAS,CAACmnF,eAAe,GAAGN,kBAAkB,CAAC,SAASM,eAAeA,CAAEzzD,MAAM,EAAE;EACtFA,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrBozD,cAAc,CAACpzD,MAAM,EAAE,QAAQ,CAAC;EAChC,MAAMh0B,KAAK,GAAG,IAAI,CAACg0B,MAAM,CAAC;EAC1B,MAAMuJ,IAAI,GAAG,IAAI,CAACvJ,MAAM,GAAG,CAAC,CAAC;EAC7B,IAAIh0B,KAAK,KAAKtJ,SAAS,IAAI6mC,IAAI,KAAK7mC,SAAS,EAAE;IAC7C2wF,WAAW,CAACrzD,MAAM,EAAE,IAAI,CAACx9B,MAAM,GAAG,CAAC,CAAC;EACtC;EAEA,MAAM+wF,EAAE,GAAGvnF,KAAK,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEg0B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvB,IAAI,CAAC,EAAEA,MAAM,CAAC;EAEhB,MAAMszD,EAAE,GAAG,IAAI,CAAC,EAAEtzD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACjC,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvBuJ,IAAI;EAEN,OAAO,CAACiqD,MAAM,CAACD,EAAE,CAAC,IAAIC,MAAM,CAAC,EAAE,CAAC,IAAIA,MAAM,CAACF,EAAE,CAAC;AAChD,CAAC,CAAC;AAEFnd,MAAM,CAAC7pE,SAAS,CAAConF,SAAS,GAAG,SAASA,SAASA,CAAE1zD,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EAC7EryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB83C,UAAU,GAAGA,UAAU,KAAK,CAAC;EAC7B,IAAI,CAACua,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE83C,UAAU,EAAE,IAAI,CAACt1E,MAAM,CAAC;EAE3D,IAAI+X,GAAG,GAAG,IAAI,CAACylB,MAAM,CAAC;EACtB,IAAIsyD,GAAG,GAAG,CAAC;EACX,IAAIpxF,CAAC,GAAG,CAAC;EACT,OAAO,EAAEA,CAAC,GAAG42E,UAAU,KAAKwa,GAAG,IAAI,KAAK,CAAC,EAAE;IACzC/3E,GAAG,IAAI,IAAI,CAACylB,MAAM,GAAG9+B,CAAC,CAAC,GAAGoxF,GAAG;EAC/B;EACAA,GAAG,IAAI,IAAI;EAEX,IAAI/3E,GAAG,IAAI+3E,GAAG,EAAE/3E,GAAG,IAAIqN,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGo3C,UAAU,CAAC;EAElD,OAAOv9D,GAAG;AACZ,CAAC;AAED47D,MAAM,CAAC7pE,SAAS,CAACqnF,SAAS,GAAG,SAASA,SAASA,CAAE3zD,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EAC7EryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB83C,UAAU,GAAGA,UAAU,KAAK,CAAC;EAC7B,IAAI,CAACua,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE83C,UAAU,EAAE,IAAI,CAACt1E,MAAM,CAAC;EAE3D,IAAItB,CAAC,GAAG42E,UAAU;EAClB,IAAIwa,GAAG,GAAG,CAAC;EACX,IAAI/3E,GAAG,GAAG,IAAI,CAACylB,MAAM,GAAG,EAAE9+B,CAAC,CAAC;EAC5B,OAAOA,CAAC,GAAG,CAAC,KAAKoxF,GAAG,IAAI,KAAK,CAAC,EAAE;IAC9B/3E,GAAG,IAAI,IAAI,CAACylB,MAAM,GAAG,EAAE9+B,CAAC,CAAC,GAAGoxF,GAAG;EACjC;EACAA,GAAG,IAAI,IAAI;EAEX,IAAI/3E,GAAG,IAAI+3E,GAAG,EAAE/3E,GAAG,IAAIqN,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGo3C,UAAU,CAAC;EAElD,OAAOv9D,GAAG;AACZ,CAAC;AAED47D,MAAM,CAAC7pE,SAAS,CAACsnF,QAAQ,GAAG,SAASA,QAAQA,CAAE5zD,MAAM,EAAEqyD,QAAQ,EAAE;EAC/DryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,IAAI,EAAE,IAAI,CAACw9B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,OAAQ,IAAI,CAACA,MAAM,CAAC;EAChD,OAAQ,CAAC,IAAI,GAAG,IAAI,CAACA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAACunF,WAAW,GAAG,SAASA,WAAWA,CAAE7zD,MAAM,EAAEqyD,QAAQ,EAAE;EACrEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,MAAM+X,GAAG,GAAG,IAAI,CAACylB,MAAM,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE;EAClD,OAAQzlB,GAAG,GAAG,MAAM,GAAIA,GAAG,GAAG,UAAU,GAAGA,GAAG;AAChD,CAAC;AAED47D,MAAM,CAAC7pE,SAAS,CAACwnF,WAAW,GAAG,SAASA,WAAWA,CAAE9zD,MAAM,EAAEqyD,QAAQ,EAAE;EACrEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,MAAM+X,GAAG,GAAG,IAAI,CAACylB,MAAM,GAAG,CAAC,CAAC,GAAI,IAAI,CAACA,MAAM,CAAC,IAAI,CAAE;EAClD,OAAQzlB,GAAG,GAAG,MAAM,GAAIA,GAAG,GAAG,UAAU,GAAGA,GAAG;AAChD,CAAC;AAED47D,MAAM,CAAC7pE,SAAS,CAACynF,WAAW,GAAG,SAASA,WAAWA,CAAE/zD,MAAM,EAAEqyD,QAAQ,EAAE;EACrEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAElD,OAAQ,IAAI,CAACw9B,MAAM,CAAC,GACjB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GACtB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG,GACvB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG;AAC5B,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC0nF,WAAW,GAAG,SAASA,WAAWA,CAAEh0D,MAAM,EAAEqyD,QAAQ,EAAE;EACrEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAElD,OAAQ,IAAI,CAACw9B,MAAM,CAAC,IAAI,EAAE,GACvB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG,GACvB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GACtB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAE;AACtB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC2nF,cAAc,GAAGd,kBAAkB,CAAC,SAASc,cAAcA,CAAEj0D,MAAM,EAAE;EACpFA,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrBozD,cAAc,CAACpzD,MAAM,EAAE,QAAQ,CAAC;EAChC,MAAMh0B,KAAK,GAAG,IAAI,CAACg0B,MAAM,CAAC;EAC1B,MAAMuJ,IAAI,GAAG,IAAI,CAACvJ,MAAM,GAAG,CAAC,CAAC;EAC7B,IAAIh0B,KAAK,KAAKtJ,SAAS,IAAI6mC,IAAI,KAAK7mC,SAAS,EAAE;IAC7C2wF,WAAW,CAACrzD,MAAM,EAAE,IAAI,CAACx9B,MAAM,GAAG,CAAC,CAAC;EACtC;EAEA,MAAM+X,GAAG,GAAG,IAAI,CAACylB,MAAM,GAAG,CAAC,CAAC,GAC1B,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GACzB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IACzBuJ,IAAI,IAAI,EAAE,CAAC,EAAC;;EAEf,OAAO,CAACiqD,MAAM,CAACj5E,GAAG,CAAC,IAAIi5E,MAAM,CAAC,EAAE,CAAC,IAC/BA,MAAM,CAACxnF,KAAK,GACZ,IAAI,CAAC,EAAEg0B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEFm2C,MAAM,CAAC7pE,SAAS,CAAC4nF,cAAc,GAAGf,kBAAkB,CAAC,SAASe,cAAcA,CAAEl0D,MAAM,EAAE;EACpFA,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrBozD,cAAc,CAACpzD,MAAM,EAAE,QAAQ,CAAC;EAChC,MAAMh0B,KAAK,GAAG,IAAI,CAACg0B,MAAM,CAAC;EAC1B,MAAMuJ,IAAI,GAAG,IAAI,CAACvJ,MAAM,GAAG,CAAC,CAAC;EAC7B,IAAIh0B,KAAK,KAAKtJ,SAAS,IAAI6mC,IAAI,KAAK7mC,SAAS,EAAE;IAC7C2wF,WAAW,CAACrzD,MAAM,EAAE,IAAI,CAACx9B,MAAM,GAAG,CAAC,CAAC;EACtC;EAEA,MAAM+X,GAAG,GAAG,CAACvO,KAAK,IAAI,EAAE;EAAI;EAC1B,IAAI,CAAC,EAAEg0B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvB,IAAI,CAAC,EAAEA,MAAM,CAAC;EAEhB,OAAO,CAACwzD,MAAM,CAACj5E,GAAG,CAAC,IAAIi5E,MAAM,CAAC,EAAE,CAAC,IAC/BA,MAAM,CAAC,IAAI,CAAC,EAAExzD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAC/B,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GACxB,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GACvBuJ,IAAI,CAAC;AACT,CAAC,CAAC;AAEF4sC,MAAM,CAAC7pE,SAAS,CAAC6nF,WAAW,GAAG,SAASA,WAAWA,CAAEn0D,MAAM,EAAEqyD,QAAQ,EAAE;EACrEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAO6pF,OAAO,CAAChyE,IAAI,CAAC,IAAI,EAAE2lB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC8nF,WAAW,GAAG,SAASA,WAAWA,CAAEp0D,MAAM,EAAEqyD,QAAQ,EAAE;EACrEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAO6pF,OAAO,CAAChyE,IAAI,CAAC,IAAI,EAAE2lB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC+nF,YAAY,GAAG,SAASA,YAAYA,CAAEr0D,MAAM,EAAEqyD,QAAQ,EAAE;EACvEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAO6pF,OAAO,CAAChyE,IAAI,CAAC,IAAI,EAAE2lB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAACgoF,YAAY,GAAG,SAASA,YAAYA,CAAEt0D,MAAM,EAAEqyD,QAAQ,EAAE;EACvEryD,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEJ,WAAW,CAACjyD,MAAM,EAAE,CAAC,EAAE,IAAI,CAACx9B,MAAM,CAAC;EAClD,OAAO6pF,OAAO,CAAChyE,IAAI,CAAC,IAAI,EAAE2lB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAASu0D,QAAQA,CAAErH,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEkyD,GAAG,EAAErqE,GAAG,EAAEozC,GAAG,EAAE;EACpD,IAAI,CAACkb,MAAM,CAAChF,QAAQ,CAAC+b,GAAG,CAAC,EAAE,MAAM,IAAIriF,SAAS,CAAC,6CAA6C,CAAC;EAC7F,IAAIjJ,KAAK,GAAGimB,GAAG,IAAIjmB,KAAK,GAAGq5D,GAAG,EAAE,MAAM,IAAIgyB,UAAU,CAAC,mCAAmC,CAAC;EACzF,IAAIjtD,MAAM,GAAGkyD,GAAG,GAAGhF,GAAG,CAAC1qF,MAAM,EAAE,MAAM,IAAIyqF,UAAU,CAAC,oBAAoB,CAAC;AAC3E;AAEA9W,MAAM,CAAC7pE,SAAS,CAACkoF,WAAW,GAC5Bre,MAAM,CAAC7pE,SAAS,CAACmoF,WAAW,GAAG,SAASA,WAAWA,CAAE7yF,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EACxFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB83C,UAAU,GAAGA,UAAU,KAAK,CAAC;EAC7B,IAAI,CAACua,QAAQ,EAAE;IACb,MAAMqC,QAAQ,GAAG9sE,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGo3C,UAAU,CAAC,GAAG,CAAC;IAChDyc,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAE4c,QAAQ,EAAE,CAAC,CAAC;EACxD;EAEA,IAAIpC,GAAG,GAAG,CAAC;EACX,IAAIpxF,CAAC,GAAG,CAAC;EACT,IAAI,CAAC8+B,MAAM,CAAC,GAAGp+B,KAAK,GAAG,IAAI;EAC3B,OAAO,EAAEV,CAAC,GAAG42E,UAAU,KAAKwa,GAAG,IAAI,KAAK,CAAC,EAAE;IACzC,IAAI,CAACtyD,MAAM,GAAG9+B,CAAC,CAAC,GAAIU,KAAK,GAAG0wF,GAAG,GAAI,IAAI;EACzC;EAEA,OAAOtyD,MAAM,GAAG83C,UAAU;AAC5B,CAAC;AAED3B,MAAM,CAAC7pE,SAAS,CAACqoF,WAAW,GAC5Bxe,MAAM,CAAC7pE,SAAS,CAACsoF,WAAW,GAAG,SAASA,WAAWA,CAAEhzF,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EACxFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB83C,UAAU,GAAGA,UAAU,KAAK,CAAC;EAC7B,IAAI,CAACua,QAAQ,EAAE;IACb,MAAMqC,QAAQ,GAAG9sE,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGo3C,UAAU,CAAC,GAAG,CAAC;IAChDyc,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAE4c,QAAQ,EAAE,CAAC,CAAC;EACxD;EAEA,IAAIxzF,CAAC,GAAG42E,UAAU,GAAG,CAAC;EACtB,IAAIwa,GAAG,GAAG,CAAC;EACX,IAAI,CAACtyD,MAAM,GAAG9+B,CAAC,CAAC,GAAGU,KAAK,GAAG,IAAI;EAC/B,OAAO,EAAEV,CAAC,IAAI,CAAC,KAAKoxF,GAAG,IAAI,KAAK,CAAC,EAAE;IACjC,IAAI,CAACtyD,MAAM,GAAG9+B,CAAC,CAAC,GAAIU,KAAK,GAAG0wF,GAAG,GAAI,IAAI;EACzC;EAEA,OAAOtyD,MAAM,GAAG83C,UAAU;AAC5B,CAAC;AAED3B,MAAM,CAAC7pE,SAAS,CAACuoF,UAAU,GAC3B1e,MAAM,CAAC7pE,SAAS,CAACwoF,UAAU,GAAG,SAASA,UAAUA,CAAElzF,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC1EzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;EACxD,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EAC7B,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAACyoF,aAAa,GAC9B5e,MAAM,CAAC7pE,SAAS,CAAC0oF,aAAa,GAAG,SAASA,aAAaA,CAAEpzF,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAChFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;EAC1D,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EAC7B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAChC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC2oF,aAAa,GAC9B9e,MAAM,CAAC7pE,SAAS,CAAC4oF,aAAa,GAAG,SAASA,aAAaA,CAAEtzF,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAChFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;EAC1D,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAC5B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EACjC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC6oF,aAAa,GAC9Bhf,MAAM,CAAC7pE,SAAS,CAAC8oF,aAAa,GAAG,SAASA,aAAaA,CAAExzF,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAChFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;EAC9D,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EACjC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EACjC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAChC,IAAI,CAACo+B,MAAM,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EAC7B,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC+oF,aAAa,GAC9Blf,MAAM,CAAC7pE,SAAS,CAACgpF,aAAa,GAAG,SAASA,aAAaA,CAAE1zF,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAChFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;EAC9D,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EAC7B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EACjC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAChC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EACjC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAED,SAASu1D,cAAcA,CAAErI,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEi7B,GAAG,EAAEpzC,GAAG,EAAE;EACrD2tE,UAAU,CAAC5zF,KAAK,EAAEq5D,GAAG,EAAEpzC,GAAG,EAAEqlE,GAAG,EAAEltD,MAAM,EAAE,CAAC,CAAC;EAE3C,IAAIszD,EAAE,GAAGjhF,MAAM,CAACzQ,KAAK,GAAG4xF,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3CtG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGszD,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZpG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGszD,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZpG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGszD,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZpG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGszD,EAAE;EAClB,IAAIC,EAAE,GAAGlhF,MAAM,CAACzQ,KAAK,IAAI4xF,MAAM,CAAC,EAAE,CAAC,GAAGA,MAAM,CAAC,UAAU,CAAC,CAAC;EACzDtG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGuzD,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZrG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGuzD,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZrG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGuzD,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZrG,GAAG,CAACltD,MAAM,EAAE,CAAC,GAAGuzD,EAAE;EAClB,OAAOvzD,MAAM;AACf;AAEA,SAASy1D,cAAcA,CAAEvI,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEi7B,GAAG,EAAEpzC,GAAG,EAAE;EACrD2tE,UAAU,CAAC5zF,KAAK,EAAEq5D,GAAG,EAAEpzC,GAAG,EAAEqlE,GAAG,EAAEltD,MAAM,EAAE,CAAC,CAAC;EAE3C,IAAIszD,EAAE,GAAGjhF,MAAM,CAACzQ,KAAK,GAAG4xF,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3CtG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGszD,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZpG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGszD,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZpG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGszD,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZpG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGszD,EAAE;EACpB,IAAIC,EAAE,GAAGlhF,MAAM,CAACzQ,KAAK,IAAI4xF,MAAM,CAAC,EAAE,CAAC,GAAGA,MAAM,CAAC,UAAU,CAAC,CAAC;EACzDtG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGuzD,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZrG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGuzD,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZrG,GAAG,CAACltD,MAAM,GAAG,CAAC,CAAC,GAAGuzD,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZrG,GAAG,CAACltD,MAAM,CAAC,GAAGuzD,EAAE;EAChB,OAAOvzD,MAAM,GAAG,CAAC;AACnB;AAEAm2C,MAAM,CAAC7pE,SAAS,CAACopF,gBAAgB,GAAGvC,kBAAkB,CAAC,SAASuC,gBAAgBA,CAAE9zF,KAAK,EAAEo+B,MAAM,GAAG,CAAC,EAAE;EACnG,OAAOu1D,cAAc,CAAC,IAAI,EAAE3zF,KAAK,EAAEo+B,MAAM,EAAEwzD,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEFrd,MAAM,CAAC7pE,SAAS,CAACqpF,gBAAgB,GAAGxC,kBAAkB,CAAC,SAASwC,gBAAgBA,CAAE/zF,KAAK,EAAEo+B,MAAM,GAAG,CAAC,EAAE;EACnG,OAAOy1D,cAAc,CAAC,IAAI,EAAE7zF,KAAK,EAAEo+B,MAAM,EAAEwzD,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEFrd,MAAM,CAAC7pE,SAAS,CAACspF,UAAU,GAAG,SAASA,UAAUA,CAAEh0F,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EACtFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAE;IACb,MAAMwD,KAAK,GAAGjuE,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAG,CAAC,GAAGo3C,UAAU,GAAI,CAAC,CAAC;IAE/Cyc,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAE+d,KAAK,GAAG,CAAC,EAAE,CAACA,KAAK,CAAC;EAC9D;EAEA,IAAI30F,CAAC,GAAG,CAAC;EACT,IAAIoxF,GAAG,GAAG,CAAC;EACX,IAAIpQ,GAAG,GAAG,CAAC;EACX,IAAI,CAACliD,MAAM,CAAC,GAAGp+B,KAAK,GAAG,IAAI;EAC3B,OAAO,EAAEV,CAAC,GAAG42E,UAAU,KAAKwa,GAAG,IAAI,KAAK,CAAC,EAAE;IACzC,IAAI1wF,KAAK,GAAG,CAAC,IAAIsgF,GAAG,KAAK,CAAC,IAAI,IAAI,CAACliD,MAAM,GAAG9+B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;MACxDghF,GAAG,GAAG,CAAC;IACT;IACA,IAAI,CAACliD,MAAM,GAAG9+B,CAAC,CAAC,GAAG,CAAEU,KAAK,GAAG0wF,GAAG,IAAK,CAAC,IAAIpQ,GAAG,GAAG,IAAI;EACtD;EAEA,OAAOliD,MAAM,GAAG83C,UAAU;AAC5B,CAAC;AAED3B,MAAM,CAAC7pE,SAAS,CAACwpF,UAAU,GAAG,SAASA,UAAUA,CAAEl0F,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAEua,QAAQ,EAAE;EACtFzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAE;IACb,MAAMwD,KAAK,GAAGjuE,IAAI,CAAC8Y,GAAG,CAAC,CAAC,EAAG,CAAC,GAAGo3C,UAAU,GAAI,CAAC,CAAC;IAE/Cyc,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE83C,UAAU,EAAE+d,KAAK,GAAG,CAAC,EAAE,CAACA,KAAK,CAAC;EAC9D;EAEA,IAAI30F,CAAC,GAAG42E,UAAU,GAAG,CAAC;EACtB,IAAIwa,GAAG,GAAG,CAAC;EACX,IAAIpQ,GAAG,GAAG,CAAC;EACX,IAAI,CAACliD,MAAM,GAAG9+B,CAAC,CAAC,GAAGU,KAAK,GAAG,IAAI;EAC/B,OAAO,EAAEV,CAAC,IAAI,CAAC,KAAKoxF,GAAG,IAAI,KAAK,CAAC,EAAE;IACjC,IAAI1wF,KAAK,GAAG,CAAC,IAAIsgF,GAAG,KAAK,CAAC,IAAI,IAAI,CAACliD,MAAM,GAAG9+B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;MACxDghF,GAAG,GAAG,CAAC;IACT;IACA,IAAI,CAACliD,MAAM,GAAG9+B,CAAC,CAAC,GAAG,CAAEU,KAAK,GAAG0wF,GAAG,IAAK,CAAC,IAAIpQ,GAAG,GAAG,IAAI;EACtD;EAEA,OAAOliD,MAAM,GAAG83C,UAAU;AAC5B,CAAC;AAED3B,MAAM,CAAC7pE,SAAS,CAACypF,SAAS,GAAG,SAASA,SAASA,CAAEn0F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EACxEzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;EAC5D,IAAIp+B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,IAAI,GAAGA,KAAK,GAAG,CAAC;EACvC,IAAI,CAACo+B,MAAM,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EAC7B,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC0pF,YAAY,GAAG,SAASA,YAAYA,CAAEp0F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC9EzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC;EAChE,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EAC7B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAChC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC2pF,YAAY,GAAG,SAASA,YAAYA,CAAEr0F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC9EzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC;EAChE,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAC5B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EACjC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC4pF,YAAY,GAAG,SAASA,YAAYA,CAAEt0F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC9EzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC;EACxE,IAAI,CAACA,MAAM,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EAC7B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAChC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EACjC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EACjC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC6pF,YAAY,GAAG,SAASA,YAAYA,CAAEv0F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC9EzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAEkC,QAAQ,CAAC,IAAI,EAAE3yF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC;EACxE,IAAIp+B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,UAAU,GAAGA,KAAK,GAAG,CAAC;EAC7C,IAAI,CAACo+B,MAAM,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EAC7B,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,EAAG;EACjC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,KAAK,CAAE;EAChC,IAAI,CAACo+B,MAAM,GAAG,CAAC,CAAC,GAAIp+B,KAAK,GAAG,IAAK;EACjC,OAAOo+B,MAAM,GAAG,CAAC;AACnB,CAAC;AAEDm2C,MAAM,CAAC7pE,SAAS,CAAC8pF,eAAe,GAAGjD,kBAAkB,CAAC,SAASiD,eAAeA,CAAEx0F,KAAK,EAAEo+B,MAAM,GAAG,CAAC,EAAE;EACjG,OAAOu1D,cAAc,CAAC,IAAI,EAAE3zF,KAAK,EAAEo+B,MAAM,EAAE,CAACwzD,MAAM,CAAC,oBAAoB,CAAC,EAAEA,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACzG,CAAC,CAAC;AAEFrd,MAAM,CAAC7pE,SAAS,CAAC+pF,eAAe,GAAGlD,kBAAkB,CAAC,SAASkD,eAAeA,CAAEz0F,KAAK,EAAEo+B,MAAM,GAAG,CAAC,EAAE;EACjG,OAAOy1D,cAAc,CAAC,IAAI,EAAE7zF,KAAK,EAAEo+B,MAAM,EAAE,CAACwzD,MAAM,CAAC,oBAAoB,CAAC,EAAEA,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF,SAAS8C,YAAYA,CAAEpJ,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEkyD,GAAG,EAAErqE,GAAG,EAAEozC,GAAG,EAAE;EACxD,IAAIj7B,MAAM,GAAGkyD,GAAG,GAAGhF,GAAG,CAAC1qF,MAAM,EAAE,MAAM,IAAIyqF,UAAU,CAAC,oBAAoB,CAAC;EACzE,IAAIjtD,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIitD,UAAU,CAAC,oBAAoB,CAAC;AAC5D;AAEA,SAASsJ,UAAUA,CAAErJ,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEw2D,YAAY,EAAEnE,QAAQ,EAAE;EAC/DzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAE;IACbiE,YAAY,CAACpJ,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,sBAAsB,CAAC;EACtF;EACAqsD,OAAO,CAAC1rD,KAAK,CAACusD,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEw2D,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;EACtD,OAAOx2D,MAAM,GAAG,CAAC;AACnB;AAEAm2C,MAAM,CAAC7pE,SAAS,CAACmqF,YAAY,GAAG,SAASA,YAAYA,CAAE70F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC9E,OAAOkE,UAAU,CAAC,IAAI,EAAE30F,KAAK,EAAEo+B,MAAM,EAAE,IAAI,EAAEqyD,QAAQ,CAAC;AACxD,CAAC;AAEDlc,MAAM,CAAC7pE,SAAS,CAACoqF,YAAY,GAAG,SAASA,YAAYA,CAAE90F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAC9E,OAAOkE,UAAU,CAAC,IAAI,EAAE30F,KAAK,EAAEo+B,MAAM,EAAE,KAAK,EAAEqyD,QAAQ,CAAC;AACzD,CAAC;AAED,SAASsE,WAAWA,CAAEzJ,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEw2D,YAAY,EAAEnE,QAAQ,EAAE;EAChEzwF,KAAK,GAAG,CAACA,KAAK;EACdo+B,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACqyD,QAAQ,EAAE;IACbiE,YAAY,CAACpJ,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,uBAAuB,CAAC;EACxF;EACAqsD,OAAO,CAAC1rD,KAAK,CAACusD,GAAG,EAAEtrF,KAAK,EAAEo+B,MAAM,EAAEw2D,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;EACtD,OAAOx2D,MAAM,GAAG,CAAC;AACnB;AAEAm2C,MAAM,CAAC7pE,SAAS,CAACsqF,aAAa,GAAG,SAASA,aAAaA,CAAEh1F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAChF,OAAOsE,WAAW,CAAC,IAAI,EAAE/0F,KAAK,EAAEo+B,MAAM,EAAE,IAAI,EAAEqyD,QAAQ,CAAC;AACzD,CAAC;AAEDlc,MAAM,CAAC7pE,SAAS,CAACuqF,aAAa,GAAG,SAASA,aAAaA,CAAEj1F,KAAK,EAAEo+B,MAAM,EAAEqyD,QAAQ,EAAE;EAChF,OAAOsE,WAAW,CAAC,IAAI,EAAE/0F,KAAK,EAAEo+B,MAAM,EAAE,KAAK,EAAEqyD,QAAQ,CAAC;AAC1D,CAAC;;AAED;AACAlc,MAAM,CAAC7pE,SAAS,CAAC8hF,IAAI,GAAG,SAASA,IAAIA,CAAEliF,MAAM,EAAEynC,WAAW,EAAElyB,KAAK,EAAEC,GAAG,EAAE;EACtE,IAAI,CAACy0D,MAAM,CAAChF,QAAQ,CAACjlE,MAAM,CAAC,EAAE,MAAM,IAAIrB,SAAS,CAAC,6BAA6B,CAAC;EAChF,IAAI,CAAC4W,KAAK,EAAEA,KAAK,GAAG,CAAC;EACrB,IAAI,CAACC,GAAG,IAAIA,GAAG,KAAK,CAAC,EAAEA,GAAG,GAAG,IAAI,CAAClf,MAAM;EACxC,IAAImxC,WAAW,IAAIznC,MAAM,CAAC1J,MAAM,EAAEmxC,WAAW,GAAGznC,MAAM,CAAC1J,MAAM;EAC7D,IAAI,CAACmxC,WAAW,EAAEA,WAAW,GAAG,CAAC;EACjC,IAAIjyB,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAGD,KAAK,EAAEC,GAAG,GAAGD,KAAK;;EAEvC;EACA,IAAIC,GAAG,KAAKD,KAAK,EAAE,OAAO,CAAC;EAC3B,IAAIvV,MAAM,CAAC1J,MAAM,KAAK,CAAC,IAAI,IAAI,CAACA,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC;;EAEtD;EACA,IAAImxC,WAAW,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIs5C,UAAU,CAAC,2BAA2B,CAAC;EACnD;EACA,IAAIxrE,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACjf,MAAM,EAAE,MAAM,IAAIyqF,UAAU,CAAC,oBAAoB,CAAC;EACjF,IAAIvrE,GAAG,GAAG,CAAC,EAAE,MAAM,IAAIurE,UAAU,CAAC,yBAAyB,CAAC;;EAE5D;EACA,IAAIvrE,GAAG,GAAG,IAAI,CAAClf,MAAM,EAAEkf,GAAG,GAAG,IAAI,CAAClf,MAAM;EACxC,IAAI0J,MAAM,CAAC1J,MAAM,GAAGmxC,WAAW,GAAGjyB,GAAG,GAAGD,KAAK,EAAE;IAC7CC,GAAG,GAAGxV,MAAM,CAAC1J,MAAM,GAAGmxC,WAAW,GAAGlyB,KAAK;EAC3C;EAEA,MAAM3P,GAAG,GAAG4P,GAAG,GAAGD,KAAK;EAEvB,IAAI,IAAI,KAAKvV,MAAM,IAAI,OAAO6mE,UAAU,CAACzmE,SAAS,CAACwqF,UAAU,KAAK,UAAU,EAAE;IAC5E;IACA,IAAI,CAACA,UAAU,CAACnjD,WAAW,EAAElyB,KAAK,EAAEC,GAAG,CAAC;EAC1C,CAAC,MAAM;IACLqxD,UAAU,CAACzmE,SAAS,CAACxC,GAAG,CAACtB,IAAI,CAC3B0D,MAAM,EACN,IAAI,CAAC8lF,QAAQ,CAACvwE,KAAK,EAAEC,GAAG,CAAC,EACzBiyB,WACF,CAAC;EACH;EAEA,OAAO7hC,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACAqkE,MAAM,CAAC7pE,SAAS,CAACi/E,IAAI,GAAG,SAASA,IAAIA,CAAEhxE,GAAG,EAAEkH,KAAK,EAAEC,GAAG,EAAE07C,QAAQ,EAAE;EAChE;EACA,IAAI,OAAO7iD,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI,OAAOkH,KAAK,KAAK,QAAQ,EAAE;MAC7B27C,QAAQ,GAAG37C,KAAK;MAChBA,KAAK,GAAG,CAAC;MACTC,GAAG,GAAG,IAAI,CAAClf,MAAM;IACnB,CAAC,MAAM,IAAI,OAAOkf,GAAG,KAAK,QAAQ,EAAE;MAClC07C,QAAQ,GAAG17C,GAAG;MACdA,GAAG,GAAG,IAAI,CAAClf,MAAM;IACnB;IACA,IAAI46D,QAAQ,KAAK16D,SAAS,IAAI,OAAO06D,QAAQ,KAAK,QAAQ,EAAE;MAC1D,MAAM,IAAIvyD,SAAS,CAAC,2BAA2B,CAAC;IAClD;IACA,IAAI,OAAOuyD,QAAQ,KAAK,QAAQ,IAAI,CAAC+Y,MAAM,CAAC8X,UAAU,CAAC7wB,QAAQ,CAAC,EAAE;MAChE,MAAM,IAAIvyD,SAAS,CAAC,oBAAoB,GAAGuyD,QAAQ,CAAC;IACtD;IACA,IAAI7iD,GAAG,CAAC/X,MAAM,KAAK,CAAC,EAAE;MACpB,MAAMoQ,IAAI,GAAG2H,GAAG,CAACiV,UAAU,CAAC,CAAC,CAAC;MAC9B,IAAK4tC,QAAQ,KAAK,MAAM,IAAIxqD,IAAI,GAAG,GAAG,IAClCwqD,QAAQ,KAAK,QAAQ,EAAE;QACzB;QACA7iD,GAAG,GAAG3H,IAAI;MACZ;IACF;EACF,CAAC,MAAM,IAAI,OAAO2H,GAAG,KAAK,QAAQ,EAAE;IAClCA,GAAG,GAAGA,GAAG,GAAG,GAAG;EACjB,CAAC,MAAM,IAAI,OAAOA,GAAG,KAAK,SAAS,EAAE;IACnCA,GAAG,GAAGlI,MAAM,CAACkI,GAAG,CAAC;EACnB;;EAEA;EACA,IAAIkH,KAAK,GAAG,CAAC,IAAI,IAAI,CAACjf,MAAM,GAAGif,KAAK,IAAI,IAAI,CAACjf,MAAM,GAAGkf,GAAG,EAAE;IACzD,MAAM,IAAIurE,UAAU,CAAC,oBAAoB,CAAC;EAC5C;EAEA,IAAIvrE,GAAG,IAAID,KAAK,EAAE;IAChB,OAAO,IAAI;EACb;EAEAA,KAAK,GAAGA,KAAK,KAAK,CAAC;EACnBC,GAAG,GAAGA,GAAG,KAAKhf,SAAS,GAAG,IAAI,CAACF,MAAM,GAAGkf,GAAG,KAAK,CAAC;EAEjD,IAAI,CAACnH,GAAG,EAAEA,GAAG,GAAG,CAAC;EAEjB,IAAIrZ,CAAC;EACL,IAAI,OAAOqZ,GAAG,KAAK,QAAQ,EAAE;IAC3B,KAAKrZ,CAAC,GAAGugB,KAAK,EAAEvgB,CAAC,GAAGwgB,GAAG,EAAE,EAAExgB,CAAC,EAAE;MAC5B,IAAI,CAACA,CAAC,CAAC,GAAGqZ,GAAG;IACf;EACF,CAAC,MAAM;IACL,MAAM5D,KAAK,GAAGw/D,MAAM,CAAChF,QAAQ,CAAC52D,GAAG,CAAC,GAC9BA,GAAG,GACH47D,MAAM,CAACpqE,IAAI,CAACwO,GAAG,EAAE6iD,QAAQ,CAAC;IAC9B,MAAMtrD,GAAG,GAAG6E,KAAK,CAACnU,MAAM;IACxB,IAAIsP,GAAG,KAAK,CAAC,EAAE;MACb,MAAM,IAAIjH,SAAS,CAAC,aAAa,GAAG0P,GAAG,GACrC,mCAAmC,CAAC;IACxC;IACA,KAAKrZ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwgB,GAAG,GAAGD,KAAK,EAAE,EAAEvgB,CAAC,EAAE;MAChC,IAAI,CAACA,CAAC,GAAGugB,KAAK,CAAC,GAAG9K,KAAK,CAACzV,CAAC,GAAG4Q,GAAG,CAAC;IAClC;EACF;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;;AAEA;AACA,MAAMilF,MAAM,GAAG,CAAC,CAAC;AACjB,SAAS3Z,CAACA,CAAE4Z,GAAG,EAAEC,UAAU,EAAEC,IAAI,EAAE;EACjCH,MAAM,CAACC,GAAG,CAAC,GAAG,MAAMG,SAAS,SAASD,IAAI,CAAC;IACzCttF,WAAWA,CAAA,EAAI;MACb,KAAK,CAAC,CAAC;MAEPrH,MAAM,CAAC+G,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;QACrC1H,KAAK,EAAEq1F,UAAU,CAAC3mB,KAAK,CAAC,IAAI,EAAElgB,SAAS,CAAC;QACxCzxB,QAAQ,EAAE,IAAI;QACdj1B,YAAY,EAAE;MAChB,CAAC,CAAC;;MAEF;MACA,IAAI,CAACgI,IAAI,GAAG,GAAG,IAAI,CAACA,IAAI,KAAKslF,GAAG,GAAG;MACnC;MACA;MACA,IAAI,CAAChkF,KAAK,EAAC;MACX;MACA,OAAO,IAAI,CAACtB,IAAI;IAClB;IAEA,IAAIkB,IAAIA,CAAA,EAAI;MACV,OAAOokF,GAAG;IACZ;IAEA,IAAIpkF,IAAIA,CAAEhR,KAAK,EAAE;MACfW,MAAM,CAAC+G,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;QAClCI,YAAY,EAAE,IAAI;QAClBovC,UAAU,EAAE,IAAI;QAChBl3C,KAAK;QACL+8B,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ;IAEA9yB,QAAQA,CAAA,EAAI;MACV,OAAO,GAAG,IAAI,CAAC6F,IAAI,KAAKslF,GAAG,MAAM,IAAI,CAACx1F,OAAO,EAAE;IACjD;EACF,CAAC;AACH;AAEA47E,CAAC,CAAC,0BAA0B,EAC1B,UAAU1rE,IAAI,EAAE;EACd,IAAIA,IAAI,EAAE;IACR,OAAO,GAAGA,IAAI,8BAA8B;EAC9C;EAEA,OAAO,gDAAgD;AACzD,CAAC,EAAEu7E,UAAU,CAAC;AAChB7P,CAAC,CAAC,sBAAsB,EACtB,UAAU1rE,IAAI,EAAE8rC,MAAM,EAAE;EACtB,OAAO,QAAQ9rC,IAAI,oDAAoD,OAAO8rC,MAAM,EAAE;AACxF,CAAC,EAAE3yC,SAAS,CAAC;AACfuyE,CAAC,CAAC,kBAAkB,EAClB,UAAUz1E,GAAG,EAAEolE,KAAK,EAAEqqB,KAAK,EAAE;EAC3B,IAAIt4D,GAAG,GAAG,iBAAiBn3B,GAAG,oBAAoB;EAClD,IAAI0vF,QAAQ,GAAGD,KAAK;EACpB,IAAI/kF,MAAM,CAAC8zC,SAAS,CAACixC,KAAK,CAAC,IAAIxvE,IAAI,CAACiZ,GAAG,CAACu2D,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;IACxDC,QAAQ,GAAGC,qBAAqB,CAAClwF,MAAM,CAACgwF,KAAK,CAAC,CAAC;EACjD,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpCC,QAAQ,GAAGjwF,MAAM,CAACgwF,KAAK,CAAC;IACxB,IAAIA,KAAK,GAAG5D,MAAM,CAAC,CAAC,CAAC,IAAIA,MAAM,CAAC,EAAE,CAAC,IAAI4D,KAAK,GAAG,EAAE5D,MAAM,CAAC,CAAC,CAAC,IAAIA,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;MACzE6D,QAAQ,GAAGC,qBAAqB,CAACD,QAAQ,CAAC;IAC5C;IACAA,QAAQ,IAAI,GAAG;EACjB;EACAv4D,GAAG,IAAI,eAAeiuC,KAAK,cAAcsqB,QAAQ,EAAE;EACnD,OAAOv4D,GAAG;AACZ,CAAC,EAAEmuD,UAAU,CAAC;AAEhB,SAASqK,qBAAqBA,CAAE/8E,GAAG,EAAE;EACnC,IAAIuL,GAAG,GAAG,EAAE;EACZ,IAAI5kB,CAAC,GAAGqZ,GAAG,CAAC/X,MAAM;EAClB,MAAMif,KAAK,GAAGlH,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;EACpC,OAAOrZ,CAAC,IAAIugB,KAAK,GAAG,CAAC,EAAEvgB,CAAC,IAAI,CAAC,EAAE;IAC7B4kB,GAAG,GAAG,IAAIvL,GAAG,CAAC7N,KAAK,CAACxL,CAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,GAAG4kB,GAAG,EAAE;EACvC;EACA,OAAO,GAAGvL,GAAG,CAAC7N,KAAK,CAAC,CAAC,EAAExL,CAAC,CAAC,GAAG4kB,GAAG,EAAE;AACnC;;AAEA;AACA;;AAEA,SAASyxE,WAAWA,CAAErK,GAAG,EAAEltD,MAAM,EAAE83C,UAAU,EAAE;EAC7Csb,cAAc,CAACpzD,MAAM,EAAE,QAAQ,CAAC;EAChC,IAAIktD,GAAG,CAACltD,MAAM,CAAC,KAAKt9B,SAAS,IAAIwqF,GAAG,CAACltD,MAAM,GAAG83C,UAAU,CAAC,KAAKp1E,SAAS,EAAE;IACvE2wF,WAAW,CAACrzD,MAAM,EAAEktD,GAAG,CAAC1qF,MAAM,IAAIs1E,UAAU,GAAG,CAAC,CAAC,CAAC;EACpD;AACF;AAEA,SAAS0d,UAAUA,CAAE5zF,KAAK,EAAEq5D,GAAG,EAAEpzC,GAAG,EAAEqlE,GAAG,EAAEltD,MAAM,EAAE83C,UAAU,EAAE;EAC7D,IAAIl2E,KAAK,GAAGimB,GAAG,IAAIjmB,KAAK,GAAGq5D,GAAG,EAAE;IAC9B,MAAMp1C,CAAC,GAAG,OAAOo1C,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE;IAC5C,IAAI8R,KAAK;IACT,IAAI+K,UAAU,GAAG,CAAC,EAAE;MAClB,IAAI7c,GAAG,KAAK,CAAC,IAAIA,GAAG,KAAKu4B,MAAM,CAAC,CAAC,CAAC,EAAE;QAClCzmB,KAAK,GAAG,OAAOlnD,CAAC,WAAWA,CAAC,OAAO,CAACiyD,UAAU,GAAG,CAAC,IAAI,CAAC,GAAGjyD,CAAC,EAAE;MAC/D,CAAC,MAAM;QACLknD,KAAK,GAAG,SAASlnD,CAAC,OAAO,CAACiyD,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGjyD,CAAC,eAAe,GAC5D,GAAG,CAACiyD,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGjyD,CAAC,EAAE;MAC3C;IACF,CAAC,MAAM;MACLknD,KAAK,GAAG,MAAM9R,GAAG,GAAGp1C,CAAC,WAAWgC,GAAG,GAAGhC,CAAC,EAAE;IAC3C;IACA,MAAM,IAAIkxE,MAAM,CAACS,gBAAgB,CAAC,OAAO,EAAEzqB,KAAK,EAAEnrE,KAAK,CAAC;EAC1D;EACA21F,WAAW,CAACrK,GAAG,EAAEltD,MAAM,EAAE83C,UAAU,CAAC;AACtC;AAEA,SAASsb,cAAcA,CAAExxF,KAAK,EAAE8P,IAAI,EAAE;EACpC,IAAI,OAAO9P,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAM,IAAIm1F,MAAM,CAACU,oBAAoB,CAAC/lF,IAAI,EAAE,QAAQ,EAAE9P,KAAK,CAAC;EAC9D;AACF;AAEA,SAASyxF,WAAWA,CAAEzxF,KAAK,EAAEY,MAAM,EAAEvB,IAAI,EAAE;EACzC,IAAI2mB,IAAI,CAACmZ,KAAK,CAACn/B,KAAK,CAAC,KAAKA,KAAK,EAAE;IAC/BwxF,cAAc,CAACxxF,KAAK,EAAEX,IAAI,CAAC;IAC3B,MAAM,IAAI81F,MAAM,CAACS,gBAAgB,CAACv2F,IAAI,IAAI,QAAQ,EAAE,YAAY,EAAEW,KAAK,CAAC;EAC1E;EAEA,IAAIY,MAAM,GAAG,CAAC,EAAE;IACd,MAAM,IAAIu0F,MAAM,CAACW,wBAAwB,CAAC,CAAC;EAC7C;EAEA,MAAM,IAAIX,MAAM,CAACS,gBAAgB,CAACv2F,IAAI,IAAI,QAAQ,EAChB,MAAMA,IAAI,GAAG,CAAC,GAAG,CAAC,WAAWuB,MAAM,EAAE,EACrCZ,KAAK,CAAC;AAC1C;;AAEA;AACA;;AAEA,MAAM+1F,iBAAiB,GAAG,mBAAmB;AAE7C,SAASC,WAAWA,CAAEjwF,GAAG,EAAE;EACzB;EACAA,GAAG,GAAGA,GAAG,CAACoQ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACvB;EACApQ,GAAG,GAAGA,GAAG,CAACN,IAAI,CAAC,CAAC,CAACwB,OAAO,CAAC8uF,iBAAiB,EAAE,EAAE,CAAC;EAC/C;EACA,IAAIhwF,GAAG,CAACnF,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EAC7B;EACA,OAAOmF,GAAG,CAACnF,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;IAC3BmF,GAAG,GAAGA,GAAG,GAAG,GAAG;EACjB;EACA,OAAOA,GAAG;AACZ;AAEA,SAASinF,WAAWA,CAAE9f,MAAM,EAAE+oB,KAAK,EAAE;EACnCA,KAAK,GAAGA,KAAK,IAAIp3D,QAAQ;EACzB,IAAI2wD,SAAS;EACb,MAAM5uF,MAAM,GAAGssE,MAAM,CAACtsE,MAAM;EAC5B,IAAIs1F,aAAa,GAAG,IAAI;EACxB,MAAMnhF,KAAK,GAAG,EAAE;EAEhB,KAAK,IAAIzV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,MAAM,EAAE,EAAEtB,CAAC,EAAE;IAC/BkwF,SAAS,GAAGtiB,MAAM,CAACt/C,UAAU,CAACtuB,CAAC,CAAC;;IAEhC;IACA,IAAIkwF,SAAS,GAAG,MAAM,IAAIA,SAAS,GAAG,MAAM,EAAE;MAC5C;MACA,IAAI,CAAC0G,aAAa,EAAE;QAClB;QACA,IAAI1G,SAAS,GAAG,MAAM,EAAE;UACtB;UACA,IAAI,CAACyG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAElhF,KAAK,CAACzB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;UACnD;QACF,CAAC,MAAM,IAAIhU,CAAC,GAAG,CAAC,KAAKsB,MAAM,EAAE;UAC3B;UACA,IAAI,CAACq1F,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAElhF,KAAK,CAACzB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;UACnD;QACF;;QAEA;QACA4iF,aAAa,GAAG1G,SAAS;QAEzB;MACF;;MAEA;MACA,IAAIA,SAAS,GAAG,MAAM,EAAE;QACtB,IAAI,CAACyG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAElhF,KAAK,CAACzB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACnD4iF,aAAa,GAAG1G,SAAS;QACzB;MACF;;MAEA;MACAA,SAAS,GAAG,CAAC0G,aAAa,GAAG,MAAM,IAAI,EAAE,GAAG1G,SAAS,GAAG,MAAM,IAAI,OAAO;IAC3E,CAAC,MAAM,IAAI0G,aAAa,EAAE;MACxB;MACA,IAAI,CAACD,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAElhF,KAAK,CAACzB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACrD;IAEA4iF,aAAa,GAAG,IAAI;;IAEpB;IACA,IAAI1G,SAAS,GAAG,IAAI,EAAE;MACpB,IAAI,CAACyG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtBlhF,KAAK,CAACzB,IAAI,CAACk8E,SAAS,CAAC;IACvB,CAAC,MAAM,IAAIA,SAAS,GAAG,KAAK,EAAE;MAC5B,IAAI,CAACyG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtBlhF,KAAK,CAACzB,IAAI,CACRk8E,SAAS,IAAI,GAAG,GAAG,IAAI,EACvBA,SAAS,GAAG,IAAI,GAAG,IACrB,CAAC;IACH,CAAC,MAAM,IAAIA,SAAS,GAAG,OAAO,EAAE;MAC9B,IAAI,CAACyG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtBlhF,KAAK,CAACzB,IAAI,CACRk8E,SAAS,IAAI,GAAG,GAAG,IAAI,EACvBA,SAAS,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,EAC9BA,SAAS,GAAG,IAAI,GAAG,IACrB,CAAC;IACH,CAAC,MAAM,IAAIA,SAAS,GAAG,QAAQ,EAAE;MAC/B,IAAI,CAACyG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtBlhF,KAAK,CAACzB,IAAI,CACRk8E,SAAS,IAAI,IAAI,GAAG,IAAI,EACxBA,SAAS,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,EAC9BA,SAAS,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,EAC9BA,SAAS,GAAG,IAAI,GAAG,IACrB,CAAC;IACH,CAAC,MAAM;MACL,MAAM,IAAI7mF,KAAK,CAAC,oBAAoB,CAAC;IACvC;EACF;EAEA,OAAOoM,KAAK;AACd;AAEA,SAASm6E,YAAYA,CAAEnpF,GAAG,EAAE;EAC1B,MAAMowF,SAAS,GAAG,EAAE;EACpB,KAAK,IAAI72F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyG,GAAG,CAACnF,MAAM,EAAE,EAAEtB,CAAC,EAAE;IACnC;IACA62F,SAAS,CAAC7iF,IAAI,CAACvN,GAAG,CAAC6nB,UAAU,CAACtuB,CAAC,CAAC,GAAG,IAAI,CAAC;EAC1C;EACA,OAAO62F,SAAS;AAClB;AAEA,SAAS9G,cAAcA,CAAEtpF,GAAG,EAAEkwF,KAAK,EAAE;EACnC,IAAI7xE,CAAC,EAAEutE,EAAE,EAAED,EAAE;EACb,MAAMyE,SAAS,GAAG,EAAE;EACpB,KAAK,IAAI72F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyG,GAAG,CAACnF,MAAM,EAAE,EAAEtB,CAAC,EAAE;IACnC,IAAI,CAAC22F,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;IAEtB7xE,CAAC,GAAGre,GAAG,CAAC6nB,UAAU,CAACtuB,CAAC,CAAC;IACrBqyF,EAAE,GAAGvtE,CAAC,IAAI,CAAC;IACXstE,EAAE,GAAGttE,CAAC,GAAG,GAAG;IACZ+xE,SAAS,CAAC7iF,IAAI,CAACo+E,EAAE,CAAC;IAClByE,SAAS,CAAC7iF,IAAI,CAACq+E,EAAE,CAAC;EACpB;EAEA,OAAOwE,SAAS;AAClB;AAEA,SAASlJ,aAAaA,CAAElnF,GAAG,EAAE;EAC3B,OAAOykF,MAAM,CAACrU,WAAW,CAAC6f,WAAW,CAACjwF,GAAG,CAAC,CAAC;AAC7C;AAEA,SAASipF,UAAUA,CAAEzhB,GAAG,EAAE6oB,GAAG,EAAEh4D,MAAM,EAAEx9B,MAAM,EAAE;EAC7C,IAAItB,CAAC;EACL,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,MAAM,EAAE,EAAEtB,CAAC,EAAE;IAC3B,IAAKA,CAAC,GAAG8+B,MAAM,IAAIg4D,GAAG,CAACx1F,MAAM,IAAMtB,CAAC,IAAIiuE,GAAG,CAAC3sE,MAAO,EAAE;IACrDw1F,GAAG,CAAC92F,CAAC,GAAG8+B,MAAM,CAAC,GAAGmvC,GAAG,CAACjuE,CAAC,CAAC;EAC1B;EACA,OAAOA,CAAC;AACV;;AAEA;AACA;AACA;AACA,SAASssF,UAAUA,CAAEtkF,GAAG,EAAEjI,IAAI,EAAE;EAC9B,OAAOiI,GAAG,YAAYjI,IAAI,IACvBiI,GAAG,IAAI,IAAI,IAAIA,GAAG,CAACU,WAAW,IAAI,IAAI,IAAIV,GAAG,CAACU,WAAW,CAAC8H,IAAI,IAAI,IAAI,IACrExI,GAAG,CAACU,WAAW,CAAC8H,IAAI,KAAKzQ,IAAI,CAACyQ,IAAK;AACzC;AACA,SAAS28E,WAAWA,CAAEnlF,GAAG,EAAE;EACzB;EACA,OAAOA,GAAG,KAAKA,GAAG,EAAC;AACrB;;AAEA;AACA;AACA,MAAM4oF,mBAAmB,GAAI,YAAY;EACvC,MAAM7d,QAAQ,GAAG,kBAAkB;EACnC,MAAMgkB,KAAK,GAAG,IAAIjuE,KAAK,CAAC,GAAG,CAAC;EAC5B,KAAK,IAAI9oB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAE,EAAEA,CAAC,EAAE;IAC3B,MAAMg3F,GAAG,GAAGh3F,CAAC,GAAG,EAAE;IAClB,KAAK,IAAIqlD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAE,EAAEA,CAAC,EAAE;MAC3B0xC,KAAK,CAACC,GAAG,GAAG3xC,CAAC,CAAC,GAAG0tB,QAAQ,CAAC/yE,CAAC,CAAC,GAAG+yE,QAAQ,CAAC1tB,CAAC,CAAC;IAC5C;EACF;EACA,OAAO0xC,KAAK;AACd,CAAC,CAAE,CAAC;;AAEJ;AACA,SAAS9E,kBAAkBA,CAAEz3E,EAAE,EAAE;EAC/B,OAAO,OAAO83E,MAAM,KAAK,WAAW,GAAG2E,sBAAsB,GAAGz8E,EAAE;AACpE;AAEA,SAASy8E,sBAAsBA,CAAA,EAAI;EACjC,MAAM,IAAI5tF,KAAK,CAAC,sBAAsB,CAAC;AACzC;;;;;;;;ACzjEa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA+B;AACxD,6BAA6B,mBAAO,CAAC,IAAyC;;AAE9E;AACA;AACA,IAAI,uFAAuF;AAC3F;AACA,CAAC;;;;;;;;;ACTY;AACb,aAAa,mBAAO,CAAC,IAA+B;AACpD,cAAc,mBAAO,CAAC,IAAuB;AAC7C,qCAAqC,mBAAO,CAAC,IAAiD;AAC9F,2BAA2B,mBAAO,CAAC,IAAqC;;AAExE;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AChBa;;AAEmB;AACsC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASgmE,MAAMA,CAACh2D,GAAG,EAAE;EACnB,OAAOjC,kBAAkB,CAACiC,GAAG,CAAC,CAC5B1R,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CACrBA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CACrBA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CACrBA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS2M,QAAQA,CAACzH,GAAG,EAAE2K,MAAM,EAAExW,OAAO,EAAE;EACrD;EACA,IAAI,CAACwW,MAAM,EAAE;IACX,OAAO3K,GAAG;EACZ;EAEA,MAAM8iE,OAAO,GAAG3uE,OAAO,IAAIA,OAAO,CAACquE,MAAM,IAAIA,MAAM;EAEnD,MAAM6nB,WAAW,GAAGl2F,OAAO,IAAIA,OAAO,CAACm2F,SAAS;EAEhD,IAAIC,gBAAgB;EAEpB,IAAIF,WAAW,EAAE;IACfE,gBAAgB,GAAGF,WAAW,CAAC1/E,MAAM,EAAExW,OAAO,CAAC;EACjD,CAAC,MAAM;IACLo2F,gBAAgB,GAAGxxF,0DAAK,CAACirE,iBAAiB,CAACr5D,MAAM,CAAC,GAChDA,MAAM,CAAC7M,QAAQ,CAAC,CAAC,GACjB,IAAI4kE,iFAAoB,CAAC/3D,MAAM,EAAExW,OAAO,CAAC,CAAC2J,QAAQ,CAACglE,OAAO,CAAC;EAC/D;EAEA,IAAIynB,gBAAgB,EAAE;IACpB,MAAMC,aAAa,GAAGxqF,GAAG,CAACrF,OAAO,CAAC,GAAG,CAAC;IAEtC,IAAI6vF,aAAa,KAAK,CAAC,CAAC,EAAE;MACxBxqF,GAAG,GAAGA,GAAG,CAACrB,KAAK,CAAC,CAAC,EAAE6rF,aAAa,CAAC;IACnC;IACAxqF,GAAG,IAAI,CAACA,GAAG,CAACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI4vF,gBAAgB;EACjE;EAEA,OAAOvqF,GAAG;AACZ;;;;;;;;AC9Da;AACb;AACA,iBAAiB,mBAAO,CAAC,GAAgC;AACzD,YAAY,mBAAO,CAAC,IAAoB;AACxC,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AClBY;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACba;AACb;;;;;;;;;ACDa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,aAAa,mBAAO,CAAC,IAAqB;AAC1C,aAAa,mBAAO,CAAC,IAA+B;AACpD,UAAU,mBAAO,CAAC,IAAkB;AACpC,oBAAoB,mBAAO,CAAC,IAA2C;AACvE,wBAAwB,mBAAO,CAAC,IAAgC;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AAC8O;AACtL;;AAExD;AACA;AACA;AACA;AACA,IAAIyqF,WAAW;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAIC,KAAK,IAAMF,WAAW,GAAGE,KAAM;AACvD;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CAAA,KAAOtoC,mBAAmB,CAAC,CAAC,IAAItE,MAAM,CAAC6sC,WAAW,CAAC,IAAKJ,WAAW;AAC1F,MAAMI,WAAW,GAAK15E,MAAqC,GAAIjY,CAAe,GAAG,0BAA2BA,MAAM,CAAC,CAAE;AAErH,SAASyD,aAAaA;AACtB;AACA8qB,CAAC,EAAE;EACC,OAAQA,CAAC,IACL,OAAOA,CAAC,KAAK,QAAQ,IACrBjzB,MAAM,CAAC+J,SAAS,CAACT,QAAQ,CAACrD,IAAI,CAACgtB,CAAC,CAAC,KAAK,iBAAiB,IACvD,OAAOA,CAAC,CAAC/pB,MAAM,KAAK,UAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,IAAIotF,YAAY;AAChB,CAAC,UAAUA,YAAY,EAAE;EACrB;AACJ;AACA;AACA;AACA;AACA;AACA;EACIA,YAAY,CAAC,QAAQ,CAAC,GAAG,QAAQ;EACjC;AACJ;AACA;AACA;AACA;EACIA,YAAY,CAAC,aAAa,CAAC,GAAG,cAAc;EAC5C;AACJ;AACA;AACA;AACA;EACIA,YAAY,CAAC,eAAe,CAAC,GAAG,gBAAgB;EAChD;AACJ,CAAC,EAAEA,YAAY,KAAKA,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAMC,SAAS,GAAG,OAAO3nF,MAAM,KAAK,WAAW;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4nF,YAAY,GAAG,MAA0J,IAAID,CAAS;;AAE5L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM7mB,OAAO,GAAG,aAAc,CAAC,MAAM,OAAO9gE,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACA,MAAM,KAAKA,MAAM,GACrFA,MAAM,GACN,OAAOlH,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACA,IAAI,KAAKA,IAAI,GAC1CA,IAAI,GACJ,OAAOmiE,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACA,MAAM,KAAKA,MAAM,GAClDA,MAAM,GACN,OAAOxsC,UAAU,KAAK,QAAQ,GAC1BA,UAAU,GACV;EAAElP,WAAW,EAAE;AAAK,CAAC,EAAE,CAAC;AAC1C,SAASsoE,GAAGA,CAACC,IAAI,EAAE;EAAEC,OAAO,GAAG;AAAM,CAAC,GAAG,CAAC,CAAC,EAAE;EACzC;EACA;EACA,IAAIA,OAAO,IACP,4EAA4E,CAAChxF,IAAI,CAAC+wF,IAAI,CAACh4F,IAAI,CAAC,EAAE;IAC9F,OAAO,IAAIigC,IAAI,CAAC,CAAC95B,MAAM,CAACoyE,YAAY,CAAC,MAAM,CAAC,EAAEyf,IAAI,CAAC,EAAE;MAAEh4F,IAAI,EAAEg4F,IAAI,CAACh4F;IAAK,CAAC,CAAC;EAC7E;EACA,OAAOg4F,IAAI;AACf;AACA,SAASE,QAAQA,CAACprF,GAAG,EAAE2D,IAAI,EAAE7P,IAAI,EAAE;EAC/B,MAAM60E,GAAG,GAAG,IAAI3/D,cAAc,CAAC,CAAC;EAChC2/D,GAAG,CAACj+D,IAAI,CAAC,KAAK,EAAE1K,GAAG,CAAC;EACpB2oE,GAAG,CAAC/nE,YAAY,GAAG,MAAM;EACzB+nE,GAAG,CAAC0iB,MAAM,GAAG,YAAY;IACrBC,MAAM,CAAC3iB,GAAG,CAAC5jE,QAAQ,EAAEpB,IAAI,EAAE7P,IAAI,CAAC;EACpC,CAAC;EACD60E,GAAG,CAAC98D,OAAO,GAAG,YAAY;IACtB7X,OAAO,CAAC4R,KAAK,CAAC,yBAAyB,CAAC;EAC5C,CAAC;EACD+iE,GAAG,CAAC17D,IAAI,CAAC,CAAC;AACd;AACA,SAASs+E,WAAWA,CAACvrF,GAAG,EAAE;EACtB,MAAM2oE,GAAG,GAAG,IAAI3/D,cAAc,CAAC,CAAC;EAChC;EACA2/D,GAAG,CAACj+D,IAAI,CAAC,MAAM,EAAE1K,GAAG,EAAE,KAAK,CAAC;EAC5B,IAAI;IACA2oE,GAAG,CAAC17D,IAAI,CAAC,CAAC;EACd,CAAC,CACD,OAAO7E,CAAC,EAAE,CAAE;EACZ,OAAOugE,GAAG,CAACljE,MAAM,IAAI,GAAG,IAAIkjE,GAAG,CAACljE,MAAM,IAAI,GAAG;AACjD;AACA;AACA,SAAS+lF,KAAKA,CAACx4E,IAAI,EAAE;EACjB,IAAI;IACAA,IAAI,CAAC0T,aAAa,CAAC,IAAI+kE,UAAU,CAAC,OAAO,CAAC,CAAC;EAC/C,CAAC,CACD,OAAOrjF,CAAC,EAAE;IACN,MAAMsjF,GAAG,GAAGppF,QAAQ,CAACqpF,WAAW,CAAC,aAAa,CAAC;IAC/CD,GAAG,CAACE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAExoF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;IACrG4P,IAAI,CAAC0T,aAAa,CAACglE,GAAG,CAAC;EAC3B;AACJ;AACA,MAAMG,UAAU,GACf,OAAO1pF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG;EAAEC,SAAS,EAAE;AAAG,CAAC;AAC9D;AACA;AACA;AACA,MAAM0pF,cAAc,GAAG,aAAc,CAAC,MAAM,WAAW,CAAC3xF,IAAI,CAAC0xF,UAAU,CAACzpF,SAAS,CAAC,IAC9E,aAAa,CAACjI,IAAI,CAAC0xF,UAAU,CAACzpF,SAAS,CAAC,IACxC,CAAC,QAAQ,CAACjI,IAAI,CAAC0xF,UAAU,CAACzpF,SAAS,CAAC,EAAE,CAAC;AAC3C,MAAMkpF,MAAM,GAAG,CAACP,SAAS,GACnB,MAAM,CAAE,CAAC,CAAC;AAAA;AACV;AACE,OAAOgB,iBAAiB,KAAK,WAAW,IACpC,UAAU,IAAIA,iBAAiB,CAACxtF,SAAS,IACzC,CAACutF,cAAc,GACbE,cAAc;AACd;AACE,kBAAkB,IAAIH,UAAU,GAC1BI,QAAQ;AACR;AACEC,eAAe;AACvC,SAASF,cAAcA,CAACd,IAAI,EAAEvnF,IAAI,GAAG,UAAU,EAAE7P,IAAI,EAAE;EACnD,MAAM0L,CAAC,GAAG8C,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EACrC/C,CAAC,CAAC4rF,QAAQ,GAAGznF,IAAI;EACjBnE,CAAC,CAAC2sF,GAAG,GAAG,UAAU,CAAC,CAAC;EACpB;EACA;EACA,IAAI,OAAOjB,IAAI,KAAK,QAAQ,EAAE;IAC1B;IACA1rF,CAAC,CAACkD,IAAI,GAAGwoF,IAAI;IACb,IAAI1rF,CAAC,CAAC4sF,MAAM,KAAK/oF,QAAQ,CAAC+oF,MAAM,EAAE;MAC9B,IAAIb,WAAW,CAAC/rF,CAAC,CAACkD,IAAI,CAAC,EAAE;QACrB0oF,QAAQ,CAACF,IAAI,EAAEvnF,IAAI,EAAE7P,IAAI,CAAC;MAC9B,CAAC,MACI;QACD0L,CAAC,CAACrB,MAAM,GAAG,QAAQ;QACnBqtF,KAAK,CAAChsF,CAAC,CAAC;MACZ;IACJ,CAAC,MACI;MACDgsF,KAAK,CAAChsF,CAAC,CAAC;IACZ;EACJ,CAAC,MACI;IACD;IACAA,CAAC,CAACkD,IAAI,GAAG2pF,GAAG,CAACC,eAAe,CAACpB,IAAI,CAAC;IAClCz/E,UAAU,CAAC,YAAY;MACnB4gF,GAAG,CAACE,eAAe,CAAC/sF,CAAC,CAACkD,IAAI,CAAC;IAC/B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACT+I,UAAU,CAAC,YAAY;MACnB+/E,KAAK,CAAChsF,CAAC,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC;EACT;AACJ;AACA,SAASysF,QAAQA,CAACf,IAAI,EAAEvnF,IAAI,GAAG,UAAU,EAAE7P,IAAI,EAAE;EAC7C,IAAI,OAAOo3F,IAAI,KAAK,QAAQ,EAAE;IAC1B,IAAIK,WAAW,CAACL,IAAI,CAAC,EAAE;MACnBE,QAAQ,CAACF,IAAI,EAAEvnF,IAAI,EAAE7P,IAAI,CAAC;IAC9B,CAAC,MACI;MACD,MAAM0L,CAAC,GAAG8C,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;MACrC/C,CAAC,CAACkD,IAAI,GAAGwoF,IAAI;MACb1rF,CAAC,CAACrB,MAAM,GAAG,QAAQ;MACnBsN,UAAU,CAAC,YAAY;QACnB+/E,KAAK,CAAChsF,CAAC,CAAC;MACZ,CAAC,CAAC;IACN;EACJ,CAAC,MACI;IACD;IACA2C,SAAS,CAACqqF,gBAAgB,CAACvB,GAAG,CAACC,IAAI,EAAEp3F,IAAI,CAAC,EAAE6P,IAAI,CAAC;EACrD;AACJ;AACA,SAASuoF,eAAeA,CAAChB,IAAI,EAAEvnF,IAAI,EAAE7P,IAAI,EAAE24F,KAAK,EAAE;EAC9C;EACA;EACAA,KAAK,GAAGA,KAAK,IAAI/hF,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;EACnC,IAAI+hF,KAAK,EAAE;IACPA,KAAK,CAACnqF,QAAQ,CAACoqF,KAAK,GAAGD,KAAK,CAACnqF,QAAQ,CAAC8X,IAAI,CAACuyE,SAAS,GAAG,gBAAgB;EAC3E;EACA,IAAI,OAAOzB,IAAI,KAAK,QAAQ,EACxB,OAAOE,QAAQ,CAACF,IAAI,EAAEvnF,IAAI,EAAE7P,IAAI,CAAC;EACrC,MAAM84F,KAAK,GAAG1B,IAAI,CAACh4F,IAAI,KAAK,0BAA0B;EACtD,MAAM25F,QAAQ,GAAG,cAAc,CAAC1yF,IAAI,CAACd,MAAM,CAAC6qE,OAAO,CAACvhD,WAAW,CAAC,CAAC,IAAI,QAAQ,IAAIuhD,OAAO;EACxF,MAAM4oB,WAAW,GAAG,cAAc,CAAC3yF,IAAI,CAACgI,SAAS,CAACC,SAAS,CAAC;EAC5D,IAAI,CAAC0qF,WAAW,IAAKF,KAAK,IAAIC,QAAS,IAAIf,cAAc,KACrD,OAAOiB,UAAU,KAAK,WAAW,EAAE;IACnC;IACA,MAAMC,MAAM,GAAG,IAAID,UAAU,CAAC,CAAC;IAC/BC,MAAM,CAACpiF,SAAS,GAAG,YAAY;MAC3B,IAAI5K,GAAG,GAAGgtF,MAAM,CAACt4F,MAAM;MACvB,IAAI,OAAOsL,GAAG,KAAK,QAAQ,EAAE;QACzBysF,KAAK,GAAG,IAAI;QACZ,MAAM,IAAIjwF,KAAK,CAAC,0BAA0B,CAAC;MAC/C;MACAwD,GAAG,GAAG8sF,WAAW,GACX9sF,GAAG,GACHA,GAAG,CAAClF,OAAO,CAAC,cAAc,EAAE,uBAAuB,CAAC;MAC1D,IAAI2xF,KAAK,EAAE;QACPA,KAAK,CAACppF,QAAQ,CAACX,IAAI,GAAG1C,GAAG;MAC7B,CAAC,MACI;QACDqD,QAAQ,CAACzB,MAAM,CAAC5B,GAAG,CAAC;MACxB;MACAysF,KAAK,GAAG,IAAI,CAAC,CAAC;IAClB,CAAC;IACDO,MAAM,CAACC,aAAa,CAAC/B,IAAI,CAAC;EAC9B,CAAC,MACI;IACD,MAAMlrF,GAAG,GAAGqsF,GAAG,CAACC,eAAe,CAACpB,IAAI,CAAC;IACrC,IAAIuB,KAAK,EACLA,KAAK,CAACppF,QAAQ,CAACzB,MAAM,CAAC5B,GAAG,CAAC,CAAC,KAE3BqD,QAAQ,CAACX,IAAI,GAAG1C,GAAG;IACvBysF,KAAK,GAAG,IAAI,CAAC,CAAC;IACdhhF,UAAU,CAAC,YAAY;MACnB4gF,GAAG,CAACE,eAAe,CAACvsF,GAAG,CAAC;IAC5B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;EACb;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASktF,YAAYA,CAACz5F,OAAO,EAAEP,IAAI,EAAE;EACjC,MAAMi6F,YAAY,GAAG,KAAK,GAAG15F,OAAO;EACpC,IAAI,OAAO25F,sBAAsB,KAAK,UAAU,EAAE;IAC9C;IACAA,sBAAsB,CAACD,YAAY,EAAEj6F,IAAI,CAAC;EAC9C,CAAC,MACI,IAAIA,IAAI,KAAK,OAAO,EAAE;IACvBc,OAAO,CAAC4R,KAAK,CAACunF,YAAY,CAAC;EAC/B,CAAC,MACI,IAAIj6F,IAAI,KAAK,MAAM,EAAE;IACtBc,OAAO,CAACC,IAAI,CAACk5F,YAAY,CAAC;EAC9B,CAAC,MACI;IACDn5F,OAAO,CAACi/B,GAAG,CAACk6D,YAAY,CAAC;EAC7B;AACJ;AACA,SAASE,OAAOA,CAAC5lE,CAAC,EAAE;EAChB,OAAO,IAAI,IAAIA,CAAC,IAAI,SAAS,IAAIA,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA,SAAS6lE,oBAAoBA,CAAA,EAAG;EAC5B,IAAI,EAAE,WAAW,IAAInrF,SAAS,CAAC,EAAE;IAC7B+qF,YAAY,CAAC,gDAAgD,EAAE,OAAO,CAAC;IACvE,OAAO,IAAI;EACf;AACJ;AACA,SAASK,oBAAoBA,CAAC3nF,KAAK,EAAE;EACjC,IAAIA,KAAK,YAAYpJ,KAAK,IACtBoJ,KAAK,CAACnS,OAAO,CAAC8F,WAAW,CAAC,CAAC,CAACimB,QAAQ,CAAC,yBAAyB,CAAC,EAAE;IACjE0tE,YAAY,CAAC,iGAAiG,EAAE,MAAM,CAAC;IACvH,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AAChB;AACA,eAAeM,qBAAqBA,CAAC7C,KAAK,EAAE;EACxC,IAAI2C,oBAAoB,CAAC,CAAC,EACtB;EACJ,IAAI;IACA,MAAMnrF,SAAS,CAACsrF,SAAS,CAACC,SAAS,CAACz5D,IAAI,CAACM,SAAS,CAACo2D,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAAC,CAAC;IACtEq5F,YAAY,CAAC,mCAAmC,CAAC;EACrD,CAAC,CACD,OAAOtnF,KAAK,EAAE;IACV,IAAI2nF,oBAAoB,CAAC3nF,KAAK,CAAC,EAC3B;IACJsnF,YAAY,CAAC,oEAAoE,EAAE,OAAO,CAAC;IAC3Fl5F,OAAO,CAAC4R,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ;AACA,eAAe+nF,sBAAsBA,CAAChD,KAAK,EAAE;EACzC,IAAI2C,oBAAoB,CAAC,CAAC,EACtB;EACJ,IAAI;IACAM,eAAe,CAACjD,KAAK,EAAE12D,IAAI,CAACC,KAAK,CAAC,MAAM/xB,SAAS,CAACsrF,SAAS,CAACI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxEX,YAAY,CAAC,qCAAqC,CAAC;EACvD,CAAC,CACD,OAAOtnF,KAAK,EAAE;IACV,IAAI2nF,oBAAoB,CAAC3nF,KAAK,CAAC,EAC3B;IACJsnF,YAAY,CAAC,qFAAqF,EAAE,OAAO,CAAC;IAC5Gl5F,OAAO,CAAC4R,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ;AACA,eAAekoF,qBAAqBA,CAACnD,KAAK,EAAE;EACxC,IAAI;IACAW,MAAM,CAAC,IAAIn4D,IAAI,CAAC,CAACc,IAAI,CAACM,SAAS,CAACo2D,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAAC,CAAC,EAAE;MACjDX,IAAI,EAAE;IACV,CAAC,CAAC,EAAE,kBAAkB,CAAC;EAC3B,CAAC,CACD,OAAO0S,KAAK,EAAE;IACVsnF,YAAY,CAAC,yEAAyE,EAAE,OAAO,CAAC;IAChGl5F,OAAO,CAAC4R,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ;AACA,IAAImoF,SAAS;AACb,SAASC,aAAaA,CAAA,EAAG;EACrB,IAAI,CAACD,SAAS,EAAE;IACZA,SAAS,GAAGzrF,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;IAC3CwrF,SAAS,CAAC76F,IAAI,GAAG,MAAM;IACvB66F,SAAS,CAACE,MAAM,GAAG,OAAO;EAC9B;EACA,SAASC,QAAQA,CAAA,EAAG;IAChB,OAAO,IAAIjlF,OAAO,CAAC,CAACE,OAAO,EAAEC,MAAM,KAAK;MACpC2kF,SAAS,CAACI,QAAQ,GAAG,YAAY;QAC7B,MAAMC,KAAK,GAAGL,SAAS,CAACK,KAAK;QAC7B,IAAI,CAACA,KAAK,EACN,OAAOjlF,OAAO,CAAC,IAAI,CAAC;QACxB,MAAMklF,IAAI,GAAGD,KAAK,CAAC16D,IAAI,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC26D,IAAI,EACL,OAAOllF,OAAO,CAAC,IAAI,CAAC;QACxB,OAAOA,OAAO,CAAC;UAAEyJ,IAAI,EAAE,MAAMy7E,IAAI,CAACz7E,IAAI,CAAC,CAAC;UAAEy7E;QAAK,CAAC,CAAC;MACrD,CAAC;MACD;MACAN,SAAS,CAACO,QAAQ,GAAG,MAAMnlF,OAAO,CAAC,IAAI,CAAC;MACxC4kF,SAAS,CAACliF,OAAO,GAAGzC,MAAM;MAC1B2kF,SAAS,CAACvC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;EACN;EACA,OAAO0C,QAAQ;AACnB;AACA,eAAeK,yBAAyBA,CAAC5D,KAAK,EAAE;EAC5C,IAAI;IACA,MAAMjgF,IAAI,GAAGsjF,aAAa,CAAC,CAAC;IAC5B,MAAMt5F,MAAM,GAAG,MAAMgW,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAChW,MAAM,EACP;IACJ,MAAM;MAAEke,IAAI;MAAEy7E;IAAK,CAAC,GAAG35F,MAAM;IAC7Bk5F,eAAe,CAACjD,KAAK,EAAE12D,IAAI,CAACC,KAAK,CAACthB,IAAI,CAAC,CAAC;IACxCs6E,YAAY,CAAC,+BAA+BmB,IAAI,CAAC1qF,IAAI,IAAI,CAAC;EAC9D,CAAC,CACD,OAAOiC,KAAK,EAAE;IACVsnF,YAAY,CAAC,2EAA2E,EAAE,OAAO,CAAC;IAClGl5F,OAAO,CAAC4R,KAAK,CAACA,KAAK,CAAC;EACxB;AACJ;AACA,SAASgoF,eAAeA,CAACjD,KAAK,EAAE1hE,KAAK,EAAE;EACnC,KAAK,MAAMnwB,GAAG,IAAImwB,KAAK,EAAE;IACrB,MAAMulE,UAAU,GAAG7D,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACiF,GAAG,CAAC;IACzC;IACA,IAAI01F,UAAU,EAAE;MACZh6F,MAAM,CAACoN,MAAM,CAAC4sF,UAAU,EAAEvlE,KAAK,CAACnwB,GAAG,CAAC,CAAC;IACzC,CAAC,MACI;MACD;MACA6xF,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACiF,GAAG,CAAC,GAAGmwB,KAAK,CAACnwB,GAAG,CAAC;IACvC;EACJ;AACJ;AAEA,SAAS21F,aAAaA,CAACxzE,OAAO,EAAE;EAC5B,OAAO;IACHyzE,OAAO,EAAE;MACLzzE;IACJ;EACJ,CAAC;AACL;AACA,MAAM0zE,gBAAgB,GAAG,iBAAiB;AAC1C,MAAMC,aAAa,GAAG,OAAO;AAC7B,SAASC,2BAA2BA,CAACC,KAAK,EAAE;EACxC,OAAOzB,OAAO,CAACyB,KAAK,CAAC,GACf;IACEphF,EAAE,EAAEkhF,aAAa;IACjBG,KAAK,EAAEJ;EACX,CAAC,GACC;IACEjhF,EAAE,EAAEohF,KAAK,CAACE,GAAG;IACbD,KAAK,EAAED,KAAK,CAACE;EACjB,CAAC;AACT;AACA,SAASC,4BAA4BA,CAACH,KAAK,EAAE;EACzC,IAAIzB,OAAO,CAACyB,KAAK,CAAC,EAAE;IAChB,MAAMI,UAAU,GAAGjzE,KAAK,CAACje,IAAI,CAAC8wF,KAAK,CAACK,EAAE,CAAC56F,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM66F,QAAQ,GAAGN,KAAK,CAACK,EAAE;IACzB,MAAMlmE,KAAK,GAAG;MACVA,KAAK,EAAEimE,UAAU,CAACx1F,GAAG,CAAE21F,OAAO,KAAM;QAChCC,QAAQ,EAAE,IAAI;QACdx2F,GAAG,EAAEu2F,OAAO;QACZx7F,KAAK,EAAEi7F,KAAK,CAAC7lE,KAAK,CAACp1B,KAAK,CAACw7F,OAAO;MACpC,CAAC,CAAC,CAAC;MACHE,OAAO,EAAEL,UAAU,CACd50F,MAAM,CAAEoT,EAAE,IAAK0hF,QAAQ,CAACxyF,GAAG,CAAC8Q,EAAE,CAAC,CAAC8hF,QAAQ,CAAC,CACzC91F,GAAG,CAAEgU,EAAE,IAAK;QACb,MAAMohF,KAAK,GAAGM,QAAQ,CAACxyF,GAAG,CAAC8Q,EAAE,CAAC;QAC9B,OAAO;UACH4hF,QAAQ,EAAE,KAAK;UACfx2F,GAAG,EAAE4U,EAAE;UACP7Z,KAAK,EAAEi7F,KAAK,CAACU,QAAQ,CAAC5yC,MAAM,CAAC,CAAC2yC,OAAO,EAAEz2F,GAAG,KAAK;YAC3Cy2F,OAAO,CAACz2F,GAAG,CAAC,GAAGg2F,KAAK,CAACh2F,GAAG,CAAC;YACzB,OAAOy2F,OAAO;UAClB,CAAC,EAAE,CAAC,CAAC;QACT,CAAC;MACL,CAAC;IACL,CAAC;IACD,OAAOtmE,KAAK;EAChB;EACA,MAAMA,KAAK,GAAG;IACVA,KAAK,EAAEz0B,MAAM,CAACD,IAAI,CAACu6F,KAAK,CAACW,MAAM,CAAC,CAAC/1F,GAAG,CAAEZ,GAAG,KAAM;MAC3Cw2F,QAAQ,EAAE,IAAI;MACdx2F,GAAG;MACHjF,KAAK,EAAEi7F,KAAK,CAACW,MAAM,CAAC32F,GAAG;IAC3B,CAAC,CAAC;EACN,CAAC;EACD;EACA,IAAIg2F,KAAK,CAACU,QAAQ,IAAIV,KAAK,CAACU,QAAQ,CAAC/6F,MAAM,EAAE;IACzCw0B,KAAK,CAACsmE,OAAO,GAAGT,KAAK,CAACU,QAAQ,CAAC91F,GAAG,CAAEg2F,UAAU,KAAM;MAChDJ,QAAQ,EAAE,KAAK;MACfx2F,GAAG,EAAE42F,UAAU;MACf77F,KAAK,EAAEi7F,KAAK,CAACY,UAAU;IAC3B,CAAC,CAAC,CAAC;EACP;EACA,IAAIZ,KAAK,CAACa,iBAAiB,CAACr3E,IAAI,EAAE;IAC9B2Q,KAAK,CAAC2mE,gBAAgB,GAAG3zE,KAAK,CAACje,IAAI,CAAC8wF,KAAK,CAACa,iBAAiB,CAAC,CAACj2F,GAAG,CAAEZ,GAAG,KAAM;MACvEw2F,QAAQ,EAAE,IAAI;MACdx2F,GAAG;MACHjF,KAAK,EAAEi7F,KAAK,CAACh2F,GAAG;IACpB,CAAC,CAAC,CAAC;EACP;EACA,OAAOmwB,KAAK;AAChB;AACA,SAAS4mE,eAAeA,CAACC,MAAM,EAAE;EAC7B,IAAI,CAACA,MAAM,EACP,OAAO,CAAC,CAAC;EACb,IAAI7zE,KAAK,CAACxiB,OAAO,CAACq2F,MAAM,CAAC,EAAE;IACvB;IACA,OAAOA,MAAM,CAAClzC,MAAM,CAAC,CAAC18C,IAAI,EAAE4I,KAAK,KAAK;MAClC5I,IAAI,CAAC3L,IAAI,CAAC4S,IAAI,CAAC2B,KAAK,CAAChQ,GAAG,CAAC;MACzBoH,IAAI,CAAC6vF,UAAU,CAAC5oF,IAAI,CAAC2B,KAAK,CAAC5V,IAAI,CAAC;MAChCgN,IAAI,CAACob,QAAQ,CAACxS,KAAK,CAAChQ,GAAG,CAAC,GAAGgQ,KAAK,CAACwS,QAAQ;MACzCpb,IAAI,CAACwf,QAAQ,CAAC5W,KAAK,CAAChQ,GAAG,CAAC,GAAGgQ,KAAK,CAAC4W,QAAQ;MACzC,OAAOxf,IAAI;IACf,CAAC,EAAE;MACCob,QAAQ,EAAE,CAAC,CAAC;MACZ/mB,IAAI,EAAE,EAAE;MACRw7F,UAAU,EAAE,EAAE;MACdrwE,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;EACN,CAAC,MACI;IACD,OAAO;MACHswE,SAAS,EAAEvB,aAAa,CAACqB,MAAM,CAAC58F,IAAI,CAAC;MACrC4F,GAAG,EAAE21F,aAAa,CAACqB,MAAM,CAACh3F,GAAG,CAAC;MAC9BwiB,QAAQ,EAAEw0E,MAAM,CAACx0E,QAAQ;MACzBoE,QAAQ,EAAEowE,MAAM,CAACpwE;IACrB,CAAC;EACL;AACJ;AACA,SAASuwE,kBAAkBA,CAAC/8F,IAAI,EAAE;EAC9B,QAAQA,IAAI;IACR,KAAK43F,YAAY,CAACoF,MAAM;MACpB,OAAO,UAAU;IACrB,KAAKpF,YAAY,CAACqF,aAAa;MAC3B,OAAO,QAAQ;IACnB,KAAKrF,YAAY,CAACsF,WAAW;MACzB,OAAO,QAAQ;IACnB;MACI,OAAO,SAAS;EACxB;AACJ;;AAEA;AACA,IAAIC,gBAAgB,GAAG,IAAI;AAC3B,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,kBAAkB,GAAG,iBAAiB;AAC5C,MAAMC,YAAY,GAAG,OAAO;AAC5B,MAAM;EAAE5uF,MAAM,EAAE6uF;AAAS,CAAC,GAAGj8F,MAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,MAAMk8F,YAAY,GAAIhjF,EAAE,IAAK,KAAK,GAAGA,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASijF,qBAAqBA,CAACxgE,GAAG,EAAEw6D,KAAK,EAAE;EACvCpkF,iFAAmB,CAAC;IAChBmH,EAAE,EAAE,eAAe;IACnBqhF,KAAK,EAAE,UAAU;IACjB6B,IAAI,EAAE,kCAAkC;IACxCC,WAAW,EAAE,OAAO;IACpBC,QAAQ,EAAE,yBAAyB;IACnCR,mBAAmB;IACnBngE;EACJ,CAAC,EAAG4gE,GAAG,IAAK;IACR,IAAI,OAAOA,GAAG,CAACjwE,GAAG,KAAK,UAAU,EAAE;MAC/BosE,YAAY,CAAC,yMAAyM,CAAC;IAC3N;IACA6D,GAAG,CAACC,gBAAgB,CAAC;MACjBtjF,EAAE,EAAE6iF,kBAAkB;MACtBxB,KAAK,EAAE,UAAU;MACjBkC,KAAK,EAAE;IACX,CAAC,CAAC;IACFF,GAAG,CAACG,YAAY,CAAC;MACbxjF,EAAE,EAAE8iF,YAAY;MAChBzB,KAAK,EAAE,UAAU;MACjBoC,IAAI,EAAE,SAAS;MACfC,qBAAqB,EAAE,eAAe;MACtCC,OAAO,EAAE,CACL;QACIF,IAAI,EAAE,cAAc;QACpBG,MAAM,EAAEA,CAAA,KAAM;UACV9D,qBAAqB,CAAC7C,KAAK,CAAC;QAChC,CAAC;QACD4G,OAAO,EAAE;MACb,CAAC,EACD;QACIJ,IAAI,EAAE,eAAe;QACrBG,MAAM,EAAE,MAAAA,CAAA,KAAY;UAChB,MAAM3D,sBAAsB,CAAChD,KAAK,CAAC;UACnCoG,GAAG,CAACS,iBAAiB,CAAChB,YAAY,CAAC;UACnCO,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;QACxC,CAAC;QACDe,OAAO,EAAE;MACb,CAAC,EACD;QACIJ,IAAI,EAAE,MAAM;QACZG,MAAM,EAAEA,CAAA,KAAM;UACVxD,qBAAqB,CAACnD,KAAK,CAAC;QAChC,CAAC;QACD4G,OAAO,EAAE;MACb,CAAC,EACD;QACIJ,IAAI,EAAE,aAAa;QACnBG,MAAM,EAAE,MAAAA,CAAA,KAAY;UAChB,MAAM/C,yBAAyB,CAAC5D,KAAK,CAAC;UACtCoG,GAAG,CAACS,iBAAiB,CAAChB,YAAY,CAAC;UACnCO,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;QACxC,CAAC;QACDe,OAAO,EAAE;MACb,CAAC,CACJ;MACDG,WAAW,EAAE,CACT;QACIP,IAAI,EAAE,SAAS;QACfI,OAAO,EAAE,iCAAiC;QAC1CD,MAAM,EAAGK,MAAM,IAAK;UAChB,MAAM7C,KAAK,GAAGnE,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAAC+0F,MAAM,CAAC;UAClC,IAAI,CAAC7C,KAAK,EAAE;YACR5B,YAAY,CAAC,iBAAiByE,MAAM,kCAAkC,EAAE,MAAM,CAAC;UACnF,CAAC,MACI,IAAI,OAAO7C,KAAK,CAAC8C,MAAM,KAAK,UAAU,EAAE;YACzC1E,YAAY,CAAC,iBAAiByE,MAAM,gEAAgE,EAAE,MAAM,CAAC;UACjH,CAAC,MACI;YACD7C,KAAK,CAAC8C,MAAM,CAAC,CAAC;YACd1E,YAAY,CAAC,UAAUyE,MAAM,UAAU,CAAC;UAC5C;QACJ;MACJ,CAAC;IAET,CAAC,CAAC;IACFZ,GAAG,CAACv8D,EAAE,CAACq9D,gBAAgB,CAAC,CAAChoB,OAAO,EAAEtnC,GAAG,KAAK;MACtC,MAAMv7B,KAAK,GAAI6iE,OAAO,CAACioB,iBAAiB,IACpCjoB,OAAO,CAACioB,iBAAiB,CAAC9qF,KAAM;MACpC,IAAIA,KAAK,IAAIA,KAAK,CAAC+qF,QAAQ,EAAE;QACzB,MAAMC,WAAW,GAAGnoB,OAAO,CAACioB,iBAAiB,CAAC9qF,KAAK,CAAC+qF,QAAQ;QAC5Dv9F,MAAM,CAAC6nC,MAAM,CAAC21D,WAAW,CAAC,CAAC/+F,OAAO,CAAE67F,KAAK,IAAK;UAC1CjlB,OAAO,CAACooB,YAAY,CAAChpE,KAAK,CAAC9hB,IAAI,CAAC;YAC5BjU,IAAI,EAAEw9F,YAAY,CAAC5B,KAAK,CAACE,GAAG,CAAC;YAC7Bl2F,GAAG,EAAE,OAAO;YACZw2F,QAAQ,EAAE,IAAI;YACdz7F,KAAK,EAAEi7F,KAAK,CAACoD,aAAa,GACpB;cACExD,OAAO,EAAE;gBACL76F,KAAK,EAAEob,0DAAK,CAAC6/E,KAAK,CAACW,MAAM,CAAC;gBAC1B4B,OAAO,EAAE,CACL;kBACIF,IAAI,EAAE,SAAS;kBACfI,OAAO,EAAE,+BAA+B;kBACxCD,MAAM,EAAEA,CAAA,KAAMxC,KAAK,CAAC8C,MAAM,CAAC;gBAC/B,CAAC;cAET;YACJ,CAAC;YACC;YACEp9F,MAAM,CAACD,IAAI,CAACu6F,KAAK,CAACW,MAAM,CAAC,CAAC7yC,MAAM,CAAC,CAAC3zB,KAAK,EAAEnwB,GAAG,KAAK;cAC7CmwB,KAAK,CAACnwB,GAAG,CAAC,GAAGg2F,KAAK,CAACW,MAAM,CAAC32F,GAAG,CAAC;cAC9B,OAAOmwB,KAAK;YAChB,CAAC,EAAE,CAAC,CAAC;UACjB,CAAC,CAAC;UACF,IAAI6lE,KAAK,CAACU,QAAQ,IAAIV,KAAK,CAACU,QAAQ,CAAC/6F,MAAM,EAAE;YACzCo1E,OAAO,CAACooB,YAAY,CAAChpE,KAAK,CAAC9hB,IAAI,CAAC;cAC5BjU,IAAI,EAAEw9F,YAAY,CAAC5B,KAAK,CAACE,GAAG,CAAC;cAC7Bl2F,GAAG,EAAE,SAAS;cACdw2F,QAAQ,EAAE,KAAK;cACfz7F,KAAK,EAAEi7F,KAAK,CAACU,QAAQ,CAAC5yC,MAAM,CAAC,CAAC2yC,OAAO,EAAEz2F,GAAG,KAAK;gBAC3C,IAAI;kBACAy2F,OAAO,CAACz2F,GAAG,CAAC,GAAGg2F,KAAK,CAACh2F,GAAG,CAAC;gBAC7B,CAAC,CACD,OAAO8M,KAAK,EAAE;kBACV;kBACA2pF,OAAO,CAACz2F,GAAG,CAAC,GAAG8M,KAAK;gBACxB;gBACA,OAAO2pF,OAAO;cAClB,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;IACFwB,GAAG,CAACv8D,EAAE,CAAC29D,gBAAgB,CAAEtoB,OAAO,IAAK;MACjC,IAAIA,OAAO,CAAC15C,GAAG,KAAKA,GAAG,IAAI05C,OAAO,CAACuoB,WAAW,KAAK5B,YAAY,EAAE;QAC7D,IAAI6B,MAAM,GAAG,CAAC1H,KAAK,CAAC;QACpB0H,MAAM,GAAGA,MAAM,CAAC70F,MAAM,CAACye,KAAK,CAACje,IAAI,CAAC2sF,KAAK,CAACwE,EAAE,CAAC9yD,MAAM,CAAC,CAAC,CAAC,CAAC;QACrDwtC,OAAO,CAACyoB,SAAS,GAAG,CAACzoB,OAAO,CAACvvE,MAAM,GAC7B+3F,MAAM,CAAC/3F,MAAM,CAAEw0F,KAAK,IAAK,KAAK,IAAIA,KAAK,GACnCA,KAAK,CAACE,GAAG,CACNz1F,WAAW,CAAC,CAAC,CACbimB,QAAQ,CAACqqD,OAAO,CAACvvE,MAAM,CAACf,WAAW,CAAC,CAAC,CAAC,GACzCo1F,gBAAgB,CAACp1F,WAAW,CAAC,CAAC,CAACimB,QAAQ,CAACqqD,OAAO,CAACvvE,MAAM,CAACf,WAAW,CAAC,CAAC,CAAC,CAAC,GAC1E84F,MAAM,EAAE34F,GAAG,CAACm1F,2BAA2B,CAAC;MAClD;IACJ,CAAC,CAAC;IACFkC,GAAG,CAACv8D,EAAE,CAAC+9D,iBAAiB,CAAE1oB,OAAO,IAAK;MAClC,IAAIA,OAAO,CAAC15C,GAAG,KAAKA,GAAG,IAAI05C,OAAO,CAACuoB,WAAW,KAAK5B,YAAY,EAAE;QAC7D,MAAMgC,cAAc,GAAG3oB,OAAO,CAAC8nB,MAAM,KAAK/C,aAAa,GACjDjE,KAAK,GACLA,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAACitE,OAAO,CAAC8nB,MAAM,CAAC;QAClC,IAAI,CAACa,cAAc,EAAE;UACjB;UACA;UACA;QACJ;QACA,IAAIA,cAAc,EAAE;UAChB3oB,OAAO,CAAC5gD,KAAK,GAAGgmE,4BAA4B,CAACuD,cAAc,CAAC;QAChE;MACJ;IACJ,CAAC,CAAC;IACFzB,GAAG,CAACv8D,EAAE,CAACi+D,kBAAkB,CAAC,CAAC5oB,OAAO,EAAEtnC,GAAG,KAAK;MACxC,IAAIsnC,OAAO,CAAC15C,GAAG,KAAKA,GAAG,IAAI05C,OAAO,CAACuoB,WAAW,KAAK5B,YAAY,EAAE;QAC7D,MAAMgC,cAAc,GAAG3oB,OAAO,CAAC8nB,MAAM,KAAK/C,aAAa,GACjDjE,KAAK,GACLA,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAACitE,OAAO,CAAC8nB,MAAM,CAAC;QAClC,IAAI,CAACa,cAAc,EAAE;UACjB,OAAOtF,YAAY,CAAC,UAAUrjB,OAAO,CAAC8nB,MAAM,aAAa,EAAE,OAAO,CAAC;QACvE;QACA,MAAM;UAAExtF;QAAK,CAAC,GAAG0lE,OAAO;QACxB,IAAI,CAACwjB,OAAO,CAACmF,cAAc,CAAC,EAAE;UAC1B;UACA,IAAIruF,IAAI,CAAC1P,MAAM,KAAK,CAAC,IACjB,CAAC+9F,cAAc,CAAC7C,iBAAiB,CAAC5yF,GAAG,CAACoH,IAAI,CAAC,CAAC,CAAC,CAAC,IAC9CA,IAAI,CAAC,CAAC,CAAC,IAAIquF,cAAc,CAAC/C,MAAM,EAAE;YAClCtrF,IAAI,CAACqyC,OAAO,CAAC,QAAQ,CAAC;UAC1B;QACJ,CAAC,MACI;UACD;UACAryC,IAAI,CAACqyC,OAAO,CAAC,OAAO,CAAC;QACzB;QACA65C,gBAAgB,GAAG,KAAK;QACxBxmB,OAAO,CAAC9tE,GAAG,CAACy2F,cAAc,EAAEruF,IAAI,EAAE0lE,OAAO,CAAC5gD,KAAK,CAACp1B,KAAK,CAAC;QACtDw8F,gBAAgB,GAAG,IAAI;MAC3B;IACJ,CAAC,CAAC;IACFU,GAAG,CAACv8D,EAAE,CAACk+D,kBAAkB,CAAE7oB,OAAO,IAAK;MACnC,IAAIA,OAAO,CAAC32E,IAAI,CAACsrB,UAAU,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM6wE,OAAO,GAAGxlB,OAAO,CAAC32E,IAAI,CAAC4H,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClD,MAAMg0F,KAAK,GAAGnE,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAACyyF,OAAO,CAAC;QACnC,IAAI,CAACP,KAAK,EAAE;UACR,OAAO5B,YAAY,CAAC,UAAUmC,OAAO,aAAa,EAAE,OAAO,CAAC;QAChE;QACA,MAAM;UAAElrF;QAAK,CAAC,GAAG0lE,OAAO;QACxB,IAAI1lE,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;UACrB,OAAO+oF,YAAY,CAAC,2BAA2BmC,OAAO,OAAOlrF,IAAI,+BAA+B,CAAC;QACrG;QACA;QACA;QACAA,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;QAClBksF,gBAAgB,GAAG,KAAK;QACxBxmB,OAAO,CAAC9tE,GAAG,CAAC+yF,KAAK,EAAE3qF,IAAI,EAAE0lE,OAAO,CAAC5gD,KAAK,CAACp1B,KAAK,CAAC;QAC7Cw8F,gBAAgB,GAAG,IAAI;MAC3B;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;AACN;AACA,SAASsC,kBAAkBA,CAACxiE,GAAG,EAAE2+D,KAAK,EAAE;EACpC,IAAI,CAACwB,mBAAmB,CAAC9wE,QAAQ,CAACkxE,YAAY,CAAC5B,KAAK,CAACE,GAAG,CAAC,CAAC,EAAE;IACxDsB,mBAAmB,CAACnpF,IAAI,CAACupF,YAAY,CAAC5B,KAAK,CAACE,GAAG,CAAC,CAAC;EACrD;EACAzoF,iFAAmB,CAAC;IAChBmH,EAAE,EAAE,eAAe;IACnBqhF,KAAK,EAAE,UAAU;IACjB6B,IAAI,EAAE,kCAAkC;IACxCC,WAAW,EAAE,OAAO;IACpBC,QAAQ,EAAE,yBAAyB;IACnCR,mBAAmB;IACnBngE,GAAG;IACHsD,QAAQ,EAAE;MACNm/D,eAAe,EAAE;QACb7D,KAAK,EAAE,iCAAiC;QACxC77F,IAAI,EAAE,SAAS;QACfygC,YAAY,EAAE;MAClB;MACA;MACA;MACA;MACA;MACA;IACJ;EACJ,CAAC,EAAGo9D,GAAG,IAAK;IACR;IACA,MAAMjwE,GAAG,GAAG,OAAOiwE,GAAG,CAACjwE,GAAG,KAAK,UAAU,GAAGiwE,GAAG,CAACjwE,GAAG,CAACsF,IAAI,CAAC2qE,GAAG,CAAC,GAAGlwE,IAAI,CAACC,GAAG;IACxEguE,KAAK,CAAC+D,SAAS,CAAC,CAAC;MAAEC,KAAK;MAAErgD,OAAO;MAAE9uC,IAAI;MAAEkS;IAAK,CAAC,KAAK;MAChD,MAAMk9E,OAAO,GAAGC,eAAe,EAAE;MACjCjC,GAAG,CAACkC,gBAAgB,CAAC;QACjBC,OAAO,EAAE3C,kBAAkB;QAC3BznF,KAAK,EAAE;UACH+4B,IAAI,EAAE/gB,GAAG,CAAC,CAAC;UACX4rE,KAAK,EAAE,KAAK,GAAG/oF,IAAI;UACnBwvF,QAAQ,EAAE,OAAO;UACjBjzF,IAAI,EAAE;YACF4uF,KAAK,EAAEL,aAAa,CAACK,KAAK,CAACE,GAAG,CAAC;YAC/BsC,MAAM,EAAE7C,aAAa,CAAC9qF,IAAI,CAAC;YAC3BkS;UACJ,CAAC;UACDk9E;QACJ;MACJ,CAAC,CAAC;MACFD,KAAK,CAAEp+F,MAAM,IAAK;QACd0+F,YAAY,GAAGz+F,SAAS;QACxBo8F,GAAG,CAACkC,gBAAgB,CAAC;UACjBC,OAAO,EAAE3C,kBAAkB;UAC3BznF,KAAK,EAAE;YACH+4B,IAAI,EAAE/gB,GAAG,CAAC,CAAC;YACX4rE,KAAK,EAAE,KAAK,GAAG/oF,IAAI;YACnBwvF,QAAQ,EAAE,KAAK;YACfjzF,IAAI,EAAE;cACF4uF,KAAK,EAAEL,aAAa,CAACK,KAAK,CAACE,GAAG,CAAC;cAC/BsC,MAAM,EAAE7C,aAAa,CAAC9qF,IAAI,CAAC;cAC3BkS,IAAI;cACJnhB;YACJ,CAAC;YACDq+F;UACJ;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACFtgD,OAAO,CAAE7sC,KAAK,IAAK;QACfwtF,YAAY,GAAGz+F,SAAS;QACxBo8F,GAAG,CAACkC,gBAAgB,CAAC;UACjBC,OAAO,EAAE3C,kBAAkB;UAC3BznF,KAAK,EAAE;YACH+4B,IAAI,EAAE/gB,GAAG,CAAC,CAAC;YACXuyE,OAAO,EAAE,OAAO;YAChB3G,KAAK,EAAE,KAAK,GAAG/oF,IAAI;YACnBwvF,QAAQ,EAAE,KAAK;YACfjzF,IAAI,EAAE;cACF4uF,KAAK,EAAEL,aAAa,CAACK,KAAK,CAACE,GAAG,CAAC;cAC/BsC,MAAM,EAAE7C,aAAa,CAAC9qF,IAAI,CAAC;cAC3BkS,IAAI;cACJjQ;YACJ,CAAC;YACDmtF;UACJ;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,EAAE,IAAI,CAAC;IACRjE,KAAK,CAACa,iBAAiB,CAAC18F,OAAO,CAAE0Q,IAAI,IAAK;MACtC0K,0DAAK,CAAC,MAAMQ,0DAAK,CAACigF,KAAK,CAACnrF,IAAI,CAAC,CAAC,EAAE,CAAC+b,QAAQ,EAAEpE,QAAQ,KAAK;QACpDy1E,GAAG,CAACuC,qBAAqB,CAAC,CAAC;QAC3BvC,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;QACpC,IAAIH,gBAAgB,EAAE;UAClBU,GAAG,CAACkC,gBAAgB,CAAC;YACjBC,OAAO,EAAE3C,kBAAkB;YAC3BznF,KAAK,EAAE;cACH+4B,IAAI,EAAE/gB,GAAG,CAAC,CAAC;cACX4rE,KAAK,EAAE,QAAQ;cACfyG,QAAQ,EAAExvF,IAAI;cACdzD,IAAI,EAAE;gBACFwf,QAAQ;gBACRpE;cACJ,CAAC;cACDy3E,OAAO,EAAEK;YACb;UACJ,CAAC,CAAC;QACN;MACJ,CAAC,EAAE;QAAE3nE,IAAI,EAAE;MAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IACFqjE,KAAK,CAACyE,UAAU,CAAC,CAAC;MAAEzD,MAAM;MAAE58F;IAAK,CAAC,EAAE+1B,KAAK,KAAK;MAC1C8nE,GAAG,CAACuC,qBAAqB,CAAC,CAAC;MAC3BvC,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;MACpC,IAAI,CAACH,gBAAgB,EACjB;MACJ;MACA,MAAMmD,SAAS,GAAG;QACd3xD,IAAI,EAAE/gB,GAAG,CAAC,CAAC;QACX4rE,KAAK,EAAEuD,kBAAkB,CAAC/8F,IAAI,CAAC;QAC/BgN,IAAI,EAAEuwF,QAAQ,CAAC;UAAE3B,KAAK,EAAEL,aAAa,CAACK,KAAK,CAACE,GAAG;QAAE,CAAC,EAAEa,eAAe,CAACC,MAAM,CAAC,CAAC;QAC5EiD,OAAO,EAAEK;MACb,CAAC;MACD,IAAIlgG,IAAI,KAAK43F,YAAY,CAACqF,aAAa,EAAE;QACrCqD,SAAS,CAACL,QAAQ,GAAG,IAAI;MAC7B,CAAC,MACI,IAAIjgG,IAAI,KAAK43F,YAAY,CAACsF,WAAW,EAAE;QACxCoD,SAAS,CAACL,QAAQ,GAAG,IAAI;MAC7B,CAAC,MACI,IAAIrD,MAAM,IAAI,CAAC7zE,KAAK,CAACxiB,OAAO,CAACq2F,MAAM,CAAC,EAAE;QACvC0D,SAAS,CAACL,QAAQ,GAAGrD,MAAM,CAAC58F,IAAI;MACpC;MACA,IAAI48F,MAAM,EAAE;QACR0D,SAAS,CAACtzF,IAAI,CAAC,aAAa,CAAC,GAAG;UAC5BwuF,OAAO,EAAE;YACLzzE,OAAO,EAAE,eAAe;YACxB/nB,IAAI,EAAE,QAAQ;YACdq+F,OAAO,EAAE,qBAAqB;YAC9B19F,KAAK,EAAEi8F;UACX;QACJ,CAAC;MACL;MACAiB,GAAG,CAACkC,gBAAgB,CAAC;QACjBC,OAAO,EAAE3C,kBAAkB;QAC3BznF,KAAK,EAAE0qF;MACX,CAAC,CAAC;IACN,CAAC,EAAE;MAAEphB,QAAQ,EAAE,IAAI;MAAE11D,KAAK,EAAE;IAAO,CAAC,CAAC;IACrC,MAAM+2E,SAAS,GAAG3E,KAAK,CAAC4E,UAAU;IAClC5E,KAAK,CAAC4E,UAAU,GAAGx7D,4DAAO,CAAEy7D,QAAQ,IAAK;MACrCF,SAAS,CAACE,QAAQ,CAAC;MACnB5C,GAAG,CAACkC,gBAAgB,CAAC;QACjBC,OAAO,EAAE3C,kBAAkB;QAC3BznF,KAAK,EAAE;UACH+4B,IAAI,EAAE/gB,GAAG,CAAC,CAAC;UACX4rE,KAAK,EAAE,KAAK,GAAGoC,KAAK,CAACE,GAAG;UACxBmE,QAAQ,EAAE,YAAY;UACtBjzF,IAAI,EAAE;YACF4uF,KAAK,EAAEL,aAAa,CAACK,KAAK,CAACE,GAAG,CAAC;YAC/B/xD,IAAI,EAAEwxD,aAAa,CAAC,YAAY;UACpC;QACJ;MACJ,CAAC,CAAC;MACF;MACAsC,GAAG,CAACuC,qBAAqB,CAAC,CAAC;MAC3BvC,GAAG,CAACS,iBAAiB,CAAChB,YAAY,CAAC;MACnCO,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;IACxC,CAAC,CAAC;IACF,MAAM;MAAEoD;IAAS,CAAC,GAAG9E,KAAK;IAC1BA,KAAK,CAAC8E,QAAQ,GAAG,MAAM;MACnBA,QAAQ,CAAC,CAAC;MACV7C,GAAG,CAACuC,qBAAqB,CAAC,CAAC;MAC3BvC,GAAG,CAACS,iBAAiB,CAAChB,YAAY,CAAC;MACnCO,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;MACpCO,GAAG,CAAC38D,WAAW,CAAC,CAAC,CAACw+D,eAAe,IAC7B1F,YAAY,CAAC,aAAa4B,KAAK,CAACE,GAAG,YAAY,CAAC;IACxD,CAAC;IACD;IACA+B,GAAG,CAACuC,qBAAqB,CAAC,CAAC;IAC3BvC,GAAG,CAACS,iBAAiB,CAAChB,YAAY,CAAC;IACnCO,GAAG,CAACU,kBAAkB,CAACjB,YAAY,CAAC;IACpCO,GAAG,CAAC38D,WAAW,CAAC,CAAC,CAACw+D,eAAe,IAC7B1F,YAAY,CAAC,IAAI4B,KAAK,CAACE,GAAG,sBAAsB,CAAC;EACzD,CAAC,CAAC;AACN;AACA,IAAIgE,eAAe,GAAG,CAAC;AACvB,IAAII,YAAY;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,sBAAsBA,CAAC/E,KAAK,EAAEgF,WAAW,EAAEC,aAAa,EAAE;EAC/D;EACA,MAAM1C,OAAO,GAAGyC,WAAW,CAACl3C,MAAM,CAAC,CAACo3C,YAAY,EAAEC,UAAU,KAAK;IAC7D;IACAD,YAAY,CAACC,UAAU,CAAC,GAAGhlF,0DAAK,CAAC6/E,KAAK,CAAC,CAACmF,UAAU,CAAC;IACnD,OAAOD,YAAY;EACvB,CAAC,EAAE,CAAC,CAAC,CAAC;EACN,KAAK,MAAMC,UAAU,IAAI5C,OAAO,EAAE;IAC9BvC,KAAK,CAACmF,UAAU,CAAC,GAAG,YAAY;MAC5B;MACA,MAAMC,SAAS,GAAGlB,eAAe;MACjC,MAAMmB,YAAY,GAAGJ,aAAa,GAC5B,IAAIp/D,KAAK,CAACm6D,KAAK,EAAE;QACflyF,GAAGA,CAAC,GAAGiZ,IAAI,EAAE;UACTu9E,YAAY,GAAGc,SAAS;UACxB,OAAO34C,OAAO,CAAC3+C,GAAG,CAAC,GAAGiZ,IAAI,CAAC;QAC/B,CAAC;QACD9Z,GAAGA,CAAC,GAAG8Z,IAAI,EAAE;UACTu9E,YAAY,GAAGc,SAAS;UACxB,OAAO34C,OAAO,CAACx/C,GAAG,CAAC,GAAG8Z,IAAI,CAAC;QAC/B;MACJ,CAAC,CAAC,GACAi5E,KAAK;MACX;MACAsE,YAAY,GAAGc,SAAS;MACxB,MAAME,QAAQ,GAAG/C,OAAO,CAAC4C,UAAU,CAAC,CAAC1xB,KAAK,CAAC4xB,YAAY,EAAE9xC,SAAS,CAAC;MACnE;MACA+wC,YAAY,GAAGz+F,SAAS;MACxB,OAAOy/F,QAAQ;IACnB,CAAC;EACL;AACJ;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAAC;EAAElkE,GAAG;EAAE2+D,KAAK;EAAE36F;AAAQ,CAAC,EAAE;EAC7C;EACA,IAAI26F,KAAK,CAACE,GAAG,CAACxwE,UAAU,CAAC,QAAQ,CAAC,EAAE;IAChC;EACJ;EACA;EACAswE,KAAK,CAACoD,aAAa,GAAG,CAAC,CAAC/9F,OAAO,CAAC80B,KAAK;EACrC4qE,sBAAsB,CAAC/E,KAAK,EAAEt6F,MAAM,CAACD,IAAI,CAACJ,OAAO,CAACk9F,OAAO,CAAC,EAAEvC,KAAK,CAACoD,aAAa,CAAC;EAChF;EACA,MAAMoC,iBAAiB,GAAGxF,KAAK,CAAC4E,UAAU;EAC1CzkF,0DAAK,CAAC6/E,KAAK,CAAC,CAAC4E,UAAU,GAAG,UAAUC,QAAQ,EAAE;IAC1CW,iBAAiB,CAAC/xB,KAAK,CAAC,IAAI,EAAElgB,SAAS,CAAC;IACxCwxC,sBAAsB,CAAC/E,KAAK,EAAEt6F,MAAM,CAACD,IAAI,CAACo/F,QAAQ,CAACY,WAAW,CAAClD,OAAO,CAAC,EAAE,CAAC,CAACvC,KAAK,CAACoD,aAAa,CAAC;EACnG,CAAC;EACDS,kBAAkB,CAACxiE,GAAG;EACtB;EACA2+D,KAAK,CAAC;AACV;;AAEA;AACA;AACA;AACA,SAAS0F,WAAWA,CAAA,EAAG;EACnB,MAAM1oC,KAAK,GAAGrzB,gEAAW,CAAC,IAAI,CAAC;EAC/B;EACA;EACA,MAAMxP,KAAK,GAAG6iC,KAAK,CAACE,GAAG,CAAC,MAAM50B,wDAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACtC,IAAIq9D,EAAE,GAAG,EAAE;EACX;EACA,IAAIC,aAAa,GAAG,EAAE;EACtB,MAAM/J,KAAK,GAAGzyD,4DAAO,CAAC;IAClB5C,OAAOA,CAACnF,GAAG,EAAE;MACT;MACA;MACAu6D,cAAc,CAACC,KAAK,CAAC;MACrB,IAAI,CAACx1D,wDAAM,EAAE;QACTw1D,KAAK,CAACh5D,EAAE,GAAGxB,GAAG;QACdA,GAAG,CAAC2tB,OAAO,CAAC+sC,WAAW,EAAEF,KAAK,CAAC;QAC/Bx6D,GAAG,CAACjxB,MAAM,CAACm8C,gBAAgB,CAACs5C,MAAM,GAAGhK,KAAK;QAC1C;QACA,IAAIK,YAAY,EAAE;UACd2F,qBAAqB,CAACxgE,GAAG,EAAEw6D,KAAK,CAAC;QACrC;QACA+J,aAAa,CAACzhG,OAAO,CAAEogC,MAAM,IAAKohE,EAAE,CAACttF,IAAI,CAACksB,MAAM,CAAC,CAAC;QAClDqhE,aAAa,GAAG,EAAE;MACtB;IACJ,CAAC;IACDtnF,GAAGA,CAACimB,MAAM,EAAE;MACR,IAAI,CAAC,IAAI,CAAC1B,EAAE,IAAI,CAACwD,wDAAM,EAAE;QACrBu/D,aAAa,CAACvtF,IAAI,CAACksB,MAAM,CAAC;MAC9B,CAAC,MACI;QACDohE,EAAE,CAACttF,IAAI,CAACksB,MAAM,CAAC;MACnB;MACA,OAAO,IAAI;IACf,CAAC;IACDohE,EAAE;IACF;IACA;IACA9iE,EAAE,EAAE,IAAI;IACRijE,EAAE,EAAE9oC,KAAK;IACTqjC,EAAE,EAAE,IAAIloE,GAAG,CAAC,CAAC;IACbgC;EACJ,CAAC,CAAC;EACF;EACA;EACA,IAAI+hE,YAAY,IAAI,OAAOr2D,KAAK,KAAK,WAAW,EAAE;IAC9Cg2D,KAAK,CAACv9E,GAAG,CAACinF,cAAc,CAAC;EAC7B;EACA,OAAO1J,KAAK;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkK,UAAU,GAAIlnF,EAAE,IAAK;EACvB,OAAO,OAAOA,EAAE,KAAK,UAAU,IAAI,OAAOA,EAAE,CAACqhF,GAAG,KAAK,QAAQ;AACjE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASoB,WAAWA,CAAC0E,QAAQ,EAAEC,QAAQ,EAAE;EACrC;EACA,KAAK,MAAMj8F,GAAG,IAAIi8F,QAAQ,EAAE;IACxB,MAAMC,QAAQ,GAAGD,QAAQ,CAACj8F,GAAG,CAAC;IAC9B;IACA,IAAI,EAAEA,GAAG,IAAIg8F,QAAQ,CAAC,EAAE;MACpB;IACJ;IACA,MAAMG,WAAW,GAAGH,QAAQ,CAACh8F,GAAG,CAAC;IACjC,IAAI6D,aAAa,CAACs4F,WAAW,CAAC,IAC1Bt4F,aAAa,CAACq4F,QAAQ,CAAC,IACvB,CAACj+D,KAAK,CAACi+D,QAAQ,CAAC,IAChB,CAAC79D,UAAU,CAAC69D,QAAQ,CAAC,EAAE;MACvBF,QAAQ,CAACh8F,GAAG,CAAC,GAAGs3F,WAAW,CAAC6E,WAAW,EAAED,QAAQ,CAAC;IACtD,CAAC,MACI;MACD;MACA;MACA,IAAI7/D,MAAM,EAAE;QACRp5B,GAAG,CAAC+4F,QAAQ,EAAEh8F,GAAG,EAAEk8F,QAAQ,CAAC;MAChC,CAAC,MACI;QACDF,QAAQ,CAACh8F,GAAG,CAAC,GAAGk8F,QAAQ;MAC5B;IACJ;EACJ;EACA,OAAOF,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,eAAeA,CAACC,eAAe,EAAEC,GAAG,EAAE;EAC3C;EACA,IAAI,IAAwC,EAAE;IAC1C,OAAO,MAAM,CAAE,CAAC;EACpB;EACA,OAAQC,SAAS,IAAK;IAClB,MAAM1K,KAAK,GAAGyK,GAAG,CAACl1F,IAAI,CAACyqF,KAAK,IAAIwK,eAAe,CAACG,MAAM;IACtD,IAAI,CAAC3K,KAAK,EAAE;MACR;MACA;IACJ;IACA;IACAyK,GAAG,CAACl1F,IAAI,CAACyqF,KAAK,GAAGA,KAAK;IACtB;IACA,KAAK,MAAM4K,UAAU,IAAIF,SAAS,EAAE;MAChC,MAAMG,QAAQ,GAAGH,SAAS,CAACE,UAAU,CAAC;MACtC;MACA,IAAIV,UAAU,CAACW,QAAQ,CAAC,IAAI7K,KAAK,CAACwE,EAAE,CAACpyF,GAAG,CAACy4F,QAAQ,CAACxG,GAAG,CAAC,EAAE;QACpD;QACA,MAAMthF,EAAE,GAAG8nF,QAAQ,CAACxG,GAAG;QACvB,IAAIthF,EAAE,KAAKynF,eAAe,CAACnG,GAAG,EAAE;UAC5Bh7F,OAAO,CAACC,IAAI,CAAC,qCAAqCkhG,eAAe,CAACnG,GAAG,SAASthF,EAAE,eAAe,CAAC;UAChG;UACA,OAAO0nF,GAAG,CAACK,UAAU,CAAC,CAAC;QAC3B;QACA,MAAMC,aAAa,GAAG/K,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAAC8Q,EAAE,CAAC;QACtC,IAAI,CAACgoF,aAAa,EAAE;UAChB1hG,OAAO,CAACi/B,GAAG,CAAC,uDAAuD,CAAC;UACpE;QACJ;QACAuiE,QAAQ,CAAC7K,KAAK,EAAE+K,aAAa,CAAC;MAClC;IACJ;EACJ,CAAC;AACL;AAEA,MAAM/vB,IAAI,GAAGA,CAAA,KAAM,CAAE,CAAC;AACtB,SAASgwB,eAAeA,CAACC,aAAa,EAAEzuB,QAAQ,EAAEiL,QAAQ,EAAEyjB,SAAS,GAAGlwB,IAAI,EAAE;EAC1EiwB,aAAa,CAACzuF,IAAI,CAACggE,QAAQ,CAAC;EAC5B,MAAM2uB,kBAAkB,GAAGA,CAAA,KAAM;IAC7B,MAAM12B,GAAG,GAAGw2B,aAAa,CAACj7F,OAAO,CAACwsE,QAAQ,CAAC;IAC3C,IAAI/H,GAAG,GAAG,CAAC,CAAC,EAAE;MACVw2B,aAAa,CAAC1pE,MAAM,CAACkzC,GAAG,EAAE,CAAC,CAAC;MAC5By2B,SAAS,CAAC,CAAC;IACf;EACJ,CAAC;EACD,IAAI,CAACzjB,QAAQ,IAAI15C,oEAAe,CAAC,CAAC,EAAE;IAChCE,mEAAc,CAACk9D,kBAAkB,CAAC;EACtC;EACA,OAAOA,kBAAkB;AAC7B;AACA,SAASC,oBAAoBA,CAACH,aAAa,EAAE,GAAG//E,IAAI,EAAE;EAClD+/E,aAAa,CAACj3F,KAAK,CAAC,CAAC,CAAC1L,OAAO,CAAEk0E,QAAQ,IAAK;IACxCA,QAAQ,CAAC,GAAGtxD,IAAI,CAAC;EACrB,CAAC,CAAC;AACN;AAEA,MAAMmgF,sBAAsB,GAAIroF,EAAE,IAAKA,EAAE,CAAC,CAAC;AAC3C,SAASsoF,oBAAoBA,CAAC93F,MAAM,EAAE+3F,YAAY,EAAE;EAChD;EACA,IAAI/3F,MAAM,YAAY8oB,GAAG,IAAIivE,YAAY,YAAYjvE,GAAG,EAAE;IACtDivE,YAAY,CAACjjG,OAAO,CAAC,CAACY,KAAK,EAAEiF,GAAG,KAAKqF,MAAM,CAACpC,GAAG,CAACjD,GAAG,EAAEjF,KAAK,CAAC,CAAC;EAChE;EACA;EACA,IAAIsK,MAAM,YAAYia,GAAG,IAAI89E,YAAY,YAAY99E,GAAG,EAAE;IACtD89E,YAAY,CAACjjG,OAAO,CAACkL,MAAM,CAACga,GAAG,EAAEha,MAAM,CAAC;EAC5C;EACA;EACA,KAAK,MAAMrF,GAAG,IAAIo9F,YAAY,EAAE;IAC5B,IAAI,CAACA,YAAY,CAAC14B,cAAc,CAAC1kE,GAAG,CAAC,EACjC;IACJ,MAAMk8F,QAAQ,GAAGkB,YAAY,CAACp9F,GAAG,CAAC;IAClC,MAAMm8F,WAAW,GAAG92F,MAAM,CAACrF,GAAG,CAAC;IAC/B,IAAI6D,aAAa,CAACs4F,WAAW,CAAC,IAC1Bt4F,aAAa,CAACq4F,QAAQ,CAAC,IACvB72F,MAAM,CAACq/D,cAAc,CAAC1kE,GAAG,CAAC,IAC1B,CAACi+B,0DAAK,CAACi+D,QAAQ,CAAC,IAChB,CAAC79D,+DAAU,CAAC69D,QAAQ,CAAC,EAAE;MACvB;MACA;MACA;MACA72F,MAAM,CAACrF,GAAG,CAAC,GAAGm9F,oBAAoB,CAAChB,WAAW,EAAED,QAAQ,CAAC;IAC7D,CAAC,MACI;MACD;MACA72F,MAAM,CAACrF,GAAG,CAAC,GAAGk8F,QAAQ;IAC1B;EACJ;EACA,OAAO72F,MAAM;AACjB;AACA,MAAMg4F,iBAAiB,GAAIhlF,MAAqC,GAC1DjY,CAA6B,GAC7B,0BAA2BA,MAAM,CAAC,CAAC;AACzC,MAAMk9F,cAAc,GAAG,aAAc,IAAI3tE,OAAO,CAAC,CAAC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS4tE,WAAWA,CAACl7F,GAAG,EAAE;EACtB,OAAOg6B,MAAM;EACP;EACE;EAA2BihE,cAAc,CAACr6F,GAAG,CAACZ,GAAG,EAAE,CAAC,CAAC,IAAIA,GAAG,GAC9D3G,MAAM,CAAC+G,cAAc,CAACJ,GAAG,EAAEg7F,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,aAAaA,CAACn7F,GAAG,EAAE;EACxB,OAAOg6B,wDAAM,GACP,0BAA2B,CAACihE,cAAc,CAACr5F,GAAG,CAAC5B,GAAG,CAAC,GACnD,CAACwB,aAAa,CAACxB,GAAG,CAAC,IAAI,CAACA,GAAG,CAACqiE,cAAc,CAAC24B,iBAAiB,CAAC;AACvE;AACA,MAAM;EAAEv0F;AAAO,CAAC,GAAGpN,MAAM;AACzB,SAAS4/E,UAAUA,CAAC3sD,CAAC,EAAE;EACnB,OAAO,CAAC,EAAEsP,0DAAK,CAACtP,CAAC,CAAC,IAAIA,CAAC,CAAC+Q,MAAM,CAAC;AACnC;AACA,SAAS+9D,kBAAkBA,CAAC7oF,EAAE,EAAEvZ,OAAO,EAAEw2F,KAAK,EAAEyK,GAAG,EAAE;EACjD,MAAM;IAAEnsE,KAAK;IAAEooE,OAAO;IAAE9B;EAAQ,CAAC,GAAGp7F,OAAO;EAC3C,MAAMqiG,YAAY,GAAG7L,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAAC6Z,EAAE,CAAC;EAC1C,IAAIohF,KAAK;EACT,SAAS9lE,KAAKA,CAAA,EAAG;IACb,IAAI,CAACwtE,YAAY,KAAK,KAAwC,IAAI,CAAI,CAAC,EAAE;MACrE;MACA,IAAIrhE,wDAAM,EAAE;QACRp5B,yDAAG,CAAC4uF,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,EAAE6Z,EAAE,EAAEub,KAAK,GAAGA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;MACpD,CAAC,MACI;QACD0hE,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAAC6Z,EAAE,CAAC,GAAGub,KAAK,GAAGA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;MAChD;IACJ;IACA;IACA,MAAMwtE,UAAU,GAAItlF,MAA6C;IAC3D;IACE4nB,CAAuC,GACzCA,2DAAM,CAAC4xD,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAAC6Z,EAAE,CAAC,CAAC;IACnC,OAAO9L,MAAM,CAAC60F,UAAU,EAAEpF,OAAO,EAAE78F,MAAM,CAACD,IAAI,CAACg7F,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC3yC,MAAM,CAAC,CAAC85C,eAAe,EAAE/yF,IAAI,KAAK;MAC5F,IAAKwN,KAA4D,EAAE,EAElE;MACDulF,eAAe,CAAC/yF,IAAI,CAAC,GAAGu0B,4DAAO,CAACh6B,6DAAQ,CAAC,MAAM;QAC3CwsF,cAAc,CAACC,KAAK,CAAC;QACrB;QACA,MAAMmE,KAAK,GAAGnE,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAAC8Q,EAAE,CAAC;QAC9B;QACA;QACA,IAAIynB,wDAAM,IAAI,CAAC25D,KAAK,CAAC6H,EAAE,EACnB;QACJ;QACA;QACA;QACA,OAAOpH,OAAO,CAAC5rF,IAAI,CAAC,CAAClJ,IAAI,CAACq0F,KAAK,EAAEA,KAAK,CAAC;MAC3C,CAAC,CAAC,CAAC;MACH,OAAO4H,eAAe;IAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EACX;EACA5H,KAAK,GAAG8H,gBAAgB,CAAClpF,EAAE,EAAEsb,KAAK,EAAE70B,OAAO,EAAEw2F,KAAK,EAAEyK,GAAG,EAAE,IAAI,CAAC;EAC9D,OAAOtG,KAAK;AAChB;AACA,SAAS8H,gBAAgBA,CAAC5H,GAAG,EAAEhmE,KAAK,EAAE70B,OAAO,GAAG,CAAC,CAAC,EAAEw2F,KAAK,EAAEyK,GAAG,EAAEyB,cAAc,EAAE;EAC5E,IAAI/qC,KAAK;EACT,MAAMgrC,gBAAgB,GAAGl1F,MAAM,CAAC;IAAEyvF,OAAO,EAAE,CAAC;EAAE,CAAC,EAAEl9F,OAAO,CAAC;EACzD;EACA,IAAKgd,KAA0D,EAAE,EAEhE;EACD;EACA,MAAM4lF,iBAAiB,GAAG;IACtBtrE,IAAI,EAAE;IACN;EACJ,CAAC;EACD;EACA,IAAKta,KAAiD,EAAE,EAkBvD;EACD;EACA,IAAI6lF,WAAW,CAAC,CAAC;EACjB,IAAIG,eAAe,CAAC,CAAC;EACrB,IAAIvB,aAAa,GAAG,EAAE;EACtB,IAAIwB,mBAAmB,GAAG,EAAE;EAC5B,IAAIH,cAAc;EAClB,MAAMT,YAAY,GAAG7L,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC;EAC3C;EACA;EACA,IAAI,CAAC6H,cAAc,IAAI,CAACL,YAAY,KAAK,KAAwC,IAAI,CAAI,CAAC,EAAE;IACxF;IACA,IAAIrhE,wDAAM,EAAE;MACRp5B,yDAAG,CAAC4uF,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,EAAEm7F,GAAG,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC,MACI;MACDrE,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B;EACJ;EACA,MAAMqI,QAAQ,GAAGjgE,wDAAG,CAAC,CAAC,CAAC,CAAC;EACxB;EACA;EACA,IAAIkgE,cAAc;EAClB,SAASC,MAAMA,CAACC,qBAAqB,EAAE;IACnC,IAAIC,oBAAoB;IACxBT,WAAW,GAAGG,eAAe,GAAG,KAAK;IACrC;IACA;IACA,IAAKhmF,KAAqC,EAAG,EAE5C;IACD,IAAI,OAAOqmF,qBAAqB,KAAK,UAAU,EAAE;MAC7CA,qBAAqB,CAAC7M,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,CAAC;MAC7CyI,oBAAoB,GAAG;QACnBvkG,IAAI,EAAE43F,YAAY,CAACqF,aAAa;QAChCd,OAAO,EAAEL,GAAG;QACZc,MAAM,EAAEmH;MACZ,CAAC;IACL,CAAC,MACI;MACDhB,oBAAoB,CAACtL,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,EAAEwI,qBAAqB,CAAC;MACnEC,oBAAoB,GAAG;QACnBvkG,IAAI,EAAE43F,YAAY,CAACsF,WAAW;QAC9BvmB,OAAO,EAAE2tB,qBAAqB;QAC9BnI,OAAO,EAAEL,GAAG;QACZc,MAAM,EAAEmH;MACZ,CAAC;IACL;IACA,MAAMS,YAAY,GAAIJ,cAAc,GAAGp+F,MAAM,CAAC,CAAE;IAChD0V,6DAAQ,CAAC,CAAC,CAACgS,IAAI,CAAC,MAAM;MAClB,IAAI02E,cAAc,KAAKI,YAAY,EAAE;QACjCV,WAAW,GAAG,IAAI;MACtB;IACJ,CAAC,CAAC;IACFG,eAAe,GAAG,IAAI;IACtB;IACApB,oBAAoB,CAACH,aAAa,EAAE6B,oBAAoB,EAAE9M,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,CAAC;EACrF;EACA,MAAM4C,MAAM,GAAGiF,cAAc,GACvB,SAASjF,MAAMA,CAAA,EAAG;IAChB,MAAM;MAAE3oE;IAAM,CAAC,GAAG90B,OAAO;IACzB,MAAM2gG,QAAQ,GAAG7rE,KAAK,GAAGA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC;IACA,IAAI,CAACsuE,MAAM,CAAE9H,MAAM,IAAK;MACpB7tF,MAAM,CAAC6tF,MAAM,EAAEqF,QAAQ,CAAC;IAC5B,CAAC,CAAC;EACN,CAAC,GACC;EACG3jF,MAAqC,GAChC,CAED,GACCw0D,IAAI;EAClB,SAASiuB,QAAQA,CAAA,EAAG;IAChB9nC,KAAK,CAACh+B,IAAI,CAAC,CAAC;IACZ8nE,aAAa,GAAG,EAAE;IAClBwB,mBAAmB,GAAG,EAAE;IACxBzM,KAAK,CAACwE,EAAE,CAAClyF,MAAM,CAAC+xF,GAAG,CAAC;EACxB;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,SAAS2I,UAAUA,CAACh0F,IAAI,EAAE2tF,MAAM,EAAE;IAC9B,OAAO,YAAY;MACf5G,cAAc,CAACC,KAAK,CAAC;MACrB,MAAM90E,IAAI,GAAGoG,KAAK,CAACje,IAAI,CAACqkD,SAAS,CAAC;MAClC,MAAMu1C,iBAAiB,GAAG,EAAE;MAC5B,MAAMC,mBAAmB,GAAG,EAAE;MAC9B,SAAS/E,KAAKA,CAAC3rB,QAAQ,EAAE;QACrBywB,iBAAiB,CAACzwF,IAAI,CAACggE,QAAQ,CAAC;MACpC;MACA,SAAS10B,OAAOA,CAAC00B,QAAQ,EAAE;QACvB0wB,mBAAmB,CAAC1wF,IAAI,CAACggE,QAAQ,CAAC;MACtC;MACA;MACA4uB,oBAAoB,CAACqB,mBAAmB,EAAE;QACtCvhF,IAAI;QACJlS,IAAI;QACJmrF,KAAK;QACLgE,KAAK;QACLrgD;MACJ,CAAC,CAAC;MACF,IAAItI,GAAG;MACP,IAAI;QACAA,GAAG,GAAGmnD,MAAM,CAAC/uB,KAAK,CAAC,IAAI,IAAI,IAAI,CAACysB,GAAG,KAAKA,GAAG,GAAG,IAAI,GAAGF,KAAK,EAAEj5E,IAAI,CAAC;QACjE;MACJ,CAAC,CACD,OAAOjQ,KAAK,EAAE;QACVmwF,oBAAoB,CAAC8B,mBAAmB,EAAEjyF,KAAK,CAAC;QAChD,MAAMA,KAAK;MACf;MACA,IAAIukC,GAAG,YAAYlhC,OAAO,EAAE;QACxB,OAAOkhC,GAAG,CACLvpB,IAAI,CAAE/sB,KAAK,IAAK;UACjBkiG,oBAAoB,CAAC6B,iBAAiB,EAAE/jG,KAAK,CAAC;UAC9C,OAAOA,KAAK;QAChB,CAAC,CAAC,CACGuoC,KAAK,CAAEx2B,KAAK,IAAK;UAClBmwF,oBAAoB,CAAC8B,mBAAmB,EAAEjyF,KAAK,CAAC;UAChD,OAAOqD,OAAO,CAACG,MAAM,CAACxD,KAAK,CAAC;QAChC,CAAC,CAAC;MACN;MACA;MACAmwF,oBAAoB,CAAC6B,iBAAiB,EAAEztD,GAAG,CAAC;MAC5C,OAAOA,GAAG;IACd,CAAC;EACL;EACA,MAAMoqD,WAAW,GAAG,aAAcr8D,4DAAO,CAAC;IACtCm5D,OAAO,EAAE,CAAC,CAAC;IACX9B,OAAO,EAAE,CAAC,CAAC;IACXtmE,KAAK,EAAE,EAAE;IACTouE;EACJ,CAAC,CAAC;EACF,MAAMS,YAAY,GAAG;IACjBrD,EAAE,EAAE9J,KAAK;IACT;IACAqE,GAAG;IACH6D,SAAS,EAAE8C,eAAe,CAACvvE,IAAI,CAAC,IAAI,EAAEgxE,mBAAmB,CAAC;IAC1DG,MAAM;IACN3F,MAAM;IACN2B,UAAUA,CAACpsB,QAAQ,EAAEhzE,OAAO,GAAG,CAAC,CAAC,EAAE;MAC/B,MAAM2hG,kBAAkB,GAAGH,eAAe,CAACC,aAAa,EAAEzuB,QAAQ,EAAEhzE,OAAO,CAACi+E,QAAQ,EAAE,MAAM2lB,WAAW,CAAC,CAAC,CAAC;MAC1G,MAAMA,WAAW,GAAGjsC,KAAK,CAACE,GAAG,CAAC,MAAM39C,0DAAK,CAAC,MAAMs8E,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,EAAG/lE,KAAK,IAAK;QAC/E,IAAI90B,OAAO,CAACuoB,KAAK,KAAK,MAAM,GAAGy6E,eAAe,GAAGH,WAAW,EAAE;UAC1D7vB,QAAQ,CAAC;YACLkoB,OAAO,EAAEL,GAAG;YACZ97F,IAAI,EAAE43F,YAAY,CAACoF,MAAM;YACzBJ,MAAM,EAAEmH;UACZ,CAAC,EAAEhuE,KAAK,CAAC;QACb;MACJ,CAAC,EAAErnB,MAAM,CAAC,CAAC,CAAC,EAAEm1F,iBAAiB,EAAE5iG,OAAO,CAAC,CAAC,CAAC;MAC3C,OAAO2hG,kBAAkB;IAC7B,CAAC;IACDlC;EACJ,CAAC;EACD;EACA,IAAIz+D,wDAAM,EAAE;IACR;IACA2iE,YAAY,CAACnB,EAAE,GAAG,KAAK;EAC3B;EACA,MAAM7H,KAAK,GAAGp3D,6DAAQ,CAAEvmB,MAAqC,IAAK65E,YAAY,GACxEppF,MAAM,CAAC;IACL2yF,WAAW;IACX5E,iBAAiB,EAAEz3D,4DAAO,CAAC,IAAI9f,GAAG,CAAC,CAAC,CAAC,CAAE;EAC3C,CAAC,EAAE0/E;EACH;EACA;EACA,CAAC,GACCA,YAAY,CAAC;EACnB;EACA;EACAnN,KAAK,CAACwE,EAAE,CAACpzF,GAAG,CAACizF,GAAG,EAAEF,KAAK,CAAC;EACxB,MAAM9sC,cAAc,GAAI2oC,KAAK,CAACh5D,EAAE,IAAIg5D,KAAK,CAACh5D,EAAE,CAACqwB,cAAc,IAAKg0C,sBAAsB;EACtF;EACA,MAAMgC,UAAU,GAAGh2C,cAAc,CAAC,MAAM2oC,KAAK,CAACiK,EAAE,CAAC5oC,GAAG,CAAC,MAAM,CAACF,KAAK,GAAGrzB,gEAAW,CAAC,CAAC,EAAEuzB,GAAG,CAAChjC,KAAK,CAAC,CAAC,CAAC;EAC/F;EACA,KAAK,MAAMlwB,GAAG,IAAIk/F,UAAU,EAAE;IAC1B,MAAMl4F,IAAI,GAAGk4F,UAAU,CAACl/F,GAAG,CAAC;IAC5B,IAAKi+B,0DAAK,CAACj3B,IAAI,CAAC,IAAI,CAACs0E,UAAU,CAACt0E,IAAI,CAAC,IAAKq3B,+DAAU,CAACr3B,IAAI,CAAC,EAAE;MACxD;MACA,IAAKqR,KAA6C,EAAE,EAInD,MACI,IAAI,CAAC0lF,cAAc,EAAE;QACtB;QACA,IAAIL,YAAY,IAAIF,aAAa,CAACx2F,IAAI,CAAC,EAAE;UACrC,IAAIi3B,0DAAK,CAACj3B,IAAI,CAAC,EAAE;YACbA,IAAI,CAACjM,KAAK,GAAG2iG,YAAY,CAAC19F,GAAG,CAAC;UAClC,CAAC,MACI;YACD;YACA;YACAm9F,oBAAoB,CAACn2F,IAAI,EAAE02F,YAAY,CAAC19F,GAAG,CAAC,CAAC;UACjD;QACJ;QACA;QACA;QACA,IAAIq8B,wDAAM,EAAE;UACRp5B,yDAAG,CAAC4uF,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,EAAEl2F,GAAG,EAAEgH,IAAI,CAAC;QAC1C,CAAC,MACI;UACD6qF,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAC,CAACl2F,GAAG,CAAC,GAAGgH,IAAI;QACtC;MACJ;MACA;MACA,IAAKqR,KAAqC,EAAG,EAE5C;MACD;IACJ,CAAC,MACI,IAAI,OAAOrR,IAAI,KAAK,UAAU,EAAE;MACjC;MACA,MAAMm4F,WAAW,GAAI9mF,MAA6C,GAAGrR,CAAI,GAAG63F,UAAU,CAAC7+F,GAAG,EAAEgH,IAAI,CAAC;MACjG;MACA;MACA;MACA,IAAIq1B,wDAAM,EAAE;QACRp5B,yDAAG,CAACi8F,UAAU,EAAEl/F,GAAG,EAAEm/F,WAAW,CAAC;MACrC,CAAC,MACI;QACD;QACAD,UAAU,CAACl/F,GAAG,CAAC,GAAGm/F,WAAW;MACjC;MACA;MACA,IAAK9mF,KAAqC,EAAG,EAE5C;MACD;MACA;MACA2lF,gBAAgB,CAACzF,OAAO,CAACv4F,GAAG,CAAC,GAAGgH,IAAI;IACxC,CAAC,MACI,IAAKqR,KAAqC,EAAG,EAcjD;EACL;EACA;EACA;EACA,IAAIgkB,wDAAM,EAAE;IACR3gC,MAAM,CAACD,IAAI,CAACyjG,UAAU,CAAC,CAAC/kG,OAAO,CAAE6F,GAAG,IAAK;MACrCiD,yDAAG,CAAC+yF,KAAK,EAAEh2F,GAAG,EAAEk/F,UAAU,CAACl/F,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;EACN,CAAC,MACI;IACD8I,MAAM,CAACktF,KAAK,EAAEkJ,UAAU,CAAC;IACzB;IACA;IACAp2F,MAAM,CAACqN,0DAAK,CAAC6/E,KAAK,CAAC,EAAEkJ,UAAU,CAAC;EACpC;EACA;EACA;EACA;EACAxjG,MAAM,CAAC+G,cAAc,CAACuzF,KAAK,EAAE,QAAQ,EAAE;IACnClyF,GAAG,EAAEA,CAAA,KAAQuU,MAA6C,GAAGkmF,CAAc,GAAG1M,KAAK,CAAC1hE,KAAK,CAACp1B,KAAK,CAACm7F,GAAG,CAAE;IACrGjzF,GAAG,EAAGktB,KAAK,IAAK;MACZ;MACA,IAAK9X,KAA6C,EAAE,EAEnD;MACDomF,MAAM,CAAE9H,MAAM,IAAK;QACf7tF,MAAM,CAAC6tF,MAAM,EAAExmE,KAAK,CAAC;MACzB,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EACF;EACA;EACA,IAAK9X,KAAqC,EAAG,EAoE5C;EACD,IAAI65E,YAAY,EAAE;IACd,MAAMsN,aAAa,GAAG;MAClB1nE,QAAQ,EAAE,IAAI;MACdj1B,YAAY,EAAE,IAAI;MAClB;MACAovC,UAAU,EAAE;IAChB,CAAC;IACD,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC93C,OAAO,CAAEytB,CAAC,IAAK;MAClElsB,MAAM,CAAC+G,cAAc,CAACuzF,KAAK,EAAEpuE,CAAC,EAAE9e,MAAM,CAAC;QAAE/N,KAAK,EAAEi7F,KAAK,CAACpuE,CAAC;MAAE,CAAC,EAAE43E,aAAa,CAAC,CAAC;IAC/E,CAAC,CAAC;EACN;EACA;EACA,IAAInjE,wDAAM,EAAE;IACR;IACA25D,KAAK,CAAC6H,EAAE,GAAG,IAAI;EACnB;EACA;EACAhM,KAAK,CAAC8J,EAAE,CAACxhG,OAAO,CAAEslG,QAAQ,IAAK;IAC3B;IACA,IAAIvN,YAAY,EAAE;MACd,MAAMwN,UAAU,GAAG1sC,KAAK,CAACE,GAAG,CAAC,MAAMusC,QAAQ,CAAC;QACxCzJ,KAAK;QACL3+D,GAAG,EAAEw6D,KAAK,CAACh5D,EAAE;QACbg5D,KAAK;QACLx2F,OAAO,EAAE2iG;MACb,CAAC,CAAC,CAAC;MACHtiG,MAAM,CAACD,IAAI,CAACikG,UAAU,IAAI,CAAC,CAAC,CAAC,CAACvlG,OAAO,CAAE6F,GAAG,IAAKg2F,KAAK,CAACa,iBAAiB,CAACx3E,GAAG,CAACrf,GAAG,CAAC,CAAC;MAChF8I,MAAM,CAACktF,KAAK,EAAE0J,UAAU,CAAC;IAC7B,CAAC,MACI;MACD52F,MAAM,CAACktF,KAAK,EAAEhjC,KAAK,CAACE,GAAG,CAAC,MAAMusC,QAAQ,CAAC;QACnCzJ,KAAK;QACL3+D,GAAG,EAAEw6D,KAAK,CAACh5D,EAAE;QACbg5D,KAAK;QACLx2F,OAAO,EAAE2iG;MACb,CAAC,CAAC,CAAC,CAAC;IACR;EACJ,CAAC,CAAC;EACF,IAAK3lF,KAI6D,EAAE,EAInE;EACD;EACA,IAAIqlF,YAAY,IACZK,cAAc,IACd1iG,OAAO,CAAC+7B,OAAO,EAAE;IACjB/7B,OAAO,CAAC+7B,OAAO,CAAC4+D,KAAK,CAACW,MAAM,EAAE+G,YAAY,CAAC;EAC/C;EACAQ,WAAW,GAAG,IAAI;EAClBG,eAAe,GAAG,IAAI;EACtB,OAAOrI,KAAK;AAChB;AACA,SAAS2J,WAAWA;AACpB;AACAC,WAAW,EAAE1vE,KAAK,EAAE2vE,YAAY,EAAE;EAC9B,IAAIjrF,EAAE;EACN,IAAIvZ,OAAO;EACX,MAAMykG,YAAY,GAAG,OAAO5vE,KAAK,KAAK,UAAU;EAChD,IAAI,OAAO0vE,WAAW,KAAK,QAAQ,EAAE;IACjChrF,EAAE,GAAGgrF,WAAW;IAChB;IACAvkG,OAAO,GAAGykG,YAAY,GAAGD,YAAY,GAAG3vE,KAAK;EACjD,CAAC,MACI;IACD70B,OAAO,GAAGukG,WAAW;IACrBhrF,EAAE,GAAGgrF,WAAW,CAAChrF,EAAE;IACnB,IAAKyD,KAAgE,EAAE,EAEtE;EACL;EACA,SAASqkF,QAAQA,CAAC7K,KAAK,EAAEyK,GAAG,EAAE;IAC1B,MAAMyD,UAAU,GAAGv2C,wEAAmB,CAAC,CAAC;IACxCqoC,KAAK;IACD;IACA;IACA,CAAEx5E,MAAuE,GAAG,CAAI,GAAGw5E,KAAK,MACnFkO,UAAU,GAAG76C,2DAAM,CAAC6sC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,IAAIF,KAAK,EACLD,cAAc,CAACC,KAAK,CAAC;IACzB,IAAKx5E,KAAsD,EAAE,EAI5D;IACDw5E,KAAK,GAAGF,WAAW;IACnB,IAAI,CAACE,KAAK,CAACwE,EAAE,CAACpyF,GAAG,CAAC2Q,EAAE,CAAC,EAAE;MACnB;MACA,IAAIkrF,YAAY,EAAE;QACdhC,gBAAgB,CAAClpF,EAAE,EAAEsb,KAAK,EAAE70B,OAAO,EAAEw2F,KAAK,CAAC;MAC/C,CAAC,MACI;QACD4L,kBAAkB,CAAC7oF,EAAE,EAAEvZ,OAAO,EAAEw2F,KAAK,CAAC;MAC1C;MACA;MACA,IAAKx5E,KAAqC,EAAG,EAG5C;IACL;IACA,MAAM29E,KAAK,GAAGnE,KAAK,CAACwE,EAAE,CAACvyF,GAAG,CAAC8Q,EAAE,CAAC;IAC9B,IAAKyD,KAA6C,EAAE,EASnD;IACD,IAAKA,KAAmD,EAAE,EAWzD;IACD;IACA,OAAO29E,KAAK;EAChB;EACA0G,QAAQ,CAACxG,GAAG,GAAGthF,EAAE;EACjB,OAAO8nF,QAAQ;AACnB;AAEA,IAAIyD,cAAc,GAAG,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAACC,MAAM,CAAC;AAAA,EAChC;EACEF,cAAc,GAAGE,MAAM;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAAC,GAAG/G,MAAM,EAAE;EAC1B,IAAKlhF,KAAkE,EAAE,EAQxE;EACD,OAAOkhF,MAAM,CAACz1C,MAAM,CAAC,CAACy8C,OAAO,EAAE7D,QAAQ,KAAK;IACxC;IACA6D,OAAO,CAAC7D,QAAQ,CAACxG,GAAG,GAAGiK,cAAc,CAAC,GAAG,YAAY;MACjD,OAAOzD,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC;IAChC,CAAC;IACD,OAAO0E,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAAC9D,QAAQ,EAAE+D,YAAY,EAAE;EACtC,OAAOt9E,KAAK,CAACxiB,OAAO,CAAC8/F,YAAY,CAAC,GAC5BA,YAAY,CAAC38C,MAAM,CAAC,CAACy8C,OAAO,EAAEvgG,GAAG,KAAK;IACpCugG,OAAO,CAACvgG,GAAG,CAAC,GAAG,YAAY;MACvB,OAAO08F,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC77F,GAAG,CAAC;IACrC,CAAC;IACD,OAAOugG,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC,GACJ7kG,MAAM,CAACD,IAAI,CAACglG,YAAY,CAAC,CAAC38C,MAAM,CAAC,CAACy8C,OAAO,EAAEvgG,GAAG,KAAK;IACjD;IACAugG,OAAO,CAACvgG,GAAG,CAAC,GAAG,YAAY;MACvB,MAAMg2F,KAAK,GAAG0G,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC;MACnC,MAAM6E,QAAQ,GAAGD,YAAY,CAACzgG,GAAG,CAAC;MAClC;MACA;MACA,OAAO,OAAO0gG,QAAQ,KAAK,UAAU,GAC/BA,QAAQ,CAAC/+F,IAAI,CAAC,IAAI,EAAEq0F,KAAK,CAAC,GAC1BA,KAAK,CAAC0K,QAAQ,CAAC;IACzB,CAAC;IACD,OAAOH,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACd;AACA;AACA;AACA;AACA;AACA,MAAMI,UAAU,GAAGH,gDAAAA,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,UAAUA,CAAClE,QAAQ,EAAE+D,YAAY,EAAE;EACxC,OAAOt9E,KAAK,CAACxiB,OAAO,CAAC8/F,YAAY,CAAC,GAC5BA,YAAY,CAAC38C,MAAM,CAAC,CAACy8C,OAAO,EAAEvgG,GAAG,KAAK;IACpC;IACAugG,OAAO,CAACvgG,GAAG,CAAC,GAAG,UAAU,GAAG+c,IAAI,EAAE;MAC9B,OAAO2/E,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC77F,GAAG,CAAC,CAAC,GAAG+c,IAAI,CAAC;IAC9C,CAAC;IACD,OAAOwjF,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC,GACJ7kG,MAAM,CAACD,IAAI,CAACglG,YAAY,CAAC,CAAC38C,MAAM,CAAC,CAACy8C,OAAO,EAAEvgG,GAAG,KAAK;IACjD;IACAugG,OAAO,CAACvgG,GAAG,CAAC,GAAG,UAAU,GAAG+c,IAAI,EAAE;MAC9B,OAAO2/E,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC4E,YAAY,CAACzgG,GAAG,CAAC,CAAC,CAAC,GAAG+c,IAAI,CAAC;IAC5D,CAAC;IACD,OAAOwjF,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,gBAAgBA,CAACnE,QAAQ,EAAE+D,YAAY,EAAE;EAC9C,OAAOt9E,KAAK,CAACxiB,OAAO,CAAC8/F,YAAY,CAAC,GAC5BA,YAAY,CAAC38C,MAAM,CAAC,CAACy8C,OAAO,EAAEvgG,GAAG,KAAK;IACpC;IACAugG,OAAO,CAACvgG,GAAG,CAAC,GAAG;MACX8D,GAAGA,CAAA,EAAG;QACF,OAAO44F,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC77F,GAAG,CAAC;MACrC,CAAC;MACDiD,GAAGA,CAAClI,KAAK,EAAE;QACP;QACA,OAAQ2hG,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC77F,GAAG,CAAC,GAAGjF,KAAK;MAC9C;IACJ,CAAC;IACD,OAAOwlG,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC,GACJ7kG,MAAM,CAACD,IAAI,CAACglG,YAAY,CAAC,CAAC38C,MAAM,CAAC,CAACy8C,OAAO,EAAEvgG,GAAG,KAAK;IACjD;IACAugG,OAAO,CAACvgG,GAAG,CAAC,GAAG;MACX8D,GAAGA,CAAA,EAAG;QACF,OAAO44F,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC4E,YAAY,CAACzgG,GAAG,CAAC,CAAC;MACnD,CAAC;MACDiD,GAAGA,CAAClI,KAAK,EAAE;QACP;QACA,OAAQ2hG,QAAQ,CAAC,IAAI,CAACb,MAAM,CAAC,CAAC4E,YAAY,CAACzgG,GAAG,CAAC,CAAC,GAAGjF,KAAK;MAC5D;IACJ,CAAC;IACD,OAAOwlG,OAAO;EAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,WAAWA,CAAC9K,KAAK,EAAE;EACxB;EACA;EACA,IAAI35D,MAAM,EAAE;IACR;IACA,OAAO4D,MAAM,CAAC+1D,KAAK,CAAC;EACxB,CAAC,MACI;IACDA,KAAK,GAAG7/E,KAAK,CAAC6/E,KAAK,CAAC;IACpB,MAAMjkD,IAAI,GAAG,CAAC,CAAC;IACf,KAAK,MAAM/xC,GAAG,IAAIg2F,KAAK,EAAE;MACrB,MAAMj7F,KAAK,GAAGi7F,KAAK,CAACh2F,GAAG,CAAC;MACxB,IAAIi+B,KAAK,CAACljC,KAAK,CAAC,IAAIsjC,UAAU,CAACtjC,KAAK,CAAC,EAAE;QACnC;QACAg3C,IAAI,CAAC/xC,GAAG,CAAC;QACL;QACAggC,KAAK,CAACg2D,KAAK,EAAEh2F,GAAG,CAAC;MACzB;IACJ;IACA,OAAO+xC,IAAI;EACf;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMgvD,cAAc,GAAG,SAAAA,CAAUC,IAAI,EAAE;EACnC;EACA;EACAA,IAAI,CAACt4C,KAAK,CAAC;IACP/D,YAAYA,CAAA,EAAG;MACX,MAAMtpD,OAAO,GAAG,IAAI,CAACimD,QAAQ;MAC7B,IAAIjmD,OAAO,CAACw2F,KAAK,EAAE;QACf,MAAMA,KAAK,GAAGx2F,OAAO,CAACw2F,KAAK;QAC3B;QACA;QACA,IAAI,CAAC,IAAI,CAACoP,SAAS,EAAE;UACjB,MAAMC,YAAY,GAAG,CAAC,CAAC;UACvBxlG,MAAM,CAAC+G,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;YACrCqB,GAAG,EAAEA,CAAA,KAAMo9F,YAAY;YACvBj+F,GAAG,EAAGwiB,CAAC,IAAK/pB,MAAM,CAACoN,MAAM,CAACo4F,YAAY,EAAEz7E,CAAC;UAC7C,CAAC,CAAC;QACN;QACA,IAAI,CAACw7E,SAAS,CAAClP,WAAW,CAAC,GAAGF,KAAK;QACnC;QACA;QACA;QACA,IAAI,CAAC,IAAI,CAACgK,MAAM,EAAE;UACd,IAAI,CAACA,MAAM,GAAGhK,KAAK;QACvB;QACAA,KAAK,CAACh5D,EAAE,GAAG,IAAI;QACf,IAAIo5D,SAAS,EAAE;UACX;UACA;UACAL,cAAc,CAACC,KAAK,CAAC;QACzB;QACA,IAAIK,YAAY,EAAE;UACd2F,qBAAqB,CAAChG,KAAK,CAACh5D,EAAE,EAAEg5D,KAAK,CAAC;QAC1C;MACJ,CAAC,MACI,IAAI,CAAC,IAAI,CAACgK,MAAM,IAAIxgG,OAAO,CAAC2d,MAAM,IAAI3d,OAAO,CAAC2d,MAAM,CAAC6iF,MAAM,EAAE;QAC9D,IAAI,CAACA,MAAM,GAAGxgG,OAAO,CAAC2d,MAAM,CAAC6iF,MAAM;MACvC;IACJ,CAAC;IACDt2C,SAASA,CAAA,EAAG;MACR,OAAO,IAAI,CAAC0zC,QAAQ;IACxB;EACJ,CAAC,CAAC;AACN,CAAC;;;;;;;;;ACl9DY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,WAAW,mBAAO,CAAC,IAA4B;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,0BAA0B,mBAAO,CAAC,IAAoC;AACtE,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,gBAAgB;;AAEtB;;AAEA;;AAEA;AACA;AACA,MAAM,gBAAgB;AACtB;AACA,CAAC;;AAED;AACA;AACA,IAAI,8DAA8D;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS53D,OAAOA,CAACvgC,GAAG,EAAE;EACpB,MAAMF,GAAG,GAAG,eAAgBlF,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EAC/C,KAAK,MAAMhB,GAAG,IAAIc,GAAG,CAACoQ,KAAK,CAAC,GAAG,CAAC,EAAEtQ,GAAG,CAACZ,GAAG,CAAC,GAAG,CAAC;EAC9C,OAAQ0T,GAAG,IAAKA,GAAG,IAAI9S,GAAG;AAC5B;AAEA,MAAM2W,SAAS,GAAG,MAAyC,GAAG7b,CAAiB,GAAG,CAAC,CAAC;AACpF,MAAMylC,SAAS,GAAG,MAAyC,GAAGzlC,CAAiB,GAAG,EAAE;AACpF,MAAMmb,IAAI,GAAGA,CAAA,KAAM,CACnB,CAAC;AACD,MAAMqqB,EAAE,GAAGA,CAAA,KAAM,KAAK;AACtB,MAAM/pB,IAAI,GAAInX,GAAG,IAAKA,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;AAAI;AAC/E3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI3oB,GAAG,CAAC2oB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnD,MAAMvR,eAAe,GAAIpX,GAAG,IAAKA,GAAG,CAAC0lB,UAAU,CAAC,WAAW,CAAC;AAC5D,MAAM/O,MAAM,GAAGjb,MAAM,CAACoN,MAAM;AAC5B,MAAMqQ,MAAM,GAAGA,CAACnO,GAAG,EAAE0O,EAAE,KAAK;EAC1B,MAAMrf,CAAC,GAAG2Q,GAAG,CAACnJ,OAAO,CAAC6X,EAAE,CAAC;EACzB,IAAIrf,CAAC,GAAG,CAAC,CAAC,EAAE;IACV2Q,GAAG,CAACooB,MAAM,CAAC/4B,CAAC,EAAE,CAAC,CAAC;EAClB;AACF,CAAC;AACD,MAAMqqE,cAAc,GAAGhpE,MAAM,CAAC+J,SAAS,CAACi/D,cAAc;AACtD,MAAMptD,MAAM,GAAGA,CAAC5D,GAAG,EAAE1T,GAAG,KAAK0kE,cAAc,CAAC/iE,IAAI,CAAC+R,GAAG,EAAE1T,GAAG,CAAC;AAC1D,MAAMW,OAAO,GAAGwiB,KAAK,CAACxiB,OAAO;AAC7B,MAAMgkE,KAAK,GAAIjxD,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,cAAc;AAC3D,MAAMgE,KAAK,GAAIhE,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,cAAc;AAC3D,MAAMmxD,MAAM,GAAInxD,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,eAAe;AAC7D,MAAM5R,QAAQ,GAAI4R,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,iBAAiB;AACjE,MAAMhS,UAAU,GAAIgS,GAAG,IAAK,OAAOA,GAAG,KAAK,UAAU;AACrD,MAAM9R,QAAQ,GAAI8R,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAMuD,QAAQ,GAAIvD,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ;AACjD,MAAM9H,QAAQ,GAAI8H,GAAG,IAAKA,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ;AACjE,MAAM0sB,SAAS,GAAI1sB,GAAG,IAAK;EACzB,OAAO,CAAC9H,QAAQ,CAAC8H,GAAG,CAAC,IAAIhS,UAAU,CAACgS,GAAG,CAAC,KAAKhS,UAAU,CAACgS,GAAG,CAACoU,IAAI,CAAC,IAAIpmB,UAAU,CAACgS,GAAG,CAAC4vB,KAAK,CAAC;AAC5F,CAAC;AACD,MAAMwhC,cAAc,GAAGppE,MAAM,CAAC+J,SAAS,CAACT,QAAQ;AAChD,MAAM4/D,YAAY,GAAI7pE,KAAK,IAAK+pE,cAAc,CAACnjE,IAAI,CAAC5G,KAAK,CAAC;AAC1D,MAAMqmC,SAAS,GAAIrmC,KAAK,IAAK;EAC3B,OAAO6pE,YAAY,CAAC7pE,KAAK,CAAC,CAAC8K,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,MAAMhC,aAAa,GAAI6P,GAAG,IAAKkxD,YAAY,CAAClxD,GAAG,CAAC,KAAK,iBAAiB;AACtE,MAAMqxD,YAAY,GAAI/kE,GAAG,IAAK4B,QAAQ,CAAC5B,GAAG,CAAC,IAAIA,GAAG,KAAK,KAAK,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG08C,QAAQ,CAAC18C,GAAG,EAAE,EAAE,CAAC,KAAKA,GAAG;AAChH,MAAMugC,cAAc,GAAG,eAAgBc,gDAAAA,OAAO;AAC5C;AACA,qIACF,CAAC;AACD,MAAMf,kBAAkB,GAAG,eAAgBe,gDAAAA,OAAO,CAChD,2EACF,CAAC;AACD,MAAM2jC,mBAAmB,GAAInwD,EAAE,IAAK;EAClC,MAAMqhB,KAAK,GAAG,eAAgBx6B,MAAM,CAACsF,MAAM,CAAC,IAAI,CAAC;EACjD,OAAQF,GAAG,IAAK;IACd,MAAMmkE,GAAG,GAAG/uC,KAAK,CAACp1B,GAAG,CAAC;IACtB,OAAOmkE,GAAG,KAAK/uC,KAAK,CAACp1B,GAAG,CAAC,GAAG+T,EAAE,CAAC/T,GAAG,CAAC,CAAC;EACtC,CAAC;AACH,CAAC;AACD,MAAMokE,UAAU,GAAG,QAAQ;AAC3B,MAAMvvD,QAAQ,GAAGqvD,mBAAmB,CACjClkE,GAAG,IAAK;EACP,OAAOA,GAAG,CAACkB,OAAO,CAACkjE,UAAU,EAAE,CAACtyC,CAAC,EAAEzT,CAAC,KAAKA,CAAC,GAAGA,CAAC,CAAChd,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;AACpE,CACF,CAAC;AACD,MAAMgjE,WAAW,GAAG,YAAY;AAChC,MAAMruD,SAAS,GAAGkuD,mBAAmB,CAClClkE,GAAG,IAAKA,GAAG,CAACkB,OAAO,CAACmjE,WAAW,EAAE,KAAK,CAAC,CAAC1kE,WAAW,CAAC,CACvD,CAAC;AACD,MAAMsW,UAAU,GAAGiuD,mBAAmB,CAAElkE,GAAG,IAAK;EAC9C,OAAOA,GAAG,CAACuJ,MAAM,CAAC,CAAC,CAAC,CAAClI,WAAW,CAAC,CAAC,GAAGrB,GAAG,CAAC+E,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AACF,MAAMm7B,YAAY,GAAGgkC,mBAAmB,CACrClkE,GAAG,IAAK;EACP,MAAMugB,CAAC,GAAGvgB,GAAG,GAAG,KAAKiW,UAAU,CAACjW,GAAG,CAAC,EAAE,GAAG,EAAE;EAC3C,OAAOugB,CAAC;AACV,CACF,CAAC;AACD,MAAMigB,UAAU,GAAGA,CAACvmC,KAAK,EAAEynB,QAAQ,KAAK,CAAC9mB,MAAM,CAAC8d,EAAE,CAACze,KAAK,EAAEynB,QAAQ,CAAC;AACnE,MAAM5K,cAAc,GAAGA,CAACwtD,GAAG,EAAE,GAAG19B,GAAG,KAAK;EACtC,KAAK,IAAIrtC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+qE,GAAG,CAACzpE,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACnC+qE,GAAG,CAAC/qE,CAAC,CAAC,CAAC,GAAGqtC,GAAG,CAAC;EAChB;AACF,CAAC;AACD,MAAMje,GAAG,GAAGA,CAACpnB,GAAG,EAAErC,GAAG,EAAEjF,KAAK,EAAE+8B,QAAQ,GAAG,KAAK,KAAK;EACjDp8B,MAAM,CAAC+G,cAAc,CAACJ,GAAG,EAAErC,GAAG,EAAE;IAC9B6C,YAAY,EAAE,IAAI;IAClBovC,UAAU,EAAE,KAAK;IACjBna,QAAQ;IACR/8B;EACF,CAAC,CAAC;AACJ,CAAC;AACD,MAAMyc,aAAa,GAAI9D,GAAG,IAAK;EAC7B,MAAMsL,CAAC,GAAGqmD,UAAU,CAAC3xD,GAAG,CAAC;EACzB,OAAOumB,KAAK,CAACjb,CAAC,CAAC,GAAGtL,GAAG,GAAGsL,CAAC;AAC3B,CAAC;AACD,MAAMpI,QAAQ,GAAIlD,GAAG,IAAK;EACxB,MAAMsL,CAAC,GAAGpd,QAAQ,CAAC8R,GAAG,CAAC,GAAGlI,MAAM,CAACkI,GAAG,CAAC,GAAGimB,GAAG;EAC3C,OAAOM,KAAK,CAACjb,CAAC,CAAC,GAAGtL,GAAG,GAAGsL,CAAC;AAC3B,CAAC;AACD,IAAIsmD,WAAW;AACf,MAAMjlC,aAAa,GAAGA,CAAA,KAAM;EAC1B,OAAOilC,WAAW,KAAKA,WAAW,GAAG,OAAOvsC,UAAU,KAAK,WAAW,GAAGA,UAAU,GAAG,OAAO31B,IAAI,KAAK,WAAW,GAAGA,IAAI,GAAG,OAAOkH,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAG,OAAOi7D,qBAAM,KAAK,WAAW,GAAGA,qBAAM,GAAG,CAAC,CAAC,CAAC;AAClN,CAAC;AACD,MAAMC,OAAO,GAAG,kDAAkD;AAClE,SAASC,iBAAiBA,CAAC56D,IAAI,EAAE;EAC/B,OAAO26D,OAAO,CAACnkE,IAAI,CAACwJ,IAAI,CAAC,GAAG,WAAWA,IAAI,EAAE,GAAG,WAAWswB,IAAI,CAACM,SAAS,CAAC5wB,IAAI,CAAC,GAAG;AACpF;AACA,SAAS66D,WAAWA,CAACp/D,MAAM,EAAEjL,OAAO,EAAE;EACpC,OAAOiL,MAAM,GAAG60B,IAAI,CAACM,SAAS,CAC5BpgC,OAAO,EACP,CAACu3B,CAAC,EAAElf,GAAG,KAAK,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAAC1O,QAAQ,CAAC,CAAC,GAAG0O,GAC3D,CAAC;AACH;AAEA,MAAMiyD,UAAU,GAAG;EACjB,MAAM,EAAE,CAAC;EACT,GAAG,EAAE,MAAM;EACX,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,OAAO;EACZ,YAAY,EAAE,EAAE;EAChB,IAAI,EAAE,YAAY;EAClB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,iBAAiB,EAAE,EAAE;EACrB,IAAI,EAAE,iBAAiB;EACvB,gBAAgB,EAAE,GAAG;EACrB,KAAK,EAAE,gBAAgB;EACvB,kBAAkB,EAAE,GAAG;EACvB,KAAK,EAAE,kBAAkB;EACzB,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,YAAY;EACnB,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,eAAe;EACvB,mBAAmB,EAAE,IAAI;EACzB,MAAM,EAAE,mBAAmB;EAC3B,QAAQ,EAAE,CAAC,CAAC;EACZ,IAAI,EAAE,QAAQ;EACd,MAAM,EAAE,CAAC,CAAC;EACV,IAAI,EAAE;AACR,CAAC;AACD,MAAMC,cAAc,GAAG;EACrB,CAAC,CAAC,GAAG,MAAM;EACX,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,CAAC,GAAG,OAAO;EACZ,CAAC,EAAE,GAAG,YAAY;EAClB,CAAC,EAAE,GAAG,gBAAgB;EACtB,CAAC,EAAE,GAAG,iBAAiB;EACvB,CAAC,GAAG,GAAG,gBAAgB;EACvB,CAAC,GAAG,GAAG,kBAAkB;EACzB,CAAC,GAAG,GAAG,YAAY;EACnB,CAAC,IAAI,GAAG,eAAe;EACvB,CAAC,IAAI,GAAG,mBAAmB;EAC3B,CAAC,CAAC,CAAC,GAAG,SAAS;EACf,CAAC,CAAC,CAAC,GAAG;AACR,CAAC;AAED,MAAMC,UAAU,GAAG;EACjB,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,sBAAsB,EAAE,CAAC;EACzB,GAAG,EAAE,sBAAsB;EAC3B,oBAAoB,EAAE,CAAC;EACvB,GAAG,EAAE,oBAAoB;EACzB,eAAe,EAAE,CAAC;EAClB,GAAG,EAAE,eAAe;EACpB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,gBAAgB,EAAE,EAAE;EACpB,IAAI,EAAE,gBAAgB;EACtB,UAAU,EAAE,EAAE;EACd,IAAI,EAAE,UAAU;EAChB,UAAU,EAAE,GAAG;EACf,KAAK,EAAE,UAAU;EACjB,6BAA6B,EAAE,GAAG;EAClC,KAAK,EAAE,6BAA6B;EACpC,sBAAsB,EAAE,GAAG;EAC3B,KAAK,EAAE,sBAAsB;EAC7B,WAAW,EAAE,CAAC;EACd,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,SAAS,GAAG;EAChB,QAAQ,EAAE,CAAC;EACX,GAAG,EAAE,QAAQ;EACb,SAAS,EAAE,CAAC;EACZ,GAAG,EAAE,SAAS;EACd,WAAW,EAAE,CAAC;EACd,GAAG,EAAE;AACP,CAAC;AACD,MAAMC,aAAa,GAAG;EACpB,CAAC,CAAC,GAAG,QAAQ;EACb,CAAC,CAAC,GAAG,SAAS;EACd,CAAC,CAAC,GAAG;AACP,CAAC;AAED,MAAMC,eAAe,GAAG,uNAAuN;AAC/O,MAAM/kC,iBAAiB,GAAG,eAAgBI,gDAAAA,OAAO,CAAC2kC,eAAe,CAAC;AAClE,MAAMC,qBAAqB,GAAGhlC,gDAAAA,iBAAiB;AAE/C,MAAMilC,KAAK,GAAG,CAAC;AACf,SAASC,iBAAiBA,CAAC7/D,MAAM,EAAEsU,KAAK,GAAG,CAAC,EAAEC,GAAG,GAAGvU,MAAM,CAAC3K,MAAM,EAAE;EACjEif,KAAK,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACqzC,GAAG,CAACx5C,KAAK,EAAEtU,MAAM,CAAC3K,MAAM,CAAC,CAAC;EACnDkf,GAAG,GAAGkG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACqzC,GAAG,CAACv5C,GAAG,EAAEvU,MAAM,CAAC3K,MAAM,CAAC,CAAC;EAC/C,IAAIif,KAAK,GAAGC,GAAG,EAAE,OAAO,EAAE;EAC1B,IAAIurD,KAAK,GAAG9/D,MAAM,CAAC4K,KAAK,CAAC,SAAS,CAAC;EACnC,MAAMm1D,gBAAgB,GAAGD,KAAK,CAAC5kE,MAAM,CAAC,CAACoxB,CAAC,EAAE0zC,GAAG,KAAKA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;EAChEF,KAAK,GAAGA,KAAK,CAAC5kE,MAAM,CAAC,CAACoxB,CAAC,EAAE0zC,GAAG,KAAKA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;EAC/C,IAAIxgC,KAAK,GAAG,CAAC;EACb,MAAM7mB,GAAG,GAAG,EAAE;EACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+rE,KAAK,CAACzqE,MAAM,EAAEtB,CAAC,EAAE,EAAE;IACrCyrC,KAAK,IAAIsgC,KAAK,CAAC/rE,CAAC,CAAC,CAACsB,MAAM,IAAI0qE,gBAAgB,CAAChsE,CAAC,CAAC,IAAIgsE,gBAAgB,CAAChsE,CAAC,CAAC,CAACsB,MAAM,IAAI,CAAC,CAAC;IACnF,IAAImqC,KAAK,IAAIlrB,KAAK,EAAE;MAClB,KAAK,IAAI8kC,CAAC,GAAGrlD,CAAC,GAAG6rE,KAAK,EAAExmB,CAAC,IAAIrlD,CAAC,GAAG6rE,KAAK,IAAIrrD,GAAG,GAAGirB,KAAK,EAAE4Z,CAAC,EAAE,EAAE;QAC1D,IAAIA,CAAC,GAAG,CAAC,IAAIA,CAAC,IAAI0mB,KAAK,CAACzqE,MAAM,EAAE;QAChC,MAAM68B,IAAI,GAAGknB,CAAC,GAAG,CAAC;QAClBzgC,GAAG,CAAC5Q,IAAI,CACN,GAAGmqB,IAAI,GAAG,GAAG,CAAC+tC,MAAM,CAACxlD,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGzgB,MAAM,CAACi4B,IAAI,CAAC,CAAC78B,MAAM,EAAE,CAAC,CAAC,CAAC,MAAMyqE,KAAK,CAAC1mB,CAAC,CAAC,EAC1E,CAAC;QACD,MAAM8mB,UAAU,GAAGJ,KAAK,CAAC1mB,CAAC,CAAC,CAAC/jD,MAAM;QAClC,MAAM8qE,gBAAgB,GAAGJ,gBAAgB,CAAC3mB,CAAC,CAAC,IAAI2mB,gBAAgB,CAAC3mB,CAAC,CAAC,CAAC/jD,MAAM,IAAI,CAAC;QAC/E,IAAI+jD,CAAC,KAAKrlD,CAAC,EAAE;UACX,MAAMqsE,GAAG,GAAG9rD,KAAK,IAAIkrB,KAAK,IAAI0gC,UAAU,GAAGC,gBAAgB,CAAC,CAAC;UAC7D,MAAM9qE,MAAM,GAAGolB,IAAI,CAACC,GAAG,CACrB,CAAC,EACDnG,GAAG,GAAGirB,KAAK,GAAG0gC,UAAU,GAAGE,GAAG,GAAG7rD,GAAG,GAAGD,KACzC,CAAC;UACDqE,GAAG,CAAC5Q,IAAI,CAAC,QAAQ,GAAG,GAAG,CAACk4D,MAAM,CAACG,GAAG,CAAC,GAAG,GAAG,CAACH,MAAM,CAAC5qE,MAAM,CAAC,CAAC;QAC3D,CAAC,MAAM,IAAI+jD,CAAC,GAAGrlD,CAAC,EAAE;UAChB,IAAIwgB,GAAG,GAAGirB,KAAK,EAAE;YACf,MAAMnqC,MAAM,GAAGolB,IAAI,CAACC,GAAG,CAACD,IAAI,CAACqzC,GAAG,CAACv5C,GAAG,GAAGirB,KAAK,EAAE0gC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC7DvnD,GAAG,CAAC5Q,IAAI,CAAC,QAAQ,GAAG,GAAG,CAACk4D,MAAM,CAAC5qE,MAAM,CAAC,CAAC;UACzC;UACAmqC,KAAK,IAAI0gC,UAAU,GAAGC,gBAAgB;QACxC;MACF;MACA;IACF;EACF;EACA,OAAOxnD,GAAG,CAACna,IAAI,CAAC,IAAI,CAAC;AACvB;AAEA,SAAS47B,cAAcA,CAAC3lC,KAAK,EAAE;EAC7B,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IAClB,MAAMkkB,GAAG,GAAG,CAAC,CAAC;IACd,KAAK,IAAI5kB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC,MAAMugC,IAAI,GAAG7/B,KAAK,CAACV,CAAC,CAAC;MACrB,MAAMoK,UAAU,GAAG7C,QAAQ,CAACg5B,IAAI,CAAC,GAAG+rC,gBAAgB,CAAC/rC,IAAI,CAAC,GAAG8F,cAAc,CAAC9F,IAAI,CAAC;MACjF,IAAIn2B,UAAU,EAAE;QACd,KAAK,MAAMzE,GAAG,IAAIyE,UAAU,EAAE;UAC5Bwa,GAAG,CAACjf,GAAG,CAAC,GAAGyE,UAAU,CAACzE,GAAG,CAAC;QAC5B;MACF;IACF;IACA,OAAOif,GAAG;EACZ,CAAC,MAAM,IAAIrd,QAAQ,CAAC7G,KAAK,CAAC,IAAI6Q,QAAQ,CAAC7Q,KAAK,CAAC,EAAE;IAC7C,OAAOA,KAAK;EACd;AACF;AACA,MAAM6rE,eAAe,GAAG,eAAe;AACvC,MAAMC,mBAAmB,GAAG,SAAS;AACrC,MAAMC,cAAc,GAAG,gBAAgB;AACvC,SAASH,gBAAgBA,CAAC/hD,OAAO,EAAE;EACjC,MAAMysB,GAAG,GAAG,CAAC,CAAC;EACdzsB,OAAO,CAAC5iB,OAAO,CAAC8kE,cAAc,EAAE,EAAE,CAAC,CAAC51D,KAAK,CAAC01D,eAAe,CAAC,CAACzsE,OAAO,CAAEygC,IAAI,IAAK;IAC3E,IAAIA,IAAI,EAAE;MACR,MAAMmsC,GAAG,GAAGnsC,IAAI,CAAC1pB,KAAK,CAAC21D,mBAAmB,CAAC;MAC3CE,GAAG,CAACprE,MAAM,GAAG,CAAC,KAAK01C,GAAG,CAAC01B,GAAG,CAAC,CAAC,CAAC,CAACvmE,IAAI,CAAC,CAAC,CAAC,GAAGumE,GAAG,CAAC,CAAC,CAAC,CAACvmE,IAAI,CAAC,CAAC,CAAC;IACxD;EACF,CAAC,CAAC;EACF,OAAO6wC,GAAG;AACZ;AACA,SAAS5Q,cAAcA,CAACpgB,MAAM,EAAE;EAC9B,IAAI,CAACA,MAAM,EAAE,OAAO,EAAE;EACtB,IAAIze,QAAQ,CAACye,MAAM,CAAC,EAAE,OAAOA,MAAM;EACnC,IAAIgxB,GAAG,GAAG,EAAE;EACZ,KAAK,MAAMrxC,GAAG,IAAIqgB,MAAM,EAAE;IACxB,MAAMtlB,KAAK,GAAGslB,MAAM,CAACrgB,GAAG,CAAC;IACzB,IAAI4B,QAAQ,CAAC7G,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAChD,MAAM0wD,aAAa,GAAGzrD,GAAG,CAAC0lB,UAAU,CAAC,IAAI,CAAC,GAAG1lB,GAAG,GAAG8W,SAAS,CAAC9W,GAAG,CAAC;MACjEqxC,GAAG,IAAI,GAAGoa,aAAa,IAAI1wD,KAAK,GAAG;IACrC;EACF;EACA,OAAOs2C,GAAG;AACZ;AACA,SAAS7Q,cAAcA,CAACzlC,KAAK,EAAE;EAC7B,IAAIkkB,GAAG,GAAG,EAAE;EACZ,IAAIrd,QAAQ,CAAC7G,KAAK,CAAC,EAAE;IACnBkkB,GAAG,GAAGlkB,KAAK;EACb,CAAC,MAAM,IAAI4F,OAAO,CAAC5F,KAAK,CAAC,EAAE;IACzB,KAAK,IAAIV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACY,MAAM,EAAEtB,CAAC,EAAE,EAAE;MACrC,MAAMoK,UAAU,GAAG+7B,cAAc,CAACzlC,KAAK,CAACV,CAAC,CAAC,CAAC;MAC3C,IAAIoK,UAAU,EAAE;QACdwa,GAAG,IAAIxa,UAAU,GAAG,GAAG;MACzB;IACF;EACF,CAAC,MAAM,IAAImH,QAAQ,CAAC7Q,KAAK,CAAC,EAAE;IAC1B,KAAK,MAAM8P,IAAI,IAAI9P,KAAK,EAAE;MACxB,IAAIA,KAAK,CAAC8P,IAAI,CAAC,EAAE;QACfoU,GAAG,IAAIpU,IAAI,GAAG,GAAG;MACnB;IACF;EACF;EACA,OAAOoU,GAAG,CAACze,IAAI,CAAC,CAAC;AACnB;AACA,SAAS+gC,cAAcA,CAAC9nB,KAAK,EAAE;EAC7B,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EACvB,IAAI;IAAEw3C,KAAK,EAAE2N,KAAK;IAAE18C;EAAM,CAAC,GAAGzI,KAAK;EACnC,IAAImlD,KAAK,IAAI,CAACh9D,QAAQ,CAACg9D,KAAK,CAAC,EAAE;IAC7BnlD,KAAK,CAACw3C,KAAK,GAAGzwB,cAAc,CAACo+B,KAAK,CAAC;EACrC;EACA,IAAI18C,KAAK,EAAE;IACTzI,KAAK,CAACyI,KAAK,GAAGwe,cAAc,CAACxe,KAAK,CAAC;EACrC;EACA,OAAOzI,KAAK;AACd;AAEA,MAAMutD,SAAS,GAAG,glBAAglB;AAClmB,MAAMC,QAAQ,GAAG,mpBAAmpB;AACpqB,MAAMC,SAAS,GAAG,oVAAoV;AACtW,MAAMC,SAAS,GAAG,sEAAsE;AACxF,MAAMtvD,SAAS,GAAG,eAAgBwpB,gDAAAA,OAAO,CAAC2lC,SAAS,CAAC;AACpD,MAAMlvD,QAAQ,GAAG,eAAgBupB,gDAAAA,OAAO,CAAC4lC,QAAQ,CAAC;AAClD,MAAMlvD,WAAW,GAAG,eAAgBspB,gDAAAA,OAAO,CAAC6lC,SAAS,CAAC;AACtD,MAAME,SAAS,GAAG,eAAgB/lC,gDAAAA,OAAO,CAAC8lC,SAAS,CAAC;AAEpD,MAAME,mBAAmB,GAAG,6EAA6E;AACzG,MAAMnwD,oBAAoB,GAAG,eAAgBmqB,gDAAAA,OAAO,CAACgmC,mBAAmB,CAAC;AACzE,MAAMzmC,aAAa,GAAG,eAAgBS,OAAO,CAC3CgmC,mBAAmB,GAAG,oJACxB,CAAC;AACD,SAASrwD,kBAAkBA,CAACjc,KAAK,EAAE;EACjC,OAAO,CAAC,CAACA,KAAK,IAAIA,KAAK,KAAK,EAAE;AAChC;AACA,MAAMusE,gBAAgB,GAAG,iCAAiC;AAC1D,MAAMC,mBAAmB,GAAG,CAAC,CAAC;AAC9B,SAASC,iBAAiBA,CAAC38D,IAAI,EAAE;EAC/B,IAAI08D,mBAAmB,CAAC7C,cAAc,CAAC75D,IAAI,CAAC,EAAE;IAC5C,OAAO08D,mBAAmB,CAAC18D,IAAI,CAAC;EAClC;EACA,MAAM48D,QAAQ,GAAGH,gBAAgB,CAACjmE,IAAI,CAACwJ,IAAI,CAAC;EAC5C,IAAI48D,QAAQ,EAAE;IACZvsE,OAAO,CAAC4R,KAAK,CAAC,0BAA0BjC,IAAI,EAAE,CAAC;EACjD;EACA,OAAO08D,mBAAmB,CAAC18D,IAAI,CAAC,GAAG,CAAC48D,QAAQ;AAC9C;AACA,MAAMC,cAAc,GAAG;EACrBC,aAAa,EAAE,gBAAgB;EAC/B/lD,SAAS,EAAE,OAAO;EAClBgmD,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE;AACb,CAAC;AACD,MAAMhnC,eAAe,GAAG,eAAgBQ,gDAAAA,OAAO,CAC7C,w+BACF,CAAC;AACD,MAAMV,cAAc,GAAG,eAAgBU,gDAAAA,OAAO,CAC5C,koFACF,CAAC;AACD,MAAMymC,iBAAiB,GAAG,eAAgBzmC,gDAAAA,OAAO,CAC/C,myBACF,CAAC;AACD,SAASP,qBAAqBA,CAAC/lC,KAAK,EAAE;EACpC,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,KAAK;EACd;EACA,MAAMX,IAAI,GAAG,OAAOW,KAAK;EACzB,OAAOX,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,SAAS;AACrE;AAEA,MAAM2tE,QAAQ,GAAG,SAAS;AAC1B,SAASC,UAAUA,CAACC,MAAM,EAAE;EAC1B,MAAMnnE,GAAG,GAAG,EAAE,GAAGmnE,MAAM;EACvB,MAAM/mE,KAAK,GAAG6mE,QAAQ,CAAC5mE,IAAI,CAACL,GAAG,CAAC;EAChC,IAAI,CAACI,KAAK,EAAE;IACV,OAAOJ,GAAG;EACZ;EACA,IAAIonE,IAAI,GAAG,EAAE;EACb,IAAIC,OAAO;EACX,IAAI78D,KAAK;EACT,IAAIuxC,SAAS,GAAG,CAAC;EACjB,KAAKvxC,KAAK,GAAGpK,KAAK,CAACoK,KAAK,EAAEA,KAAK,GAAGxK,GAAG,CAACnF,MAAM,EAAE2P,KAAK,EAAE,EAAE;IACrD,QAAQxK,GAAG,CAAC6nB,UAAU,CAACrd,KAAK,CAAC;MAC3B,KAAK,EAAE;QACL68D,OAAO,GAAG,QAAQ;QAClB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,OAAO;QACjB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,OAAO;QACjB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,MAAM;QAChB;MACF,KAAK,EAAE;QACLA,OAAO,GAAG,MAAM;QAChB;MACF;QACE;IACJ;IACA,IAAItrB,SAAS,KAAKvxC,KAAK,EAAE;MACvB48D,IAAI,IAAIpnE,GAAG,CAAC+E,KAAK,CAACg3C,SAAS,EAAEvxC,KAAK,CAAC;IACrC;IACAuxC,SAAS,GAAGvxC,KAAK,GAAG,CAAC;IACrB48D,IAAI,IAAIC,OAAO;EACjB;EACA,OAAOtrB,SAAS,KAAKvxC,KAAK,GAAG48D,IAAI,GAAGpnE,GAAG,CAAC+E,KAAK,CAACg3C,SAAS,EAAEvxC,KAAK,CAAC,GAAG48D,IAAI;AACxE;AACA,MAAME,cAAc,GAAG,0BAA0B;AACjD,SAASC,iBAAiBA,CAACC,GAAG,EAAE;EAC9B,OAAOA,GAAG,CAACtmE,OAAO,CAAComE,cAAc,EAAE,EAAE,CAAC;AACxC;AACA,MAAMG,yBAAyB,GAAG,sCAAsC;AACxE,SAASxnC,oBAAoBA,CAAC/gC,GAAG,EAAEwoE,YAAY,EAAE;EAC/C,OAAOxoE,GAAG,CAACgC,OAAO,CAChBumE,yBAAyB,EACxBlnD,CAAC,IAAKmnD,YAAY,GAAGnnD,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,OAAOA,CAAC,EAAE,GAAG,KAAKA,CAAC,EACnE,CAAC;AACH;AAEA,SAASonD,kBAAkBA,CAAC/hE,CAAC,EAAEC,CAAC,EAAE;EAChC,IAAID,CAAC,CAAC/K,MAAM,KAAKgL,CAAC,CAAChL,MAAM,EAAE,OAAO,KAAK;EACvC,IAAI+sE,KAAK,GAAG,IAAI;EAChB,KAAK,IAAIruE,CAAC,GAAG,CAAC,EAAEquE,KAAK,IAAIruE,CAAC,GAAGqM,CAAC,CAAC/K,MAAM,EAAEtB,CAAC,EAAE,EAAE;IAC1CquE,KAAK,GAAG/wD,UAAU,CAACjR,CAAC,CAACrM,CAAC,CAAC,EAAEsM,CAAC,CAACtM,CAAC,CAAC,CAAC;EAChC;EACA,OAAOquE,KAAK;AACd;AACA,SAAS/wD,UAAUA,CAACjR,CAAC,EAAEC,CAAC,EAAE;EACxB,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAIgiE,UAAU,GAAG9D,MAAM,CAACn+D,CAAC,CAAC;EAC1B,IAAIkiE,UAAU,GAAG/D,MAAM,CAACl+D,CAAC,CAAC;EAC1B,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOD,UAAU,IAAIC,UAAU,GAAGliE,CAAC,CAACmiE,OAAO,CAAC,CAAC,KAAKliE,CAAC,CAACkiE,OAAO,CAAC,CAAC,GAAG,KAAK;EACvE;EACAF,UAAU,GAAG1xD,QAAQ,CAACvQ,CAAC,CAAC;EACxBkiE,UAAU,GAAG3xD,QAAQ,CAACtQ,CAAC,CAAC;EACxB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOliE,CAAC,KAAKC,CAAC;EAChB;EACAgiE,UAAU,GAAGhoE,OAAO,CAAC+F,CAAC,CAAC;EACvBkiE,UAAU,GAAGjoE,OAAO,CAACgG,CAAC,CAAC;EACvB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,OAAOD,UAAU,IAAIC,UAAU,GAAGH,kBAAkB,CAAC/hE,CAAC,EAAEC,CAAC,CAAC,GAAG,KAAK;EACpE;EACAgiE,UAAU,GAAG/8D,QAAQ,CAAClF,CAAC,CAAC;EACxBkiE,UAAU,GAAGh9D,QAAQ,CAACjF,CAAC,CAAC;EACxB,IAAIgiE,UAAU,IAAIC,UAAU,EAAE;IAC5B,IAAI,CAACD,UAAU,IAAI,CAACC,UAAU,EAAE;MAC9B,OAAO,KAAK;IACd;IACA,MAAME,UAAU,GAAGptE,MAAM,CAACD,IAAI,CAACiL,CAAC,CAAC,CAAC/K,MAAM;IACxC,MAAMotE,UAAU,GAAGrtE,MAAM,CAACD,IAAI,CAACkL,CAAC,CAAC,CAAChL,MAAM;IACxC,IAAImtE,UAAU,KAAKC,UAAU,EAAE;MAC7B,OAAO,KAAK;IACd;IACA,KAAK,MAAM/oE,GAAG,IAAI0G,CAAC,EAAE;MACnB,MAAMsiE,OAAO,GAAGtiE,CAAC,CAACg+D,cAAc,CAAC1kE,GAAG,CAAC;MACrC,MAAMipE,OAAO,GAAGtiE,CAAC,CAAC+9D,cAAc,CAAC1kE,GAAG,CAAC;MACrC,IAAIgpE,OAAO,IAAI,CAACC,OAAO,IAAI,CAACD,OAAO,IAAIC,OAAO,IAAI,CAACtxD,UAAU,CAACjR,CAAC,CAAC1G,GAAG,CAAC,EAAE2G,CAAC,CAAC3G,GAAG,CAAC,CAAC,EAAE;QAC7E,OAAO,KAAK;MACd;IACF;EACF;EACA,OAAOO,MAAM,CAACmG,CAAC,CAAC,KAAKnG,MAAM,CAACoG,CAAC,CAAC;AAChC;AACA,SAAS8Q,YAAYA,CAACzM,GAAG,EAAE0I,GAAG,EAAE;EAC9B,OAAO1I,GAAG,CAACk+D,SAAS,CAAEtuC,IAAI,IAAKjjB,UAAU,CAACijB,IAAI,EAAElnB,GAAG,CAAC,CAAC;AACvD;AAEA,MAAMuqB,KAAK,GAAIvqB,GAAG,IAAK;EACrB,OAAO,CAAC,EAAEA,GAAG,IAAIA,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AACD,MAAM8tB,eAAe,GAAI9tB,GAAG,IAAK;EAC/B,OAAO9R,QAAQ,CAAC8R,GAAG,CAAC,GAAGA,GAAG,GAAGA,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG/S,OAAO,CAAC+S,GAAG,CAAC,IAAI9H,QAAQ,CAAC8H,GAAG,CAAC,KAAKA,GAAG,CAAC1O,QAAQ,KAAK8/D,cAAc,IAAI,CAACpjE,UAAU,CAACgS,GAAG,CAAC1O,QAAQ,CAAC,CAAC,GAAGi5B,KAAK,CAACvqB,GAAG,CAAC,GAAG8tB,eAAe,CAAC9tB,GAAG,CAAC3Y,KAAK,CAAC,GAAGogC,IAAI,CAACM,SAAS,CAAC/nB,GAAG,EAAEy1D,QAAQ,EAAE,CAAC,CAAC,GAAG5oE,MAAM,CAACmT,GAAG,CAAC;AAC5O,CAAC;AACD,MAAMy1D,QAAQ,GAAGA,CAACC,IAAI,EAAE11D,GAAG,KAAK;EAC9B,IAAIuqB,KAAK,CAACvqB,GAAG,CAAC,EAAE;IACd,OAAOy1D,QAAQ,CAACC,IAAI,EAAE11D,GAAG,CAAC3Y,KAAK,CAAC;EAClC,CAAC,MAAM,IAAI4pE,KAAK,CAACjxD,GAAG,CAAC,EAAE;IACrB,OAAO;MACL,CAAC,OAAOA,GAAG,CAAC8L,IAAI,GAAG,GAAG,CAAC,GAAG9L,GAAG,CAAC3T,OAAO,CAAC,CAAC,CAAC,CAAC+jD,MAAM,CAC7C,CAAC/jD,OAAO,EAAE,CAACC,GAAG,EAAEqpE,IAAI,CAAC,EAAEhvE,CAAC,KAAK;QAC3B0F,OAAO,CAACupE,eAAe,CAACtpE,GAAG,EAAE3F,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGgvE,IAAI;QAC/C,OAAOtpE,OAAO;MAChB,CAAC,EACD,CAAC,CACH;IACF,CAAC;EACH,CAAC,MAAM,IAAI2X,KAAK,CAAChE,GAAG,CAAC,EAAE;IACrB,OAAO;MACL,CAAC,OAAOA,GAAG,CAAC8L,IAAI,GAAG,GAAG,CAAC,GAAG9L,GAAG,CAAC6vB,MAAM,CAAC,CAAC,CAAC,CAAC3iC,GAAG,CAAE6kB,CAAC,IAAK6jD,eAAe,CAAC7jD,CAAC,CAAC;IACvE,CAAC;EACH,CAAC,MAAM,IAAIxO,QAAQ,CAACvD,GAAG,CAAC,EAAE;IACxB,OAAO41D,eAAe,CAAC51D,GAAG,CAAC;EAC7B,CAAC,MAAM,IAAI9H,QAAQ,CAAC8H,GAAG,CAAC,IAAI,CAAC/S,OAAO,CAAC+S,GAAG,CAAC,IAAI,CAAC7P,aAAa,CAAC6P,GAAG,CAAC,EAAE;IAChE,OAAOnT,MAAM,CAACmT,GAAG,CAAC;EACpB;EACA,OAAOA,GAAG;AACZ,CAAC;AACD,MAAM41D,eAAe,GAAGA,CAAC7jD,CAAC,EAAEprB,CAAC,GAAG,EAAE,KAAK;EACrC,IAAIw+B,EAAE;EACN;IACE;IACA;IACA5hB,QAAQ,CAACwO,CAAC,CAAC,GAAG,UAAU,CAACoT,EAAE,GAAGpT,CAAC,CAACpZ,WAAW,KAAK,IAAI,GAAGwsB,EAAE,GAAGx+B,CAAC,GAAG,GAAGorB;EAAC;AAExE,CAAC;;;;;;;;;ACpgBY;AACb,WAAW,mBAAO,CAAC,IAA4B;AAC/C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;AACb,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;;;;;;;;;ACRa;AACb,sBAAsB,mBAAO,CAAC,IAAuC;AACrE,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,aAAa,mBAAO,CAAC,IAA+B;AACpD,aAAa,mBAAO,CAAC,IAA2B;AAChD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtEa;AACb;AACA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,kBAAkB,mBAAO,CAAC,GAA4B;AACtD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,WAAW,mBAAO,CAAC,IAAmB;AACtC,4BAA4B,mBAAO,CAAC,IAAsC;AAC1E,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;;;;;;;;;;;;;;;;;;ACnFa;;AAAA;A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","sources":["webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/validator.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/AxiosHeaders.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/mergeConfig.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-big-int.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/enum-bug-keys.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/try-node-require.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/engine-v8-version.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-set-prototype-of.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.for-each.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-intersection.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.map.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/formDataToJSON.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-size.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/AxiosError.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterators-core.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/classof-raw.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-define-properties.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-absolute-index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-object.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterator-close.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://jc-web-im/../../im-web/node_modules/@vue/devtools-api/lib/esm/index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-uncurry-this.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/has-own-property.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-property-key.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/an-instance.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/combineURLs.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-symmetric-difference.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/adapters/xhr.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterate.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/InterceptorManager.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.typed-array.with.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-is-prototype-of.js","webpack://jc-web-im/../../im-web/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-set-length.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-object.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/parseHeaders.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-includes.js","webpack://jc-web-im/../../im-web/node_modules/@vue/devtools-api/lib/esm/time.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/define-built-in-accessor.js","webpack://jc-web-im/../../im-web/node_modules/ieee754/index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.every.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-union.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-iterate.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/validate-arguments-length.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterator-map.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-possible-prototype.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-array-iterator-method.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/shared-key.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-name.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.to-array.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/inspect-source.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array.to-sorted.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-is-superset-of.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-bind-context.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/create-property.js","webpack://jc-web-im/../../im-web/node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/detach-transferable.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/platform/browser/index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/document-create-element.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array-buffer.detached.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/require-object-coercible.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/own-keys.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/parseProtocol.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-symbol.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-set-record.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/engine-is-browser.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-get-prototype-of.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-get-own-property-names.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://jc-web-im/../../im-web/node_modules/vue-demi/lib/index.mjs","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-length.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.regexp.flags.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/correct-prototype-getter.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-to-reversed.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/define-built-in.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.filter.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/defaults/transitional.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/add-to-unscopables.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/a-set.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/create-iter-result-object.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/axios.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/global.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-built-in-prototype-method.js","webpack://jc-web-im/../../im-web/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/fails.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/length-of-array-like.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-buffer-view-core.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-buffer-is-detached.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/engine-is-deno.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/dom-exception-constants.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-difference.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/make-built-in.js","webpack://jc-web-im/../../im-web/node_modules/@vue/runtime-core/node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/shared-store.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/classof.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-forced.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/hidden-keys.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-method.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-array.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/descriptors.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.find.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-call.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-helpers.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-string-tag-support.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://jc-web-im/../../im-web/node_modules/@vue/devtools-api/lib/esm/const.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/engine-is-node.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-iterator-flattenable.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array.push.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/create-property-descriptor.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/bind.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-method-accept-set-like.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/uid.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.reduce.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/utils.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-indexed-object.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-null-or-undefined.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/shared.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-built-in.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.some.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/settle.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-with.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/transformData.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/web.dom-exception.stack.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/inherit-if-required.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/cancel/CancelToken.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-callable.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-is-subset-of.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterate-simple.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/spread.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/toFormData.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array-buffer.transfer.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/an-object.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-keys-internal.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/adapters/adapters.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-keys.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/html.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array.to-spliced.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/math-trunc.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/cancel/CanceledError.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/platform/common/utils.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/ie8-dom-define.js","webpack://jc-web-im/../../im-web/node_modules/@vue/runtime-dom/node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.constructor.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/cookies.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterator-create-proxy.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-clone.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-iterator-method.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/normalize-string-argument.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/isAxiosError.js","webpack://jc-web-im/../../im-web/node_modules/base64-js/index.js","webpack://jc-web-im/../../im-web/node_modules/jr-qrcode/dist/jr-qrcode.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/defaults/index.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/speedometer.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/define-built-ins.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/set-is-disjoint-from.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/env/data.js","webpack://jc-web-im/../../im-web/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/error-stack-clear.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-primitive.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/engine-user-agent.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/define-global-property.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-buffer-transfer.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/dispatchRequest.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-pure.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/export.js","webpack://jc-web-im/../../im-web/node_modules/@vue/devtools-api/lib/esm/env.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/null.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/array-buffer-byte-length.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/platform/index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/regexp-flags.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/function-bind-native.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-define-property.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/indexed-object.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/es.array.to-reversed.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/web.url-search-params.size.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/cancel/isCancel.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-iterator-direct.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/web.url-search-params.has.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/a-callable.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/buildFullPath.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/web.url-search-params.delete.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.union.v2.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/a-possible-prototype.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/try-to-string.js","webpack://jc-web-im/../../im-web/node_modules/buffer/index.js","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/copy-constructor-properties.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/helpers/buildURL.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/get-iterator.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/iterators.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/well-known-symbol.js","webpack://jc-web-im/../../im-web/node_modules/pinia/dist/pinia.mjs","webpack://jc-web-im/../../im-web/node_modules/core-js/modules/esnext.iterator.flat-map.js","webpack://jc-web-im/../../im-web/node_modules/@vue/reactivity/node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/is-big-int-array.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/to-string.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/internal-state.js","webpack://jc-web-im/../../im-web/node_modules/core-js/internals/object-create.js","webpack://jc-web-im/../../im-web/node_modules/axios/lib/core/Axios.js"],"sourcesContent":["'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.forEach` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n forEach: function forEach(fn) {\n anObject(this);\n aCallable(fn);\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n fn(value, counter++);\n }, { IS_RECORD: true });\n }\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar map = require('../internals/iterator-map');\nvar IS_PURE = require('../internals/is-pure');\n\n// `Iterator.prototype.map` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, {\n map: map\n});\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","import { getDevtoolsGlobalHook, getTarget, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy) {\n setupFn(proxy.proxiedTarget);\n }\n }\n}\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/**\n* @vue/runtime-dom v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { warn, h, BaseTransition, assertNumber, BaseTransitionPropsValidators, getCurrentInstance, onBeforeUpdate, queuePostFlushCb, onMounted, watch, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, unref, createVNode, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, Text, isRuntimeOnly, createRenderer, createHydrationRenderer } from '@vue/runtime-core';\nexport * from '@vue/runtime-core';\nimport { extend, isObject, toNumber, isArray, NOOP, isString, hyphenate, capitalize, includeBooleanAttr, isSymbol, isSpecialBooleanAttr, isFunction, isOn, isModelListener, camelize as camelize$1, isPlainObject, hasOwn, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';\n\nlet policy = void 0;\nconst tt = typeof window !== \"undefined\" && window.trustedTypes;\nif (tt) {\n try {\n policy = /* @__PURE__ */ tt.createPolicy(\"vue\", {\n createHTML: (val) => val\n });\n } catch (e) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Error creating trusted types policy: ${e}`);\n }\n}\nconst unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;\nconst svgNS = \"http://www.w3.org/2000/svg\";\nconst mathmlNS = \"http://www.w3.org/1998/Math/MathML\";\nconst doc = typeof document !== \"undefined\" ? document : null;\nconst templateContainer = doc && /* @__PURE__ */ doc.createElement(\"template\");\nconst nodeOps = {\n insert: (child, parent, anchor) => {\n parent.insertBefore(child, anchor || null);\n },\n remove: (child) => {\n const parent = child.parentNode;\n if (parent) {\n parent.removeChild(child);\n }\n },\n createElement: (tag, namespace, is, props) => {\n const el = namespace === \"svg\" ? doc.createElementNS(svgNS, tag) : namespace === \"mathml\" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag);\n if (tag === \"select\" && props && props.multiple != null) {\n el.setAttribute(\"multiple\", props.multiple);\n }\n return el;\n },\n createText: (text) => doc.createTextNode(text),\n createComment: (text) => doc.createComment(text),\n setText: (node, text) => {\n node.nodeValue = text;\n },\n setElementText: (el, text) => {\n el.textContent = text;\n },\n parentNode: (node) => node.parentNode,\n nextSibling: (node) => node.nextSibling,\n querySelector: (selector) => doc.querySelector(selector),\n setScopeId(el, id) {\n el.setAttribute(id, \"\");\n },\n // __UNSAFE__\n // Reason: innerHTML.\n // Static content here can only come from compiled templates.\n // As long as the user only uses trusted templates, this is safe.\n insertStaticContent(content, parent, anchor, namespace, start, end) {\n const before = anchor ? anchor.previousSibling : parent.lastChild;\n if (start && (start === end || start.nextSibling)) {\n while (true) {\n parent.insertBefore(start.cloneNode(true), anchor);\n if (start === end || !(start = start.nextSibling)) break;\n }\n } else {\n templateContainer.innerHTML = unsafeToTrustedHTML(\n namespace === \"svg\" ? `${content}` : namespace === \"mathml\" ? `${content}` : content\n );\n const template = templateContainer.content;\n if (namespace === \"svg\" || namespace === \"mathml\") {\n const wrapper = template.firstChild;\n while (wrapper.firstChild) {\n template.appendChild(wrapper.firstChild);\n }\n template.removeChild(wrapper);\n }\n parent.insertBefore(template, anchor);\n }\n return [\n // first\n before ? before.nextSibling : parent.firstChild,\n // last\n anchor ? anchor.previousSibling : parent.lastChild\n ];\n }\n};\n\nconst TRANSITION = \"transition\";\nconst ANIMATION = \"animation\";\nconst vtcKey = Symbol(\"_vtc\");\nconst DOMTransitionPropsValidators = {\n name: String,\n type: String,\n css: {\n type: Boolean,\n default: true\n },\n duration: [String, Number, Object],\n enterFromClass: String,\n enterActiveClass: String,\n enterToClass: String,\n appearFromClass: String,\n appearActiveClass: String,\n appearToClass: String,\n leaveFromClass: String,\n leaveActiveClass: String,\n leaveToClass: String\n};\nconst TransitionPropsValidators = /* @__PURE__ */ extend(\n {},\n BaseTransitionPropsValidators,\n DOMTransitionPropsValidators\n);\nconst decorate$1 = (t) => {\n t.displayName = \"Transition\";\n t.props = TransitionPropsValidators;\n return t;\n};\nconst Transition = /* @__PURE__ */ decorate$1(\n (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots)\n);\nconst callHook = (hook, args = []) => {\n if (isArray(hook)) {\n hook.forEach((h2) => h2(...args));\n } else if (hook) {\n hook(...args);\n }\n};\nconst hasExplicitCallback = (hook) => {\n return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;\n};\nfunction resolveTransitionProps(rawProps) {\n const baseProps = {};\n for (const key in rawProps) {\n if (!(key in DOMTransitionPropsValidators)) {\n baseProps[key] = rawProps[key];\n }\n }\n if (rawProps.css === false) {\n return baseProps;\n }\n const {\n name = \"v\",\n type,\n duration,\n enterFromClass = `${name}-enter-from`,\n enterActiveClass = `${name}-enter-active`,\n enterToClass = `${name}-enter-to`,\n appearFromClass = enterFromClass,\n appearActiveClass = enterActiveClass,\n appearToClass = enterToClass,\n leaveFromClass = `${name}-leave-from`,\n leaveActiveClass = `${name}-leave-active`,\n leaveToClass = `${name}-leave-to`\n } = rawProps;\n const durations = normalizeDuration(duration);\n const enterDuration = durations && durations[0];\n const leaveDuration = durations && durations[1];\n const {\n onBeforeEnter,\n onEnter,\n onEnterCancelled,\n onLeave,\n onLeaveCancelled,\n onBeforeAppear = onBeforeEnter,\n onAppear = onEnter,\n onAppearCancelled = onEnterCancelled\n } = baseProps;\n const finishEnter = (el, isAppear, done, isCancelled) => {\n el._enterCancelled = isCancelled;\n removeTransitionClass(el, isAppear ? appearToClass : enterToClass);\n removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);\n done && done();\n };\n const finishLeave = (el, done) => {\n el._isLeaving = false;\n removeTransitionClass(el, leaveFromClass);\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n done && done();\n };\n const makeEnterHook = (isAppear) => {\n return (el, done) => {\n const hook = isAppear ? onAppear : onEnter;\n const resolve = () => finishEnter(el, isAppear, done);\n callHook(hook, [el, resolve]);\n nextFrame(() => {\n removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);\n addTransitionClass(el, isAppear ? appearToClass : enterToClass);\n if (!hasExplicitCallback(hook)) {\n whenTransitionEnds(el, type, enterDuration, resolve);\n }\n });\n };\n };\n return extend(baseProps, {\n onBeforeEnter(el) {\n callHook(onBeforeEnter, [el]);\n addTransitionClass(el, enterFromClass);\n addTransitionClass(el, enterActiveClass);\n },\n onBeforeAppear(el) {\n callHook(onBeforeAppear, [el]);\n addTransitionClass(el, appearFromClass);\n addTransitionClass(el, appearActiveClass);\n },\n onEnter: makeEnterHook(false),\n onAppear: makeEnterHook(true),\n onLeave(el, done) {\n el._isLeaving = true;\n const resolve = () => finishLeave(el, done);\n addTransitionClass(el, leaveFromClass);\n if (!el._enterCancelled) {\n forceReflow();\n addTransitionClass(el, leaveActiveClass);\n } else {\n addTransitionClass(el, leaveActiveClass);\n forceReflow();\n }\n nextFrame(() => {\n if (!el._isLeaving) {\n return;\n }\n removeTransitionClass(el, leaveFromClass);\n addTransitionClass(el, leaveToClass);\n if (!hasExplicitCallback(onLeave)) {\n whenTransitionEnds(el, type, leaveDuration, resolve);\n }\n });\n callHook(onLeave, [el, resolve]);\n },\n onEnterCancelled(el) {\n finishEnter(el, false, void 0, true);\n callHook(onEnterCancelled, [el]);\n },\n onAppearCancelled(el) {\n finishEnter(el, true, void 0, true);\n callHook(onAppearCancelled, [el]);\n },\n onLeaveCancelled(el) {\n finishLeave(el);\n callHook(onLeaveCancelled, [el]);\n }\n });\n}\nfunction normalizeDuration(duration) {\n if (duration == null) {\n return null;\n } else if (isObject(duration)) {\n return [NumberOf(duration.enter), NumberOf(duration.leave)];\n } else {\n const n = NumberOf(duration);\n return [n, n];\n }\n}\nfunction NumberOf(val) {\n const res = toNumber(val);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(res, \" explicit duration\");\n }\n return res;\n}\nfunction addTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.add(c));\n (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);\n}\nfunction removeTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.remove(c));\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.delete(cls);\n if (!_vtc.size) {\n el[vtcKey] = void 0;\n }\n }\n}\nfunction nextFrame(cb) {\n requestAnimationFrame(() => {\n requestAnimationFrame(cb);\n });\n}\nlet endId = 0;\nfunction whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {\n const id = el._endId = ++endId;\n const resolveIfNotStale = () => {\n if (id === el._endId) {\n resolve();\n }\n };\n if (explicitTimeout != null) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n const { type, timeout, propCount } = getTransitionInfo(el, expectedType);\n if (!type) {\n return resolve();\n }\n const endEvent = type + \"end\";\n let ended = 0;\n const end = () => {\n el.removeEventListener(endEvent, onEnd);\n resolveIfNotStale();\n };\n const onEnd = (e) => {\n if (e.target === el && ++ended >= propCount) {\n end();\n }\n };\n setTimeout(() => {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(endEvent, onEnd);\n}\nfunction getTransitionInfo(el, expectedType) {\n const styles = window.getComputedStyle(el);\n const getStyleProperties = (key) => (styles[key] || \"\").split(\", \");\n const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);\n const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);\n const transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n const animationDelays = getStyleProperties(`${ANIMATION}Delay`);\n const animationDurations = getStyleProperties(`${ANIMATION}Duration`);\n const animationTimeout = getTimeout(animationDelays, animationDurations);\n let type = null;\n let timeout = 0;\n let propCount = 0;\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;\n propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;\n }\n const hasTransform = type === TRANSITION && /\\b(transform|all)(,|$)/.test(\n getStyleProperties(`${TRANSITION}Property`).toString()\n );\n return {\n type,\n timeout,\n propCount,\n hasTransform\n };\n}\nfunction getTimeout(delays, durations) {\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));\n}\nfunction toMs(s) {\n if (s === \"auto\") return 0;\n return Number(s.slice(0, -1).replace(\",\", \".\")) * 1e3;\n}\nfunction forceReflow() {\n return document.body.offsetHeight;\n}\n\nfunction patchClass(el, value, isSVG) {\n const transitionClasses = el[vtcKey];\n if (transitionClasses) {\n value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(\" \");\n }\n if (value == null) {\n el.removeAttribute(\"class\");\n } else if (isSVG) {\n el.setAttribute(\"class\", value);\n } else {\n el.className = value;\n }\n}\n\nconst vShowOriginalDisplay = Symbol(\"_vod\");\nconst vShowHidden = Symbol(\"_vsh\");\nconst vShow = {\n beforeMount(el, { value }, { transition }) {\n el[vShowOriginalDisplay] = el.style.display === \"none\" ? \"\" : el.style.display;\n if (transition && value) {\n transition.beforeEnter(el);\n } else {\n setDisplay(el, value);\n }\n },\n mounted(el, { value }, { transition }) {\n if (transition && value) {\n transition.enter(el);\n }\n },\n updated(el, { value, oldValue }, { transition }) {\n if (!value === !oldValue) return;\n if (transition) {\n if (value) {\n transition.beforeEnter(el);\n setDisplay(el, true);\n transition.enter(el);\n } else {\n transition.leave(el, () => {\n setDisplay(el, false);\n });\n }\n } else {\n setDisplay(el, value);\n }\n },\n beforeUnmount(el, { value }) {\n setDisplay(el, value);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\")) {\n vShow.name = \"show\";\n}\nfunction setDisplay(el, value) {\n el.style.display = value ? el[vShowOriginalDisplay] : \"none\";\n el[vShowHidden] = !value;\n}\nfunction initVShowForSSR() {\n vShow.getSSRProps = ({ value }) => {\n if (!value) {\n return { style: { display: \"none\" } };\n }\n };\n}\n\nconst CSS_VAR_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"CSS_VAR_TEXT\" : \"\");\nfunction useCssVars(getter) {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\n return;\n }\n const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {\n Array.from(\n document.querySelectorAll(`[data-v-owner=\"${instance.uid}\"]`)\n ).forEach((node) => setVarsOnNode(node, vars));\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.getCssVars = () => getter(instance.proxy);\n }\n const setVars = () => {\n const vars = getter(instance.proxy);\n if (instance.ce) {\n setVarsOnNode(instance.ce, vars);\n } else {\n setVarsOnVNode(instance.subTree, vars);\n }\n updateTeleports(vars);\n };\n onBeforeUpdate(() => {\n queuePostFlushCb(setVars);\n });\n onMounted(() => {\n watch(setVars, NOOP, { flush: \"post\" });\n const ob = new MutationObserver(setVars);\n ob.observe(instance.subTree.el.parentNode, { childList: true });\n onUnmounted(() => ob.disconnect());\n });\n}\nfunction setVarsOnVNode(vnode, vars) {\n if (vnode.shapeFlag & 128) {\n const suspense = vnode.suspense;\n vnode = suspense.activeBranch;\n if (suspense.pendingBranch && !suspense.isHydrating) {\n suspense.effects.push(() => {\n setVarsOnVNode(suspense.activeBranch, vars);\n });\n }\n }\n while (vnode.component) {\n vnode = vnode.component.subTree;\n }\n if (vnode.shapeFlag & 1 && vnode.el) {\n setVarsOnNode(vnode.el, vars);\n } else if (vnode.type === Fragment) {\n vnode.children.forEach((c) => setVarsOnVNode(c, vars));\n } else if (vnode.type === Static) {\n let { el, anchor } = vnode;\n while (el) {\n setVarsOnNode(el, vars);\n if (el === anchor) break;\n el = el.nextSibling;\n }\n }\n}\nfunction setVarsOnNode(el, vars) {\n if (el.nodeType === 1) {\n const style = el.style;\n let cssText = \"\";\n for (const key in vars) {\n style.setProperty(`--${key}`, vars[key]);\n cssText += `--${key}: ${vars[key]};`;\n }\n style[CSS_VAR_TEXT] = cssText;\n }\n}\n\nconst displayRE = /(^|;)\\s*display\\s*:/;\nfunction patchStyle(el, prev, next) {\n const style = el.style;\n const isCssString = isString(next);\n let hasControlledDisplay = false;\n if (next && !isCssString) {\n if (prev) {\n if (!isString(prev)) {\n for (const key in prev) {\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n } else {\n for (const prevStyle of prev.split(\";\")) {\n const key = prevStyle.slice(0, prevStyle.indexOf(\":\")).trim();\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n }\n }\n for (const key in next) {\n if (key === \"display\") {\n hasControlledDisplay = true;\n }\n setStyle(style, key, next[key]);\n }\n } else {\n if (isCssString) {\n if (prev !== next) {\n const cssVarText = style[CSS_VAR_TEXT];\n if (cssVarText) {\n next += \";\" + cssVarText;\n }\n style.cssText = next;\n hasControlledDisplay = displayRE.test(next);\n }\n } else if (prev) {\n el.removeAttribute(\"style\");\n }\n }\n if (vShowOriginalDisplay in el) {\n el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : \"\";\n if (el[vShowHidden]) {\n style.display = \"none\";\n }\n }\n}\nconst semicolonRE = /[^\\\\];\\s*$/;\nconst importantRE = /\\s*!important$/;\nfunction setStyle(style, name, val) {\n if (isArray(val)) {\n val.forEach((v) => setStyle(style, name, v));\n } else {\n if (val == null) val = \"\";\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (semicolonRE.test(val)) {\n warn(\n `Unexpected semicolon at the end of '${name}' style value: '${val}'`\n );\n }\n }\n if (name.startsWith(\"--\")) {\n style.setProperty(name, val);\n } else {\n const prefixed = autoPrefix(style, name);\n if (importantRE.test(val)) {\n style.setProperty(\n hyphenate(prefixed),\n val.replace(importantRE, \"\"),\n \"important\"\n );\n } else {\n style[prefixed] = val;\n }\n }\n }\n}\nconst prefixes = [\"Webkit\", \"Moz\", \"ms\"];\nconst prefixCache = {};\nfunction autoPrefix(style, rawName) {\n const cached = prefixCache[rawName];\n if (cached) {\n return cached;\n }\n let name = camelize(rawName);\n if (name !== \"filter\" && name in style) {\n return prefixCache[rawName] = name;\n }\n name = capitalize(name);\n for (let i = 0; i < prefixes.length; i++) {\n const prefixed = prefixes[i] + name;\n if (prefixed in style) {\n return prefixCache[rawName] = prefixed;\n }\n }\n return rawName;\n}\n\nconst xlinkNS = \"http://www.w3.org/1999/xlink\";\nfunction patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {\n if (isSVG && key.startsWith(\"xlink:\")) {\n if (value == null) {\n el.removeAttributeNS(xlinkNS, key.slice(6, key.length));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n if (value == null || isBoolean && !includeBooleanAttr(value)) {\n el.removeAttribute(key);\n } else {\n el.setAttribute(\n key,\n isBoolean ? \"\" : isSymbol(value) ? String(value) : value\n );\n }\n }\n}\n\nfunction patchDOMProp(el, key, value, parentComponent, attrName) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n if (value != null) {\n el[key] = key === \"innerHTML\" ? unsafeToTrustedHTML(value) : value;\n }\n return;\n }\n const tag = el.tagName;\n if (key === \"value\" && tag !== \"PROGRESS\" && // custom elements may use _value internally\n !tag.includes(\"-\")) {\n const oldValue = tag === \"OPTION\" ? el.getAttribute(\"value\") || \"\" : el.value;\n const newValue = value == null ? (\n // #11647: value should be set as empty string for null and undefined,\n // but should be set as 'on'.\n el.type === \"checkbox\" ? \"on\" : \"\"\n ) : String(value);\n if (oldValue !== newValue || !(\"_value\" in el)) {\n el.value = newValue;\n }\n if (value == null) {\n el.removeAttribute(key);\n }\n el._value = value;\n return;\n }\n let needRemove = false;\n if (value === \"\" || value == null) {\n const type = typeof el[key];\n if (type === \"boolean\") {\n value = includeBooleanAttr(value);\n } else if (value == null && type === \"string\") {\n value = \"\";\n needRemove = true;\n } else if (type === \"number\") {\n value = 0;\n needRemove = true;\n }\n }\n try {\n el[key] = value;\n } catch (e) {\n if (!!(process.env.NODE_ENV !== \"production\") && !needRemove) {\n warn(\n `Failed setting prop \"${key}\" on <${tag.toLowerCase()}>: value ${value} is invalid.`,\n e\n );\n }\n }\n needRemove && el.removeAttribute(attrName || key);\n}\n\nfunction addEventListener(el, event, handler, options) {\n el.addEventListener(event, handler, options);\n}\nfunction removeEventListener(el, event, handler, options) {\n el.removeEventListener(event, handler, options);\n}\nconst veiKey = Symbol(\"_vei\");\nfunction patchEvent(el, rawName, prevValue, nextValue, instance = null) {\n const invokers = el[veiKey] || (el[veiKey] = {});\n const existingInvoker = invokers[rawName];\n if (nextValue && existingInvoker) {\n existingInvoker.value = !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue;\n } else {\n const [name, options] = parseName(rawName);\n if (nextValue) {\n const invoker = invokers[rawName] = createInvoker(\n !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue,\n instance\n );\n addEventListener(el, name, invoker, options);\n } else if (existingInvoker) {\n removeEventListener(el, name, existingInvoker, options);\n invokers[rawName] = void 0;\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while (m = name.match(optionsModifierRE)) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n const event = name[2] === \":\" ? name.slice(3) : hyphenate(name.slice(2));\n return [event, options];\n}\nlet cachedNow = 0;\nconst p = /* @__PURE__ */ Promise.resolve();\nconst getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());\nfunction createInvoker(initialValue, instance) {\n const invoker = (e) => {\n if (!e._vts) {\n e._vts = Date.now();\n } else if (e._vts <= invoker.attached) {\n return;\n }\n callWithAsyncErrorHandling(\n patchStopImmediatePropagation(e, invoker.value),\n instance,\n 5,\n [e]\n );\n };\n invoker.value = initialValue;\n invoker.attached = getNow();\n return invoker;\n}\nfunction sanitizeEventValue(value, propName) {\n if (isFunction(value) || isArray(value)) {\n return value;\n }\n warn(\n `Wrong type passed as event handler to ${propName} - did you forget @ or : in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`\n );\n return NOOP;\n}\nfunction patchStopImmediatePropagation(e, value) {\n if (isArray(value)) {\n const originalStop = e.stopImmediatePropagation;\n e.stopImmediatePropagation = () => {\n originalStop.call(e);\n e._stopped = true;\n };\n return value.map(\n (fn) => (e2) => !e2._stopped && fn && fn(e2)\n );\n } else {\n return value;\n }\n}\n\nconst isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter\nkey.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;\nconst patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {\n const isSVG = namespace === \"svg\";\n if (key === \"class\") {\n patchClass(el, nextValue, isSVG);\n } else if (key === \"style\") {\n patchStyle(el, prevValue, nextValue);\n } else if (isOn(key)) {\n if (!isModelListener(key)) {\n patchEvent(el, key, prevValue, nextValue, parentComponent);\n }\n } else if (key[0] === \".\" ? (key = key.slice(1), true) : key[0] === \"^\" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {\n patchDOMProp(el, key, nextValue);\n if (!el.tagName.includes(\"-\") && (key === \"value\" || key === \"checked\" || key === \"selected\")) {\n patchAttr(el, key, nextValue, isSVG, parentComponent, key !== \"value\");\n }\n } else if (\n // #11081 force set props for possible async custom element\n el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))\n ) {\n patchDOMProp(el, camelize$1(key), nextValue, parentComponent, key);\n } else {\n if (key === \"true-value\") {\n el._trueValue = nextValue;\n } else if (key === \"false-value\") {\n el._falseValue = nextValue;\n }\n patchAttr(el, key, nextValue, isSVG);\n }\n};\nfunction shouldSetAsProp(el, key, value, isSVG) {\n if (isSVG) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n return true;\n }\n if (key in el && isNativeOn(key) && isFunction(value)) {\n return true;\n }\n return false;\n }\n if (key === \"spellcheck\" || key === \"draggable\" || key === \"translate\") {\n return false;\n }\n if (key === \"form\") {\n return false;\n }\n if (key === \"list\" && el.tagName === \"INPUT\") {\n return false;\n }\n if (key === \"type\" && el.tagName === \"TEXTAREA\") {\n return false;\n }\n if (key === \"width\" || key === \"height\") {\n const tag = el.tagName;\n if (tag === \"IMG\" || tag === \"VIDEO\" || tag === \"CANVAS\" || tag === \"SOURCE\") {\n return false;\n }\n }\n if (isNativeOn(key) && isString(value)) {\n return false;\n }\n return key in el;\n}\n\nconst REMOVAL = {};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineCustomElement(options, extraOptions, _createApp) {\n const Comp = defineComponent(options, extraOptions);\n if (isPlainObject(Comp)) extend(Comp, extraOptions);\n class VueCustomElement extends VueElement {\n constructor(initialProps) {\n super(Comp, initialProps, _createApp);\n }\n }\n VueCustomElement.def = Comp;\n return VueCustomElement;\n}\n/*! #__NO_SIDE_EFFECTS__ */\nconst defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {\n return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);\n};\nconst BaseClass = typeof HTMLElement !== \"undefined\" ? HTMLElement : class {\n};\nclass VueElement extends BaseClass {\n constructor(_def, _props = {}, _createApp = createApp) {\n super();\n this._def = _def;\n this._props = _props;\n this._createApp = _createApp;\n this._isVueCE = true;\n /**\n * @internal\n */\n this._instance = null;\n /**\n * @internal\n */\n this._app = null;\n /**\n * @internal\n */\n this._nonce = this._def.nonce;\n this._connected = false;\n this._resolved = false;\n this._numberProps = null;\n this._styleChildren = /* @__PURE__ */ new WeakSet();\n this._ob = null;\n if (this.shadowRoot && _createApp !== createApp) {\n this._root = this.shadowRoot;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && this.shadowRoot) {\n warn(\n `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \\`defineSSRCustomElement\\`.`\n );\n }\n if (_def.shadowRoot !== false) {\n this.attachShadow({ mode: \"open\" });\n this._root = this.shadowRoot;\n } else {\n this._root = this;\n }\n }\n if (!this._def.__asyncLoader) {\n this._resolveProps(this._def);\n }\n }\n connectedCallback() {\n if (!this.isConnected) return;\n if (!this.shadowRoot) {\n this._parseSlots();\n }\n this._connected = true;\n let parent = this;\n while (parent = parent && (parent.parentNode || parent.host)) {\n if (parent instanceof VueElement) {\n this._parent = parent;\n break;\n }\n }\n if (!this._instance) {\n if (this._resolved) {\n this._setParent();\n this._update();\n } else {\n if (parent && parent._pendingResolve) {\n this._pendingResolve = parent._pendingResolve.then(() => {\n this._pendingResolve = void 0;\n this._resolveDef();\n });\n } else {\n this._resolveDef();\n }\n }\n }\n }\n _setParent(parent = this._parent) {\n if (parent) {\n this._instance.parent = parent._instance;\n this._instance.provides = parent._instance.provides;\n }\n }\n disconnectedCallback() {\n this._connected = false;\n nextTick(() => {\n if (!this._connected) {\n if (this._ob) {\n this._ob.disconnect();\n this._ob = null;\n }\n this._app && this._app.unmount();\n if (this._instance) this._instance.ce = void 0;\n this._app = this._instance = null;\n }\n });\n }\n /**\n * resolve inner component definition (handle possible async component)\n */\n _resolveDef() {\n if (this._pendingResolve) {\n return;\n }\n for (let i = 0; i < this.attributes.length; i++) {\n this._setAttr(this.attributes[i].name);\n }\n this._ob = new MutationObserver((mutations) => {\n for (const m of mutations) {\n this._setAttr(m.attributeName);\n }\n });\n this._ob.observe(this, { attributes: true });\n const resolve = (def, isAsync = false) => {\n this._resolved = true;\n this._pendingResolve = void 0;\n const { props, styles } = def;\n let numberProps;\n if (props && !isArray(props)) {\n for (const key in props) {\n const opt = props[key];\n if (opt === Number || opt && opt.type === Number) {\n if (key in this._props) {\n this._props[key] = toNumber(this._props[key]);\n }\n (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize$1(key)] = true;\n }\n }\n }\n this._numberProps = numberProps;\n if (isAsync) {\n this._resolveProps(def);\n }\n if (this.shadowRoot) {\n this._applyStyles(styles);\n } else if (!!(process.env.NODE_ENV !== \"production\") && styles) {\n warn(\n \"Custom element style injection is not supported when using shadowRoot: false\"\n );\n }\n this._mount(def);\n };\n const asyncDef = this._def.__asyncLoader;\n if (asyncDef) {\n this._pendingResolve = asyncDef().then(\n (def) => resolve(this._def = def, true)\n );\n } else {\n resolve(this._def);\n }\n }\n _mount(def) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) && !def.name) {\n def.name = \"VueElement\";\n }\n this._app = this._createApp(def);\n if (def.configureApp) {\n def.configureApp(this._app);\n }\n this._app._ceVNode = this._createVNode();\n this._app.mount(this._root);\n const exposed = this._instance && this._instance.exposed;\n if (!exposed) return;\n for (const key in exposed) {\n if (!hasOwn(this, key)) {\n Object.defineProperty(this, key, {\n // unwrap ref to be consistent with public instance behavior\n get: () => unref(exposed[key])\n });\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Exposed property \"${key}\" already exists on custom element.`);\n }\n }\n }\n _resolveProps(def) {\n const { props } = def;\n const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});\n for (const key of Object.keys(this)) {\n if (key[0] !== \"_\" && declaredPropKeys.includes(key)) {\n this._setProp(key, this[key]);\n }\n }\n for (const key of declaredPropKeys.map(camelize$1)) {\n Object.defineProperty(this, key, {\n get() {\n return this._getProp(key);\n },\n set(val) {\n this._setProp(key, val, true, true);\n }\n });\n }\n }\n _setAttr(key) {\n if (key.startsWith(\"data-v-\")) return;\n const has = this.hasAttribute(key);\n let value = has ? this.getAttribute(key) : REMOVAL;\n const camelKey = camelize$1(key);\n if (has && this._numberProps && this._numberProps[camelKey]) {\n value = toNumber(value);\n }\n this._setProp(camelKey, value, false, true);\n }\n /**\n * @internal\n */\n _getProp(key) {\n return this._props[key];\n }\n /**\n * @internal\n */\n _setProp(key, val, shouldReflect = true, shouldUpdate = false) {\n if (val !== this._props[key]) {\n if (val === REMOVAL) {\n delete this._props[key];\n } else {\n this._props[key] = val;\n if (key === \"key\" && this._app) {\n this._app._ceVNode.key = val;\n }\n }\n if (shouldUpdate && this._instance) {\n this._update();\n }\n if (shouldReflect) {\n const ob = this._ob;\n ob && ob.disconnect();\n if (val === true) {\n this.setAttribute(hyphenate(key), \"\");\n } else if (typeof val === \"string\" || typeof val === \"number\") {\n this.setAttribute(hyphenate(key), val + \"\");\n } else if (!val) {\n this.removeAttribute(hyphenate(key));\n }\n ob && ob.observe(this, { attributes: true });\n }\n }\n }\n _update() {\n render(this._createVNode(), this._root);\n }\n _createVNode() {\n const baseProps = {};\n if (!this.shadowRoot) {\n baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);\n }\n const vnode = createVNode(this._def, extend(baseProps, this._props));\n if (!this._instance) {\n vnode.ce = (instance) => {\n this._instance = instance;\n instance.ce = this;\n instance.isCE = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ceReload = (newStyles) => {\n if (this._styles) {\n this._styles.forEach((s) => this._root.removeChild(s));\n this._styles.length = 0;\n }\n this._applyStyles(newStyles);\n this._instance = null;\n this._update();\n };\n }\n const dispatch = (event, args) => {\n this.dispatchEvent(\n new CustomEvent(\n event,\n isPlainObject(args[0]) ? extend({ detail: args }, args[0]) : { detail: args }\n )\n );\n };\n instance.emit = (event, ...args) => {\n dispatch(event, args);\n if (hyphenate(event) !== event) {\n dispatch(hyphenate(event), args);\n }\n };\n this._setParent();\n };\n }\n return vnode;\n }\n _applyStyles(styles, owner) {\n if (!styles) return;\n if (owner) {\n if (owner === this._def || this._styleChildren.has(owner)) {\n return;\n }\n this._styleChildren.add(owner);\n }\n const nonce = this._nonce;\n for (let i = styles.length - 1; i >= 0; i--) {\n const s = document.createElement(\"style\");\n if (nonce) s.setAttribute(\"nonce\", nonce);\n s.textContent = styles[i];\n this.shadowRoot.prepend(s);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (owner) {\n if (owner.__hmrId) {\n if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();\n let entry = this._childStyles.get(owner.__hmrId);\n if (!entry) {\n this._childStyles.set(owner.__hmrId, entry = []);\n }\n entry.push(s);\n }\n } else {\n (this._styles || (this._styles = [])).push(s);\n }\n }\n }\n }\n /**\n * Only called when shadowRoot is false\n */\n _parseSlots() {\n const slots = this._slots = {};\n let n;\n while (n = this.firstChild) {\n const slotName = n.nodeType === 1 && n.getAttribute(\"slot\") || \"default\";\n (slots[slotName] || (slots[slotName] = [])).push(n);\n this.removeChild(n);\n }\n }\n /**\n * Only called when shadowRoot is false\n */\n _renderSlots() {\n const outlets = (this._teleportTarget || this).querySelectorAll(\"slot\");\n const scopeId = this._instance.type.__scopeId;\n for (let i = 0; i < outlets.length; i++) {\n const o = outlets[i];\n const slotName = o.getAttribute(\"name\") || \"default\";\n const content = this._slots[slotName];\n const parent = o.parentNode;\n if (content) {\n for (const n of content) {\n if (scopeId && n.nodeType === 1) {\n const id = scopeId + \"-s\";\n const walker = document.createTreeWalker(n, 1);\n n.setAttribute(id, \"\");\n let child;\n while (child = walker.nextNode()) {\n child.setAttribute(id, \"\");\n }\n }\n parent.insertBefore(n, o);\n }\n } else {\n while (o.firstChild) parent.insertBefore(o.firstChild, o);\n }\n parent.removeChild(o);\n }\n }\n /**\n * @internal\n */\n _injectChildStyle(comp) {\n this._applyStyles(comp.styles, comp);\n }\n /**\n * @internal\n */\n _removeChildStyle(comp) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this._styleChildren.delete(comp);\n if (this._childStyles && comp.__hmrId) {\n const oldStyles = this._childStyles.get(comp.__hmrId);\n if (oldStyles) {\n oldStyles.forEach((s) => this._root.removeChild(s));\n oldStyles.length = 0;\n }\n }\n }\n }\n}\nfunction useHost(caller) {\n const instance = getCurrentInstance();\n const el = instance && instance.ce;\n if (el) {\n return el;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!instance) {\n warn(\n `${caller || \"useHost\"} called without an active component instance.`\n );\n } else {\n warn(\n `${caller || \"useHost\"} can only be used in components defined via defineCustomElement.`\n );\n }\n }\n return null;\n}\nfunction useShadowRoot() {\n const el = !!(process.env.NODE_ENV !== \"production\") ? useHost(\"useShadowRoot\") : useHost();\n return el && el.shadowRoot;\n}\n\nfunction useCssModule(name = \"$style\") {\n {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\n return EMPTY_OBJ;\n }\n const modules = instance.type.__cssModules;\n if (!modules) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\n return EMPTY_OBJ;\n }\n const mod = modules[name];\n if (!mod) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\n return EMPTY_OBJ;\n }\n return mod;\n }\n}\n\nconst positionMap = /* @__PURE__ */ new WeakMap();\nconst newPositionMap = /* @__PURE__ */ new WeakMap();\nconst moveCbKey = Symbol(\"_moveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nconst decorate = (t) => {\n delete t.props.mode;\n return t;\n};\nconst TransitionGroupImpl = /* @__PURE__ */ decorate({\n name: \"TransitionGroup\",\n props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {\n tag: String,\n moveClass: String\n }),\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevChildren;\n let children;\n onUpdated(() => {\n if (!prevChildren.length) {\n return;\n }\n const moveClass = props.moveClass || `${props.name || \"v\"}-move`;\n if (!hasCSSTransform(\n prevChildren[0].el,\n instance.vnode.el,\n moveClass\n )) {\n return;\n }\n prevChildren.forEach(callPendingCbs);\n prevChildren.forEach(recordPosition);\n const movedChildren = prevChildren.filter(applyTranslation);\n forceReflow();\n movedChildren.forEach((c) => {\n const el = c.el;\n const style = el.style;\n addTransitionClass(el, moveClass);\n style.transform = style.webkitTransform = style.transitionDuration = \"\";\n const cb = el[moveCbKey] = (e) => {\n if (e && e.target !== el) {\n return;\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(\"transitionend\", cb);\n el[moveCbKey] = null;\n removeTransitionClass(el, moveClass);\n }\n };\n el.addEventListener(\"transitionend\", cb);\n });\n });\n return () => {\n const rawProps = toRaw(props);\n const cssTransitionProps = resolveTransitionProps(rawProps);\n let tag = rawProps.tag || Fragment;\n prevChildren = [];\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.el && child.el instanceof Element) {\n prevChildren.push(child);\n setTransitionHooks(\n child,\n resolveTransitionHooks(\n child,\n cssTransitionProps,\n state,\n instance\n )\n );\n positionMap.set(\n child,\n child.el.getBoundingClientRect()\n );\n }\n }\n }\n children = slots.default ? getTransitionRawChildren(slots.default()) : [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.key != null) {\n setTransitionHooks(\n child,\n resolveTransitionHooks(child, cssTransitionProps, state, instance)\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") && child.type !== Text) {\n warn(` children must be keyed.`);\n }\n }\n return createVNode(tag, null, children);\n };\n }\n});\nconst TransitionGroup = TransitionGroupImpl;\nfunction callPendingCbs(c) {\n const el = c.el;\n if (el[moveCbKey]) {\n el[moveCbKey]();\n }\n if (el[enterCbKey]) {\n el[enterCbKey]();\n }\n}\nfunction recordPosition(c) {\n newPositionMap.set(c, c.el.getBoundingClientRect());\n}\nfunction applyTranslation(c) {\n const oldPos = positionMap.get(c);\n const newPos = newPositionMap.get(c);\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n const s = c.el.style;\n s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;\n s.transitionDuration = \"0s\";\n return c;\n }\n}\nfunction hasCSSTransform(el, root, moveClass) {\n const clone = el.cloneNode();\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.forEach((cls) => {\n cls.split(/\\s+/).forEach((c) => c && clone.classList.remove(c));\n });\n }\n moveClass.split(/\\s+/).forEach((c) => c && clone.classList.add(c));\n clone.style.display = \"none\";\n const container = root.nodeType === 1 ? root : root.parentNode;\n container.appendChild(clone);\n const { hasTransform } = getTransitionInfo(clone);\n container.removeChild(clone);\n return hasTransform;\n}\n\nconst getModelAssigner = (vnode) => {\n const fn = vnode.props[\"onUpdate:modelValue\"] || false;\n return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;\n};\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\nfunction onCompositionEnd(e) {\n const target = e.target;\n if (target.composing) {\n target.composing = false;\n target.dispatchEvent(new Event(\"input\"));\n }\n}\nconst assignKey = Symbol(\"_assign\");\nconst vModelText = {\n created(el, { modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n const castToNumber = number || vnode.props && vnode.props.type === \"number\";\n addEventListener(el, lazy ? \"change\" : \"input\", (e) => {\n if (e.target.composing) return;\n let domValue = el.value;\n if (trim) {\n domValue = domValue.trim();\n }\n if (castToNumber) {\n domValue = looseToNumber(domValue);\n }\n el[assignKey](domValue);\n });\n if (trim) {\n addEventListener(el, \"change\", () => {\n el.value = el.value.trim();\n });\n }\n if (!lazy) {\n addEventListener(el, \"compositionstart\", onCompositionStart);\n addEventListener(el, \"compositionend\", onCompositionEnd);\n addEventListener(el, \"change\", onCompositionEnd);\n }\n },\n // set value on mounted so it's after min/max for type=\"range\"\n mounted(el, { value }) {\n el.value = value == null ? \"\" : value;\n },\n beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (el.composing) return;\n const elValue = (number || el.type === \"number\") && !/^0\\d/.test(el.value) ? looseToNumber(el.value) : el.value;\n const newValue = value == null ? \"\" : value;\n if (elValue === newValue) {\n return;\n }\n if (document.activeElement === el && el.type !== \"range\") {\n if (lazy && value === oldValue) {\n return;\n }\n if (trim && el.value.trim() === newValue) {\n return;\n }\n }\n el.value = newValue;\n }\n};\nconst vModelCheckbox = {\n // #4096 array checkboxes need to be deep traversed\n deep: true,\n created(el, _, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n const modelValue = el._modelValue;\n const elementValue = getValue(el);\n const checked = el.checked;\n const assign = el[assignKey];\n if (isArray(modelValue)) {\n const index = looseIndexOf(modelValue, elementValue);\n const found = index !== -1;\n if (checked && !found) {\n assign(modelValue.concat(elementValue));\n } else if (!checked && found) {\n const filtered = [...modelValue];\n filtered.splice(index, 1);\n assign(filtered);\n }\n } else if (isSet(modelValue)) {\n const cloned = new Set(modelValue);\n if (checked) {\n cloned.add(elementValue);\n } else {\n cloned.delete(elementValue);\n }\n assign(cloned);\n } else {\n assign(getCheckboxValue(el, checked));\n }\n });\n },\n // set initial checked on mount to wait for true-value/false-value\n mounted: setChecked,\n beforeUpdate(el, binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n setChecked(el, binding, vnode);\n }\n};\nfunction setChecked(el, { value, oldValue }, vnode) {\n el._modelValue = value;\n let checked;\n if (isArray(value)) {\n checked = looseIndexOf(value, vnode.props.value) > -1;\n } else if (isSet(value)) {\n checked = value.has(vnode.props.value);\n } else {\n if (value === oldValue) return;\n checked = looseEqual(value, getCheckboxValue(el, true));\n }\n if (el.checked !== checked) {\n el.checked = checked;\n }\n}\nconst vModelRadio = {\n created(el, { value }, vnode) {\n el.checked = looseEqual(value, vnode.props.value);\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n el[assignKey](getValue(el));\n });\n },\n beforeUpdate(el, { value, oldValue }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (value !== oldValue) {\n el.checked = looseEqual(value, vnode.props.value);\n }\n }\n};\nconst vModelSelect = {\n // relies on its children\n //