From 4e958e338aaf8c2eed6ace54ccbf526df2b9f676 Mon Sep 17 00:00:00 2001 From: Sanders Date: Thu, 4 Dec 2025 17:25:19 +0300 Subject: [PATCH] New --- .idea/compiler.xml | 1 + .idea/git_toolbox_prj.xml | 15 ++ TODO.md | 6 +- frontend/index.html | 3 + frontend/src/App.tsx | 17 ++- frontend/src/components/Game.tsx | 136 ++++++++++++++++++ frontend/src/components/GameOver.tsx | 46 ++++++ frontend/src/components/Lobby.tsx | 22 ++- frontend/src/components/RoundResults.tsx | 57 ++++++++ frontend/src/components/StartScreen.tsx | 19 +++ frontend/src/hooks/GameContext.tsx | 64 +++++++-- frontend/src/types/index.ts | 3 +- pom.xml | 67 +++++++++ .../config/CustomHandshakeHandler.java | 18 +++ .../telegaapp/config/StompPrincipal.java | 16 +++ .../telegaapp/config/WebSocketConfig.java | 25 +--- .../controller/SocketController.java | 57 +++++++- .../telegaapp/dto/GameActionRequest.java | 9 ++ .../telegaapp/dto/StartGameRequest.java | 9 ++ .../com/example/telegaapp/model/Room.java | 3 +- .../com/example/telegaapp/model/Team.java | 2 + .../telegaapp/service/GameService.java | 84 +++++++++++ .../static/assets/index-C-Uqvy09.css | 1 + .../resources/static/assets/index-CtkN2yzV.js | 17 +++ .../static/assets/index-Plf17G8e.css | 1 - .../resources/static/assets/index-WmiXnQva.js | 16 --- src/main/resources/static/index.html | 7 +- .../config/CustomHandshakeHandler.class | Bin 0 -> 2015 bytes .../telegaapp/config/StompPrincipal.class | Bin 0 -> 573 bytes .../telegaapp/config/WebSocketConfig$1.class | Bin 2401 -> 0 bytes .../WebSocketConfig$StompPrincipal.class | Bin 723 -> 0 bytes .../telegaapp/config/WebSocketConfig.class | Bin 2406 -> 2319 bytes .../controller/SocketController.class | Bin 5234 -> 7282 bytes .../telegaapp/dto/GameActionRequest.class | Bin 0 -> 2231 bytes .../telegaapp/dto/StartGameRequest.class | Bin 0 -> 2255 bytes .../telegaapp/model/Room$Settings.class | Bin 2485 -> 2485 bytes .../com/example/telegaapp/model/Room.class | Bin 5919 -> 6087 bytes .../com/example/telegaapp/model/Team.class | Bin 3360 -> 3661 bytes .../telegaapp/service/GameService.class | Bin 5343 -> 8437 bytes .../classes/static/assets/index-C-Uqvy09.css | 1 + .../classes/static/assets/index-CtkN2yzV.js | 17 +++ .../classes/static/assets/index-Plf17G8e.css | 1 - .../classes/static/assets/index-WmiXnQva.js | 16 --- target/classes/static/index.html | 7 +- 44 files changed, 672 insertions(+), 91 deletions(-) create mode 100644 .idea/git_toolbox_prj.xml create mode 100644 frontend/src/components/Game.tsx create mode 100644 frontend/src/components/GameOver.tsx create mode 100644 frontend/src/components/RoundResults.tsx create mode 100644 src/main/java/com/example/telegaapp/config/CustomHandshakeHandler.java create mode 100644 src/main/java/com/example/telegaapp/config/StompPrincipal.java create mode 100644 src/main/java/com/example/telegaapp/dto/GameActionRequest.java create mode 100644 src/main/java/com/example/telegaapp/dto/StartGameRequest.java create mode 100644 src/main/resources/static/assets/index-C-Uqvy09.css create mode 100644 src/main/resources/static/assets/index-CtkN2yzV.js delete mode 100644 src/main/resources/static/assets/index-Plf17G8e.css delete mode 100644 src/main/resources/static/assets/index-WmiXnQva.js create mode 100644 target/classes/com/example/telegaapp/config/CustomHandshakeHandler.class create mode 100644 target/classes/com/example/telegaapp/config/StompPrincipal.class delete mode 100644 target/classes/com/example/telegaapp/config/WebSocketConfig$1.class delete mode 100644 target/classes/com/example/telegaapp/config/WebSocketConfig$StompPrincipal.class create mode 100644 target/classes/com/example/telegaapp/dto/GameActionRequest.class create mode 100644 target/classes/com/example/telegaapp/dto/StartGameRequest.class create mode 100644 target/classes/static/assets/index-C-Uqvy09.css create mode 100644 target/classes/static/assets/index-CtkN2yzV.js delete mode 100644 target/classes/static/assets/index-Plf17G8e.css delete mode 100644 target/classes/static/assets/index-WmiXnQva.js diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 00eeaf3..004d4c1 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,6 +2,7 @@ + diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 0000000..02b915b --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/TODO.md b/TODO.md index 59f8a88..151a330 100644 --- a/TODO.md +++ b/TODO.md @@ -68,7 +68,7 @@ - Настройки хоста: Выбор набора слов, длительность раунда, кол-во очков для победы. - Кнопка "Начать игру" (только для хоста). -- [ ] **3.3. Экран "Игра" (Game)** +- [x] **3.3. Экран "Игра" (Game)** - **Роль "Объясняющий":** - Карточка со словом по центру. - Жесты (Swipe) или кнопки: Вверх/Вправо - Угадал, Вниз/Влево - Пропустил. @@ -78,12 +78,12 @@ - Таймер. - Анимация при угадывании. -- [ ] **3.4. Экран "Результаты раунда"** +- [x] **3.4. Экран "Результаты раунда"** - Список слов, которые были сыграны в раунде (возможность оспорить/изменить статус, если успеем). - Текущий счет команд. - Кнопка "Следующий раунд". -- [ ] **3.5. Экран "Победа"** +- [x] **3.5. Экран "Победа"** - Поздравление победителей. - Кнопка "В лобби". diff --git a/frontend/index.html b/frontend/index.html index 072a57e..9ea996c 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,6 +4,9 @@ + frontend diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 679da0e..a0f3fd0 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -2,6 +2,9 @@ import React from 'react'; import { GameProvider, useGame } from './hooks/GameContext'; import StartScreen from './components/StartScreen'; import Lobby from './components/Lobby'; +import Game from './components/Game'; +import RoundResults from './components/RoundResults'; +import GameOver from './components/GameOver'; import { GameStates } from './types'; import WebApp from '@twa-dev/sdk'; @@ -32,9 +35,21 @@ const AppContent: React.FC = () => { return ; } + if (room.state === GameStates.PLAYING) { + return ; + } + + if (room.state === GameStates.ROUND_FINISHED) { + return ; + } + + if (room.state === GameStates.GAME_OVER) { + return ; + } + return (
- Game Started! (Coming soon) + State: {room.state} (Coming soon)
); }; diff --git a/frontend/src/components/Game.tsx b/frontend/src/components/Game.tsx new file mode 100644 index 0000000..3e11641 --- /dev/null +++ b/frontend/src/components/Game.tsx @@ -0,0 +1,136 @@ +import React, { useEffect, useState } from 'react'; +import { useGame } from '../hooks/GameContext'; +import { motion } from 'framer-motion'; + +const Game: React.FC = () => { + const { room, currentPlayer, sendGameAction } = useGame(); + const [timeLeft, setTimeLeft] = useState(0); + + if (!room || !currentPlayer) return null; + + const currentTeam = room.teams[room.currentTeamIndex]; + // Determine who is describing: + // The `nextDescriberIndex` points to the NEXT player to describe, or the CURRENT one if the round is active? + // In `finishRound` (backend), we increment it. So during the round, it points to the CURRENT describer. + const describerId = currentTeam.playerIds[currentTeam.nextDescriberIndex]; + const isMyTurn = currentPlayer.sessionId === describerId; + const isMyTeam = currentPlayer.teamId === currentTeam.id; + + useEffect(() => { + if (room.roundEndTime) { + const interval = setInterval(() => { + const remaining = Math.max(0, Math.ceil((room.roundEndTime! - Date.now()) / 1000)); + setTimeLeft(remaining); + + // If time is up, we could trigger something, but backend controls the flow usually. + // However, to be responsive, we can show "Time's up" or similar. + }, 500); + return () => clearInterval(interval); + } + }, [room.roundEndTime]); + + const handleAction = (action: 'GUESS' | 'SKIP') => { + sendGameAction(action); + // Add haptic feedback here if using Telegram SDK + }; + + return ( +
+ {/* Header Info */} +
+
+ Ход команды: + {currentTeam.name} +
+
+ Время: + + {timeLeft} + +
+
+ + {/* Game Area */} +
+ + {isMyTurn ? ( + // Explainer View +
+
+

Объясняй

+
+ + +

{room.currentWord}

+
+ +
+ + +
+

Свайпы скоро будут доступны

+
+ ) : isMyTeam ? ( + // Guesser (My Team) View +
+
+
+ 👂 +
+

Слушайте внимательно!

+

+ {room.players[describerId]?.name || 'Игрок'} объясняет слово. +

+
+
+

Текущий счет за раунд

+

???

+
+
+ ) : ( + // Spectator (Other Team) View +
+
+
+ 🤫 +
+

Тихо!

+

+ Сейчас играет команда противников. +

+
+
+ )} +
+ + {/* Footer Score */} +
+ {room.teams.map(t => ( +
+

{t.name}

+

{t.score}

+
+ ))} +
+
+ ); +}; + +export default Game; diff --git a/frontend/src/components/GameOver.tsx b/frontend/src/components/GameOver.tsx new file mode 100644 index 0000000..b4895cb --- /dev/null +++ b/frontend/src/components/GameOver.tsx @@ -0,0 +1,46 @@ +import React from 'react'; +import { useGame } from '../hooks/GameContext'; + +const GameOver: React.FC = () => { + const { room } = useGame(); + + if (!room) return null; + + // Find winner (team with max score) + const winner = [...room.teams].sort((a, b) => b.score - a.score)[0]; + + return ( +
+
+ 🏆 +

+ ПОБЕДА! +

+
+ +
+

{winner.name}

+

{winner.score}

+

очков

+
+ +
+ {room.teams.filter(t => t.id !== winner.id).map(t => ( +
+ {t.name} + {t.score} +
+ ))} +
+ + +
+ ); +}; + +export default GameOver; \ No newline at end of file diff --git a/frontend/src/components/Lobby.tsx b/frontend/src/components/Lobby.tsx index a246d1d..f0f3ab8 100644 --- a/frontend/src/components/Lobby.tsx +++ b/frontend/src/components/Lobby.tsx @@ -1,9 +1,10 @@ -import React from 'react'; +import React, { useState } from 'react'; import { useGame } from '../hooks/GameContext'; import type { Team } from '../types'; const Lobby: React.FC = () => { - const { room, currentPlayer, joinTeam } = useGame(); + const { room, currentPlayer, joinTeam, startGame } = useGame(); + const [difficulty, setDifficulty] = useState('EASY'); if (!room) return null; @@ -81,13 +82,20 @@ const Lobby: React.FC = () => {
Сложность - setDifficulty(e.target.value)} + className="bg-gray-900 border border-gray-700 rounded px-2 py-1 text-sm outline-none" + > + + +
-
diff --git a/frontend/src/components/RoundResults.tsx b/frontend/src/components/RoundResults.tsx new file mode 100644 index 0000000..4146fbf --- /dev/null +++ b/frontend/src/components/RoundResults.tsx @@ -0,0 +1,57 @@ +import React from 'react'; +import { useGame } from '../hooks/GameContext'; + +const RoundResults: React.FC = () => { + const { room, currentPlayer, startNextRound } = useGame(); + + if (!room) return null; + + // The currentTeamIndex has already been incremented in backend by finishRound. + // So "previous" team just finished. + const prevTeamIndex = (room.currentTeamIndex - 1 + room.teams.length) % room.teams.length; + const teamJustPlayed = room.teams[prevTeamIndex]; + + const nextTeam = room.teams[room.currentTeamIndex]; + const nextDescriberId = nextTeam.playerIds[nextTeam.nextDescriberIndex]; + const nextDescriber = room.players[nextDescriberId]; + + return ( +
+
+

Раунд завершен!

+

Ход переходит к следующей команде

+
+ +
+

Команда

+

{teamJustPlayed.name}

+ +
+ Всего очков: + {teamJustPlayed.score} +
+
+ +
+

Далее

+

{nextTeam.name}

+

+ Объясняет: {nextDescriber?.name || '???'} +

+
+ + {currentPlayer?.host ? ( + + ) : ( +

Ожидание хоста...

+ )} +
+ ); +}; + +export default RoundResults; \ No newline at end of file diff --git a/frontend/src/components/StartScreen.tsx b/frontend/src/components/StartScreen.tsx index 5640caa..18c6eb2 100644 --- a/frontend/src/components/StartScreen.tsx +++ b/frontend/src/components/StartScreen.tsx @@ -88,6 +88,25 @@ const StartScreen: React.FC = () => { + + ); }; diff --git a/frontend/src/hooks/GameContext.tsx b/frontend/src/hooks/GameContext.tsx index 97e20f1..f1bb5a3 100644 --- a/frontend/src/hooks/GameContext.tsx +++ b/frontend/src/hooks/GameContext.tsx @@ -1,3 +1,4 @@ +import SockJS from 'sockjs-client'; import React, { createContext, useContext, useEffect, useState, useCallback } from 'react'; import { Client } from '@stomp/stompjs'; import type { IMessage } from '@stomp/stompjs'; @@ -11,6 +12,9 @@ interface GameContextType { createRoom: (playerName: string, userId?: string) => void; joinRoom: (roomId: string, playerName: string, userId?: string) => void; joinTeam: (teamId: string) => void; + startGame: (difficulty: string) => void; + sendGameAction: (action: 'GUESS' | 'SKIP') => void; + startNextRound: () => void; } const GameContext = createContext(null); @@ -30,19 +34,24 @@ export const GameProvider: React.FC<{ children: React.ReactNode }> = ({ children const [currentPlayer, setCurrentPlayer] = useState(null); const [error, setError] = useState(null); - useEffect(() => { - // Determine WebSocket URL (ws:// or wss://) - const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'; - const brokerURL = `${protocol}//${window.location.host}/ws`; - - const stompClient = new Client({ - brokerURL: brokerURL, - reconnectDelay: 5000, - debug: (str) => { - console.log(str); - }, - onConnect: (frame) => { - console.log('Connected: ' + frame); + useEffect(() => { + // Determine WebSocket URL (http:// or https:// for SockJS) + const isDev = window.location.hostname === 'localhost' && window.location.port === '5173'; + const protocol = window.location.protocol === 'https:' ? 'https:' : 'http:'; + // SockJS endpoint is typically HTTP/HTTPS, not WS/WSS + const sockJsEndpoint = isDev + ? 'http://localhost:8080/ws' + : `${protocol}//${window.location.host}/ws`; + + console.log("Connecting to WebSocket (SockJS) at:", sockJsEndpoint); + + const stompClient = new Client({ + webSocketFactory: () => new SockJS(sockJsEndpoint), + reconnectDelay: 5000, + debug: (str) => { + console.log(str); + }, + onConnect: (frame) => { console.log('Connected: ' + frame); setConnected(true); // Subscribe to user-specific errors @@ -124,8 +133,35 @@ export const GameProvider: React.FC<{ children: React.ReactNode }> = ({ children } }, [client, connected, room]); + const startGame = useCallback((difficulty: string) => { + if (client && connected && room) { + client.publish({ + destination: '/app/start', + body: JSON.stringify({ roomId: room.roomId, difficulty }), + }); + } + }, [client, connected, room]); + + const sendGameAction = useCallback((action: 'GUESS' | 'SKIP') => { + if (client && connected && room) { + client.publish({ + destination: '/app/game-action', + body: JSON.stringify({ roomId: room.roomId, action }), + }); + } + }, [client, connected, room]); + + const startNextRound = useCallback(() => { + if (client && connected && room) { + client.publish({ + destination: '/app/next-round', + body: JSON.stringify({ roomId: room.roomId }), + }); + } + }, [client, connected, room]); + return ( - + {children} ); diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index e49c21c..029328c 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -21,6 +21,7 @@ export interface Team { name: string; score: number; playerIds: string[]; + nextDescriberIndex: number; } export interface Settings { @@ -36,6 +37,6 @@ export interface Room { players: Record; // Map sessionId -> Player settings: Settings; currentTeamIndex: number; - currentDescriberIndex: number; roundEndTime?: number; + currentWord?: string; } \ No newline at end of file diff --git a/pom.xml b/pom.xml index be62620..d265dc3 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,74 @@ org.springframework.boot spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + com.github.eirslett + frontend-maven-plugin + 1.15.0 + + frontend + target + + + + install node and npm + + install-node-and-npm + + + v20.11.0 + + + + npm install + + npm + + + install + + + + npm run build + + npm + + generate-resources + + run build + + + + + + maven-resources-plugin + + + copy-frontend-resources + process-resources + + copy-resources + + + ${project.build.outputDirectory}/static + + + frontend/dist + + + + + + diff --git a/src/main/java/com/example/telegaapp/config/CustomHandshakeHandler.java b/src/main/java/com/example/telegaapp/config/CustomHandshakeHandler.java new file mode 100644 index 0000000..4eefc2a --- /dev/null +++ b/src/main/java/com/example/telegaapp/config/CustomHandshakeHandler.java @@ -0,0 +1,18 @@ +package com.example.telegaapp.config; + +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.web.socket.WebSocketHandler; +import org.springframework.web.socket.server.support.DefaultHandshakeHandler; + +import java.security.Principal; +import java.util.Map; +import java.util.UUID; + +public class CustomHandshakeHandler extends DefaultHandshakeHandler { + @Override + protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map attributes) { + String uuid = UUID.randomUUID().toString(); + System.out.println("CustomHandshakeHandler: Assigning Principal: " + uuid); + return new StompPrincipal(uuid); + } +} diff --git a/src/main/java/com/example/telegaapp/config/StompPrincipal.java b/src/main/java/com/example/telegaapp/config/StompPrincipal.java new file mode 100644 index 0000000..08e829a --- /dev/null +++ b/src/main/java/com/example/telegaapp/config/StompPrincipal.java @@ -0,0 +1,16 @@ +package com.example.telegaapp.config; + +import java.security.Principal; + +public class StompPrincipal implements Principal { + private final String name; + + public StompPrincipal(String name) { + this.name = name; + } + + @Override + public String getName() { + return name; + } +} diff --git a/src/main/java/com/example/telegaapp/config/WebSocketConfig.java b/src/main/java/com/example/telegaapp/config/WebSocketConfig.java index c08c8e4..670c67f 100644 --- a/src/main/java/com/example/telegaapp/config/WebSocketConfig.java +++ b/src/main/java/com/example/telegaapp/config/WebSocketConfig.java @@ -29,27 +29,8 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { public void registerStompEndpoints(StompEndpointRegistry registry) { // Endpoint for connection registry.addEndpoint("/ws") - .setHandshakeHandler(new DefaultHandshakeHandler() { - @Override - protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map attributes) { - String uuid = UUID.randomUUID().toString(); - System.out.println("New WS connection. Assigning Principal: " + uuid); - return new StompPrincipal(uuid); - } - }) - .setAllowedOriginPatterns("*"); - } - - private static class StompPrincipal implements Principal { - private final String name; - - public StompPrincipal(String name) { - this.name = name; - } - - @Override - public String getName() { - return name; - } + .setAllowedOriginPatterns("*") // Allow all origins + .setHandshakeHandler(new CustomHandshakeHandler()) + .withSockJS(); // Enable SockJS } } diff --git a/src/main/java/com/example/telegaapp/controller/SocketController.java b/src/main/java/com/example/telegaapp/controller/SocketController.java index 09e453a..00af629 100644 --- a/src/main/java/com/example/telegaapp/controller/SocketController.java +++ b/src/main/java/com/example/telegaapp/controller/SocketController.java @@ -1,8 +1,6 @@ package com.example.telegaapp.controller; -import com.example.telegaapp.dto.CreateRequest; -import com.example.telegaapp.dto.JoinRequest; -import com.example.telegaapp.dto.TeamJoinRequest; +import com.example.telegaapp.dto.*; import com.example.telegaapp.model.Player; import com.example.telegaapp.model.Room; import com.example.telegaapp.service.GameService; @@ -22,6 +20,10 @@ public class SocketController { @MessageMapping("/create") public void createRoom(@Payload CreateRequest request, SimpMessageHeaderAccessor headerAccessor) { + if (headerAccessor.getUser() == null) { + System.err.println("Error: User is null in createRoom. SessionID: " + headerAccessor.getSessionId()); + return; + } String sessionId = headerAccessor.getUser().getName(); System.out.println("Received create request from session: " + sessionId + ", name: " + request.getPlayerName()); Player host = new Player(sessionId, request.getUserId(), request.getPlayerName(), null, true); @@ -37,6 +39,10 @@ public class SocketController { @MessageMapping("/join") public void joinRoom(@Payload JoinRequest request, SimpMessageHeaderAccessor headerAccessor) { + if (headerAccessor.getUser() == null) { + System.err.println("Error: User is null in joinRoom. SessionID: " + headerAccessor.getSessionId()); + return; + } String sessionId = headerAccessor.getUser().getName(); System.out.println("Received join request from session: " + sessionId + ", room: " + request.getRoomId()); Player player = new Player(sessionId, request.getUserId(), request.getPlayerName(), null, false); @@ -47,6 +53,9 @@ public class SocketController { // Send the player info back to the user messagingTemplate.convertAndSendToUser(sessionId, "/queue/player-info", player); + // Send the room info back to the user + messagingTemplate.convertAndSendToUser(sessionId, "/queue/created", room); + // Notify everyone in the room messagingTemplate.convertAndSend("/topic/room/" + room.getRoomId(), room); } else { @@ -57,6 +66,10 @@ public class SocketController { @MessageMapping("/team/join") public void joinTeam(@Payload TeamJoinRequest request, SimpMessageHeaderAccessor headerAccessor) { + if (headerAccessor.getUser() == null) { + System.err.println("Error: User is null in joinTeam."); + return; + } String sessionId = headerAccessor.getUser().getName(); gameService.joinTeam(request.getRoomId(), sessionId, request.getTeamId()); @@ -64,4 +77,42 @@ public class SocketController { messagingTemplate.convertAndSend("/topic/room/" + room.getRoomId(), room); }); } + + @MessageMapping("/start") + public void startGame(@Payload StartGameRequest request, SimpMessageHeaderAccessor headerAccessor) { + if (headerAccessor.getUser() == null) { + System.err.println("Error: User is null in startGame."); + return; + } + gameService.startGame(request.getRoomId(), request.getDifficulty()); + + gameService.getRoom(request.getRoomId()).ifPresent(room -> { + messagingTemplate.convertAndSend("/topic/room/" + room.getRoomId(), room); + }); + } + + @MessageMapping("/game-action") + public void gameAction(@Payload GameActionRequest request, SimpMessageHeaderAccessor headerAccessor) { + if (headerAccessor.getUser() == null) { + return; + } + gameService.handleGameAction(request); + + gameService.getRoom(request.getRoomId()).ifPresent(room -> { + messagingTemplate.convertAndSend("/topic/room/" + room.getRoomId(), room); + }); + } + + @MessageMapping("/next-round") + public void nextRound(@Payload StartGameRequest request, SimpMessageHeaderAccessor headerAccessor) { + // Reusing StartGameRequest as it contains roomId + if (headerAccessor.getUser() == null) { + return; + } + gameService.nextRound(request.getRoomId()); + + gameService.getRoom(request.getRoomId()).ifPresent(room -> { + messagingTemplate.convertAndSend("/topic/room/" + room.getRoomId(), room); + }); + } } diff --git a/src/main/java/com/example/telegaapp/dto/GameActionRequest.java b/src/main/java/com/example/telegaapp/dto/GameActionRequest.java new file mode 100644 index 0000000..304e3bf --- /dev/null +++ b/src/main/java/com/example/telegaapp/dto/GameActionRequest.java @@ -0,0 +1,9 @@ +package com.example.telegaapp.dto; + +import lombok.Data; + +@Data +public class GameActionRequest { + private String roomId; + private String action; // "GUESS" or "SKIP" +} diff --git a/src/main/java/com/example/telegaapp/dto/StartGameRequest.java b/src/main/java/com/example/telegaapp/dto/StartGameRequest.java new file mode 100644 index 0000000..d0a4992 --- /dev/null +++ b/src/main/java/com/example/telegaapp/dto/StartGameRequest.java @@ -0,0 +1,9 @@ +package com.example.telegaapp.dto; + +import lombok.Data; + +@Data +public class StartGameRequest { + private String roomId; + private String difficulty; +} diff --git a/src/main/java/com/example/telegaapp/model/Room.java b/src/main/java/com/example/telegaapp/model/Room.java index 3f1110f..77947c8 100644 --- a/src/main/java/com/example/telegaapp/model/Room.java +++ b/src/main/java/com/example/telegaapp/model/Room.java @@ -16,8 +16,8 @@ public class Room { // Game state specific private int currentTeamIndex; - private int currentDescriberIndex; // Index in the player list of the current team private long roundEndTime; // Timestamp when round ends + private String currentWord; public Room(String roomId) { this.roomId = roomId; @@ -31,7 +31,6 @@ public class Room { this.teams.add(new Team("Team B")); this.currentTeamIndex = 0; - this.currentDescriberIndex = 0; } @Data diff --git a/src/main/java/com/example/telegaapp/model/Team.java b/src/main/java/com/example/telegaapp/model/Team.java index ae7ac6d..b3f8abf 100644 --- a/src/main/java/com/example/telegaapp/model/Team.java +++ b/src/main/java/com/example/telegaapp/model/Team.java @@ -11,11 +11,13 @@ public class Team { private String name; private int score; private List playerIds; // List of sessionIds/userIds + private int nextDescriberIndex; public Team(String name) { this.id = UUID.randomUUID().toString(); this.name = name; this.score = 0; this.playerIds = new ArrayList<>(); + this.nextDescriberIndex = 0; } } diff --git a/src/main/java/com/example/telegaapp/service/GameService.java b/src/main/java/com/example/telegaapp/service/GameService.java index df13388..803cc1e 100644 --- a/src/main/java/com/example/telegaapp/service/GameService.java +++ b/src/main/java/com/example/telegaapp/service/GameService.java @@ -1,8 +1,10 @@ package com.example.telegaapp.service; +import com.example.telegaapp.dto.GameActionRequest; import com.example.telegaapp.model.Player; import com.example.telegaapp.model.Room; import com.example.telegaapp.model.Team; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Map; @@ -11,10 +13,12 @@ import java.util.Random; import java.util.concurrent.ConcurrentHashMap; @Service +@RequiredArgsConstructor public class GameService { private final Map rooms = new ConcurrentHashMap<>(); private final Random random = new Random(); + private final WordService wordService; public Room createRoom(Player host) { String roomId = generateRoomId(); @@ -83,4 +87,84 @@ public class GameService { } } } + + public void startGame(String roomId, String difficulty) { + Room room = rooms.get(roomId); + if (room != null) { + // Validate teams (at least 2 teams with 1 player each, or 1 team with 2 players for testing? Let's stick to standard) + long teamsWithPlayers = room.getTeams().stream().filter(t -> !t.getPlayerIds().isEmpty()).count(); + if (teamsWithPlayers < 2) { + // For now, just log or ignore. In real app, throw exception or send error. + // But for "dev" mode let's allow it or assume players know what they are doing. + } + + room.setState(com.example.telegaapp.model.GameState.PLAYING); + room.getSettings().setDifficulty(difficulty); + + // Start Round + startRound(room); + } + } + + private void startRound(Room room) { + room.setRoundEndTime(System.currentTimeMillis() + room.getSettings().getRoundTimeSeconds() * 1000L); + room.setCurrentWord(wordService.getRandomWord(room.getSettings().getDifficulty())); + } + + public void handleGameAction(GameActionRequest request) { + Room room = rooms.get(request.getRoomId()); + if (room != null && room.getState() == com.example.telegaapp.model.GameState.PLAYING) { + // Check if round ended + if (System.currentTimeMillis() > room.getRoundEndTime()) { + finishRound(room); + return; + } + + if ("GUESS".equals(request.getAction())) { + Team currentTeam = room.getTeams().get(room.getCurrentTeamIndex()); + currentTeam.setScore(currentTeam.getScore() + 1); + } + + // Next word + room.setCurrentWord(wordService.getRandomWord(room.getSettings().getDifficulty())); + } + } + + public void checkRoundTimer(String roomId) { + Room room = rooms.get(roomId); + if (room != null && room.getState() == com.example.telegaapp.model.GameState.PLAYING) { + if (System.currentTimeMillis() > room.getRoundEndTime()) { + finishRound(room); + } + } + } + + private void finishRound(Room room) { + Team currentTeam = room.getTeams().get(room.getCurrentTeamIndex()); + + // Check for win condition + if (currentTeam.getScore() >= room.getSettings().getWordsToWin()) { + room.setState(com.example.telegaapp.model.GameState.GAME_OVER); + return; + } + + room.setState(com.example.telegaapp.model.GameState.ROUND_FINISHED); + + // Rotate Team + // Rotate describer for this team + int nextIdx = (currentTeam.getNextDescriberIndex() + 1) % Math.max(1, currentTeam.getPlayerIds().size()); + currentTeam.setNextDescriberIndex(nextIdx); + + // Move to next team + int nextTeamIdx = (room.getCurrentTeamIndex() + 1) % room.getTeams().size(); + room.setCurrentTeamIndex(nextTeamIdx); + } + + public void nextRound(String roomId) { + Room room = rooms.get(roomId); + if (room != null && room.getState() == com.example.telegaapp.model.GameState.ROUND_FINISHED) { + room.setState(com.example.telegaapp.model.GameState.PLAYING); + startRound(room); + } + } } diff --git a/src/main/resources/static/assets/index-C-Uqvy09.css b/src/main/resources/static/assets/index-C-Uqvy09.css new file mode 100644 index 0000000..fffa8ea --- /dev/null +++ b/src/main/resources/static/assets/index-C-Uqvy09.css @@ -0,0 +1 @@ +@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-bold:700;--tracking-widest:.1em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.-mx-4{margin-inline:calc(var(--spacing)*-4)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-auto{margin-bottom:auto}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.flex{display:flex}.h-8{height:calc(var(--spacing)*8)}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-8{width:calc(var(--spacing)*8)}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-\[45\%\]{min-width:45%}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-gray-700{border-color:var(--color-gray-700)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-900\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.bg-gray-900\/60{background-color:#10182899}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/60{background-color:color-mix(in oklab,var(--color-gray-900)60%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-700{--tw-gradient-to:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-red-500{color:var(--color-red-500)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.placeholder-gray-600::-moz-placeholder{color:var(--color-gray-600)}.placeholder-gray-600::placeholder{color:var(--color-gray-600)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-green-500:hover{background-color:var(--color-green-500)}.hover\:from-blue-500:hover{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-blue-600:hover{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{text-align:center;width:100%;max-width:1280px;margin:0 auto;padding:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1} diff --git a/src/main/resources/static/assets/index-CtkN2yzV.js b/src/main/resources/static/assets/index-CtkN2yzV.js new file mode 100644 index 0000000..73c2898 --- /dev/null +++ b/src/main/resources/static/assets/index-CtkN2yzV.js @@ -0,0 +1,17 @@ +(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const m of s)if(m.type==="childList")for(const b of m.addedNodes)b.tagName==="LINK"&&b.rel==="modulepreload"&&o(b)}).observe(document,{childList:!0,subtree:!0});function c(s){const m={};return s.integrity&&(m.integrity=s.integrity),s.referrerPolicy&&(m.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?m.credentials="include":s.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function o(s){if(s.ep)return;s.ep=!0;const m=c(s);fetch(s.href,m)}})();var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function qm(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var xc={exports:{}},Bi={};var dp;function Kb(){if(dp)return Bi;dp=1;var h=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function c(o,s,m){var b=null;if(m!==void 0&&(b=""+m),s.key!==void 0&&(b=""+s.key),"key"in s){m={};for(var E in s)E!=="key"&&(m[E]=s[E])}else m=s;return s=m.ref,{$$typeof:h,type:o,key:b,ref:s!==void 0?s:null,props:m}}return Bi.Fragment=r,Bi.jsx=c,Bi.jsxs=c,Bi}var hp;function Ib(){return hp||(hp=1,xc.exports=Kb()),xc.exports}var de=Ib(),Cc={exports:{}},Ae={};var pp;function Fb(){if(pp)return Ae;pp=1;var h=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),b=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),C=Symbol.for("react.activity"),G=Symbol.iterator;function le(A){return A===null||typeof A!="object"?null:(A=G&&A[G]||A["@@iterator"],typeof A=="function"?A:null)}var be={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},J=Object.assign,he={};function ge(A,W,Q){this.props=A,this.context=W,this.refs=he,this.updater=Q||be}ge.prototype.isReactComponent={},ge.prototype.setState=function(A,W){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,W,"setState")},ge.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function T(){}T.prototype=ge.prototype;function N(A,W,Q){this.props=A,this.context=W,this.refs=he,this.updater=Q||be}var w=N.prototype=new T;w.constructor=N,J(w,ge.prototype),w.isPureReactComponent=!0;var q=Array.isArray;function Z(){}var X={H:null,A:null,T:null,S:null},j=Object.prototype.hasOwnProperty;function V(A,W,Q){var ie=Q.ref;return{$$typeof:h,type:A,key:W,ref:ie!==void 0?ie:null,props:Q}}function ve(A,W){return V(A.type,W,A.props)}function Ee(A){return typeof A=="object"&&A!==null&&A.$$typeof===h}function qe(A){var W={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(Q){return W[Q]})}var K=/\/+/g;function lt(A,W){return typeof A=="object"&&A!==null&&A.key!=null?qe(""+A.key):W.toString(36)}function Ye(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(Z,Z):(A.status="pending",A.then(function(W){A.status==="pending"&&(A.status="fulfilled",A.value=W)},function(W){A.status==="pending"&&(A.status="rejected",A.reason=W)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function D(A,W,Q,ie,_e){var xe=typeof A;(xe==="undefined"||xe==="boolean")&&(A=null);var De=!1;if(A===null)De=!0;else switch(xe){case"bigint":case"string":case"number":De=!0;break;case"object":switch(A.$$typeof){case h:case r:De=!0;break;case O:return De=A._init,D(De(A._payload),W,Q,ie,_e)}}if(De)return _e=_e(A),De=ie===""?"."+lt(A,0):ie,q(_e)?(Q="",De!=null&&(Q=De.replace(K,"$&/")+"/"),D(_e,W,Q,"",function(cn){return cn})):_e!=null&&(Ee(_e)&&(_e=ve(_e,Q+(_e.key==null||A&&A.key===_e.key?"":(""+_e.key).replace(K,"$&/")+"/")+De)),W.push(_e)),1;De=0;var $e=ie===""?".":ie+":";if(q(A))for(var tt=0;tt>>1,ee=D[ze];if(0>>1;zes(Q,pe))ies(_e,Q)?(D[ze]=_e,D[ie]=pe,ze=ie):(D[ze]=Q,D[W]=pe,ze=W);else if(ies(_e,pe))D[ze]=_e,D[ie]=pe,ze=ie;else break e}}return I}function s(D,I){var pe=D.sortIndex-I.sortIndex;return pe!==0?pe:D.id-I.id}if(h.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;h.unstable_now=function(){return m.now()}}else{var b=Date,E=b.now();h.unstable_now=function(){return b.now()-E}}var _=[],v=[],O=1,C=null,G=3,le=!1,be=!1,J=!1,he=!1,ge=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function w(D){for(var I=c(v);I!==null;){if(I.callback===null)o(v);else if(I.startTime<=D)o(v),I.sortIndex=I.expirationTime,r(_,I);else break;I=c(v)}}function q(D){if(J=!1,w(D),!be)if(c(_)!==null)be=!0,Z||(Z=!0,qe());else{var I=c(v);I!==null&&Ye(q,I.startTime-D)}}var Z=!1,X=-1,j=5,V=-1;function ve(){return he?!0:!(h.unstable_now()-VD&&ve());){var ze=C.callback;if(typeof ze=="function"){C.callback=null,G=C.priorityLevel;var ee=ze(C.expirationTime<=D);if(D=h.unstable_now(),typeof ee=="function"){C.callback=ee,w(D),I=!0;break t}C===c(_)&&o(_),w(D)}else o(_);C=c(_)}if(C!==null)I=!0;else{var A=c(v);A!==null&&Ye(q,A.startTime-D),I=!1}}break e}finally{C=null,G=pe,le=!1}I=void 0}}finally{I?qe():Z=!1}}}var qe;if(typeof N=="function")qe=function(){N(Ee)};else if(typeof MessageChannel<"u"){var K=new MessageChannel,lt=K.port2;K.port1.onmessage=Ee,qe=function(){lt.postMessage(null)}}else qe=function(){ge(Ee,0)};function Ye(D,I){X=ge(function(){D(h.unstable_now())},I)}h.unstable_IdlePriority=5,h.unstable_ImmediatePriority=1,h.unstable_LowPriority=4,h.unstable_NormalPriority=3,h.unstable_Profiling=null,h.unstable_UserBlockingPriority=2,h.unstable_cancelCallback=function(D){D.callback=null},h.unstable_forceFrameRate=function(D){0>D||125ze?(D.sortIndex=pe,r(v,D),c(_)===null&&D===c(v)&&(J?(T(X),X=-1):J=!0,Ye(q,pe-ze))):(D.sortIndex=ee,r(_,D),be||le||(be=!0,Z||(Z=!0,qe()))),D},h.unstable_shouldYield=ve,h.unstable_wrapCallback=function(D){var I=G;return function(){var pe=G;G=I;try{return D.apply(this,arguments)}finally{G=pe}}}})(zc)),zc}var bp;function Pb(){return bp||(bp=1,Rc.exports=$b()),Rc.exports}var Mc={exports:{}},wt={};var gp;function eg(){if(gp)return wt;gp=1;var h=Ms();function r(_){var v="https://react.dev/errors/"+_;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h)}catch(r){console.error(r)}}return h(),Mc.exports=eg(),Mc.exports}var _p;function ng(){if(_p)return ji;_p=1;var h=Pb(),r=Ms(),c=tg();function o(e){var t="https://react.dev/errors/"+e;if(1ee||(e.current=ze[ee],ze[ee]=null,ee--)}function Q(e,t){ee++,ze[ee]=e.current,e.current=t}var ie=A(null),_e=A(null),xe=A(null),De=A(null);function $e(e,t){switch(Q(xe,t),Q(_e,e),Q(ie,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Bh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Bh(t),e=jh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}W(ie),Q(ie,e)}function tt(){W(ie),W(_e),W(xe)}function cn(e){e.memoizedState!==null&&Q(De,e);var t=ie.current,n=jh(t,e.type);t!==n&&(Q(_e,e),Q(ie,n))}function bn(e){_e.current===e&&(W(ie),W(_e)),De.current===e&&(W(De),Mi._currentValue=pe)}var el,tl;function St(e){if(el===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);el=t&&t[1]||"",tl=-1)":-1l||g[a]!==z[l]){var L=` +`+g[a].replace(" at new "," at ");return e.displayName&&L.includes("")&&(L=L.replace("",e.displayName)),L}while(1<=a&&0<=l);break}}}finally{Xl=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?St(n):""}function gu(e,t){switch(e.tag){case 26:case 27:case 5:return St(e.type);case 16:return St("Lazy");case 13:return e.child!==t&&t!==null?St("Suspense Fallback"):St("Suspense");case 19:return St("SuspenseList");case 0:case 15:return Wt(e.type,!1);case 11:return Wt(e.type.render,!1);case 1:return Wt(e.type,!0);case 31:return St("Activity");default:return""}}function nl(e){try{var t="",n=null;do t+=gu(e,n),n=e,e=e.return;while(e);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}var kl=Object.prototype.hasOwnProperty,Ra=h.unstable_scheduleCallback,Wl=h.unstable_cancelCallback,yu=h.unstable_shouldYield,_u=h.unstable_requestPaint,Rt=h.unstable_now,za=h.unstable_getCurrentPriorityLevel,Wi=h.unstable_ImmediatePriority,Yi=h.unstable_UserBlockingPriority,Yt=h.unstable_NormalPriority,Su=h.unstable_LowPriority,Vi=h.unstable_IdlePriority,gn=h.log,Eu=h.unstable_setDisableYieldValue,Ma=null,bt=null;function yn(e){if(typeof gn=="function"&&Eu(e),bt&&typeof bt.setStrictMode=="function")try{bt.setStrictMode(Ma,e)}catch{}}var zt=Math.clz32?Math.clz32:Yl,Au=Math.log,Qi=Math.LN2;function Yl(e){return e>>>=0,e===0?32:31-(Au(e)/Qi|0)|0}var Jn=256,Na=262144,al=4194304;function _n(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Kn(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var f=a&134217727;return f!==0?(a=f&~i,a!==0?l=_n(a):(u&=f,u!==0?l=_n(u):n||(n=f&~e,n!==0&&(l=_n(n))))):(f=a&~i,f!==0?l=_n(f):u!==0?l=_n(u):n||(n=a&~e,n!==0&&(l=_n(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function sn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ua(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Zi(){var e=al;return al<<=1,(al&62914560)===0&&(al=4194304),e}function ll(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function In(e,t,n,a,l,i){var u=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var f=e.entanglements,g=e.expirationTimes,z=e.hiddenUpdates;for(n=u&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Jl=/[\n"\\]/g;function d(e){return e.replace(Jl,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function p(e,t,n,a,l,i,u,f){e.name="",u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?e.type=u:e.removeAttribute("type"),t!=null?u==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Bt(t)):e.value!==""+Bt(t)&&(e.value=""+Bt(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?U(e,u,Bt(t)):n!=null?U(e,u,Bt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+Bt(f):e.removeAttribute("name")}function y(e,t,n,a,l,i,u,f){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Mn(e);return}n=n!=null?""+Bt(n):"",t=t!=null?""+Bt(t):n,f||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=f?e.checked:!!a,e.defaultChecked=!!a,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),Mn(e)}function U(e,t,n){t==="number"&&ol(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function H(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ba=!1;if(dn)try{var ja={};Object.defineProperty(ja,"passive",{get:function(){Ba=!0}}),window.addEventListener("test",ja,ja),window.removeEventListener("test",ja,ja)}catch{Ba=!1}var An=null,te=null,jt=null;function Nn(){if(jt)return jt;var e,t=te,n=t.length,a,l="value"in An?An.value:An.textContent,i=l.length;for(e=0;e=$l),Xs=" ",ks=!1;function Ws(e,t){switch(e){case"keyup":return bv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ys(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var cl=!1;function yv(e,t){switch(e){case"compositionend":return Ys(t);case"keypress":return t.which!==32?null:(ks=!0,Xs);case"textInput":return e=t.data,e===Xs&&ks?null:e;default:return null}}function _v(e,t){if(cl)return e==="compositionend"||!Mu&&Ws(e,t)?(e=Nn(),jt=te=An=null,cl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=$s(n)}}function ef(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ef(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function tf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ol(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ol(e.document)}return t}function qu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var wv=dn&&"documentMode"in document&&11>=document.documentMode,sl=null,Bu=null,ni=null,ju=!1;function nf(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ju||sl==null||sl!==ol(a)||(a=sl,"selectionStart"in a&&qu(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),ni&&ti(ni,a)||(ni=a,a=Zr(Bu,"onSelect"),0>=u,l-=u,Tn=1<<32-zt(t)+l|n<we?(je=fe,fe=null):je=fe.sibling;var Xe=M(x,fe,R[we],k);if(Xe===null){fe===null&&(fe=je);break}e&&fe&&Xe.alternate===null&&t(x,fe),S=i(Xe,S,we),Ge===null?me=Xe:Ge.sibling=Xe,Ge=Xe,fe=je}if(we===R.length)return n(x,fe),He&&qn(x,we),me;if(fe===null){for(;wewe?(je=fe,fe=null):je=fe.sibling;var Oa=M(x,fe,Xe.value,k);if(Oa===null){fe===null&&(fe=je);break}e&&fe&&Oa.alternate===null&&t(x,fe),S=i(Oa,S,we),Ge===null?me=Oa:Ge.sibling=Oa,Ge=Oa,fe=je}if(Xe.done)return n(x,fe),He&&qn(x,we),me;if(fe===null){for(;!Xe.done;we++,Xe=R.next())Xe=Y(x,Xe.value,k),Xe!==null&&(S=i(Xe,S,we),Ge===null?me=Xe:Ge.sibling=Xe,Ge=Xe);return He&&qn(x,we),me}for(fe=a(fe);!Xe.done;we++,Xe=R.next())Xe=B(fe,x,we,Xe.value,k),Xe!==null&&(e&&Xe.alternate!==null&&fe.delete(Xe.key===null?we:Xe.key),S=i(Xe,S,we),Ge===null?me=Xe:Ge.sibling=Xe,Ge=Xe);return e&&fe.forEach(function(Jb){return t(x,Jb)}),He&&qn(x,we),me}function Ie(x,S,R,k){if(typeof R=="object"&&R!==null&&R.type===J&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case le:e:{for(var me=R.key;S!==null;){if(S.key===me){if(me=R.type,me===J){if(S.tag===7){n(x,S.sibling),k=l(S,R.props.children),k.return=x,x=k;break e}}else if(S.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===j&&Za(me)===S.type){n(x,S.sibling),k=l(S,R.props),oi(k,R),k.return=x,x=k;break e}n(x,S);break}else t(x,S);S=S.sibling}R.type===J?(k=ka(R.props.children,x.mode,k,R.key),k.return=x,x=k):(k=sr(R.type,R.key,R.props,null,x.mode,k),oi(k,R),k.return=x,x=k)}return u(x);case be:e:{for(me=R.key;S!==null;){if(S.key===me)if(S.tag===4&&S.stateNode.containerInfo===R.containerInfo&&S.stateNode.implementation===R.implementation){n(x,S.sibling),k=l(S,R.children||[]),k.return=x,x=k;break e}else{n(x,S);break}else t(x,S);S=S.sibling}k=Wu(R,x.mode,k),k.return=x,x=k}return u(x);case j:return R=Za(R),Ie(x,S,R,k)}if(Ye(R))return ue(x,S,R,k);if(qe(R)){if(me=qe(R),typeof me!="function")throw Error(o(150));return R=me.call(R),ye(x,S,R,k)}if(typeof R.then=="function")return Ie(x,S,br(R),k);if(R.$$typeof===N)return Ie(x,S,hr(x,R),k);gr(x,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,S!==null&&S.tag===6?(n(x,S.sibling),k=l(S,R),k.return=x,x=k):(n(x,S),k=ku(R,x.mode,k),k.return=x,x=k),u(x)):n(x,S)}return function(x,S,R,k){try{ui=0;var me=Ie(x,S,R,k);return Sl=null,me}catch(fe){if(fe===_l||fe===mr)throw fe;var Ge=Qt(29,fe,null,x.mode);return Ge.lanes=k,Ge.return=x,Ge}finally{}}}var Ka=xf(!0),Cf=xf(!1),oa=!1;function to(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function no(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ca(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function sa(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(ke&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=cr(e),sf(e,null,n),t}return or(e,a,t,n),cr(e)}function ci(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Ki(e,n)}}function ao(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var lo=!1;function si(){if(lo){var e=yl;if(e!==null)throw e}}function fi(e,t,n,a){lo=!1;var l=e.updateQueue;oa=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,f=l.shared.pending;if(f!==null){l.shared.pending=null;var g=f,z=g.next;g.next=null,u===null?i=z:u.next=z,u=g;var L=e.alternate;L!==null&&(L=L.updateQueue,f=L.lastBaseUpdate,f!==u&&(f===null?L.firstBaseUpdate=z:f.next=z,L.lastBaseUpdate=g))}if(i!==null){var Y=l.baseState;u=0,L=z=g=null,f=i;do{var M=f.lane&-536870913,B=M!==f.lane;if(B?(Be&M)===M:(a&M)===M){M!==0&&M===gl&&(lo=!0),L!==null&&(L=L.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var ue=e,ye=f;M=t;var Ie=n;switch(ye.tag){case 1:if(ue=ye.payload,typeof ue=="function"){Y=ue.call(Ie,Y,M);break e}Y=ue;break e;case 3:ue.flags=ue.flags&-65537|128;case 0:if(ue=ye.payload,M=typeof ue=="function"?ue.call(Ie,Y,M):ue,M==null)break e;Y=C({},Y,M);break e;case 2:oa=!0}}M=f.callback,M!==null&&(e.flags|=64,B&&(e.flags|=8192),B=l.callbacks,B===null?l.callbacks=[M]:B.push(M))}else B={lane:M,tag:f.tag,payload:f.payload,callback:f.callback,next:null},L===null?(z=L=B,g=Y):L=L.next=B,u|=M;if(f=f.next,f===null){if(f=l.shared.pending,f===null)break;B=f,f=B.next,B.next=null,l.lastBaseUpdate=B,l.shared.pending=null}}while(!0);L===null&&(g=Y),l.baseState=g,l.firstBaseUpdate=z,l.lastBaseUpdate=L,i===null&&(l.shared.lanes=0),ma|=u,e.lanes=u,e.memoizedState=Y}}function wf(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Rf(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ei?i:8;var u=D.T,f={};D.T=f,To(e,!1,t,n);try{var g=l(),z=D.S;if(z!==null&&z(f,g),g!==null&&typeof g=="object"&&typeof g.then=="function"){var L=Hv(g,a);pi(e,t,L,Ft(e))}else pi(e,t,a,Ft(e))}catch(Y){pi(e,t,{then:function(){},status:"rejected",reason:Y},Ft())}finally{I.p=i,u!==null&&f.types!==null&&(u.types=f.types),D.T=u}}function Wv(){}function Eo(e,t,n,a){if(e.tag!==5)throw Error(o(476));var l=ud(e).queue;rd(e,l,t,pe,n===null?Wv:function(){return od(e),n(a)})}function ud(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:pe,baseState:pe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:pe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function od(e){var t=ud(e);t.next===null&&(t=e.alternate.memoizedState),pi(e,t.next.queue,{},Ft())}function Ao(){return Tt(Mi)}function cd(){return st().memoizedState}function sd(){return st().memoizedState}function Yv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ft();e=ca(n);var a=sa(t,e,n);a!==null&&(kt(a,t,n),ci(a,t,n)),t={cache:Fu()},e.payload=t;return}t=t.return}}function Vv(e,t,n){var a=Ft();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},wr(e)?dd(t,n):(n=Gu(e,t,n,a),n!==null&&(kt(n,e,a),hd(n,t,a)))}function fd(e,t,n){var a=Ft();pi(e,t,n,a)}function pi(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(wr(e))dd(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,f=i(u,n);if(l.hasEagerState=!0,l.eagerState=f,Vt(f,u))return or(e,t,l,0),Fe===null&&ur(),!1}catch{}finally{}if(n=Gu(e,t,l,a),n!==null)return kt(n,e,a),hd(n,t,a),!0}return!1}function To(e,t,n,a){if(a={lane:2,revertLane:nc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},wr(e)){if(t)throw Error(o(479))}else t=Gu(e,n,a,2),t!==null&&kt(t,e,2)}function wr(e){var t=e.alternate;return e===Oe||t!==null&&t===Oe}function dd(e,t){Al=Sr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function hd(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Ki(e,n)}}var mi={readContext:Tt,use:Tr,useCallback:ut,useContext:ut,useEffect:ut,useImperativeHandle:ut,useLayoutEffect:ut,useInsertionEffect:ut,useMemo:ut,useReducer:ut,useRef:ut,useState:ut,useDebugValue:ut,useDeferredValue:ut,useTransition:ut,useSyncExternalStore:ut,useId:ut,useHostTransitionStatus:ut,useFormState:ut,useActionState:ut,useOptimistic:ut,useMemoCache:ut,useCacheRefresh:ut};mi.useEffectEvent=ut;var pd={readContext:Tt,use:Tr,useCallback:function(e,t){return Nt().memoizedState=[e,t===void 0?null:t],e},useContext:Tt,useEffect:Ff,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,xr(4194308,4,td.bind(null,t,e),n)},useLayoutEffect:function(e,t){return xr(4194308,4,e,t)},useInsertionEffect:function(e,t){xr(4,2,e,t)},useMemo:function(e,t){var n=Nt();t=t===void 0?null:t;var a=e();if(Ia){yn(!0);try{e()}finally{yn(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=Nt();if(n!==void 0){var l=n(t);if(Ia){yn(!0);try{n(t)}finally{yn(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=Vv.bind(null,Oe,e),[a.memoizedState,e]},useRef:function(e){var t=Nt();return e={current:e},t.memoizedState=e},useState:function(e){e=bo(e);var t=e.queue,n=fd.bind(null,Oe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_o,useDeferredValue:function(e,t){var n=Nt();return So(n,e,t)},useTransition:function(){var e=bo(!1);return e=rd.bind(null,Oe,e.queue,!0,!1),Nt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=Oe,l=Nt();if(He){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),Fe===null)throw Error(o(349));(Be&127)!==0||Bf(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Ff(Hf.bind(null,a,i,e),[e]),a.flags|=2048,Ol(9,{destroy:void 0},jf.bind(null,a,i,n,t),null),n},useId:function(){var e=Nt(),t=Fe.identifierPrefix;if(He){var n=On,a=Tn;n=(a&~(1<<32-zt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Er++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?u.createElement("select",{is:a.is}):u.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?u.createElement(l,{is:a.is}):u.createElement(l)}}i[ft]=t,i[Et]=a;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)i.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}t.stateNode=i;e:switch(xt(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Gn(t)}}return et(t),Do(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Gn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(e=xe.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=At,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[ft]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Uh(e.nodeValue,n)),e||ra(t,!0)}else e=Jr(e).createTextNode(a),e[ft]=t,t.stateNode=e}return et(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ft]=t}else Wa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;et(t),e=!1}else n=Zu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Jt(t),t):(Jt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return et(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(317));l[ft]=t}else Wa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;et(t),l=!1}else l=Zu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Jt(t),t):(Jt(t),null)}return Jt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ur(t,t.updateQueue),et(t),null);case 4:return tt(),e===null&&rc(t.stateNode.containerInfo),et(t),null;case 10:return jn(t.type),et(t),null;case 19:if(W(ct),a=t.memoizedState,a===null)return et(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)bi(a,!1);else{if(ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=_r(e),i!==null){for(t.flags|=128,bi(a,!1),e=i.updateQueue,t.updateQueue=e,Ur(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ff(n,e),n=n.sibling;return Q(ct,ct.current&1|2),He&&qn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Rt()>Dr&&(t.flags|=128,l=!0,bi(a,!1),t.lanes=4194304)}else{if(!l)if(e=_r(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Ur(t,e),bi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!He)return et(t),null}else 2*Rt()-a.renderingStartTime>Dr&&n!==536870912&&(t.flags|=128,l=!0,bi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Rt(),e.sibling=null,n=ct.current,Q(ct,l?n&1|2:n&1),He&&qn(t,a.treeForkCount),e):(et(t),null);case 22:case 23:return Jt(t),ro(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(et(t),t.subtreeFlags&6&&(t.flags|=8192)):et(t),n=t.updateQueue,n!==null&&Ur(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&W(Qa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),jn(ht),et(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Iv(e,t){switch(Vu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return jn(ht),tt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return bn(t),null;case 31:if(t.memoizedState!==null){if(Jt(t),t.alternate===null)throw Error(o(340));Wa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Wa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return W(ct),null;case 4:return tt(),null;case 10:return jn(t.type),null;case 22:case 23:return Jt(t),ro(),e!==null&&W(Qa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return jn(ht),null;case 25:return null;default:return null}}function Dd(e,t){switch(Vu(t),t.tag){case 3:jn(ht),tt();break;case 26:case 27:case 5:bn(t);break;case 4:tt();break;case 31:t.memoizedState!==null&&Jt(t);break;case 13:Jt(t);break;case 19:W(ct);break;case 10:jn(t.type);break;case 22:case 23:Jt(t),ro(),e!==null&&W(Qa);break;case 24:jn(ht)}}function gi(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,u=n.inst;a=i(),u.destroy=a}n=n.next}while(n!==l)}}catch(f){Qe(t,t.return,f)}}function ha(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var u=a.inst,f=u.destroy;if(f!==void 0){u.destroy=void 0,l=t;var g=n,z=f;try{z()}catch(L){Qe(l,g,L)}}}a=a.next}while(a!==i)}}catch(L){Qe(t,t.return,L)}}function Ld(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Rf(t,n)}catch(a){Qe(e,e.return,a)}}}function Gd(e,t,n){n.props=Fa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){Qe(e,t,a)}}function yi(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){Qe(e,t,l)}}function xn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){Qe(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){Qe(e,t,l)}else n.current=null}function Xd(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){Qe(e,e.return,l)}}function Lo(e,t,n){try{var a=e.stateNode;gb(a,e.type,n,t),a[Et]=t}catch(l){Qe(e,e.return,l)}}function kd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&_a(e.type)||e.tag===4}function Go(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||kd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&_a(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xo(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=se));else if(a!==4&&(a===27&&_a(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xo(e,t,n),e=e.sibling;e!==null;)Xo(e,t,n),e=e.sibling}function qr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&_a(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(qr(e,t,n),e=e.sibling;e!==null;)qr(e,t,n),e=e.sibling}function Wd(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);xt(t,a,n),t[ft]=e,t[Et]=n}catch(i){Qe(e,e.return,i)}}var Xn=!1,vt=!1,ko=!1,Yd=typeof WeakSet=="function"?WeakSet:Set,_t=null;function Fv(e,t){if(e=e.containerInfo,cc=tu,e=tf(e),qu(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,f=-1,g=-1,z=0,L=0,Y=e,M=null;t:for(;;){for(var B;Y!==n||l!==0&&Y.nodeType!==3||(f=u+l),Y!==i||a!==0&&Y.nodeType!==3||(g=u+a),Y.nodeType===3&&(u+=Y.nodeValue.length),(B=Y.firstChild)!==null;)M=Y,Y=B;for(;;){if(Y===e)break t;if(M===n&&++z===l&&(f=u),M===i&&++L===a&&(g=u),(B=Y.nextSibling)!==null)break;Y=M,M=Y.parentNode}Y=B}n=f===-1||g===-1?null:{start:f,end:g}}else n=null}n=n||{start:0,end:0}}else n=null;for(sc={focusedElem:e,selectionRange:n},tu=!1,_t=t;_t!==null;)if(t=_t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_t=e;else for(;_t!==null;){switch(t=_t,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),xt(i,a,n),i[ft]=e,dt(i),a=i;break e;case"link":var u=Ih("link","href",l).get(a+(n.href||""));if(u){for(var f=0;fIe&&(u=Ie,Ie=ye,ye=u);var x=Ps(f,ye),S=Ps(f,Ie);if(x&&S&&(B.rangeCount!==1||B.anchorNode!==x.node||B.anchorOffset!==x.offset||B.focusNode!==S.node||B.focusOffset!==S.offset)){var R=Y.createRange();R.setStart(x.node,x.offset),B.removeAllRanges(),ye>Ie?(B.addRange(R),B.extend(S.node,S.offset)):(R.setEnd(S.node,S.offset),B.addRange(R))}}}}for(Y=[],B=f;B=B.parentNode;)B.nodeType===1&&Y.push({element:B,left:B.scrollLeft,top:B.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fn?32:n,D.T=null,n=Ko,Ko=null;var i=ba,u=Qn;if(gt=0,zl=ba=null,Qn=0,(ke&6)!==0)throw Error(o(331));var f=ke;if(ke|=4,th(i.current),$d(i,i.current,u,n),ke=f,Oi(0,!1),bt&&typeof bt.onPostCommitFiberRoot=="function")try{bt.onPostCommitFiberRoot(Ma,i)}catch{}return!0}finally{I.p=l,D.T=a,yh(e,t)}}function Sh(e,t,n){t=en(n,t),t=wo(e.stateNode,t,2),e=sa(e,t,2),e!==null&&(wn(e,2),Cn(e))}function Qe(e,t,n){if(e.tag===3)Sh(e,e,n);else for(;t!==null;){if(t.tag===3){Sh(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(va===null||!va.has(a))){e=en(n,e),n=Ed(2),a=sa(t,n,2),a!==null&&(Ad(n,a,t,e),wn(a,2),Cn(a));break}}t=t.return}}function Po(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new eb;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Vo=!0,l.add(n),e=ib.bind(null,e,t,n),t.then(e,e))}function ib(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Fe===e&&(Be&n)===n&&(ot===4||ot===3&&(Be&62914560)===Be&&300>Rt()-Hr?(ke&2)===0&&Ml(e,0):Qo|=n,Rl===Be&&(Rl=0)),Cn(e)}function Eh(e,t){t===0&&(t=Zi()),e=Xa(e,t),e!==null&&(wn(e,t),Cn(e))}function rb(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Eh(e,n)}function ub(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),Eh(e,n)}function ob(e,t){return Ra(e,t)}var Yr=null,Ul=null,ec=!1,Vr=!1,tc=!1,ya=0;function Cn(e){e!==Ul&&e.next===null&&(Ul===null?Yr=Ul=e:Ul=Ul.next=e),Vr=!0,ec||(ec=!0,sb())}function Oi(e,t){if(!tc&&Vr){tc=!0;do for(var n=!1,a=Yr;a!==null;){if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var u=a.suspendedLanes,f=a.pingedLanes;i=(1<<31-zt(42|e)+1)-1,i&=l&~(u&~f),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,xh(a,i))}else i=Be,i=Kn(a,a===Fe?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||sn(a,i)||(n=!0,xh(a,i));a=a.next}while(n);tc=!1}}function cb(){Ah()}function Ah(){Vr=ec=!1;var e=0;ya!==0&&_b()&&(e=ya);for(var t=Rt(),n=null,a=Yr;a!==null;){var l=a.next,i=Th(a,t);i===0?(a.next=null,n===null?Yr=l:n.next=l,l===null&&(Ul=n)):(n=a,(e!==0||(i&3)!==0)&&(Vr=!0)),a=l}gt!==0&>!==5||Oi(e),ya!==0&&(ya=0)}function Th(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0f)break;var L=g.transferSize,Y=g.initiatorType;L&&qh(Y)&&(g=g.responseEnd,u+=L*(g"u"?null:document;function Qh(e,t,n){var a=ql;if(a&&typeof t=="string"&&t){var l=d(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),Vh.has(l)||(Vh.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),xt(t,"link",e),dt(t),a.head.appendChild(t)))}}function Rb(e){Zn.D(e),Qh("dns-prefetch",e,null)}function zb(e,t){Zn.C(e,t),Qh("preconnect",e,t)}function Mb(e,t,n){Zn.L(e,t,n);var a=ql;if(a&&e&&t){var l='link[rel="preload"][as="'+d(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+d(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+d(n.imageSizes)+'"]')):l+='[href="'+d(e)+'"]';var i=l;switch(t){case"style":i=Bl(e);break;case"script":i=jl(e)}un.has(i)||(e=C({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),un.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(Ri(i))||t==="script"&&a.querySelector(zi(i))||(t=a.createElement("link"),xt(t,"link",e),dt(t),a.head.appendChild(t)))}}function Nb(e,t){Zn.m(e,t);var n=ql;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+d(a)+'"][href="'+d(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=jl(e)}if(!un.has(i)&&(e=C({rel:"modulepreload",href:e},t),un.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(zi(i)))return}a=n.createElement("link"),xt(a,"link",e),dt(a),n.head.appendChild(a)}}}function Ub(e,t,n){Zn.S(e,t,n);var a=ql;if(a&&e){var l=ea(a).hoistableStyles,i=Bl(e);t=t||"default";var u=l.get(i);if(!u){var f={loading:0,preload:null};if(u=a.querySelector(Ri(i)))f.loading=5;else{e=C({rel:"stylesheet",href:e,"data-precedence":t},n),(n=un.get(i))&&bc(e,n);var g=u=a.createElement("link");dt(g),xt(g,"link",e),g._p=new Promise(function(z,L){g.onload=z,g.onerror=L}),g.addEventListener("load",function(){f.loading|=1}),g.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Ir(u,t,a)}u={type:"stylesheet",instance:u,count:1,state:f},l.set(i,u)}}}function qb(e,t){Zn.X(e,t);var n=ql;if(n&&e){var a=ea(n).hoistableScripts,l=jl(e),i=a.get(l);i||(i=n.querySelector(zi(l)),i||(e=C({src:e,async:!0},t),(t=un.get(l))&&gc(e,t),i=n.createElement("script"),dt(i),xt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Bb(e,t){Zn.M(e,t);var n=ql;if(n&&e){var a=ea(n).hoistableScripts,l=jl(e),i=a.get(l);i||(i=n.querySelector(zi(l)),i||(e=C({src:e,async:!0,type:"module"},t),(t=un.get(l))&&gc(e,t),i=n.createElement("script"),dt(i),xt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Zh(e,t,n,a){var l=(l=xe.current)?Kr(l):null;if(!l)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Bl(n.href),n=ea(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Bl(n.href);var i=ea(l).hoistableStyles,u=i.get(e);if(u||(l=l.ownerDocument||l,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,u),(i=l.querySelector(Ri(e)))&&!i._p&&(u.instance=i,u.state.loading=5),un.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},un.set(e,n),i||jb(l,e,n,u.state))),t&&a===null)throw Error(o(528,""));return u}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=jl(n),n=ea(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Bl(e){return'href="'+d(e)+'"'}function Ri(e){return'link[rel="stylesheet"]['+e+"]"}function Jh(e){return C({},e,{"data-precedence":e.precedence,precedence:null})}function jb(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),xt(t,"link",n),dt(t),e.head.appendChild(t))}function jl(e){return'[src="'+d(e)+'"]'}function zi(e){return"script[async]"+e}function Kh(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+d(n.href)+'"]');if(a)return t.instance=a,dt(a),a;var l=C({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),dt(a),xt(a,"style",l),Ir(a,n.precedence,e),t.instance=a;case"stylesheet":l=Bl(n.href);var i=e.querySelector(Ri(l));if(i)return t.state.loading|=4,t.instance=i,dt(i),i;a=Jh(n),(l=un.get(l))&&bc(a,l),i=(e.ownerDocument||e).createElement("link"),dt(i);var u=i;return u._p=new Promise(function(f,g){u.onload=f,u.onerror=g}),xt(i,"link",a),t.state.loading|=4,Ir(i,n.precedence,e),t.instance=i;case"script":return i=jl(n.src),(l=e.querySelector(zi(i)))?(t.instance=l,dt(l),l):(a=n,(l=un.get(i))&&(a=C({},n),gc(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),dt(l),xt(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Ir(a,n.precedence,e));return t.instance}function Ir(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,u=0;u title"):null)}function Hb(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function $h(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Db(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Bl(a.href),i=t.querySelector(Ri(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=$r.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,dt(i);return}i=t.ownerDocument||t,a=Jh(a),(l=un.get(l))&&bc(a,l),i=i.createElement("link"),dt(i);var u=i;u._p=new Promise(function(f,g){u.onload=f,u.onerror=g}),xt(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=$r.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var yc=0;function Lb(e,t){return e.stylesheets&&e.count===0&&eu(e,e.stylesheets),0yc?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function $r(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)eu(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Pr=null;function eu(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Pr=new Map,t.forEach(Gb,e),Pr=null,$r.call(e))}function Gb(e,t){if(!(t.state.loading&4)){var n=Pr.get(e);if(n)var a=n.get(null);else{n=new Map,Pr.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h)}catch(r){console.error(r)}}return h(),wc.exports=ng(),wc.exports}var lg=ag(),Nc={exports:{}},ou={},Ep;function ig(){return Ep||(Ep=1,F.crypto&&F.crypto.getRandomValues?ou.randomBytes=function(h){var r=new Uint8Array(h);return F.crypto.getRandomValues(r),r}:ou.randomBytes=function(h){for(var r=new Array(h),c=0;c=2&&(V=V.slice(2)):G(q)?V=w[4]:q?Z&&(V=V.slice(2)):j>=2&&G(N.protocol)&&(V=w[4]),{protocol:q,slashes:Z||G(q),slashesCount:j,rest:V}}function be(T,N){if(T==="")return N;for(var w=(N||"/").split("/").slice(0,-1).concat(T.split("/")),q=w.length,Z=w[q-1],X=!1,j=0;q--;)w[q]==="."?w.splice(q,1):w[q]===".."?(w.splice(q,1),j++):j&&(q===0&&(X=!0),w.splice(q,1),j--);return X&&w.unshift(""),(Z==="."||Z==="..")&&w.push(""),w.join("/")}function J(T,N,w){if(T=_(T),T=T.replace(o,""),!(this instanceof J))return new J(T,N,w);var q,Z,X,j,V,ve,Ee=v.slice(),qe=typeof N,K=this,lt=0;for(qe!=="object"&&qe!=="string"&&(w=N,N=null),w&&typeof w!="function"&&(w=r.parse),N=C(N),Z=le(T||"",N),q=!Z.protocol&&!Z.slashes,K.slashes=Z.slashes||q&&N.slashes,K.protocol=Z.protocol||N.protocol||"",T=Z.rest,(Z.protocol==="file:"&&(Z.slashesCount!==2||E.test(T))||!Z.slashes&&(Z.protocol||Z.slashesCount<2||!G(K.protocol)))&&(Ee[3]=[/(.*)/,"pathname"]);lt1?this._listeners[r]=o.slice(0,s).concat(o.slice(s+1)):delete this._listeners[r];return}}},h.prototype.dispatchEvent=function(){var r=arguments[0],c=r.type,o=arguments.length===1?[r]:Array.apply(null,arguments);if(this["on"+c]&&this["on"+c].apply(this,o),c in this._listeners)for(var s=this._listeners[c],m=0;m0){var m="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,m,function(b){s.sendStop=null,b?(s.emit("close",b.code||1006,"Sending error: "+b),s.close()):s.sendScheduleWait()}),this.sendBuffer=[]}},o.prototype._cleanup=function(){this.removeAllListeners()},o.prototype.close=function(){this._cleanup(),this.sendStop&&(this.sendStop(),this.sendStop=null)},Gc=o,Gc}var Xc,Bp;function fg(){if(Bp)return Xc;Bp=1;var h=We(),r=qt().EventEmitter,c=function(){};function o(s,m,b){r.call(this),this.Receiver=s,this.receiveUrl=m,this.AjaxObject=b,this._scheduleReceiver()}return h(o,r),o.prototype._scheduleReceiver=function(){var s=this,m=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);m.on("message",function(b){s.emit("message",b)}),m.once("close",function(b,E){c("close",b,E,s.pollIsClosing),s.poll=m=null,s.pollIsClosing||(E==="network"?s._scheduleReceiver():(s.emit("close",b||1006,E),s.removeAllListeners()))})},o.prototype.abort=function(){this.removeAllListeners(),this.pollIsClosing=!0,this.poll&&this.poll.abort()},Xc=o,Xc}var kc,jp;function Hm(){if(jp)return kc;jp=1;var h=We(),r=on(),c=sg(),o=fg();function s(m,b,E,_,v){var O=r.addPath(m,b),C=this;c.call(this,m,E),this.poll=new o(_,O,v),this.poll.on("message",function(G){C.emit("message",G)}),this.poll.once("close",function(G,le){C.poll=null,C.emit("close",G,le),C.close()})}return h(s,c),s.prototype.close=function(){c.prototype.close.call(this),this.removeAllListeners(),this.poll&&(this.poll.abort(),this.poll=null)},kc=s,kc}var Wc,Hp;function Gl(){if(Hp)return Wc;Hp=1;var h=We(),r=on(),c=Hm();function o(m){return function(b,E,_){var v={};typeof E=="string"&&(v.headers={"Content-type":"text/plain"});var O=r.addPath(b,"/xhr_send"),C=new m("POST",O,E,v);return C.once("finish",function(G){if(C=null,G!==200&&G!==204)return _(new Error("http status "+G));_()}),function(){C.close(),C=null;var G=new Error("Aborted");G.code=1e3,_(G)}}}function s(m,b,E,_){c.call(this,m,b,o(_),E,_)}return h(s,c),Wc=s,Wc}var Yc,Dp;function vu(){if(Dp)return Yc;Dp=1;var h=We(),r=qt().EventEmitter;function c(o,s){r.call(this);var m=this;this.bufferPosition=0,this.xo=new s("POST",o,null),this.xo.on("chunk",this._chunkHandler.bind(this)),this.xo.once("finish",function(b,E){m._chunkHandler(b,E),m.xo=null;var _=b===200?"network":"permanent";m.emit("close",null,_),m._cleanup()})}return h(c,r),c.prototype._chunkHandler=function(o,s){if(!(o!==200||!s))for(var m=-1;;this.bufferPosition+=m+1){var b=s.slice(this.bufferPosition);if(m=b.indexOf(` +`),m===-1)break;var E=b.slice(0,m);E&&this.emit("message",E)}},c.prototype._cleanup=function(){this.removeAllListeners()},c.prototype.abort=function(){this.xo&&(this.xo.close(),this.emit("close",null,"user"),this.xo=null),this._cleanup()},Yc=c,Yc}var Vc,Lp;function Dm(){if(Lp)return Vc;Lp=1;var h=qt().EventEmitter,r=We(),c=wa(),o=on(),s=F.XMLHttpRequest,m=function(){};function b(v,O,C,G){var le=this;h.call(this),setTimeout(function(){le._start(v,O,C,G)},0)}r(b,h),b.prototype._start=function(v,O,C,G){var le=this;try{this.xhr=new s}catch{}if(!this.xhr){this.emit("finish",0,"no xhr support"),this._cleanup();return}O=o.addQuery(O,"t="+ +new Date),this.unloadRef=c.unloadAdd(function(){le._cleanup(!0)});try{this.xhr.open(v,O,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){m("xhr timeout"),le.emit("finish",0,""),le._cleanup(!1)})}catch{this.emit("finish",0,""),this._cleanup(!1);return}if((!G||!G.noCredentials)&&b.supportsCORS&&(this.xhr.withCredentials=!0),G&&G.headers)for(var be in G.headers)this.xhr.setRequestHeader(be,G.headers[be]);this.xhr.onreadystatechange=function(){if(le.xhr){var J=le.xhr,he,ge;switch(m("readyState",J.readyState),J.readyState){case 3:try{ge=J.status,he=J.responseText}catch{}ge===1223&&(ge=204),ge===200&&he&&he.length>0&&le.emit("chunk",ge,he);break;case 4:ge=J.status,ge===1223&&(ge=204),(ge===12005||ge===12029)&&(ge=0),m("finish",ge,J.responseText),le.emit("finish",ge,J.responseText),le._cleanup(!1);break}}};try{le.xhr.send(C)}catch{le.emit("finish",0,""),le._cleanup(!1)}},b.prototype._cleanup=function(v){if(this.xhr){if(this.removeAllListeners(),c.unloadDel(this.unloadRef),this.xhr.onreadystatechange=function(){},this.xhr.ontimeout&&(this.xhr.ontimeout=null),v)try{this.xhr.abort()}catch{}this.unloadRef=this.xhr=null}},b.prototype.close=function(){this._cleanup(!0)},b.enabled=!!s;var E=["Active"].concat("Object").join("X");!b.enabled&&E in F&&(s=function(){try{return new F[E]("Microsoft.XMLHTTP")}catch{return null}},b.enabled=!!new s);var _=!1;try{_="withCredentials"in new s}catch{}return b.supportsCORS=_,Vc=b,Vc}var Qc,Gp;function bu(){if(Gp)return Qc;Gp=1;var h=We(),r=Dm();function c(o,s,m,b){r.call(this,o,s,m,b)}return h(c,r),c.enabled=r.enabled&&r.supportsCORS,Qc=c,Qc}var Zc,Xp;function Gi(){if(Xp)return Zc;Xp=1;var h=We(),r=Dm();function c(o,s,m){r.call(this,o,s,m,{noCredentials:!0})}return h(c,r),c.enabled=r.enabled,Zc=c,Zc}var Jc,kp;function Xi(){return kp||(kp=1,Jc={isOpera:function(){return F.navigator&&/opera/i.test(F.navigator.userAgent)},isKonqueror:function(){return F.navigator&&/konqueror/i.test(F.navigator.userAgent)},hasDomain:function(){if(!F.document)return!0;try{return!!F.document.domain}catch{return!1}}}),Jc}var Kc,Wp;function dg(){if(Wp)return Kc;Wp=1;var h=We(),r=Gl(),c=vu(),o=bu(),s=Gi(),m=Xi();function b(E){if(!s.enabled&&!o.enabled)throw new Error("Transport created when disabled");r.call(this,E,"/xhr_streaming",c,o)}return h(b,r),b.enabled=function(E){return E.nullOrigin||m.isOpera()?!1:o.enabled},b.transportName="xhr-streaming",b.roundTrips=2,b.needBody=!!F.document,Kc=b,Kc}var Ic,Yp;function Ns(){if(Yp)return Ic;Yp=1;var h=qt().EventEmitter,r=We(),c=wa(),o=Xi(),s=on(),m=function(){};function b(E,_,v){var O=this;h.call(this),setTimeout(function(){O._start(E,_,v)},0)}return r(b,h),b.prototype._start=function(E,_,v){var O=this,C=new F.XDomainRequest;_=s.addQuery(_,"t="+ +new Date),C.onerror=function(){O._error()},C.ontimeout=function(){O._error()},C.onprogress=function(){m("progress",C.responseText),O.emit("chunk",200,C.responseText)},C.onload=function(){O.emit("finish",200,C.responseText),O._cleanup(!1)},this.xdr=C,this.unloadRef=c.unloadAdd(function(){O._cleanup(!0)});try{this.xdr.open(E,_),this.timeout&&(this.xdr.timeout=this.timeout),this.xdr.send(v)}catch{this._error()}},b.prototype._error=function(){this.emit("finish",0,""),this._cleanup(!1)},b.prototype._cleanup=function(E){if(this.xdr){if(this.removeAllListeners(),c.unloadDel(this.unloadRef),this.xdr.ontimeout=this.xdr.onerror=this.xdr.onprogress=this.xdr.onload=null,E)try{this.xdr.abort()}catch{}this.unloadRef=this.xdr=null}},b.prototype.close=function(){this._cleanup(!0)},b.enabled=!!(F.XDomainRequest&&o.hasDomain()),Ic=b,Ic}var Fc,Vp;function Lm(){if(Vp)return Fc;Vp=1;var h=We(),r=Gl(),c=vu(),o=Ns();function s(m){if(!o.enabled)throw new Error("Transport created when disabled");r.call(this,m,"/xhr_streaming",c,o)}return h(s,r),s.enabled=function(m){return m.cookie_needed||m.nullOrigin?!1:o.enabled&&m.sameScheme},s.transportName="xdr-streaming",s.roundTrips=2,Fc=s,Fc}var $c,Qp;function Gm(){return Qp||(Qp=1,$c=F.EventSource),$c}var Pc,Zp;function hg(){if(Zp)return Pc;Zp=1;var h=We(),r=qt().EventEmitter,c=Gm(),o=function(){};function s(m){r.call(this);var b=this,E=this.es=new c(m);E.onmessage=function(_){o("message",_.data),b.emit("message",decodeURI(_.data))},E.onerror=function(_){o("error",E.readyState);var v=E.readyState!==2?"network":"permanent";b._cleanup(),b._close(v)}}return h(s,r),s.prototype.abort=function(){this._cleanup(),this._close("user")},s.prototype._cleanup=function(){var m=this.es;m&&(m.onmessage=m.onerror=null,m.close(),this.es=null)},s.prototype._close=function(m){var b=this;setTimeout(function(){b.emit("close",null,m),b.removeAllListeners()},200)},Pc=s,Pc}var es,Jp;function Kp(){if(Jp)return es;Jp=1;var h=We(),r=Gl(),c=hg(),o=bu(),s=Gm();function m(b){if(!m.enabled())throw new Error("Transport created when disabled");r.call(this,b,"/eventsource",c,o)}return h(m,r),m.enabled=function(){return!!s},m.transportName="eventsource",m.roundTrips=2,es=m,es}var ts,Ip;function Xm(){return Ip||(Ip=1,ts="1.6.1"),ts}var ns={exports:{}},Fp;function ki(){return Fp||(Fp=1,(function(h){var r=wa(),c=Xi();h.exports={WPrefix:"_jp",currentWindowId:null,polluteGlobalNamespace:function(){h.exports.WPrefix in F||(F[h.exports.WPrefix]={})},postMessage:function(o,s){F.parent!==F&&F.parent.postMessage(JSON.stringify({windowId:h.exports.currentWindowId,type:o,data:s||""}),"*")},createIframe:function(o,s){var m=F.document.createElement("iframe"),b,E,_=function(){clearTimeout(b);try{m.onload=null}catch{}m.onerror=null},v=function(){m&&(_(),setTimeout(function(){m&&m.parentNode.removeChild(m),m=null},0),r.unloadDel(E))},O=function(G){m&&(v(),s(G))},C=function(G,le){setTimeout(function(){try{m&&m.contentWindow&&m.contentWindow.postMessage(G,le)}catch{}},0)};return m.src=o,m.style.display="none",m.style.position="absolute",m.onerror=function(){O("onerror")},m.onload=function(){clearTimeout(b),b=setTimeout(function(){O("onload timeout")},2e3)},F.document.body.appendChild(m),b=setTimeout(function(){O("timeout")},15e3),E=r.unloadAdd(v),{post:C,cleanup:v,loaded:_}},createHtmlfile:function(o,s){var m=["Active"].concat("Object").join("X"),b=new F[m]("htmlfile"),E,_,v,O=function(){clearTimeout(E),v.onerror=null},C=function(){b&&(O(),r.unloadDel(_),v.parentNode.removeChild(v),v=b=null,CollectGarbage())},G=function(J){b&&(C(),s(J))},le=function(J,he){try{setTimeout(function(){v&&v.contentWindow&&v.contentWindow.postMessage(J,he)},0)}catch{}};b.open(),b.write(' frontend - - + +
diff --git a/target/classes/com/example/telegaapp/config/CustomHandshakeHandler.class b/target/classes/com/example/telegaapp/config/CustomHandshakeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..abe6e55fd6d77e560a400690c3e3b46e6f0e8217 GIT binary patch literal 2015 zcmc&#ZFAd15PmLpBF88%q)kgGG%lpYX(6Jt;Ux}%)@ewNT z{03(D%+COZX_+#^58y{J>`6+IiO0k61oj4LpYPr6@A%kUNt^JS?jq-Y6;WdUEt_&RUEe|4JI9m9k$9WVvt_%-7b8;C(<`k|MaleWy zSTWhGS-8e5;AFJmVY7kNwlCS z&;0{9Lpe#ju1QUS>**CC=og0bbrPNCY<<|x=2_!{pL?e#*glbHDN%m0wOe~EouhO2Fv#ID%!4972xz7=aGycB@DQfj4R9%YeG6@0|7 zHri&Rc1J0S4%MsL^BcNRV{=ouQ^j30Eo_@|bB|%=@9cTuksOG;qGc6mhr3$FCk#In zt3w>S08unfoin!@> zrG&Du%W(C~nMOgi@F~OP@v8KqWapylc9oti^G$%6M~m7wXy#DQsGq$46zr#TxlXNF z2E9A0)Y_Q>uHy#H%6JoRp_CebNBtzpmVbry1T!1upYh^S`57((PjKlsT={CL{1mVM zNGc^5x3konwnDGcBIZ-~w=);Hdvb=g6qOmhjhiXzWxRu1WLqKEx3Nwj-X%X7Fthd^ ut-Vi@nGzX;%s@im1NtYhL5q!av`J4l$O*&8^lxE@W>p$}f<1hOrN01vB26Cv literal 0 HcmV?d00001 diff --git a/target/classes/com/example/telegaapp/config/StompPrincipal.class b/target/classes/com/example/telegaapp/config/StompPrincipal.class new file mode 100644 index 0000000000000000000000000000000000000000..302b297a00139f6e0163dc5495a48ac6c89a1546 GIT binary patch literal 573 zcmb7>+fKqj5QhIPheEA@9MwDTI7IsZs5d5DA(CLYU&>mR^pvs~eJf2gCSLdeK9q5` zkf`CxG@aRhcIMmJ+0U={4*(Z9wqPJ*B5NauJVRy4@44gi&~t8POW`Vp{J9LJx@5?- zJJTWxD4MWr?7?Q}xl!PV2Oh+}aFp zhfEZ0dwmlnhE^J033r`H_2~R6Y_xYvI#U8(MRNj{hcXnSbubgjEuZ=65s}ONDNm%< z+hA5LZRhG?Htf7SVjn6Y5@xgb=1D)F{16z1`Vujlr5k>%F zCQfLO1{n6~uj*mab7-AInS6!RfV@H8>b`+>d#^B`)0_jcC1l7JkVTO`iwHn-lZ_hc vq^K^XGBjwNV^n82Z(r9hBxtv)YTQnMV!- z8uB_WLuXi#e$xm%-*%e^K5vN==^q&Svp`+Hg+XxQ% zk%%Ua@CnY6?b>RYAyb~&%VP+`8VWkzzzD<8Gk(mCP}z>LySx5~A@7r#Y$c14@=Uc; zfG`eWRL50}G31o2sR$m!=$WL$-KLT3nge(f6B@4Rcnfbc6k=0}z-gdFixA0BF zV+uDJuEbC}9WrQ9td-*uqHb3AG?W?4UQ$}BDcSO(Q(3mhojj&78)cUuER=gA$IKo> zwjvvXVYq6$Vl!;jg}=k=4(*IorNx~+?%UD2y_t<@$S~iNpVER!nc5KQP&T%BL^~yX zvNG6+CM|NjOT1(FpNKWH99Y7v`H2&TJ6+vejErI6Bsi~_g{~GZ0!oF$71csLRDz;4{4d~?x-hgG zQKC{s5Z4YtAM4ECsdtvad!1&MURO@-JgGkumNJ*g;6Tl8x?F`mQRCPDAyNMk=tb$w z*JS8hV%3i5J$g=zq{+@jL8K_JxRxUWYCs8JHBbY)-AjGySjFd*0ADn1>PUWEt}AZC zlhg<(kB_?tFU15axdpiEO2w5eU21+*@@F=-W5fQb8I^BtlZs$X2GsHj52aLr^0}8l z4{~_SFtaI6iu<)98FeX_WNohaAP6X#bjIR&8(A!};eKr7v56-dwxS;SB}3^SX4&qs zJQD3TOd+GTxymgi{Zob?)2*#7m|#fgAC#(69)(`J_R>u>MYayb9b#-3@vl?zZE~hN zbK69PJ5J43f@rI+)3N=E!-F6yqM^>_sbQC4>a|05!>(bU;rhj*bT1|cMUk%i99=f7 zP>3#knq8vjGH%g$n`X;2Mmzc0Tfc$LzJT^~Eb~6S`@!g4#2mfH5-Av%rxnS^)~M6d zypN&py8^QK0C$jy&3;c~AAOp9iNWW%vY7n^;}h9ecn5fncYnw9(~0a0%=|v1KlemwMNjHaaEW#uZOJqlHOWmh`Jee5d zV1|@IY9NK^*ij%pB?q6yvj=!cV-^*xU@hLMV4cPs8LHCr1-5B*jf_RXihk21Tca@S JU=Lqm;&0O$y@vn* diff --git a/target/classes/com/example/telegaapp/config/WebSocketConfig$StompPrincipal.class b/target/classes/com/example/telegaapp/config/WebSocketConfig$StompPrincipal.class deleted file mode 100644 index e3425d639b5bc2a085fca000620178258bb946c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 723 zcmbtSO>Yx15Pg%cO_n7sC2fK7b>NT$RCC}K$|X_-QV5lT!r9plTbJGSYS%&VuRsDJ zao`8=qY$%hB|dsW96Zl&Jo7v=_V*uOzX3SFoe&K)1GFNv(IIS}>bF{@I#1M#)hWl0 z(0Ocfwh zIGYtmrO9Jc=#2yVvXA0Q}c6Y%bl2ta4`FiCMGhn=j=}G@sTd28^@(c1_`^l?`<#~ zT`ZLlF6_FD`OwtG4gQ+be%&{rJLk$hwUrBSlknhQiX=qO@|??Qs;i2np#Gnu$6a~G z1_+mBZPiaHpP}Y$YzS@&I}~gPhT|`w@%_&TKKhs|V*6-{-A4-wJv1gSn6e?ss=)yuA6>8gZKK-S?KY}=u4%ry9ft&#QN9i{$&_EW4n_>k zhRN|p;rwcPjdHuTw^derOeFn3R@A>x{Uhe6TXs7?n>F{7TW@x~PStC+TQfo4`tx>9 z6^_2!+S(>Y9*yFiB(?+tJd#=zmJw8ffz&bTP#Vp9spc9YOiK;l4Df*&VTxIKw5I46 zLiyij_K8@+Gx`~lMbED_12O^eTaD@FSrF}_oCcH-W37FJ{hiGdsXbcPvGLLqkMeu|bc!!#q4;LUi*D)7(IL(mOvCNWM9eZ# z{IsXN^M=GpO8tW2i5ThIuij^S+%Wto%Xe0@t@Uh>2i!L-y2X`hXXp9W_T#~3e`9mI z+cQM%em@&5_qutW<%W^}=kl3iG0f>HB~_oY@_ex$j7~4;&UFxTQ8_xmK9{(x&TxfA zap#L4!Q4x?J0b-*!7;|9d-8xYstuStX0LN~bSgoJxC;0Q_6`$(`> zipM&8oU(kNvetOVnLW;04o8VbEz7fA?Z2=%2Qi-VxI9cSMU5u)e_SMgTqG=U>#vI? lkvx`_Ew{O&8VcQ2T~XXql-0NOs0YHaa7ERfw!ZHn;cs%bOO5~l diff --git a/target/classes/com/example/telegaapp/controller/SocketController.class b/target/classes/com/example/telegaapp/controller/SocketController.class index d16a7f8fd164f16c7a4320d76d6f8240b7e0556e..f0e0e41a35fb62e0f7b0c79fb6bccd1a6975ca91 100644 GIT binary patch literal 7282 zcmcIp33wc38Ga{6H`z={*g{Ln;TDsUq)n$Sp_ZhyO-nCK+t`F)4~6OOB$;M+W;;6@ z8bwi2QBhH;isFGMcuR#;g5nK|c;EMZ-*{gBg9nM`Rz{MhXc z89NO9;D|n{YiT2vaZGng8>G;fnbH$|jc7n)2w@dX zP!+Uz^AbAc4^5?ABdMU)a46$!UxI0SYuzE&G4y1gAU;DyGg=g=+;50`o3^zpuHdZf zroJ#&)aZ*)(TIvgI7`8jq&{J6wXK-$US+!Dd`i2z<)#%Z@9;OvUm0kSKNQAdED7Np z6|GpRV37yC5Fl9){@jE`4a!L!X~KCpKZFZZJVumQQh_I*&ONk(5VlOkg~C>?opHlx zLwg9zRa_(jE{fSn%{ZnfQwc+Jjf63#>#39$cWrGeDRYf|#?g$Cb`>lnUxNvK%5X$% z1PVHZnJxwE%OE`^MnYJr;KK3}2|CA2x(=nTn0rM6yqLrGjwGH=S)W9(HzA*fgKvzRs$X z_E8c;?-KN@*n+JJ&dkO2utC?MpD5@Zm{$T|d}Y`6HDH^9h(=G#7#hXV$+}Hz)DB|@ zc80J^#T9rw9qqr}fZ?=Z_`wrZ?8gBG4M${& zXVwGdkeA17&X&TE0ah>O)Dzw3^UJ@xFe#$M8&WX z`ekOG31m%Dg_TV*^0OqFKBQC}1#61Oz6>jvx8JY;NkQox5rM9X3?}^??OU@WpQY?v zpQem!CbYdNmvxHuFTz@TOvMzQ!lb9Oc&3<|_f-n7-0uZjO$cu}s3961HEU;wHS1aC5s9d1b(No>yiq zFcQH691|fot9S`s%7$ZHx8eyyu=abDDOg>JeStbVF~I7%z%8QVan^&%I+iSqAml@N zrHWgnfoQahV@w$giU?~wQQn5vgz#Fah_5T?jQkj5`S0i)QE;Rh+=80lH@}2l)X`B< z1$A3l#uYRVn3l08lRRuV!}{R_M3%$gY67=g4{Ax1CP}^9k*r?DvCEwo z<_O-R<9B}dEr~jk(36MbdRwlhwDDBcUWq+FM|oLC7B31G&obY(c2=Zk7ty_K4G#{% zRPlasxVF`_*pQuZV#an;3d7mOXQ)-uddShKT=UN(zhl_$RLYRnB{+34CA4g@Z8z;Y zI&T{!1+tg?k^-$l`{Ac5QD;>&dnIsrZ&Yc(S6JTn88O40G~!WzS~RFL(NTwuX^`wW zd1ch1j^3)TDd?`SmFQh=qi-l!mD@-rRo=!SPH&rUNyF^gDKnfx%Rrb z9^VV|0QY?rpTR>dc!&c(l7Szqc-VXUsl5G6#izZuU&z}pReXwX3-IeOeuLkJ@H;v2 z|DLtWYX`l{4bz&mCk(b^(%;esydK$3Z?>H&1-IsRwZTN+9y`4*D&00<+Y^~oUul`l z8!1>gOjDPcelTx-R_DB-K*Ux(kr*;vqmL>*62>3#rx5xJ+y z1s7DG%KYq`8q4TcxA9tyCuO-+kqb7tQs8$Juaq|8^*mAD&bLR{?k?cBxpErHgIII| zAwDgf!I{7`&b~{A@5Q+a_MAYpd&M*!JA)4Ir~9yCzYKVTO5I7U?yc*(8$GRc)9CH3 z=i}z?$mR03-G3fvt>^Py+^iOF;Aa=Y{9Hl+=kUs|l~3mq_IX%?^RbQhZiBo{JA`(O zV>#Z)nHznecoW{tH$ui+@K!1#Pj}!>s=5q2@ix4j^0)CS>m7I}l^mqxcj4VU&%K8; zYoRQ`d->2E6Li3Qk!FpuX}~3t9t8O>mR_HO4P}?aCmSAPX^@a>O0Wv&yGcm0&>@3A#ryR z>k2H!N|L*Z^k^h^HOW~^L_O4L9Sr)$QEb4C*o0fqpGWlZ9MQ)~)%!i7kLQR^=ZM~m zdp)9uu{n?E7St|z6m|$RL=eKErny=FKq>1-@xj1P@8owKHQMB}uF_8)r zDGr&KhMj$%M!IVT*NO?AI_rHGkQ$JR5VrH8dIwst3rl(b)rA3i+Fp-{E`Q4$5t~TF z{T>mU0wR{uKYfo2ysKqyJwH^c=S}!D0b@Ve6&=ZkKyBiI@d8O zMV)qEow}?VFAng(%*X%oBK(UPuD~_Kuk*|uBYuMcJ)VcXJ%_!W*gxT6Z!g5&Ft;fl zD8+tj&J@=N*gJ}_-!P3=6w?2yvhb6HZxMcq#oXb417z~xcjVxAyB}+;tMK?pkpVdb(ELgUu2FHD3N*;E~pxhpIV;s@W?Vl3Sa-vQd-eay@Oa z1uZQ#(y~y1>~sZ9T*L1OS=mhg^z#!RuAbdY{!0i*v#hw@hKv0bxeX&;?ocR~jnTa2 zj#BQ}9CF!y&0FpP$~`!TT=seMmb;sB_f(V1@cAtHs=?>H@+7AEJm0^-zny5rulW8& w@AJ#v=U2VYuX~^0#2;vnZ{xf8LGbj$+|y5TPe13=-zY6iNq@&b@o%*L2T67mdH?_b delta 1958 zcmai#TXz#x6vzK(l60Esq)DeO7%nB0q%=uOpxjDJTkcY93vGc4cwuNmN!w)FWQu^7 zpm;%16po5l@P>$>2!$X;QFMuG`QnowfG^+!uEp|+;;$kg*m^qi(XP^E5?Y)y* z^|z{(-|mcG1JHz@k0_?A2!(LUP*fB_<%gI*%1~AvY#Y#b>yaTn(I4qHld(j9qZ7q& z%kZcufyUsu$6#;DjK&#k#;D0qo;?~fA{*$ONvETFyiq|J%4JMaF&QeuY~Jab!mlYV zew%5PfLFy7Ol6oH*9W63jYO|*_QcFxG)tL!!c1|G)aX($9ThTWsPJJXU&HEcGG_4( zX?C~_0Torkv9mvFZc0Uyt$hkAQLQ3~5JSPzSR!UNGqhFnoA&Aacgf4cvR1k^xY>ys z)XJEnB7(UL^LVE;iJz6H@)}!naUJH%SfFAd7BK{^Pls*s!Wz`8Sb_#_vv*f5WzZrc zqtVf5WOzv58%@^65<3kA&1jLaOvQ4nV5sLem0EtrmI3i9S5Suz73;Bq?{f?|yM%*o1|Prf@F^N3Y!W~> za}Ns_HsfIxTdgBaqi^5Q}p5-JP~^MmsCq9jr>OckTp&Hs{D zQ6BeTuZ(>nIZuwAblzrTXNnH6QVOlx)O!cp_2G^Bj-jZGclbQlul%U$<%eyh{Fu9? zyktm^@95M014b+%!thhh0{pzKLKYGlgPZvV&n|Y7|LIxCPVt_S`DLetV$&Fo^+u9p z5@8;k;m1p+&iG29)PJqwI8JzQ!d-y#3NBzw#zn#I5|^}JiZ3hp7FT49tGJ5q#{SSs znf(WGlt2UfL={Oz$GMIK1m0QGyUu-h_Wz24{hb|)QwP!G|!9ml- zwOS*s(rC&qR(c&7G@U265}u)V1zkd228EPSqhSuU(h_Q;)tH4&_>rcs&Dk)pAJ5W? z0>X1RK%t7+^LT+gDOiga@e*uw-j9QLnItSBudm<`iFy^}#wpP$kUj7kJ;ikXFg>qt z154oz9HBijVK_2tBY9r^d0s2=mc^?H3v#^PCQCP@JLr>fOh%=Qt|9^PzZt%JKf`{! zm#d}p0h-v!MPvdZDGd{#$3+3{$RK)mok1)#j<^6jGEpd+b$lriXd(hFmUdAbp{(1y z+6bwA-x3?iiwz*1t&aZ{@xlEfg7}asOf*D0jW!zHq04w86uyLTsOAzDPsCVY-CJU1 z!Iw47#YK_2t!5Kha9iyr-9;LKhc-MONi;lp5Ld0E(-MuECJDHdo1E45S!fyQdpHi2qO`A7}efey~-jfb#9QZ~D3cGI!{ z#PJ8n4Hr72IMWM9Z`v7ugFnMdYkkh{CWMl4bdv0O&wJjF=Y8JyY<~ay=`R45u$e{z zNduY%9Vvm#L-|-19O>>CKHGh0R|A36V%@C=w*->2xt#%+7%-5wFbGQ^U-cRV`)k=~ zI(8wj9eZEOX0xytc!f3Duy0p`y60}$kJ`4cBDFlPQQi|6t(>IU4qA10zoY^WTNqJM zQ!?~RQ+3Y5C|(mVtI}P0)RvCG*ldq?1hSO-LK%-)7{`Rbz`h-9#i`EE=6cNIWUA<_ zh1XT&6wyh?SN>BL-st#8(3Rnv7N&8D5Ngt|Eqi-*$V7RR{9U#%gDV0P4S8TMdu~+* zpVtE#xqcwsz!$jD3pUPv7Ed3D0$P-7q*8b7&30qgZat8@4zrI|ysC6|WUH?Bu~G|a zb>>^B{Ev>5NR@v=)hS|QthpV|#D*QzyuJIf#g+zki)oZw#E^jSPB%1eiGc0}HM=D+ zsG!YsdT)i=?lwA%8ZHnYcD6&?fvg^E$Yxxmet)aHvBH#PHB7eOb~sf=HIc<8Md0GU zo3eRPUAV+sm*7Q8@WU5MDDf4*bpRY7r1*TBy8>6iRiFDA;)l@e9X{1Dm6+wzisc;U zxMQm^!RKk`A7OmY!vs#8jlRx&4fJsydezzN>zv0tQ>e_vurT7B%l`zUKkjkbs7fN- zN>W7dCR3~P@*u;_)&3!e{%c6ZX*c9Z7?Ll)80DW_4Q8w5=e~ok9p!(6`7QM1QT|t$ z8}oC=$b?%8=Qrp1C~6DOF__h!;oKptg{*dr3muEeqE3^^Vk)aEo76Lm9%3k~XHy*` z?TEROJuQg(w;o~W@=#;b-zDfVY~vbxn&8d4i}$EYa(4^wQ_`@;5xP!E#|9?x0i_f^ zWc+FVOPPOR*ns&0;|3D^n&Jg6MB+e~i~`Bf)PGD&#!aSF4bc?~3Tf}KL`b8K>0P8c z@hPNn$F7C+@-KrbH3WY!gwC~?DJ^PCA&FC&QjHXvnfxJ)g=1X&O6ezynmWj8@rkL3 z<>LK{sTH@uNwdW literal 0 HcmV?d00001 diff --git a/target/classes/com/example/telegaapp/dto/StartGameRequest.class b/target/classes/com/example/telegaapp/dto/StartGameRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..a37341572194751f2120b9d501ad002f26dcf78d GIT binary patch literal 2255 zcma)7-E!MR6#mwhEX9!%H#BKYLP==~{z+;I1zI~P(EPeMp_6pN4BW7>x3L;oawWM# z-h|-+$W1O_2Et4)7`Q1jJOhuxC8eB|WLrr*OvkqN?Ai14o$s8L|NQsauK<>?l|}+d z4T=F3DTeH0{*;$3Zts^r-+L??K0|8Jv`zmmLo#339f6J!4QT_TFc^vrr(G7`@OH-% zWnWlgpYu+q-1MFDj?Z0xowvodc+wS~4CFdayVhiws1LI2_^xU1S7qEW1LHDix@kUo zWH!2%f0!oq1p^a!jX`g4d-X||TMU!=ScDK~weY1ho-{CpOAI6X!rzY4UCb9^=21df zch11;GIEL#a?6wcGX~y}{u%OLiNQ$VO#`#IN-$d7Yb`rX5fD1S(JUE?licy%Ux6M zBcYAJ{;nC1AX#JR@ zb8%p+YoD}WODNCtlp6GN%`+Nj_>&{?}W8`IzDB{pS8}11ue1p*+I4? zRv1rVIgJ&pYFLvKvd%C!7<|)y>Kq8VCUXA6p;_Y%-*FEazKxGdWEeu&;C9mz-dx>r z4!WJ{`5B67PB}h2?1&-eU&ZWu7b&KSLM(I3+A)1Wqhi!-Te!;>_dMZgxX*C?TusBE zYN#_@`F~StVOSTg(p5~*%}UURUNnJ3?*>{&K;wiIJ>RBXnN~)tTKom<$H43zddg!` zB2P~vk_#x(j>*>pJx@FT1nmbpOkm)w4Rxk>!w~1pS!aEya|!d5LT0W6g%QqT>1Sxe zaZizrtR%!OB}oLs0%=vcO32dY#_*7tR}CpS?S~u>Led*CLisnX8f9yhir+(3j!VBo z{|;*Mxbz$J&H3U9vcZ;wi(B*bs3;46U^J&Z$Au#p3pwQkmwOh|6_re;E2*3+ZBoxM zafD1x&82!q$}#0i###{eZzIIe=b=SSf0sZ{Vh1;=rwO`QD|nA|N!s1T`y?q?rxChE zl8Q}C;{%dX_>khy(!ZDf55_d;FEFJcL0_G{z~xXJ>61|=G8Fm86OnO;Qp$#?k_Cx0 zJ}e>9uw!Z;sY>`H(x_uM1A6H{gj8|}{-O{nt(9zbQCSK|oXJ*OM4_H79YI?-!IiJ2 ze!8N_gPanb=#p4Eni)>mtuSf?BZ-gbbDMIiM8h4D5=axQ3jLC}M)O=HNeRfg59K8( z6e5Q)A_R=RB%{GTAr+HQdj>rl<+O^-DBoiLuE?D7LXOEIWkJvI7I5~`#INgEAN^85 a^<8{St4>kw(eD#%&@N3<4WChibN>N(h`Htf literal 0 HcmV?d00001 diff --git a/target/classes/com/example/telegaapp/model/Room$Settings.class b/target/classes/com/example/telegaapp/model/Room$Settings.class index 36b50274483e15a895cae8d701a73fe728efe860..a58b2814a2d16f00525e7038be4f07f93fa21188 100644 GIT binary patch delta 101 zcmdlgyj6HZH7l|8Y#CK2 nUtklTJcZ2~%nE|?t=K04S!daMfMgU$J&?S`F#$+sb9w;)d$k#X diff --git a/target/classes/com/example/telegaapp/model/Room.class b/target/classes/com/example/telegaapp/model/Room.class index 77be20d84fd02364c6de94a6aa31f75d28db976a..8b8ba8bf922998b3d67e31b957658183536e71f3 100644 GIT binary patch delta 1555 zcmZ`(TTfh76#n*{Gc#w-oVftQj0YPnDOjKsv{BJRsoYvCX$!q5DpX2gU_c8gm&6+q z?SsZdW8Kx3dTG7l1#E#b)@rdau}wrD^hFyJeeehLO&_e*Z_i98!-JVKXMKCEZ|%L; z`u092sxDQV-~D@T2|yh#%$Yy9DjNi>k>T;7-pxb3dj<}~1w@Mv2AV81!xHfKjE{`O zhsN56M|x#IYhKeT5bBSQ?OKtem6f-c%-U&T7k0}jZLNL3g$Gb0;E5j`?|y7lMIW^A z5FVD7wOUW7g}r!07U?CPeHOa0UpDKdo?Z)a^vPkp-Zqf1Fo4|xL9W)6vx!;#W!H0M zvfF*9Y;~8o?rV`dT?JBe=P%5EVCj$1$gH~r?F2#F_?+TdmcdNYc zY2s*_feAdrk>VByBASxmu7IPdW{=aVPR|D#HPz<7XjP9l2A_zway_+DHD?jD?us+m zG%J^br8lti*&vTZCfIm-!3b@4MGt4T=s@ES@KoHqh)r@SuPjoJ2GS>0fw7oglLCCyH^BD1fWD5$_NM@h-Qw12M006+tfy znJlB`L>|M5gMAsDgD3cfjq1A%yPb+(Mo#{8iRR^(Hgxq(Aq85Z5T&|HoZIU9}nB z-e;o)n+a delta 1455 zcmZ{kS!`5Q9LB#pcbz+T%5)i~*OE%@BCQmZ7#nUKC~YwX3RMPCYwa@abVE9JnZymM z;)6jG(SstO*1d{Fs9l7r_y)$rcb`a1d@vAAd@>qi{m#sE!UH~>^Z)+m{Lc2Bd+wEu zQyc6b{$08RAc}8i?H_&jL=}X4Q)6R^k%{KSc<&`SG1^WjC~Fs#C|cX-tIo^;1Sd* zFcPDwp2x=}_^5*pJSNVl^+uP2ZuE%jYK773pbrTV)+&tw2ZI+)00P)^=ofD za8#*YWnk9EmzXm#?;wQ*am~J}T~tsh+5!=g=a|8Y)@1TP>IoBHD=5vjc9lnIwNIMJ z7={8JcQJpO*(GRHKwKPiItpsk1#Fp3!_TnZfPnbRslKxZ<#?9)>I{lQILwTL5P-w! zCaHCW37ANS_XIsvdigS=H1hjkqbgkt<~6F)!o7Jge?qDOMA}6Ss$CerKb6#aJ z?$hqt&Wn+?xX=BCa>Z39I8T1qqi<#n|MBd zU6nK=$2X;Ueh?X6xlUJtuQU5=v0A2@7758k{ zFDW}q`CWU3BGm5%2=#l88<3Ebg{W2_ZAK(R;mH>>hs)jLG6as(jWDj^4c@H}t(e1` zY*Tp?XK{i`LlVdE7M0E~?c9d1V0wEjV!3Cj_G7H$^xMZ>W&u3@utK2(3N7F`pnALQv;x>rYu zlfMI4!LM^jA#K61VIre2`Otafl$wseQ@XSL(5;6GnPt!S!c~Rz-2D96Xg?x18u%**B3S!3a zot7)6&)7JNa|&j+9&}s+kvW+WZJny@Y!<%lm-to36?>F4XIog@GQN#jMP{%Pf=%AtgJ=(9s^b--ui3bvecW}ryK96bhnu)%;kJ$M;q^mx z)yLd=rnloeVNWV#Hd4~%E|D)EHL_Y6LNfMX{yr;D@}e+N^L%%s*J3?v zIonNg^0lDuH19hdPu4Nh2zNb(^J4AG%AO}quDjuG(75Y#2wv!RsCT*FQD5e**_FZ| z_IwKVtTR$^of&gg@!TdSQ3EI96c0>SMCjDvD4w+Ykz5%TADK5XF)cnEDPy)~aJa4G z_Fz>9;jY`E^OCGt>He(dXmU(5rQJD~B6hSG*Bglzo``l6oa39JQ{P*6+A$jD-8ZZ2 zx7aitx7%xSDyH=j=4@y^J+~B9Vbm|T zoq8B_DE9kgr^JGhW3O|FH{I@REeQ5{?aI+IPjC(?ZV~kn;_oKp`=c$vicPFJ&E}>T zx-4kB>iceIt?6{TZr8%k6)qi#X_TuLeyMQ&i$w`y6c;XX%%wO~Oy2p5A(fJMgnshX zpr0J~P*~UW2KPDDNl%bx;ttn$x#}TJ3Yaf`1XcVP)^i+xhNcs~z|_emI-!Z_VI!N1cu$+yfj=IF|s+&vW;$0oM8;xXDug?pq; z#RcdMhdl4%O^Ht>TgAU(>dz!nkdrc+nbQ{SNFcVTWcZUatUNQUd~BpL-%TTwUwArn zvOQ9nub4QANw+T!pL~3Ta)il!p3PU_2oEj|doVu2h{9U~7|ZlTV9W?`QwJDDnagVJ z2#d@Bi;OOu0T$Cbkv|-5a^|a=lo}kEENGK&U z6Qx9L@i|66_7{qOf@wTm_$TszfSG=}@DJqIuNI$UPA^GZy~^v4vd6_WF0S<#*EhJj zUN#p0g<}QdQ%vo{UMv{T@$J6uQrV=)QaMvFMJDqp^7}YmFbkQ4&~n+L&~iCjutX>u z3t5G1U&xTUJeuJ5q7Vj^wT}mI81poKhi!I#il1X1>g1*QX;nvql)>vZT;5IW;8na& zDudr}u*fP@kctZfY+KNrbj`KcSUm!W^&WM$b{IXhX|6`&sUscR2b zxW2w28w4jixv&pw@i|`A{H3xX8wDfY$qHoA)^gd@TSQAMWecX>Iy)MG)yRq1>ok-3 zP#2xaRPT{Waag~BCL>AX70#R%DT6~{20kfMr}#r;K4+#3rdTN^6-s?h@q=|r7}GHO z0(}|dFe?_zB*YFRhq)AHCi#;p$|pa#O;W%)NgJ;vNhh!6kFmzbwNFq5h9_) literal 3360 zcma)9-%}G;6#j0qn+km{2VA|56O~9%sH5JqfV*SzT5>|*L*_dolp8C}P zq2o*6>WdHUOhw1eblMj?)4!?Ke)sMsEFrDVkll07{m!}PeCOPg@Yg>te*-XujTk}* z8_-PXhzNAux7Mvx!78n!E-&4;bFM&SGGEHOrv$=7!;3LQ(PkiKVi!z-4h65d`9kX2 zwd^^8Sj8$WJ4J619~z$B4#-IR4ilZ|5{SCayj#haRs?p}k?Lemn`uKFJqC80=tZBv zft*uJ*^jJZxnQSUyI`+aR=J!iI?Hw;wP0ICflz)~Anu*n>}ijQgmj~otfDPl?=vxg z_XPB6&Z*b}B5UA%fu601&r~Yb#%#Xo#;_k@X>-WLVGIhil?&E}UCAz2Nm(FA31*IQ z95rzaL(DN}mCiq?Sp|XKp+I0BxtZac5}Y(Kf>DB3YjnABa_3U+%*{BT3an3z-%tXkF8X)+qa zDST$&w23n~yR9wiB{SBoLe0K>PvB^)!~(hc<&3l8&Y3um8G-(ywPsH{rJUtn&$~Ra zRCTSAOExbCo%xnKePws5{8kH=opqYeuaqpeChI%s*{EifiBInIaVpbPCO?4TMfQ!P zMWAywU$QUNic5B7!CER%6Q6Z*R$zN#DhPUKR zx)9Fx%jfqvo7Zty?FxgGqzuYC8dVx4wkf5&l$;)(+FNv}jlf0g^mYT9_IcOJt<70w zpLPAp)$H7P-i?Y~tra-C!s-Zp(04x=u#L?-wMx#O$;%qH$@y_y-h7thtmC*Td!?H!Vcq5Sfc7(F1p$+sFDQfRoH62qMllwxpDHt;}pJM$h?BSm#)zO?SF*(tBD zybCa62_FC66D3UNwkd~)Pd3dxzR z-W=8H&G8F?&y{=u?UZ$7iTi?@0>a9EF!>xJ`2xl!+Ml62Ir0qs$?!AmP5z4gH=g6b zGaUR`dAP{uUPSopf2G)93lb94>JMo-bn(xJ+3WT!0G>X+C8T zDZYi=O8$cGpD2VNPl+gHOnEdtfbUVr;Z04maeuS%u9n99=4fHO_i59~W=ms!MfltW z!#>!2a(fG7uLM_k_Lq$Ur0Gl+Fd`}M-lEt`KB~NUbVeF{9=ahHX1!1N&X03dphz5;*X(+pN{;F_}pl66GzmN!tf|RKgc~U z#x8L+me$7p#IA()3f)g&jwQ5Bd{Bpvr*%Tc(~*QOF_Bk@KS6s!PecNsiL^n`L^_%< zBq-{Gj6}2!(q!}PB;d9eb))i+aRWD*SueiBEnY7Ewm}}ZsSD!-a`>8(#;VQW8%jDq zr*VhR2sSt>?ou-FE%w2p6vYzH97Vek{Tm$y;^u4g83^$&DqdrcC$uEv z?v$#DT(Tn3u8}7&#x{{w`th_THxin^6P0!HwkFcL+G2^6Q8b~et%268pYo3OV-1tv zoa$uB=Q5=b$J|BOT!k^lF1trbV;lBkg_5p#eTc{#Qm&C#AxI^JctiNsIwTdn(CdIY zM%%9PVUYlA3)!qCnEdfS1&>8cGb}k+6OuN5#wCgTOuWFuR3!3JN4gdfE diff --git a/target/classes/com/example/telegaapp/service/GameService.class b/target/classes/com/example/telegaapp/service/GameService.class index 8bd51a3984d34421abf9e27f6f3f4c59d598327d..210bdc92f758a7192648a5ee473e27a566b02e23 100644 GIT binary patch literal 8437 zcmbVR33yc3b^ebu(nG^T8=D0NV-TPffepqWnSepS$dXVb5C-DFWAr3F7|o1lMl9ZF z>N<8}CutM6*__3RW9l|-V>ccn+@|hETQ}YJEp5{#b(`*MO6@rRx$n&eBhl91XU%)} z-FxnT&VROhdHp+=zXIScc_fSqR9Xnxs6w@%HJX^}a?d$a$(Y-fabxa;<0O+^X*YGo zi@II=oGEw2e-_kExN$e-WZdCIVk$BwSk%(mf66)Ibj6(bMAt|r<;5quEzA?FDlc{_ zG3Lg)ba@yS!Zzl^7F73maWAt&u(;)Vajm0a)S}Kpy^RJm3Rcf0dMM_ccT)l@?Pm5T z(iuUh<*16Vu*k+@ED?k!+>AdhEojJTFrD#YT?0X!$>&k3bMtB&lXtU66qXV6S#sc&M$qbcqVl+!)d~iAzb56!w zLCfrN4Vv6C1F6f#MrPxYNTGL}}kqYA25;oWQF zh+4_=(!Ep3%z4Fk%*MOa!E3n84`%hhciT9Q6RL<4A4^OTbCClMn=yvRNklD-*>Eu~ zs4oEbCvYD%ZzOI)FVY$bV-lW)Q#MY6Zssp2$`@Q<{N@0qEpCYvdvB0XG$P|R5;?%C zyN2T+?zfQwZCjnrq&O&8USec_RPz!)b~iHrP1`twvvh%stGQuMOaG0NNp}FrIR5x_ z+_-YrP|6+iqRfS4@jM=|@Su%{@UUQM!6GI56Xm!UqX!GN1<^H|#NrK0WSG4!*!Uj2 zhun>O@v*&LN);)MlYDeGLhz`K@55u<-HArsBCGav|@k7#wE-M7Mcvk4fXSg%alDvTaevIz;5LmYV@DB@fG|GODeG&e7*h(?GO4| zM>YHXtc{<;&(o@B6REL$&(l7OO>+&>;lgBN(_gf4MHAHm;wm=MFXLA%yl&%H@zq(a zT}Gxa$WN`h)iou*G<=J)s`0d6xA7ZFZY`DG?Hf^Lgz;NAX5qI5?dAPtER!&e-!7Bt zhTZ#F)iY|v-?j03_kz!dN!av#gXZ%YLx;m)t6HzCA0sm&>-*tf! zuU1YUOdR&&npytS#(!yAsoA${p!fKJ(cWPl{cjsrb+mT)z@foC$M;4CBP08J_vkin z+IUMvEv6`KVfMJ`Xv#b3rXo4~Z5lVXxxM8V~N=rhvR0%!L?=JVK+Ws8cG7zx1I^UQA-xm zRSTt%aT$bh7wbdtxZg=nvgHm-qtvmlkUFL2UjC7rY-v(TE1faA>yRwB zN6m;g5qC1v%0O>XlR{}dMeTMF9Yn&*TQ zU}l`?@j|T_w0Fg6gR=B1Pg!%yGRd3d54f4h#MqFN;xUn}4S~-)mGI*FS#Y#WZJ$%> z|HZ1+$>5~7fQcx2n#2bNwCE!K{w0T)(o9);h!OOcfm+;DPgh-o#$0{)K<+}mSndCts=Bj8vMGH307EEOe4VwZzdj&<`sBESD z8pI}N76QskV$?+^-RNmkOSD1In*nn?8DmDAuTN^zh`!b6ThO{}m<@253T@yv#+<2> zV@`A4s?D2k*Z}Fy-K|GyLbjs~fdGvj{m^{7U~4&E=1MreL|X4UX}A5qr4iqC(l(VD z+bD?4W;H(@2GKnWf&QGlO~NCI=~UF+>*;MoeNndCpnffA8fF(yLPx!{$K<&y9#629 z<{blFvZX(fn&?U=^<*=yndxjIb-IhqWXers&L`cjpt)nT)!&^+WYU?Glk_uLx*olC z)p8&E5qY;Q2jx(`4AcuZEV-J>9sfr;H>z{TY#EWEdf^%N25oP^5f@JCLeG|W$}rzf z>s!p012V+7xV|N9>6Zb%-5-{eq%FzVGA(DAn+vh+#m^*8yIuXp{iuU8?nHTWa-QDJ zj9hs8YOyZ`i+q*$n{Z7x_a_pkr<28(Rk`YU-ERKEgEVFF^b)Cae)PATdu@D{_mh;k5$Ti-0m#P!kZTkI(KJ`! zHCTh4SJ0>!JBYEP2v?=Sr6+LEE|gB)*YIg=5uP=9JZlUJwyV6^>>@J7vpB%Bk)!h< zZ{k*qU8ka}sgM?e>*AxxCb^BE)r`GdR>9wf5`>q~Qm|7sbp~1uh9&;wJcb4zLr#C) z!Kd$b?y?!SZwFb*Woqmvb(a}z5X^v?bAZa))RD-Ut<#kaqvOJ{Icr7zW8`F_-wbP?4T-+tmn z!tw3hhA^MIXzh*sy9wKQmwF7FF@Y^O#rxDV*ow!|jrXG`&%-gE{+^o7-MeVeO# zdAmF*Tj?Pp%EK~Ly{Xsi+up(!vcZR|XugV@uhKYy-)!Zy3JRmC4J-Zh8)aotL**L; ze_z9zmMokTJM}AsCE;8J|2!h-xQy=wvUqP(70vwq z!pzRg_`o$2zu!zOSbqoMs~gr~FBV}Rnt8k0iazpi5AH@kM+Pv=)5{_LJ%$n9bsj{L zZx3P=kKl+=d7>1R;c z`4T>n#b-J5Ip%;LZsWs`6-=_4p$lFk*Wx~t1Ur}pxA0cD2jjdy_YlEpqxNQcOb3(I zJ7lLx8GU)R`|@h{$*v$(^%SKB#-;C!p{rPER1MO@E^b_*S5ASNQ6Bl#X6xH8;YFs@ z=d#E?wg{I!CySqIr|z%$gTIi)FJctdmV&|oKR{jJc6EdH@W;qx1HDuQ2}6Vm*5u?%iu257@s=7w|3 z5D$`uhv<_J<1pSsG9ERmX{{JQSoSa{sN$#cN}iHl*~=hops#AJs4(6ZM&+B>NN-!$ zkW;_csJ{bJjTwzU26HyZv~8|estvO2df*iJDq`7NdZCMpcvi6p}8acKX2p#0{oWm82|b# z=C{9u|DdJQPHA0{s!p=&)&%|6PS{YmV`Gt3>I!BKn`C-AJ%R6~RS^O`!o%W?gX;i`hGR?2>+ z$x5!Xcp%&cKOY$F*IS$yiSLFe%GVNF{YWY%MAJ%p{C|&!s z;Bezc_GQB}vPAF+SfPsuReq79zHj;+#c?Cv_Gil=BL^lns!&nCQz(=jdmwZtby00> z`o?hEj4Wl1FCh2DjTWJ`O|s_#mT48N(s&vOq}>%rt7*^5GQ#}2BJ?Z2cwDwC~gZ0yXKoqkOB7!*VZwsf`?= zRgdzSkswLh|Cqc>j+>_wa#Gx2Y$88)DnB;Gv9nyM|Elx?W8)kxa9$pihtc$1%;X#d literal 5343 zcmbVQcYG7)8Gb%5Vfny=X`GON4R|6(QwTORV1`9(E0{dZMyq6zohB&-kqfr$O^yu_w(uQ(>tE`dB^vi9{=z8 zM*wWWe}X7MX#iy!%2AV01ZEhI}V2;8nM<`>P zu~5WHL^7$Ak+4JE+1nmHJ<+Epg9xCs5>?Own5$tPsufxyRy<@J)8omQ5weY#F|O;$ zWGHQ2Dcv>(=`I{qSkTTwfS{+=?2p zkf;aIfMr7EbqWicue8!K62x+>2%u3z6ILp$C}wdWrXM#_3W2m?_gHD>qO5sTOf+D% zhGw)V1jh~A6(do#Gr%2MgevjYrlDQp)F?V+q|>IA2uG{12B84fYFLN$3Ul)qW~!4J zdfViWz%7SPUrgSLpDb@ltUph~4R}6H(Jf1+fT;qCL2SZ}0c_ULi7sX?2WxNACU8B* zkgc))Of04!iWv&cv)gq@m{IE#NLw|$05`ERCiPgxAYn`L2(#Ts6Mmy)}*o#LWGLmo};YKUg| zWoI2{>s=a7;N?VS8`8NuntPwS)jK^%PU((i5>7FO22w`UjBr3P53j_l0(iBCyYU)@ z#kpkU`6tRTGsYTJxY6s6*(~}U=Gkz3-K*iXxR30QnThBwGbMrKS9-R;>Y#8^!|U*R zde*OS%++ysdxs?AoeJx(7EF%sI+Wt1WdGe7-Xon>sz;+z&F|CjeyNdimSvbL zNAW=o9}pN=S0p zBcU{V!m#Y)Nh9PPyqV#e?UrS8JJ6GE_oQnuTwQ@5$g%l{8or6gYw%-*mBk}-xgV{; zPiHxljL_!K#pW+Gd;^cw;8#~^Qxu;R#ouVSh_CbMck=Xm4PV7$eEMS$f5M*w_=|?8 z@K=^~uF}lJq;0GYImwhPQQRF#kcvz{hxwjTAb#S=Bnf4_ynI6K8a7!xtKml z=`wz1?1Ybr&f5%1C3C4C}Z1>?Rb#T==ey^qVWu)~wlD^!Br!kAC(Lo{f zHsTDC37&->o++-*fqELt13Y94y2=uYgMxzaEY1;`(72OolF`~cgy*m^$CD%zSm|I` z3uL#x{jM2ESY36f(T&Q!Y1>yJ_4~ z!sUZbBB!yh1p9e=>oi`du(_tpBBktqTRccb|;vg&Y z0=~#vSOLT1oZ)48xgQU+LKGwqOHuwbssreG1~)Jpyt#y?OSt9|N%44lm|`XJYXwy# zE4_p!Sy@n9`V_&>uWf9eLhO#NhI2^f5+gtD09|aBExzO|@IX`(+#~oBEef$;p)4({ z)%=u9oXE?!aC#B(dN$80rot)HK^G7VIMTySdWCYZ!yrgMH{H z>wEdOIDjN>;mg_}?&7LsWGh2z;(M-iLAeB%&BKXokDPEaB7~j5qs&byJtm#Zl{s0O zhmvQo&&kj7OZ@FcGBdZ-=^4q+qd-kib{{W8H<3p%rg6^bt:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-gray-700{border-color:var(--color-gray-700)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-900\/50{background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.bg-gray-900\/60{background-color:#10182899}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/60{background-color:color-mix(in oklab,var(--color-gray-900)60%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-700{--tw-gradient-to:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-red-500{color:var(--color-red-500)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.placeholder-gray-600::-moz-placeholder{color:var(--color-gray-600)}.placeholder-gray-600::placeholder{color:var(--color-gray-600)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-green-500:hover{background-color:var(--color-green-500)}.hover\:from-blue-500:hover{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-blue-600:hover{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{text-align:center;width:100%;max-width:1280px;margin:0 auto;padding:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1} diff --git a/target/classes/static/assets/index-CtkN2yzV.js b/target/classes/static/assets/index-CtkN2yzV.js new file mode 100644 index 0000000..73c2898 --- /dev/null +++ b/target/classes/static/assets/index-CtkN2yzV.js @@ -0,0 +1,17 @@ +(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const m of s)if(m.type==="childList")for(const b of m.addedNodes)b.tagName==="LINK"&&b.rel==="modulepreload"&&o(b)}).observe(document,{childList:!0,subtree:!0});function c(s){const m={};return s.integrity&&(m.integrity=s.integrity),s.referrerPolicy&&(m.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?m.credentials="include":s.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function o(s){if(s.ep)return;s.ep=!0;const m=c(s);fetch(s.href,m)}})();var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function qm(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var xc={exports:{}},Bi={};var dp;function Kb(){if(dp)return Bi;dp=1;var h=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function c(o,s,m){var b=null;if(m!==void 0&&(b=""+m),s.key!==void 0&&(b=""+s.key),"key"in s){m={};for(var E in s)E!=="key"&&(m[E]=s[E])}else m=s;return s=m.ref,{$$typeof:h,type:o,key:b,ref:s!==void 0?s:null,props:m}}return Bi.Fragment=r,Bi.jsx=c,Bi.jsxs=c,Bi}var hp;function Ib(){return hp||(hp=1,xc.exports=Kb()),xc.exports}var de=Ib(),Cc={exports:{}},Ae={};var pp;function Fb(){if(pp)return Ae;pp=1;var h=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),b=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),C=Symbol.for("react.activity"),G=Symbol.iterator;function le(A){return A===null||typeof A!="object"?null:(A=G&&A[G]||A["@@iterator"],typeof A=="function"?A:null)}var be={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},J=Object.assign,he={};function ge(A,W,Q){this.props=A,this.context=W,this.refs=he,this.updater=Q||be}ge.prototype.isReactComponent={},ge.prototype.setState=function(A,W){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,W,"setState")},ge.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function T(){}T.prototype=ge.prototype;function N(A,W,Q){this.props=A,this.context=W,this.refs=he,this.updater=Q||be}var w=N.prototype=new T;w.constructor=N,J(w,ge.prototype),w.isPureReactComponent=!0;var q=Array.isArray;function Z(){}var X={H:null,A:null,T:null,S:null},j=Object.prototype.hasOwnProperty;function V(A,W,Q){var ie=Q.ref;return{$$typeof:h,type:A,key:W,ref:ie!==void 0?ie:null,props:Q}}function ve(A,W){return V(A.type,W,A.props)}function Ee(A){return typeof A=="object"&&A!==null&&A.$$typeof===h}function qe(A){var W={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(Q){return W[Q]})}var K=/\/+/g;function lt(A,W){return typeof A=="object"&&A!==null&&A.key!=null?qe(""+A.key):W.toString(36)}function Ye(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(Z,Z):(A.status="pending",A.then(function(W){A.status==="pending"&&(A.status="fulfilled",A.value=W)},function(W){A.status==="pending"&&(A.status="rejected",A.reason=W)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function D(A,W,Q,ie,_e){var xe=typeof A;(xe==="undefined"||xe==="boolean")&&(A=null);var De=!1;if(A===null)De=!0;else switch(xe){case"bigint":case"string":case"number":De=!0;break;case"object":switch(A.$$typeof){case h:case r:De=!0;break;case O:return De=A._init,D(De(A._payload),W,Q,ie,_e)}}if(De)return _e=_e(A),De=ie===""?"."+lt(A,0):ie,q(_e)?(Q="",De!=null&&(Q=De.replace(K,"$&/")+"/"),D(_e,W,Q,"",function(cn){return cn})):_e!=null&&(Ee(_e)&&(_e=ve(_e,Q+(_e.key==null||A&&A.key===_e.key?"":(""+_e.key).replace(K,"$&/")+"/")+De)),W.push(_e)),1;De=0;var $e=ie===""?".":ie+":";if(q(A))for(var tt=0;tt>>1,ee=D[ze];if(0>>1;zes(Q,pe))ies(_e,Q)?(D[ze]=_e,D[ie]=pe,ze=ie):(D[ze]=Q,D[W]=pe,ze=W);else if(ies(_e,pe))D[ze]=_e,D[ie]=pe,ze=ie;else break e}}return I}function s(D,I){var pe=D.sortIndex-I.sortIndex;return pe!==0?pe:D.id-I.id}if(h.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;h.unstable_now=function(){return m.now()}}else{var b=Date,E=b.now();h.unstable_now=function(){return b.now()-E}}var _=[],v=[],O=1,C=null,G=3,le=!1,be=!1,J=!1,he=!1,ge=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function w(D){for(var I=c(v);I!==null;){if(I.callback===null)o(v);else if(I.startTime<=D)o(v),I.sortIndex=I.expirationTime,r(_,I);else break;I=c(v)}}function q(D){if(J=!1,w(D),!be)if(c(_)!==null)be=!0,Z||(Z=!0,qe());else{var I=c(v);I!==null&&Ye(q,I.startTime-D)}}var Z=!1,X=-1,j=5,V=-1;function ve(){return he?!0:!(h.unstable_now()-VD&&ve());){var ze=C.callback;if(typeof ze=="function"){C.callback=null,G=C.priorityLevel;var ee=ze(C.expirationTime<=D);if(D=h.unstable_now(),typeof ee=="function"){C.callback=ee,w(D),I=!0;break t}C===c(_)&&o(_),w(D)}else o(_);C=c(_)}if(C!==null)I=!0;else{var A=c(v);A!==null&&Ye(q,A.startTime-D),I=!1}}break e}finally{C=null,G=pe,le=!1}I=void 0}}finally{I?qe():Z=!1}}}var qe;if(typeof N=="function")qe=function(){N(Ee)};else if(typeof MessageChannel<"u"){var K=new MessageChannel,lt=K.port2;K.port1.onmessage=Ee,qe=function(){lt.postMessage(null)}}else qe=function(){ge(Ee,0)};function Ye(D,I){X=ge(function(){D(h.unstable_now())},I)}h.unstable_IdlePriority=5,h.unstable_ImmediatePriority=1,h.unstable_LowPriority=4,h.unstable_NormalPriority=3,h.unstable_Profiling=null,h.unstable_UserBlockingPriority=2,h.unstable_cancelCallback=function(D){D.callback=null},h.unstable_forceFrameRate=function(D){0>D||125ze?(D.sortIndex=pe,r(v,D),c(_)===null&&D===c(v)&&(J?(T(X),X=-1):J=!0,Ye(q,pe-ze))):(D.sortIndex=ee,r(_,D),be||le||(be=!0,Z||(Z=!0,qe()))),D},h.unstable_shouldYield=ve,h.unstable_wrapCallback=function(D){var I=G;return function(){var pe=G;G=I;try{return D.apply(this,arguments)}finally{G=pe}}}})(zc)),zc}var bp;function Pb(){return bp||(bp=1,Rc.exports=$b()),Rc.exports}var Mc={exports:{}},wt={};var gp;function eg(){if(gp)return wt;gp=1;var h=Ms();function r(_){var v="https://react.dev/errors/"+_;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h)}catch(r){console.error(r)}}return h(),Mc.exports=eg(),Mc.exports}var _p;function ng(){if(_p)return ji;_p=1;var h=Pb(),r=Ms(),c=tg();function o(e){var t="https://react.dev/errors/"+e;if(1ee||(e.current=ze[ee],ze[ee]=null,ee--)}function Q(e,t){ee++,ze[ee]=e.current,e.current=t}var ie=A(null),_e=A(null),xe=A(null),De=A(null);function $e(e,t){switch(Q(xe,t),Q(_e,e),Q(ie,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Bh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Bh(t),e=jh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}W(ie),Q(ie,e)}function tt(){W(ie),W(_e),W(xe)}function cn(e){e.memoizedState!==null&&Q(De,e);var t=ie.current,n=jh(t,e.type);t!==n&&(Q(_e,e),Q(ie,n))}function bn(e){_e.current===e&&(W(ie),W(_e)),De.current===e&&(W(De),Mi._currentValue=pe)}var el,tl;function St(e){if(el===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);el=t&&t[1]||"",tl=-1)":-1l||g[a]!==z[l]){var L=` +`+g[a].replace(" at new "," at ");return e.displayName&&L.includes("")&&(L=L.replace("",e.displayName)),L}while(1<=a&&0<=l);break}}}finally{Xl=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?St(n):""}function gu(e,t){switch(e.tag){case 26:case 27:case 5:return St(e.type);case 16:return St("Lazy");case 13:return e.child!==t&&t!==null?St("Suspense Fallback"):St("Suspense");case 19:return St("SuspenseList");case 0:case 15:return Wt(e.type,!1);case 11:return Wt(e.type.render,!1);case 1:return Wt(e.type,!0);case 31:return St("Activity");default:return""}}function nl(e){try{var t="",n=null;do t+=gu(e,n),n=e,e=e.return;while(e);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}var kl=Object.prototype.hasOwnProperty,Ra=h.unstable_scheduleCallback,Wl=h.unstable_cancelCallback,yu=h.unstable_shouldYield,_u=h.unstable_requestPaint,Rt=h.unstable_now,za=h.unstable_getCurrentPriorityLevel,Wi=h.unstable_ImmediatePriority,Yi=h.unstable_UserBlockingPriority,Yt=h.unstable_NormalPriority,Su=h.unstable_LowPriority,Vi=h.unstable_IdlePriority,gn=h.log,Eu=h.unstable_setDisableYieldValue,Ma=null,bt=null;function yn(e){if(typeof gn=="function"&&Eu(e),bt&&typeof bt.setStrictMode=="function")try{bt.setStrictMode(Ma,e)}catch{}}var zt=Math.clz32?Math.clz32:Yl,Au=Math.log,Qi=Math.LN2;function Yl(e){return e>>>=0,e===0?32:31-(Au(e)/Qi|0)|0}var Jn=256,Na=262144,al=4194304;function _n(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Kn(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var f=a&134217727;return f!==0?(a=f&~i,a!==0?l=_n(a):(u&=f,u!==0?l=_n(u):n||(n=f&~e,n!==0&&(l=_n(n))))):(f=a&~i,f!==0?l=_n(f):u!==0?l=_n(u):n||(n=a&~e,n!==0&&(l=_n(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function sn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ua(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Zi(){var e=al;return al<<=1,(al&62914560)===0&&(al=4194304),e}function ll(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function In(e,t,n,a,l,i){var u=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var f=e.entanglements,g=e.expirationTimes,z=e.hiddenUpdates;for(n=u&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Jl=/[\n"\\]/g;function d(e){return e.replace(Jl,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function p(e,t,n,a,l,i,u,f){e.name="",u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?e.type=u:e.removeAttribute("type"),t!=null?u==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Bt(t)):e.value!==""+Bt(t)&&(e.value=""+Bt(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?U(e,u,Bt(t)):n!=null?U(e,u,Bt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+Bt(f):e.removeAttribute("name")}function y(e,t,n,a,l,i,u,f){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Mn(e);return}n=n!=null?""+Bt(n):"",t=t!=null?""+Bt(t):n,f||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=f?e.checked:!!a,e.defaultChecked=!!a,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),Mn(e)}function U(e,t,n){t==="number"&&ol(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function H(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ba=!1;if(dn)try{var ja={};Object.defineProperty(ja,"passive",{get:function(){Ba=!0}}),window.addEventListener("test",ja,ja),window.removeEventListener("test",ja,ja)}catch{Ba=!1}var An=null,te=null,jt=null;function Nn(){if(jt)return jt;var e,t=te,n=t.length,a,l="value"in An?An.value:An.textContent,i=l.length;for(e=0;e=$l),Xs=" ",ks=!1;function Ws(e,t){switch(e){case"keyup":return bv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ys(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var cl=!1;function yv(e,t){switch(e){case"compositionend":return Ys(t);case"keypress":return t.which!==32?null:(ks=!0,Xs);case"textInput":return e=t.data,e===Xs&&ks?null:e;default:return null}}function _v(e,t){if(cl)return e==="compositionend"||!Mu&&Ws(e,t)?(e=Nn(),jt=te=An=null,cl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=$s(n)}}function ef(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ef(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function tf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ol(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ol(e.document)}return t}function qu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var wv=dn&&"documentMode"in document&&11>=document.documentMode,sl=null,Bu=null,ni=null,ju=!1;function nf(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ju||sl==null||sl!==ol(a)||(a=sl,"selectionStart"in a&&qu(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),ni&&ti(ni,a)||(ni=a,a=Zr(Bu,"onSelect"),0>=u,l-=u,Tn=1<<32-zt(t)+l|n<we?(je=fe,fe=null):je=fe.sibling;var Xe=M(x,fe,R[we],k);if(Xe===null){fe===null&&(fe=je);break}e&&fe&&Xe.alternate===null&&t(x,fe),S=i(Xe,S,we),Ge===null?me=Xe:Ge.sibling=Xe,Ge=Xe,fe=je}if(we===R.length)return n(x,fe),He&&qn(x,we),me;if(fe===null){for(;wewe?(je=fe,fe=null):je=fe.sibling;var Oa=M(x,fe,Xe.value,k);if(Oa===null){fe===null&&(fe=je);break}e&&fe&&Oa.alternate===null&&t(x,fe),S=i(Oa,S,we),Ge===null?me=Oa:Ge.sibling=Oa,Ge=Oa,fe=je}if(Xe.done)return n(x,fe),He&&qn(x,we),me;if(fe===null){for(;!Xe.done;we++,Xe=R.next())Xe=Y(x,Xe.value,k),Xe!==null&&(S=i(Xe,S,we),Ge===null?me=Xe:Ge.sibling=Xe,Ge=Xe);return He&&qn(x,we),me}for(fe=a(fe);!Xe.done;we++,Xe=R.next())Xe=B(fe,x,we,Xe.value,k),Xe!==null&&(e&&Xe.alternate!==null&&fe.delete(Xe.key===null?we:Xe.key),S=i(Xe,S,we),Ge===null?me=Xe:Ge.sibling=Xe,Ge=Xe);return e&&fe.forEach(function(Jb){return t(x,Jb)}),He&&qn(x,we),me}function Ie(x,S,R,k){if(typeof R=="object"&&R!==null&&R.type===J&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case le:e:{for(var me=R.key;S!==null;){if(S.key===me){if(me=R.type,me===J){if(S.tag===7){n(x,S.sibling),k=l(S,R.props.children),k.return=x,x=k;break e}}else if(S.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===j&&Za(me)===S.type){n(x,S.sibling),k=l(S,R.props),oi(k,R),k.return=x,x=k;break e}n(x,S);break}else t(x,S);S=S.sibling}R.type===J?(k=ka(R.props.children,x.mode,k,R.key),k.return=x,x=k):(k=sr(R.type,R.key,R.props,null,x.mode,k),oi(k,R),k.return=x,x=k)}return u(x);case be:e:{for(me=R.key;S!==null;){if(S.key===me)if(S.tag===4&&S.stateNode.containerInfo===R.containerInfo&&S.stateNode.implementation===R.implementation){n(x,S.sibling),k=l(S,R.children||[]),k.return=x,x=k;break e}else{n(x,S);break}else t(x,S);S=S.sibling}k=Wu(R,x.mode,k),k.return=x,x=k}return u(x);case j:return R=Za(R),Ie(x,S,R,k)}if(Ye(R))return ue(x,S,R,k);if(qe(R)){if(me=qe(R),typeof me!="function")throw Error(o(150));return R=me.call(R),ye(x,S,R,k)}if(typeof R.then=="function")return Ie(x,S,br(R),k);if(R.$$typeof===N)return Ie(x,S,hr(x,R),k);gr(x,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,S!==null&&S.tag===6?(n(x,S.sibling),k=l(S,R),k.return=x,x=k):(n(x,S),k=ku(R,x.mode,k),k.return=x,x=k),u(x)):n(x,S)}return function(x,S,R,k){try{ui=0;var me=Ie(x,S,R,k);return Sl=null,me}catch(fe){if(fe===_l||fe===mr)throw fe;var Ge=Qt(29,fe,null,x.mode);return Ge.lanes=k,Ge.return=x,Ge}finally{}}}var Ka=xf(!0),Cf=xf(!1),oa=!1;function to(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function no(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ca(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function sa(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(ke&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=cr(e),sf(e,null,n),t}return or(e,a,t,n),cr(e)}function ci(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Ki(e,n)}}function ao(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var lo=!1;function si(){if(lo){var e=yl;if(e!==null)throw e}}function fi(e,t,n,a){lo=!1;var l=e.updateQueue;oa=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,f=l.shared.pending;if(f!==null){l.shared.pending=null;var g=f,z=g.next;g.next=null,u===null?i=z:u.next=z,u=g;var L=e.alternate;L!==null&&(L=L.updateQueue,f=L.lastBaseUpdate,f!==u&&(f===null?L.firstBaseUpdate=z:f.next=z,L.lastBaseUpdate=g))}if(i!==null){var Y=l.baseState;u=0,L=z=g=null,f=i;do{var M=f.lane&-536870913,B=M!==f.lane;if(B?(Be&M)===M:(a&M)===M){M!==0&&M===gl&&(lo=!0),L!==null&&(L=L.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var ue=e,ye=f;M=t;var Ie=n;switch(ye.tag){case 1:if(ue=ye.payload,typeof ue=="function"){Y=ue.call(Ie,Y,M);break e}Y=ue;break e;case 3:ue.flags=ue.flags&-65537|128;case 0:if(ue=ye.payload,M=typeof ue=="function"?ue.call(Ie,Y,M):ue,M==null)break e;Y=C({},Y,M);break e;case 2:oa=!0}}M=f.callback,M!==null&&(e.flags|=64,B&&(e.flags|=8192),B=l.callbacks,B===null?l.callbacks=[M]:B.push(M))}else B={lane:M,tag:f.tag,payload:f.payload,callback:f.callback,next:null},L===null?(z=L=B,g=Y):L=L.next=B,u|=M;if(f=f.next,f===null){if(f=l.shared.pending,f===null)break;B=f,f=B.next,B.next=null,l.lastBaseUpdate=B,l.shared.pending=null}}while(!0);L===null&&(g=Y),l.baseState=g,l.firstBaseUpdate=z,l.lastBaseUpdate=L,i===null&&(l.shared.lanes=0),ma|=u,e.lanes=u,e.memoizedState=Y}}function wf(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Rf(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ei?i:8;var u=D.T,f={};D.T=f,To(e,!1,t,n);try{var g=l(),z=D.S;if(z!==null&&z(f,g),g!==null&&typeof g=="object"&&typeof g.then=="function"){var L=Hv(g,a);pi(e,t,L,Ft(e))}else pi(e,t,a,Ft(e))}catch(Y){pi(e,t,{then:function(){},status:"rejected",reason:Y},Ft())}finally{I.p=i,u!==null&&f.types!==null&&(u.types=f.types),D.T=u}}function Wv(){}function Eo(e,t,n,a){if(e.tag!==5)throw Error(o(476));var l=ud(e).queue;rd(e,l,t,pe,n===null?Wv:function(){return od(e),n(a)})}function ud(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:pe,baseState:pe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:pe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function od(e){var t=ud(e);t.next===null&&(t=e.alternate.memoizedState),pi(e,t.next.queue,{},Ft())}function Ao(){return Tt(Mi)}function cd(){return st().memoizedState}function sd(){return st().memoizedState}function Yv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ft();e=ca(n);var a=sa(t,e,n);a!==null&&(kt(a,t,n),ci(a,t,n)),t={cache:Fu()},e.payload=t;return}t=t.return}}function Vv(e,t,n){var a=Ft();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},wr(e)?dd(t,n):(n=Gu(e,t,n,a),n!==null&&(kt(n,e,a),hd(n,t,a)))}function fd(e,t,n){var a=Ft();pi(e,t,n,a)}function pi(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(wr(e))dd(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,f=i(u,n);if(l.hasEagerState=!0,l.eagerState=f,Vt(f,u))return or(e,t,l,0),Fe===null&&ur(),!1}catch{}finally{}if(n=Gu(e,t,l,a),n!==null)return kt(n,e,a),hd(n,t,a),!0}return!1}function To(e,t,n,a){if(a={lane:2,revertLane:nc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},wr(e)){if(t)throw Error(o(479))}else t=Gu(e,n,a,2),t!==null&&kt(t,e,2)}function wr(e){var t=e.alternate;return e===Oe||t!==null&&t===Oe}function dd(e,t){Al=Sr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function hd(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Ki(e,n)}}var mi={readContext:Tt,use:Tr,useCallback:ut,useContext:ut,useEffect:ut,useImperativeHandle:ut,useLayoutEffect:ut,useInsertionEffect:ut,useMemo:ut,useReducer:ut,useRef:ut,useState:ut,useDebugValue:ut,useDeferredValue:ut,useTransition:ut,useSyncExternalStore:ut,useId:ut,useHostTransitionStatus:ut,useFormState:ut,useActionState:ut,useOptimistic:ut,useMemoCache:ut,useCacheRefresh:ut};mi.useEffectEvent=ut;var pd={readContext:Tt,use:Tr,useCallback:function(e,t){return Nt().memoizedState=[e,t===void 0?null:t],e},useContext:Tt,useEffect:Ff,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,xr(4194308,4,td.bind(null,t,e),n)},useLayoutEffect:function(e,t){return xr(4194308,4,e,t)},useInsertionEffect:function(e,t){xr(4,2,e,t)},useMemo:function(e,t){var n=Nt();t=t===void 0?null:t;var a=e();if(Ia){yn(!0);try{e()}finally{yn(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=Nt();if(n!==void 0){var l=n(t);if(Ia){yn(!0);try{n(t)}finally{yn(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=Vv.bind(null,Oe,e),[a.memoizedState,e]},useRef:function(e){var t=Nt();return e={current:e},t.memoizedState=e},useState:function(e){e=bo(e);var t=e.queue,n=fd.bind(null,Oe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_o,useDeferredValue:function(e,t){var n=Nt();return So(n,e,t)},useTransition:function(){var e=bo(!1);return e=rd.bind(null,Oe,e.queue,!0,!1),Nt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=Oe,l=Nt();if(He){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),Fe===null)throw Error(o(349));(Be&127)!==0||Bf(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Ff(Hf.bind(null,a,i,e),[e]),a.flags|=2048,Ol(9,{destroy:void 0},jf.bind(null,a,i,n,t),null),n},useId:function(){var e=Nt(),t=Fe.identifierPrefix;if(He){var n=On,a=Tn;n=(a&~(1<<32-zt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Er++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?u.createElement("select",{is:a.is}):u.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?u.createElement(l,{is:a.is}):u.createElement(l)}}i[ft]=t,i[Et]=a;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)i.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}t.stateNode=i;e:switch(xt(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Gn(t)}}return et(t),Do(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Gn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(e=xe.current,vl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=At,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[ft]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Uh(e.nodeValue,n)),e||ra(t,!0)}else e=Jr(e).createTextNode(a),e[ft]=t,t.stateNode=e}return et(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=vl(t),n!==null){if(e===null){if(!a)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ft]=t}else Wa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;et(t),e=!1}else n=Zu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Jt(t),t):(Jt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return et(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=vl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(317));l[ft]=t}else Wa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;et(t),l=!1}else l=Zu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Jt(t),t):(Jt(t),null)}return Jt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ur(t,t.updateQueue),et(t),null);case 4:return tt(),e===null&&rc(t.stateNode.containerInfo),et(t),null;case 10:return jn(t.type),et(t),null;case 19:if(W(ct),a=t.memoizedState,a===null)return et(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)bi(a,!1);else{if(ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=_r(e),i!==null){for(t.flags|=128,bi(a,!1),e=i.updateQueue,t.updateQueue=e,Ur(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ff(n,e),n=n.sibling;return Q(ct,ct.current&1|2),He&&qn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Rt()>Dr&&(t.flags|=128,l=!0,bi(a,!1),t.lanes=4194304)}else{if(!l)if(e=_r(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Ur(t,e),bi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!He)return et(t),null}else 2*Rt()-a.renderingStartTime>Dr&&n!==536870912&&(t.flags|=128,l=!0,bi(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Rt(),e.sibling=null,n=ct.current,Q(ct,l?n&1|2:n&1),He&&qn(t,a.treeForkCount),e):(et(t),null);case 22:case 23:return Jt(t),ro(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(et(t),t.subtreeFlags&6&&(t.flags|=8192)):et(t),n=t.updateQueue,n!==null&&Ur(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&W(Qa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),jn(ht),et(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Iv(e,t){switch(Vu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return jn(ht),tt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return bn(t),null;case 31:if(t.memoizedState!==null){if(Jt(t),t.alternate===null)throw Error(o(340));Wa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Wa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return W(ct),null;case 4:return tt(),null;case 10:return jn(t.type),null;case 22:case 23:return Jt(t),ro(),e!==null&&W(Qa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return jn(ht),null;case 25:return null;default:return null}}function Dd(e,t){switch(Vu(t),t.tag){case 3:jn(ht),tt();break;case 26:case 27:case 5:bn(t);break;case 4:tt();break;case 31:t.memoizedState!==null&&Jt(t);break;case 13:Jt(t);break;case 19:W(ct);break;case 10:jn(t.type);break;case 22:case 23:Jt(t),ro(),e!==null&&W(Qa);break;case 24:jn(ht)}}function gi(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,u=n.inst;a=i(),u.destroy=a}n=n.next}while(n!==l)}}catch(f){Qe(t,t.return,f)}}function ha(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var u=a.inst,f=u.destroy;if(f!==void 0){u.destroy=void 0,l=t;var g=n,z=f;try{z()}catch(L){Qe(l,g,L)}}}a=a.next}while(a!==i)}}catch(L){Qe(t,t.return,L)}}function Ld(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Rf(t,n)}catch(a){Qe(e,e.return,a)}}}function Gd(e,t,n){n.props=Fa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){Qe(e,t,a)}}function yi(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){Qe(e,t,l)}}function xn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){Qe(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){Qe(e,t,l)}else n.current=null}function Xd(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){Qe(e,e.return,l)}}function Lo(e,t,n){try{var a=e.stateNode;gb(a,e.type,n,t),a[Et]=t}catch(l){Qe(e,e.return,l)}}function kd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&_a(e.type)||e.tag===4}function Go(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||kd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&_a(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xo(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=se));else if(a!==4&&(a===27&&_a(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xo(e,t,n),e=e.sibling;e!==null;)Xo(e,t,n),e=e.sibling}function qr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&_a(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(qr(e,t,n),e=e.sibling;e!==null;)qr(e,t,n),e=e.sibling}function Wd(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);xt(t,a,n),t[ft]=e,t[Et]=n}catch(i){Qe(e,e.return,i)}}var Xn=!1,vt=!1,ko=!1,Yd=typeof WeakSet=="function"?WeakSet:Set,_t=null;function Fv(e,t){if(e=e.containerInfo,cc=tu,e=tf(e),qu(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,f=-1,g=-1,z=0,L=0,Y=e,M=null;t:for(;;){for(var B;Y!==n||l!==0&&Y.nodeType!==3||(f=u+l),Y!==i||a!==0&&Y.nodeType!==3||(g=u+a),Y.nodeType===3&&(u+=Y.nodeValue.length),(B=Y.firstChild)!==null;)M=Y,Y=B;for(;;){if(Y===e)break t;if(M===n&&++z===l&&(f=u),M===i&&++L===a&&(g=u),(B=Y.nextSibling)!==null)break;Y=M,M=Y.parentNode}Y=B}n=f===-1||g===-1?null:{start:f,end:g}}else n=null}n=n||{start:0,end:0}}else n=null;for(sc={focusedElem:e,selectionRange:n},tu=!1,_t=t;_t!==null;)if(t=_t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_t=e;else for(;_t!==null;){switch(t=_t,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),xt(i,a,n),i[ft]=e,dt(i),a=i;break e;case"link":var u=Ih("link","href",l).get(a+(n.href||""));if(u){for(var f=0;fIe&&(u=Ie,Ie=ye,ye=u);var x=Ps(f,ye),S=Ps(f,Ie);if(x&&S&&(B.rangeCount!==1||B.anchorNode!==x.node||B.anchorOffset!==x.offset||B.focusNode!==S.node||B.focusOffset!==S.offset)){var R=Y.createRange();R.setStart(x.node,x.offset),B.removeAllRanges(),ye>Ie?(B.addRange(R),B.extend(S.node,S.offset)):(R.setEnd(S.node,S.offset),B.addRange(R))}}}}for(Y=[],B=f;B=B.parentNode;)B.nodeType===1&&Y.push({element:B,left:B.scrollLeft,top:B.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fn?32:n,D.T=null,n=Ko,Ko=null;var i=ba,u=Qn;if(gt=0,zl=ba=null,Qn=0,(ke&6)!==0)throw Error(o(331));var f=ke;if(ke|=4,th(i.current),$d(i,i.current,u,n),ke=f,Oi(0,!1),bt&&typeof bt.onPostCommitFiberRoot=="function")try{bt.onPostCommitFiberRoot(Ma,i)}catch{}return!0}finally{I.p=l,D.T=a,yh(e,t)}}function Sh(e,t,n){t=en(n,t),t=wo(e.stateNode,t,2),e=sa(e,t,2),e!==null&&(wn(e,2),Cn(e))}function Qe(e,t,n){if(e.tag===3)Sh(e,e,n);else for(;t!==null;){if(t.tag===3){Sh(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(va===null||!va.has(a))){e=en(n,e),n=Ed(2),a=sa(t,n,2),a!==null&&(Ad(n,a,t,e),wn(a,2),Cn(a));break}}t=t.return}}function Po(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new eb;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Vo=!0,l.add(n),e=ib.bind(null,e,t,n),t.then(e,e))}function ib(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Fe===e&&(Be&n)===n&&(ot===4||ot===3&&(Be&62914560)===Be&&300>Rt()-Hr?(ke&2)===0&&Ml(e,0):Qo|=n,Rl===Be&&(Rl=0)),Cn(e)}function Eh(e,t){t===0&&(t=Zi()),e=Xa(e,t),e!==null&&(wn(e,t),Cn(e))}function rb(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Eh(e,n)}function ub(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),Eh(e,n)}function ob(e,t){return Ra(e,t)}var Yr=null,Ul=null,ec=!1,Vr=!1,tc=!1,ya=0;function Cn(e){e!==Ul&&e.next===null&&(Ul===null?Yr=Ul=e:Ul=Ul.next=e),Vr=!0,ec||(ec=!0,sb())}function Oi(e,t){if(!tc&&Vr){tc=!0;do for(var n=!1,a=Yr;a!==null;){if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var u=a.suspendedLanes,f=a.pingedLanes;i=(1<<31-zt(42|e)+1)-1,i&=l&~(u&~f),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,xh(a,i))}else i=Be,i=Kn(a,a===Fe?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||sn(a,i)||(n=!0,xh(a,i));a=a.next}while(n);tc=!1}}function cb(){Ah()}function Ah(){Vr=ec=!1;var e=0;ya!==0&&_b()&&(e=ya);for(var t=Rt(),n=null,a=Yr;a!==null;){var l=a.next,i=Th(a,t);i===0?(a.next=null,n===null?Yr=l:n.next=l,l===null&&(Ul=n)):(n=a,(e!==0||(i&3)!==0)&&(Vr=!0)),a=l}gt!==0&>!==5||Oi(e),ya!==0&&(ya=0)}function Th(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0f)break;var L=g.transferSize,Y=g.initiatorType;L&&qh(Y)&&(g=g.responseEnd,u+=L*(g"u"?null:document;function Qh(e,t,n){var a=ql;if(a&&typeof t=="string"&&t){var l=d(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),Vh.has(l)||(Vh.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),xt(t,"link",e),dt(t),a.head.appendChild(t)))}}function Rb(e){Zn.D(e),Qh("dns-prefetch",e,null)}function zb(e,t){Zn.C(e,t),Qh("preconnect",e,t)}function Mb(e,t,n){Zn.L(e,t,n);var a=ql;if(a&&e&&t){var l='link[rel="preload"][as="'+d(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+d(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+d(n.imageSizes)+'"]')):l+='[href="'+d(e)+'"]';var i=l;switch(t){case"style":i=Bl(e);break;case"script":i=jl(e)}un.has(i)||(e=C({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),un.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(Ri(i))||t==="script"&&a.querySelector(zi(i))||(t=a.createElement("link"),xt(t,"link",e),dt(t),a.head.appendChild(t)))}}function Nb(e,t){Zn.m(e,t);var n=ql;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+d(a)+'"][href="'+d(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=jl(e)}if(!un.has(i)&&(e=C({rel:"modulepreload",href:e},t),un.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(zi(i)))return}a=n.createElement("link"),xt(a,"link",e),dt(a),n.head.appendChild(a)}}}function Ub(e,t,n){Zn.S(e,t,n);var a=ql;if(a&&e){var l=ea(a).hoistableStyles,i=Bl(e);t=t||"default";var u=l.get(i);if(!u){var f={loading:0,preload:null};if(u=a.querySelector(Ri(i)))f.loading=5;else{e=C({rel:"stylesheet",href:e,"data-precedence":t},n),(n=un.get(i))&&bc(e,n);var g=u=a.createElement("link");dt(g),xt(g,"link",e),g._p=new Promise(function(z,L){g.onload=z,g.onerror=L}),g.addEventListener("load",function(){f.loading|=1}),g.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Ir(u,t,a)}u={type:"stylesheet",instance:u,count:1,state:f},l.set(i,u)}}}function qb(e,t){Zn.X(e,t);var n=ql;if(n&&e){var a=ea(n).hoistableScripts,l=jl(e),i=a.get(l);i||(i=n.querySelector(zi(l)),i||(e=C({src:e,async:!0},t),(t=un.get(l))&&gc(e,t),i=n.createElement("script"),dt(i),xt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Bb(e,t){Zn.M(e,t);var n=ql;if(n&&e){var a=ea(n).hoistableScripts,l=jl(e),i=a.get(l);i||(i=n.querySelector(zi(l)),i||(e=C({src:e,async:!0,type:"module"},t),(t=un.get(l))&&gc(e,t),i=n.createElement("script"),dt(i),xt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Zh(e,t,n,a){var l=(l=xe.current)?Kr(l):null;if(!l)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Bl(n.href),n=ea(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Bl(n.href);var i=ea(l).hoistableStyles,u=i.get(e);if(u||(l=l.ownerDocument||l,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,u),(i=l.querySelector(Ri(e)))&&!i._p&&(u.instance=i,u.state.loading=5),un.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},un.set(e,n),i||jb(l,e,n,u.state))),t&&a===null)throw Error(o(528,""));return u}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=jl(n),n=ea(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Bl(e){return'href="'+d(e)+'"'}function Ri(e){return'link[rel="stylesheet"]['+e+"]"}function Jh(e){return C({},e,{"data-precedence":e.precedence,precedence:null})}function jb(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),xt(t,"link",n),dt(t),e.head.appendChild(t))}function jl(e){return'[src="'+d(e)+'"]'}function zi(e){return"script[async]"+e}function Kh(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+d(n.href)+'"]');if(a)return t.instance=a,dt(a),a;var l=C({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),dt(a),xt(a,"style",l),Ir(a,n.precedence,e),t.instance=a;case"stylesheet":l=Bl(n.href);var i=e.querySelector(Ri(l));if(i)return t.state.loading|=4,t.instance=i,dt(i),i;a=Jh(n),(l=un.get(l))&&bc(a,l),i=(e.ownerDocument||e).createElement("link"),dt(i);var u=i;return u._p=new Promise(function(f,g){u.onload=f,u.onerror=g}),xt(i,"link",a),t.state.loading|=4,Ir(i,n.precedence,e),t.instance=i;case"script":return i=jl(n.src),(l=e.querySelector(zi(i)))?(t.instance=l,dt(l),l):(a=n,(l=un.get(i))&&(a=C({},n),gc(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),dt(l),xt(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Ir(a,n.precedence,e));return t.instance}function Ir(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,u=0;u title"):null)}function Hb(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function $h(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Db(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Bl(a.href),i=t.querySelector(Ri(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=$r.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,dt(i);return}i=t.ownerDocument||t,a=Jh(a),(l=un.get(l))&&bc(a,l),i=i.createElement("link"),dt(i);var u=i;u._p=new Promise(function(f,g){u.onload=f,u.onerror=g}),xt(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=$r.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var yc=0;function Lb(e,t){return e.stylesheets&&e.count===0&&eu(e,e.stylesheets),0yc?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function $r(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)eu(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Pr=null;function eu(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Pr=new Map,t.forEach(Gb,e),Pr=null,$r.call(e))}function Gb(e,t){if(!(t.state.loading&4)){var n=Pr.get(e);if(n)var a=n.get(null);else{n=new Map,Pr.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h)}catch(r){console.error(r)}}return h(),wc.exports=ng(),wc.exports}var lg=ag(),Nc={exports:{}},ou={},Ep;function ig(){return Ep||(Ep=1,F.crypto&&F.crypto.getRandomValues?ou.randomBytes=function(h){var r=new Uint8Array(h);return F.crypto.getRandomValues(r),r}:ou.randomBytes=function(h){for(var r=new Array(h),c=0;c=2&&(V=V.slice(2)):G(q)?V=w[4]:q?Z&&(V=V.slice(2)):j>=2&&G(N.protocol)&&(V=w[4]),{protocol:q,slashes:Z||G(q),slashesCount:j,rest:V}}function be(T,N){if(T==="")return N;for(var w=(N||"/").split("/").slice(0,-1).concat(T.split("/")),q=w.length,Z=w[q-1],X=!1,j=0;q--;)w[q]==="."?w.splice(q,1):w[q]===".."?(w.splice(q,1),j++):j&&(q===0&&(X=!0),w.splice(q,1),j--);return X&&w.unshift(""),(Z==="."||Z==="..")&&w.push(""),w.join("/")}function J(T,N,w){if(T=_(T),T=T.replace(o,""),!(this instanceof J))return new J(T,N,w);var q,Z,X,j,V,ve,Ee=v.slice(),qe=typeof N,K=this,lt=0;for(qe!=="object"&&qe!=="string"&&(w=N,N=null),w&&typeof w!="function"&&(w=r.parse),N=C(N),Z=le(T||"",N),q=!Z.protocol&&!Z.slashes,K.slashes=Z.slashes||q&&N.slashes,K.protocol=Z.protocol||N.protocol||"",T=Z.rest,(Z.protocol==="file:"&&(Z.slashesCount!==2||E.test(T))||!Z.slashes&&(Z.protocol||Z.slashesCount<2||!G(K.protocol)))&&(Ee[3]=[/(.*)/,"pathname"]);lt1?this._listeners[r]=o.slice(0,s).concat(o.slice(s+1)):delete this._listeners[r];return}}},h.prototype.dispatchEvent=function(){var r=arguments[0],c=r.type,o=arguments.length===1?[r]:Array.apply(null,arguments);if(this["on"+c]&&this["on"+c].apply(this,o),c in this._listeners)for(var s=this._listeners[c],m=0;m0){var m="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,m,function(b){s.sendStop=null,b?(s.emit("close",b.code||1006,"Sending error: "+b),s.close()):s.sendScheduleWait()}),this.sendBuffer=[]}},o.prototype._cleanup=function(){this.removeAllListeners()},o.prototype.close=function(){this._cleanup(),this.sendStop&&(this.sendStop(),this.sendStop=null)},Gc=o,Gc}var Xc,Bp;function fg(){if(Bp)return Xc;Bp=1;var h=We(),r=qt().EventEmitter,c=function(){};function o(s,m,b){r.call(this),this.Receiver=s,this.receiveUrl=m,this.AjaxObject=b,this._scheduleReceiver()}return h(o,r),o.prototype._scheduleReceiver=function(){var s=this,m=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);m.on("message",function(b){s.emit("message",b)}),m.once("close",function(b,E){c("close",b,E,s.pollIsClosing),s.poll=m=null,s.pollIsClosing||(E==="network"?s._scheduleReceiver():(s.emit("close",b||1006,E),s.removeAllListeners()))})},o.prototype.abort=function(){this.removeAllListeners(),this.pollIsClosing=!0,this.poll&&this.poll.abort()},Xc=o,Xc}var kc,jp;function Hm(){if(jp)return kc;jp=1;var h=We(),r=on(),c=sg(),o=fg();function s(m,b,E,_,v){var O=r.addPath(m,b),C=this;c.call(this,m,E),this.poll=new o(_,O,v),this.poll.on("message",function(G){C.emit("message",G)}),this.poll.once("close",function(G,le){C.poll=null,C.emit("close",G,le),C.close()})}return h(s,c),s.prototype.close=function(){c.prototype.close.call(this),this.removeAllListeners(),this.poll&&(this.poll.abort(),this.poll=null)},kc=s,kc}var Wc,Hp;function Gl(){if(Hp)return Wc;Hp=1;var h=We(),r=on(),c=Hm();function o(m){return function(b,E,_){var v={};typeof E=="string"&&(v.headers={"Content-type":"text/plain"});var O=r.addPath(b,"/xhr_send"),C=new m("POST",O,E,v);return C.once("finish",function(G){if(C=null,G!==200&&G!==204)return _(new Error("http status "+G));_()}),function(){C.close(),C=null;var G=new Error("Aborted");G.code=1e3,_(G)}}}function s(m,b,E,_){c.call(this,m,b,o(_),E,_)}return h(s,c),Wc=s,Wc}var Yc,Dp;function vu(){if(Dp)return Yc;Dp=1;var h=We(),r=qt().EventEmitter;function c(o,s){r.call(this);var m=this;this.bufferPosition=0,this.xo=new s("POST",o,null),this.xo.on("chunk",this._chunkHandler.bind(this)),this.xo.once("finish",function(b,E){m._chunkHandler(b,E),m.xo=null;var _=b===200?"network":"permanent";m.emit("close",null,_),m._cleanup()})}return h(c,r),c.prototype._chunkHandler=function(o,s){if(!(o!==200||!s))for(var m=-1;;this.bufferPosition+=m+1){var b=s.slice(this.bufferPosition);if(m=b.indexOf(` +`),m===-1)break;var E=b.slice(0,m);E&&this.emit("message",E)}},c.prototype._cleanup=function(){this.removeAllListeners()},c.prototype.abort=function(){this.xo&&(this.xo.close(),this.emit("close",null,"user"),this.xo=null),this._cleanup()},Yc=c,Yc}var Vc,Lp;function Dm(){if(Lp)return Vc;Lp=1;var h=qt().EventEmitter,r=We(),c=wa(),o=on(),s=F.XMLHttpRequest,m=function(){};function b(v,O,C,G){var le=this;h.call(this),setTimeout(function(){le._start(v,O,C,G)},0)}r(b,h),b.prototype._start=function(v,O,C,G){var le=this;try{this.xhr=new s}catch{}if(!this.xhr){this.emit("finish",0,"no xhr support"),this._cleanup();return}O=o.addQuery(O,"t="+ +new Date),this.unloadRef=c.unloadAdd(function(){le._cleanup(!0)});try{this.xhr.open(v,O,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){m("xhr timeout"),le.emit("finish",0,""),le._cleanup(!1)})}catch{this.emit("finish",0,""),this._cleanup(!1);return}if((!G||!G.noCredentials)&&b.supportsCORS&&(this.xhr.withCredentials=!0),G&&G.headers)for(var be in G.headers)this.xhr.setRequestHeader(be,G.headers[be]);this.xhr.onreadystatechange=function(){if(le.xhr){var J=le.xhr,he,ge;switch(m("readyState",J.readyState),J.readyState){case 3:try{ge=J.status,he=J.responseText}catch{}ge===1223&&(ge=204),ge===200&&he&&he.length>0&&le.emit("chunk",ge,he);break;case 4:ge=J.status,ge===1223&&(ge=204),(ge===12005||ge===12029)&&(ge=0),m("finish",ge,J.responseText),le.emit("finish",ge,J.responseText),le._cleanup(!1);break}}};try{le.xhr.send(C)}catch{le.emit("finish",0,""),le._cleanup(!1)}},b.prototype._cleanup=function(v){if(this.xhr){if(this.removeAllListeners(),c.unloadDel(this.unloadRef),this.xhr.onreadystatechange=function(){},this.xhr.ontimeout&&(this.xhr.ontimeout=null),v)try{this.xhr.abort()}catch{}this.unloadRef=this.xhr=null}},b.prototype.close=function(){this._cleanup(!0)},b.enabled=!!s;var E=["Active"].concat("Object").join("X");!b.enabled&&E in F&&(s=function(){try{return new F[E]("Microsoft.XMLHTTP")}catch{return null}},b.enabled=!!new s);var _=!1;try{_="withCredentials"in new s}catch{}return b.supportsCORS=_,Vc=b,Vc}var Qc,Gp;function bu(){if(Gp)return Qc;Gp=1;var h=We(),r=Dm();function c(o,s,m,b){r.call(this,o,s,m,b)}return h(c,r),c.enabled=r.enabled&&r.supportsCORS,Qc=c,Qc}var Zc,Xp;function Gi(){if(Xp)return Zc;Xp=1;var h=We(),r=Dm();function c(o,s,m){r.call(this,o,s,m,{noCredentials:!0})}return h(c,r),c.enabled=r.enabled,Zc=c,Zc}var Jc,kp;function Xi(){return kp||(kp=1,Jc={isOpera:function(){return F.navigator&&/opera/i.test(F.navigator.userAgent)},isKonqueror:function(){return F.navigator&&/konqueror/i.test(F.navigator.userAgent)},hasDomain:function(){if(!F.document)return!0;try{return!!F.document.domain}catch{return!1}}}),Jc}var Kc,Wp;function dg(){if(Wp)return Kc;Wp=1;var h=We(),r=Gl(),c=vu(),o=bu(),s=Gi(),m=Xi();function b(E){if(!s.enabled&&!o.enabled)throw new Error("Transport created when disabled");r.call(this,E,"/xhr_streaming",c,o)}return h(b,r),b.enabled=function(E){return E.nullOrigin||m.isOpera()?!1:o.enabled},b.transportName="xhr-streaming",b.roundTrips=2,b.needBody=!!F.document,Kc=b,Kc}var Ic,Yp;function Ns(){if(Yp)return Ic;Yp=1;var h=qt().EventEmitter,r=We(),c=wa(),o=Xi(),s=on(),m=function(){};function b(E,_,v){var O=this;h.call(this),setTimeout(function(){O._start(E,_,v)},0)}return r(b,h),b.prototype._start=function(E,_,v){var O=this,C=new F.XDomainRequest;_=s.addQuery(_,"t="+ +new Date),C.onerror=function(){O._error()},C.ontimeout=function(){O._error()},C.onprogress=function(){m("progress",C.responseText),O.emit("chunk",200,C.responseText)},C.onload=function(){O.emit("finish",200,C.responseText),O._cleanup(!1)},this.xdr=C,this.unloadRef=c.unloadAdd(function(){O._cleanup(!0)});try{this.xdr.open(E,_),this.timeout&&(this.xdr.timeout=this.timeout),this.xdr.send(v)}catch{this._error()}},b.prototype._error=function(){this.emit("finish",0,""),this._cleanup(!1)},b.prototype._cleanup=function(E){if(this.xdr){if(this.removeAllListeners(),c.unloadDel(this.unloadRef),this.xdr.ontimeout=this.xdr.onerror=this.xdr.onprogress=this.xdr.onload=null,E)try{this.xdr.abort()}catch{}this.unloadRef=this.xdr=null}},b.prototype.close=function(){this._cleanup(!0)},b.enabled=!!(F.XDomainRequest&&o.hasDomain()),Ic=b,Ic}var Fc,Vp;function Lm(){if(Vp)return Fc;Vp=1;var h=We(),r=Gl(),c=vu(),o=Ns();function s(m){if(!o.enabled)throw new Error("Transport created when disabled");r.call(this,m,"/xhr_streaming",c,o)}return h(s,r),s.enabled=function(m){return m.cookie_needed||m.nullOrigin?!1:o.enabled&&m.sameScheme},s.transportName="xdr-streaming",s.roundTrips=2,Fc=s,Fc}var $c,Qp;function Gm(){return Qp||(Qp=1,$c=F.EventSource),$c}var Pc,Zp;function hg(){if(Zp)return Pc;Zp=1;var h=We(),r=qt().EventEmitter,c=Gm(),o=function(){};function s(m){r.call(this);var b=this,E=this.es=new c(m);E.onmessage=function(_){o("message",_.data),b.emit("message",decodeURI(_.data))},E.onerror=function(_){o("error",E.readyState);var v=E.readyState!==2?"network":"permanent";b._cleanup(),b._close(v)}}return h(s,r),s.prototype.abort=function(){this._cleanup(),this._close("user")},s.prototype._cleanup=function(){var m=this.es;m&&(m.onmessage=m.onerror=null,m.close(),this.es=null)},s.prototype._close=function(m){var b=this;setTimeout(function(){b.emit("close",null,m),b.removeAllListeners()},200)},Pc=s,Pc}var es,Jp;function Kp(){if(Jp)return es;Jp=1;var h=We(),r=Gl(),c=hg(),o=bu(),s=Gm();function m(b){if(!m.enabled())throw new Error("Transport created when disabled");r.call(this,b,"/eventsource",c,o)}return h(m,r),m.enabled=function(){return!!s},m.transportName="eventsource",m.roundTrips=2,es=m,es}var ts,Ip;function Xm(){return Ip||(Ip=1,ts="1.6.1"),ts}var ns={exports:{}},Fp;function ki(){return Fp||(Fp=1,(function(h){var r=wa(),c=Xi();h.exports={WPrefix:"_jp",currentWindowId:null,polluteGlobalNamespace:function(){h.exports.WPrefix in F||(F[h.exports.WPrefix]={})},postMessage:function(o,s){F.parent!==F&&F.parent.postMessage(JSON.stringify({windowId:h.exports.currentWindowId,type:o,data:s||""}),"*")},createIframe:function(o,s){var m=F.document.createElement("iframe"),b,E,_=function(){clearTimeout(b);try{m.onload=null}catch{}m.onerror=null},v=function(){m&&(_(),setTimeout(function(){m&&m.parentNode.removeChild(m),m=null},0),r.unloadDel(E))},O=function(G){m&&(v(),s(G))},C=function(G,le){setTimeout(function(){try{m&&m.contentWindow&&m.contentWindow.postMessage(G,le)}catch{}},0)};return m.src=o,m.style.display="none",m.style.position="absolute",m.onerror=function(){O("onerror")},m.onload=function(){clearTimeout(b),b=setTimeout(function(){O("onload timeout")},2e3)},F.document.body.appendChild(m),b=setTimeout(function(){O("timeout")},15e3),E=r.unloadAdd(v),{post:C,cleanup:v,loaded:_}},createHtmlfile:function(o,s){var m=["Active"].concat("Object").join("X"),b=new F[m]("htmlfile"),E,_,v,O=function(){clearTimeout(E),v.onerror=null},C=function(){b&&(O(),r.unloadDel(_),v.parentNode.removeChild(v),v=b=null,CollectGarbage())},G=function(J){b&&(C(),s(J))},le=function(J,he){try{setTimeout(function(){v&&v.contentWindow&&v.contentWindow.postMessage(J,he)},0)}catch{}};b.open(),b.write(' frontend - - + +