@bloopjs/web 0.0.56 → 0.0.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts.map +1 -1
- package/dist/debugui/DebugUi.d.ts.map +1 -1
- package/dist/debugui/components/BottomBar.d.ts +8 -0
- package/dist/debugui/components/BottomBar.d.ts.map +1 -0
- package/dist/debugui/components/DebugToggle.d.ts.map +1 -1
- package/dist/debugui/components/Root.d.ts.map +1 -1
- package/dist/debugui/components/TopBar.d.ts +7 -0
- package/dist/debugui/components/TopBar.d.ts.map +1 -0
- package/dist/debugui/components/VerticalBar.d.ts +9 -0
- package/dist/debugui/components/VerticalBar.d.ts.map +1 -0
- package/dist/debugui/state.d.ts +9 -1
- package/dist/debugui/state.d.ts.map +1 -1
- package/dist/debugui/styles.d.ts +1 -1
- package/dist/debugui/styles.d.ts.map +1 -1
- package/dist/mod.js +571 -26
- package/dist/mod.js.map +12 -9
- package/package.json +3 -3
- package/src/App.ts +32 -1
- package/src/debugui/DebugUi.ts +7 -7
- package/src/debugui/components/BottomBar.tsx +68 -0
- package/src/debugui/components/DebugToggle.tsx +2 -6
- package/src/debugui/components/Root.tsx +81 -17
- package/src/debugui/components/TopBar.tsx +36 -0
- package/src/debugui/components/VerticalBar.tsx +26 -0
- package/src/debugui/state.ts +42 -5
- package/src/debugui/styles.ts +232 -2
package/dist/mod.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../bloop/dist/mod.js", "../../engine/dist/engine.js", "../../../node_modules/partysocket/dist/chunk-V6LO7DXK.mjs", "../src/netcode/logs.ts", "../src/netcode/transport.ts", "../src/netcode/broker.ts", "../../../node_modules/preact/dist/preact.module.js", "../../../node_modules/preact/hooks/dist/hooks.module.js", "../../../node_modules/@preact/signals-core/dist/signals-core.module.js", "../../../node_modules/@preact/signals/dist/signals.module.js", "../src/debugui/state.ts", "../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js", "../src/debugui/components/Stats.tsx", "../src/debugui/hooks/useAutoScroll.ts", "../src/debugui/components/Logs.tsx", "../src/debugui/components/DebugToggle.tsx", "../src/debugui/components/Root.tsx", "../src/debugui/styles.ts", "../src/debugui/DebugUi.ts", "../src/App.ts", "../src/netcode/protocol.ts", "../src/netcode/scaffold.ts"],
|
|
3
|
+
"sources": ["../../bloop/dist/mod.js", "../../engine/dist/engine.js", "../../../node_modules/partysocket/dist/chunk-V6LO7DXK.mjs", "../src/netcode/logs.ts", "../src/netcode/transport.ts", "../src/netcode/broker.ts", "../../../node_modules/preact/dist/preact.module.js", "../../../node_modules/preact/hooks/dist/hooks.module.js", "../../../node_modules/@preact/signals-core/dist/signals-core.module.js", "../../../node_modules/@preact/signals/dist/signals.module.js", "../src/debugui/state.ts", "../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js", "../src/debugui/components/Stats.tsx", "../src/debugui/hooks/useAutoScroll.ts", "../src/debugui/components/Logs.tsx", "../src/debugui/components/DebugToggle.tsx", "../src/debugui/components/TopBar.tsx", "../src/debugui/components/VerticalBar.tsx", "../src/debugui/components/BottomBar.tsx", "../src/debugui/components/Root.tsx", "../src/debugui/styles.ts", "../src/debugui/DebugUi.ts", "../src/App.ts", "../src/netcode/protocol.ts", "../src/netcode/scaffold.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, {\n get: all[name],\n enumerable: true,\n configurable: true,\n set: (newValue) => all[name] = () => newValue\n });\n};\n\n// src/util.ts\nvar exports_util = {};\n__export(exports_util, {\n unwrap: () => unwrap,\n toHexString: () => toHexString,\n logPerSecond: () => logPerSecond,\n logOnce: () => logOnce,\n logEvery: () => logEvery,\n assert: () => assert\n});\nfunction toHexString(dataView, length) {\n length ??= dataView.byteLength;\n let hexString = \"\";\n for (let i = 0;i < length; i++) {\n const byte = dataView.getUint8(i);\n hexString += `${byte.toString(16).padStart(2, \"0\")} `;\n }\n return hexString.trim();\n}\nfunction assert(condition, message) {\n if (condition == null || condition === false) {\n throw new Error(message ?? \"Assertion failed\");\n }\n}\nvar backpressureLogs = new Map;\nfunction logOnce(...args) {\n const key = args.map((a) => String(a)).join(\" \");\n if (!backpressureLogs.has(key)) {\n console.log(...args);\n backpressureLogs.set(key, 1);\n }\n}\nfunction logPerSecond(now, ...args) {\n logEvery(now, 1000, ...args);\n}\nfunction logEvery(now, interval = 10, ...args) {\n const key = args.map((a) => String(a)).join(\" \");\n const lastLogged = backpressureLogs.get(key) ?? -Infinity;\n if (now - lastLogged >= interval) {\n console.log(...args);\n backpressureLogs.set(key, now);\n }\n}\nfunction unwrap(value, message) {\n assert(value != null, message ?? `Unwrap failed: value is ${value}`);\n return value;\n}\n// ../engine/dist/engine.js\nvar exports_engine = {};\n__export(exports_engine, {\n mouseButtonToMouseButtonCode: () => mouseButtonToMouseButtonCode,\n mouseButtonCodeToMouseButton: () => mouseButtonCodeToMouseButton,\n keyToKeyCode: () => keyToKeyCode,\n keyCodeToKey: () => keyCodeToKey,\n inputSourceToInputSourceCode: () => inputSourceToInputSourceCode,\n inputSourceCodeToInputSource: () => inputSourceCodeToInputSource,\n TimeContext: () => TimeContext,\n TIME_CTX_OFFSET: () => TIME_CTX_OFFSET,\n SNAPSHOT_HEADER_USER_LEN_OFFSET: () => SNAPSHOT_HEADER_USER_LEN_OFFSET,\n SNAPSHOT_HEADER_LEN: () => SNAPSHOT_HEADER_LEN,\n SNAPSHOT_HEADER_ENGINE_LEN_OFFSET: () => SNAPSHOT_HEADER_ENGINE_LEN_OFFSET,\n PlayerInputContext: () => PlayerInputContext,\n PLAYER_INPUTS_SIZE: () => PLAYER_INPUTS_SIZE,\n NetContext: () => NetContext,\n NET_CTX_OFFSET: () => NET_CTX_OFFSET,\n MouseContext: () => MouseContext,\n MOUSE_OFFSET: () => MOUSE_OFFSET,\n MOUSE_BUTTONS_OFFSET: () => MOUSE_BUTTONS_OFFSET,\n MAX_PLAYERS: () => MAX_PLAYERS,\n KeyboardContext: () => KeyboardContext,\n KEYBOARD_SIZE: () => KEYBOARD_SIZE,\n KEYBOARD_OFFSET: () => KEYBOARD_OFFSET,\n InputContext: () => InputContext,\n INPUT_CTX_SIZE: () => INPUT_CTX_SIZE,\n INPUT_CTX_OFFSET: () => INPUT_CTX_OFFSET,\n Enums: () => exports_enums,\n EVENT_PAYLOAD_SIZE: () => EVENT_PAYLOAD_SIZE,\n EVENT_PAYLOAD_ALIGN: () => EVENT_PAYLOAD_ALIGN,\n EVENTS_OFFSET: () => EVENTS_OFFSET,\n DEFAULT_WASM_URL: () => DEFAULT_WASM_URL\n});\nvar __defProp2 = Object.defineProperty;\nvar __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, {\n get: all[name],\n enumerable: true,\n configurable: true,\n set: (newValue) => all[name] = () => newValue\n });\n};\nvar exports_enums = {};\n__export2(exports_enums, {\n MouseButton: () => MouseButton,\n Key: () => Key,\n InputSource: () => InputSource,\n EventType: () => EventType\n});\nvar EventType;\n((EventType2) => {\n EventType2[EventType2[\"None\"] = 0] = \"None\";\n EventType2[EventType2[\"KeyDown\"] = 1] = \"KeyDown\";\n EventType2[EventType2[\"KeyUp\"] = 2] = \"KeyUp\";\n EventType2[EventType2[\"MouseMove\"] = 3] = \"MouseMove\";\n EventType2[EventType2[\"MouseDown\"] = 4] = \"MouseDown\";\n EventType2[EventType2[\"MouseUp\"] = 5] = \"MouseUp\";\n EventType2[EventType2[\"MouseWheel\"] = 6] = \"MouseWheel\";\n EventType2[EventType2[\"FrameStart\"] = 7] = \"FrameStart\";\n})(EventType ||= {});\nvar MouseButton;\n((MouseButton2) => {\n MouseButton2[MouseButton2[\"None\"] = 0] = \"None\";\n MouseButton2[MouseButton2[\"Left\"] = 1] = \"Left\";\n MouseButton2[MouseButton2[\"Middle\"] = 2] = \"Middle\";\n MouseButton2[MouseButton2[\"Right\"] = 3] = \"Right\";\n MouseButton2[MouseButton2[\"X1\"] = 4] = \"X1\";\n MouseButton2[MouseButton2[\"X2\"] = 5] = \"X2\";\n MouseButton2[MouseButton2[\"X3\"] = 6] = \"X3\";\n MouseButton2[MouseButton2[\"X4\"] = 7] = \"X4\";\n MouseButton2[MouseButton2[\"X5\"] = 8] = \"X5\";\n})(MouseButton ||= {});\nvar Key;\n((Key2) => {\n Key2[Key2[\"None\"] = 0] = \"None\";\n Key2[Key2[\"Backquote\"] = 1] = \"Backquote\";\n Key2[Key2[\"Backslash\"] = 2] = \"Backslash\";\n Key2[Key2[\"BracketLeft\"] = 3] = \"BracketLeft\";\n Key2[Key2[\"BracketRight\"] = 4] = \"BracketRight\";\n Key2[Key2[\"Comma\"] = 5] = \"Comma\";\n Key2[Key2[\"Digit0\"] = 6] = \"Digit0\";\n Key2[Key2[\"Digit1\"] = 7] = \"Digit1\";\n Key2[Key2[\"Digit2\"] = 8] = \"Digit2\";\n Key2[Key2[\"Digit3\"] = 9] = \"Digit3\";\n Key2[Key2[\"Digit4\"] = 10] = \"Digit4\";\n Key2[Key2[\"Digit5\"] = 11] = \"Digit5\";\n Key2[Key2[\"Digit6\"] = 12] = \"Digit6\";\n Key2[Key2[\"Digit7\"] = 13] = \"Digit7\";\n Key2[Key2[\"Digit8\"] = 14] = \"Digit8\";\n Key2[Key2[\"Digit9\"] = 15] = \"Digit9\";\n Key2[Key2[\"Equal\"] = 16] = \"Equal\";\n Key2[Key2[\"IntlBackslash\"] = 17] = \"IntlBackslash\";\n Key2[Key2[\"IntlRo\"] = 18] = \"IntlRo\";\n Key2[Key2[\"IntlYen\"] = 19] = \"IntlYen\";\n Key2[Key2[\"KeyA\"] = 20] = \"KeyA\";\n Key2[Key2[\"KeyB\"] = 21] = \"KeyB\";\n Key2[Key2[\"KeyC\"] = 22] = \"KeyC\";\n Key2[Key2[\"KeyD\"] = 23] = \"KeyD\";\n Key2[Key2[\"KeyE\"] = 24] = \"KeyE\";\n Key2[Key2[\"KeyF\"] = 25] = \"KeyF\";\n Key2[Key2[\"KeyG\"] = 26] = \"KeyG\";\n Key2[Key2[\"KeyH\"] = 27] = \"KeyH\";\n Key2[Key2[\"KeyI\"] = 28] = \"KeyI\";\n Key2[Key2[\"KeyJ\"] = 29] = \"KeyJ\";\n Key2[Key2[\"KeyK\"] = 30] = \"KeyK\";\n Key2[Key2[\"KeyL\"] = 31] = \"KeyL\";\n Key2[Key2[\"KeyM\"] = 32] = \"KeyM\";\n Key2[Key2[\"KeyN\"] = 33] = \"KeyN\";\n Key2[Key2[\"KeyO\"] = 34] = \"KeyO\";\n Key2[Key2[\"KeyP\"] = 35] = \"KeyP\";\n Key2[Key2[\"KeyQ\"] = 36] = \"KeyQ\";\n Key2[Key2[\"KeyR\"] = 37] = \"KeyR\";\n Key2[Key2[\"KeyS\"] = 38] = \"KeyS\";\n Key2[Key2[\"KeyT\"] = 39] = \"KeyT\";\n Key2[Key2[\"KeyU\"] = 40] = \"KeyU\";\n Key2[Key2[\"KeyV\"] = 41] = \"KeyV\";\n Key2[Key2[\"KeyW\"] = 42] = \"KeyW\";\n Key2[Key2[\"KeyX\"] = 43] = \"KeyX\";\n Key2[Key2[\"KeyY\"] = 44] = \"KeyY\";\n Key2[Key2[\"KeyZ\"] = 45] = \"KeyZ\";\n Key2[Key2[\"Minus\"] = 46] = \"Minus\";\n Key2[Key2[\"Period\"] = 47] = \"Period\";\n Key2[Key2[\"Quote\"] = 48] = \"Quote\";\n Key2[Key2[\"Semicolon\"] = 49] = \"Semicolon\";\n Key2[Key2[\"Slash\"] = 50] = \"Slash\";\n Key2[Key2[\"AltLeft\"] = 51] = \"AltLeft\";\n Key2[Key2[\"AltRight\"] = 52] = \"AltRight\";\n Key2[Key2[\"Backspace\"] = 53] = \"Backspace\";\n Key2[Key2[\"CapsLock\"] = 54] = \"CapsLock\";\n Key2[Key2[\"ContextMenu\"] = 55] = \"ContextMenu\";\n Key2[Key2[\"ControlLeft\"] = 56] = \"ControlLeft\";\n Key2[Key2[\"ControlRight\"] = 57] = \"ControlRight\";\n Key2[Key2[\"Enter\"] = 58] = \"Enter\";\n Key2[Key2[\"MetaLeft\"] = 59] = \"MetaLeft\";\n Key2[Key2[\"MetaRight\"] = 60] = \"MetaRight\";\n Key2[Key2[\"ShiftLeft\"] = 61] = \"ShiftLeft\";\n Key2[Key2[\"ShiftRight\"] = 62] = \"ShiftRight\";\n Key2[Key2[\"Space\"] = 63] = \"Space\";\n Key2[Key2[\"Tab\"] = 64] = \"Tab\";\n Key2[Key2[\"Convert\"] = 65] = \"Convert\";\n Key2[Key2[\"KanaMode\"] = 66] = \"KanaMode\";\n Key2[Key2[\"Lang1\"] = 67] = \"Lang1\";\n Key2[Key2[\"Lang2\"] = 68] = \"Lang2\";\n Key2[Key2[\"Lang3\"] = 69] = \"Lang3\";\n Key2[Key2[\"Lang4\"] = 70] = \"Lang4\";\n Key2[Key2[\"Lang5\"] = 71] = \"Lang5\";\n Key2[Key2[\"NonConvert\"] = 72] = \"NonConvert\";\n Key2[Key2[\"Delete\"] = 73] = \"Delete\";\n Key2[Key2[\"End\"] = 74] = \"End\";\n Key2[Key2[\"Help\"] = 75] = \"Help\";\n Key2[Key2[\"Home\"] = 76] = \"Home\";\n Key2[Key2[\"Insert\"] = 77] = \"Insert\";\n Key2[Key2[\"PageDown\"] = 78] = \"PageDown\";\n Key2[Key2[\"PageUp\"] = 79] = \"PageUp\";\n Key2[Key2[\"ArrowDown\"] = 80] = \"ArrowDown\";\n Key2[Key2[\"ArrowLeft\"] = 81] = \"ArrowLeft\";\n Key2[Key2[\"ArrowRight\"] = 82] = \"ArrowRight\";\n Key2[Key2[\"ArrowUp\"] = 83] = \"ArrowUp\";\n Key2[Key2[\"NumLock\"] = 84] = \"NumLock\";\n Key2[Key2[\"Numpad0\"] = 85] = \"Numpad0\";\n Key2[Key2[\"Numpad1\"] = 86] = \"Numpad1\";\n Key2[Key2[\"Numpad2\"] = 87] = \"Numpad2\";\n Key2[Key2[\"Numpad3\"] = 88] = \"Numpad3\";\n Key2[Key2[\"Numpad4\"] = 89] = \"Numpad4\";\n Key2[Key2[\"Numpad5\"] = 90] = \"Numpad5\";\n Key2[Key2[\"Numpad6\"] = 91] = \"Numpad6\";\n Key2[Key2[\"Numpad7\"] = 92] = \"Numpad7\";\n Key2[Key2[\"Numpad8\"] = 93] = \"Numpad8\";\n Key2[Key2[\"Numpad9\"] = 94] = \"Numpad9\";\n Key2[Key2[\"NumpadAdd\"] = 95] = \"NumpadAdd\";\n Key2[Key2[\"NumpadBackspace\"] = 96] = \"NumpadBackspace\";\n Key2[Key2[\"NumpadClear\"] = 97] = \"NumpadClear\";\n Key2[Key2[\"NumpadClearEntry\"] = 98] = \"NumpadClearEntry\";\n Key2[Key2[\"NumpadComma\"] = 99] = \"NumpadComma\";\n Key2[Key2[\"NumpadDecimal\"] = 100] = \"NumpadDecimal\";\n Key2[Key2[\"NumpadDivide\"] = 101] = \"NumpadDivide\";\n Key2[Key2[\"NumpadEnter\"] = 102] = \"NumpadEnter\";\n Key2[Key2[\"NumpadEqual\"] = 103] = \"NumpadEqual\";\n Key2[Key2[\"NumpadHash\"] = 104] = \"NumpadHash\";\n Key2[Key2[\"NumpadMemoryAdd\"] = 105] = \"NumpadMemoryAdd\";\n Key2[Key2[\"NumpadMemoryClear\"] = 106] = \"NumpadMemoryClear\";\n Key2[Key2[\"NumpadMemoryRecall\"] = 107] = \"NumpadMemoryRecall\";\n Key2[Key2[\"NumpadMemoryStore\"] = 108] = \"NumpadMemoryStore\";\n Key2[Key2[\"NumpadMemorySubtract\"] = 109] = \"NumpadMemorySubtract\";\n Key2[Key2[\"NumpadMultiply\"] = 110] = \"NumpadMultiply\";\n Key2[Key2[\"NumpadParenLeft\"] = 111] = \"NumpadParenLeft\";\n Key2[Key2[\"NumpadParenRight\"] = 112] = \"NumpadParenRight\";\n Key2[Key2[\"NumpadStar\"] = 113] = \"NumpadStar\";\n Key2[Key2[\"NumpadSubtract\"] = 114] = \"NumpadSubtract\";\n Key2[Key2[\"Escape\"] = 115] = \"Escape\";\n Key2[Key2[\"Fn\"] = 116] = \"Fn\";\n Key2[Key2[\"FnLock\"] = 117] = \"FnLock\";\n Key2[Key2[\"PrintScreen\"] = 118] = \"PrintScreen\";\n Key2[Key2[\"ScrollLock\"] = 119] = \"ScrollLock\";\n Key2[Key2[\"Pause\"] = 120] = \"Pause\";\n Key2[Key2[\"BrowserBack\"] = 121] = \"BrowserBack\";\n Key2[Key2[\"BrowserFavorites\"] = 122] = \"BrowserFavorites\";\n Key2[Key2[\"BrowserForward\"] = 123] = \"BrowserForward\";\n Key2[Key2[\"BrowserHome\"] = 124] = \"BrowserHome\";\n Key2[Key2[\"BrowserRefresh\"] = 125] = \"BrowserRefresh\";\n Key2[Key2[\"BrowserSearch\"] = 126] = \"BrowserSearch\";\n Key2[Key2[\"BrowserStop\"] = 127] = \"BrowserStop\";\n Key2[Key2[\"Eject\"] = 128] = \"Eject\";\n Key2[Key2[\"LaunchApp1\"] = 129] = \"LaunchApp1\";\n Key2[Key2[\"LaunchApp2\"] = 130] = \"LaunchApp2\";\n Key2[Key2[\"LaunchMail\"] = 131] = \"LaunchMail\";\n Key2[Key2[\"MediaPlayPause\"] = 132] = \"MediaPlayPause\";\n Key2[Key2[\"MediaSelect\"] = 133] = \"MediaSelect\";\n Key2[Key2[\"MediaStop\"] = 134] = \"MediaStop\";\n Key2[Key2[\"MediaTrackNext\"] = 135] = \"MediaTrackNext\";\n Key2[Key2[\"MediaTrackPrevious\"] = 136] = \"MediaTrackPrevious\";\n Key2[Key2[\"Power\"] = 137] = \"Power\";\n Key2[Key2[\"Sleep\"] = 138] = \"Sleep\";\n Key2[Key2[\"AudioVolumeDown\"] = 139] = \"AudioVolumeDown\";\n Key2[Key2[\"AudioVolumeMute\"] = 140] = \"AudioVolumeMute\";\n Key2[Key2[\"AudioVolumeUp\"] = 141] = \"AudioVolumeUp\";\n Key2[Key2[\"WakeUp\"] = 142] = \"WakeUp\";\n Key2[Key2[\"Hyper\"] = 143] = \"Hyper\";\n Key2[Key2[\"Super\"] = 144] = \"Super\";\n Key2[Key2[\"Turbo\"] = 145] = \"Turbo\";\n Key2[Key2[\"Abort\"] = 146] = \"Abort\";\n Key2[Key2[\"Resume\"] = 147] = \"Resume\";\n Key2[Key2[\"Suspend\"] = 148] = \"Suspend\";\n Key2[Key2[\"Again\"] = 149] = \"Again\";\n Key2[Key2[\"Copy\"] = 150] = \"Copy\";\n Key2[Key2[\"Cut\"] = 151] = \"Cut\";\n Key2[Key2[\"Find\"] = 152] = \"Find\";\n Key2[Key2[\"Open\"] = 153] = \"Open\";\n Key2[Key2[\"Paste\"] = 154] = \"Paste\";\n Key2[Key2[\"Props\"] = 155] = \"Props\";\n Key2[Key2[\"Select\"] = 156] = \"Select\";\n Key2[Key2[\"Undo\"] = 157] = \"Undo\";\n Key2[Key2[\"Hiragana\"] = 158] = \"Hiragana\";\n Key2[Key2[\"Katakana\"] = 159] = \"Katakana\";\n Key2[Key2[\"F1\"] = 160] = \"F1\";\n Key2[Key2[\"F2\"] = 161] = \"F2\";\n Key2[Key2[\"F3\"] = 162] = \"F3\";\n Key2[Key2[\"F4\"] = 163] = \"F4\";\n Key2[Key2[\"F5\"] = 164] = \"F5\";\n Key2[Key2[\"F6\"] = 165] = \"F6\";\n Key2[Key2[\"F7\"] = 166] = \"F7\";\n Key2[Key2[\"F8\"] = 167] = \"F8\";\n Key2[Key2[\"F9\"] = 168] = \"F9\";\n Key2[Key2[\"F10\"] = 169] = \"F10\";\n Key2[Key2[\"F11\"] = 170] = \"F11\";\n Key2[Key2[\"F12\"] = 171] = \"F12\";\n Key2[Key2[\"F13\"] = 172] = \"F13\";\n Key2[Key2[\"F14\"] = 173] = \"F14\";\n Key2[Key2[\"F15\"] = 174] = \"F15\";\n Key2[Key2[\"F16\"] = 175] = \"F16\";\n Key2[Key2[\"F17\"] = 176] = \"F17\";\n Key2[Key2[\"F18\"] = 177] = \"F18\";\n Key2[Key2[\"F19\"] = 178] = \"F19\";\n Key2[Key2[\"F20\"] = 179] = \"F20\";\n Key2[Key2[\"F21\"] = 180] = \"F21\";\n Key2[Key2[\"F22\"] = 181] = \"F22\";\n Key2[Key2[\"F23\"] = 182] = \"F23\";\n Key2[Key2[\"F24\"] = 183] = \"F24\";\n Key2[Key2[\"F25\"] = 184] = \"F25\";\n Key2[Key2[\"F26\"] = 185] = \"F26\";\n Key2[Key2[\"F27\"] = 186] = \"F27\";\n Key2[Key2[\"F28\"] = 187] = \"F28\";\n Key2[Key2[\"F29\"] = 188] = \"F29\";\n Key2[Key2[\"F30\"] = 189] = \"F30\";\n Key2[Key2[\"F31\"] = 190] = \"F31\";\n Key2[Key2[\"F32\"] = 191] = \"F32\";\n Key2[Key2[\"F33\"] = 192] = \"F33\";\n Key2[Key2[\"F34\"] = 193] = \"F34\";\n Key2[Key2[\"F35\"] = 194] = \"F35\";\n})(Key ||= {});\nvar InputSource;\n((InputSource2) => {\n InputSource2[InputSource2[\"None\"] = 0] = \"None\";\n InputSource2[InputSource2[\"LocalKeyboard\"] = 1] = \"LocalKeyboard\";\n InputSource2[InputSource2[\"LocalMouse\"] = 2] = \"LocalMouse\";\n InputSource2[InputSource2[\"LocalTouch\"] = 3] = \"LocalTouch\";\n InputSource2[InputSource2[\"LocalGamepad0\"] = 4] = \"LocalGamepad0\";\n InputSource2[InputSource2[\"LocalGamepad1\"] = 5] = \"LocalGamepad1\";\n InputSource2[InputSource2[\"LocalGamepad2\"] = 6] = \"LocalGamepad2\";\n InputSource2[InputSource2[\"LocalGamepad3\"] = 7] = \"LocalGamepad3\";\n InputSource2[InputSource2[\"LocalGamepad4\"] = 8] = \"LocalGamepad4\";\n InputSource2[InputSource2[\"LocalGamepad5\"] = 9] = \"LocalGamepad5\";\n InputSource2[InputSource2[\"LocalGamepad6\"] = 10] = \"LocalGamepad6\";\n InputSource2[InputSource2[\"LocalGamepad7\"] = 11] = \"LocalGamepad7\";\n InputSource2[InputSource2[\"LocalGamepad8\"] = 12] = \"LocalGamepad8\";\n InputSource2[InputSource2[\"LocalGamepad9\"] = 13] = \"LocalGamepad9\";\n InputSource2[InputSource2[\"LocalGamepad10\"] = 14] = \"LocalGamepad10\";\n InputSource2[InputSource2[\"LocalGamepad11\"] = 15] = \"LocalGamepad11\";\n InputSource2[InputSource2[\"RemotePeer0\"] = 128] = \"RemotePeer0\";\n InputSource2[InputSource2[\"RemotePeer1\"] = 129] = \"RemotePeer1\";\n InputSource2[InputSource2[\"RemotePeer2\"] = 130] = \"RemotePeer2\";\n InputSource2[InputSource2[\"RemotePeer3\"] = 131] = \"RemotePeer3\";\n InputSource2[InputSource2[\"RemotePeer4\"] = 132] = \"RemotePeer4\";\n InputSource2[InputSource2[\"RemotePeer5\"] = 133] = \"RemotePeer5\";\n InputSource2[InputSource2[\"RemotePeer6\"] = 134] = \"RemotePeer6\";\n InputSource2[InputSource2[\"RemotePeer7\"] = 135] = \"RemotePeer7\";\n InputSource2[InputSource2[\"RemotePeer8\"] = 136] = \"RemotePeer8\";\n InputSource2[InputSource2[\"RemotePeer9\"] = 137] = \"RemotePeer9\";\n InputSource2[InputSource2[\"RemotePeer10\"] = 138] = \"RemotePeer10\";\n InputSource2[InputSource2[\"RemotePeer11\"] = 139] = \"RemotePeer11\";\n InputSource2[InputSource2[\"Unmapped\"] = 255] = \"Unmapped\";\n})(InputSource ||= {});\nvar MAX_PLAYERS = 12;\nvar KEYBOARD_OFFSET = 0;\nvar KEYBOARD_SIZE = 256;\nvar MOUSE_OFFSET = 256;\nvar MOUSE_BUTTONS_OFFSET = 16;\nvar PLAYER_INPUTS_SIZE = 280;\nvar INPUT_CTX_SIZE = MAX_PLAYERS * PLAYER_INPUTS_SIZE;\nvar EVENT_PAYLOAD_SIZE = 8;\nvar EVENT_PAYLOAD_ALIGN = 4;\nfunction keyToKeyCode(key) {\n return Key[key];\n}\nfunction keyCodeToKey(code) {\n return Key[code];\n}\nfunction mouseButtonToMouseButtonCode(button) {\n return MouseButton[button];\n}\nfunction mouseButtonCodeToMouseButton(code) {\n return MouseButton[code];\n}\nfunction inputSourceToInputSourceCode(source) {\n return InputSource[source];\n}\nfunction inputSourceCodeToInputSource(code) {\n return InputSource[code];\n}\n\nclass PlayerInputContext {\n #dataView;\n #keys;\n #mouse;\n constructor(dataView) {\n this.#dataView = dataView;\n }\n get keys() {\n if (!this.#keys) {\n this.#keys = new KeyboardContext(new DataView(this.#dataView.buffer, this.#dataView.byteOffset + KEYBOARD_OFFSET));\n }\n return this.#keys;\n }\n get mouse() {\n if (!this.#mouse) {\n this.#mouse = new MouseContext(new DataView(this.#dataView.buffer, this.#dataView.byteOffset + MOUSE_OFFSET));\n }\n return this.#mouse;\n }\n}\n\nclass InputContext {\n #dataView;\n #players = [];\n constructor(dataView) {\n if (dataView) {\n this.#dataView = dataView;\n this.#buildPlayers();\n }\n }\n get dataView() {\n if (!this.#dataView) {\n throw new Error(\"DataView is not initialized on InputContext\");\n }\n return this.#dataView;\n }\n set dataView(dataView) {\n this.#dataView = dataView;\n this.#buildPlayers();\n }\n #buildPlayers() {\n this.#players = [];\n for (let i = 0;i < MAX_PLAYERS; i++) {\n const playerOffset = i * PLAYER_INPUTS_SIZE;\n const playerDataView = new DataView(this.dataView.buffer, this.dataView.byteOffset + playerOffset, PLAYER_INPUTS_SIZE);\n this.#players.push(new PlayerInputContext(playerDataView));\n }\n }\n get players() {\n return this.#players;\n }\n get keys() {\n if (!this.#players[0]) {\n throw new Error(\"No player inputs available in InputContext\");\n }\n return this.#players[0].keys;\n }\n get mouse() {\n if (!this.#players[0]) {\n throw new Error(\"No player inputs available in InputContext\");\n }\n return this.#players[0].mouse;\n }\n}\n\nclass MouseContext {\n #dataView;\n #buttonStates = new Map;\n constructor(dataView) {\n this.#dataView = dataView;\n }\n get x() {\n return this.#dataView.getFloat32(0, true);\n }\n get y() {\n return this.#dataView.getFloat32(4, true);\n }\n get wheel() {\n return { x: this.wheelX, y: this.wheelY };\n }\n get wheelX() {\n return this.#dataView.getFloat32(8, true);\n }\n get wheelY() {\n return this.#dataView.getFloat32(12, true);\n }\n get left() {\n return this.#buttonState(1);\n }\n get right() {\n return this.#buttonState(3);\n }\n get middle() {\n return this.#buttonState(2);\n }\n #buttonState(code) {\n let state;\n if (this.#buttonStates.has(code)) {\n state = this.#buttonStates.get(code);\n } else {\n state = { down: false, held: false, up: false };\n this.#buttonStates.set(code, state);\n }\n const offset = MOUSE_BUTTONS_OFFSET;\n state.held = !!(this.#dataView.getUint8(offset + code) & 1);\n state.down = state.held && !(this.#dataView.getUint8(offset + code) & 2);\n state.up = !state.held && !!(this.#dataView.getUint8(offset + code) & 2);\n return state;\n }\n}\n\nclass KeyboardContext {\n #dataView;\n #keystates = new Map;\n constructor(dataView) {\n this.#dataView = dataView;\n }\n get shift() {\n return this.shiftLeft || this.shiftRight;\n }\n get alt() {\n return this.altLeft || this.altRight;\n }\n get control() {\n return this.controlLeft || this.controlRight;\n }\n get meta() {\n return this.metaLeft || this.metaRight;\n }\n get backquote() {\n return this.#keystate(1);\n }\n get backslash() {\n return this.#keystate(2);\n }\n get bracketLeft() {\n return this.#keystate(3);\n }\n get bracketRight() {\n return this.#keystate(4);\n }\n get comma() {\n return this.#keystate(5);\n }\n get digit0() {\n return this.#keystate(6);\n }\n get digit1() {\n return this.#keystate(7);\n }\n get digit2() {\n return this.#keystate(8);\n }\n get digit3() {\n return this.#keystate(9);\n }\n get digit4() {\n return this.#keystate(10);\n }\n get digit5() {\n return this.#keystate(11);\n }\n get digit6() {\n return this.#keystate(12);\n }\n get digit7() {\n return this.#keystate(13);\n }\n get digit8() {\n return this.#keystate(14);\n }\n get digit9() {\n return this.#keystate(15);\n }\n get equal() {\n return this.#keystate(16);\n }\n get intlBackslash() {\n return this.#keystate(17);\n }\n get intlRo() {\n return this.#keystate(18);\n }\n get intlYen() {\n return this.#keystate(19);\n }\n get a() {\n return this.#keystate(20);\n }\n get b() {\n return this.#keystate(21);\n }\n get c() {\n return this.#keystate(22);\n }\n get d() {\n return this.#keystate(23);\n }\n get e() {\n return this.#keystate(24);\n }\n get f() {\n return this.#keystate(25);\n }\n get g() {\n return this.#keystate(26);\n }\n get h() {\n return this.#keystate(27);\n }\n get i() {\n return this.#keystate(28);\n }\n get j() {\n return this.#keystate(29);\n }\n get k() {\n return this.#keystate(30);\n }\n get l() {\n return this.#keystate(31);\n }\n get m() {\n return this.#keystate(32);\n }\n get n() {\n return this.#keystate(33);\n }\n get o() {\n return this.#keystate(34);\n }\n get p() {\n return this.#keystate(35);\n }\n get q() {\n return this.#keystate(36);\n }\n get r() {\n return this.#keystate(37);\n }\n get s() {\n return this.#keystate(38);\n }\n get t() {\n return this.#keystate(39);\n }\n get u() {\n return this.#keystate(40);\n }\n get v() {\n return this.#keystate(41);\n }\n get w() {\n return this.#keystate(42);\n }\n get x() {\n return this.#keystate(43);\n }\n get y() {\n return this.#keystate(44);\n }\n get z() {\n return this.#keystate(45);\n }\n get minus() {\n return this.#keystate(46);\n }\n get period() {\n return this.#keystate(47);\n }\n get quote() {\n return this.#keystate(48);\n }\n get semicolon() {\n return this.#keystate(49);\n }\n get slash() {\n return this.#keystate(50);\n }\n get altLeft() {\n return this.#keystate(51);\n }\n get altRight() {\n return this.#keystate(52);\n }\n get backspace() {\n return this.#keystate(53);\n }\n get capsLock() {\n return this.#keystate(54);\n }\n get contextMenu() {\n return this.#keystate(55);\n }\n get controlLeft() {\n return this.#keystate(56);\n }\n get controlRight() {\n return this.#keystate(57);\n }\n get enter() {\n return this.#keystate(58);\n }\n get metaLeft() {\n return this.#keystate(59);\n }\n get metaRight() {\n return this.#keystate(60);\n }\n get shiftLeft() {\n return this.#keystate(61);\n }\n get shiftRight() {\n return this.#keystate(62);\n }\n get space() {\n return this.#keystate(63);\n }\n get tab() {\n return this.#keystate(64);\n }\n get convert() {\n return this.#keystate(65);\n }\n get kanaMode() {\n return this.#keystate(66);\n }\n get lang1() {\n return this.#keystate(67);\n }\n get lang2() {\n return this.#keystate(68);\n }\n get lang3() {\n return this.#keystate(69);\n }\n get lang4() {\n return this.#keystate(70);\n }\n get lang5() {\n return this.#keystate(71);\n }\n get nonConvert() {\n return this.#keystate(72);\n }\n get delete() {\n return this.#keystate(73);\n }\n get end() {\n return this.#keystate(74);\n }\n get help() {\n return this.#keystate(75);\n }\n get home() {\n return this.#keystate(76);\n }\n get insert() {\n return this.#keystate(77);\n }\n get pageDown() {\n return this.#keystate(78);\n }\n get pageUp() {\n return this.#keystate(79);\n }\n get arrowDown() {\n return this.#keystate(80);\n }\n get arrowLeft() {\n return this.#keystate(81);\n }\n get arrowRight() {\n return this.#keystate(82);\n }\n get arrowUp() {\n return this.#keystate(83);\n }\n get numLock() {\n return this.#keystate(84);\n }\n get numpad0() {\n return this.#keystate(85);\n }\n get numpad1() {\n return this.#keystate(86);\n }\n get numpad2() {\n return this.#keystate(87);\n }\n get numpad3() {\n return this.#keystate(88);\n }\n get numpad4() {\n return this.#keystate(89);\n }\n get numpad5() {\n return this.#keystate(90);\n }\n get numpad6() {\n return this.#keystate(91);\n }\n get numpad7() {\n return this.#keystate(92);\n }\n get numpad8() {\n return this.#keystate(93);\n }\n get numpad9() {\n return this.#keystate(94);\n }\n get numpadAdd() {\n return this.#keystate(95);\n }\n get numpadBackspace() {\n return this.#keystate(96);\n }\n get numpadClear() {\n return this.#keystate(97);\n }\n get numpadClearEntry() {\n return this.#keystate(98);\n }\n get numpadComma() {\n return this.#keystate(99);\n }\n get numpadDecimal() {\n return this.#keystate(100);\n }\n get numpadDivide() {\n return this.#keystate(101);\n }\n get numpadEnter() {\n return this.#keystate(102);\n }\n get numpadEqual() {\n return this.#keystate(103);\n }\n get numpadHash() {\n return this.#keystate(104);\n }\n get numpadMemoryAdd() {\n return this.#keystate(105);\n }\n get numpadMemoryClear() {\n return this.#keystate(106);\n }\n get numpadMemoryRecall() {\n return this.#keystate(107);\n }\n get numpadMemoryStore() {\n return this.#keystate(108);\n }\n get numpadMemorySubtract() {\n return this.#keystate(109);\n }\n get numpadMultiply() {\n return this.#keystate(110);\n }\n get numpadParenLeft() {\n return this.#keystate(111);\n }\n get numpadParenRight() {\n return this.#keystate(112);\n }\n get numpadStar() {\n return this.#keystate(113);\n }\n get numpadSubtract() {\n return this.#keystate(114);\n }\n get escape() {\n return this.#keystate(115);\n }\n get fn() {\n return this.#keystate(116);\n }\n get fnLock() {\n return this.#keystate(117);\n }\n get printScreen() {\n return this.#keystate(118);\n }\n get scrollLock() {\n return this.#keystate(119);\n }\n get pause() {\n return this.#keystate(120);\n }\n get browserBack() {\n return this.#keystate(121);\n }\n get browserFavorites() {\n return this.#keystate(122);\n }\n get browserForward() {\n return this.#keystate(123);\n }\n get browserHome() {\n return this.#keystate(124);\n }\n get browserRefresh() {\n return this.#keystate(125);\n }\n get browserSearch() {\n return this.#keystate(126);\n }\n get browserStop() {\n return this.#keystate(127);\n }\n get eject() {\n return this.#keystate(128);\n }\n get launchApp1() {\n return this.#keystate(129);\n }\n get launchApp2() {\n return this.#keystate(130);\n }\n get launchMail() {\n return this.#keystate(131);\n }\n get mediaPlayPause() {\n return this.#keystate(132);\n }\n get mediaSelect() {\n return this.#keystate(133);\n }\n get mediaStop() {\n return this.#keystate(134);\n }\n get mediaTrackNext() {\n return this.#keystate(135);\n }\n get mediaTrackPrevious() {\n return this.#keystate(136);\n }\n get power() {\n return this.#keystate(137);\n }\n get sleep() {\n return this.#keystate(138);\n }\n get audioVolumeDown() {\n return this.#keystate(139);\n }\n get audioVolumeMute() {\n return this.#keystate(140);\n }\n get audioVolumeUp() {\n return this.#keystate(141);\n }\n get wakeUp() {\n return this.#keystate(142);\n }\n get hyper() {\n return this.#keystate(143);\n }\n get super() {\n return this.#keystate(144);\n }\n get turbo() {\n return this.#keystate(145);\n }\n get abort() {\n return this.#keystate(146);\n }\n get resume() {\n return this.#keystate(147);\n }\n get suspend() {\n return this.#keystate(148);\n }\n get again() {\n return this.#keystate(149);\n }\n get copy() {\n return this.#keystate(150);\n }\n get cut() {\n return this.#keystate(151);\n }\n get find() {\n return this.#keystate(152);\n }\n get open() {\n return this.#keystate(153);\n }\n get paste() {\n return this.#keystate(154);\n }\n get props() {\n return this.#keystate(155);\n }\n get select() {\n return this.#keystate(156);\n }\n get undo() {\n return this.#keystate(157);\n }\n get hiragana() {\n return this.#keystate(158);\n }\n get katakana() {\n return this.#keystate(159);\n }\n get f1() {\n return this.#keystate(160);\n }\n get f2() {\n return this.#keystate(161);\n }\n get f3() {\n return this.#keystate(162);\n }\n get f4() {\n return this.#keystate(163);\n }\n get f5() {\n return this.#keystate(164);\n }\n get f6() {\n return this.#keystate(165);\n }\n get f7() {\n return this.#keystate(166);\n }\n get f8() {\n return this.#keystate(167);\n }\n get f9() {\n return this.#keystate(168);\n }\n get f10() {\n return this.#keystate(169);\n }\n get f11() {\n return this.#keystate(170);\n }\n get f12() {\n return this.#keystate(171);\n }\n get f13() {\n return this.#keystate(172);\n }\n get f14() {\n return this.#keystate(173);\n }\n get f15() {\n return this.#keystate(174);\n }\n get f16() {\n return this.#keystate(175);\n }\n get f17() {\n return this.#keystate(176);\n }\n get f18() {\n return this.#keystate(177);\n }\n get f19() {\n return this.#keystate(178);\n }\n get f20() {\n return this.#keystate(179);\n }\n get f21() {\n return this.#keystate(180);\n }\n get f22() {\n return this.#keystate(181);\n }\n get f23() {\n return this.#keystate(182);\n }\n get f24() {\n return this.#keystate(183);\n }\n get f25() {\n return this.#keystate(184);\n }\n get f26() {\n return this.#keystate(185);\n }\n get f27() {\n return this.#keystate(186);\n }\n get f28() {\n return this.#keystate(187);\n }\n get f29() {\n return this.#keystate(188);\n }\n get f30() {\n return this.#keystate(189);\n }\n get f31() {\n return this.#keystate(190);\n }\n get f32() {\n return this.#keystate(191);\n }\n get f33() {\n return this.#keystate(192);\n }\n get f34() {\n return this.#keystate(193);\n }\n get f35() {\n return this.#keystate(194);\n }\n #keystate(code) {\n let state;\n if (this.#keystates.has(code)) {\n state = this.#keystates.get(code);\n } else {\n state = { down: false, held: false, up: false };\n this.#keystates.set(code, state);\n }\n state.held = !!(this.#dataView.getUint8(code) & 1);\n state.down = state.held && !(this.#dataView.getUint8(code) & 2);\n state.up = !state.held && !!(this.#dataView.getUint8(code) & 2);\n return state;\n }\n}\n\nclass TimeContext {\n dataView;\n constructor(dataView) {\n this.dataView = dataView;\n }\n get frame() {\n if (!this.dataView) {\n throw new Error(\"TimeContext DataView is not initialized\");\n }\n return this.dataView.getUint32(0, true);\n }\n get dt() {\n if (!this.dataView) {\n throw new Error(\"TimeContext DataView is not initialized\");\n }\n return this.dataView.getUint32(4, true) / 1000;\n }\n get time() {\n if (!this.dataView) {\n throw new Error(\"TimeContext DataView is not initialized\");\n }\n return this.dataView.getUint32(8, true) / 1000;\n }\n}\n\nclass NetContext {\n dataView;\n constructor(dataView) {\n this.dataView = dataView;\n }\n get peerCount() {\n if (!this.dataView) {\n throw new Error(\"NetContext DataView is not initialized\");\n }\n return this.dataView.getUint8(0);\n }\n get isInSession() {\n return this.peerCount > 0;\n }\n get matchFrame() {\n if (!this.dataView) {\n throw new Error(\"NetContext DataView is not initialized\");\n }\n return this.dataView.getUint32(4, true);\n }\n}\nvar DEFAULT_WASM_URL = new URL(\"../wasm/bloop.wasm\", import.meta.url);\nvar TIME_CTX_OFFSET = 0;\nvar INPUT_CTX_OFFSET = TIME_CTX_OFFSET + 4;\nvar EVENTS_OFFSET = INPUT_CTX_OFFSET + 4;\nvar NET_CTX_OFFSET = EVENTS_OFFSET + 4;\nvar SNAPSHOT_HEADER_LEN = 16;\nvar SNAPSHOT_HEADER_USER_LEN_OFFSET = 4;\nvar SNAPSHOT_HEADER_ENGINE_LEN_OFFSET = 8;\n// src/net.ts\nclass Net {\n #wasm;\n #memory;\n constructor(wasm, memory) {\n this.#wasm = wasm;\n this.#memory = memory;\n }\n setLocalPeer(peerId) {\n this.#wasm.session_set_local_peer(peerId);\n }\n connectPeer(peerId) {\n this.#wasm.session_peer_connect(peerId);\n }\n disconnectPeer(peerId) {\n this.#wasm.session_peer_disconnect(peerId);\n }\n getOutboundPacket(targetPeer) {\n this.#wasm.build_outbound_packet(targetPeer);\n const len = this.#wasm.get_outbound_packet_len();\n if (len === 0) {\n return null;\n }\n const ptr = this.#wasm.get_outbound_packet();\n assert(ptr > 0, `Invalid outbound packet pointer: ${ptr}`);\n const memoryView = new Uint8Array(this.#memory.buffer, ptr, len);\n const copy = new Uint8Array(len);\n copy.set(memoryView);\n return copy;\n }\n receivePacket(data) {\n if (data.length === 0) {\n return;\n }\n const ptr = this.#wasm.alloc(data.byteLength);\n assert(ptr > 0, `Failed to allocate ${data.byteLength} bytes for received packet`);\n const memoryView = new Uint8Array(this.#memory.buffer, ptr, data.byteLength);\n memoryView.set(data);\n const result = this.#wasm.receive_packet(ptr, data.byteLength);\n this.#wasm.free(ptr, data.byteLength);\n if (result !== 0) {\n const errorMessages = {\n 1: \"No active session\",\n 2: \"Buffer too small\",\n 3: \"Unsupported packet version\",\n 4: \"Invalid event count\"\n };\n throw new Error(errorMessages[result] ?? `Unknown packet error: ${result}`);\n }\n }\n getPeerState(peer) {\n return {\n seq: this.#wasm.get_peer_seq(peer),\n ack: this.#wasm.get_peer_ack(peer)\n };\n }\n}\n\n// src/sim.ts\nvar originalConsole = globalThis.console;\nvar noop = () => {};\nvar stubConsole = Object.fromEntries(Object.keys(originalConsole).map((key) => [key, noop]));\nfunction muteConsole() {\n globalThis.console = stubConsole;\n}\nfunction unmuteConsole() {\n globalThis.console = originalConsole;\n}\n\nclass Sim {\n wasm;\n id;\n #memory;\n #time;\n #serialize;\n #isPaused = false;\n net;\n onTapeFull;\n constructor(wasm, memory, opts) {\n this.wasm = wasm;\n this.#memory = memory;\n this.#time = new TimeContext(new DataView(this.#memory.buffer, this.wasm.get_time_ctx()));\n this.id = `${Math.floor(Math.random() * 1e6)}`;\n this.#serialize = opts?.serialize;\n this.net = new Net(wasm, memory);\n }\n step(ms) {\n if (this.#isPaused && !this.isReplaying) {\n return 0;\n }\n return this.wasm.step(ms ?? 16);\n }\n tick() {\n this.wasm.tick();\n }\n cloneSession(source) {\n this.loadTape(source.saveTape());\n this.restore(source.snapshot());\n }\n pause() {\n this.#isPaused = true;\n }\n unpause() {\n this.#isPaused = false;\n }\n get isPaused() {\n return this.#isPaused;\n }\n stepBack() {\n if (this.time.frame === 0) {\n return;\n }\n this.seek(this.time.frame - 1);\n }\n seek(frame, inclusive) {\n assert(this.hasHistory, \"Not recording or playing back, can't seek to frame\");\n const targetFrame = inclusive ? frame + 1 : frame;\n const shouldMute = frame < this.time.frame;\n if (shouldMute) {\n muteConsole();\n }\n this.wasm.seek(targetFrame);\n if (shouldMute) {\n unmuteConsole();\n }\n }\n snapshot() {\n const serializer = this.#serialize ? this.#serialize() : null;\n const size = serializer ? serializer.size : 0;\n const ptr = this.wasm.take_snapshot(size);\n const header = new Uint32Array(this.#memory.buffer, ptr, 4);\n const userLenIndex = SNAPSHOT_HEADER_USER_LEN_OFFSET / Uint32Array.BYTES_PER_ELEMENT;\n const engineLenIndex = SNAPSHOT_HEADER_ENGINE_LEN_OFFSET / Uint32Array.BYTES_PER_ELEMENT;\n assert(header[userLenIndex], `header user length missing`);\n assert(header[engineLenIndex], `header engine length missing`);\n const length = header[userLenIndex] + header[engineLenIndex];\n const memoryView = new Uint8Array(this.#memory.buffer, ptr, length);\n const copy = new Uint8Array(length);\n copy.set(memoryView);\n return copy;\n }\n record(maxEvents = 1024) {\n const serializer = this.#serialize ? this.#serialize() : null;\n const size = serializer ? serializer.size : 0;\n const result = this.wasm.start_recording(size, maxEvents);\n if (result !== 0) {\n throw new Error(`failed to start recording, error code=${result}`);\n }\n }\n saveTape() {\n const tapeLen = this.wasm.get_tape_len();\n const tapePtr = this.wasm.get_tape_ptr();\n const memoryView = new Uint8Array(this.#memory.buffer, tapePtr, tapeLen);\n const copy = new Uint8Array(tapeLen);\n copy.set(memoryView);\n return copy;\n }\n loadTape(tape) {\n const tapePtr = this.wasm.alloc(tape.byteLength);\n assert(tapePtr > 0, `failed to allocate ${tape.byteLength} bytes for tape load, pointer=${tapePtr}`);\n const memoryView = new Uint8Array(this.#memory.buffer, tapePtr, tape.byteLength);\n memoryView.set(tape);\n this.wasm.stop_recording();\n const result = this.wasm.load_tape(tapePtr, tape.byteLength);\n assert(result === 0, `failed to load tape, error code=${result}`);\n this.wasm.free(tapePtr, tape.byteLength);\n }\n restore(snapshot) {\n const dataPtr = this.wasm.alloc(snapshot.byteLength);\n assert(dataPtr > 0, `failed to allocate ${snapshot.byteLength} bytes for snapshot restore, pointer=${dataPtr}`);\n const memoryView = new Uint8Array(this.#memory.buffer, dataPtr, snapshot.byteLength);\n memoryView.set(snapshot);\n this.wasm.restore(dataPtr);\n this.wasm.free(dataPtr, snapshot.byteLength);\n }\n unmount() {\n this.wasm.deinit();\n }\n get time() {\n if (!this.#time.dataView || this.#time.dataView.buffer !== this.#memory.buffer) {\n this.#time.dataView = new DataView(this.#memory.buffer, this.wasm.get_time_ctx());\n }\n return this.#time;\n }\n get buffer() {\n return this.#memory.buffer;\n }\n get isRecording() {\n return Boolean(this.wasm.is_recording());\n }\n get isReplaying() {\n return Boolean(this.wasm.is_replaying());\n }\n get hasHistory() {\n return this.isRecording || this.isReplaying;\n }\n emit = {\n keydown: (key, peerId = 0) => {\n this.wasm.emit_keydown(keyToKeyCode(key), peerId);\n },\n keyup: (key, peerId = 0) => {\n this.wasm.emit_keyup(keyToKeyCode(key), peerId);\n },\n mousemove: (x, y, peerId = 0) => {\n this.wasm.emit_mousemove(x, y, peerId);\n },\n mousedown: (button, peerId = 0) => {\n this.wasm.emit_mousedown(mouseButtonToMouseButtonCode(button), peerId);\n },\n mouseup: (button, peerId = 0) => {\n this.wasm.emit_mouseup(mouseButtonToMouseButtonCode(button), peerId);\n },\n mousewheel: (x, y, peerId = 0) => {\n this.wasm.emit_mousewheel(x, y, peerId);\n }\n };\n sessionInit(peerCount) {\n const serializer = this.#serialize ? this.#serialize() : null;\n const size = serializer ? serializer.size : 0;\n const result = this.wasm.session_init(peerCount, size);\n assert(result === 0, `failed to initialize session, error code=${result}`);\n }\n sessionEnd() {\n this.wasm.session_end();\n }\n emitInputs(peer, matchFrame, events) {\n if (events.length === 0) {\n this.wasm.session_emit_inputs(peer, matchFrame, 0, 0);\n return;\n }\n const ptr = this.wasm.alloc(events.byteLength);\n assert(ptr > 0, `failed to allocate ${events.byteLength} bytes for events`);\n const memoryView = new Uint8Array(this.buffer, ptr, events.byteLength);\n memoryView.set(events);\n const eventCount = events.byteLength / 12;\n this.wasm.session_emit_inputs(peer, matchFrame, ptr, eventCount);\n this.wasm.free(ptr, events.byteLength);\n }\n}\n\n// src/mount.ts\nasync function mount(opts, options) {\n const wasmUrl = options?.wasmUrl ?? opts.wasmUrl ?? DEFAULT_WASM_URL;\n const startRecording = options?.startRecording ?? opts.startRecording ?? true;\n const maxEvents = calculateMaxEvents(options?.tape);\n const bytes = await fetch(wasmUrl).then((res) => res.arrayBuffer()).catch((e) => {\n console.error(`Failed to fetch wasm at ${wasmUrl}`, e);\n throw e;\n });\n const memory = new WebAssembly.Memory({ initial: 236, maximum: 1000 });\n let sim;\n const wasmInstantiatedSource = await WebAssembly.instantiate(bytes, {\n env: {\n memory,\n __systems: function(system_handle, ptr) {\n opts.hooks.setBuffer(memory.buffer);\n opts.hooks.systemsCallback(system_handle, ptr);\n },\n __before_frame: function(ptr, frame) {\n try {\n opts.hooks.setBuffer(memory.buffer);\n opts.hooks.setContext(ptr);\n opts.hooks.beforeFrame?.(frame);\n } catch (e) {\n console.error(\"Error in beforeFrame hook:\", e);\n }\n },\n __on_tape_full: function(_ctxPtr) {\n if (!sim) {\n throw new Error(\"Sim not initialized in on_tape_full\");\n }\n const tapeBytes = sim.saveTape();\n if (sim.onTapeFull) {\n sim.onTapeFull(tapeBytes);\n } else {\n const size = tapeBytes.length / 1024;\n const duration = sim.time.time;\n const kbPerSecond = size / duration;\n console.warn(\"Tape full. Recording stopped\", {\n size: `${(tapeBytes.length / 1024).toFixed(0)}kb`,\n duration: `${sim.time.time.toFixed(2)}s`,\n kbPerSecond: `${kbPerSecond.toFixed(2)} kb/s`\n });\n }\n },\n console_log: function(ptr, len) {\n const bytes2 = new Uint8Array(memory.buffer, ptr, len);\n const string = new TextDecoder(\"utf-8\").decode(bytes2);\n console.log(string);\n },\n __user_data_len: function() {\n const serializer = opts.hooks.serialize();\n return serializer ? serializer.size : 0;\n },\n user_data_serialize: function(ptr, len) {\n const serializer = opts.hooks.serialize();\n assert(len === serializer.size, `user_data_serialize length mismatch, expected=${serializer.size} got=${len}`);\n serializer.write(memory.buffer, ptr);\n },\n user_data_deserialize: function(ptr, len) {\n opts.hooks.deserialize(memory.buffer, ptr, len);\n }\n }\n });\n const wasm = wasmInstantiatedSource.instance.exports;\n const enginePointer = wasm.initialize();\n sim = new Sim(wasm, memory, {\n serialize: opts.hooks.serialize\n });\n if (startRecording) {\n sim.record(maxEvents);\n }\n opts.hooks.setBuffer(memory.buffer);\n opts.hooks.setContext(enginePointer);\n return {\n sim\n };\n}\nfunction calculateMaxEvents(tape) {\n if (!tape)\n return 1024;\n if (\"maxEvents\" in tape) {\n return tape.maxEvents;\n }\n const avgEvents = tape.averageEventsPerFrame ?? 2;\n return Math.ceil(tape.duration * 60 * avgEvents);\n}\n// src/bloop.ts\nclass Bloop {\n #systems = [];\n #context;\n #engineBuffer = new ArrayBuffer(0);\n static create(opts = {}) {\n return new Bloop(opts, \"dontCallMeDirectly\");\n }\n constructor(opts = {}, dontCallMeDirectly) {\n if (dontCallMeDirectly !== \"dontCallMeDirectly\") {\n throw new Error(\"Bloop constructor is private. Use Bloop.create() to create a new game instance.\");\n }\n const inputs = new InputContext;\n this.#context = {\n bag: opts.bag ?? {},\n time: new TimeContext,\n inputs,\n get players() {\n return inputs.players;\n },\n rawPointer: -1,\n net: new NetContext\n };\n }\n get bag() {\n return this.#context.bag;\n }\n get context() {\n return this.#context;\n }\n system(label, system) {\n system.label ??= label;\n this.#systems.push(system);\n return this.#systems.length;\n }\n hooks = {\n serialize: () => {\n const str = JSON.stringify(this.#context.bag);\n const encoder = new TextEncoder;\n const textBytes = encoder.encode(str);\n return {\n size: textBytes.byteLength,\n write: (buffer, ptr) => {\n const memoryView = new Uint8Array(buffer, ptr, textBytes.byteLength);\n memoryView.set(textBytes);\n }\n };\n },\n deserialize: (buffer, ptr, len) => {\n const bagBytes = new Uint8Array(buffer, ptr, len);\n const decoder = new TextDecoder;\n const str = decoder.decode(bagBytes);\n try {\n this.#context.bag = JSON.parse(str);\n } catch (e) {\n console.error(\"failed to deserialize bag\", { json: str, error: e });\n }\n },\n setBuffer: (buffer) => {\n this.#engineBuffer = buffer;\n },\n setContext: (ptr) => {\n if (!this.#engineBuffer) {\n throw new Error(\"Tried to set context before engine buffer\");\n }\n const dv = new DataView(this.#engineBuffer, ptr);\n const timeCtxPtr = dv.getUint32(TIME_CTX_OFFSET, true);\n const inputCtxPtr = dv.getUint32(INPUT_CTX_OFFSET, true);\n const netCtxPtr = dv.getUint32(NET_CTX_OFFSET, true);\n this.#context.rawPointer = ptr;\n this.#context.inputs.dataView = new DataView(this.#engineBuffer, inputCtxPtr);\n this.#context.time.dataView = new DataView(this.#engineBuffer, timeCtxPtr);\n this.#context.net.dataView = new DataView(this.#engineBuffer, netCtxPtr);\n },\n systemsCallback: (system_handle, ptr) => {\n this.hooks.setContext(ptr);\n const dv = new DataView(this.#engineBuffer, ptr);\n const eventsPtr = dv.getUint32(EVENTS_OFFSET, true);\n const eventsDataView = new DataView(this.#engineBuffer, eventsPtr);\n for (const system of this.#systems) {\n system.update?.(this.#context);\n const eventCount = eventsDataView.getUint16(0, true);\n let offset = 4;\n for (let i = 0;i < eventCount; i++) {\n const eventType = eventsDataView.getUint8(offset);\n const eventSource = eventsDataView.getUint8(offset + 1);\n const payloadOffset = offset + 4;\n const payloadByte = eventsDataView.getUint8(payloadOffset);\n const payloadVec2 = {\n x: eventsDataView.getFloat32(payloadOffset, true),\n y: eventsDataView.getFloat32(payloadOffset + Float32Array.BYTES_PER_ELEMENT, true)\n };\n switch (eventType) {\n case exports_enums.EventType.KeyDown: {\n system.keydown?.(attachEvent(this.#context, {\n key: keyCodeToKey(payloadByte)\n }));\n break;\n }\n case exports_enums.EventType.KeyUp:\n system.keyup?.(attachEvent(this.#context, {\n key: keyCodeToKey(payloadByte)\n }));\n break;\n case exports_enums.EventType.MouseDown:\n system.mousedown?.(attachEvent(this.#context, {\n button: mouseButtonCodeToMouseButton(payloadByte)\n }));\n break;\n case exports_enums.EventType.MouseUp:\n system.mouseup?.(attachEvent(this.#context, {\n button: mouseButtonCodeToMouseButton(payloadByte)\n }));\n break;\n case exports_enums.EventType.MouseMove:\n system.mousemove?.(attachEvent(this.#context, {\n x: payloadVec2.x,\n y: payloadVec2.y\n }));\n break;\n case exports_enums.EventType.MouseWheel:\n system.mousewheel?.(attachEvent(this.#context, {\n x: payloadVec2.x,\n y: payloadVec2.y\n }));\n break;\n default:\n throw new Error(`Unknown event type: ${eventType}`);\n }\n offset += 12;\n }\n this.#context.event = undefined;\n }\n }\n };\n}\nfunction attachEvent(context, event) {\n context.event = event;\n return context;\n}\nexport {\n unwrap,\n mount,\n assert,\n exports_util as Util,\n Sim,\n exports_engine as Engine,\n Bloop\n};\n\n//# debugId=970033581CF63F8264756E2164756E21\n//# sourceMappingURL=mod.js.map\n",
|
|
6
6
|
"var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, {\n get: all[name],\n enumerable: true,\n configurable: true,\n set: (newValue) => all[name] = () => newValue\n });\n};\n\n// js/codegen/enums.ts\nvar exports_enums = {};\n__export(exports_enums, {\n MouseButton: () => MouseButton,\n Key: () => Key,\n InputSource: () => InputSource,\n EventType: () => EventType\n});\nvar EventType;\n((EventType2) => {\n EventType2[EventType2[\"None\"] = 0] = \"None\";\n EventType2[EventType2[\"KeyDown\"] = 1] = \"KeyDown\";\n EventType2[EventType2[\"KeyUp\"] = 2] = \"KeyUp\";\n EventType2[EventType2[\"MouseMove\"] = 3] = \"MouseMove\";\n EventType2[EventType2[\"MouseDown\"] = 4] = \"MouseDown\";\n EventType2[EventType2[\"MouseUp\"] = 5] = \"MouseUp\";\n EventType2[EventType2[\"MouseWheel\"] = 6] = \"MouseWheel\";\n EventType2[EventType2[\"FrameStart\"] = 7] = \"FrameStart\";\n})(EventType ||= {});\nvar MouseButton;\n((MouseButton2) => {\n MouseButton2[MouseButton2[\"None\"] = 0] = \"None\";\n MouseButton2[MouseButton2[\"Left\"] = 1] = \"Left\";\n MouseButton2[MouseButton2[\"Middle\"] = 2] = \"Middle\";\n MouseButton2[MouseButton2[\"Right\"] = 3] = \"Right\";\n MouseButton2[MouseButton2[\"X1\"] = 4] = \"X1\";\n MouseButton2[MouseButton2[\"X2\"] = 5] = \"X2\";\n MouseButton2[MouseButton2[\"X3\"] = 6] = \"X3\";\n MouseButton2[MouseButton2[\"X4\"] = 7] = \"X4\";\n MouseButton2[MouseButton2[\"X5\"] = 8] = \"X5\";\n})(MouseButton ||= {});\nvar Key;\n((Key2) => {\n Key2[Key2[\"None\"] = 0] = \"None\";\n Key2[Key2[\"Backquote\"] = 1] = \"Backquote\";\n Key2[Key2[\"Backslash\"] = 2] = \"Backslash\";\n Key2[Key2[\"BracketLeft\"] = 3] = \"BracketLeft\";\n Key2[Key2[\"BracketRight\"] = 4] = \"BracketRight\";\n Key2[Key2[\"Comma\"] = 5] = \"Comma\";\n Key2[Key2[\"Digit0\"] = 6] = \"Digit0\";\n Key2[Key2[\"Digit1\"] = 7] = \"Digit1\";\n Key2[Key2[\"Digit2\"] = 8] = \"Digit2\";\n Key2[Key2[\"Digit3\"] = 9] = \"Digit3\";\n Key2[Key2[\"Digit4\"] = 10] = \"Digit4\";\n Key2[Key2[\"Digit5\"] = 11] = \"Digit5\";\n Key2[Key2[\"Digit6\"] = 12] = \"Digit6\";\n Key2[Key2[\"Digit7\"] = 13] = \"Digit7\";\n Key2[Key2[\"Digit8\"] = 14] = \"Digit8\";\n Key2[Key2[\"Digit9\"] = 15] = \"Digit9\";\n Key2[Key2[\"Equal\"] = 16] = \"Equal\";\n Key2[Key2[\"IntlBackslash\"] = 17] = \"IntlBackslash\";\n Key2[Key2[\"IntlRo\"] = 18] = \"IntlRo\";\n Key2[Key2[\"IntlYen\"] = 19] = \"IntlYen\";\n Key2[Key2[\"KeyA\"] = 20] = \"KeyA\";\n Key2[Key2[\"KeyB\"] = 21] = \"KeyB\";\n Key2[Key2[\"KeyC\"] = 22] = \"KeyC\";\n Key2[Key2[\"KeyD\"] = 23] = \"KeyD\";\n Key2[Key2[\"KeyE\"] = 24] = \"KeyE\";\n Key2[Key2[\"KeyF\"] = 25] = \"KeyF\";\n Key2[Key2[\"KeyG\"] = 26] = \"KeyG\";\n Key2[Key2[\"KeyH\"] = 27] = \"KeyH\";\n Key2[Key2[\"KeyI\"] = 28] = \"KeyI\";\n Key2[Key2[\"KeyJ\"] = 29] = \"KeyJ\";\n Key2[Key2[\"KeyK\"] = 30] = \"KeyK\";\n Key2[Key2[\"KeyL\"] = 31] = \"KeyL\";\n Key2[Key2[\"KeyM\"] = 32] = \"KeyM\";\n Key2[Key2[\"KeyN\"] = 33] = \"KeyN\";\n Key2[Key2[\"KeyO\"] = 34] = \"KeyO\";\n Key2[Key2[\"KeyP\"] = 35] = \"KeyP\";\n Key2[Key2[\"KeyQ\"] = 36] = \"KeyQ\";\n Key2[Key2[\"KeyR\"] = 37] = \"KeyR\";\n Key2[Key2[\"KeyS\"] = 38] = \"KeyS\";\n Key2[Key2[\"KeyT\"] = 39] = \"KeyT\";\n Key2[Key2[\"KeyU\"] = 40] = \"KeyU\";\n Key2[Key2[\"KeyV\"] = 41] = \"KeyV\";\n Key2[Key2[\"KeyW\"] = 42] = \"KeyW\";\n Key2[Key2[\"KeyX\"] = 43] = \"KeyX\";\n Key2[Key2[\"KeyY\"] = 44] = \"KeyY\";\n Key2[Key2[\"KeyZ\"] = 45] = \"KeyZ\";\n Key2[Key2[\"Minus\"] = 46] = \"Minus\";\n Key2[Key2[\"Period\"] = 47] = \"Period\";\n Key2[Key2[\"Quote\"] = 48] = \"Quote\";\n Key2[Key2[\"Semicolon\"] = 49] = \"Semicolon\";\n Key2[Key2[\"Slash\"] = 50] = \"Slash\";\n Key2[Key2[\"AltLeft\"] = 51] = \"AltLeft\";\n Key2[Key2[\"AltRight\"] = 52] = \"AltRight\";\n Key2[Key2[\"Backspace\"] = 53] = \"Backspace\";\n Key2[Key2[\"CapsLock\"] = 54] = \"CapsLock\";\n Key2[Key2[\"ContextMenu\"] = 55] = \"ContextMenu\";\n Key2[Key2[\"ControlLeft\"] = 56] = \"ControlLeft\";\n Key2[Key2[\"ControlRight\"] = 57] = \"ControlRight\";\n Key2[Key2[\"Enter\"] = 58] = \"Enter\";\n Key2[Key2[\"MetaLeft\"] = 59] = \"MetaLeft\";\n Key2[Key2[\"MetaRight\"] = 60] = \"MetaRight\";\n Key2[Key2[\"ShiftLeft\"] = 61] = \"ShiftLeft\";\n Key2[Key2[\"ShiftRight\"] = 62] = \"ShiftRight\";\n Key2[Key2[\"Space\"] = 63] = \"Space\";\n Key2[Key2[\"Tab\"] = 64] = \"Tab\";\n Key2[Key2[\"Convert\"] = 65] = \"Convert\";\n Key2[Key2[\"KanaMode\"] = 66] = \"KanaMode\";\n Key2[Key2[\"Lang1\"] = 67] = \"Lang1\";\n Key2[Key2[\"Lang2\"] = 68] = \"Lang2\";\n Key2[Key2[\"Lang3\"] = 69] = \"Lang3\";\n Key2[Key2[\"Lang4\"] = 70] = \"Lang4\";\n Key2[Key2[\"Lang5\"] = 71] = \"Lang5\";\n Key2[Key2[\"NonConvert\"] = 72] = \"NonConvert\";\n Key2[Key2[\"Delete\"] = 73] = \"Delete\";\n Key2[Key2[\"End\"] = 74] = \"End\";\n Key2[Key2[\"Help\"] = 75] = \"Help\";\n Key2[Key2[\"Home\"] = 76] = \"Home\";\n Key2[Key2[\"Insert\"] = 77] = \"Insert\";\n Key2[Key2[\"PageDown\"] = 78] = \"PageDown\";\n Key2[Key2[\"PageUp\"] = 79] = \"PageUp\";\n Key2[Key2[\"ArrowDown\"] = 80] = \"ArrowDown\";\n Key2[Key2[\"ArrowLeft\"] = 81] = \"ArrowLeft\";\n Key2[Key2[\"ArrowRight\"] = 82] = \"ArrowRight\";\n Key2[Key2[\"ArrowUp\"] = 83] = \"ArrowUp\";\n Key2[Key2[\"NumLock\"] = 84] = \"NumLock\";\n Key2[Key2[\"Numpad0\"] = 85] = \"Numpad0\";\n Key2[Key2[\"Numpad1\"] = 86] = \"Numpad1\";\n Key2[Key2[\"Numpad2\"] = 87] = \"Numpad2\";\n Key2[Key2[\"Numpad3\"] = 88] = \"Numpad3\";\n Key2[Key2[\"Numpad4\"] = 89] = \"Numpad4\";\n Key2[Key2[\"Numpad5\"] = 90] = \"Numpad5\";\n Key2[Key2[\"Numpad6\"] = 91] = \"Numpad6\";\n Key2[Key2[\"Numpad7\"] = 92] = \"Numpad7\";\n Key2[Key2[\"Numpad8\"] = 93] = \"Numpad8\";\n Key2[Key2[\"Numpad9\"] = 94] = \"Numpad9\";\n Key2[Key2[\"NumpadAdd\"] = 95] = \"NumpadAdd\";\n Key2[Key2[\"NumpadBackspace\"] = 96] = \"NumpadBackspace\";\n Key2[Key2[\"NumpadClear\"] = 97] = \"NumpadClear\";\n Key2[Key2[\"NumpadClearEntry\"] = 98] = \"NumpadClearEntry\";\n Key2[Key2[\"NumpadComma\"] = 99] = \"NumpadComma\";\n Key2[Key2[\"NumpadDecimal\"] = 100] = \"NumpadDecimal\";\n Key2[Key2[\"NumpadDivide\"] = 101] = \"NumpadDivide\";\n Key2[Key2[\"NumpadEnter\"] = 102] = \"NumpadEnter\";\n Key2[Key2[\"NumpadEqual\"] = 103] = \"NumpadEqual\";\n Key2[Key2[\"NumpadHash\"] = 104] = \"NumpadHash\";\n Key2[Key2[\"NumpadMemoryAdd\"] = 105] = \"NumpadMemoryAdd\";\n Key2[Key2[\"NumpadMemoryClear\"] = 106] = \"NumpadMemoryClear\";\n Key2[Key2[\"NumpadMemoryRecall\"] = 107] = \"NumpadMemoryRecall\";\n Key2[Key2[\"NumpadMemoryStore\"] = 108] = \"NumpadMemoryStore\";\n Key2[Key2[\"NumpadMemorySubtract\"] = 109] = \"NumpadMemorySubtract\";\n Key2[Key2[\"NumpadMultiply\"] = 110] = \"NumpadMultiply\";\n Key2[Key2[\"NumpadParenLeft\"] = 111] = \"NumpadParenLeft\";\n Key2[Key2[\"NumpadParenRight\"] = 112] = \"NumpadParenRight\";\n Key2[Key2[\"NumpadStar\"] = 113] = \"NumpadStar\";\n Key2[Key2[\"NumpadSubtract\"] = 114] = \"NumpadSubtract\";\n Key2[Key2[\"Escape\"] = 115] = \"Escape\";\n Key2[Key2[\"Fn\"] = 116] = \"Fn\";\n Key2[Key2[\"FnLock\"] = 117] = \"FnLock\";\n Key2[Key2[\"PrintScreen\"] = 118] = \"PrintScreen\";\n Key2[Key2[\"ScrollLock\"] = 119] = \"ScrollLock\";\n Key2[Key2[\"Pause\"] = 120] = \"Pause\";\n Key2[Key2[\"BrowserBack\"] = 121] = \"BrowserBack\";\n Key2[Key2[\"BrowserFavorites\"] = 122] = \"BrowserFavorites\";\n Key2[Key2[\"BrowserForward\"] = 123] = \"BrowserForward\";\n Key2[Key2[\"BrowserHome\"] = 124] = \"BrowserHome\";\n Key2[Key2[\"BrowserRefresh\"] = 125] = \"BrowserRefresh\";\n Key2[Key2[\"BrowserSearch\"] = 126] = \"BrowserSearch\";\n Key2[Key2[\"BrowserStop\"] = 127] = \"BrowserStop\";\n Key2[Key2[\"Eject\"] = 128] = \"Eject\";\n Key2[Key2[\"LaunchApp1\"] = 129] = \"LaunchApp1\";\n Key2[Key2[\"LaunchApp2\"] = 130] = \"LaunchApp2\";\n Key2[Key2[\"LaunchMail\"] = 131] = \"LaunchMail\";\n Key2[Key2[\"MediaPlayPause\"] = 132] = \"MediaPlayPause\";\n Key2[Key2[\"MediaSelect\"] = 133] = \"MediaSelect\";\n Key2[Key2[\"MediaStop\"] = 134] = \"MediaStop\";\n Key2[Key2[\"MediaTrackNext\"] = 135] = \"MediaTrackNext\";\n Key2[Key2[\"MediaTrackPrevious\"] = 136] = \"MediaTrackPrevious\";\n Key2[Key2[\"Power\"] = 137] = \"Power\";\n Key2[Key2[\"Sleep\"] = 138] = \"Sleep\";\n Key2[Key2[\"AudioVolumeDown\"] = 139] = \"AudioVolumeDown\";\n Key2[Key2[\"AudioVolumeMute\"] = 140] = \"AudioVolumeMute\";\n Key2[Key2[\"AudioVolumeUp\"] = 141] = \"AudioVolumeUp\";\n Key2[Key2[\"WakeUp\"] = 142] = \"WakeUp\";\n Key2[Key2[\"Hyper\"] = 143] = \"Hyper\";\n Key2[Key2[\"Super\"] = 144] = \"Super\";\n Key2[Key2[\"Turbo\"] = 145] = \"Turbo\";\n Key2[Key2[\"Abort\"] = 146] = \"Abort\";\n Key2[Key2[\"Resume\"] = 147] = \"Resume\";\n Key2[Key2[\"Suspend\"] = 148] = \"Suspend\";\n Key2[Key2[\"Again\"] = 149] = \"Again\";\n Key2[Key2[\"Copy\"] = 150] = \"Copy\";\n Key2[Key2[\"Cut\"] = 151] = \"Cut\";\n Key2[Key2[\"Find\"] = 152] = \"Find\";\n Key2[Key2[\"Open\"] = 153] = \"Open\";\n Key2[Key2[\"Paste\"] = 154] = \"Paste\";\n Key2[Key2[\"Props\"] = 155] = \"Props\";\n Key2[Key2[\"Select\"] = 156] = \"Select\";\n Key2[Key2[\"Undo\"] = 157] = \"Undo\";\n Key2[Key2[\"Hiragana\"] = 158] = \"Hiragana\";\n Key2[Key2[\"Katakana\"] = 159] = \"Katakana\";\n Key2[Key2[\"F1\"] = 160] = \"F1\";\n Key2[Key2[\"F2\"] = 161] = \"F2\";\n Key2[Key2[\"F3\"] = 162] = \"F3\";\n Key2[Key2[\"F4\"] = 163] = \"F4\";\n Key2[Key2[\"F5\"] = 164] = \"F5\";\n Key2[Key2[\"F6\"] = 165] = \"F6\";\n Key2[Key2[\"F7\"] = 166] = \"F7\";\n Key2[Key2[\"F8\"] = 167] = \"F8\";\n Key2[Key2[\"F9\"] = 168] = \"F9\";\n Key2[Key2[\"F10\"] = 169] = \"F10\";\n Key2[Key2[\"F11\"] = 170] = \"F11\";\n Key2[Key2[\"F12\"] = 171] = \"F12\";\n Key2[Key2[\"F13\"] = 172] = \"F13\";\n Key2[Key2[\"F14\"] = 173] = \"F14\";\n Key2[Key2[\"F15\"] = 174] = \"F15\";\n Key2[Key2[\"F16\"] = 175] = \"F16\";\n Key2[Key2[\"F17\"] = 176] = \"F17\";\n Key2[Key2[\"F18\"] = 177] = \"F18\";\n Key2[Key2[\"F19\"] = 178] = \"F19\";\n Key2[Key2[\"F20\"] = 179] = \"F20\";\n Key2[Key2[\"F21\"] = 180] = \"F21\";\n Key2[Key2[\"F22\"] = 181] = \"F22\";\n Key2[Key2[\"F23\"] = 182] = \"F23\";\n Key2[Key2[\"F24\"] = 183] = \"F24\";\n Key2[Key2[\"F25\"] = 184] = \"F25\";\n Key2[Key2[\"F26\"] = 185] = \"F26\";\n Key2[Key2[\"F27\"] = 186] = \"F27\";\n Key2[Key2[\"F28\"] = 187] = \"F28\";\n Key2[Key2[\"F29\"] = 188] = \"F29\";\n Key2[Key2[\"F30\"] = 189] = \"F30\";\n Key2[Key2[\"F31\"] = 190] = \"F31\";\n Key2[Key2[\"F32\"] = 191] = \"F32\";\n Key2[Key2[\"F33\"] = 192] = \"F33\";\n Key2[Key2[\"F34\"] = 193] = \"F34\";\n Key2[Key2[\"F35\"] = 194] = \"F35\";\n})(Key ||= {});\nvar InputSource;\n((InputSource2) => {\n InputSource2[InputSource2[\"None\"] = 0] = \"None\";\n InputSource2[InputSource2[\"LocalKeyboard\"] = 1] = \"LocalKeyboard\";\n InputSource2[InputSource2[\"LocalMouse\"] = 2] = \"LocalMouse\";\n InputSource2[InputSource2[\"LocalTouch\"] = 3] = \"LocalTouch\";\n InputSource2[InputSource2[\"LocalGamepad0\"] = 4] = \"LocalGamepad0\";\n InputSource2[InputSource2[\"LocalGamepad1\"] = 5] = \"LocalGamepad1\";\n InputSource2[InputSource2[\"LocalGamepad2\"] = 6] = \"LocalGamepad2\";\n InputSource2[InputSource2[\"LocalGamepad3\"] = 7] = \"LocalGamepad3\";\n InputSource2[InputSource2[\"LocalGamepad4\"] = 8] = \"LocalGamepad4\";\n InputSource2[InputSource2[\"LocalGamepad5\"] = 9] = \"LocalGamepad5\";\n InputSource2[InputSource2[\"LocalGamepad6\"] = 10] = \"LocalGamepad6\";\n InputSource2[InputSource2[\"LocalGamepad7\"] = 11] = \"LocalGamepad7\";\n InputSource2[InputSource2[\"LocalGamepad8\"] = 12] = \"LocalGamepad8\";\n InputSource2[InputSource2[\"LocalGamepad9\"] = 13] = \"LocalGamepad9\";\n InputSource2[InputSource2[\"LocalGamepad10\"] = 14] = \"LocalGamepad10\";\n InputSource2[InputSource2[\"LocalGamepad11\"] = 15] = \"LocalGamepad11\";\n InputSource2[InputSource2[\"RemotePeer0\"] = 128] = \"RemotePeer0\";\n InputSource2[InputSource2[\"RemotePeer1\"] = 129] = \"RemotePeer1\";\n InputSource2[InputSource2[\"RemotePeer2\"] = 130] = \"RemotePeer2\";\n InputSource2[InputSource2[\"RemotePeer3\"] = 131] = \"RemotePeer3\";\n InputSource2[InputSource2[\"RemotePeer4\"] = 132] = \"RemotePeer4\";\n InputSource2[InputSource2[\"RemotePeer5\"] = 133] = \"RemotePeer5\";\n InputSource2[InputSource2[\"RemotePeer6\"] = 134] = \"RemotePeer6\";\n InputSource2[InputSource2[\"RemotePeer7\"] = 135] = \"RemotePeer7\";\n InputSource2[InputSource2[\"RemotePeer8\"] = 136] = \"RemotePeer8\";\n InputSource2[InputSource2[\"RemotePeer9\"] = 137] = \"RemotePeer9\";\n InputSource2[InputSource2[\"RemotePeer10\"] = 138] = \"RemotePeer10\";\n InputSource2[InputSource2[\"RemotePeer11\"] = 139] = \"RemotePeer11\";\n InputSource2[InputSource2[\"Unmapped\"] = 255] = \"Unmapped\";\n})(InputSource ||= {});\n// js/inputs.ts\nvar MAX_PLAYERS = 12;\nvar KEYBOARD_OFFSET = 0;\nvar KEYBOARD_SIZE = 256;\nvar MOUSE_OFFSET = 256;\nvar MOUSE_BUTTONS_OFFSET = 16;\nvar PLAYER_INPUTS_SIZE = 280;\nvar INPUT_CTX_SIZE = MAX_PLAYERS * PLAYER_INPUTS_SIZE;\nvar EVENT_PAYLOAD_SIZE = 8;\nvar EVENT_PAYLOAD_ALIGN = 4;\nfunction keyToKeyCode(key) {\n return Key[key];\n}\nfunction keyCodeToKey(code) {\n return Key[code];\n}\nfunction mouseButtonToMouseButtonCode(button) {\n return MouseButton[button];\n}\nfunction mouseButtonCodeToMouseButton(code) {\n return MouseButton[code];\n}\nfunction inputSourceToInputSourceCode(source) {\n return InputSource[source];\n}\nfunction inputSourceCodeToInputSource(code) {\n return InputSource[code];\n}\n\n// js/contexts/inputContext.ts\nclass PlayerInputContext {\n #dataView;\n #keys;\n #mouse;\n constructor(dataView) {\n this.#dataView = dataView;\n }\n get keys() {\n if (!this.#keys) {\n this.#keys = new KeyboardContext(new DataView(this.#dataView.buffer, this.#dataView.byteOffset + KEYBOARD_OFFSET));\n }\n return this.#keys;\n }\n get mouse() {\n if (!this.#mouse) {\n this.#mouse = new MouseContext(new DataView(this.#dataView.buffer, this.#dataView.byteOffset + MOUSE_OFFSET));\n }\n return this.#mouse;\n }\n}\n\nclass InputContext {\n #dataView;\n #players = [];\n constructor(dataView) {\n if (dataView) {\n this.#dataView = dataView;\n this.#buildPlayers();\n }\n }\n get dataView() {\n if (!this.#dataView) {\n throw new Error(\"DataView is not initialized on InputContext\");\n }\n return this.#dataView;\n }\n set dataView(dataView) {\n this.#dataView = dataView;\n this.#buildPlayers();\n }\n #buildPlayers() {\n this.#players = [];\n for (let i = 0;i < MAX_PLAYERS; i++) {\n const playerOffset = i * PLAYER_INPUTS_SIZE;\n const playerDataView = new DataView(this.dataView.buffer, this.dataView.byteOffset + playerOffset, PLAYER_INPUTS_SIZE);\n this.#players.push(new PlayerInputContext(playerDataView));\n }\n }\n get players() {\n return this.#players;\n }\n get keys() {\n if (!this.#players[0]) {\n throw new Error(\"No player inputs available in InputContext\");\n }\n return this.#players[0].keys;\n }\n get mouse() {\n if (!this.#players[0]) {\n throw new Error(\"No player inputs available in InputContext\");\n }\n return this.#players[0].mouse;\n }\n}\n\nclass MouseContext {\n #dataView;\n #buttonStates = new Map;\n constructor(dataView) {\n this.#dataView = dataView;\n }\n get x() {\n return this.#dataView.getFloat32(0, true);\n }\n get y() {\n return this.#dataView.getFloat32(4, true);\n }\n get wheel() {\n return { x: this.wheelX, y: this.wheelY };\n }\n get wheelX() {\n return this.#dataView.getFloat32(8, true);\n }\n get wheelY() {\n return this.#dataView.getFloat32(12, true);\n }\n get left() {\n return this.#buttonState(1 /* Left */);\n }\n get right() {\n return this.#buttonState(3 /* Right */);\n }\n get middle() {\n return this.#buttonState(2 /* Middle */);\n }\n #buttonState(code) {\n let state;\n if (this.#buttonStates.has(code)) {\n state = this.#buttonStates.get(code);\n } else {\n state = { down: false, held: false, up: false };\n this.#buttonStates.set(code, state);\n }\n const offset = MOUSE_BUTTONS_OFFSET;\n state.held = !!(this.#dataView.getUint8(offset + code) & 1);\n state.down = state.held && !(this.#dataView.getUint8(offset + code) & 2);\n state.up = !state.held && !!(this.#dataView.getUint8(offset + code) & 2);\n return state;\n }\n}\n\nclass KeyboardContext {\n #dataView;\n #keystates = new Map;\n constructor(dataView) {\n this.#dataView = dataView;\n }\n get shift() {\n return this.shiftLeft || this.shiftRight;\n }\n get alt() {\n return this.altLeft || this.altRight;\n }\n get control() {\n return this.controlLeft || this.controlRight;\n }\n get meta() {\n return this.metaLeft || this.metaRight;\n }\n get backquote() {\n return this.#keystate(1 /* Backquote */);\n }\n get backslash() {\n return this.#keystate(2 /* Backslash */);\n }\n get bracketLeft() {\n return this.#keystate(3 /* BracketLeft */);\n }\n get bracketRight() {\n return this.#keystate(4 /* BracketRight */);\n }\n get comma() {\n return this.#keystate(5 /* Comma */);\n }\n get digit0() {\n return this.#keystate(6 /* Digit0 */);\n }\n get digit1() {\n return this.#keystate(7 /* Digit1 */);\n }\n get digit2() {\n return this.#keystate(8 /* Digit2 */);\n }\n get digit3() {\n return this.#keystate(9 /* Digit3 */);\n }\n get digit4() {\n return this.#keystate(10 /* Digit4 */);\n }\n get digit5() {\n return this.#keystate(11 /* Digit5 */);\n }\n get digit6() {\n return this.#keystate(12 /* Digit6 */);\n }\n get digit7() {\n return this.#keystate(13 /* Digit7 */);\n }\n get digit8() {\n return this.#keystate(14 /* Digit8 */);\n }\n get digit9() {\n return this.#keystate(15 /* Digit9 */);\n }\n get equal() {\n return this.#keystate(16 /* Equal */);\n }\n get intlBackslash() {\n return this.#keystate(17 /* IntlBackslash */);\n }\n get intlRo() {\n return this.#keystate(18 /* IntlRo */);\n }\n get intlYen() {\n return this.#keystate(19 /* IntlYen */);\n }\n get a() {\n return this.#keystate(20 /* KeyA */);\n }\n get b() {\n return this.#keystate(21 /* KeyB */);\n }\n get c() {\n return this.#keystate(22 /* KeyC */);\n }\n get d() {\n return this.#keystate(23 /* KeyD */);\n }\n get e() {\n return this.#keystate(24 /* KeyE */);\n }\n get f() {\n return this.#keystate(25 /* KeyF */);\n }\n get g() {\n return this.#keystate(26 /* KeyG */);\n }\n get h() {\n return this.#keystate(27 /* KeyH */);\n }\n get i() {\n return this.#keystate(28 /* KeyI */);\n }\n get j() {\n return this.#keystate(29 /* KeyJ */);\n }\n get k() {\n return this.#keystate(30 /* KeyK */);\n }\n get l() {\n return this.#keystate(31 /* KeyL */);\n }\n get m() {\n return this.#keystate(32 /* KeyM */);\n }\n get n() {\n return this.#keystate(33 /* KeyN */);\n }\n get o() {\n return this.#keystate(34 /* KeyO */);\n }\n get p() {\n return this.#keystate(35 /* KeyP */);\n }\n get q() {\n return this.#keystate(36 /* KeyQ */);\n }\n get r() {\n return this.#keystate(37 /* KeyR */);\n }\n get s() {\n return this.#keystate(38 /* KeyS */);\n }\n get t() {\n return this.#keystate(39 /* KeyT */);\n }\n get u() {\n return this.#keystate(40 /* KeyU */);\n }\n get v() {\n return this.#keystate(41 /* KeyV */);\n }\n get w() {\n return this.#keystate(42 /* KeyW */);\n }\n get x() {\n return this.#keystate(43 /* KeyX */);\n }\n get y() {\n return this.#keystate(44 /* KeyY */);\n }\n get z() {\n return this.#keystate(45 /* KeyZ */);\n }\n get minus() {\n return this.#keystate(46 /* Minus */);\n }\n get period() {\n return this.#keystate(47 /* Period */);\n }\n get quote() {\n return this.#keystate(48 /* Quote */);\n }\n get semicolon() {\n return this.#keystate(49 /* Semicolon */);\n }\n get slash() {\n return this.#keystate(50 /* Slash */);\n }\n get altLeft() {\n return this.#keystate(51 /* AltLeft */);\n }\n get altRight() {\n return this.#keystate(52 /* AltRight */);\n }\n get backspace() {\n return this.#keystate(53 /* Backspace */);\n }\n get capsLock() {\n return this.#keystate(54 /* CapsLock */);\n }\n get contextMenu() {\n return this.#keystate(55 /* ContextMenu */);\n }\n get controlLeft() {\n return this.#keystate(56 /* ControlLeft */);\n }\n get controlRight() {\n return this.#keystate(57 /* ControlRight */);\n }\n get enter() {\n return this.#keystate(58 /* Enter */);\n }\n get metaLeft() {\n return this.#keystate(59 /* MetaLeft */);\n }\n get metaRight() {\n return this.#keystate(60 /* MetaRight */);\n }\n get shiftLeft() {\n return this.#keystate(61 /* ShiftLeft */);\n }\n get shiftRight() {\n return this.#keystate(62 /* ShiftRight */);\n }\n get space() {\n return this.#keystate(63 /* Space */);\n }\n get tab() {\n return this.#keystate(64 /* Tab */);\n }\n get convert() {\n return this.#keystate(65 /* Convert */);\n }\n get kanaMode() {\n return this.#keystate(66 /* KanaMode */);\n }\n get lang1() {\n return this.#keystate(67 /* Lang1 */);\n }\n get lang2() {\n return this.#keystate(68 /* Lang2 */);\n }\n get lang3() {\n return this.#keystate(69 /* Lang3 */);\n }\n get lang4() {\n return this.#keystate(70 /* Lang4 */);\n }\n get lang5() {\n return this.#keystate(71 /* Lang5 */);\n }\n get nonConvert() {\n return this.#keystate(72 /* NonConvert */);\n }\n get delete() {\n return this.#keystate(73 /* Delete */);\n }\n get end() {\n return this.#keystate(74 /* End */);\n }\n get help() {\n return this.#keystate(75 /* Help */);\n }\n get home() {\n return this.#keystate(76 /* Home */);\n }\n get insert() {\n return this.#keystate(77 /* Insert */);\n }\n get pageDown() {\n return this.#keystate(78 /* PageDown */);\n }\n get pageUp() {\n return this.#keystate(79 /* PageUp */);\n }\n get arrowDown() {\n return this.#keystate(80 /* ArrowDown */);\n }\n get arrowLeft() {\n return this.#keystate(81 /* ArrowLeft */);\n }\n get arrowRight() {\n return this.#keystate(82 /* ArrowRight */);\n }\n get arrowUp() {\n return this.#keystate(83 /* ArrowUp */);\n }\n get numLock() {\n return this.#keystate(84 /* NumLock */);\n }\n get numpad0() {\n return this.#keystate(85 /* Numpad0 */);\n }\n get numpad1() {\n return this.#keystate(86 /* Numpad1 */);\n }\n get numpad2() {\n return this.#keystate(87 /* Numpad2 */);\n }\n get numpad3() {\n return this.#keystate(88 /* Numpad3 */);\n }\n get numpad4() {\n return this.#keystate(89 /* Numpad4 */);\n }\n get numpad5() {\n return this.#keystate(90 /* Numpad5 */);\n }\n get numpad6() {\n return this.#keystate(91 /* Numpad6 */);\n }\n get numpad7() {\n return this.#keystate(92 /* Numpad7 */);\n }\n get numpad8() {\n return this.#keystate(93 /* Numpad8 */);\n }\n get numpad9() {\n return this.#keystate(94 /* Numpad9 */);\n }\n get numpadAdd() {\n return this.#keystate(95 /* NumpadAdd */);\n }\n get numpadBackspace() {\n return this.#keystate(96 /* NumpadBackspace */);\n }\n get numpadClear() {\n return this.#keystate(97 /* NumpadClear */);\n }\n get numpadClearEntry() {\n return this.#keystate(98 /* NumpadClearEntry */);\n }\n get numpadComma() {\n return this.#keystate(99 /* NumpadComma */);\n }\n get numpadDecimal() {\n return this.#keystate(100 /* NumpadDecimal */);\n }\n get numpadDivide() {\n return this.#keystate(101 /* NumpadDivide */);\n }\n get numpadEnter() {\n return this.#keystate(102 /* NumpadEnter */);\n }\n get numpadEqual() {\n return this.#keystate(103 /* NumpadEqual */);\n }\n get numpadHash() {\n return this.#keystate(104 /* NumpadHash */);\n }\n get numpadMemoryAdd() {\n return this.#keystate(105 /* NumpadMemoryAdd */);\n }\n get numpadMemoryClear() {\n return this.#keystate(106 /* NumpadMemoryClear */);\n }\n get numpadMemoryRecall() {\n return this.#keystate(107 /* NumpadMemoryRecall */);\n }\n get numpadMemoryStore() {\n return this.#keystate(108 /* NumpadMemoryStore */);\n }\n get numpadMemorySubtract() {\n return this.#keystate(109 /* NumpadMemorySubtract */);\n }\n get numpadMultiply() {\n return this.#keystate(110 /* NumpadMultiply */);\n }\n get numpadParenLeft() {\n return this.#keystate(111 /* NumpadParenLeft */);\n }\n get numpadParenRight() {\n return this.#keystate(112 /* NumpadParenRight */);\n }\n get numpadStar() {\n return this.#keystate(113 /* NumpadStar */);\n }\n get numpadSubtract() {\n return this.#keystate(114 /* NumpadSubtract */);\n }\n get escape() {\n return this.#keystate(115 /* Escape */);\n }\n get fn() {\n return this.#keystate(116 /* Fn */);\n }\n get fnLock() {\n return this.#keystate(117 /* FnLock */);\n }\n get printScreen() {\n return this.#keystate(118 /* PrintScreen */);\n }\n get scrollLock() {\n return this.#keystate(119 /* ScrollLock */);\n }\n get pause() {\n return this.#keystate(120 /* Pause */);\n }\n get browserBack() {\n return this.#keystate(121 /* BrowserBack */);\n }\n get browserFavorites() {\n return this.#keystate(122 /* BrowserFavorites */);\n }\n get browserForward() {\n return this.#keystate(123 /* BrowserForward */);\n }\n get browserHome() {\n return this.#keystate(124 /* BrowserHome */);\n }\n get browserRefresh() {\n return this.#keystate(125 /* BrowserRefresh */);\n }\n get browserSearch() {\n return this.#keystate(126 /* BrowserSearch */);\n }\n get browserStop() {\n return this.#keystate(127 /* BrowserStop */);\n }\n get eject() {\n return this.#keystate(128 /* Eject */);\n }\n get launchApp1() {\n return this.#keystate(129 /* LaunchApp1 */);\n }\n get launchApp2() {\n return this.#keystate(130 /* LaunchApp2 */);\n }\n get launchMail() {\n return this.#keystate(131 /* LaunchMail */);\n }\n get mediaPlayPause() {\n return this.#keystate(132 /* MediaPlayPause */);\n }\n get mediaSelect() {\n return this.#keystate(133 /* MediaSelect */);\n }\n get mediaStop() {\n return this.#keystate(134 /* MediaStop */);\n }\n get mediaTrackNext() {\n return this.#keystate(135 /* MediaTrackNext */);\n }\n get mediaTrackPrevious() {\n return this.#keystate(136 /* MediaTrackPrevious */);\n }\n get power() {\n return this.#keystate(137 /* Power */);\n }\n get sleep() {\n return this.#keystate(138 /* Sleep */);\n }\n get audioVolumeDown() {\n return this.#keystate(139 /* AudioVolumeDown */);\n }\n get audioVolumeMute() {\n return this.#keystate(140 /* AudioVolumeMute */);\n }\n get audioVolumeUp() {\n return this.#keystate(141 /* AudioVolumeUp */);\n }\n get wakeUp() {\n return this.#keystate(142 /* WakeUp */);\n }\n get hyper() {\n return this.#keystate(143 /* Hyper */);\n }\n get super() {\n return this.#keystate(144 /* Super */);\n }\n get turbo() {\n return this.#keystate(145 /* Turbo */);\n }\n get abort() {\n return this.#keystate(146 /* Abort */);\n }\n get resume() {\n return this.#keystate(147 /* Resume */);\n }\n get suspend() {\n return this.#keystate(148 /* Suspend */);\n }\n get again() {\n return this.#keystate(149 /* Again */);\n }\n get copy() {\n return this.#keystate(150 /* Copy */);\n }\n get cut() {\n return this.#keystate(151 /* Cut */);\n }\n get find() {\n return this.#keystate(152 /* Find */);\n }\n get open() {\n return this.#keystate(153 /* Open */);\n }\n get paste() {\n return this.#keystate(154 /* Paste */);\n }\n get props() {\n return this.#keystate(155 /* Props */);\n }\n get select() {\n return this.#keystate(156 /* Select */);\n }\n get undo() {\n return this.#keystate(157 /* Undo */);\n }\n get hiragana() {\n return this.#keystate(158 /* Hiragana */);\n }\n get katakana() {\n return this.#keystate(159 /* Katakana */);\n }\n get f1() {\n return this.#keystate(160 /* F1 */);\n }\n get f2() {\n return this.#keystate(161 /* F2 */);\n }\n get f3() {\n return this.#keystate(162 /* F3 */);\n }\n get f4() {\n return this.#keystate(163 /* F4 */);\n }\n get f5() {\n return this.#keystate(164 /* F5 */);\n }\n get f6() {\n return this.#keystate(165 /* F6 */);\n }\n get f7() {\n return this.#keystate(166 /* F7 */);\n }\n get f8() {\n return this.#keystate(167 /* F8 */);\n }\n get f9() {\n return this.#keystate(168 /* F9 */);\n }\n get f10() {\n return this.#keystate(169 /* F10 */);\n }\n get f11() {\n return this.#keystate(170 /* F11 */);\n }\n get f12() {\n return this.#keystate(171 /* F12 */);\n }\n get f13() {\n return this.#keystate(172 /* F13 */);\n }\n get f14() {\n return this.#keystate(173 /* F14 */);\n }\n get f15() {\n return this.#keystate(174 /* F15 */);\n }\n get f16() {\n return this.#keystate(175 /* F16 */);\n }\n get f17() {\n return this.#keystate(176 /* F17 */);\n }\n get f18() {\n return this.#keystate(177 /* F18 */);\n }\n get f19() {\n return this.#keystate(178 /* F19 */);\n }\n get f20() {\n return this.#keystate(179 /* F20 */);\n }\n get f21() {\n return this.#keystate(180 /* F21 */);\n }\n get f22() {\n return this.#keystate(181 /* F22 */);\n }\n get f23() {\n return this.#keystate(182 /* F23 */);\n }\n get f24() {\n return this.#keystate(183 /* F24 */);\n }\n get f25() {\n return this.#keystate(184 /* F25 */);\n }\n get f26() {\n return this.#keystate(185 /* F26 */);\n }\n get f27() {\n return this.#keystate(186 /* F27 */);\n }\n get f28() {\n return this.#keystate(187 /* F28 */);\n }\n get f29() {\n return this.#keystate(188 /* F29 */);\n }\n get f30() {\n return this.#keystate(189 /* F30 */);\n }\n get f31() {\n return this.#keystate(190 /* F31 */);\n }\n get f32() {\n return this.#keystate(191 /* F32 */);\n }\n get f33() {\n return this.#keystate(192 /* F33 */);\n }\n get f34() {\n return this.#keystate(193 /* F34 */);\n }\n get f35() {\n return this.#keystate(194 /* F35 */);\n }\n #keystate(code) {\n let state;\n if (this.#keystates.has(code)) {\n state = this.#keystates.get(code);\n } else {\n state = { down: false, held: false, up: false };\n this.#keystates.set(code, state);\n }\n state.held = !!(this.#dataView.getUint8(code) & 1);\n state.down = state.held && !(this.#dataView.getUint8(code) & 2);\n state.up = !state.held && !!(this.#dataView.getUint8(code) & 2);\n return state;\n }\n}\n// js/contexts/timeContext.ts\nclass TimeContext {\n dataView;\n constructor(dataView) {\n this.dataView = dataView;\n }\n get frame() {\n if (!this.dataView) {\n throw new Error(\"TimeContext DataView is not initialized\");\n }\n return this.dataView.getUint32(0, true);\n }\n get dt() {\n if (!this.dataView) {\n throw new Error(\"TimeContext DataView is not initialized\");\n }\n return this.dataView.getUint32(4, true) / 1000;\n }\n get time() {\n if (!this.dataView) {\n throw new Error(\"TimeContext DataView is not initialized\");\n }\n return this.dataView.getUint32(8, true) / 1000;\n }\n}\n// js/contexts/netContext.ts\nclass NetContext {\n dataView;\n constructor(dataView) {\n this.dataView = dataView;\n }\n get peerCount() {\n if (!this.dataView) {\n throw new Error(\"NetContext DataView is not initialized\");\n }\n return this.dataView.getUint8(0);\n }\n get isInSession() {\n return this.peerCount > 0;\n }\n get matchFrame() {\n if (!this.dataView) {\n throw new Error(\"NetContext DataView is not initialized\");\n }\n return this.dataView.getUint32(4, true);\n }\n}\n\n// js/engine.ts\nvar DEFAULT_WASM_URL = new URL(\"../wasm/bloop.wasm\", import.meta.url);\nvar TIME_CTX_OFFSET = 0;\nvar INPUT_CTX_OFFSET = TIME_CTX_OFFSET + 4;\nvar EVENTS_OFFSET = INPUT_CTX_OFFSET + 4;\nvar NET_CTX_OFFSET = EVENTS_OFFSET + 4;\nvar SNAPSHOT_HEADER_LEN = 16;\nvar SNAPSHOT_HEADER_USER_LEN_OFFSET = 4;\nvar SNAPSHOT_HEADER_ENGINE_LEN_OFFSET = 8;\nexport {\n mouseButtonToMouseButtonCode,\n mouseButtonCodeToMouseButton,\n keyToKeyCode,\n keyCodeToKey,\n inputSourceToInputSourceCode,\n inputSourceCodeToInputSource,\n TimeContext,\n TIME_CTX_OFFSET,\n SNAPSHOT_HEADER_USER_LEN_OFFSET,\n SNAPSHOT_HEADER_LEN,\n SNAPSHOT_HEADER_ENGINE_LEN_OFFSET,\n PlayerInputContext,\n PLAYER_INPUTS_SIZE,\n NetContext,\n NET_CTX_OFFSET,\n MouseContext,\n MOUSE_OFFSET,\n MOUSE_BUTTONS_OFFSET,\n MAX_PLAYERS,\n KeyboardContext,\n KEYBOARD_SIZE,\n KEYBOARD_OFFSET,\n InputContext,\n INPUT_CTX_SIZE,\n INPUT_CTX_OFFSET,\n exports_enums as Enums,\n EVENT_PAYLOAD_SIZE,\n EVENT_PAYLOAD_ALIGN,\n EVENTS_OFFSET,\n DEFAULT_WASM_URL\n};\n\n//# debugId=D5845EC450A91A9164756E2164756E21\n//# sourceMappingURL=engine.js.map\n",
|
|
@@ -12,20 +12,23 @@
|
|
|
12
12
|
"import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function p(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function d(n){return o=1,h(D,n)}function h(n,u,i){var o=p(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.__f=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=p(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__H.__h.push(i))}function _(n,u){var i=p(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){if(\"function\"==typeof n){var r=n(t());return function(){n(null),r&&\"function\"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function T(n,r){var u=p(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=p(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=p(t++,10),i=d();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=p(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,h as useReducer,A as useRef,d as useState};\n//# sourceMappingURL=hooks.module.js.map\n",
|
|
13
13
|
"var i=Symbol.for(\"preact-signals\");function t(){if(!(s>1)){var i,t=!1;while(void 0!==h){var r=h;h=void 0;f++;while(void 0!==r){var o=r.o;r.o=void 0;r.f&=-3;if(!(8&r.f)&&c(r))try{r.c()}catch(r){if(!t){i=r;t=!0}}r=o}}f=0;s--;if(t)throw i}else s--}function r(i){if(s>0)return i();s++;try{return i()}finally{t()}}var o=void 0;function n(i){var t=o;o=void 0;try{return i()}finally{o=t}}var h=void 0,s=0,f=0,v=0;function e(i){if(void 0!==o){var t=i.n;if(void 0===t||t.t!==o){t={i:0,S:i,p:o.s,n:void 0,t:o,e:void 0,x:void 0,r:t};if(void 0!==o.s)o.s.n=t;o.s=t;i.n=t;if(32&o.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=o.s;t.n=void 0;o.s.n=t;o.s=t}return t}}}function u(i,t){this.v=i;this.i=0;this.n=void 0;this.t=void 0;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}u.prototype.brand=i;u.prototype.h=function(){return!0};u.prototype.S=function(i){var t=this,r=this.t;if(r!==i&&void 0===i.e){i.x=r;this.t=i;if(void 0!==r)r.e=i;else n(function(){var i;null==(i=t.W)||i.call(t)})}};u.prototype.U=function(i){var t=this;if(void 0!==this.t){var r=i.e,o=i.x;if(void 0!==r){r.x=o;i.e=void 0}if(void 0!==o){o.e=r;i.x=void 0}if(i===this.t){this.t=o;if(void 0===o)n(function(){var i;null==(i=t.Z)||i.call(t)})}}};u.prototype.subscribe=function(i){var t=this;return E(function(){var r=t.value,n=o;o=void 0;try{i(r)}finally{o=n}},{name:\"sub\"})};u.prototype.valueOf=function(){return this.value};u.prototype.toString=function(){return this.value+\"\"};u.prototype.toJSON=function(){return this.value};u.prototype.peek=function(){var i=o;o=void 0;try{return this.value}finally{o=i}};Object.defineProperty(u.prototype,\"value\",{get:function(){var i=e(this);if(void 0!==i)i.i=this.i;return this.v},set:function(i){if(i!==this.v){if(f>100)throw new Error(\"Cycle detected\");this.v=i;this.i++;v++;s++;try{for(var r=this.t;void 0!==r;r=r.x)r.t.N()}finally{t()}}}});function d(i,t){return new u(i,t)}function c(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function a(i){for(var t=i.s;void 0!==t;t=t.n){var r=t.S.n;if(void 0!==r)t.r=r;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function l(i){var t=i.s,r=void 0;while(void 0!==t){var o=t.p;if(-1===t.i){t.S.U(t);if(void 0!==o)o.n=t.n;if(void 0!==t.n)t.n.p=o}else r=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=o}i.s=r}function y(i,t){u.call(this,void 0);this.x=i;this.s=void 0;this.g=v-1;this.f=4;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}y.prototype=new u;y.prototype.h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===v)return!0;this.g=v;this.f|=1;if(this.i>0&&!c(this)){this.f&=-2;return!0}var i=o;try{a(this);o=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}o=i;l(this);this.f&=-2;return!0};y.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}u.prototype.S.call(this,i)};y.prototype.U=function(i){if(void 0!==this.t){u.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};y.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};Object.defineProperty(y.prototype,\"value\",{get:function(){if(1&this.f)throw new Error(\"Cycle detected\");var i=e(this);this.h();if(void 0!==i)i.i=this.i;if(16&this.f)throw this.v;return this.v}});function w(i,t){return new y(i,t)}function _(i){var r=i.u;i.u=void 0;if(\"function\"==typeof r){s++;var n=o;o=void 0;try{r()}catch(t){i.f&=-2;i.f|=8;b(i);throw t}finally{o=n;t()}}}function b(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;_(i)}function g(i){if(o!==this)throw new Error(\"Out-of-order effect\");l(this);o=i;this.f&=-2;if(8&this.f)b(this);t()}function p(i,t){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32;this.name=null==t?void 0:t.name}p.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if(\"function\"==typeof t)this.u=t}finally{i()}};p.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1;this.f&=-9;_(this);a(this);s++;var i=o;o=this;return g.bind(this,i)};p.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=h;h=this}};p.prototype.d=function(){this.f|=8;if(!(1&this.f))b(this)};p.prototype.dispose=function(){this.d()};function E(i,t){var r=new p(i,t);try{r.c()}catch(i){r.d();throw i}var o=r.d.bind(r);o[Symbol.dispose]=o;return o}export{y as Computed,p as Effect,u as Signal,r as batch,w as computed,E as effect,d as signal,n as untracked};//# sourceMappingURL=signals-core.module.js.map\n",
|
|
14
14
|
"import{Component as i,options as r,isValidElement as n}from\"preact\";import{useMemo as t,useRef as f,useEffect as o}from\"preact/hooks\";import{Signal as e,computed as u,signal as a,effect as c}from\"@preact/signals-core\";export{Signal,batch,computed,effect,signal,untracked}from\"@preact/signals-core\";var v,s;function l(i,n){r[i]=n.bind(null,r[i]||function(){})}function d(i){if(s)s();s=i&&i.S()}function h(i){var r=this,f=i.data,o=useSignal(f);o.value=f;var e=t(function(){var i=r.__v;while(i=i.__)if(i.__c){i.__c.__$f|=4;break}r.__$u.c=function(){var i,t=r.__$u.S(),f=e.value;t();if(n(f)||3!==(null==(i=r.base)?void 0:i.nodeType)){r.__$f|=1;r.setState({})}else r.base.data=f};return u(function(){var i=o.value.value;return 0===i?0:!0===i?\"\":i||\"\"})},[]);return e.value}h.displayName=\"_st\";Object.defineProperties(e.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:h},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});l(\"__b\",function(i,r){if(\"string\"==typeof r.type){var n,t=r.props;for(var f in t)if(\"children\"!==f){var o=t[f];if(o instanceof e){if(!n)r.__np=n={};n[f]=o;t[f]=o.peek()}}}i(r)});l(\"__r\",function(i,r){d();var n,t=r.__c;if(t){t.__$f&=-2;if(void 0===(n=t.__$u))t.__$u=n=function(i){var r;c(function(){r=this});r.c=function(){t.__$f|=1;t.setState({})};return r}()}v=t;d(n);i(r)});l(\"__e\",function(i,r,n,t){d();v=void 0;i(r,n,t)});l(\"diffed\",function(i,r){d();v=void 0;var n;if(\"string\"==typeof r.type&&(n=r.__e)){var t=r.__np,f=r.props;if(t){var o=n.U;if(o)for(var e in o){var u=o[e];if(void 0!==u&&!(e in t)){u.d();o[e]=void 0}}else n.U=o={};for(var a in t){var c=o[a],s=t[a];if(void 0===c){c=p(n,a,s,f);o[a]=c}else c.o(s,f)}}}i(r)});function p(i,r,n,t){var f=r in i&&void 0===i.ownerSVGElement,o=a(n);return{o:function(i,r){o.value=i;t=r},d:c(function(){var n=o.value.value;if(t[r]!==n){t[r]=n;if(f)i[r]=n;else if(n)i.setAttribute(r,n);else i.removeAttribute(r)}})}}l(\"unmount\",function(i,r){if(\"string\"==typeof r.type){var n=r.__e;if(n){var t=n.U;if(t){n.U=void 0;for(var f in t){var o=t[f];if(o)o.d()}}}}else{var e=r.__c;if(e){var u=e.__$u;if(u){e.__$u=void 0;u.d()}}}i(r)});l(\"__h\",function(i,r,n,t){if(t<3||9===t)r.__$f|=2;i(r,n,t)});i.prototype.shouldComponentUpdate=function(i,r){var n=this.__$u,t=n&&void 0!==n.s;for(var f in r)return!0;if(this.__f||\"boolean\"==typeof this.u&&!0===this.u){if(!(t||2&this.__$f||4&this.__$f))return!0;if(1&this.__$f)return!0}else{if(!(t||4&this.__$f))return!0;if(3&this.__$f)return!0}for(var o in i)if(\"__source\"!==o&&i[o]!==this.props[o])return!0;for(var e in this.props)if(!(e in i))return!0;return!1};function useSignal(i){return t(function(){return a(i)},[])}function useComputed(i){var r=f(i);r.current=i;v.__$f|=4;return t(function(){return u(function(){return r.current()})},[])}function useSignalEffect(i){var r=f(i);r.current=i;o(function(){return c(function(){return r.current()})},[])}export{useComputed,useSignal,useSignalEffect};//# sourceMappingURL=signals.module.js.map\n",
|
|
15
|
-
"import {\n computed,\n type ReadonlySignal,\n type Signal,\n signal,\n} from \"@preact/signals\";\nimport type { Log } from \"../netcode/logs.ts\";\n\nexport type FrameNumber = number;\n\nexport type Peer = {\n id: string;\n nickname: string;\n ack: FrameNumber;\n seq: FrameNumber;\n lastPacketTime: number;\n};\n\nexport type NetStatus = {\n ourId: number | null;\n remoteId: number | null;\n rtt: number | null;\n peers: Peer[];\n};\n\nexport type DebugState = {\n
|
|
15
|
+
"import {\n computed,\n type ReadonlySignal,\n type Signal,\n signal,\n} from \"@preact/signals\";\nimport type { Log } from \"../netcode/logs.ts\";\n\nexport type FrameNumber = number;\n\nexport type LayoutMode = \"off\" | \"letterboxed\" | \"full\";\n\nexport type Peer = {\n id: string;\n nickname: string;\n ack: FrameNumber;\n seq: FrameNumber;\n lastPacketTime: number;\n};\n\nexport type NetStatus = {\n ourId: number | null;\n remoteId: number | null;\n rtt: number | null;\n peers: Peer[];\n};\n\nexport type DebugState = {\n layoutMode: Signal<LayoutMode>;\n isVisible: ReadonlySignal<boolean>;\n netStatus: Signal<NetStatus>;\n logs: Signal<Log[]>;\n peer: ReadonlySignal<Peer | null>;\n advantage: ReadonlySignal<number | null>;\n // Metrics for letterboxed layout\n fps: Signal<number>;\n frameTime: Signal<number>; // ms per frame\n snapshotSize: Signal<number>; // bytes\n frameNumber: Signal<number>;\n};\n\nconst layoutMode = signal<LayoutMode>(\"off\");\nconst netStatus = signal<NetStatus>({\n ourId: null,\n remoteId: null,\n rtt: null,\n peers: [],\n});\nconst logs = signal<Log[]>([]);\nconst fps = signal(0);\nconst frameTime = signal(0);\nconst snapshotSize = signal(0);\nconst frameNumber = signal(0);\n\nexport const debugState: DebugState = {\n /** Layout mode: off, letterboxed, or full */\n layoutMode,\n\n /** Whether debug UI is visible (derived from layoutMode) */\n isVisible: computed(() => layoutMode.value !== \"off\"),\n\n /** Network status */\n netStatus,\n\n /** Log entries */\n logs,\n\n /** First connected peer (for Stats panel) */\n peer: computed(() => netStatus.value.peers[0] ?? null),\n\n /** Advantage calculation (seq - ack) */\n advantage: computed(() => {\n const peer = netStatus.value.peers[0];\n return peer ? peer.seq - peer.ack : null;\n }),\n\n /** Metrics for letterboxed layout */\n fps,\n frameTime,\n snapshotSize,\n frameNumber,\n};\n\n/** Cycle through layout modes: off -> letterboxed -> full -> off */\nexport function cycleLayout(): void {\n const current = layoutMode.value;\n if (current === \"off\") {\n layoutMode.value = \"letterboxed\";\n } else if (current === \"letterboxed\") {\n layoutMode.value = \"full\";\n } else {\n layoutMode.value = \"off\";\n }\n}\n\nexport function addLog(log: Log): void {\n debugState.logs.value = [...debugState.logs.value, log];\n}\n\nexport function updatePeer(id: string, updates: Partial<Peer>): void {\n const peers = [...debugState.netStatus.value.peers];\n const idx = peers.findIndex((p) => p.id === id);\n const existing = peers[idx];\n if (idx >= 0 && existing) {\n peers[idx] = {\n id: updates.id ?? existing.id,\n nickname: updates.nickname ?? existing.nickname,\n ack: updates.ack ?? existing.ack,\n seq: updates.seq ?? existing.seq,\n lastPacketTime: updates.lastPacketTime ?? existing.lastPacketTime,\n };\n debugState.netStatus.value = {\n ...debugState.netStatus.value,\n peers,\n };\n }\n}\n\nexport function addPeer(peer: Peer): void {\n debugState.netStatus.value = {\n ...debugState.netStatus.value,\n peers: [...debugState.netStatus.value.peers, peer],\n };\n}\n\nexport function removePeer(id: string): void {\n debugState.netStatus.value = {\n ...debugState.netStatus.value,\n peers: debugState.netStatus.value.peers.filter((p) => p.id !== id),\n };\n}\n\nexport function setLocalId(id: number): void {\n debugState.netStatus.value = {\n ...debugState.netStatus.value,\n ourId: id,\n };\n}\n\nexport function setRemoteId(id: number): void {\n debugState.netStatus.value = {\n ...debugState.netStatus.value,\n remoteId: id,\n };\n}\n\nexport function clearLogs(): void {\n debugState.logs.value = [];\n}\n\nexport function resetState(): void {\n debugState.layoutMode.value = \"off\";\n debugState.logs.value = [];\n debugState.netStatus.value = {\n ourId: null,\n remoteId: null,\n rtt: null,\n peers: [],\n };\n debugState.fps.value = 0;\n debugState.frameTime.value = 0;\n debugState.snapshotSize.value = 0;\n debugState.frameNumber.value = 0;\n}\n",
|
|
16
16
|
"import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\""\";break;case 38:f=\"&\";break;case 60:f=\"<\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n",
|
|
17
17
|
"import { useSignal, useSignalEffect } from \"@preact/signals\";\nimport { debugState } from \"../state.ts\";\n\nexport function Stats() {\n const peer = debugState.peer.value;\n const netStatus = debugState.netStatus.value;\n\n // Live-updating \"time since last packet\"\n const lastPacketTime = useSignal<string | null>(null);\n\n useSignalEffect(() => {\n const p = debugState.peer.value;\n if (!p) {\n lastPacketTime.value = null;\n return;\n }\n\n const update = () => {\n lastPacketTime.value = (performance.now() - p.lastPacketTime).toFixed(0);\n };\n update();\n const id = setInterval(update, 100);\n return () => clearInterval(id);\n });\n\n if (!peer) {\n return (\n <div className=\"stats-panel\">\n <h3>Network Stats</h3>\n <p>No peer connected</p>\n </div>\n );\n }\n\n return (\n <div className=\"stats-panel\">\n <h3>Network Stats - {peer.nickname}</h3>\n <table>\n <tbody>\n <tr>\n <td>Our Peer ID</td>\n <td>{netStatus.ourId}</td>\n </tr>\n <tr>\n <td>Remote Peer ID</td>\n <td>{netStatus.remoteId}</td>\n </tr>\n <tr>\n <td>Advantage</td>\n <td>{peer.seq - peer.ack}</td>\n </tr>\n <tr>\n <td>Current Seq</td>\n <td>{peer.seq}</td>\n </tr>\n <tr>\n <td>Current Ack</td>\n <td>{peer.ack}</td>\n </tr>\n <tr>\n <td>Time since last packet</td>\n <td>{lastPacketTime.value}ms</td>\n </tr>\n </tbody>\n </table>\n </div>\n );\n}\n",
|
|
18
18
|
"import { useRef, useCallback, useEffect } from \"preact/hooks\";\n\nexport function useAutoScroll(threshold = 80) {\n const containerRef = useRef<HTMLElement | null>(null);\n const autoScrollRef = useRef(true);\n\n const onScroll = useCallback(() => {\n const el = containerRef.current;\n if (!el) return;\n\n const distanceFromBottom =\n el.scrollHeight - el.scrollTop - el.clientHeight;\n autoScrollRef.current = distanceFromBottom < threshold;\n }, [threshold]);\n\n const scrollToBottom = useCallback(() => {\n const el = containerRef.current;\n if (!el) return;\n\n // Use requestAnimationFrame for DOM update timing\n requestAnimationFrame(() => {\n el.scrollTop = el.scrollHeight;\n });\n }, []);\n\n const onContentUpdated = useCallback(() => {\n if (autoScrollRef.current) {\n scrollToBottom();\n }\n }, [scrollToBottom]);\n\n // Set up scroll listener when ref changes\n useEffect(() => {\n const el = containerRef.current;\n if (el) {\n el.addEventListener(\"scroll\", onScroll);\n return () => el.removeEventListener(\"scroll\", onScroll);\n }\n }, [onScroll]);\n\n // Return ref callback to set containerRef\n const setRef = useCallback(\n (el: HTMLElement | null) => {\n // Clean up old listener\n if (containerRef.current) {\n containerRef.current.removeEventListener(\"scroll\", onScroll);\n }\n containerRef.current = el;\n // Add new listener\n if (el) {\n el.addEventListener(\"scroll\", onScroll);\n }\n },\n [onScroll],\n );\n\n return {\n containerRef: setRef,\n onContentUpdated,\n scrollToBottom,\n };\n}\n",
|
|
19
19
|
"import { useSignalEffect } from \"@preact/signals\";\nimport { debugState } from \"../state.ts\";\nimport { useAutoScroll } from \"../hooks/useAutoScroll.ts\";\nimport type { Log } from \"../../netcode/logs.ts\";\n\nfunction formatTimestamp(ms: number): string {\n const date = new Date(ms);\n const hours = date.getHours() % 12;\n const minutes = date.getMinutes().toString().padStart(2, \"0\");\n const seconds = date.getSeconds().toString().padStart(2, \"0\");\n const millis = date.getMilliseconds().toString().padStart(3, \"0\");\n return `${hours}:${minutes}:${seconds}.${millis}`;\n}\n\nexport function Logs() {\n const { containerRef, onContentUpdated } = useAutoScroll(80);\n const logs = debugState.logs.value;\n\n // Trigger auto-scroll when logs change\n useSignalEffect(() => {\n const _ = debugState.logs.value.length;\n onContentUpdated();\n });\n\n return (\n <ul className=\"logs-list\" ref={containerRef}>\n {logs.map((log: Log, index: number) => (\n <LogEntry key={index} log={log} />\n ))}\n </ul>\n );\n}\n\nfunction LogEntry({ log }: { log: Log }) {\n return (\n <li className={`log ${log.source}`}>\n <div className=\"contents\">\n <h3 className={log.source}>\n <span className=\"source\">{log.source} | </span>\n {log.match_frame != null ? (\n <span className=\"frame-number\">m{log.match_frame} | </span>\n ) : (\n <span className=\"frame-number\">f{log.frame_number} | </span>\n )}\n <span className=\"timestamp\">{formatTimestamp(log.timestamp)}</span>\n </h3>\n <div className=\"content\">\n {log.label && <p>{log.label}</p>}\n {log.json && (\n <pre className=\"json\">{JSON.stringify(log.json, null, 2)}</pre>\n )}\n {log.packet && <div>{log.packet.size} bytes</div>}\n </div>\n </div>\n </li>\n );\n}\n",
|
|
20
|
-
"import { debugState } from \"../state.ts\";\n\ntype DebugToggleProps = {\n hotkey?: string;\n};\n\nexport function DebugToggle({ hotkey = \"Escape\" }: DebugToggleProps) {\n const isVisible = debugState.isVisible.value;\n\n
|
|
21
|
-
"import {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"import {
|
|
20
|
+
"import { cycleLayout, debugState } from \"../state.ts\";\n\ntype DebugToggleProps = {\n hotkey?: string;\n};\n\nexport function DebugToggle({ hotkey = \"Escape\" }: DebugToggleProps) {\n const isVisible = debugState.isVisible.value;\n\n return (\n <button\n className=\"debug-toggle\"\n onClick={cycleLayout}\n onMouseDown={(e) => e.stopPropagation()}\n onMouseUp={(e) => e.stopPropagation()}\n title={isVisible ? `Hide debug (${hotkey})` : `Show debug (${hotkey})`}\n >\n {isVisible ? \"\\u2715\" : \"\\u2699\"}\n </button>\n );\n}\n",
|
|
21
|
+
"import { debugState } from \"../state.ts\";\n\ntype TopBarProps = {\n leftLabel: string;\n rightLabel: string;\n};\n\nexport function TopBar({ leftLabel, rightLabel }: TopBarProps) {\n const fps = debugState.fps.value;\n const frameNumber = debugState.frameNumber.value;\n const rtt = debugState.netStatus.value.rtt;\n const isOnline = debugState.netStatus.value.peers.length > 0;\n\n return (\n <div className=\"top-bar\">\n <span className=\"top-bar-side-label\">{leftLabel}</span>\n <div className=\"top-bar-center\">\n <div className=\"top-bar-item\">\n <span className=\"top-bar-label\">FPS</span>\n <span className=\"top-bar-value\">{fps}</span>\n </div>\n <div className=\"top-bar-item\">\n <span className=\"top-bar-label\">Frame</span>\n <span className=\"top-bar-value\">{frameNumber}</span>\n </div>\n {isOnline && rtt !== null && (\n <div className=\"top-bar-item\">\n <span className=\"top-bar-label\">Ping</span>\n <span className=\"top-bar-value\">{rtt}ms</span>\n </div>\n )}\n </div>\n <span className=\"top-bar-side-label\">{rightLabel}</span>\n </div>\n );\n}\n",
|
|
22
|
+
"type VerticalBarProps = {\n value: number;\n max: number;\n side: \"left\" | \"right\";\n color?: string;\n};\n\nexport function VerticalBar({\n value,\n max,\n side,\n color = \"#4a9eff\",\n}: VerticalBarProps) {\n const percentage = max > 0 ? Math.min(100, (value / max) * 100) : 0;\n\n return (\n <div className={`${side}-bar`}>\n <div className=\"vertical-bar\">\n <div\n className=\"vertical-bar-fill\"\n style={{ height: `${percentage}%`, background: color }}\n />\n </div>\n </div>\n );\n}\n",
|
|
23
|
+
"type BottomBarProps = {\n tapeUtilization: number; // 0-1, how full the tape is\n playheadPosition: number; // 0-1, current position in tape\n isPlaying: boolean;\n};\n\nexport function BottomBar({\n tapeUtilization = 0,\n playheadPosition = 0,\n isPlaying = true,\n}: BottomBarProps) {\n // Placeholder handlers - behavior not wired up yet\n const handleJumpBack = () => {};\n const handleStepBack = () => {};\n const handlePlayPause = () => {};\n const handleStepForward = () => {};\n const handleJumpForward = () => {};\n const handleSeek = () => {};\n\n return (\n <div className=\"bottom-bar\">\n <div className=\"playbar-controls\">\n <button className=\"playbar-btn\" onClick={handleJumpBack}>\n {\"<<\"}\n <span className=\"tooltip tooltip-left\">\n Jump back <kbd>4</kbd>\n </span>\n </button>\n <button className=\"playbar-btn\" onClick={handleStepBack}>\n {\"<\"}\n <span className=\"tooltip\">\n Step back <kbd>5</kbd>\n </span>\n </button>\n <button className=\"playbar-btn\" onClick={handlePlayPause}>\n {isPlaying ? \"||\" : \">\"}\n <span className=\"tooltip\">\n {isPlaying ? \"Pause\" : \"Play\"} <kbd>6</kbd>\n </span>\n </button>\n <button className=\"playbar-btn\" onClick={handleStepForward}>\n {\">\"}\n <span className=\"tooltip\">\n Step forward <kbd>7</kbd>\n </span>\n </button>\n <button className=\"playbar-btn\" onClick={handleJumpForward}>\n {\">>\"}\n <span className=\"tooltip\">\n Jump forward <kbd>8</kbd>\n </span>\n </button>\n </div>\n <div className=\"seek-bar\" onClick={handleSeek}>\n <div\n className=\"seek-bar-fill\"\n style={{ width: `${tapeUtilization * 100}%` }}\n />\n {tapeUtilization > 0 && (\n <div\n className=\"seek-bar-position\"\n style={{ left: `${playheadPosition * tapeUtilization * 100}%` }}\n />\n )}\n </div>\n </div>\n );\n}\n",
|
|
24
|
+
"import { useRef, useEffect } from \"preact/hooks\";\nimport { debugState } from \"../state.ts\";\nimport { Stats } from \"./Stats.tsx\";\nimport { Logs } from \"./Logs.tsx\";\nimport { DebugToggle } from \"./DebugToggle.tsx\";\nimport { TopBar } from \"./TopBar.tsx\";\nimport { VerticalBar } from \"./VerticalBar.tsx\";\nimport { BottomBar } from \"./BottomBar.tsx\";\n\ntype RootProps = {\n canvas: HTMLCanvasElement;\n hotkey?: string;\n};\n\nexport function Root({ canvas, hotkey = \"Escape\" }: RootProps) {\n const layoutMode = debugState.layoutMode.value;\n\n if (layoutMode === \"off\") {\n return (\n <>\n <main className=\"fullscreen\">\n <GameCanvas canvas={canvas} />\n </main>\n <DebugToggle hotkey={hotkey} />\n </>\n );\n }\n\n if (layoutMode === \"letterboxed\") {\n return (\n <>\n <LetterboxedLayout canvas={canvas} />\n <DebugToggle hotkey={hotkey} />\n </>\n );\n }\n\n // Full layout (netcode debug)\n return (\n <>\n <main className=\"layout\">\n <section className=\"game\">\n <GameCanvas canvas={canvas} />\n </section>\n <section className=\"stats\">\n <Stats />\n </section>\n <section className=\"logs\">\n <Logs />\n </section>\n </main>\n <DebugToggle hotkey={hotkey} />\n </>\n );\n}\n\nfunction LetterboxedLayout({ canvas }: { canvas: HTMLCanvasElement }) {\n const isOnline = debugState.netStatus.value.peers.length > 0;\n const advantage = debugState.advantage.value ?? 0;\n const frameTime = debugState.frameTime.value;\n const snapshotSize = debugState.snapshotSize.value;\n\n // Left bar: frame advantage (online) or frame time % (offline)\n const leftValue = isOnline ? Math.abs(advantage) : frameTime;\n const leftMax = isOnline ? 10 : 16.67; // 10 frames advantage or 16.67ms budget\n const leftLabel = isOnline ? \"ADV\" : \"MS\";\n const leftColor = isOnline\n ? advantage >= 0\n ? \"#4a9eff\"\n : \"#ff4a4a\"\n : frameTime > 16.67\n ? \"#ff4a4a\"\n : \"#4aff4a\";\n\n // Right bar: rollback depth (online) or snapshot size (offline)\n // For now, we don't have rollback depth exposed, so use a placeholder\n const rightValue = isOnline ? 0 : snapshotSize;\n const rightMax = isOnline ? 10 : 10000; // 10 frames rollback or 10KB\n const rightLabel = isOnline ? \"RB\" : \"KB\";\n\n return (\n <main className=\"layout-letterboxed\">\n <TopBar leftLabel={leftLabel} rightLabel={rightLabel} />\n <VerticalBar\n value={leftValue}\n max={leftMax}\n side=\"left\"\n color={leftColor}\n />\n <div className=\"letterboxed-game\">\n <GameCanvas canvas={canvas} />\n </div>\n <VerticalBar\n value={rightValue}\n max={rightMax}\n side=\"right\"\n />\n <BottomBar tapeUtilization={0.67} playheadPosition={0.8} isPlaying={true} />\n </main>\n );\n}\n\nfunction GameCanvas({ canvas }: { canvas: HTMLCanvasElement }) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = containerRef.current;\n if (container && !container.contains(canvas)) {\n container.appendChild(canvas);\n }\n\n return () => {\n // Don't remove canvas on cleanup - it may need to persist\n };\n }, [canvas]);\n\n return <div className=\"canvas-container\" ref={containerRef} />;\n}\n",
|
|
25
|
+
"export const styles = /*css*/ `\n/* Reset for shadow DOM */\n* {\n box-sizing: border-box;\n}\n\n/* Layout */\n.fullscreen {\n width: 100vw;\n height: 100vh;\n margin: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.fullscreen .canvas-container {\n width: 100%;\n height: 100%;\n}\n\n.fullscreen canvas {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.layout {\n display: grid;\n grid-template-areas:\n \"game stats\"\n \"logs logs\";\n grid-template-columns: calc(50% - 0.5rem) calc(50% - 0.5rem);\n grid-template-rows: calc(50% - 0.5rem) calc(50% - 0.5rem);\n gap: 1rem;\n width: 100%;\n height: 100%;\n padding: 1rem;\n}\n\n/* Letterboxed layout - using equal vw/vh percentages keeps game at viewport aspect ratio */\n.layout-letterboxed {\n display: grid;\n grid-template-areas:\n \"top-bar top-bar top-bar\"\n \"left-bar game right-bar\"\n \"bottom-bar bottom-bar bottom-bar\";\n grid-template-columns: 2vw 1fr 2vw;\n grid-template-rows: 2vh 1fr 2vh;\n width: 100vw;\n height: 100vh;\n background: #1a1a1a;\n overflow: hidden;\n overscroll-behavior: none;\n}\n\n.top-bar {\n grid-area: top-bar;\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: #111;\n color: #aaa;\n font-family: monospace;\n font-size: 12px;\n padding: 0;\n}\n\n.top-bar-side-label {\n width: 2vw;\n text-align: center;\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #666;\n}\n\n.top-bar-center {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n flex: 1;\n}\n\n.top-bar-item {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.top-bar-label {\n opacity: 0.6;\n}\n\n.top-bar-value {\n color: #fff;\n font-weight: 500;\n}\n\n.left-bar {\n grid-area: left-bar;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n background: #111;\n padding: 4px 0;\n}\n\n.right-bar {\n grid-area: right-bar;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n background: #111;\n padding: 4px 0;\n}\n\n.vertical-bar {\n width: 12px;\n flex: 1;\n background: #333;\n border-radius: 2px;\n position: relative;\n overflow: hidden;\n}\n\n.vertical-bar-fill {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background: #4a9eff;\n border-radius: 2px;\n transition: height 0.1s ease-out;\n}\n\n\n.bottom-bar {\n grid-area: bottom-bar;\n display: flex;\n align-items: center;\n background: #111;\n padding: 0 8px;\n gap: 8px;\n}\n\n.playbar-controls {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n}\n\n.playbar-btn {\n width: 1.5vh;\n height: 1.5vh;\n min-width: 18px;\n min-height: 18px;\n border: none;\n background: transparent;\n color: #888;\n font-size: 10px;\n cursor: pointer;\n border-radius: 2px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s, color 0.15s;\n position: relative;\n}\n\n.playbar-btn:hover {\n background: #333;\n color: #fff;\n}\n\n.playbar-btn:hover .tooltip {\n opacity: 1;\n visibility: visible;\n}\n\n.tooltip {\n position: absolute;\n bottom: calc(100% + 4px);\n left: 50%;\n transform: translateX(-50%);\n background: #222;\n color: #ccc;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 10px;\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.15s;\n pointer-events: none;\n z-index: 10;\n}\n\n.tooltip-left {\n left: 0;\n transform: none;\n}\n\n.tooltip kbd {\n background: #444;\n padding: 1px 4px;\n border-radius: 2px;\n margin-left: 4px;\n font-family: monospace;\n}\n\n.seek-bar {\n flex: 1;\n height: 16px;\n background: #222;\n border-radius: 4px;\n position: relative;\n cursor: pointer;\n overflow: hidden;\n}\n\n.seek-bar-fill {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n background: linear-gradient(to right, #4a2070, #7b3fa0);\n border-radius: 4px;\n transition: width 0.1s ease-out;\n}\n\n.seek-bar-position {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 2px;\n background: #fff;\n}\n\n.letterboxed-game {\n grid-area: game;\n overflow: hidden;\n}\n\n.letterboxed-game .canvas-container {\n width: 100%;\n height: 100%;\n}\n\n.letterboxed-game canvas {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.game {\n grid-area: game;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.stats {\n grid-area: stats;\n background-color: #f0f0f0;\n padding: 1rem;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.logs {\n grid-area: logs;\n background-color: #f0f0f0;\n padding: 1rem;\n border-radius: 8px;\n overflow: hidden;\n}\n\n/* Canvas container */\n.canvas-container {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.canvas-container canvas {\n max-width: 100%;\n max-height: 100%;\n}\n\n/* Debug toggle button */\n.debug-toggle {\n position: fixed;\n bottom: 16px;\n right: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n border: none;\n background-color: rgba(0, 0, 0, 0.5);\n color: white;\n font-size: 18px;\n cursor: pointer;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s;\n}\n\n.debug-toggle:hover {\n background-color: rgba(0, 0, 0, 0.7);\n}\n\n/* Stats panel */\n.stats-panel {\n background: rgba(0, 0, 0, 0.7);\n color: white;\n padding: 12px;\n border-radius: 8px;\n font-family: monospace;\n font-size: 14px;\n max-width: 100%;\n overflow: hidden;\n}\n\n.stats-panel h3 {\n margin: 0 0 8px 0;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.stats-panel table {\n width: 100%;\n border-collapse: collapse;\n table-layout: fixed;\n}\n\n.stats-panel tr {\n border-bottom: 1px solid rgba(255, 255, 255, 0.2);\n}\n\n.stats-panel tr:last-child {\n border-bottom: none;\n}\n\n.stats-panel td {\n padding: 4px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.stats-panel td:first-child {\n opacity: 0.7;\n width: 60%;\n}\n\n.stats-panel td:last-child {\n text-align: right;\n font-weight: 600;\n width: 40%;\n}\n\n.stats-panel p {\n margin: 0;\n opacity: 0.7;\n}\n\n/* Logs panel */\n.logs-list {\n width: 100%;\n height: 100%;\n overflow: auto;\n margin: 0;\n padding: 0;\n}\n\n.logs-list li {\n margin: 0 0 24px 0;\n list-style: none;\n}\n\n.logs-list h3 {\n font-size: 16px;\n font-weight: 500;\n margin: 0;\n}\n\n.logs-list .ws {\n color: darkolivegreen;\n}\n\n.logs-list .webrtc {\n color: darkmagenta;\n}\n\n.logs-list .rollback {\n color: darkblue;\n}\n\n.logs-list .local {\n color: #333;\n}\n\n.logs-list .content {\n font-size: 16px;\n}\n\n.logs-list p {\n margin: 4px 0;\n}\n\n.logs-list pre {\n margin: 0;\n white-space: pre-wrap;\n word-break: break-word;\n background-color: oldlace;\n padding: 8px;\n border-radius: 4px;\n border: 1px inset lavender;\n}\n`;\n",
|
|
26
|
+
"import { type ComponentChild, render } from \"preact\";\nimport { Root } from \"./components/Root.tsx\";\nimport { type DebugState, cycleLayout, debugState } from \"./state.ts\";\nimport { styles } from \"./styles.ts\";\n\nexport type DebugUiOptions = {\n /** Hotkey to toggle debug mode (default: 'Escape') */\n hotkey?: string;\n /** Initial debug visibility (default: false, or true if ?debug in URL) */\n initiallyVisible?: boolean;\n /** Container element to mount to (default: document.body) */\n container?: HTMLElement;\n};\n\nexport class DebugUi {\n #host: HTMLElement;\n #shadow: ShadowRoot;\n #canvas: HTMLCanvasElement;\n #mountPoint: HTMLElement;\n #cleanup: (() => void) | null = null;\n #hotkey: string;\n\n constructor(options: DebugUiOptions = {}) {\n this.#hotkey = options.hotkey ?? \"Escape\";\n const container = options.container ?? document.body;\n const initiallyVisible =\n options.initiallyVisible ??\n new URLSearchParams(window.location.search).has(\"debug\");\n\n // Create host element\n this.#host = document.createElement(\"bloop-debug-ui\");\n this.#host.style.cssText =\n \"display:block;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;overscroll-behavior:none;\";\n\n // Attach shadow DOM\n this.#shadow = this.#host.attachShadow({ mode: \"open\" });\n\n // Inject styles\n const styleEl = document.createElement(\"style\");\n styleEl.textContent = styles;\n this.#shadow.appendChild(styleEl);\n\n // Create mount point\n this.#mountPoint = document.createElement(\"div\");\n this.#mountPoint.id = \"debug-root\";\n this.#mountPoint.style.cssText = \"width:100%;height:100%;\";\n this.#shadow.appendChild(this.#mountPoint);\n\n // Initialize state\n debugState.layoutMode.value = initiallyVisible ? \"letterboxed\" : \"off\";\n\n // Create canvas element (game renders here)\n this.#canvas = document.createElement(\"canvas\");\n\n // Render Preact app\n this.#render();\n\n // Append to container\n container.appendChild(this.#host);\n\n // Set up hotkey listener\n this.#cleanup = this.#setupHotkey();\n\n // Re-render when layoutMode changes\n debugState.layoutMode.subscribe(() => {\n this.#render();\n });\n }\n\n #render(): void {\n render(\n Root({ canvas: this.#canvas, hotkey: this.#hotkey }) as ComponentChild,\n this.#mountPoint,\n );\n }\n\n #setupHotkey(): () => void {\n const handler = (e: KeyboardEvent) => {\n if (e.key === this.#hotkey) {\n cycleLayout();\n }\n };\n window.addEventListener(\"keydown\", handler);\n return () => window.removeEventListener(\"keydown\", handler);\n }\n\n /** The canvas element for game rendering */\n get canvas(): HTMLCanvasElement {\n return this.#canvas;\n }\n\n /** Access to state signals for external updates */\n get state(): DebugState {\n return debugState;\n }\n\n /** Whether the debug panel is currently visible */\n get isVisible(): boolean {\n return debugState.isVisible.value;\n }\n\n set isVisible(value: boolean) {\n debugState.layoutMode.value = value ? \"letterboxed\" : \"off\";\n }\n\n unmount(): void {\n this.#cleanup?.();\n render(null, this.#mountPoint);\n this.#host.remove();\n }\n}\n",
|
|
27
|
+
"import { type Bloop, type MountOpts, mount, type Sim } from \"@bloopjs/bloop\";\nimport type { Key } from \"@bloopjs/engine\";\nimport { mouseButtonCodeToMouseButton } from \"@bloopjs/engine\";\nimport {\n joinRoom as joinRoomInternal,\n type RoomEvents,\n} from \"./netcode/broker\";\nimport { logger } from \"./netcode/logs.ts\";\nimport { DebugUi, type DebugUiOptions } from \"./debugui/mod.ts\";\nimport { debugState } from \"./debugui/state.ts\";\n\nexport type StartOptions = {\n /** A bloop game instance */\n game: Bloop<any>;\n /** A pre-mounted sim instance, defaults to mount with default options */\n sim?: Sim;\n /** An override url to use to fetch the engine wasm */\n engineWasmUrl?: URL;\n /** Whether the sim should pause before running the first frame, defaults to false */\n startPaused?: boolean;\n /** Whether the sim should be recording to tape from initialization, defaults to true */\n startRecording?: boolean;\n /** URL for the WebRTC signaling broker (e.g. \"wss://broker.example.com/ws\") */\n brokerUrl?: string;\n /** Enable debug UI with optional configuration */\n debugUi?: boolean | DebugUiOptions;\n};\n\nconst DEFAULT_BROKER_URL = \"wss://webrtc-divine-glade-8064.fly.dev/ws\";\n\n/** Start a bloop game on the web */\nexport async function start(opts: StartOptions): Promise<App> {\n if (!opts.sim) {\n const { sim } = await mount({\n hooks: opts.game.hooks,\n startRecording: opts.startRecording ?? true,\n wasmUrl: opts.engineWasmUrl,\n });\n opts.sim = sim;\n }\n\n const debugOpts = opts.debugUi\n ? typeof opts.debugUi === \"boolean\"\n ? {}\n : opts.debugUi\n : undefined;\n\n const app = new App(\n opts.sim,\n opts.game,\n opts.brokerUrl ?? DEFAULT_BROKER_URL,\n debugOpts,\n );\n\n return app;\n}\n\n/**\n * The main application class for running a bloop game in the browser\n *\n * This class handles translating browser events and APIs to bloopjs and the wasm engine.\n *\n * Usually instantiated with the start() function\n */\nexport class App {\n #sim: Sim;\n game: Bloop<any>;\n /** URL for the WebRTC signaling broker */\n readonly brokerUrl: string;\n /** RequestAnimationFrame handle for cancelling */\n #rafHandle: number | null = null;\n #unsubscribe: UnsubscribeFn | null = null;\n #now: number = performance.now();\n #debugUi: DebugUi | null = null;\n\n constructor(\n sim: Sim,\n game: Bloop<any>,\n brokerUrl: string,\n debugUiOpts?: DebugUiOptions,\n ) {\n this.#sim = sim;\n this.game = game;\n this.brokerUrl = brokerUrl;\n\n if (debugUiOpts) {\n this.#initDebugUi(debugUiOpts);\n }\n\n this.game.hooks.beforeFrame = (frame: number) => {\n logger.frameNumber = this.#sim.time.frame;\n logger.matchFrame = this.game.context.net.matchFrame;\n this.beforeFrame.notify(frame);\n };\n\n this.subscribe();\n }\n\n /** The simulation instance associated with this app */\n get sim(): Sim {\n return this.#sim;\n }\n\n set sim(sim: Sim) {\n this.#sim = sim;\n }\n\n /** Initialize debug UI (creates shadow DOM and mounts Preact) */\n #initDebugUi(opts: DebugUiOptions = {}): DebugUi {\n if (this.#debugUi) return this.#debugUi;\n this.#debugUi = new DebugUi(opts);\n return this.#debugUi;\n }\n\n /** Access debug UI instance */\n get debugUi(): DebugUi | null {\n return this.#debugUi;\n }\n\n /** Get the canvas element from debug UI (for game rendering) */\n get canvas(): HTMLCanvasElement | null {\n return this.#debugUi?.canvas ?? null;\n }\n\n /** Join a multiplayer room via the broker */\n joinRoom(roomId: string, callbacks: RoomEvents): void {\n joinRoomInternal(this.brokerUrl, roomId, callbacks);\n }\n\n /** Event listeners for before a frame is processed */\n beforeFrame: ReturnType<typeof createListener> = createListener<[number]>();\n /** Event listeners for after a frame is processed */\n afterFrame: ReturnType<typeof createListener> = createListener<[number]>();\n\n /** Subscribe to the browser events and start the render loop */\n subscribe(): void {\n const handleKeydown = (event: KeyboardEvent) => {\n this.sim.emit.keydown(event.code as Key);\n };\n window.addEventListener(\"keydown\", handleKeydown);\n\n const handleKeyup = (event: KeyboardEvent) => {\n this.sim.emit.keyup(event.code as Key);\n };\n window.addEventListener(\"keyup\", handleKeyup);\n\n const handleMousemove = (event: MouseEvent) => {\n this.sim.emit.mousemove(event.clientX, event.clientY);\n };\n window.addEventListener(\"mousemove\", handleMousemove);\n\n const handleMousedown = (event: MouseEvent) => {\n this.sim.emit.mousedown(mouseButtonCodeToMouseButton(event.button + 1));\n };\n window.addEventListener(\"mousedown\", handleMousedown);\n\n const handleMouseup = (event: MouseEvent) => {\n this.sim.emit.mouseup(mouseButtonCodeToMouseButton(event.button + 1));\n };\n window.addEventListener(\"mouseup\", handleMouseup);\n\n const handleMousewheel = (event: WheelEvent) => {\n this.sim.emit.mousewheel(event.deltaX, event.deltaY);\n };\n window.addEventListener(\"wheel\", handleMousewheel);\n\n // Touch events for mobile support\n const handleTouchstart = (event: TouchEvent) => {\n const touch = event.touches[0];\n if (touch) {\n this.sim.emit.mousemove(touch.clientX, touch.clientY);\n this.sim.emit.mousedown(\"Left\");\n }\n };\n window.addEventListener(\"touchstart\", handleTouchstart);\n\n const handleTouchend = () => {\n this.sim.emit.mouseup(\"Left\");\n };\n window.addEventListener(\"touchend\", handleTouchend);\n\n const handleTouchmove = (event: TouchEvent) => {\n const touch = event.touches[0];\n if (touch) {\n this.sim.emit.mousemove(touch.clientX, touch.clientY);\n }\n };\n window.addEventListener(\"touchmove\", handleTouchmove);\n\n const playbarHotkeys = (event: KeyboardEvent) => {\n const isPauseHotkey =\n event.key === \"Enter\" && (event.ctrlKey || event.metaKey);\n if (isPauseHotkey || event.key === \"6\") {\n this.sim.isPaused ? this.sim.unpause() : this.sim.pause();\n }\n\n if (this.sim.isPaused) {\n switch (event.key) {\n case \",\":\n case \"5\":\n this.sim.stepBack();\n break;\n case \".\":\n case \"7\":\n this.sim.step();\n break;\n }\n }\n };\n window.addEventListener(\"keydown\", playbarHotkeys);\n\n // FPS calculation\n let fpsFrames = 0;\n let fpsLastTime = performance.now();\n\n const frame = () => {\n const stepStart = performance.now();\n const ticks = this.sim.step(stepStart - this.#now);\n\n // Update debug metrics only when we actually ran simulation\n if (ticks > 0) {\n const stepEnd = performance.now();\n debugState.frameTime.value = stepEnd - stepStart;\n debugState.frameNumber.value = this.sim.time.frame;\n\n // Measure snapshot size when debug UI is visible (letterboxed mode)\n if (debugState.layoutMode.value === \"letterboxed\") {\n const bag = this.game.bag;\n if (bag) {\n debugState.snapshotSize.value = JSON.stringify(bag).length;\n }\n }\n\n // Calculate FPS every second\n fpsFrames++;\n const elapsed = stepEnd - fpsLastTime;\n if (elapsed >= 1000) {\n debugState.fps.value = Math.round((fpsFrames * 1000) / elapsed);\n fpsFrames = 0;\n fpsLastTime = stepEnd;\n }\n }\n\n if (!this.sim.isPaused) {\n try {\n this.afterFrame.notify(this.sim.time.frame);\n } catch (e) {\n console.error(\"Error in afterFrame listeners:\", e);\n }\n }\n this.#now = performance.now();\n this.#rafHandle = requestAnimationFrame(frame);\n };\n frame();\n\n this.#unsubscribe = () => {\n window.removeEventListener(\"keydown\", handleKeydown);\n window.removeEventListener(\"keyup\", handleKeyup);\n window.removeEventListener(\"mousemove\", handleMousemove);\n window.removeEventListener(\"mousedown\", handleMousedown);\n window.removeEventListener(\"mouseup\", handleMouseup);\n window.removeEventListener(\"wheel\", handleMousewheel);\n window.removeEventListener(\"keydown\", playbarHotkeys);\n window.removeEventListener(\"touchstart\", handleTouchstart);\n window.removeEventListener(\"touchend\", handleTouchend);\n window.removeEventListener(\"touchmove\", handleTouchmove);\n if (this.#rafHandle != null) {\n cancelAnimationFrame(this.#rafHandle);\n }\n };\n }\n\n /** Clean up wasm resources and event listeners */\n cleanup(): void {\n this.#unsubscribe?.();\n this.sim.unmount();\n this.beforeFrame.unsubscribeAll();\n this.afterFrame.unsubscribeAll();\n this.#debugUi?.unmount();\n }\n\n /**\n * Accept Hot Module Replacement when running in a vite dev server\n *\n * @example\n *\n * ```ts\n * import.meta.hot?.accept(\"./game\", async (newModule) => {\n * await app.acceptHmr(newModule?.game, {\n * wasmUrl: monorepoWasmUrl,\n * });\n * ```\n */\n async acceptHmr(module: any, opts?: Partial<MountOpts>): Promise<void> {\n const game = (module.game ?? module) as Bloop<any>;\n if (!game.hooks) {\n throw new Error(\n `HMR: missing game.hooks export on module: ${JSON.stringify(module)}`,\n );\n }\n\n // load session from the current sim\n this.sim.pause();\n const { sim } = await mount({\n hooks: game.hooks,\n wasmUrl: new URL(\"/bloop-wasm/bloop.wasm\", window.location.href),\n ...opts,\n });\n sim.cloneSession(this.sim);\n this.sim.unmount();\n this.sim = sim;\n this.game = game;\n }\n}\n\nfunction createListener<T extends any[]>(): {\n subscribe: (callback: (...args: T) => void) => UnsubscribeFn;\n notify: (...args: T) => void;\n unsubscribeAll: UnsubscribeFn;\n} {\n const listeners = new Set<(...args: T) => void>();\n\n const subscribe = (callback: (...args: T) => void): (() => void) => {\n listeners.add(callback);\n\n // Return unsubscribe function\n return () => {\n listeners.delete(callback);\n };\n };\n\n const notify = (...args: T): void => {\n listeners.forEach((callback) => {\n callback(...args);\n });\n };\n\n return {\n subscribe,\n notify,\n unsubscribeAll: () => listeners.clear(),\n };\n}\n\nexport type UnsubscribeFn = () => void;\n",
|
|
25
28
|
"export type PeerId = string;\n\n// TODO: bring the websocket server from neilsarkar/labs into this repo\n\n// Wire format packet types\nexport enum PacketType {\n None = 0,\n Inputs = 1,\n}\n\nexport type BrokerMessage =\n | {\n type: \"welcome\";\n yourId: PeerId;\n peerIds: PeerId[];\n serverId: string;\n }\n | {\n type: \"message:json\";\n peerId: PeerId;\n message: PeerMessage;\n }\n | {\n type: \"message:string\";\n peerId: PeerId;\n message: string;\n }\n | {\n type: \"message:buffer\";\n peerId: PeerId;\n message: ArrayBuffer;\n }\n | {\n type: \"peer:connect\";\n peerId: PeerId;\n }\n | {\n type: \"peer:disconnect\";\n peerId: PeerId;\n };\n\nexport type PeerMessage =\n | {\n type: \"offer\";\n target: string;\n payload: string;\n }\n | {\n type: \"answer\";\n target: string;\n payload: string;\n }\n | {\n type: \"message\";\n payload: any;\n };\n",
|
|
26
29
|
"import type { App } from \"../App.ts\";\nimport * as Debug from \"../debugui/mod.ts\";\nimport { logger } from \"./logs.ts\";\n\nexport type JoinRollbackRoomOptions = {\n /** Called when session becomes active */\n onSessionStart?: () => void;\n /** Called when session ends */\n onSessionEnd?: () => void;\n};\n\n/**\n * Join a rollback netcode room and wire up packet processing.\n * This is a scaffold/stopgap - not the final architecture.\n */\nexport function joinRollbackRoom(\n roomId: string,\n app: App,\n opts?: JoinRollbackRoomOptions,\n): void {\n // State\n let udp: RTCDataChannel | null = null;\n let sessionActive = false;\n let localPeerId: number | null = null;\n let remotePeerId: number | null = null;\n let localStringPeerId: string | null = null;\n let remoteStringPeerId: string | null = null;\n const incomingPackets: Uint8Array[] = [];\n\n function assignPeerIds(\n localId: string,\n remoteId: string,\n ): { local: number; remote: number } {\n if (localId < remoteId) {\n return { local: 0, remote: 1 };\n } else {\n return { local: 1, remote: 0 };\n }\n }\n\n function receivePackets() {\n for (const packetData of incomingPackets) {\n app.sim.net.receivePacket(packetData);\n\n if (remotePeerId == null) {\n return;\n }\n\n const peerState = app.sim.net.getPeerState(remotePeerId);\n Debug.updatePeer(remoteStringPeerId!, {\n ack: peerState.ack,\n seq: peerState.seq,\n lastPacketTime: performance.now(),\n });\n }\n incomingPackets.length = 0;\n }\n\n function sendPacket() {\n if (!udp || remotePeerId === null) {\n console.warn(\"[netcode] Cannot send packet, udp or remotePeerId is null\");\n return;\n }\n\n if (udp.readyState !== \"open\") {\n console.warn(\n \"[netcode] Data channel not open, cannot send packet. readyState=\",\n udp.readyState,\n );\n return;\n }\n\n const packet = app.sim.net.getOutboundPacket(remotePeerId);\n\n if (!packet) {\n console.warn(\"[netcode] No packet to send\");\n return;\n }\n\n udp.send(packet);\n }\n\n // Wire up logger to debug state\n logger.onLog = (log) => {\n Debug.addLog(log);\n };\n\n app.joinRoom(roomId, {\n onPeerIdAssign: (peerId) => {\n console.log(`Assigned peer ID: ${peerId}`);\n localStringPeerId = peerId;\n },\n onBrokerMessage: (_message) => {},\n onMessage(_peerId, data, _reliable) {\n incomingPackets.push(new Uint8Array(data));\n },\n onDataChannelClose(peerId, reliable) {\n console.log(`Data channel closed: ${peerId} (reliable: ${reliable})`);\n if (!reliable && remotePeerId !== null) {\n app.sim.net.disconnectPeer(remotePeerId);\n sessionActive = false;\n opts?.onSessionEnd?.();\n }\n },\n onDataChannelOpen(peerId, reliable, channel) {\n console.log(`Data channel opened: ${peerId} (reliable: ${reliable})`);\n if (!reliable) {\n udp = channel;\n\n if (localStringPeerId === null) {\n console.error(\"[netcode] Local peer ID not assigned yet!\");\n return;\n }\n\n const ids = assignPeerIds(localStringPeerId, peerId);\n localPeerId = ids.local;\n Debug.setLocalId(localPeerId);\n remotePeerId = ids.remote;\n remoteStringPeerId = peerId;\n Debug.setRemoteId(remotePeerId);\n\n // Initialize the session in the engine (2 players)\n app.sim.sessionInit(2);\n\n // Set up local and remote peers in net state\n app.sim.net.setLocalPeer(localPeerId);\n app.sim.net.connectPeer(remotePeerId);\n\n sessionActive = true;\n console.log(`[netcode] Session started at frame ${app.sim.time.frame}`);\n opts?.onSessionStart?.();\n }\n },\n onPeerConnected(peerId) {\n Debug.addPeer({\n id: peerId,\n nickname: peerId.substring(0, 6),\n ack: -1,\n seq: -1,\n lastPacketTime: performance.now(),\n });\n console.log(\n `[netcode] Peer connected: ${peerId}. Total peers: ${Debug.debugState.netStatus.value.peers.length}`,\n );\n },\n onPeerDisconnected(peerId) {\n Debug.removePeer(peerId);\n if (remotePeerId !== null && peerId === remoteStringPeerId) {\n app.sim.net.disconnectPeer(remotePeerId);\n sessionActive = false;\n opts?.onSessionEnd?.();\n }\n },\n });\n\n // Process packets and send our state each frame\n app.beforeFrame.subscribe((_frame) => {\n if (!sessionActive || !udp || remotePeerId === null) {\n return;\n }\n\n try {\n receivePackets();\n sendPacket();\n } catch (e) {\n console.error(\"Error in beforeFrame:\", e);\n }\n });\n}\n"
|
|
27
30
|
],
|
|
28
|
-
"mappings": "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E,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,EAE3B,SAAS,CAAC,MAAM;AAAA,IACd,IAAI;AAAA,IACJ,IAAI,KAAK,WAAW,IAAI,IAAI,GAAG;AAAA,MAC7B,QAAQ,KAAK,WAAW,IAAI,IAAI;AAAA,IAClC,EAAO;AAAA,MACL,QAAQ,EAAE,MAAM,OAAO,MAAM,OAAO,IAAI,MAAM;AAAA,MAC9C,KAAK,WAAW,IAAI,MAAM,KAAK;AAAA;AAAA,IAEjC,MAAM,OAAO,CAAC,EAAE,KAAK,UAAU,SAAS,IAAI,IAAI;AAAA,IAChD,MAAM,OAAO,MAAM,QAAQ,EAAE,KAAK,UAAU,SAAS,IAAI,IAAI;AAAA,IAC7D,MAAM,KAAK,CAAC,MAAM,QAAQ,CAAC,EAAE,KAAK,UAAU,SAAS,IAAI,IAAI;AAAA,IAC7D,OAAO;AAAA;AAEX;AAAA;AAEA,MAAM,YAAY;AAAA,EAChB;AAAA,EACA,WAAW,CAAC,UAAU;AAAA,IACpB,KAAK,WAAW;AAAA;AAAA,MAEd,KAAK,GAAG;AAAA,IACV,IAAI,CAAC,KAAK,UAAU;AAAA,MAClB,MAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAAA,IACA,OAAO,KAAK,SAAS,UAAU,GAAG,IAAI;AAAA;AAAA,MAEpC,EAAE,GAAG;AAAA,IACP,IAAI,CAAC,KAAK,UAAU;AAAA,MAClB,MAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAAA,IACA,OAAO,KAAK,SAAS,UAAU,GAAG,IAAI,IAAI;AAAA;AAAA,MAExC,IAAI,GAAG;AAAA,IACT,IAAI,CAAC,KAAK,UAAU;AAAA,MAClB,MAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAAA,IACA,OAAO,KAAK,SAAS,UAAU,GAAG,IAAI,IAAI;AAAA;AAE9C;AAAA;AAEA,MAAM,WAAW;AAAA,EACf;AAAA,EACA,WAAW,CAAC,UAAU;AAAA,IACpB,KAAK,WAAW;AAAA;AAAA,MAEd,SAAS,GAAG;AAAA,IACd,IAAI,CAAC,KAAK,UAAU;AAAA,MAClB,MAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AAAA,IACA,OAAO,KAAK,SAAS,SAAS,CAAC;AAAA;AAAA,MAE7B,WAAW,GAAG;AAAA,IAChB,OAAO,KAAK,YAAY;AAAA;AAAA,MAEtB,UAAU,GAAG;AAAA,IACf,IAAI,CAAC,KAAK,UAAU;AAAA,MAClB,MAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AAAA,IACA,OAAO,KAAK,SAAS,UAAU,GAAG,IAAI;AAAA;AAE1C;AACA,IAAI,mBAAmB,IAAI,IAAI,sBAAsB,YAAY,GAAG;AACpE,IAAI,kBAAkB;AACtB,IAAI,mBAAmB,kBAAkB;AACzC,IAAI,gBAAgB,mBAAmB;AACvC,IAAI,iBAAiB,gBAAgB;AACrC,IAAI,sBAAsB;AAC1B,IAAI,kCAAkC;AACtC,IAAI,oCAAoC;AAAA;AAExC,MAAM,IAAI;AAAA,EACR;AAAA,EACA;AAAA,EACA,WAAW,CAAC,MAAM,QAAQ;AAAA,IACxB,KAAK,QAAQ;AAAA,IACb,KAAK,UAAU;AAAA;AAAA,EAEjB,YAAY,CAAC,QAAQ;AAAA,IACnB,KAAK,MAAM,uBAAuB,MAAM;AAAA;AAAA,EAE1C,WAAW,CAAC,QAAQ;AAAA,IAClB,KAAK,MAAM,qBAAqB,MAAM;AAAA;AAAA,EAExC,cAAc,CAAC,QAAQ;AAAA,IACrB,KAAK,MAAM,wBAAwB,MAAM;AAAA;AAAA,EAE3C,iBAAiB,CAAC,YAAY;AAAA,IAC5B,KAAK,MAAM,sBAAsB,UAAU;AAAA,IAC3C,MAAM,MAAM,KAAK,MAAM,wBAAwB;AAAA,IAC/C,IAAI,QAAQ,GAAG;AAAA,MACb,OAAO;AAAA,IACT;AAAA,IACA,MAAM,MAAM,KAAK,MAAM,oBAAoB;AAAA,IAC3C,OAAO,MAAM,GAAG,oCAAoC,KAAK;AAAA,IACzD,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,QAAQ,KAAK,GAAG;AAAA,IAC/D,MAAM,OAAO,IAAI,WAAW,GAAG;AAAA,IAC/B,KAAK,IAAI,UAAU;AAAA,IACnB,OAAO;AAAA;AAAA,EAET,aAAa,CAAC,MAAM;AAAA,IAClB,IAAI,KAAK,WAAW,GAAG;AAAA,MACrB;AAAA,IACF;AAAA,IACA,MAAM,MAAM,KAAK,MAAM,MAAM,KAAK,UAAU;AAAA,IAC5C,OAAO,MAAM,GAAG,sBAAsB,KAAK,sCAAsC;AAAA,IACjF,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,QAAQ,KAAK,KAAK,UAAU;AAAA,IAC3E,WAAW,IAAI,IAAI;AAAA,IACnB,MAAM,SAAS,KAAK,MAAM,eAAe,KAAK,KAAK,UAAU;AAAA,IAC7D,KAAK,MAAM,KAAK,KAAK,KAAK,UAAU;AAAA,IACpC,IAAI,WAAW,GAAG;AAAA,MAChB,MAAM,gBAAgB;AAAA,QACpB,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,MACA,MAAM,IAAI,MAAM,cAAc,WAAW,yBAAyB,QAAQ;AAAA,IAC5E;AAAA;AAAA,EAEF,YAAY,CAAC,MAAM;AAAA,IACjB,OAAO;AAAA,MACL,KAAK,KAAK,MAAM,aAAa,IAAI;AAAA,MACjC,KAAK,KAAK,MAAM,aAAa,IAAI;AAAA,IACnC;AAAA;AAEJ;AAGA,IAAI,kBAAkB,WAAW;AACjC,IAAI,OAAO,MAAM;AACjB,IAAI,cAAc,OAAO,YAAY,OAAO,KAAK,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;AAC3F,SAAS,WAAW,GAAG;AAAA,EACrB,WAAW,UAAU;AAAA;AAEvB,SAAS,aAAa,GAAG;AAAA,EACvB,WAAW,UAAU;AAAA;AAAA;AAGvB,MAAM,IAAI;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,WAAW,CAAC,MAAM,QAAQ,MAAM;AAAA,IAC9B,KAAK,OAAO;AAAA,IACZ,KAAK,UAAU;AAAA,IACf,KAAK,QAAQ,IAAI,YAAY,IAAI,SAAS,KAAK,QAAQ,QAAQ,KAAK,KAAK,aAAa,CAAC,CAAC;AAAA,IACxF,KAAK,KAAK,GAAG,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAAA,IAC3C,KAAK,aAAa,MAAM;AAAA,IACxB,KAAK,MAAM,IAAI,IAAI,MAAM,MAAM;AAAA;AAAA,EAEjC,IAAI,CAAC,IAAI;AAAA,IACP,IAAI,KAAK,aAAa,CAAC,KAAK,aAAa;AAAA,MACvC,OAAO;AAAA,IACT;AAAA,IACA,OAAO,KAAK,KAAK,KAAK,MAAM,EAAE;AAAA;AAAA,EAEhC,IAAI,GAAG;AAAA,IACL,KAAK,KAAK,KAAK;AAAA;AAAA,EAEjB,YAAY,CAAC,QAAQ;AAAA,IACnB,KAAK,SAAS,OAAO,SAAS,CAAC;AAAA,IAC/B,KAAK,QAAQ,OAAO,SAAS,CAAC;AAAA;AAAA,EAEhC,KAAK,GAAG;AAAA,IACN,KAAK,YAAY;AAAA;AAAA,EAEnB,OAAO,GAAG;AAAA,IACR,KAAK,YAAY;AAAA;AAAA,MAEf,QAAQ,GAAG;AAAA,IACb,OAAO,KAAK;AAAA;AAAA,EAEd,QAAQ,GAAG;AAAA,IACT,IAAI,KAAK,KAAK,UAAU,GAAG;AAAA,MACzB;AAAA,IACF;AAAA,IACA,KAAK,KAAK,KAAK,KAAK,QAAQ,CAAC;AAAA;AAAA,EAE/B,IAAI,CAAC,OAAO,WAAW;AAAA,IACrB,OAAO,KAAK,YAAY,oDAAoD;AAAA,IAC5E,MAAM,cAAc,YAAY,QAAQ,IAAI;AAAA,IAC5C,MAAM,aAAa,QAAQ,KAAK,KAAK;AAAA,IACrC,IAAI,YAAY;AAAA,MACd,YAAY;AAAA,IACd;AAAA,IACA,KAAK,KAAK,KAAK,WAAW;AAAA,IAC1B,IAAI,YAAY;AAAA,MACd,cAAc;AAAA,IAChB;AAAA;AAAA,EAEF,QAAQ,GAAG;AAAA,IACT,MAAM,aAAa,KAAK,aAAa,KAAK,WAAW,IAAI;AAAA,IACzD,MAAM,OAAO,aAAa,WAAW,OAAO;AAAA,IAC5C,MAAM,MAAM,KAAK,KAAK,cAAc,IAAI;AAAA,IACxC,MAAM,SAAS,IAAI,YAAY,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,IAC1D,MAAM,eAAe,kCAAkC,YAAY;AAAA,IACnE,MAAM,iBAAiB,oCAAoC,YAAY;AAAA,IACvE,OAAO,OAAO,eAAe,4BAA4B;AAAA,IACzD,OAAO,OAAO,iBAAiB,8BAA8B;AAAA,IAC7D,MAAM,SAAS,OAAO,gBAAgB,OAAO;AAAA,IAC7C,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,QAAQ,KAAK,MAAM;AAAA,IAClE,MAAM,OAAO,IAAI,WAAW,MAAM;AAAA,IAClC,KAAK,IAAI,UAAU;AAAA,IACnB,OAAO;AAAA;AAAA,EAET,MAAM,CAAC,YAAY,MAAM;AAAA,IACvB,MAAM,aAAa,KAAK,aAAa,KAAK,WAAW,IAAI;AAAA,IACzD,MAAM,OAAO,aAAa,WAAW,OAAO;AAAA,IAC5C,MAAM,SAAS,KAAK,KAAK,gBAAgB,MAAM,SAAS;AAAA,IACxD,IAAI,WAAW,GAAG;AAAA,MAChB,MAAM,IAAI,MAAM,yCAAyC,QAAQ;AAAA,IACnE;AAAA;AAAA,EAEF,QAAQ,GAAG;AAAA,IACT,MAAM,UAAU,KAAK,KAAK,aAAa;AAAA,IACvC,MAAM,UAAU,KAAK,KAAK,aAAa;AAAA,IACvC,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,QAAQ,SAAS,OAAO;AAAA,IACvE,MAAM,OAAO,IAAI,WAAW,OAAO;AAAA,IACnC,KAAK,IAAI,UAAU;AAAA,IACnB,OAAO;AAAA;AAAA,EAET,QAAQ,CAAC,MAAM;AAAA,IACb,MAAM,UAAU,KAAK,KAAK,MAAM,KAAK,UAAU;AAAA,IAC/C,OAAO,UAAU,GAAG,sBAAsB,KAAK,2CAA2C,SAAS;AAAA,IACnG,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,QAAQ,SAAS,KAAK,UAAU;AAAA,IAC/E,WAAW,IAAI,IAAI;AAAA,IACnB,KAAK,KAAK,eAAe;AAAA,IACzB,MAAM,SAAS,KAAK,KAAK,UAAU,SAAS,KAAK,UAAU;AAAA,IAC3D,OAAO,WAAW,GAAG,mCAAmC,QAAQ;AAAA,IAChE,KAAK,KAAK,KAAK,SAAS,KAAK,UAAU;AAAA;AAAA,EAEzC,OAAO,CAAC,UAAU;AAAA,IAChB,MAAM,UAAU,KAAK,KAAK,MAAM,SAAS,UAAU;AAAA,IACnD,OAAO,UAAU,GAAG,sBAAsB,SAAS,kDAAkD,SAAS;AAAA,IAC9G,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,QAAQ,SAAS,SAAS,UAAU;AAAA,IACnF,WAAW,IAAI,QAAQ;AAAA,IACvB,KAAK,KAAK,QAAQ,OAAO;AAAA,IACzB,KAAK,KAAK,KAAK,SAAS,SAAS,UAAU;AAAA;AAAA,EAE7C,OAAO,GAAG;AAAA,IACR,KAAK,KAAK,OAAO;AAAA;AAAA,MAEf,IAAI,GAAG;AAAA,IACT,IAAI,CAAC,KAAK,MAAM,YAAY,KAAK,MAAM,SAAS,WAAW,KAAK,QAAQ,QAAQ;AAAA,MAC9E,KAAK,MAAM,WAAW,IAAI,SAAS,KAAK,QAAQ,QAAQ,KAAK,KAAK,aAAa,CAAC;AAAA,IAClF;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,MAEV,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,QAAQ;AAAA;AAAA,MAElB,WAAW,GAAG;AAAA,IAChB,OAAO,QAAQ,KAAK,KAAK,aAAa,CAAC;AAAA;AAAA,MAErC,WAAW,GAAG;AAAA,IAChB,OAAO,QAAQ,KAAK,KAAK,aAAa,CAAC;AAAA;AAAA,MAErC,UAAU,GAAG;AAAA,IACf,OAAO,KAAK,eAAe,KAAK;AAAA;AAAA,EAElC,OAAO;AAAA,IACL,SAAS,CAAC,KAAK,SAAS,MAAM;AAAA,MAC5B,KAAK,KAAK,aAAa,aAAa,GAAG,GAAG,MAAM;AAAA;AAAA,IAElD,OAAO,CAAC,KAAK,SAAS,MAAM;AAAA,MAC1B,KAAK,KAAK,WAAW,aAAa,GAAG,GAAG,MAAM;AAAA;AAAA,IAEhD,WAAW,CAAC,GAAG,GAAG,SAAS,MAAM;AAAA,MAC/B,KAAK,KAAK,eAAe,GAAG,GAAG,MAAM;AAAA;AAAA,IAEvC,WAAW,CAAC,QAAQ,SAAS,MAAM;AAAA,MACjC,KAAK,KAAK,eAAe,6BAA6B,MAAM,GAAG,MAAM;AAAA;AAAA,IAEvE,SAAS,CAAC,QAAQ,SAAS,MAAM;AAAA,MAC/B,KAAK,KAAK,aAAa,6BAA6B,MAAM,GAAG,MAAM;AAAA;AAAA,IAErE,YAAY,CAAC,GAAG,GAAG,SAAS,MAAM;AAAA,MAChC,KAAK,KAAK,gBAAgB,GAAG,GAAG,MAAM;AAAA;AAAA,EAE1C;AAAA,EACA,WAAW,CAAC,WAAW;AAAA,IACrB,MAAM,aAAa,KAAK,aAAa,KAAK,WAAW,IAAI;AAAA,IACzD,MAAM,OAAO,aAAa,WAAW,OAAO;AAAA,IAC5C,MAAM,SAAS,KAAK,KAAK,aAAa,WAAW,IAAI;AAAA,IACrD,OAAO,WAAW,GAAG,4CAA4C,QAAQ;AAAA;AAAA,EAE3E,UAAU,GAAG;AAAA,IACX,KAAK,KAAK,YAAY;AAAA;AAAA,EAExB,UAAU,CAAC,MAAM,YAAY,QAAQ;AAAA,IACnC,IAAI,OAAO,WAAW,GAAG;AAAA,MACvB,KAAK,KAAK,oBAAoB,MAAM,YAAY,GAAG,CAAC;AAAA,MACpD;AAAA,IACF;AAAA,IACA,MAAM,MAAM,KAAK,KAAK,MAAM,OAAO,UAAU;AAAA,IAC7C,OAAO,MAAM,GAAG,sBAAsB,OAAO,6BAA6B;AAAA,IAC1E,MAAM,aAAa,IAAI,WAAW,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IACrE,WAAW,IAAI,MAAM;AAAA,IACrB,MAAM,aAAa,OAAO,aAAa;AAAA,IACvC,KAAK,KAAK,oBAAoB,MAAM,YAAY,KAAK,UAAU;AAAA,IAC/D,KAAK,KAAK,KAAK,KAAK,OAAO,UAAU;AAAA;AAEzC;AAGA,eAAe,KAAK,CAAC,MAAM,SAAS;AAAA,EAClC,MAAM,UAAU,SAAS,WAAW,KAAK,WAAW;AAAA,EACpD,MAAM,iBAAiB,SAAS,kBAAkB,KAAK,kBAAkB;AAAA,EACzE,MAAM,YAAY,mBAAmB,SAAS,IAAI;AAAA,EAClD,MAAM,QAAQ,MAAM,MAAM,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM;AAAA,IAC/E,QAAQ,MAAM,2BAA2B,WAAW,CAAC;AAAA,IACrD,MAAM;AAAA,GACP;AAAA,EACD,MAAM,SAAS,IAAI,YAAY,OAAO,EAAE,SAAS,KAAK,SAAS,KAAK,CAAC;AAAA,EACrE,IAAI;AAAA,EACJ,MAAM,yBAAyB,MAAM,YAAY,YAAY,OAAO;AAAA,IAClE,KAAK;AAAA,MACH;AAAA,MACA,WAAW,QAAQ,CAAC,eAAe,KAAK;AAAA,QACtC,KAAK,MAAM,UAAU,OAAO,MAAM;AAAA,QAClC,KAAK,MAAM,gBAAgB,eAAe,GAAG;AAAA;AAAA,MAE/C,gBAAgB,QAAQ,CAAC,KAAK,OAAO;AAAA,QACnC,IAAI;AAAA,UACF,KAAK,MAAM,UAAU,OAAO,MAAM;AAAA,UAClC,KAAK,MAAM,WAAW,GAAG;AAAA,UACzB,KAAK,MAAM,cAAc,KAAK;AAAA,UAC9B,OAAO,GAAG;AAAA,UACV,QAAQ,MAAM,8BAA8B,CAAC;AAAA;AAAA;AAAA,MAGjD,gBAAgB,QAAQ,CAAC,SAAS;AAAA,QAChC,IAAI,CAAC,KAAK;AAAA,UACR,MAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAAA,QACA,MAAM,YAAY,IAAI,SAAS;AAAA,QAC/B,IAAI,IAAI,YAAY;AAAA,UAClB,IAAI,WAAW,SAAS;AAAA,QAC1B,EAAO;AAAA,UACL,MAAM,OAAO,UAAU,SAAS;AAAA,UAChC,MAAM,WAAW,IAAI,KAAK;AAAA,UAC1B,MAAM,cAAc,OAAO;AAAA,UAC3B,QAAQ,KAAK,gCAAgC;AAAA,YAC3C,MAAM,IAAI,UAAU,SAAS,MAAM,QAAQ,CAAC;AAAA,YAC5C,UAAU,GAAG,IAAI,KAAK,KAAK,QAAQ,CAAC;AAAA,YACpC,aAAa,GAAG,YAAY,QAAQ,CAAC;AAAA,UACvC,CAAC;AAAA;AAAA;AAAA,MAGL,aAAa,QAAQ,CAAC,KAAK,KAAK;AAAA,QAC9B,MAAM,SAAS,IAAI,WAAW,OAAO,QAAQ,KAAK,GAAG;AAAA,QACrD,MAAM,SAAS,IAAI,YAAY,OAAO,EAAE,OAAO,MAAM;AAAA,QACrD,QAAQ,IAAI,MAAM;AAAA;AAAA,MAEpB,iBAAiB,QAAQ,GAAG;AAAA,QAC1B,MAAM,aAAa,KAAK,MAAM,UAAU;AAAA,QACxC,OAAO,aAAa,WAAW,OAAO;AAAA;AAAA,MAExC,qBAAqB,QAAQ,CAAC,KAAK,KAAK;AAAA,QACtC,MAAM,aAAa,KAAK,MAAM,UAAU;AAAA,QACxC,OAAO,QAAQ,WAAW,MAAM,iDAAiD,WAAW,YAAY,KAAK;AAAA,QAC7G,WAAW,MAAM,OAAO,QAAQ,GAAG;AAAA;AAAA,MAErC,uBAAuB,QAAQ,CAAC,KAAK,KAAK;AAAA,QACxC,KAAK,MAAM,YAAY,OAAO,QAAQ,KAAK,GAAG;AAAA;AAAA,IAElD;AAAA,EACF,CAAC;AAAA,EACD,MAAM,OAAO,uBAAuB,SAAS;AAAA,EAC7C,MAAM,gBAAgB,KAAK,WAAW;AAAA,EACtC,MAAM,IAAI,IAAI,MAAM,QAAQ;AAAA,IAC1B,WAAW,KAAK,MAAM;AAAA,EACxB,CAAC;AAAA,EACD,IAAI,gBAAgB;AAAA,IAClB,IAAI,OAAO,SAAS;AAAA,EACtB;AAAA,EACA,KAAK,MAAM,UAAU,OAAO,MAAM;AAAA,EAClC,KAAK,MAAM,WAAW,aAAa;AAAA,EACnC,OAAO;AAAA,IACL;AAAA,EACF;AAAA;AAEF,SAAS,kBAAkB,CAAC,MAAM;AAAA,EAChC,IAAI,CAAC;AAAA,IACH,OAAO;AAAA,EACT,IAAI,eAAe,MAAM;AAAA,IACvB,OAAO,KAAK;AAAA,EACd;AAAA,EACA,MAAM,YAAY,KAAK,yBAAyB;AAAA,EAChD,OAAO,KAAK,KAAK,KAAK,WAAW,KAAK,SAAS;AAAA;AAAA;AAGjD,MAAM,MAAM;AAAA,EACV,WAAW,CAAC;AAAA,EACZ;AAAA,EACA,gBAAgB,IAAI,YAAY,CAAC;AAAA,SAC1B,MAAM,CAAC,OAAO,CAAC,GAAG;AAAA,IACvB,OAAO,IAAI,MAAM,MAAM,oBAAoB;AAAA;AAAA,EAE7C,WAAW,CAAC,OAAO,CAAC,GAAG,oBAAoB;AAAA,IACzC,IAAI,uBAAuB,sBAAsB;AAAA,MAC/C,MAAM,IAAI,MAAM,iFAAiF;AAAA,IACnG;AAAA,IACA,MAAM,SAAS,IAAI;AAAA,IACnB,KAAK,WAAW;AAAA,MACd,KAAK,KAAK,OAAO,CAAC;AAAA,MAClB,MAAM,IAAI;AAAA,MACV;AAAA,UACI,OAAO,GAAG;AAAA,QACZ,OAAO,OAAO;AAAA;AAAA,MAEhB,YAAY;AAAA,MACZ,KAAK,IAAI;AAAA,IACX;AAAA;AAAA,MAEE,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,SAAS;AAAA;AAAA,MAEnB,OAAO,GAAG;AAAA,IACZ,OAAO,KAAK;AAAA;AAAA,EAEd,MAAM,CAAC,OAAO,QAAQ;AAAA,IACpB,OAAO,UAAU;AAAA,IACjB,KAAK,SAAS,KAAK,MAAM;AAAA,IACzB,OAAO,KAAK,SAAS;AAAA;AAAA,EAEvB,QAAQ;AAAA,IACN,WAAW,MAAM;AAAA,MACf,MAAM,MAAM,KAAK,UAAU,KAAK,SAAS,GAAG;AAAA,MAC5C,MAAM,UAAU,IAAI;AAAA,MACpB,MAAM,YAAY,QAAQ,OAAO,GAAG;AAAA,MACpC,OAAO;AAAA,QACL,MAAM,UAAU;AAAA,QAChB,OAAO,CAAC,QAAQ,QAAQ;AAAA,UACtB,MAAM,aAAa,IAAI,WAAW,QAAQ,KAAK,UAAU,UAAU;AAAA,UACnE,WAAW,IAAI,SAAS;AAAA;AAAA,MAE5B;AAAA;AAAA,IAEF,aAAa,CAAC,QAAQ,KAAK,QAAQ;AAAA,MACjC,MAAM,WAAW,IAAI,WAAW,QAAQ,KAAK,GAAG;AAAA,MAChD,MAAM,UAAU,IAAI;AAAA,MACpB,MAAM,MAAM,QAAQ,OAAO,QAAQ;AAAA,MACnC,IAAI;AAAA,QACF,KAAK,SAAS,MAAM,KAAK,MAAM,GAAG;AAAA,QAClC,OAAO,GAAG;AAAA,QACV,QAAQ,MAAM,6BAA6B,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;AAAA;AAAA;AAAA,IAGtE,WAAW,CAAC,WAAW;AAAA,MACrB,KAAK,gBAAgB;AAAA;AAAA,IAEvB,YAAY,CAAC,QAAQ;AAAA,MACnB,IAAI,CAAC,KAAK,eAAe;AAAA,QACvB,MAAM,IAAI,MAAM,2CAA2C;AAAA,MAC7D;AAAA,MACA,MAAM,KAAK,IAAI,SAAS,KAAK,eAAe,GAAG;AAAA,MAC/C,MAAM,aAAa,GAAG,UAAU,iBAAiB,IAAI;AAAA,MACrD,MAAM,cAAc,GAAG,UAAU,kBAAkB,IAAI;AAAA,MACvD,MAAM,YAAY,GAAG,UAAU,gBAAgB,IAAI;AAAA,MACnD,KAAK,SAAS,aAAa;AAAA,MAC3B,KAAK,SAAS,OAAO,WAAW,IAAI,SAAS,KAAK,eAAe,WAAW;AAAA,MAC5E,KAAK,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,eAAe,UAAU;AAAA,MACzE,KAAK,SAAS,IAAI,WAAW,IAAI,SAAS,KAAK,eAAe,SAAS;AAAA;AAAA,IAEzE,iBAAiB,CAAC,eAAe,QAAQ;AAAA,MACvC,KAAK,MAAM,WAAW,GAAG;AAAA,MACzB,MAAM,KAAK,IAAI,SAAS,KAAK,eAAe,GAAG;AAAA,MAC/C,MAAM,YAAY,GAAG,UAAU,eAAe,IAAI;AAAA,MAClD,MAAM,iBAAiB,IAAI,SAAS,KAAK,eAAe,SAAS;AAAA,MACjE,WAAW,UAAU,KAAK,UAAU;AAAA,QAClC,OAAO,SAAS,KAAK,QAAQ;AAAA,QAC7B,MAAM,aAAa,eAAe,UAAU,GAAG,IAAI;AAAA,QACnD,IAAI,SAAS;AAAA,QACb,SAAS,IAAI,EAAE,IAAI,YAAY,KAAK;AAAA,UAClC,MAAM,YAAY,eAAe,SAAS,MAAM;AAAA,UAChD,MAAM,cAAc,eAAe,SAAS,SAAS,CAAC;AAAA,UACtD,MAAM,gBAAgB,SAAS;AAAA,UAC/B,MAAM,cAAc,eAAe,SAAS,aAAa;AAAA,UACzD,MAAM,cAAc;AAAA,YAClB,GAAG,eAAe,WAAW,eAAe,IAAI;AAAA,YAChD,GAAG,eAAe,WAAW,gBAAgB,aAAa,mBAAmB,IAAI;AAAA,UACnF;AAAA,UACA,QAAQ;AAAA,iBACD,cAAc,UAAU,SAAS;AAAA,cACpC,OAAO,UAAU,YAAY,KAAK,UAAU;AAAA,gBAC1C,KAAK,aAAa,WAAW;AAAA,cAC/B,CAAC,CAAC;AAAA,cACF;AAAA,YACF;AAAA,iBACK,cAAc,UAAU;AAAA,cAC3B,OAAO,QAAQ,YAAY,KAAK,UAAU;AAAA,gBACxC,KAAK,aAAa,WAAW;AAAA,cAC/B,CAAC,CAAC;AAAA,cACF;AAAA,iBACG,cAAc,UAAU;AAAA,cAC3B,OAAO,YAAY,YAAY,KAAK,UAAU;AAAA,gBAC5C,QAAQ,6BAA6B,WAAW;AAAA,cAClD,CAAC,CAAC;AAAA,cACF;AAAA,iBACG,cAAc,UAAU;AAAA,cAC3B,OAAO,UAAU,YAAY,KAAK,UAAU;AAAA,gBAC1C,QAAQ,6BAA6B,WAAW;AAAA,cAClD,CAAC,CAAC;AAAA,cACF;AAAA,iBACG,cAAc,UAAU;AAAA,cAC3B,OAAO,YAAY,YAAY,KAAK,UAAU;AAAA,gBAC5C,GAAG,YAAY;AAAA,gBACf,GAAG,YAAY;AAAA,cACjB,CAAC,CAAC;AAAA,cACF;AAAA,iBACG,cAAc,UAAU;AAAA,cAC3B,OAAO,aAAa,YAAY,KAAK,UAAU;AAAA,gBAC7C,GAAG,YAAY;AAAA,gBACf,GAAG,YAAY;AAAA,cACjB,CAAC,CAAC;AAAA,cACF;AAAA;AAAA,cAEA,MAAM,IAAI,MAAM,uBAAuB,WAAW;AAAA;AAAA,UAEtD,UAAU;AAAA,QACZ;AAAA,QACA,KAAK,SAAS,QAAQ;AAAA,MACxB;AAAA;AAAA,EAEJ;AACF;AACA,SAAS,WAAW,CAAC,SAAS,OAAO;AAAA,EACnC,QAAQ,QAAQ;AAAA,EAChB,OAAO;AAAA;;;ACnmDT,IAAI,aAAY,OAAO;AACvB,IAAI,YAAW,CAAC,QAAQ,QAAQ;AAAA,EAC9B,SAAS,QAAQ;AAAA,IACf,WAAU,QAAQ,MAAM;AAAA,MACtB,KAAK,IAAI;AAAA,MACT,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,KAAK,CAAC,aAAa,IAAI,QAAQ,MAAM;AAAA,IACvC,CAAC;AAAA;AAIL,IAAI,iBAAgB,CAAC;AACrB,UAAS,gBAAe;AAAA,EACtB,aAAa,MAAM;AAAA,EACnB,KAAK,MAAM;AAAA,EACX,aAAa,MAAM;AAAA,EACnB,WAAW,MAAM;AACnB,CAAC;AACD,IAAI;AAAA,CACH,CAAC,gBAAe;AAAA,EACf,YAAW,YAAW,UAAU,KAAK;AAAA,EACrC,YAAW,YAAW,aAAa,KAAK;AAAA,EACxC,YAAW,YAAW,WAAW,KAAK;AAAA,EACtC,YAAW,YAAW,eAAe,KAAK;AAAA,EAC1C,YAAW,YAAW,eAAe,KAAK;AAAA,EAC1C,YAAW,YAAW,aAAa,KAAK;AAAA,EACxC,YAAW,YAAW,gBAAgB,KAAK;AAAA,EAC3C,YAAW,YAAW,gBAAgB,KAAK;AAAA,GAC1C,eAAc,CAAC,CAAC;AACnB,IAAI;AAAA,CACH,CAAC,kBAAiB;AAAA,EACjB,cAAa,cAAa,UAAU,KAAK;AAAA,EACzC,cAAa,cAAa,UAAU,KAAK;AAAA,EACzC,cAAa,cAAa,YAAY,KAAK;AAAA,EAC3C,cAAa,cAAa,WAAW,KAAK;AAAA,EAC1C,cAAa,cAAa,QAAQ,KAAK;AAAA,EACvC,cAAa,cAAa,QAAQ,KAAK;AAAA,EACvC,cAAa,cAAa,QAAQ,KAAK;AAAA,EACvC,cAAa,cAAa,QAAQ,KAAK;AAAA,EACvC,cAAa,cAAa,QAAQ,KAAK;AAAA,GACtC,iBAAgB,CAAC,CAAC;AACrB,IAAI;AAAA,CACH,CAAC,UAAS;AAAA,EACT,MAAK,MAAK,UAAU,KAAK;AAAA,EACzB,MAAK,MAAK,eAAe,KAAK;AAAA,EAC9B,MAAK,MAAK,eAAe,KAAK;AAAA,EAC9B,MAAK,MAAK,iBAAiB,KAAK;AAAA,EAChC,MAAK,MAAK,kBAAkB,KAAK;AAAA,EACjC,MAAK,MAAK,WAAW,KAAK;AAAA,EAC1B,MAAK,MAAK,YAAY,KAAK;AAAA,EAC3B,MAAK,MAAK,YAAY,KAAK;AAAA,EAC3B,MAAK,MAAK,YAAY,KAAK;AAAA,EAC3B,MAAK,MAAK,YAAY,KAAK;AAAA,EAC3B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,mBAAmB,MAAM;AAAA,EACnC,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,cAAc,MAAM;AAAA,EAC9B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,cAAc,MAAM;AAAA,EAC9B,MAAK,MAAK,iBAAiB,MAAM;AAAA,EACjC,MAAK,MAAK,iBAAiB,MAAM;AAAA,EACjC,MAAK,MAAK,kBAAkB,MAAM;AAAA,EAClC,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,cAAc,MAAM;AAAA,EAC9B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,gBAAgB,MAAM;AAAA,EAChC,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,SAAS,MAAM;AAAA,EACzB,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,cAAc,MAAM;AAAA,EAC9B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,WAAW,MAAM;AAAA,EAC3B,MAAK,MAAK,gBAAgB,MAAM;AAAA,EAChC,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,SAAS,MAAM;AAAA,EACzB,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,UAAU,MAAM;AAAA,EAC1B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,cAAc,MAAM;AAAA,EAC9B,MAAK,MAAK,YAAY,MAAM;AAAA,EAC5B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,gBAAgB,MAAM;AAAA,EAChC,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,aAAa,MAAM;AAAA,EAC7B,MAAK,MAAK,eAAe,MAAM;AAAA,EAC/B,MAAK,MAAK,qBAAqB,MAAM;AAAA,EACrC,MAAK,MAAK,iBAAiB,MAAM;AAAA,EACjC,MAAK,MAAK,sBAAsB,MAAM;AAAA,EACtC,MAAK,MAAK,iBAAiB,MAAM;AAAA,EACjC,MAAK,MAAK,mBAAmB,OAAO;AAAA,EACpC,MAAK,MAAK,kBAAkB,OAAO;AAAA,EACnC,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,gBAAgB,OAAO;AAAA,EACjC,MAAK,MAAK,qBAAqB,OAAO;AAAA,EACtC,MAAK,MAAK,uBAAuB,OAAO;AAAA,EACxC,MAAK,MAAK,wBAAwB,OAAO;AAAA,EACzC,MAAK,MAAK,uBAAuB,OAAO;AAAA,EACxC,MAAK,MAAK,0BAA0B,OAAO;AAAA,EAC3C,MAAK,MAAK,oBAAoB,OAAO;AAAA,EACrC,MAAK,MAAK,qBAAqB,OAAO;AAAA,EACtC,MAAK,MAAK,sBAAsB,OAAO;AAAA,EACvC,MAAK,MAAK,gBAAgB,OAAO;AAAA,EACjC,MAAK,MAAK,oBAAoB,OAAO;AAAA,EACrC,MAAK,MAAK,YAAY,OAAO;AAAA,EAC7B,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,YAAY,OAAO;AAAA,EAC7B,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,gBAAgB,OAAO;AAAA,EACjC,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,sBAAsB,OAAO;AAAA,EACvC,MAAK,MAAK,oBAAoB,OAAO;AAAA,EACrC,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,oBAAoB,OAAO;AAAA,EACrC,MAAK,MAAK,mBAAmB,OAAO;AAAA,EACpC,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,gBAAgB,OAAO;AAAA,EACjC,MAAK,MAAK,gBAAgB,OAAO;AAAA,EACjC,MAAK,MAAK,gBAAgB,OAAO;AAAA,EACjC,MAAK,MAAK,oBAAoB,OAAO;AAAA,EACrC,MAAK,MAAK,iBAAiB,OAAO;AAAA,EAClC,MAAK,MAAK,eAAe,OAAO;AAAA,EAChC,MAAK,MAAK,oBAAoB,OAAO;AAAA,EACrC,MAAK,MAAK,wBAAwB,OAAO;AAAA,EACzC,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,qBAAqB,OAAO;AAAA,EACtC,MAAK,MAAK,qBAAqB,OAAO;AAAA,EACtC,MAAK,MAAK,mBAAmB,OAAO;AAAA,EACpC,MAAK,MAAK,YAAY,OAAO;AAAA,EAC7B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,YAAY,OAAO;AAAA,EAC7B,MAAK,MAAK,aAAa,OAAO;AAAA,EAC9B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,UAAU,OAAO;AAAA,EAC3B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,UAAU,OAAO;AAAA,EAC3B,MAAK,MAAK,UAAU,OAAO;AAAA,EAC3B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,WAAW,OAAO;AAAA,EAC5B,MAAK,MAAK,YAAY,OAAO;AAAA,EAC7B,MAAK,MAAK,UAAU,OAAO;AAAA,EAC3B,MAAK,MAAK,cAAc,OAAO;AAAA,EAC/B,MAAK,MAAK,cAAc,OAAO;AAAA,EAC/B,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,QAAQ,OAAO;AAAA,EACzB,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,EAC1B,MAAK,MAAK,SAAS,OAAO;AAAA,GACzB,SAAQ,CAAC,CAAC;AACb,IAAI;AAAA,CACH,CAAC,kBAAiB;AAAA,EACjB,cAAa,cAAa,UAAU,KAAK;AAAA,EACzC,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,gBAAgB,KAAK;AAAA,EAC/C,cAAa,cAAa,gBAAgB,KAAK;AAAA,EAC/C,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,mBAAmB,KAAK;AAAA,EAClD,cAAa,cAAa,mBAAmB,MAAM;AAAA,EACnD,cAAa,cAAa,mBAAmB,MAAM;AAAA,EACnD,cAAa,cAAa,mBAAmB,MAAM;AAAA,EACnD,cAAa,cAAa,mBAAmB,MAAM;AAAA,EACnD,cAAa,cAAa,oBAAoB,MAAM;AAAA,EACpD,cAAa,cAAa,oBAAoB,MAAM;AAAA,EACpD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,iBAAiB,OAAO;AAAA,EAClD,cAAa,cAAa,kBAAkB,OAAO;AAAA,EACnD,cAAa,cAAa,kBAAkB,OAAO;AAAA,EACnD,cAAa,cAAa,cAAc,OAAO;AAAA,GAC9C,iBAAgB,CAAC,CAAC;AAErB,IAAI,eAAc;AAClB,IAAI,mBAAkB;AAEtB,IAAI,gBAAe;AACnB,IAAI,wBAAuB;AAC3B,IAAI,sBAAqB;AACzB,IAAI,kBAAiB,eAAc;AAYnC,SAAS,6BAA4B,CAAC,MAAM;AAAA,EAC1C,OAAO,aAAY;AAAA;AAUrB,MAAM,oBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAC,UAAU;AAAA,IACpB,KAAK,YAAY;AAAA;AAAA,MAEf,IAAI,GAAG;AAAA,IACT,IAAI,CAAC,KAAK,OAAO;AAAA,MACf,KAAK,QAAQ,IAAI,iBAAgB,IAAI,SAAS,KAAK,UAAU,QAAQ,KAAK,UAAU,aAAa,gBAAe,CAAC;AAAA,IACnH;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,MAEV,KAAK,GAAG;AAAA,IACV,IAAI,CAAC,KAAK,QAAQ;AAAA,MAChB,KAAK,SAAS,IAAI,cAAa,IAAI,SAAS,KAAK,UAAU,QAAQ,KAAK,UAAU,aAAa,aAAY,CAAC;AAAA,IAC9G;AAAA,IACA,OAAO,KAAK;AAAA;AAEhB;AAAA;AAEA,MAAM,cAAa;AAAA,EACjB;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,WAAW,CAAC,UAAU;AAAA,IACpB,IAAI,UAAU;AAAA,MACZ,KAAK,YAAY;AAAA,MACjB,KAAK,cAAc;AAAA,IACrB;AAAA;AAAA,MAEE,QAAQ,GAAG;AAAA,IACb,IAAI,CAAC,KAAK,WAAW;AAAA,MACnB,MAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,MAEV,QAAQ,CAAC,UAAU;AAAA,IACrB,KAAK,YAAY;AAAA,IACjB,KAAK,cAAc;AAAA;AAAA,EAErB,aAAa,GAAG;AAAA,IACd,KAAK,WAAW,CAAC;AAAA,IACjB,SAAS,IAAI,EAAE,IAAI,cAAa,KAAK;AAAA,MACnC,MAAM,eAAe,IAAI;AAAA,MACzB,MAAM,iBAAiB,IAAI,SAAS,KAAK,SAAS,QAAQ,KAAK,SAAS,aAAa,cAAc,mBAAkB;AAAA,MACrH,KAAK,SAAS,KAAK,IAAI,oBAAmB,cAAc,CAAC;AAAA,IAC3D;AAAA;AAAA,MAEE,OAAO,GAAG;AAAA,IACZ,OAAO,KAAK;AAAA;AAAA,MAEV,IAAI,GAAG;AAAA,IACT,IAAI,CAAC,KAAK,SAAS,IAAI;AAAA,MACrB,MAAM,IAAI,MAAM,4CAA4C;AAAA,IAC9D;AAAA,IACA,OAAO,KAAK,SAAS,GAAG;AAAA;AAAA,MAEtB,KAAK,GAAG;AAAA,IACV,IAAI,CAAC,KAAK,SAAS,IAAI;AAAA,MACrB,MAAM,IAAI,MAAM,4CAA4C;AAAA,IAC9D;AAAA,IACA,OAAO,KAAK,SAAS,GAAG;AAAA;AAE5B;AAAA;AAEA,MAAM,cAAa;AAAA,EACjB;AAAA,EACA,gBAAgB,IAAI;AAAA,EACpB,WAAW,CAAC,UAAU;AAAA,IACpB,KAAK,YAAY;AAAA;AAAA,MAEf,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,WAAW,GAAG,IAAI;AAAA;AAAA,MAEtC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,WAAW,GAAG,IAAI;AAAA;AAAA,MAEtC,KAAK,GAAG;AAAA,IACV,OAAO,EAAE,GAAG,KAAK,QAAQ,GAAG,KAAK,OAAO;AAAA;AAAA,MAEtC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,WAAW,GAAG,IAAI;AAAA;AAAA,MAEtC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,WAAW,IAAI,IAAI;AAAA;AAAA,MAEvC,IAAI,GAAG;AAAA,IACT,OAAO,KAAK,aAAa,CAAY;AAAA;AAAA,MAEnC,KAAK,GAAG;AAAA,IACV,OAAO,KAAK,aAAa,CAAa;AAAA;AAAA,MAEpC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,aAAa,CAAc;AAAA;AAAA,EAEzC,YAAY,CAAC,MAAM;AAAA,IACjB,IAAI;AAAA,IACJ,IAAI,KAAK,cAAc,IAAI,IAAI,GAAG;AAAA,MAChC,QAAQ,KAAK,cAAc,IAAI,IAAI;AAAA,IACrC,EAAO;AAAA,MACL,QAAQ,EAAE,MAAM,OAAO,MAAM,OAAO,IAAI,MAAM;AAAA,MAC9C,KAAK,cAAc,IAAI,MAAM,KAAK;AAAA;AAAA,IAEpC,MAAM,SAAS;AAAA,IACf,MAAM,OAAO,CAAC,EAAE,KAAK,UAAU,SAAS,SAAS,IAAI,IAAI;AAAA,IACzD,MAAM,OAAO,MAAM,QAAQ,EAAE,KAAK,UAAU,SAAS,SAAS,IAAI,IAAI;AAAA,IACtE,MAAM,KAAK,CAAC,MAAM,QAAQ,CAAC,EAAE,KAAK,UAAU,SAAS,SAAS,IAAI,IAAI;AAAA,IACtE,OAAO;AAAA;AAEX;AAAA;AAEA,MAAM,iBAAgB;AAAA,EACpB;AAAA,EACA,aAAa,IAAI;AAAA,EACjB,WAAW,CAAC,UAAU;AAAA,IACpB,KAAK,YAAY;AAAA;AAAA,MAEf,KAAK,GAAG;AAAA,IACV,OAAO,KAAK,aAAa,KAAK;AAAA;AAAA,MAE5B,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,WAAW,KAAK;AAAA;AAAA,MAE1B,OAAO,GAAG;AAAA,IACZ,OAAO,KAAK,eAAe,KAAK;AAAA;AAAA,MAE9B,IAAI,GAAG;AAAA,IACT,OAAO,KAAK,YAAY,KAAK;AAAA;AAAA,MAE3B,SAAS,GAAG;AAAA,IACd,OAAO,KAAK,UAAU,CAAiB;AAAA;AAAA,MAErC,SAAS,GAAG;AAAA,IACd,OAAO,KAAK,UAAU,CAAiB;AAAA;AAAA,MAErC,WAAW,GAAG;AAAA,IAChB,OAAO,KAAK,UAAU,CAAmB;AAAA;AAAA,MAEvC,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK,UAAU,CAAoB;AAAA;AAAA,MAExC,KAAK,GAAG;AAAA,IACV,OAAO,KAAK,UAAU,CAAa;AAAA;AAAA,MAEjC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,CAAc;AAAA;AAAA,MAElC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,CAAc;AAAA;AAAA,MAElC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,CAAc;AAAA;AAAA,MAElC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,CAAc;AAAA;AAAA,MAElC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,KAAK,GAAG;AAAA,IACV,OAAO,KAAK,UAAU,EAAc;AAAA;AAAA,MAElC,aAAa,GAAG;AAAA,IAClB,OAAO,KAAK,UAAU,EAAsB;AAAA;AAAA,MAE1C,MAAM,GAAG;AAAA,IACX,OAAO,KAAK,UAAU,EAAe;AAAA;AAAA,MAEnC,OAAO,GAAG;AAAA,IACZ,OAAO,KAAK,UAAU,EAAgB;AAAA;AAAA,MAEpC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,KAAK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R,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,EAErC,SAAS,CAAC,MAAM;AAAA,IACd,IAAI;AAAA,IACJ,IAAI,KAAK,WAAW,IAAI,IAAI,GAAG;AAAA,MAC7B,QAAQ,KAAK,WAAW,IAAI,IAAI;AAAA,IAClC,EAAO;AAAA,MACL,QAAQ,EAAE,MAAM,OAAO,MAAM,OAAO,IAAI,MAAM;AAAA,MAC9C,KAAK,WAAW,IAAI,MAAM,KAAK;AAAA;AAAA,IAEjC,MAAM,OAAO,CAAC,EAAE,KAAK,UAAU,SAAS,IAAI,IAAI;AAAA,IAChD,MAAM,OAAO,MAAM,QAAQ,EAAE,KAAK,UAAU,SAAS,IAAI,IAAI;AAAA,IAC7D,MAAM,KAAK,CAAC,MAAM,QAAQ,CAAC,EAAE,KAAK,UAAU,SAAS,IAAI,IAAI;AAAA,IAC7D,OAAO;AAAA;AAEX;AAkDA,IAAI,oBAAmB,IAAI,IAAI,sBAAsB,YAAY,GAAG;AACpE,IAAI,mBAAkB;AACtB,IAAI,oBAAmB,mBAAkB;AACzC,IAAI,iBAAgB,oBAAmB;AACvC,IAAI,kBAAiB,iBAAgB;;;ACvjCrC,IAAI,CAAC,WAAW,eAAe,CAAC,WAAW,OAAO;AAAA,EAChD,QAAQ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAQf;AACD;AACA,IAAI,aAAa,cAAc,MAAM;AAAA,EACnC;AAAA,EACA;AAAA,EAEA,WAAW,CAAC,OAAO,QAAQ;AAAA,IACzB,MAAM,SAAS,MAAM;AAAA,IACrB,KAAK,UAAU,MAAM;AAAA,IACrB,KAAK,QAAQ;AAAA;AAEjB;AACA,IAAI,aAAa,cAAc,MAAM;AAAA,EACnC;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EAEX,WAAW,CAAC,OAAO,MAAK,SAAS,IAAI,QAAQ;AAAA,IAC3C,MAAM,SAAS,MAAM;AAAA,IACrB,KAAK,OAAO;AAAA,IACZ,KAAK,SAAS;AAAA;AAElB;AACA,IAAI,SAAS;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF;AACA,SAAS,OAAM,CAAC,WAAW,KAAK;AAAA,EAC9B,IAAI,CAAC,WAAW;AAAA,IACd,MAAM,IAAI,MAAM,GAAG;AAAA,EACrB;AAAA;AAEF,SAAS,iBAAiB,CAAC,GAAG;AAAA,EAC5B,OAAO,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC;AAAA;AAEpC,SAAS,cAAc,CAAC,GAAG;AAAA,EACzB,IAAI,UAAU,GAAG;AAAA,IACf,MAAM,OAAO,IAAI,aAAa,EAAE,MAAM,CAAC;AAAA,IACvC,OAAO;AAAA,EACT;AAAA,EACA,IAAI,UAAU,KAAK,YAAY,GAAG;AAAA,IAChC,MAAM,OAAO,IAAI,WAEf,EAAE,QAAQ,MAEV,EAAE,UAAU,kBACZ,CACF;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,IAAI,WAAW,GAAG;AAAA,IAChB,MAAM,OAAO,IAAI,WAAW,EAAE,OAAO,CAAC;AAAA,IACtC,OAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,IAAI,MAAM,EAAE,MAAM,CAAC;AAAA,EAC/B,OAAO;AAAA;AAET,IAAI;AACJ,IAAI,SACF,OAAO,YAAY,eACnB,SAAS,KAAK,QAAQ,aAAa,OAAY,YAAI,GAAG,UAAU,eAChE,OAAO,aAAa;AACtB,IAAI,aAAa,SAAS,iBAAiB;AAC3C,IAAI,UAAU;AAAA,EACZ,sBAAsB;AAAA,EACtB,sBAAsB,OAAM,KAAK,OAAO,IAAI;AAAA,EAC5C,WAAW;AAAA,EACX,6BAA6B;AAAA,EAC7B,mBAAmB;AAAA,EACnB,YAAY,OAAO;AAAA,EACnB,qBAAqB,OAAO;AAAA,EAC5B,aAAa;AAAA,EACb,OAAO;AACT;AACA,IAAI,+BAA+B;AACnC,IAAI,wBAAwB,MAAM,+BAA+B,YAAY;AAAA,EAC3E;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB,CAAC;AAAA,EACjB,eAAe,QAAQ,IAAI,KAAK,OAAO;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAC,KAAK,WAAW,UAAU,CAAC,GAAG;AAAA,IACxC,MAAM;AAAA,IACN,KAAK,OAAO;AAAA,IACZ,KAAK,aAAa;AAAA,IAClB,KAAK,WAAW;AAAA,IAChB,IAAI,KAAK,SAAS,aAAa;AAAA,MAC7B,KAAK,mBAAmB;AAAA,IAC1B;AAAA,IACA,IAAI,KAAK,SAAS,aAAa;AAAA,MAC7B,KAAK,eAAe,KAAK,SAAS;AAAA,IACpC;AAAA,IACA,KAAK,SAAS;AAAA;AAAA,aAEL,UAAU,GAAG;AAAA,IACtB,OAAO;AAAA;AAAA,aAEE,IAAI,GAAG;AAAA,IAChB,OAAO;AAAA;AAAA,aAEE,OAAO,GAAG;AAAA,IACnB,OAAO;AAAA;AAAA,aAEE,MAAM,GAAG;AAAA,IAClB,OAAO;AAAA;AAAA,MAEL,UAAU,GAAG;AAAA,IACf,OAAO,uBAAuB;AAAA;AAAA,MAE5B,IAAI,GAAG;AAAA,IACT,OAAO,uBAAuB;AAAA;AAAA,MAE5B,OAAO,GAAG;AAAA,IACZ,OAAO,uBAAuB;AAAA;AAAA,MAE5B,MAAM,GAAG;AAAA,IACX,OAAO,uBAAuB;AAAA;AAAA,MAE5B,UAAU,GAAG;AAAA,IACf,OAAO,KAAK,MAAM,KAAK,IAAI,aAAa,KAAK;AAAA;AAAA,MAE3C,UAAU,CAAC,OAAO;AAAA,IACpB,KAAK,cAAc;AAAA,IACnB,IAAI,KAAK,KAAK;AAAA,MACZ,KAAK,IAAI,aAAa;AAAA,IACxB;AAAA;AAAA,MAKE,UAAU,GAAG;AAAA,IACf,OAAO,KAAK,IAAI,KAAK,aAAa,CAAC;AAAA;AAAA,MAQjC,cAAc,GAAG;AAAA,IACnB,MAAM,QAAQ,KAAK,cAAc,OAAO,CAAC,KAAK,YAAY;AAAA,MACxD,IAAI,OAAO,YAAY,UAAU;AAAA,QAC/B,OAAO,QAAQ;AAAA,MACjB,EAAO,SAAI,mBAAmB,MAAM;AAAA,QAClC,OAAO,QAAQ;AAAA,MACjB,EAAO;AAAA,QACL,OAAO,QAAQ;AAAA;AAAA,MAEjB,OAAO;AAAA,OACN,CAAC;AAAA,IACJ,OAAO,SAAS,KAAK,MAAM,KAAK,IAAI,iBAAiB;AAAA;AAAA,MAMnD,UAAU,GAAG;AAAA,IACf,OAAO,KAAK,MAAM,KAAK,IAAI,aAAa;AAAA;AAAA,MAOtC,QAAQ,GAAG;AAAA,IACb,OAAO,KAAK,MAAM,KAAK,IAAI,WAAW;AAAA;AAAA,MAKpC,UAAU,GAAG;AAAA,IACf,IAAI,KAAK,KAAK;AAAA,MACZ,OAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IACA,OAAO,KAAK,SAAS,cACjB,uBAAuB,SACvB,uBAAuB;AAAA;AAAA,MAKzB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,MAAM,KAAK,IAAI,MAAM;AAAA;AAAA,MAK/B,eAAe,GAAG;AAAA,IACpB,OAAO,KAAK;AAAA;AAAA,EAKd,UAAU;AAAA,EAIV,UAAU;AAAA,EAIV,YAAY;AAAA,EAKZ,SAAS;AAAA,EAKT,KAAK,CAAC,OAAO,MAAK,QAAQ;AAAA,IACxB,KAAK,eAAe;AAAA,IACpB,KAAK,mBAAmB;AAAA,IACxB,KAAK,eAAe;AAAA,IACpB,IAAI,CAAC,KAAK,KAAK;AAAA,MACb,KAAK,OAAO,gCAAgC;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,IAAI,KAAK,IAAI,eAAe,KAAK,QAAQ;AAAA,MACvC,KAAK,OAAO,uBAAuB;AAAA,MACnC;AAAA,IACF;AAAA,IACA,KAAK,IAAI,MAAM,MAAM,MAAM;AAAA;AAAA,EAM7B,SAAS,CAAC,MAAM,QAAQ;AAAA,IACtB,KAAK,mBAAmB;AAAA,IACxB,KAAK,eAAe;AAAA,IACpB,KAAK,cAAc;AAAA,IACnB,IAAI,CAAC,KAAK,OAAO,KAAK,IAAI,eAAe,KAAK,QAAQ;AAAA,MACpD,KAAK,SAAS;AAAA,IAChB,EAAO;AAAA,MACL,KAAK,YAAY,MAAM,MAAM;AAAA,MAC7B,KAAK,SAAS;AAAA;AAAA;AAAA,EAMlB,IAAI,CAAC,MAAM;AAAA,IACT,IAAI,KAAK,OAAO,KAAK,IAAI,eAAe,KAAK,MAAM;AAAA,MACjD,KAAK,OAAO,QAAQ,IAAI;AAAA,MACxB,KAAK,IAAI,KAAK,IAAI;AAAA,IACpB,EAAO;AAAA,MACL,QAAQ,sBAAsB,QAAQ,wBACpC,KAAK;AAAA,MACP,IAAI,KAAK,cAAc,SAAS,qBAAqB;AAAA,QACnD,KAAK,OAAO,WAAW,IAAI;AAAA,QAC3B,KAAK,cAAc,KAAK,IAAI;AAAA,MAC9B;AAAA;AAAA;AAAA,EAGJ,MAAM,IAAI,MAAM;AAAA,IACd,IAAI,KAAK,SAAS,OAAO;AAAA,MACvB,KAAK,aAAa,QAAQ,GAAG,IAAI;AAAA,IACnC;AAAA;AAAA,EAEF,aAAa,GAAG;AAAA,IACd;AAAA,MACE,8BAA8B,QAAQ;AAAA,MACtC,uBAAuB,QAAQ;AAAA,MAC/B,uBAAuB,QAAQ;AAAA,QAC7B,KAAK;AAAA,IACT,IAAI,QAAQ;AAAA,IACZ,IAAI,KAAK,cAAc,GAAG;AAAA,MACxB,QACE,uBACA,gCAAgC,KAAK,cAAc;AAAA,MACrD,IAAI,QAAQ,sBAAsB;AAAA,QAChC,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,KAAK,OAAO,cAAc,KAAK;AAAA,IAC/B,OAAO;AAAA;AAAA,EAET,KAAK,GAAG;AAAA,IACN,OAAO,IAAI,QAAQ,CAAC,YAAY;AAAA,MAC9B,WAAW,SAAS,KAAK,cAAc,CAAC;AAAA,KACzC;AAAA;AAAA,EAEH,iBAAiB,CAAC,mBAAmB;AAAA,IACnC,IAAI,CAAC;AAAA,MAAmB,OAAO,QAAQ,QAAQ,IAAI;AAAA,IACnD,IACE,OAAO,sBAAsB,YAC7B,MAAM,QAAQ,iBAAiB,GAC/B;AAAA,MACA,OAAO,QAAQ,QAAQ,iBAAiB;AAAA,IAC1C;AAAA,IACA,IAAI,OAAO,sBAAsB,YAAY;AAAA,MAC3C,MAAM,YAAY,kBAAkB;AAAA,MACpC,IAAI,CAAC;AAAA,QAAW,OAAO,QAAQ,QAAQ,IAAI;AAAA,MAC3C,IAAI,OAAO,cAAc,YAAY,MAAM,QAAQ,SAAS,GAAG;AAAA,QAC7D,OAAO,QAAQ,QAAQ,SAAS;AAAA,MAClC;AAAA,MACA,IAAI,UAAU,MAAM;AAAA,QAClB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,MAAM,MAAM,mBAAmB;AAAA;AAAA,EAEjC,WAAW,CAAC,aAAa;AAAA,IACvB,IAAI,OAAO,gBAAgB,UAAU;AAAA,MACnC,OAAO,QAAQ,QAAQ,WAAW;AAAA,IACpC;AAAA,IACA,IAAI,OAAO,gBAAgB,YAAY;AAAA,MACrC,MAAM,MAAM,YAAY;AAAA,MACxB,IAAI,OAAO,QAAQ,UAAU;AAAA,QAC3B,OAAO,QAAQ,QAAQ,GAAG;AAAA,MAC5B;AAAA,MACA,IAAI,IAAI,MAAM;AAAA,QACZ,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,MAAM,MAAM,aAAa;AAAA;AAAA,EAE3B,QAAQ,GAAG;AAAA,IACT,IAAI,KAAK,gBAAgB,CAAC,KAAK,kBAAkB;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,KAAK,eAAe;AAAA,IACpB;AAAA,MACE,aAAa,QAAQ;AAAA,MACrB,oBAAoB,QAAQ;AAAA,QAC1B,KAAK;AAAA,IACT,IAAI,KAAK,eAAe,YAAY;AAAA,MAClC,KAAK,OAAO,uBAAuB,KAAK,aAAa,MAAM,UAAU;AAAA,MACrE;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK,OAAO,WAAW,KAAK,WAAW;AAAA,IACvC,KAAK,iBAAiB;AAAA,IACtB,KAAK,MAAM,EACR,KAAK,MACJ,QAAQ,IAAI;AAAA,MACV,KAAK,YAAY,KAAK,IAAI;AAAA,MAC1B,KAAK,kBAAkB,KAAK,cAAc,IAAI;AAAA,IAChD,CAAC,CACH,EACC,KAAK,EAAE,KAAK,eAAe;AAAA,MAC1B,IAAI,KAAK,cAAc;AAAA,QACrB,KAAK,eAAe;AAAA,QACpB;AAAA,MACF;AAAA,MACA,IACE,CAAC,KAAK,SAAS,aACf,OAAO,cAAc,eACrB,CAAC,8BACD;AAAA,QACA,QAAQ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAavB;AAAA,QACS,+BAA+B;AAAA,MACjC;AAAA,MACA,MAAM,KAAK,KAAK,SAAS,aAAa;AAAA,MACtC,KAAK,OAAO,WAAW,EAAE,KAAK,UAAU,CAAC;AAAA,MACzC,KAAK,MAAM,YAAY,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,GAAG,GAAG;AAAA,MAC1D,KAAK,IAAI,aAAa,KAAK;AAAA,MAC3B,KAAK,eAAe;AAAA,MACpB,KAAK,cAAc;AAAA,MACnB,KAAK,kBAAkB,WACrB,MAAM,KAAK,eAAe,GAC1B,iBACF;AAAA,KACD,EACA,MAAM,CAAC,QAAQ;AAAA,MACd,KAAK,eAAe;AAAA,MACpB,KAAK,aAAa,IAAI,OAAO,WAAW,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC;AAAA,KAClE;AAAA;AAAA,EAEL,cAAc,GAAG;AAAA,IACf,KAAK,OAAO,eAAe;AAAA,IAC3B,KAAK,aAAa,IAAI,OAAO,WAAW,MAAM,SAAS,GAAG,IAAI,CAAC;AAAA;AAAA,EAEjE,WAAW,CAAC,OAAO,MAAK,QAAQ;AAAA,IAC9B,KAAK,eAAe;AAAA,IACpB,IAAI,CAAC,KAAK,KAAK;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,iBAAiB;AAAA,IACtB,IAAI;AAAA,MACF,IACE,KAAK,IAAI,eAAe,KAAK,QAC7B,KAAK,IAAI,eAAe,KAAK,YAC7B;AAAA,QACA,KAAK,IAAI,MAAM,MAAM,MAAM;AAAA,MAC7B;AAAA,MACA,KAAK,aAAa,IAAI,OAAO,WAAW,MAAM,QAAQ,IAAI,CAAC;AAAA,MAC3D,OAAO,QAAQ;AAAA;AAAA,EAEnB,WAAW,GAAG;AAAA,IACZ,KAAK,OAAO,aAAa;AAAA,IACzB,KAAK,cAAc;AAAA;AAAA,EAErB,cAAc,CAAC,UAAU;AAAA,IACvB,KAAK,OAAO,YAAY;AAAA,IACxB,QAAQ,YAAY,QAAQ,cAAc,KAAK;AAAA,IAC/C,aAAa,KAAK,eAAe;AAAA,IACjC,KAAK,iBAAiB,WAAW,MAAM,KAAK,YAAY,GAAG,SAAS;AAAA,IACpE,QAAO,KAAK,KAAK,0BAA0B;AAAA,IAC3C,KAAK,IAAI,aAAa,KAAK;AAAA,IAC3B,KAAK,cAAc,QAAQ,CAAC,YAAY;AAAA,MACtC,IAAI;AAAA,OACH,MAAM,KAAK,QAAQ,QAAgB,IAAI,KAAK,OAAO;AAAA,KACrD;AAAA,IACD,KAAK,gBAAgB,CAAC;AAAA,IACtB,IAAI,KAAK,QAAQ;AAAA,MACf,KAAK,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,KAAK,cAAc,WAAW,KAAK,CAAC;AAAA;AAAA,EAEtC,iBAAiB,CAAC,UAAU;AAAA,IAC1B,KAAK,OAAO,eAAe;AAAA,IAC3B,IAAI,KAAK,WAAW;AAAA,MAClB,KAAK,UAAU,KAAK;AAAA,IACtB;AAAA,IACA,KAAK,cAAc,WAAW,KAAK,CAAC;AAAA;AAAA,EAEtC,eAAe,CAAC,UAAU;AAAA,IACxB,KAAK,OAAO,eAAe,MAAM,OAAO;AAAA,IACxC,KAAK,YAAiB,WAAG,MAAM,YAAY,YAAY,YAAiB,SAAC;AAAA,IACzE,IAAI,KAAK,SAAS;AAAA,MAChB,KAAK,QAAQ,KAAK;AAAA,IACpB;AAAA,IACA,KAAK,OAAO,sBAAsB;AAAA,IAClC,KAAK,cAAc,WAAW,KAAK,CAAC;AAAA,IACpC,KAAK,SAAS;AAAA;AAAA,EAEhB,eAAe,CAAC,UAAU;AAAA,IACxB,KAAK,OAAO,aAAa;AAAA,IACzB,KAAK,eAAe;AAAA,IACpB,IAAI,KAAK,kBAAkB;AAAA,MACzB,KAAK,SAAS;AAAA,IAChB;AAAA,IACA,IAAI,KAAK,SAAS;AAAA,MAChB,KAAK,QAAQ,KAAK;AAAA,IACpB;AAAA,IACA,KAAK,cAAc,WAAW,KAAK,CAAC;AAAA;AAAA,EAEtC,gBAAgB,GAAG;AAAA,IACjB,IAAI,CAAC,KAAK,KAAK;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,OAAO,iBAAiB;AAAA,IAC7B,KAAK,IAAI,oBAAoB,QAAQ,KAAK,WAAW;AAAA,IACrD,KAAK,IAAI,oBAAoB,SAAS,KAAK,YAAY;AAAA,IACvD,KAAK,IAAI,oBAAoB,WAAW,KAAK,cAAc;AAAA,IAC3D,KAAK,IAAI,oBAAoB,SAAS,KAAK,YAAY;AAAA;AAAA,EAEzD,aAAa,GAAG;AAAA,IACd,IAAI,CAAC,KAAK,KAAK;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,OAAO,cAAc;AAAA,IAC1B,KAAK,IAAI,iBAAiB,QAAQ,KAAK,WAAW;AAAA,IAClD,KAAK,IAAI,iBAAiB,SAAS,KAAK,YAAY;AAAA,IACpD,KAAK,IAAI,iBAAiB,WAAW,KAAK,cAAc;AAAA,IACxD,KAAK,IAAI,iBAAiB,SAAS,KAAK,YAAY;AAAA;AAAA,EAEtD,cAAc,GAAG;AAAA,IACf,aAAa,KAAK,eAAe;AAAA,IACjC,aAAa,KAAK,cAAc;AAAA;AAEpC;AAUA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC7cO,IAAM,SAAiB;AAAA,EAC5B,OAAO;AAAA,EAEP,YAAY;AAAA,EACZ,aAAa;AAAA,EAEb,GAAG,CAAC,MAAe;AAAA,IACjB,KAAK,QAAQ;AAAA,SACR;AAAA,MACH,cAAc,KAAK;AAAA,MACnB,aAAa,KAAK,cAAc,IAAI,KAAK,aAAa;AAAA,MACtD,WAAW,KAAK,IAAI;AAAA,MACpB,UAAU;AAAA,IACZ,CAAC;AAAA;AAAA,EAGH,IAAI,CAAC,MAAe;AAAA,IAClB,KAAK,QAAQ;AAAA,SACR;AAAA,MACH,cAAc,KAAK;AAAA,MACnB,aAAa,KAAK,cAAc,IAAI,KAAK,aAAa;AAAA,MACtD,WAAW,KAAK,IAAI;AAAA,MACpB,UAAU;AAAA,IACZ,CAAC;AAAA;AAAA,EAGH,KAAK,CAAC,MAAe;AAAA,IACnB,KAAK,QAAQ;AAAA,SACR;AAAA,MACH,cAAc,KAAK;AAAA,MACnB,aAAa,KAAK,cAAc,IAAI,KAAK,aAAa;AAAA,MACtD,WAAW,KAAK,IAAI;AAAA,MACpB,UAAU;AAAA,IACZ,CAAC;AAAA;AAEL;;;AC1EA,IAAI,mBAA0D;AAC9D,IAAI,cAAc;AAGlB,IAAM,uBACJ;AAEF,IAAM,sBAAsB;AAM5B,eAAsB,aAAa,GAA4C;AAAA,EAC7E,MAAM,MAAM,KAAK,IAAI;AAAA,EACrB,IAAI,oBAAoB,MAAM,aAAa;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,MAAM,MAAM,oBAAoB;AAAA,EAC5C,IAAI,CAAC,IAAI,IAAI;AAAA,IACX,MAAM,IAAI,MAAM,kCAAkC,IAAI,QAAQ;AAAA,EAChE;AAAA,EAEA,MAAM,OAAO,MAAM,IAAI,KAAK;AAAA,EAC5B,IAAI,CAAC,KAAK,YAAY;AAAA,IACpB,MAAM,IAAI,MAAM,gCAAgC;AAAA,EAClD;AAAA,EAIA,mBAAmB,KAAK,WAAW,IAAI,CAAC,WAAyB;AAAA,IAC/D,IAAI,MAAM,QAAQ,OAAO,IAAI,GAAG;AAAA,MAC9B,OAAO;AAAA,WACF;AAAA,QACH,MAAM,OAAO,KAAK,OAAO,CAAC,QAAgB,CAAC,IAAI,SAAS,KAAK,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,IACA,OAAO;AAAA,GACR;AAAA,EAED,OACE,oBAAoB,iBAAiB,SAAS,GAC9C,qCACF;AAAA,EAEA,cAAc,MAAM,KAAK,KAAK;AAAA,EAC9B,OAAO,IAAI;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,MACJ,YAAY;AAAA,IACd;AAAA,EACF,CAAC;AAAA,EACD,OAAO;AAAA;AAUT,eAAsB,OAAO,CAC3B,IACA,QAEA,YAAoB,qBACC;AAAA,EACrB,MAAM,aAAa,MAAM,cAAc;AAAA,EACvC,MAAM,KAAK,IAAI,kBAAkB,EAAE,WAAW,CAAC;AAAA,EAC/C,MAAM,WAAW,GAAG,kBAAkB,YAAY,CAAC,CAAC;AAAA,EACpD,MAAM,aAAa,GAAG,kBAAkB,cAAc;AAAA,IACpD,SAAS;AAAA,IACT,gBAAgB;AAAA,EAClB,CAAC;AAAA,EAED,MAAM,QAAQ,MAAM,GAAG,YAAY;AAAA,EACnC,MAAM,GAAG,oBAAoB,KAAK;AAAA,EAClC,OAAO,IAAI,EAAE,QAAQ,UAAU,OAAO,aAAa,MAAM,MAAM,CAAC;AAAA,EAChE,MAAM,UAAU,IAAI,SAAS;AAAA,EAC7B,OAAO,IAAI,EAAE,QAAQ,UAAU,OAAO,0BAA0B,CAAC;AAAA,EAEjE,OAAO,IAAI;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM,GAAG;AAAA,IACT,IAAI;AAAA,EACN,CAAC;AAAA,EACD,KAAK,IAAI;AAAA,IACP,MAAM;AAAA,IACN,SAAS,KAAK,KAAK,UAAU,GAAG,gBAAgB,CAAC;AAAA,IACjD,QAAQ;AAAA,EACV,CAAC;AAAA,EACD,MAAM,cAAc,IAAI,IAAI,SAAS;AAAA,EAErC,OAAO;AAAA,IACL,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAGF,eAAsB,SAAS,CAAC,IAAoB;AAAA,EAClD,GAAG,UAAU,CAAC,UAAU;AAAA,IACtB,OAAO,MAAM;AAAA,MACX,QAAQ;AAAA,MACR,OAAO,YAAY,GAAG;AAAA,MACtB,MAAM,MAAM;AAAA,IACd,CAAC;AAAA;AAAA,EAGH,GAAG,YAAY,CAAC,WAAW;AAAA,IACzB,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,WAAW,GAAG;AAAA,IACvB,CAAC;AAAA;AAAA,EAGH,GAAG,SAAS,CAAC,WAAW;AAAA,IACtB,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,UAAU,GAAG;AAAA,IACtB,CAAC;AAAA;AAAA,EAGH,GAAG,UAAU,CAAC,WAAW;AAAA,IACvB,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,UAAU,GAAG;AAAA,IACtB,CAAC;AAAA;AAAA;AAIL,eAAsB,iBAAiB,CAAC,IAAuB,QAAgB;AAAA,EAC7E,GAAG,0BAA0B,MAAM;AAAA,IACjC,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,IAAI,OAAO,UAAU,GAAG,CAAC,wBAAwB,GAAG;AAAA,IAC7D,CAAC;AAAA;AAAA,EAGH,GAAG,yBAAyB,MAAM;AAAA,IAChC,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,IAAI,OAAO,UAAU,GAAG,CAAC,uBAAuB,GAAG;AAAA,IAC5D,CAAC;AAAA;AAAA;AAIL,eAAsB,SAAS,CAC7B,IACA,WAC0B;AAAA,EAC1B,OAAO,IAAI,QAAyB,CAAC,KAAK,OAAO;AAAA,IAC/C,WAAW,MAAM,GAAG,IAAI,MAAM,uBAAuB,CAAC,GAAG,SAAS;AAAA,IAElE,GAAG,4BAA4B,MAAM;AAAA,MACnC,OAAO,IAAI;AAAA,QACT,QAAQ;AAAA,QACR,OAAO,4BAA4B,GAAG;AAAA,MACxC,CAAC;AAAA,MAED,IAAI,GAAG,sBAAsB,YAAY;AAAA,QACvC,IAAI,IAAI;AAAA,MACV;AAAA;AAAA,GAEH;AAAA;AAGH,eAAsB,aAAa,CACjC,IACA,IACA,WACe;AAAA,EACf,OAAO,IAAI,QAAc,CAAC,KAAK,OAAO;AAAA,IACpC,MAAM,YAAY,WAAW,IAAI,SAAS;AAAA,IAC1C,MAAM,kBAAkB,OAAO,UAAwB;AAAA,MACrD,MAAM,YAA2B,KAAK,MAAM,MAAM,IAAI;AAAA,MACtD,IAAI,UAAU,SAAS,gBAAgB;AAAA,QACrC;AAAA,MACF;AAAA,MACA,MAAM,UAAU,UAAU;AAAA,MAC1B,IAAI,QAAQ,SAAS,UAAU;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,MAAM,aAAa,KAAK,MAAM,KAAK,QAAQ,OAAO,CAAC;AAAA,MACnD,OAAO,IAAI;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AAAA,MACD,MAAM,GAAG,qBAAqB,IAAI,sBAAsB,UAAU,CAAC;AAAA,MACnE,OAAO,IAAI;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,MACT,CAAC;AAAA,MACD,aAAa,SAAS;AAAA,MACtB,IAAI;AAAA;AAAA,IAEN,GAAG,iBAAiB,WAAW,eAAe;AAAA,GAC/C;AAAA;AAGI,SAAS,eAAe,CAAC,IAAe,IAAgC;AAAA,EAC7E,MAAM,kBAAkB,OAAO,UAAwB;AAAA,IACrD,MAAM,WAA0B,KAAK,MAAM,MAAM,IAAI;AAAA,IACrD,IAAI,SAAS,SAAS,gBAAgB;AAAA,MACpC;AAAA,IACF;AAAA,IACA,MAAM,MAAM,SAAS;AAAA,IACrB,IAAI,IAAI,SAAS,SAAS;AAAA,MACxB;AAAA,IACF;AAAA,IACA,OAAO,IAAI,EAAE,QAAQ,UAAU,OAAO,iBAAiB,CAAC;AAAA,IACxD,MAAM,QAAQ,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,IAC1C,MAAM,aAAa,MAAM,cAAc;AAAA,IACvC,MAAM,KAAK,IAAI,kBAAkB,EAAE,WAAW,CAAC;AAAA,IAE/C,MAAM,GAAG,qBAAqB,KAAK;AAAA,IACnC,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,EAAE,OAAO,mBAAmB,GAAG,kBAAkB;AAAA,IACzD,CAAC;AAAA,IACD,MAAM,SAAS,MAAM,GAAG,aAAa;AAAA,IACrC,MAAM,GAAG,oBAAoB,MAAM;AAAA,IACnC,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,GAAG;AAAA,IACX,CAAC;AAAA,IACD,MAAM,UAAU,IAAI,mBAAmB;AAAA,IAEvC,MAAM,WAAW;AAAA,MACf,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,IAEA,GAAG,gBAAgB,CAAC,WAAU;AAAA,MAC5B,OAAO,IAAI;AAAA,QACT,QAAQ;AAAA,QACR,OAAO,wBAAwB,OAAM,QAAQ;AAAA,MAC/C,CAAC;AAAA,MACD,QAAQ,OAAM,QAAQ;AAAA,aACf;AAAA,UACH,SAAS,WAAW,OAAM;AAAA,UAC1B;AAAA,aACG;AAAA,UACH,SAAS,aAAa,OAAM;AAAA,UAC5B;AAAA;AAAA,MAEJ,IAAI,SAAS,YAAY,SAAS,YAAY;AAAA,QAC5C,GAAG,gBAAgB;AAAA,QACnB,GAAG;AAAA,UACD,gBAAgB;AAAA,UAChB,UAAU,SAAS;AAAA,UACnB,YAAY,SAAS;AAAA,UACrB,QAAQ,SAAS;AAAA,QACnB,CAAC;AAAA,MACH;AAAA;AAAA,IAGF,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,GAAG;AAAA,IACX,CAAC;AAAA,IAED,KAAK,IAAI;AAAA,MACP,MAAM;AAAA,MACN,SAAS,KAAK,KAAK,UAAU,GAAG,gBAAgB,CAAC;AAAA,MACjD,QAAQ,SAAS;AAAA,IACnB,CAAC;AAAA;AAAA,EAGH,GAAG,iBAAiB,WAAW,eAAe;AAAA;AAGhD,SAAS,IAAI,CAAC,IAAe,KAAkB;AAAA,EAC7C,GAAG,KAAK,KAAK,UAAU,GAAG,CAAC;AAAA,EAC3B,OAAO,IAAI,EAAE,QAAQ,MAAM,WAAW,YAAY,MAAM,IAAI,CAAC;AAAA;;;ACvQxD,SAAS,QAAQ,CAAC,WAAmB,SAAiB,KAAiB;AAAA,EAC5E,MAAM,SAAS,IAAI,sBAAU,SAAS;AAAA,EAEtC,OAAO,iBAAiB,QAAQ,MAAM;AAAA,IACpC,OAAO,IAAI;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACT,CAAC;AAAA,GACF;AAAA,EAED,OAAO,iBAAiB,SAAS,CAAC,UAAU;AAAA,IAC1C,OAAO,KAAK;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,GACF;AAAA,EAED,OAAO,iBAAiB,SAAS,CAAC,UAAU;AAAA,IAC1C,OAAO,MAAM;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,GACF;AAAA,EAED,MAAM,QAAiC,IAAI;AAAA,EAE3C,IAAI,QAAQ;AAAA,EAEZ,OAAO,iBAAiB,WAAW,OAAO,UAAU;AAAA,IAClD,IAAI;AAAA,MACF,MAAM,WAAW,KAAK,MAAM,MAAM,IAAI;AAAA,MACtC,OAAO,IAAI;AAAA,QACT,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,MAAM;AAAA,MACR,CAAC;AAAA,MAED,QAAQ,SAAS;AAAA,aACV;AAAA,UACH,QAAQ,SAAS;AAAA,UACjB,IAAI,eAAe,SAAS,MAAM;AAAA,UAClC,WAAW,UAAU,SAAS,SAAS;AAAA,YACrC,IAAI,WAAW;AAAA,cAAO;AAAA,YACtB,IAAI,gBAAgB,MAAM;AAAA,UAC5B;AAAA,UACA;AAAA,aACG;AAAA,UACH;AAAA,aACG,gBAAgB;AAAA,UACnB,MAAM,OAAO,MAAM,QAAQ,QAAQ,SAAS,MAAM;AAAA,UAClD,aAAa,MAAM,GAAG;AAAA,UACtB,IAAI,gBAAgB,SAAS,MAAM;AAAA,UACnC;AAAA,QACF;AAAA,aACK;AAAA,UACH,IAAI,mBAAmB,SAAS,MAAM;AAAA,UACtC;AAAA;AAAA,UAEA,OAAO,KAAK;AAAA,YACV,QAAQ;AAAA,YACR,OAAO,yBAAyB,SAAS;AAAA,YACzC,MAAM;AAAA,UACR,CAAC;AAAA;AAAA,MAEL,OAAO,GAAG;AAAA,MACV,OAAO,MAAM;AAAA,QACX,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,UACJ,MAAM,MAAM;AAAA,UACZ,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA;AAAA,GAEJ;AAAA,EAED,gBAAgB,QAAQ,CAAC,SAAS;AAAA,IAChC,aAAa,MAAM,GAAG;AAAA,GACvB;AAAA,EAED,SAAS,YAAY,CAAC,MAAkB,MAAiB;AAAA,IACvD,UAAU,KAAK,QAAQ;AAAA,IACvB,UAAU,KAAK,UAAU;AAAA,IACzB,kBAAkB,KAAK,gBAAgB,KAAK;AAAA,IAE5C,KAAI,kBAAkB,KAAK,QAAQ,MAAM,KAAK,QAAQ;AAAA,IACtD,KAAI,kBAAkB,KAAK,QAAQ,OAAO,KAAK,UAAU;AAAA,IAEzD,KAAK,SAAS,YAAY,CAAC,UAAU;AAAA,MACnC,KAAI,UAAU,KAAK,QAAQ,MAAM,MAAM,IAAI;AAAA;AAAA,IAE7C,KAAK,SAAS,UAAU,MAAM;AAAA,MAC5B,KAAI,mBAAmB,KAAK,QAAQ,IAAI;AAAA;AAAA,IAG1C,KAAK,WAAW,YAAY,CAAC,UAAU;AAAA,MACrC,KAAI,UAAU,KAAK,QAAQ,MAAM,MAAM,KAAK;AAAA;AAAA,IAE9C,KAAK,WAAW,UAAU,MAAM;AAAA,MAC9B,KAAI,mBAAmB,KAAK,QAAQ,KAAK;AAAA;AAAA,IAE3C,MAAM,IAAI,KAAK,QAAQ,IAAI;AAAA;AAAA;;;;;;;;;;;;;;;;;;ACjI/B,IAAI;AAAJ,IAAM;AAAN,IAAQ;AAAR,IAAU;AAAV,IAAY;AAAZ,IAAc;AAAd,IAAgB;AAAhB,IAAkB;AAAlB,IAAoB;AAApB,IAAsB;AAAtB,IAAwB;AAAxB,IAA0B;AAA1B,IAA4B;AAA5B,IAA8B,IAAE,CAAC;AAAjC,IAAmC,IAAE,CAAC;AAAtC,IAAwC,IAAE;AAA1C,IAA8G,IAAE,MAAM;AAAQ,SAAS,CAAC,CAAC,IAAE,IAAE;AAAA,EAAC,SAAQ,MAAK;AAAA,IAAE,GAAE,MAAG,GAAE;AAAA,EAAG,OAAO;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,MAAG,GAAE,cAAY,GAAE,WAAW,YAAY,EAAC;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE,KAAE,CAAC;AAAA,EAAE,KAAI,MAAK;AAAA,IAAS,MAAP,QAAS,KAAE,GAAE,MAAU,MAAP,QAAS,KAAE,GAAE,MAAG,GAAE,MAAG,GAAE;AAAA,EAAG,IAAG,UAAU,SAAO,MAAI,GAAE,WAAS,UAAU,SAAO,IAAE,EAAE,KAAK,WAAU,CAAC,IAAE,KAAe,OAAO,MAAnB,cAA4B,GAAE,gBAAR;AAAA,IAAqB,KAAI,MAAK,GAAE;AAAA,MAAsB,GAAE,QAAN,cAAW,GAAE,MAAG,GAAE,aAAa;AAAA,EAAI,OAAO,EAAE,IAAE,IAAE,IAAE,IAAE,IAAI;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,KAAE,EAAC,MAAK,IAAE,OAAM,IAAE,KAAI,IAAE,KAAI,IAAE,KAAI,MAAK,IAAG,MAAK,KAAI,GAAE,KAAI,MAAK,KAAI,MAAK,aAAiB,WAAE,KAAU,MAAN,OAAQ,EAAE,IAAE,IAAE,KAAI,IAAG,KAAI,EAAC;AAAA,EAAE,OAAa,MAAN,QAAe,EAAE,SAAR,QAAe,EAAE,MAAM,EAAC,GAAE;AAAA;AAAoC,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,OAAO,GAAE;AAAA;AAAS,SAAS,CAAC,CAAC,IAAE,IAAE;AAAA,EAAC,KAAK,QAAM,IAAE,KAAK,UAAQ;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE;AAAA,EAAC,IAAS,MAAN;AAAA,IAAQ,OAAO,GAAE,KAAG,EAAE,GAAE,IAAG,GAAE,MAAI,CAAC,IAAE;AAAA,EAAK,SAAQ,GAAE,KAAE,GAAE,IAAI,QAAO;AAAA,IAAI,KAAU,KAAE,GAAE,IAAI,QAAf,QAA0B,GAAE,OAAR;AAAA,MAAY,OAAO,GAAE;AAAA,EAAI,OAAkB,OAAO,GAAE,QAArB,aAA0B,EAAE,EAAC,IAAE;AAAA;AAAK,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,IAAI,IAAE;AAAA,EAAE,KAAU,KAAE,GAAE,OAAX,QAAsB,GAAE,OAAR,MAAY;AAAA,IAAC,KAAI,GAAE,MAAI,GAAE,IAAI,OAAK,MAAK,KAAE,EAAE,KAAE,GAAE,IAAI,QAAO;AAAA,MAAI,KAAU,KAAE,GAAE,IAAI,QAAf,QAA0B,GAAE,OAAR,MAAY;AAAA,QAAC,GAAE,MAAI,GAAE,IAAI,OAAK,GAAE;AAAA,QAAI;AAAA,MAAK;AAAA,IAAC,OAAO,EAAE,EAAC;AAAA,EAAC;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE;AAAA,GAAE,CAAC,GAAE,QAAM,GAAE,MAAI,SAAK,EAAE,KAAK,EAAC,KAAG,CAAC,EAAE,SAAO,KAAG,EAAE,wBAAsB,IAAE,EAAE,sBAAoB,GAAG,CAAC;AAAA;AAAE,SAAS,CAAC,GAAE;AAAA,EAAC,SAAQ,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,KAAE,EAAE,EAAE;AAAA,IAAQ,EAAE,SAAO,MAAG,EAAE,KAAK,CAAC,GAAE,KAAE,EAAE,MAAM,GAAE,KAAE,EAAE,QAAO,GAAE,QAAM,KAAO,WAAE,KAAO,WAAE,MAAG,MAAG,KAAE,IAAG,KAAK,KAAI,KAAE,CAAC,GAAE,KAAE,CAAC,GAAE,GAAE,SAAO,KAAE,EAAE,CAAC,GAAE,EAAC,GAAG,MAAI,GAAE,MAAI,GAAE,EAAE,SAAO,EAAE,MAAM,EAAC,GAAE,EAAE,GAAE,KAAI,IAAE,IAAE,GAAE,KAAI,GAAE,IAAI,cAAa,KAAG,GAAE,MAAI,CAAC,EAAC,IAAE,MAAK,IAAQ,MAAN,OAAQ,EAAE,EAAC,IAAE,IAAE,CAAC,EAAE,KAAG,GAAE,MAAK,EAAC,GAAE,GAAE,MAAI,GAAE,KAAI,GAAE,GAAG,IAAI,GAAE,OAAK,IAAE,EAAE,IAAE,IAAE,EAAC,GAAE,GAAE,MAAI,GAAE,KAAG,MAAK,GAAE,OAAK,MAAG,EAAE,EAAC;AAAA,EAAI,EAAE,MAAI;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,KAAE,MAAG,GAAE,OAAK,GAAE,IAAE,GAAE;AAAA,EAAO,KAAI,KAAE,EAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAAE,KAAE,EAAE,KAAE,GAAE;AAAA,KAAW,KAAE,GAAE,IAAI,QAAf,SAAqB,KAAM,GAAE,OAAN,KAAU,IAAE,GAAE,GAAE,QAAM,GAAE,GAAE,MAAI,IAAE,KAAE,EAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,EAAC,GAAE,KAAE,GAAE,KAAI,GAAE,OAAK,GAAE,OAAK,GAAE,QAAM,GAAE,OAAK,EAAE,GAAE,KAAI,MAAK,EAAC,GAAE,GAAE,KAAK,GAAE,KAAI,GAAE,OAAK,IAAE,EAAC,IAAS,MAAN,QAAe,MAAN,SAAU,KAAE,MAAI,KAAE,CAAC,EAAE,IAAE,GAAE,SAAO,GAAE,QAAM,GAAE,MAAI,KAAE,EAAE,IAAE,IAAE,IAAE,EAAC,IAAc,OAAO,GAAE,QAArB,cAAoC,OAAJ,YAAM,KAAE,KAAE,OAAI,KAAE,GAAE,cAAa,GAAE,OAAK;AAAA,EAAI,OAAO,GAAE,MAAI,IAAE;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE,IAAE,IAAE,KAAE,GAAE,QAAO,KAAE,IAAE,KAAE;AAAA,EAAE,KAAI,GAAE,MAAI,IAAI,MAAM,EAAC,GAAE,KAAE,EAAE,KAAE,IAAE;AAAA,KAAW,KAAE,GAAE,QAAX,QAA2B,OAAO,MAAlB,aAAiC,OAAO,MAAnB,cAAgC,OAAO,MAAjB,YAA8B,OAAO,MAAjB,YAA8B,OAAO,MAAjB,YAAoB,GAAE,eAAa,SAAO,KAAE,GAAE,IAAI,MAAG,EAAE,MAAK,IAAE,MAAK,MAAK,IAAI,IAAE,EAAE,EAAC,IAAE,KAAE,GAAE,IAAI,MAAG,EAAE,GAAE,EAAC,UAAS,GAAC,GAAE,MAAK,MAAK,IAAI,IAAQ,GAAE,eAAR,QAAqB,GAAE,MAAI,IAAE,KAAE,GAAE,IAAI,MAAG,EAAE,GAAE,MAAK,GAAE,OAAM,GAAE,KAAI,GAAE,MAAI,GAAE,MAAI,MAAK,GAAE,GAAG,IAAE,GAAE,IAAI,MAAG,IAAE,KAAE,KAAE,IAAE,GAAE,KAAG,IAAE,GAAE,MAAI,GAAE,MAAI,IAAO,KAAE,GAAE,MAAI,EAAE,IAAE,IAAE,IAAE,EAAC,MAAtB,OAA2B,OAAK,KAAE,GAAE,SAAM,GAAE,OAAK,KAAU,MAAN,QAAe,GAAE,OAAR,QAAiB,MAAJ,OAAQ,KAAE,KAAE,OAAI,KAAE,MAAG,OAAiB,OAAO,GAAE,QAArB,eAA4B,GAAE,OAAK,MAAI,MAAG,OAAI,MAAG,KAAE,IAAE,OAAI,MAAG,KAAE,IAAE,QAAK,KAAE,KAAE,OAAI,MAAI,GAAE,OAAK,OAAK,GAAE,IAAI,MAAG;AAAA,EAAK,IAAG;AAAA,IAAE,KAAI,KAAE,EAAE,KAAE,IAAE;AAAA,OAAW,KAAE,GAAE,QAAX,SAAoB,IAAE,GAAE,QAAR,MAAe,GAAE,OAAK,OAAI,KAAE,EAAE,EAAC,IAAG,EAAE,IAAE,EAAC;AAAA,EAAG,OAAO;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE;AAAA,EAAE,IAAe,OAAO,GAAE,QAArB,YAA0B;AAAA,IAAC,KAAI,KAAE,GAAE,KAAI,KAAE,EAAE,MAAG,KAAE,GAAE,QAAO;AAAA,MAAI,GAAE,QAAK,GAAE,IAAG,KAAG,IAAE,KAAE,EAAE,GAAE,KAAG,IAAE,IAAE,EAAC;AAAA,IAAG,OAAO;AAAA,EAAC;AAAA,EAAC,GAAE,OAAK,OAAI,OAAI,MAAG,GAAE,QAAM,CAAC,GAAE,eAAa,KAAE,EAAE,EAAC,IAAG,GAAE,aAAa,GAAE,KAAI,MAAG,IAAI,IAAG,KAAE,GAAE;AAAA,EAAK,GAAE;AAAA,IAAC,KAAE,MAAG,GAAE;AAAA,EAAW,SAAa,MAAN,QAAY,GAAE,YAAL;AAAA,EAAe,OAAO;AAAA;AAA8G,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE,KAAE,GAAE,KAAI,KAAE,GAAE,MAAK,KAAE,GAAE,KAAG,KAAQ,MAAN,SAAa,IAAE,GAAE,QAAR;AAAA,EAAa,IAAU,OAAP,QAAgB,MAAN,QAAS,MAAG,MAAG,GAAE,OAAK,MAAG,GAAE;AAAA,IAAK,OAAO;AAAA,EAAE,IAAG,MAAG,KAAE,IAAE;AAAA,IAAG,KAAI,KAAE,KAAE,GAAE,KAAE,KAAE,EAAE,MAAG,KAAG,KAAE,GAAE;AAAA,MAAQ,KAAU,KAAE,GAAE,KAAE,MAAG,IAAE,OAAI,UAAtB,SAAiC,IAAE,GAAE,QAAR,KAAc,MAAG,GAAE,OAAK,MAAG,GAAE;AAAA,QAAK,OAAO;AAAA;AAAA,EAAE,OAAM;AAAA;AAAG,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAM,GAAE,MAAP,MAAU,GAAE,YAAY,IAAQ,MAAN,OAAQ,KAAG,EAAC,IAAE,GAAE,MAAS,MAAN,OAAQ,KAAa,OAAO,MAAjB,YAAoB,EAAE,KAAK,EAAC,IAAE,KAAE,KAAE;AAAA;AAAK,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE;AAAA,EAAE;AAAA,IAAE,IAAY,MAAT;AAAA,MAAW,IAAa,OAAO,MAAjB;AAAA,QAAmB,GAAE,MAAM,UAAQ;AAAA,MAAM;AAAA,QAAC,IAAa,OAAO,MAAjB,aAAqB,GAAE,MAAM,UAAQ,KAAE,KAAI;AAAA,UAAE,KAAI,MAAK;AAAA,YAAE,MAAG,MAAK,MAAG,EAAE,GAAE,OAAM,IAAE,EAAE;AAAA,QAAE,IAAG;AAAA,UAAE,KAAI,MAAK;AAAA,YAAE,MAAG,GAAE,OAAI,GAAE,OAAI,EAAE,GAAE,OAAM,IAAE,GAAE,GAAE;AAAA;AAAA,IAAO,SAAQ,GAAE,MAAP,OAAgB,GAAE,MAAP;AAAA,MAAU,KAAE,OAAI,KAAE,GAAE,QAAQ,GAAE,IAAI,IAAG,KAAE,GAAE,YAAY,GAAE,KAAE,MAAK,MAAiB,MAAd,gBAA8B,MAAb,cAAe,GAAE,MAAM,CAAC,IAAE,GAAE,MAAM,CAAC,GAAE,GAAE,MAAI,GAAE,IAAE,CAAC,IAAG,GAAE,EAAE,KAAE,MAAG,IAAE,KAAE,KAAE,GAAE,IAAE,GAAE,KAAG,GAAE,IAAE,GAAE,GAAE,iBAAiB,IAAE,KAAE,IAAE,GAAE,EAAC,KAAG,GAAE,oBAAoB,IAAE,KAAE,IAAE,GAAE,EAAC;AAAA,IAAM;AAAA,MAAC,IAAiC,MAA9B;AAAA,QAAgC,KAAE,GAAE,QAAQ,eAAc,GAAG,EAAE,QAAQ,UAAS,GAAG;AAAA,MAAO,SAAY,MAAT,WAAsB,MAAV,YAAqB,MAAR,UAAmB,MAAR,UAAmB,MAAR,UAAuB,MAAZ,cAA2B,MAAZ,cAA0B,MAAX,aAAyB,MAAX,aAAsB,MAAR,UAAsB,MAAX,aAAc,MAAK;AAAA,QAAE,IAAG;AAAA,UAAC,GAAE,MAAS,MAAN,OAAQ,KAAG;AAAA,UAAE;AAAA,UAAQ,OAAM,IAAE;AAAA,MAAc,OAAO,MAAnB,eAA6B,MAAN,QAAc,OAAL,SAAa,GAAE,MAAP,MAAU,GAAE,gBAAgB,EAAC,IAAE,GAAE,aAAa,IAAa,MAAX,aAAiB,MAAH,IAAK,KAAG,EAAC;AAAA;AAAA;AAAI,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,OAAO,QAAQ,CAAC,IAAE;AAAA,IAAC,IAAG,KAAK,GAAE;AAAA,MAAC,IAAI,KAAE,KAAK,EAAE,GAAE,OAAK;AAAA,MAAG,IAAS,GAAE,KAAR;AAAA,QAAU,GAAE,IAAE;AAAA,MAAS,SAAG,GAAE,IAAE,GAAE;AAAA,QAAE;AAAA,MAAO,OAAO,GAAE,EAAE,QAAM,EAAE,MAAM,EAAC,IAAE,EAAC;AAAA,IAAC;AAAA;AAAA;AAAG,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,GAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,GAAE,IAAE,IAAE,KAAE,GAAE;AAAA,EAAK,IAAS,GAAE,eAAR;AAAA,IAAoB,OAAO;AAAA,EAAK,MAAI,GAAE,QAAM,KAAE,CAAC,EAAE,KAAG,GAAE,MAAK,KAAE,CAAC,KAAE,GAAE,MAAI,GAAE,GAAG,KAAI,KAAE,EAAE,QAAM,GAAE,EAAC;AAAA,EAAE;AAAA,IAAE,IAAe,OAAO,MAAnB;AAAA,MAAqB,IAAG;AAAA,QAAC,IAAG,IAAE,GAAE,OAAM,KAAE,eAAc,MAAG,GAAE,UAAU,QAAO,MAAG,KAAE,GAAE,gBAAc,GAAE,GAAE,MAAK,KAAE,KAAE,KAAE,GAAE,MAAM,QAAM,GAAE,KAAG,IAAE,GAAE,MAAI,MAAG,KAAE,GAAE,MAAI,GAAE,KAAK,KAAG,GAAE,OAAK,KAAE,GAAE,MAAI,KAAE,IAAI,GAAE,GAAE,EAAC,KAAG,GAAE,MAAI,KAAE,IAAI,EAAE,GAAE,EAAC,GAAE,GAAE,cAAY,IAAE,GAAE,SAAO,IAAG,MAAG,GAAE,IAAI,EAAC,GAAE,GAAE,UAAQ,GAAE,QAAM,CAAC,IAAG,GAAE,MAAI,IAAE,KAAE,GAAE,MAAI,MAAG,GAAE,MAAI,CAAC,GAAE,GAAE,MAAI,CAAC,IAAG,MAAS,GAAE,OAAR,SAAc,GAAE,MAAI,GAAE,QAAO,MAAS,GAAE,4BAAR,SAAmC,GAAE,OAAK,GAAE,UAAQ,GAAE,MAAI,EAAE,CAAC,GAAE,GAAE,GAAG,IAAG,EAAE,GAAE,KAAI,GAAE,yBAAyB,GAAE,GAAE,GAAG,CAAC,IAAG,KAAE,GAAE,OAAM,KAAE,GAAE,OAAM,GAAE,MAAI,IAAE;AAAA,UAAE,MAAS,GAAE,4BAAR,QAAwC,GAAE,sBAAR,QAA4B,GAAE,mBAAmB,GAAE,MAAS,GAAE,qBAAR,QAA2B,GAAE,IAAI,KAAK,GAAE,iBAAiB;AAAA,QAAM;AAAA,UAAC,IAAG,MAAS,GAAE,4BAAR,QAAkC,MAAI,MAAS,GAAE,6BAAR,QAAmC,GAAE,0BAA0B,GAAE,EAAC,GAAE,GAAE,OAAK,GAAE,OAAK,CAAC,GAAE,OAAW,GAAE,yBAAR,QAAoC,GAAE,sBAAsB,GAAE,GAAE,KAAI,EAAC,MAAtC,OAAwC;AAAA,YAAC,KAAI,GAAE,OAAK,GAAE,QAAM,GAAE,QAAM,GAAE,GAAE,QAAM,GAAE,KAAI,GAAE,MAAI,QAAI,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,KAAI,GAAE,IAAI,KAAK,QAAQ,CAAC,IAAE;AAAA,cAAC,OAAI,GAAE,KAAG;AAAA,aAAG,GAAE,KAAE,EAAE,KAAE,GAAE,IAAI,QAAO;AAAA,cAAI,GAAE,IAAI,KAAK,GAAE,IAAI,GAAE;AAAA,YAAE,GAAE,MAAI,CAAC,GAAE,GAAE,IAAI,UAAQ,GAAE,KAAK,EAAC;AAAA,YAAE;AAAA,UAAO;AAAA,UAAO,GAAE,uBAAR,QAA6B,GAAE,oBAAoB,GAAE,GAAE,KAAI,EAAC,GAAE,MAAS,GAAE,sBAAR,QAA4B,GAAE,IAAI,KAAK,QAAQ,GAAE;AAAA,YAAC,GAAE,mBAAmB,IAAE,IAAE,EAAC;AAAA,WAAE;AAAA;AAAA,QAAE,IAAG,GAAE,UAAQ,IAAE,GAAE,QAAM,GAAE,GAAE,MAAI,IAAE,GAAE,MAAI,OAAG,KAAE,EAAE,KAAI,KAAE,GAAE,IAAE;AAAA,UAAC,KAAI,GAAE,QAAM,GAAE,KAAI,GAAE,MAAI,OAAG,MAAG,GAAE,EAAC,GAAE,KAAE,GAAE,OAAO,GAAE,OAAM,GAAE,OAAM,GAAE,OAAO,GAAE,IAAE,EAAE,IAAE,GAAE,IAAI,QAAO;AAAA,YAAI,GAAE,IAAI,KAAK,GAAE,IAAI,EAAE;AAAA,UAAE,GAAE,MAAI,CAAC;AAAA,QAAC,EAAM;AAAA,aAAE;AAAA,YAAC,GAAE,MAAI,OAAG,MAAG,GAAE,EAAC,GAAE,KAAE,GAAE,OAAO,GAAE,OAAM,GAAE,OAAM,GAAE,OAAO,GAAE,GAAE,QAAM,GAAE;AAAA,UAAG,SAAO,GAAE,OAAK,EAAE,KAAE;AAAA,QAAI,GAAE,QAAM,GAAE,KAAU,GAAE,mBAAR,SAA0B,KAAE,EAAE,EAAE,CAAC,GAAE,EAAC,GAAE,GAAE,gBAAgB,CAAC,IAAG,MAAG,CAAC,MAAS,GAAE,2BAAR,SAAkC,KAAE,GAAE,wBAAwB,IAAE,EAAC,IAAG,KAAE,IAAQ,MAAN,QAAS,GAAE,SAAO,KAAS,GAAE,OAAR,SAAc,KAAE,EAAE,GAAE,MAAM,QAAQ,IAAG,KAAE,EAAE,IAAE,EAAE,EAAC,IAAE,KAAE,CAAC,EAAC,GAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,EAAC,GAAE,GAAE,OAAK,GAAE,KAAI,GAAE,OAAK,MAAK,GAAE,IAAI,UAAQ,GAAE,KAAK,EAAC,GAAE,OAAI,GAAE,MAAI,GAAE,KAAG;AAAA,QAAM,OAAM,IAAE;AAAA,QAAC,IAAG,GAAE,MAAI,MAAK,MAAS,MAAN;AAAA,UAAQ,IAAG,GAAE,MAAK;AAAA,YAAC,KAAI,GAAE,OAAK,KAAE,MAAI,IAAI,MAAM,GAAE,YAAL,KAAe,GAAE;AAAA,cAAa,KAAE,GAAE;AAAA,YAAY,GAAE,GAAE,QAAQ,EAAC,KAAG,MAAK,GAAE,MAAI;AAAA,UAAC,EAAK;AAAA,YAAC,KAAI,KAAE,GAAE,OAAO;AAAA,cAAK,EAAE,GAAE,GAAE;AAAA,YAAE,EAAE,EAAC;AAAA;AAAA,QAAO;AAAA,aAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,KAAI,GAAE,QAAM,EAAE,EAAC;AAAA,QAAE,EAAE,IAAI,IAAE,IAAE,EAAC;AAAA;AAAA,IAAO;AAAA,MAAM,MAAN,QAAS,GAAE,OAAK,GAAE,OAAK,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,OAAK,KAAE,GAAE,MAAI,EAAE,GAAE,KAAI,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,EAAC;AAAA,EAAE,QAAO,KAAE,EAAE,WAAS,GAAE,EAAC,GAAE,MAAI,GAAE,MAAS,YAAE;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,MAAG,GAAE,QAAM,GAAE,IAAI,MAAI,OAAI,MAAG,GAAE,OAAK,GAAE,IAAI,QAAQ,CAAC;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO;AAAA,IAAI,EAAE,GAAE,KAAG,GAAE,EAAE,KAAG,GAAE,EAAE,GAAE;AAAA,EAAE,EAAE,OAAK,EAAE,IAAI,IAAE,EAAC,GAAE,GAAE,KAAK,QAAQ,CAAC,IAAE;AAAA,IAAC,IAAG;AAAA,MAAC,KAAE,GAAE,KAAI,GAAE,MAAI,CAAC,GAAE,GAAE,KAAK,QAAQ,CAAC,IAAE;AAAA,QAAC,GAAE,KAAK,EAAC;AAAA,OAAE;AAAA,MAAE,OAAM,IAAE;AAAA,MAAC,EAAE,IAAI,IAAE,GAAE,GAAG;AAAA;AAAA,GAAG;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,OAAgB,OAAO,MAAjB,YAA0B,MAAN,QAAS,GAAE,OAAK,GAAE,MAAI,IAAE,KAAE,EAAE,EAAC,IAAE,GAAE,IAAI,CAAC,IAAE,EAAE,CAAC,GAAE,EAAC;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,GAAE,SAAO,GAAE,KAAE,GAAE,OAAM,KAAE,GAAE;AAAA,EAAK,IAAU,MAAP,QAAS,KAAE,+BAAqC,MAAR,SAAU,KAAE,uCAAqC,OAAI,KAAE,iCAAsC,MAAN;AAAA,IAAQ,KAAI,KAAE,EAAE,KAAE,GAAE,QAAO;AAAA,MAAI,KAAI,KAAE,GAAE,QAAK,kBAAiB,MAAG,CAAC,CAAC,OAAI,KAAE,GAAE,aAAW,KAAK,GAAE,YAAL,IAAe;AAAA,QAAC,KAAE,IAAE,GAAE,MAAG;AAAA,QAAK;AAAA,MAAK;AAAA;AAAA,EAAC,IAAS,MAAN,MAAQ;AAAA,IAAC,IAAS,MAAN;AAAA,MAAQ,OAAO,SAAS,eAAe,EAAC;AAAA,IAAE,KAAE,SAAS,gBAAgB,IAAE,IAAE,GAAE,MAAI,EAAC,GAAE,OAAI,EAAE,OAAK,EAAE,IAAI,IAAE,EAAC,GAAE,KAAE,QAAI,KAAE;AAAA,EAAI;AAAA,EAAC,IAAS,MAAN;AAAA,IAAQ,MAAI,MAAG,MAAG,GAAE,QAAM,OAAI,GAAE,OAAK;AAAA,EAAO;AAAA,IAAC,IAAG,KAAE,MAAG,EAAE,KAAK,GAAE,UAAU,GAAE,CAAC,MAAS,MAAN;AAAA,MAAQ,KAAI,IAAE,CAAC,GAAE,KAAE,EAAE,KAAE,GAAE,WAAW,QAAO;AAAA,QAAI,EAAG,MAAE,GAAE,WAAW,KAAI,QAAM,GAAE;AAAA,IAAM,KAAI,MAAK;AAAA,MAAE,IAAG,KAAE,EAAE,KAAe,MAAZ;AAAA;AAAA,MAAoB,SAA8B,MAA3B;AAAA,QAA6B,KAAE;AAAA,MAAO,SAAG,EAAE,MAAK,KAAG;AAAA,QAAC,IAAY,MAAT,WAAY,kBAAiB,MAAc,MAAX,aAAc,oBAAmB;AAAA,UAAE;AAAA,QAAS,EAAE,IAAE,IAAE,MAAK,IAAE,EAAC;AAAA,MAAC;AAAA,IAAC,KAAI,MAAK;AAAA,MAAE,KAAE,GAAE,KAAe,MAAZ,aAAc,KAAE,KAA6B,MAA3B,4BAA6B,KAAE,KAAW,MAAT,UAAW,KAAE,KAAa,MAAX,YAAa,KAAE,KAAE,MAAe,OAAO,MAAnB,cAAsB,EAAE,QAAK,MAAG,EAAE,IAAE,IAAE,IAAE,EAAE,KAAG,EAAC;AAAA,IAAE,IAAG;AAAA,MAAE,MAAG,OAAI,GAAE,UAAQ,GAAE,UAAQ,GAAE,UAAQ,GAAE,eAAa,GAAE,YAAU,GAAE,SAAQ,GAAE,MAAI,CAAC;AAAA,IAAO,SAAG,OAAI,GAAE,YAAU,KAAI,EAAc,GAAE,QAAd,aAAmB,GAAE,UAAQ,IAAE,EAAE,EAAC,IAAE,KAAE,CAAC,EAAC,GAAE,IAAE,IAAE,IAAmB,MAAjB,kBAAmB,iCAA+B,IAAE,IAAE,IAAE,KAAE,GAAE,KAAG,GAAE,OAAK,EAAE,IAAE,CAAC,GAAE,IAAE,EAAC,GAAQ,MAAN;AAAA,MAAQ,KAAI,KAAE,GAAE,OAAO;AAAA,QAAK,EAAE,GAAE,GAAE;AAAA,IAAE,OAAI,KAAE,SAAoB,MAAZ,cAAqB,MAAN,OAAQ,GAAE,gBAAgB,OAAO,IAAQ,MAAN,SAAU,OAAI,GAAE,OAAgB,MAAZ,cAAe,CAAC,MAAa,MAAV,YAAa,MAAG,EAAE,QAAK,EAAE,IAAE,IAAE,IAAE,EAAE,KAAG,EAAC,GAAE,KAAE,WAAgB,MAAN,QAAS,MAAG,GAAE,OAAI,EAAE,IAAE,IAAE,IAAE,EAAE,KAAG,EAAC;AAAA;AAAA,EAAG,OAAO;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,IAAG;AAAA,IAAC,IAAe,OAAO,MAAnB,YAAqB;AAAA,MAAC,IAAI,KAAc,OAAO,GAAE,OAArB;AAAA,MAAyB,MAAG,GAAE,IAAI,GAAE,MAAS,MAAN,SAAU,GAAE,MAAI,GAAE,EAAC;AAAA,IAAE,EAAM;AAAA,SAAE,UAAQ;AAAA,IAAE,OAAM,IAAE;AAAA,IAAC,EAAE,IAAI,IAAE,EAAC;AAAA;AAAA;AAAG,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE;AAAA,EAAE,IAAG,EAAE,WAAS,EAAE,QAAQ,EAAC,IAAG,KAAE,GAAE,SAAO,GAAE,WAAS,GAAE,WAAS,GAAE,OAAK,EAAE,IAAE,MAAK,EAAC,KAAU,KAAE,GAAE,QAAX,MAAgB;AAAA,IAAC,IAAG,GAAE;AAAA,MAAqB,IAAG;AAAA,QAAC,GAAE,qBAAqB;AAAA,QAAE,OAAM,IAAE;AAAA,QAAC,EAAE,IAAI,IAAE,EAAC;AAAA;AAAA,IAAE,GAAE,OAAK,GAAE,MAAI;AAAA,EAAI;AAAA,EAAC,IAAG,KAAE,GAAE;AAAA,IAAI,KAAI,KAAE,EAAE,KAAE,GAAE,QAAO;AAAA,MAAI,GAAE,OAAI,EAAE,GAAE,KAAG,IAAE,MAAe,OAAO,GAAE,QAArB,UAAyB;AAAA,EAAE,MAAG,EAAE,GAAE,GAAG,GAAE,GAAE,MAAI,GAAE,KAAG,GAAE,MAAS;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,OAAO,KAAK,YAAY,IAAE,EAAC;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,IAAE,IAAE,IAAE;AAAA,EAAE,MAAG,aAAW,KAAE,SAAS,kBAAiB,EAAE,MAAI,EAAE,GAAG,IAAE,EAAC,GAAE,MAAG,KAAc,OAAO,MAAnB,cAAsB,OAAK,MAAG,GAAE,OAAK,GAAE,KAAI,KAAE,CAAC,GAAE,KAAE,CAAC,GAAE,EAAE,IAAE,MAAG,CAAC,MAAG,MAAG,IAAG,MAAI,EAAE,GAAE,MAAK,CAAC,EAAC,CAAC,GAAE,MAAG,GAAE,GAAE,GAAE,cAAa,CAAC,MAAG,KAAE,CAAC,EAAC,IAAE,KAAE,OAAK,GAAE,aAAW,EAAE,KAAK,GAAE,UAAU,IAAE,MAAK,IAAE,CAAC,MAAG,KAAE,KAAE,KAAE,GAAE,MAAI,GAAE,YAAW,IAAE,EAAC,GAAE,EAAE,IAAE,IAAE,EAAC;AAAA;AAA01B,IAAE,EAAE,OAAM,IAAE,EAAC,KAAI,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,SAAQ,IAAE,IAAE,GAAE,KAAE,GAAE;AAAA,IAAI,KAAI,KAAE,GAAE,QAAM,CAAC,GAAE;AAAA,MAAG,IAAG;AAAA,QAAC,KAAI,KAAE,GAAE,gBAAoB,GAAE,4BAAR,SAAmC,GAAE,SAAS,GAAE,yBAAyB,EAAC,CAAC,GAAE,KAAE,GAAE,MAAW,GAAE,qBAAR,SAA4B,GAAE,kBAAkB,IAAE,MAAG,CAAC,CAAC,GAAE,KAAE,GAAE,MAAK;AAAA,UAAE,OAAO,GAAE,MAAI;AAAA,QAAE,OAAM,IAAE;AAAA,QAAC,KAAE;AAAA;AAAA,EAAE,MAAM;AAAA,EAAE,GAAE,IAAE,GAAE,IAAE,QAAQ,CAAC,IAAE;AAAA,EAAC,OAAa,MAAN,QAAe,GAAE,eAAR;AAAA,GAAqB,EAAE,UAAU,WAAS,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,IAAI;AAAA,EAAE,KAAQ,KAAK,OAAX,QAAgB,KAAK,OAAK,KAAK,QAAM,KAAK,MAAI,KAAK,MAAI,EAAE,CAAC,GAAE,KAAK,KAAK,GAAc,OAAO,MAAnB,eAAuB,KAAE,GAAE,EAAE,CAAC,GAAE,EAAC,GAAE,KAAK,KAAK,IAAG,MAAG,EAAE,IAAE,EAAC,GAAQ,MAAN,QAAS,KAAK,QAAM,MAAG,KAAK,IAAI,KAAK,EAAC,GAAE,EAAE,IAAI;AAAA,GAAI,EAAE,UAAU,cAAY,QAAQ,CAAC,IAAE;AAAA,EAAC,KAAK,QAAM,KAAK,MAAI,MAAG,MAAG,KAAK,IAAI,KAAK,EAAC,GAAE,EAAE,IAAI;AAAA,GAAI,EAAE,UAAU,SAAO,GAAE,IAAE,CAAC,GAAE,IAAc,OAAO,WAAnB,aAA2B,QAAQ,UAAU,KAAK,KAAK,QAAQ,QAAQ,CAAC,IAAE,YAAW,IAAE,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,OAAO,GAAE,IAAI,MAAI,GAAE,IAAI;AAAA,GAAK,EAAE,MAAI,GAAE,IAAE,+BAA8B,IAAE,GAAE,IAAE,EAAE,KAAE,GAAE,IAAE,EAAE,IAAE,GAAE,IAAE;;;ACApiW,IAAI;AAAJ,IAAM;AAAN,IAAQ;AAAR,IAAU;AAAV,IAAY,KAAE;AAAd,IAAgB,KAAE,CAAC;AAAnB,IAAqB,KAAE;AAAvB,IAAyB,KAAE,GAAE;AAA7B,IAAiC,KAAE,GAAE;AAArC,IAAyC,KAAE,GAAE;AAA7C,IAAoD,KAAE,GAAE;AAAxD,IAA4D,KAAE,GAAE;AAAhE,IAAwE,KAAE,GAAE;AAAG,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,GAAE,OAAK,GAAE,IAAI,IAAE,IAAE,MAAG,EAAC,GAAE,KAAE;AAAA,EAAE,IAAI,KAAE,GAAE,QAAM,GAAE,MAAI,EAAC,IAAG,CAAC,GAAE,KAAI,CAAC,EAAC;AAAA,EAAG,OAAO,MAAG,GAAE,GAAG,UAAQ,GAAE,GAAG,KAAK,CAAC,CAAC,GAAE,GAAE,GAAG;AAAA;AAAkvB,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,IAAI,KAAE,GAAE,MAAI,CAAC;AAAA,EAAE,CAAC,GAAE,OAAK,GAAE,GAAE,KAAI,EAAC,MAAI,GAAE,KAAG,IAAE,GAAE,IAAE,IAAE,GAAE,IAAI,IAAI,KAAK,EAAC;AAAA;AAAmF,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,OAAO,KAAE,GAAE,GAAE,QAAQ,GAAE;AAAA,IAAC,OAAM,EAAC,SAAQ,GAAC;AAAA,KAAG,CAAC,CAAC;AAAA;AAAuN,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,IAAI,KAAE,GAAE,MAAI,CAAC;AAAA,EAAE,OAAO,GAAE,GAAE,KAAI,EAAC,MAAI,GAAE,KAAG,GAAE,GAAE,GAAE,MAAI,IAAE,GAAE,MAAI,KAAG,GAAE;AAAA;AAAG,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,OAAO,KAAE,GAAE,GAAE,QAAQ,GAAE;AAAA,IAAC,OAAO;AAAA,KAAG,EAAC;AAAA;AAAif,SAAS,EAAC,GAAE;AAAA,EAAC,SAAQ,GAAE,KAAE,GAAE,MAAM;AAAA,IAAG,IAAG,GAAE,OAAK,GAAE;AAAA,MAAI,IAAG;AAAA,QAAC,GAAE,IAAI,IAAI,QAAQ,EAAC,GAAE,GAAE,IAAI,IAAI,QAAQ,EAAC,GAAE,GAAE,IAAI,MAAI,CAAC;AAAA,QAAE,OAAM,IAAE;AAAA,QAAC,GAAE,IAAI,MAAI,CAAC,GAAE,GAAE,IAAI,IAAE,GAAE,GAAG;AAAA;AAAA;AAAG,GAAE,MAAI,QAAQ,CAAC,IAAE;AAAA,EAAC,KAAE,MAAK,MAAG,GAAE,EAAC;AAAA,GAAG,GAAE,KAAG,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,MAAG,GAAE,OAAK,GAAE,IAAI,QAAM,GAAE,MAAI,GAAE,IAAI,MAAK,MAAG,GAAE,IAAE,EAAC;AAAA,GAAG,GAAE,MAAI,QAAQ,CAAC,IAAE;AAAA,EAAC,MAAG,GAAE,EAAC,GAAE,KAAE;AAAA,EAAE,IAAI,MAAG,KAAE,GAAE,KAAK;AAAA,EAAI,OAAI,OAAI,MAAG,GAAE,MAAI,CAAC,GAAE,GAAE,MAAI,CAAC,GAAE,GAAE,GAAG,QAAQ,QAAQ,CAAC,IAAE;AAAA,IAAC,GAAE,QAAM,GAAE,KAAG,GAAE,MAAK,GAAE,IAAE,GAAE,MAAS;AAAA,GAAE,MAAI,GAAE,IAAI,QAAQ,EAAC,GAAE,GAAE,IAAI,QAAQ,EAAC,GAAE,GAAE,MAAI,CAAC,GAAE,KAAE,KAAI,KAAE;AAAA,GAAG,GAAE,SAAO,QAAQ,CAAC,IAAE;AAAA,EAAC,MAAG,GAAE,EAAC;AAAA,EAAE,IAAI,KAAE,GAAE;AAAA,EAAI,MAAG,GAAE,QAAM,GAAE,IAAI,IAAI,WAAa,GAAE,KAAK,EAAC,MAAZ,KAAe,OAAI,GAAE,2BAAyB,KAAE,GAAE,0BAAwB,IAAG,EAAC,IAAG,GAAE,IAAI,GAAG,QAAQ,QAAQ,CAAC,IAAE;AAAA,IAAC,GAAE,MAAI,GAAE,MAAI,GAAE,IAAG,GAAE,IAAO;AAAA,GAAE,IAAG,KAAE,KAAE;AAAA,GAAM,GAAE,MAAI,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,GAAE,KAAK,QAAQ,CAAC,IAAE;AAAA,IAAC,IAAG;AAAA,MAAC,GAAE,IAAI,QAAQ,EAAC,GAAE,GAAE,MAAI,GAAE,IAAI,OAAO,QAAQ,CAAC,IAAE;AAAA,QAAC,OAAM,CAAC,GAAE,MAAI,GAAE,EAAC;AAAA,OAAE;AAAA,MAAE,OAAM,IAAE;AAAA,MAAC,GAAE,KAAK,QAAQ,CAAC,IAAE;AAAA,QAAC,GAAE,QAAM,GAAE,MAAI,CAAC;AAAA,OAAG,GAAE,KAAE,CAAC,GAAE,GAAE,IAAI,IAAE,GAAE,GAAG;AAAA;AAAA,GAAG,GAAE,MAAG,GAAE,IAAE,EAAC;AAAA,GAAG,GAAE,UAAQ,QAAQ,CAAC,IAAE;AAAA,EAAC,MAAG,GAAE,EAAC;AAAA,EAAE,IAAI,IAAE,KAAE,GAAE;AAAA,EAAI,MAAG,GAAE,QAAM,GAAE,IAAI,GAAG,QAAQ,QAAQ,CAAC,IAAE;AAAA,IAAC,IAAG;AAAA,MAAC,GAAE,EAAC;AAAA,MAAE,OAAM,IAAE;AAAA,MAAC,KAAE;AAAA;AAAA,GAAG,GAAE,GAAE,MAAS,WAAE,MAAG,GAAE,IAAI,IAAE,GAAE,GAAG;AAAA;AAAI,IAAI,KAAc,OAAO,yBAAnB;AAAyC,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,IAAE,KAAE,QAAQ,GAAE;AAAA,IAAC,aAAa,EAAC,GAAE,MAAG,qBAAqB,EAAC,GAAE,WAAW,EAAC;AAAA,KAAG,KAAE,WAAW,IAAE,EAAE;AAAA,EAAE,OAAI,KAAE,sBAAsB,EAAC;AAAA;AAAG,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE,IAAE,KAAE,GAAE;AAAA,EAAgB,OAAO,MAAnB,eAAuB,GAAE,MAAS,WAAE,GAAE,IAAG,KAAE;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE;AAAA,EAAE,GAAE,MAAI,GAAE,GAAG,GAAE,KAAE;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,OAAM,CAAC,MAAG,GAAE,WAAS,GAAE,UAAQ,GAAE,KAAK,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,OAAI,GAAE;AAAA,GAAG;AAAA;;;ACA13G,IAAI,KAAE,OAAO,IAAI,gBAAgB;AAAE,SAAS,EAAC,GAAE;AAAA,EAAC,IAAG,EAAE,KAAE,IAAG;AAAA,IAAC,IAAI,IAAE,KAAE;AAAA,IAAG,OAAe,OAAJ,WAAM;AAAA,MAAC,IAAI,KAAE;AAAA,MAAE,KAAO;AAAA,MAAE;AAAA,MAAI,OAAe,OAAJ,WAAM;AAAA,QAAC,IAAI,KAAE,GAAE;AAAA,QAAE,GAAE,IAAO;AAAA,QAAE,GAAE,KAAG;AAAA,QAAG,IAAG,EAAE,IAAE,GAAE,MAAI,GAAE,EAAC;AAAA,UAAE,IAAG;AAAA,YAAC,GAAE,EAAE;AAAA,YAAE,OAAM,IAAE;AAAA,YAAC,IAAG,CAAC,IAAE;AAAA,cAAC,KAAE;AAAA,cAAE,KAAE;AAAA,YAAE;AAAA;AAAA,QAAE,KAAE;AAAA,MAAC;AAAA,IAAC;AAAA,IAAC,KAAE;AAAA,IAAE;AAAA,IAAI,IAAG;AAAA,MAAE,MAAM;AAAA,EAAC,EAAM;AAAA;AAAA;AAAoE,IAAI,KAAO;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE;AAAA,EAAE,KAAO;AAAA,EAAE,IAAG;AAAA,IAAC,OAAO,GAAE;AAAA,YAAE;AAAA,IAAQ,KAAE;AAAA;AAAA;AAAG,IAAI,KAAO;AAAX,IAAa,KAAE;AAAf,IAAiB,KAAE;AAAnB,IAAqB,KAAE;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAY,OAAJ,WAAM;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAE,IAAY,OAAJ,aAAO,GAAE,MAAI,IAAE;AAAA,MAAC,KAAE,EAAC,GAAE,GAAE,GAAE,IAAE,GAAE,GAAE,GAAE,GAAO,WAAE,GAAE,IAAE,GAAO,WAAE,GAAO,WAAE,GAAE,GAAC;AAAA,MAAE,IAAY,GAAE,MAAN;AAAA,QAAQ,GAAE,EAAE,IAAE;AAAA,MAAE,GAAE,IAAE;AAAA,MAAE,GAAE,IAAE;AAAA,MAAE,IAAG,KAAG,GAAE;AAAA,QAAE,GAAE,EAAE,EAAC;AAAA,MAAE,OAAO;AAAA,IAAC,EAAM,SAAQ,GAAE,MAAP,IAAS;AAAA,MAAC,GAAE,IAAE;AAAA,MAAE,IAAY,GAAE,MAAN,WAAQ;AAAA,QAAC,GAAE,EAAE,IAAE,GAAE;AAAA,QAAE,IAAY,GAAE,MAAN;AAAA,UAAQ,GAAE,EAAE,IAAE,GAAE;AAAA,QAAE,GAAE,IAAE,GAAE;AAAA,QAAE,GAAE,IAAO;AAAA,QAAE,GAAE,EAAE,IAAE;AAAA,QAAE,GAAE,IAAE;AAAA,MAAC;AAAA,MAAC,OAAO;AAAA,IAAC;AAAA,EAAC;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,KAAK,IAAE;AAAA,EAAE,KAAK,IAAE;AAAA,EAAE,KAAK,IAAO;AAAA,EAAE,KAAK,IAAO;AAAA,EAAE,KAAK,IAAQ,MAAN,OAAa,YAAE,GAAE;AAAA,EAAQ,KAAK,IAAQ,MAAN,OAAa,YAAE,GAAE;AAAA,EAAU,KAAK,OAAW,MAAN,OAAa,YAAE,GAAE;AAAA;AAAK,GAAE,UAAU,QAAM;AAAE,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,OAAM;AAAA;AAAI,GAAE,UAAU,IAAE,QAAQ,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE,MAAK,KAAE,KAAK;AAAA,EAAE,IAAG,OAAI,MAAY,GAAE,MAAN,WAAQ;AAAA,IAAC,GAAE,IAAE;AAAA,IAAE,KAAK,IAAE;AAAA,IAAE,IAAY,OAAJ;AAAA,MAAM,GAAE,IAAE;AAAA,IAAO;AAAA,SAAE,QAAQ,GAAE;AAAA,QAAC,IAAI;AAAA,SAAS,KAAE,GAAE,MAAX,QAAe,GAAE,KAAK,EAAC;AAAA,OAAE;AAAA,EAAC;AAAA;AAAG,GAAE,UAAU,IAAE,QAAQ,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE;AAAA,EAAK,IAAY,KAAK,MAAT,WAAW;AAAA,IAAC,MAAQ,GAAJ,IAAU,GAAJ,OAAE;AAAA,IAAI,IAAY,OAAJ,WAAM;AAAA,MAAC,GAAE,IAAE;AAAA,MAAE,GAAE,IAAO;AAAA,IAAC;AAAA,IAAC,IAAY,OAAJ,WAAM;AAAA,MAAC,GAAE,IAAE;AAAA,MAAE,GAAE,IAAO;AAAA,IAAC;AAAA,IAAC,IAAG,OAAI,KAAK,GAAE;AAAA,MAAC,KAAK,IAAE;AAAA,MAAE,IAAY,OAAJ;AAAA,QAAM,GAAE,QAAQ,GAAE;AAAA,UAAC,IAAI;AAAA,WAAS,KAAE,GAAE,MAAX,QAAe,GAAE,KAAK,EAAC;AAAA,SAAE;AAAA,IAAC;AAAA,EAAC;AAAA;AAAG,GAAE,UAAU,YAAU,QAAQ,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE;AAAA,EAAK,OAAO,GAAE,QAAQ,GAAE;AAAA,IAAC,IAAI,KAAE,GAAE,OAAM,KAAE;AAAA,IAAE,KAAO;AAAA,IAAE,IAAG;AAAA,MAAC,GAAE,EAAC;AAAA,cAAE;AAAA,MAAQ,KAAE;AAAA;AAAA,KAAI,EAAC,MAAK,MAAK,CAAC;AAAA;AAAG,GAAE,UAAU,UAAQ,QAAQ,GAAE;AAAA,EAAC,OAAO,KAAK;AAAA;AAAO,GAAE,UAAU,WAAS,QAAQ,GAAE;AAAA,EAAC,OAAO,KAAK,QAAM;AAAA;AAAI,GAAE,UAAU,SAAO,QAAQ,GAAE;AAAA,EAAC,OAAO,KAAK;AAAA;AAAO,GAAE,UAAU,OAAK,QAAQ,GAAE;AAAA,EAAC,IAAI,KAAE;AAAA,EAAE,KAAO;AAAA,EAAE,IAAG;AAAA,IAAC,OAAO,KAAK;AAAA,YAAM;AAAA,IAAQ,KAAE;AAAA;AAAA;AAAI,OAAO,eAAe,GAAE,WAAU,SAAQ,EAAC,KAAI,QAAQ,GAAE;AAAA,EAAC,IAAI,KAAE,GAAE,IAAI;AAAA,EAAE,IAAY,OAAJ;AAAA,IAAM,GAAE,IAAE,KAAK;AAAA,EAAE,OAAO,KAAK;AAAA,GAAG,KAAI,QAAQ,CAAC,IAAE;AAAA,EAAC,IAAG,OAAI,KAAK,GAAE;AAAA,IAAC,IAAG,KAAE;AAAA,MAAI,MAAM,IAAI,MAAM,gBAAgB;AAAA,IAAE,KAAK,IAAE;AAAA,IAAE,KAAK;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI,IAAG;AAAA,MAAC,SAAQ,KAAE,KAAK,EAAW,OAAJ,WAAM,KAAE,GAAE;AAAA,QAAE,GAAE,EAAE,EAAE;AAAA,cAAE;AAAA,MAAQ,GAAE;AAAA;AAAA,EAAE;AAAA,EAAE,CAAC;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,OAAO,IAAI,GAAE,IAAE,EAAC;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,SAAQ,KAAE,GAAE,EAAW,OAAJ,WAAM,KAAE,GAAE;AAAA,IAAE,IAAG,GAAE,EAAE,MAAI,GAAE,KAAG,CAAC,GAAE,EAAE,EAAE,KAAG,GAAE,EAAE,MAAI,GAAE;AAAA,MAAE,OAAM;AAAA,EAAG,OAAM;AAAA;AAAG,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,SAAQ,KAAE,GAAE,EAAW,OAAJ,WAAM,KAAE,GAAE,GAAE;AAAA,IAAC,IAAI,KAAE,GAAE,EAAE;AAAA,IAAE,IAAY,OAAJ;AAAA,MAAM,GAAE,IAAE;AAAA,IAAE,GAAE,EAAE,IAAE;AAAA,IAAE,GAAE,IAAE;AAAA,IAAG,IAAY,GAAE,MAAN,WAAQ;AAAA,MAAC,GAAE,IAAE;AAAA,MAAE;AAAA,IAAK;AAAA,EAAC;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE,GAAE,GAAE,KAAO;AAAA,EAAE,OAAe,OAAJ,WAAM;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAE,IAAQ,GAAE,MAAP,IAAS;AAAA,MAAC,GAAE,EAAE,EAAE,EAAC;AAAA,MAAE,IAAY,OAAJ;AAAA,QAAM,GAAE,IAAE,GAAE;AAAA,MAAE,IAAY,GAAE,MAAN;AAAA,QAAQ,GAAE,EAAE,IAAE;AAAA,IAAC,EAAM;AAAA,WAAE;AAAA,IAAE,GAAE,EAAE,IAAE,GAAE;AAAA,IAAE,IAAY,GAAE,MAAN;AAAA,MAAQ,GAAE,IAAO;AAAA,IAAE,KAAE;AAAA,EAAC;AAAA,EAAC,GAAE,IAAE;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,GAAE,KAAK,MAAU,SAAC;AAAA,EAAE,KAAK,IAAE;AAAA,EAAE,KAAK,IAAO;AAAA,EAAE,KAAK,IAAE,KAAE;AAAA,EAAE,KAAK,IAAE;AAAA,EAAE,KAAK,IAAQ,MAAN,OAAa,YAAE,GAAE;AAAA,EAAQ,KAAK,IAAQ,MAAN,OAAa,YAAE,GAAE;AAAA,EAAU,KAAK,OAAW,MAAN,OAAa,YAAE,GAAE;AAAA;AAAK,GAAE,YAAU,IAAI;AAAE,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,KAAK,KAAG;AAAA,EAAG,IAAG,IAAE,KAAK;AAAA,IAAE,OAAM;AAAA,EAAG,KAAQ,KAAG,KAAK,MAAb;AAAA,IAAgB,OAAM;AAAA,EAAG,KAAK,KAAG;AAAA,EAAG,IAAG,KAAK,MAAI;AAAA,IAAE,OAAM;AAAA,EAAG,KAAK,IAAE;AAAA,EAAE,KAAK,KAAG;AAAA,EAAE,IAAG,KAAK,IAAE,KAAG,CAAC,GAAE,IAAI,GAAE;AAAA,IAAC,KAAK,KAAG;AAAA,IAAG,OAAM;AAAA,EAAE;AAAA,EAAC,IAAI,KAAE;AAAA,EAAE,IAAG;AAAA,IAAC,GAAE,IAAI;AAAA,IAAE,KAAE;AAAA,IAAK,IAAI,KAAE,KAAK,EAAE;AAAA,IAAE,IAAG,KAAG,KAAK,KAAG,KAAK,MAAI,MAAO,KAAK,MAAT,GAAW;AAAA,MAAC,KAAK,IAAE;AAAA,MAAE,KAAK,KAAG;AAAA,MAAI,KAAK;AAAA,IAAG;AAAA,IAAE,OAAM,IAAE;AAAA,IAAC,KAAK,IAAE;AAAA,IAAE,KAAK,KAAG;AAAA,IAAG,KAAK;AAAA;AAAA,EAAI,KAAE;AAAA,EAAE,GAAE,IAAI;AAAA,EAAE,KAAK,KAAG;AAAA,EAAG,OAAM;AAAA;AAAI,GAAE,UAAU,IAAE,QAAQ,CAAC,IAAE;AAAA,EAAC,IAAY,KAAK,MAAT,WAAW;AAAA,IAAC,KAAK,KAAG;AAAA,IAAG,SAAQ,KAAE,KAAK,EAAW,OAAJ,WAAM,KAAE,GAAE;AAAA,MAAE,GAAE,EAAE,EAAE,EAAC;AAAA,EAAC;AAAA,EAAC,GAAE,UAAU,EAAE,KAAK,MAAK,EAAC;AAAA;AAAG,GAAE,UAAU,IAAE,QAAQ,CAAC,IAAE;AAAA,EAAC,IAAY,KAAK,MAAT,WAAW;AAAA,IAAC,GAAE,UAAU,EAAE,KAAK,MAAK,EAAC;AAAA,IAAE,IAAY,KAAK,MAAT,WAAW;AAAA,MAAC,KAAK,KAAG;AAAA,MAAI,SAAQ,KAAE,KAAK,EAAW,OAAJ,WAAM,KAAE,GAAE;AAAA,QAAE,GAAE,EAAE,EAAE,EAAC;AAAA,IAAC;AAAA,EAAC;AAAA;AAAG,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,IAAG,EAAE,IAAE,KAAK,IAAG;AAAA,IAAC,KAAK,KAAG;AAAA,IAAE,SAAQ,KAAE,KAAK,EAAW,OAAJ,WAAM,KAAE,GAAE;AAAA,MAAE,GAAE,EAAE,EAAE;AAAA,EAAC;AAAA;AAAG,OAAO,eAAe,GAAE,WAAU,SAAQ,EAAC,KAAI,QAAQ,GAAE;AAAA,EAAC,IAAG,IAAE,KAAK;AAAA,IAAE,MAAM,IAAI,MAAM,gBAAgB;AAAA,EAAE,IAAI,KAAE,GAAE,IAAI;AAAA,EAAE,KAAK,EAAE;AAAA,EAAE,IAAY,OAAJ;AAAA,IAAM,GAAE,IAAE,KAAK;AAAA,EAAE,IAAG,KAAG,KAAK;AAAA,IAAE,MAAM,KAAK;AAAA,EAAE,OAAO,KAAK;AAAA,EAAE,CAAC;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,OAAO,IAAI,GAAE,IAAE,EAAC;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE,GAAE;AAAA,EAAE,GAAE,IAAO;AAAA,EAAE,IAAe,OAAO,MAAnB,YAAqB;AAAA,IAAC;AAAA,IAAI,IAAI,KAAE;AAAA,IAAE,KAAO;AAAA,IAAE,IAAG;AAAA,MAAC,GAAE;AAAA,MAAE,OAAM,IAAE;AAAA,MAAC,GAAE,KAAG;AAAA,MAAG,GAAE,KAAG;AAAA,MAAE,EAAE,EAAC;AAAA,MAAE,MAAM;AAAA,cAAE;AAAA,MAAQ,KAAE;AAAA,MAAE,GAAE;AAAA;AAAA,EAAE;AAAA;AAAE,SAAS,CAAC,CAAC,IAAE;AAAA,EAAC,SAAQ,KAAE,GAAE,EAAW,OAAJ,WAAM,KAAE,GAAE;AAAA,IAAE,GAAE,EAAE,EAAE,EAAC;AAAA,EAAE,GAAE,IAAO;AAAA,EAAE,GAAE,IAAO;AAAA,EAAE,GAAE,EAAC;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAG,OAAI;AAAA,IAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,EAAE,GAAE,IAAI;AAAA,EAAE,KAAE;AAAA,EAAE,KAAK,KAAG;AAAA,EAAG,IAAG,IAAE,KAAK;AAAA,IAAE,EAAE,IAAI;AAAA,EAAE,GAAE;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,KAAK,IAAE;AAAA,EAAE,KAAK,IAAO;AAAA,EAAE,KAAK,IAAO;AAAA,EAAE,KAAK,IAAO;AAAA,EAAE,KAAK,IAAE;AAAA,EAAG,KAAK,OAAW,MAAN,OAAa,YAAE,GAAE;AAAA;AAAK,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,IAAI,KAAE,KAAK,EAAE;AAAA,EAAE,IAAG;AAAA,IAAC,IAAG,IAAE,KAAK;AAAA,MAAE;AAAA,IAAO,IAAY,KAAK,MAAT;AAAA,MAAW;AAAA,IAAO,IAAI,KAAE,KAAK,EAAE;AAAA,IAAE,IAAe,OAAO,MAAnB;AAAA,MAAqB,KAAK,IAAE;AAAA,YAAE;AAAA,IAAQ,GAAE;AAAA;AAAA;AAAI,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,IAAG,IAAE,KAAK;AAAA,IAAE,MAAM,IAAI,MAAM,gBAAgB;AAAA,EAAE,KAAK,KAAG;AAAA,EAAE,KAAK,KAAG;AAAA,EAAG,GAAE,IAAI;AAAA,EAAE,GAAE,IAAI;AAAA,EAAE;AAAA,EAAI,IAAI,KAAE;AAAA,EAAE,KAAE;AAAA,EAAK,OAAO,GAAE,KAAK,MAAK,EAAC;AAAA;AAAG,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,IAAG,EAAE,IAAE,KAAK,IAAG;AAAA,IAAC,KAAK,KAAG;AAAA,IAAE,KAAK,IAAE;AAAA,IAAE,KAAE;AAAA,EAAI;AAAA;AAAG,GAAE,UAAU,IAAE,QAAQ,GAAE;AAAA,EAAC,KAAK,KAAG;AAAA,EAAE,IAAG,EAAE,IAAE,KAAK;AAAA,IAAG,EAAE,IAAI;AAAA;AAAG,GAAE,UAAU,UAAQ,QAAQ,GAAE;AAAA,EAAC,KAAK,EAAE;AAAA;AAAG,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,IAAI,KAAE,IAAI,GAAE,IAAE,EAAC;AAAA,EAAE,IAAG;AAAA,IAAC,GAAE,EAAE;AAAA,IAAE,OAAM,IAAE;AAAA,IAAC,GAAE,EAAE;AAAA,IAAE,MAAM;AAAA;AAAA,EAAE,IAAI,KAAE,GAAE,EAAE,KAAK,EAAC;AAAA,EAAE,GAAE,OAAO,WAAS;AAAA,EAAE,OAAO;AAAA;;;ACAnrI,IAAI;AAAJ,IAAM;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,EAAC,EAAE,MAAG,GAAE,KAAK,MAAK,EAAE,OAAI,QAAQ,GAAE,EAAE;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAG;AAAA,IAAE,GAAE;AAAA,EAAE,KAAE,MAAG,GAAE,EAAE;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE,MAAK,KAAE,GAAE,MAAK,KAAE,UAAU,EAAC;AAAA,EAAE,GAAE,QAAM;AAAA,EAAE,IAAI,KAAE,GAAE,QAAQ,GAAE;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAI,OAAM,KAAE,GAAE;AAAA,MAAG,IAAG,GAAE,KAAI;AAAA,QAAC,GAAE,IAAI,QAAM;AAAA,QAAE;AAAA,MAAK;AAAA,IAAC,GAAE,KAAK,IAAE,QAAQ,GAAE;AAAA,MAAC,IAAI,IAAE,KAAE,GAAE,KAAK,EAAE,GAAE,KAAE,GAAE;AAAA,MAAM,GAAE;AAAA,MAAE,IAAG,EAAE,EAAC,OAAe,KAAE,GAAE,SAAX,OAAsB,YAAE,GAAE,cAA/B,GAAyC;AAAA,QAAC,GAAE,QAAM;AAAA,QAAE,GAAE,SAAS,CAAC,CAAC;AAAA,MAAC,EAAM;AAAA,WAAE,KAAK,OAAK;AAAA;AAAA,IAAG,OAAO,GAAE,QAAQ,GAAE;AAAA,MAAC,IAAI,KAAE,GAAE,MAAM;AAAA,MAAM,OAAW,OAAJ,IAAM,IAAO,OAAL,OAAO,KAAG,MAAG;AAAA,KAAG;AAAA,KAAG,CAAC,CAAC;AAAA,EAAE,OAAO,GAAE;AAAA;AAAM,GAAE,cAAY;AAAM,OAAO,iBAAiB,GAAE,WAAU,EAAC,aAAY,EAAC,cAAa,MAAG,OAAW,UAAC,GAAE,MAAK,EAAC,cAAa,MAAG,OAAM,GAAC,GAAE,OAAM,EAAC,cAAa,MAAG,KAAI,QAAQ,GAAE;AAAA,EAAC,OAAM,EAAC,MAAK,KAAI;AAAA,EAAE,GAAE,KAAI,EAAC,cAAa,MAAG,OAAM,EAAC,EAAC,CAAC;AAAE,GAAE,OAAM,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,IAAa,OAAO,GAAE,QAAnB,UAAwB;AAAA,IAAC,IAAI,IAAE,KAAE,GAAE;AAAA,IAAM,SAAQ,MAAK;AAAA,MAAE,IAAgB,OAAb,YAAe;AAAA,QAAC,IAAI,KAAE,GAAE;AAAA,QAAG,IAAG,cAAa,IAAE;AAAA,UAAC,IAAG,CAAC;AAAA,YAAE,GAAE,OAAK,KAAE,CAAC;AAAA,UAAE,GAAE,MAAG;AAAA,UAAE,GAAE,MAAG,GAAE,KAAK;AAAA,QAAC;AAAA,MAAC;AAAA,EAAC;AAAA,EAAC,GAAE,EAAC;AAAA,CAAE;AAAE,GAAE,OAAM,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,GAAE;AAAA,EAAE,IAAI,IAAE,KAAE,GAAE;AAAA,EAAI,IAAG,IAAE;AAAA,IAAC,GAAE,QAAM;AAAA,IAAG,KAAa,KAAE,GAAE,UAAT;AAAA,MAAe,GAAE,OAAK,KAAE,QAAQ,CAAC,IAAE;AAAA,QAAC,IAAI;AAAA,QAAE,GAAE,QAAQ,GAAE;AAAA,UAAC,KAAE;AAAA,SAAK;AAAA,QAAE,GAAE,IAAE,QAAQ,GAAE;AAAA,UAAC,GAAE,QAAM;AAAA,UAAE,GAAE,SAAS,CAAC,CAAC;AAAA;AAAA,QAAG,OAAO;AAAA,QAAG;AAAA,EAAC;AAAA,EAAC,KAAE;AAAA,EAAE,GAAE,EAAC;AAAA,EAAE,GAAE,EAAC;AAAA,CAAE;AAAE,GAAE,OAAM,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,GAAE;AAAA,EAAE,KAAO;AAAA,EAAE,GAAE,IAAE,IAAE,EAAC;AAAA,CAAE;AAAE,GAAE,UAAS,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,GAAE;AAAA,EAAE,KAAO;AAAA,EAAE,IAAI;AAAA,EAAE,IAAa,OAAO,GAAE,QAAnB,aAA0B,KAAE,GAAE,MAAK;AAAA,IAAC,MAAQ,MAAJ,IAAa,OAAJ,OAAE;AAAA,IAAQ,IAAG,IAAE;AAAA,MAAC,IAAI,KAAE,GAAE;AAAA,MAAE,IAAG;AAAA,QAAE,SAAQ,MAAK,IAAE;AAAA,UAAC,IAAI,KAAE,GAAE;AAAA,UAAG,IAAY,OAAJ,aAAO,EAAE,MAAK,KAAG;AAAA,YAAC,GAAE,EAAE;AAAA,YAAE,GAAE,MAAQ;AAAA,UAAC;AAAA,QAAC;AAAA,MAAM;AAAA,WAAE,IAAE,KAAE,CAAC;AAAA,MAAE,SAAQ,MAAK,IAAE;AAAA,QAAC,IAAI,KAAE,GAAE,KAAG,KAAE,GAAE;AAAA,QAAG,IAAY,OAAJ,WAAM;AAAA,UAAC,KAAE,GAAE,IAAE,IAAE,IAAE,EAAC;AAAA,UAAE,GAAE,MAAG;AAAA,QAAC,EAAM;AAAA,aAAE,EAAE,IAAE,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,GAAE,EAAC;AAAA,CAAE;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAI,KAAE,MAAK,MAAY,GAAE,oBAAN,WAAsB,KAAE,GAAE,EAAC;AAAA,EAAE,OAAM,EAAC,GAAE,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,GAAE,QAAM;AAAA,IAAE,KAAE;AAAA,KAAG,GAAE,GAAE,QAAQ,GAAE;AAAA,IAAC,IAAI,KAAE,GAAE,MAAM;AAAA,IAAM,IAAG,GAAE,QAAK,IAAE;AAAA,MAAC,GAAE,MAAG;AAAA,MAAE,IAAG;AAAA,QAAE,GAAE,MAAG;AAAA,MAAO,SAAG;AAAA,QAAE,GAAE,aAAa,IAAE,EAAC;AAAA,MAAO;AAAA,WAAE,gBAAgB,EAAC;AAAA,IAAC;AAAA,GAAE,EAAC;AAAA;AAAE,GAAE,WAAU,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,IAAa,OAAO,GAAE,QAAnB,UAAwB;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAI,IAAG,IAAE;AAAA,MAAC,IAAI,KAAE,GAAE;AAAA,MAAE,IAAG,IAAE;AAAA,QAAC,GAAE,IAAO;AAAA,QAAE,SAAQ,MAAK,IAAE;AAAA,UAAC,IAAI,KAAE,GAAE;AAAA,UAAG,IAAG;AAAA,YAAE,GAAE,EAAE;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,EAAK;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAI,IAAG,IAAE;AAAA,MAAC,IAAI,KAAE,GAAE;AAAA,MAAK,IAAG,IAAE;AAAA,QAAC,GAAE,OAAU;AAAA,QAAE,GAAE,EAAE;AAAA,MAAC;AAAA,IAAC;AAAA;AAAA,EAAE,GAAE,EAAC;AAAA,CAAE;AAAE,GAAE,OAAM,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,IAAG,KAAE,KAAO,OAAJ;AAAA,IAAM,GAAE,QAAM;AAAA,EAAE,GAAE,IAAE,IAAE,EAAC;AAAA,CAAE;AAAE,EAAE,UAAU,wBAAsB,QAAQ,CAAC,IAAE,IAAE;AAAA,EAAC,IAAI,KAAE,KAAK,MAAK,KAAE,MAAY,GAAE,MAAN;AAAA,EAAQ,SAAQ,MAAK;AAAA,IAAE,OAAM;AAAA,EAAG,IAAG,KAAK,OAAgB,OAAO,KAAK,KAAvB,aAA+B,KAAK,MAAV,MAAY;AAAA,IAAC,IAAG,EAAE,MAAG,IAAE,KAAK,QAAM,IAAE,KAAK;AAAA,MAAM,OAAM;AAAA,IAAG,IAAG,IAAE,KAAK;AAAA,MAAK,OAAM;AAAA,EAAE,EAAK;AAAA,IAAC,IAAG,EAAE,MAAG,IAAE,KAAK;AAAA,MAAM,OAAM;AAAA,IAAG,IAAG,IAAE,KAAK;AAAA,MAAK,OAAM;AAAA;AAAA,EAAG,SAAQ,MAAK;AAAA,IAAE,IAAgB,OAAb,cAAgB,GAAE,QAAK,KAAK,MAAM;AAAA,MAAG,OAAM;AAAA,EAAG,SAAQ,MAAK,KAAK;AAAA,IAAM,IAAG,EAAE,MAAK;AAAA,MAAG,OAAM;AAAA,EAAG,OAAM;AAAA;AAAI,SAAS,SAAS,CAAC,IAAE;AAAA,EAAC,OAAO,GAAE,QAAQ,GAAE;AAAA,IAAC,OAAO,GAAE,EAAC;AAAA,KAAG,CAAC,CAAC;AAAA;AAA6H,SAAS,eAAe,CAAC,IAAE;AAAA,EAAC,IAAI,KAAE,GAAE,EAAC;AAAA,EAAE,GAAE,UAAQ;AAAA,EAAE,GAAE,QAAQ,GAAE;AAAA,IAAC,OAAO,GAAE,QAAQ,GAAE;AAAA,MAAC,OAAO,GAAE,QAAQ;AAAA,KAAE;AAAA,KAAG,CAAC,CAAC;AAAA;;;ACiCv2F,IAAM,YAAY,GAAO,KAAK;AAC9B,IAAM,YAAY,GAAkB;AAAA,EAClC,OAAO;AAAA,EACP,UAAU;AAAA,EACV,KAAK;AAAA,EACL,OAAO,CAAC;AACV,CAAC;AACD,IAAM,OAAO,GAAc,CAAC,CAAC;AAEtB,IAAM,aAAyB;AAAA,EAEpC;AAAA,EAGA;AAAA,EAGA;AAAA,EAGA,MAAM,GAAS,MAAM,UAAU,MAAM,MAAM,MAAM,IAAI;AAAA,EAGrD,WAAW,GAAS,MAAM;AAAA,IACxB,MAAM,OAAO,UAAU,MAAM,MAAM;AAAA,IACnC,OAAO,OAAO,KAAK,MAAM,KAAK,MAAM;AAAA,GACrC;AACH;AAEO,SAAS,MAAM,CAAC,KAAgB;AAAA,EACrC,WAAW,KAAK,QAAQ,CAAC,GAAG,WAAW,KAAK,OAAO,GAAG;AAAA;AAGjD,SAAS,UAAU,CAAC,IAAY,SAA8B;AAAA,EACnE,MAAM,QAAQ,CAAC,GAAG,WAAW,UAAU,MAAM,KAAK;AAAA,EAClD,MAAM,MAAM,MAAM,UAAU,CAAC,OAAM,GAAE,OAAO,EAAE;AAAA,EAC9C,MAAM,WAAW,MAAM;AAAA,EACvB,IAAI,OAAO,KAAK,UAAU;AAAA,IACxB,MAAM,OAAO;AAAA,MACX,IAAI,QAAQ,MAAM,SAAS;AAAA,MAC3B,UAAU,QAAQ,YAAY,SAAS;AAAA,MACvC,KAAK,QAAQ,OAAO,SAAS;AAAA,MAC7B,KAAK,QAAQ,OAAO,SAAS;AAAA,MAC7B,gBAAgB,QAAQ,kBAAkB,SAAS;AAAA,IACrD;AAAA,IACA,WAAW,UAAU,QAAQ;AAAA,SACxB,WAAW,UAAU;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA;AAGK,SAAS,OAAO,CAAC,MAAkB;AAAA,EACxC,WAAW,UAAU,QAAQ;AAAA,OACxB,WAAW,UAAU;AAAA,IACxB,OAAO,CAAC,GAAG,WAAW,UAAU,MAAM,OAAO,IAAI;AAAA,EACnD;AAAA;AAGK,SAAS,UAAU,CAAC,IAAkB;AAAA,EAC3C,WAAW,UAAU,QAAQ;AAAA,OACxB,WAAW,UAAU;AAAA,IACxB,OAAO,WAAW,UAAU,MAAM,MAAM,OAAO,CAAC,OAAM,GAAE,OAAO,EAAE;AAAA,EACnE;AAAA;AAGK,SAAS,UAAU,CAAC,IAAkB;AAAA,EAC3C,WAAW,UAAU,QAAQ;AAAA,OACxB,WAAW,UAAU;AAAA,IACxB,OAAO;AAAA,EACT;AAAA;AAGK,SAAS,WAAW,CAAC,IAAkB;AAAA,EAC5C,WAAW,UAAU,QAAQ;AAAA,OACxB,WAAW,UAAU;AAAA,IACxB,UAAU;AAAA,EACZ;AAAA;AAGK,SAAS,SAAS,GAAS;AAAA,EAChC,WAAW,KAAK,QAAQ,CAAC;AAAA;AAGpB,SAAS,UAAU,GAAS;AAAA,EACjC,WAAW,UAAU,QAAQ;AAAA,EAC7B,WAAW,KAAK,QAAQ,CAAC;AAAA,EACzB,WAAW,UAAU,QAAQ;AAAA,IAC3B,OAAO;AAAA,IACP,UAAU;AAAA,IACV,KAAK;AAAA,IACL,OAAO,CAAC;AAAA,EACV;AAAA;;AC7HgX,IAA0E,KAAE;AAAkB,SAAS,EAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,OAAI,KAAE,CAAC;AAAA,EAAG,IAAI,IAAE,IAAE,KAAE;AAAA,EAAE,IAAG,SAAQ;AAAA,IAAE,KAAI,MAAK,KAAE,CAAC,GAAE;AAAA,MAAS,MAAP,QAAS,KAAE,GAAE,MAAG,GAAE,MAAG,GAAE;AAAA,EAAG,IAAI,KAAE,EAAC,MAAK,IAAE,OAAM,IAAE,KAAI,IAAE,KAAI,IAAE,KAAI,MAAK,IAAG,MAAK,KAAI,GAAE,KAAI,MAAK,KAAI,MAAK,aAAiB,WAAE,KAAI,EAAE,IAAE,KAAI,IAAG,KAAI,GAAE,UAAS,IAAE,QAAO,GAAC;AAAA,EAAE,IAAe,OAAO,MAAnB,eAAuB,KAAE,GAAE;AAAA,IAAc,KAAI,MAAK;AAAA,MAAW,GAAE,QAAN,cAAW,GAAE,MAAG,GAAE;AAAA,EAAI,OAAO,EAAE,SAAO,EAAE,MAAM,EAAC,GAAE;AAAA;;;ACGnyB,SAAS,KAAK,GAAG;AAAA,EACtB,MAAM,OAAO,WAAW,KAAK;AAAA,EAC7B,MAAM,aAAY,WAAW,UAAU;AAAA,EAGvC,MAAM,iBAAiB,UAAyB,IAAI;AAAA,EAEpD,gBAAgB,MAAM;AAAA,IACpB,MAAM,KAAI,WAAW,KAAK;AAAA,IAC1B,IAAI,CAAC,IAAG;AAAA,MACN,eAAe,QAAQ;AAAA,MACvB;AAAA,IACF;AAAA,IAEA,MAAM,SAAS,MAAM;AAAA,MACnB,eAAe,SAAS,YAAY,IAAI,IAAI,GAAE,gBAAgB,QAAQ,CAAC;AAAA;AAAA,IAEzE,OAAO;AAAA,IACP,MAAM,KAAK,YAAY,QAAQ,GAAG;AAAA,IAClC,OAAO,MAAM,cAAc,EAAE;AAAA,GAC9B;AAAA,EAED,IAAI,CAAC,MAAM;AAAA,IACT,uBACE,GAGE,OAHF;AAAA,MAAK,WAAU;AAAA,MAAf,UAGE;AAAA,wBAFA,GAAmB,MAAnB;AAAA;AAAA,4CAAmB;AAAA,wBACnB,GAAsB,KAAtB;AAAA;AAAA,4CAAsB;AAAA;AAAA,OAFxB,gCAGE;AAAA,EAEN;AAAA,EAEA,uBACE,GA8BE,OA9BF;AAAA,IAAK,WAAU;AAAA,IAAf,UA8BE;AAAA,sBA7BA,GAAqC,MAArC;AAAA,kBAAqC;AAAA,UAArC;AAAA,UAAqB,KAAK;AAAA;AAAA,SAA1B,gCAAqC;AAAA,sBACrC,GA2BE,SA3BF;AAAA,kCACE,GAyBE,SAzBF;AAAA,oBAyBE;AAAA,4BAxBA,GAGE,MAHF;AAAA,wBAGE;AAAA,gCAFA,GAAiB,MAAjB;AAAA;AAAA,oDAAiB;AAAA,gCACjB,GAAuB,MAAvB;AAAA,4BAAK,WAAU;AAAA,mBAAf,iCAAuB;AAAA;AAAA,eAFzB,gCAGE;AAAA,4BACF,GAGE,MAHF;AAAA,wBAGE;AAAA,gCAFA,GAAoB,MAApB;AAAA;AAAA,oDAAoB;AAAA,gCACpB,GAA0B,MAA1B;AAAA,4BAAK,WAAU;AAAA,mBAAf,iCAA0B;AAAA;AAAA,eAF5B,gCAGE;AAAA,4BACF,GAGE,MAHF;AAAA,wBAGE;AAAA,gCAFA,GAAe,MAAf;AAAA;AAAA,oDAAe;AAAA,gCACf,GAA2B,MAA3B;AAAA,4BAAK,KAAK,MAAM,KAAK;AAAA,mBAArB,iCAA2B;AAAA;AAAA,eAF7B,gCAGE;AAAA,4BACF,GAGE,MAHF;AAAA,wBAGE;AAAA,gCAFA,GAAiB,MAAjB;AAAA;AAAA,oDAAiB;AAAA,gCACjB,GAAgB,MAAhB;AAAA,4BAAK,KAAK;AAAA,mBAAV,iCAAgB;AAAA;AAAA,eAFlB,gCAGE;AAAA,4BACF,GAGE,MAHF;AAAA,wBAGE;AAAA,gCAFA,GAAiB,MAAjB;AAAA;AAAA,oDAAiB;AAAA,gCACjB,GAAgB,MAAhB;AAAA,4BAAK,KAAK;AAAA,mBAAV,iCAAgB;AAAA;AAAA,eAFlB,gCAGE;AAAA,4BACF,GAGE,MAHF;AAAA,wBAGE;AAAA,gCAFA,GAA4B,MAA5B;AAAA;AAAA,oDAA4B;AAAA,gCAC5B,GAA8B,MAA9B;AAAA,4BAA8B;AAAA,oBAAzB,eAAe;AAAA,oBAApB;AAAA;AAAA,mDAA8B;AAAA;AAAA,eAFhC,gCAGE;AAAA;AAAA,WAxBJ,gCAyBE;AAAA,SA1BJ,iCA2BE;AAAA;AAAA,KA7BJ,gCA8BE;AAAA;;;AC/DC,SAAS,aAAa,CAAC,YAAY,IAAI;AAAA,EAC5C,MAAM,eAAe,GAA2B,IAAI;AAAA,EACpD,MAAM,gBAAgB,GAAO,IAAI;AAAA,EAEjC,MAAM,WAAW,GAAY,MAAM;AAAA,IACjC,MAAM,KAAK,aAAa;AAAA,IACxB,IAAI,CAAC;AAAA,MAAI;AAAA,IAET,MAAM,qBACJ,GAAG,eAAe,GAAG,YAAY,GAAG;AAAA,IACtC,cAAc,UAAU,qBAAqB;AAAA,KAC5C,CAAC,SAAS,CAAC;AAAA,EAEd,MAAM,iBAAiB,GAAY,MAAM;AAAA,IACvC,MAAM,KAAK,aAAa;AAAA,IACxB,IAAI,CAAC;AAAA,MAAI;AAAA,IAGT,sBAAsB,MAAM;AAAA,MAC1B,GAAG,YAAY,GAAG;AAAA,KACnB;AAAA,KACA,CAAC,CAAC;AAAA,EAEL,MAAM,mBAAmB,GAAY,MAAM;AAAA,IACzC,IAAI,cAAc,SAAS;AAAA,MACzB,eAAe;AAAA,IACjB;AAAA,KACC,CAAC,cAAc,CAAC;AAAA,EAGnB,GAAU,MAAM;AAAA,IACd,MAAM,KAAK,aAAa;AAAA,IACxB,IAAI,IAAI;AAAA,MACN,GAAG,iBAAiB,UAAU,QAAQ;AAAA,MACtC,OAAO,MAAM,GAAG,oBAAoB,UAAU,QAAQ;AAAA,IACxD;AAAA,KACC,CAAC,QAAQ,CAAC;AAAA,EAGb,MAAM,SAAS,GACb,CAAC,OAA2B;AAAA,IAE1B,IAAI,aAAa,SAAS;AAAA,MACxB,aAAa,QAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAC7D;AAAA,IACA,aAAa,UAAU;AAAA,IAEvB,IAAI,IAAI;AAAA,MACN,GAAG,iBAAiB,UAAU,QAAQ;AAAA,IACxC;AAAA,KAEF,CAAC,QAAQ,CACX;AAAA,EAEA,OAAO;AAAA,IACL,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACF;AAAA;;;ACvDF,SAAS,eAAe,CAAC,IAAoB;AAAA,EAC3C,MAAM,OAAO,IAAI,KAAK,EAAE;AAAA,EACxB,MAAM,QAAQ,KAAK,SAAS,IAAI;AAAA,EAChC,MAAM,UAAU,KAAK,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAC5D,MAAM,UAAU,KAAK,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAC5D,MAAM,SAAS,KAAK,gBAAgB,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAChE,OAAO,GAAG,SAAS,WAAW,WAAW;AAAA;AAGpC,SAAS,IAAI,GAAG;AAAA,EACrB,QAAQ,cAAc,qBAAqB,cAAc,EAAE;AAAA,EAC3D,MAAM,QAAO,WAAW,KAAK;AAAA,EAG7B,gBAAgB,MAAM;AAAA,IACpB,MAAM,KAAI,WAAW,KAAK,MAAM;AAAA,IAChC,iBAAiB;AAAA,GAClB;AAAA,EAED,uBACE,GAIE,MAJF;AAAA,IAAI,WAAU;AAAA,IAAY,KAAK;AAAA,IAA/B,UACG,MAAK,IAAI,CAAC,KAAU,0BACnB,GAAC,UAAD;AAAA,MAAsB;AAAA,OAAP,OAAf,sBAAgC,CACjC;AAAA,KAHH,iCAIE;AAAA;AAIN,SAAS,QAAQ,GAAG,OAAqB;AAAA,EACvC,uBACE,GAmBE,MAnBF;AAAA,IAAI,WAAW,OAAO,IAAI;AAAA,IAA1B,0BACE,GAiBE,OAjBF;AAAA,MAAK,WAAU;AAAA,MAAf,UAiBE;AAAA,wBAhBA,GAQE,MARF;AAAA,UAAI,WAAW,IAAI;AAAA,UAAnB,UAQE;AAAA,4BAPA,GAA0C,QAA1C;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA0C;AAAA,gBAAhB,IAAI;AAAA,gBAA9B;AAAA;AAAA,+CAA0C;AAAA,YACzC,IAAI,eAAe,uBAClB,GAAsD,QAAtD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAsD;AAAA,gBAAtD;AAAA,gBAAiC,IAAI;AAAA,gBAArC;AAAA;AAAA,+CAAsD,oBAEtD,GAAuD,QAAvD;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAuD;AAAA,gBAAvD;AAAA,gBAAiC,IAAI;AAAA,gBAArC;AAAA;AAAA,+CAAuD;AAAA,4BAEzD,GAA8D,QAA9D;AAAA,cAAM,WAAU;AAAA,cAAhB,UAA6B,gBAAgB,IAAI,SAAS;AAAA,eAA1D,iCAA8D;AAAA;AAAA,WAPhE,gCAQE;AAAA,wBACF,GAME,OANF;AAAA,UAAK,WAAU;AAAA,UAAf,UAME;AAAA,YALC,IAAI,yBAAS,GAAgB,KAAhB;AAAA,wBAAI,IAAI;AAAA,eAAR,iCAAgB;AAAA,YAC7B,IAAI,wBACH,GAA2D,OAA3D;AAAA,cAAK,WAAU;AAAA,cAAf,UAAuB,KAAK,UAAU,IAAI,MAAM,MAAM,CAAC;AAAA,eAAvD,iCAA2D;AAAA,YAE5D,IAAI,0BAAU,GAA8B,OAA9B;AAAA,wBAA8B;AAAA,gBAAxB,IAAI,OAAO;AAAA,gBAAjB;AAAA;AAAA,+CAA8B;AAAA;AAAA,WAL/C,gCAME;AAAA;AAAA,OAhBJ,gCAiBE;AAAA,KAlBJ,iCAmBE;AAAA;;;AChDC,SAAS,WAAW,GAAG,SAAS,YAA8B;AAAA,EACnE,MAAM,aAAY,WAAW,UAAU;AAAA,EAEvC,MAAM,SAAS,MAAM;AAAA,IACnB,WAAW,UAAU,QAAQ,CAAC,WAAW,UAAU;AAAA;AAAA,EAGrD,uBACE,GAQE,UARF;AAAA,IACE,WAAU;AAAA,IACV,SAAS;AAAA,IACT,aAAa,CAAC,OAAM,GAAE,gBAAgB;AAAA,IACtC,WAAW,CAAC,OAAM,GAAE,gBAAgB;AAAA,IACpC,OAAO,aAAY,eAAe,YAAY,eAAe;AAAA,IAL/D,UAOG,aAAY,MAAW;AAAA,KAP1B,iCAQE;AAAA;;;ACXC,SAAS,IAAI,GAAG,QAAQ,SAAS,YAAuB;AAAA,EAC7D,MAAM,aAAY,WAAW,UAAU;AAAA,EAEvC,uBACE;AAAA,cAmBE;AAAA,MAlBC,6BACC,GAUE,QAVF;AAAA,QAAM,WAAU;AAAA,QAAhB,UAUE;AAAA,0BATA,GAEE,WAFF;AAAA,YAAS,WAAU;AAAA,YAAnB,0BACE,GAAC,YAAD;AAAA,cAAY;AAAA,eAAZ,iCAA4B;AAAA,aAD9B,iCAEE;AAAA,0BACF,GAEE,WAFF;AAAA,YAAS,WAAU;AAAA,YAAnB,0BACE,GAAC,OAAD,qCAAO;AAAA,aADT,iCAEE;AAAA,0BACF,GAEE,WAFF;AAAA,YAAS,WAAU;AAAA,YAAnB,0BACE,GAAC,MAAD,qCAAM;AAAA,aADR,iCAEE;AAAA;AAAA,SATJ,gCAUE,oBAEF,GAEE,QAFF;AAAA,QAAM,WAAU;AAAA,QAAhB,0BACE,GAAC,YAAD;AAAA,UAAY;AAAA,WAAZ,iCAA4B;AAAA,SAD9B,iCAEE;AAAA,sBAEJ,GAAC,aAAD;AAAA,QAAa;AAAA,SAAb,iCAA6B;AAAA;AAAA,KAlB/B,gCAmBE;AAAA;AAIN,SAAS,UAAU,GAAG,UAAyC;AAAA,EAC7D,MAAM,eAAe,GAAuB,IAAI;AAAA,EAEhD,GAAU,MAAM;AAAA,IACd,MAAM,YAAY,aAAa;AAAA,IAC/B,IAAI,aAAa,CAAC,UAAU,SAAS,MAAM,GAAG;AAAA,MAC5C,UAAU,YAAY,MAAM;AAAA,IAC9B;AAAA,IAEA,OAAO,MAAM;AAAA,KAGZ,CAAC,MAAM,CAAC;AAAA,EAEX,uBAAO,GAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAmB,KAAK;AAAA,KAAvC,iCAAqD;AAAA;;;ACpDvD,IAAM,SAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACcvB,MAAM,QAAQ;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAgC;AAAA,EAChC;AAAA,EAEA,WAAW,CAAC,UAA0B,CAAC,GAAG;AAAA,IACxC,KAAK,UAAU,QAAQ,UAAU;AAAA,IACjC,MAAM,YAAY,QAAQ,aAAa,SAAS;AAAA,IAChD,MAAM,mBACJ,QAAQ,oBACR,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,OAAO;AAAA,IAGzD,KAAK,QAAQ,SAAS,cAAc,gBAAgB;AAAA,IACpD,KAAK,MAAM,MAAM,UACf;AAAA,IAGF,KAAK,UAAU,KAAK,MAAM,aAAa,EAAE,MAAM,OAAO,CAAC;AAAA,IAGvD,MAAM,UAAU,SAAS,cAAc,OAAO;AAAA,IAC9C,QAAQ,cAAc;AAAA,IACtB,KAAK,QAAQ,YAAY,OAAO;AAAA,IAGhC,KAAK,cAAc,SAAS,cAAc,KAAK;AAAA,IAC/C,KAAK,YAAY,KAAK;AAAA,IACtB,KAAK,YAAY,MAAM,UAAU;AAAA,IACjC,KAAK,QAAQ,YAAY,KAAK,WAAW;AAAA,IAGzC,WAAW,UAAU,QAAQ;AAAA,IAG7B,KAAK,UAAU,SAAS,cAAc,QAAQ;AAAA,IAG9C,KAAK,QAAQ;AAAA,IAGb,UAAU,YAAY,KAAK,KAAK;AAAA,IAGhC,KAAK,WAAW,KAAK,aAAa;AAAA,IAGlC,WAAW,UAAU,UAAU,MAAM;AAAA,MACnC,KAAK,QAAQ;AAAA,KACd;AAAA;AAAA,EAGH,OAAO,GAAS;AAAA,IACd,EACE,KAAK,EAAE,QAAQ,KAAK,SAAS,QAAQ,KAAK,QAAQ,CAAC,GACnD,KAAK,WACP;AAAA;AAAA,EAGF,YAAY,GAAe;AAAA,IACzB,MAAM,UAAU,CAAC,OAAqB;AAAA,MACpC,IAAI,GAAE,QAAQ,KAAK,SAAS;AAAA,QAC1B,WAAW,UAAU,QAAQ,CAAC,WAAW,UAAU;AAAA,MACrD;AAAA;AAAA,IAEF,OAAO,iBAAiB,WAAW,OAAO;AAAA,IAC1C,OAAO,MAAM,OAAO,oBAAoB,WAAW,OAAO;AAAA;AAAA,MAIxD,MAAM,GAAsB;AAAA,IAC9B,OAAO,KAAK;AAAA;AAAA,MAIV,KAAK,GAAe;AAAA,IACtB,OAAO;AAAA;AAAA,MAIL,SAAS,GAAY;AAAA,IACvB,OAAO,WAAW,UAAU;AAAA;AAAA,MAG1B,SAAS,CAAC,OAAgB;AAAA,IAC5B,WAAW,UAAU,QAAQ;AAAA;AAAA,EAG/B,OAAO,GAAS;AAAA,IACd,KAAK,WAAW;AAAA,IAChB,EAAO,MAAM,KAAK,WAAW;AAAA,IAC7B,KAAK,MAAM,OAAO;AAAA;AAEtB;;ACnFA,IAAM,qBAAqB;AAG3B,eAAsB,KAAK,CAAC,MAAkC;AAAA,EAC5D,IAAI,CAAC,KAAK,KAAK;AAAA,IACb,QAAQ,QAAQ,MAAM,MAAM;AAAA,MAC1B,OAAO,KAAK,KAAK;AAAA,MACjB,gBAAgB,KAAK,kBAAkB;AAAA,MACvC,SAAS,KAAK;AAAA,IAChB,CAAC;AAAA,IACD,KAAK,MAAM;AAAA,EACb;AAAA,EAEA,MAAM,YAAY,KAAK,UACnB,OAAO,KAAK,YAAY,YACtB,CAAC,IACD,KAAK,UACP;AAAA,EAEJ,MAAM,MAAM,IAAI,IACd,KAAK,KACL,KAAK,MACL,KAAK,aAAa,oBAClB,SACF;AAAA,EAEA,OAAO;AAAA;AAAA;AAUF,MAAM,IAAI;AAAA,EACf;AAAA,EACA;AAAA,EAES;AAAA,EAET,aAA4B;AAAA,EAC5B,eAAqC;AAAA,EACrC,OAAe,YAAY,IAAI;AAAA,EAC/B,WAA2B;AAAA,EAE3B,WAAW,CACT,KACA,MACA,WACA,aACA;AAAA,IACA,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,KAAK,YAAY;AAAA,IAEjB,IAAI,aAAa;AAAA,MACf,KAAK,aAAa,WAAW;AAAA,IAC/B;AAAA,IAEA,KAAK,KAAK,MAAM,cAAc,CAAC,UAAkB;AAAA,MAC/C,OAAO,cAAc,KAAK,KAAK,KAAK;AAAA,MACpC,OAAO,aAAa,KAAK,KAAK,QAAQ,IAAI;AAAA,MAC1C,KAAK,YAAY,OAAO,KAAK;AAAA;AAAA,IAG/B,KAAK,UAAU;AAAA;AAAA,MAIb,GAAG,GAAQ;AAAA,IACb,OAAO,KAAK;AAAA;AAAA,MAGV,GAAG,CAAC,KAAU;AAAA,IAChB,KAAK,OAAO;AAAA;AAAA,EAId,YAAY,CAAC,OAAuB,CAAC,GAAY;AAAA,IAC/C,IAAI,KAAK;AAAA,MAAU,OAAO,KAAK;AAAA,IAC/B,KAAK,WAAW,IAAI,QAAQ,IAAI;AAAA,IAChC,OAAO,KAAK;AAAA;AAAA,MAIV,OAAO,GAAmB;AAAA,IAC5B,OAAO,KAAK;AAAA;AAAA,MAIV,MAAM,GAA6B;AAAA,IACrC,OAAO,KAAK,UAAU,UAAU;AAAA;AAAA,EAIlC,QAAQ,CAAC,QAAgB,WAA6B;AAAA,IACpD,SAAiB,KAAK,WAAW,QAAQ,SAAS;AAAA;AAAA,EAIpD,cAAiD,eAAyB;AAAA,EAE1E,aAAgD,eAAyB;AAAA,EAGzE,SAAS,GAAS;AAAA,IAChB,MAAM,gBAAgB,CAAC,UAAyB;AAAA,MAC9C,KAAK,IAAI,KAAK,QAAQ,MAAM,IAAW;AAAA;AAAA,IAEzC,OAAO,iBAAiB,WAAW,aAAa;AAAA,IAEhD,MAAM,cAAc,CAAC,UAAyB;AAAA,MAC5C,KAAK,IAAI,KAAK,MAAM,MAAM,IAAW;AAAA;AAAA,IAEvC,OAAO,iBAAiB,SAAS,WAAW;AAAA,IAE5C,MAAM,kBAAkB,CAAC,UAAsB;AAAA,MAC7C,KAAK,IAAI,KAAK,UAAU,MAAM,SAAS,MAAM,OAAO;AAAA;AAAA,IAEtD,OAAO,iBAAiB,aAAa,eAAe;AAAA,IAEpD,MAAM,kBAAkB,CAAC,UAAsB;AAAA,MAC7C,KAAK,IAAI,KAAK,UAAU,8BAA6B,MAAM,SAAS,CAAC,CAAC;AAAA;AAAA,IAExE,OAAO,iBAAiB,aAAa,eAAe;AAAA,IAEpD,MAAM,gBAAgB,CAAC,UAAsB;AAAA,MAC3C,KAAK,IAAI,KAAK,QAAQ,8BAA6B,MAAM,SAAS,CAAC,CAAC;AAAA;AAAA,IAEtE,OAAO,iBAAiB,WAAW,aAAa;AAAA,IAEhD,MAAM,mBAAmB,CAAC,UAAsB;AAAA,MAC9C,KAAK,IAAI,KAAK,WAAW,MAAM,QAAQ,MAAM,MAAM;AAAA;AAAA,IAErD,OAAO,iBAAiB,SAAS,gBAAgB;AAAA,IAGjD,MAAM,mBAAmB,CAAC,UAAsB;AAAA,MAC9C,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,IAAI,OAAO;AAAA,QACT,KAAK,IAAI,KAAK,UAAU,MAAM,SAAS,MAAM,OAAO;AAAA,QACpD,KAAK,IAAI,KAAK,UAAU,MAAM;AAAA,MAChC;AAAA;AAAA,IAEF,OAAO,iBAAiB,cAAc,gBAAgB;AAAA,IAEtD,MAAM,iBAAiB,MAAM;AAAA,MAC3B,KAAK,IAAI,KAAK,QAAQ,MAAM;AAAA;AAAA,IAE9B,OAAO,iBAAiB,YAAY,cAAc;AAAA,IAElD,MAAM,kBAAkB,CAAC,UAAsB;AAAA,MAC7C,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,IAAI,OAAO;AAAA,QACT,KAAK,IAAI,KAAK,UAAU,MAAM,SAAS,MAAM,OAAO;AAAA,MACtD;AAAA;AAAA,IAEF,OAAO,iBAAiB,aAAa,eAAe;AAAA,IAEpD,MAAM,iBAAiB,CAAC,UAAyB;AAAA,MAC/C,MAAM,gBACJ,MAAM,QAAQ,YAAY,MAAM,WAAW,MAAM;AAAA,MACnD,IAAI,iBAAiB,MAAM,QAAQ,KAAK;AAAA,QACtC,KAAK,IAAI,WAAW,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,MAAM;AAAA,MAC1D;AAAA,MAEA,IAAI,KAAK,IAAI,UAAU;AAAA,QACrB,QAAQ,MAAM;AAAA,eACP;AAAA,eACA;AAAA,YACH,KAAK,IAAI,SAAS;AAAA,YAClB;AAAA,eACG;AAAA,eACA;AAAA,YACH,KAAK,IAAI,KAAK;AAAA,YACd;AAAA;AAAA,MAEN;AAAA;AAAA,IAEF,OAAO,iBAAiB,WAAW,cAAc;AAAA,IAEjD,MAAM,QAAQ,MAAM;AAAA,MAClB,KAAK,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,IAAI;AAAA,MAC3C,IAAI,CAAC,KAAK,IAAI,UAAU;AAAA,QACtB,IAAI;AAAA,UACF,KAAK,WAAW,OAAO,KAAK,IAAI,KAAK,KAAK;AAAA,UAC1C,OAAO,IAAG;AAAA,UACV,QAAQ,MAAM,kCAAkC,EAAC;AAAA;AAAA,MAErD;AAAA,MACA,KAAK,OAAO,YAAY,IAAI;AAAA,MAC5B,KAAK,aAAa,sBAAsB,KAAK;AAAA;AAAA,IAE/C,MAAM;AAAA,IAEN,KAAK,eAAe,MAAM;AAAA,MACxB,OAAO,oBAAoB,WAAW,aAAa;AAAA,MACnD,OAAO,oBAAoB,SAAS,WAAW;AAAA,MAC/C,OAAO,oBAAoB,aAAa,eAAe;AAAA,MACvD,OAAO,oBAAoB,aAAa,eAAe;AAAA,MACvD,OAAO,oBAAoB,WAAW,aAAa;AAAA,MACnD,OAAO,oBAAoB,SAAS,gBAAgB;AAAA,MACpD,OAAO,oBAAoB,WAAW,cAAc;AAAA,MACpD,OAAO,oBAAoB,cAAc,gBAAgB;AAAA,MACzD,OAAO,oBAAoB,YAAY,cAAc;AAAA,MACrD,OAAO,oBAAoB,aAAa,eAAe;AAAA,MACvD,IAAI,KAAK,cAAc,MAAM;AAAA,QAC3B,qBAAqB,KAAK,UAAU;AAAA,MACtC;AAAA;AAAA;AAAA,EAKJ,OAAO,GAAS;AAAA,IACd,KAAK,eAAe;AAAA,IACpB,KAAK,IAAI,QAAQ;AAAA,IACjB,KAAK,YAAY,eAAe;AAAA,IAChC,KAAK,WAAW,eAAe;AAAA,IAC/B,KAAK,UAAU,QAAQ;AAAA;AAAA,OAenB,UAAS,CAAC,QAAa,MAA0C;AAAA,IACrE,MAAM,OAAQ,OAAO,QAAQ;AAAA,IAC7B,IAAI,CAAC,KAAK,OAAO;AAAA,MACf,MAAM,IAAI,MACR,6CAA6C,KAAK,UAAU,MAAM,GACpE;AAAA,IACF;AAAA,IAGA,KAAK,IAAI,MAAM;AAAA,IACf,QAAQ,QAAQ,MAAM,MAAM;AAAA,MAC1B,OAAO,KAAK;AAAA,MACZ,SAAS,IAAI,IAAI,0BAA0B,OAAO,SAAS,IAAI;AAAA,SAC5D;AAAA,IACL,CAAC;AAAA,IACD,IAAI,aAAa,KAAK,GAAG;AAAA,IACzB,KAAK,IAAI,QAAQ;AAAA,IACjB,KAAK,MAAM;AAAA,IACX,KAAK,OAAO;AAAA;AAEhB;AAEA,SAAS,cAA+B,GAItC;AAAA,EACA,MAAM,YAAY,IAAI;AAAA,EAEtB,MAAM,YAAY,CAAC,aAAiD;AAAA,IAClE,UAAU,IAAI,QAAQ;AAAA,IAGtB,OAAO,MAAM;AAAA,MACX,UAAU,OAAO,QAAQ;AAAA;AAAA;AAAA,EAI7B,MAAM,SAAS,IAAI,SAAkB;AAAA,IACnC,UAAU,QAAQ,CAAC,aAAa;AAAA,MAC9B,SAAS,GAAG,IAAI;AAAA,KACjB;AAAA;AAAA,EAGH,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,gBAAgB,MAAM,UAAU,MAAM;AAAA,EACxC;AAAA;;ACjTK,IAAK;AAAA,CAAL,CAAK,gBAAL;AAAA,EACL,kCAAO,KAAP;AAAA,EACA,oCAAS,KAAT;AAAA,GAFU;;ACUL,SAAS,gBAAgB,CAC9B,QACA,KACA,MACM;AAAA,EAEN,IAAI,MAA6B;AAAA,EACjC,IAAI,gBAAgB;AAAA,EACpB,IAAI,cAA6B;AAAA,EACjC,IAAI,eAA8B;AAAA,EAClC,IAAI,oBAAmC;AAAA,EACvC,IAAI,qBAAoC;AAAA,EACxC,MAAM,kBAAgC,CAAC;AAAA,EAEvC,SAAS,aAAa,CACpB,SACA,UACmC;AAAA,IACnC,IAAI,UAAU,UAAU;AAAA,MACtB,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE;AAAA,IAC/B,EAAO;AAAA,MACL,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE;AAAA;AAAA;AAAA,EAIjC,SAAS,cAAc,GAAG;AAAA,IACxB,WAAW,cAAc,iBAAiB;AAAA,MACxC,IAAI,IAAI,IAAI,cAAc,UAAU;AAAA,MAEpC,IAAI,gBAAgB,MAAM;AAAA,QACxB;AAAA,MACF;AAAA,MAEA,MAAM,YAAY,IAAI,IAAI,IAAI,aAAa,YAAY;AAAA,MACjD,WAAW,oBAAqB;AAAA,QACpC,KAAK,UAAU;AAAA,QACf,KAAK,UAAU;AAAA,QACf,gBAAgB,YAAY,IAAI;AAAA,MAClC,CAAC;AAAA,IACH;AAAA,IACA,gBAAgB,SAAS;AAAA;AAAA,EAG3B,SAAS,UAAU,GAAG;AAAA,IACpB,IAAI,CAAC,OAAO,iBAAiB,MAAM;AAAA,MACjC,QAAQ,KAAK,2DAA2D;AAAA,MACxE;AAAA,IACF;AAAA,IAEA,IAAI,IAAI,eAAe,QAAQ;AAAA,MAC7B,QAAQ,KACN,oEACA,IAAI,UACN;AAAA,MACA;AAAA,IACF;AAAA,IAEA,MAAM,SAAS,IAAI,IAAI,IAAI,kBAAkB,YAAY;AAAA,IAEzD,IAAI,CAAC,QAAQ;AAAA,MACX,QAAQ,KAAK,6BAA6B;AAAA,MAC1C;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,MAAM;AAAA;AAAA,EAIjB,OAAO,QAAQ,CAAC,QAAQ;AAAA,IAChB,OAAO,GAAG;AAAA;AAAA,EAGlB,IAAI,SAAS,QAAQ;AAAA,IACnB,gBAAgB,CAAC,WAAW;AAAA,MAC1B,QAAQ,IAAI,qBAAqB,QAAQ;AAAA,MACzC,oBAAoB;AAAA;AAAA,IAEtB,iBAAiB,CAAC,aAAa;AAAA,IAC/B,SAAS,CAAC,SAAS,MAAM,WAAW;AAAA,MAClC,gBAAgB,KAAK,IAAI,WAAW,IAAI,CAAC;AAAA;AAAA,IAE3C,kBAAkB,CAAC,QAAQ,UAAU;AAAA,MACnC,QAAQ,IAAI,wBAAwB,qBAAqB,WAAW;AAAA,MACpE,IAAI,CAAC,YAAY,iBAAiB,MAAM;AAAA,QACtC,IAAI,IAAI,IAAI,eAAe,YAAY;AAAA,QACvC,gBAAgB;AAAA,QAChB,MAAM,eAAe;AAAA,MACvB;AAAA;AAAA,IAEF,iBAAiB,CAAC,QAAQ,UAAU,SAAS;AAAA,MAC3C,QAAQ,IAAI,wBAAwB,qBAAqB,WAAW;AAAA,MACpE,IAAI,CAAC,UAAU;AAAA,QACb,MAAM;AAAA,QAEN,IAAI,sBAAsB,MAAM;AAAA,UAC9B,QAAQ,MAAM,2CAA2C;AAAA,UACzD;AAAA,QACF;AAAA,QAEA,MAAM,MAAM,cAAc,mBAAmB,MAAM;AAAA,QACnD,cAAc,IAAI;AAAA,QACZ,WAAW,WAAW;AAAA,QAC5B,eAAe,IAAI;AAAA,QACnB,qBAAqB;AAAA,QACf,YAAY,YAAY;AAAA,QAG9B,IAAI,IAAI,YAAY,CAAC;AAAA,QAGrB,IAAI,IAAI,IAAI,aAAa,WAAW;AAAA,QACpC,IAAI,IAAI,IAAI,YAAY,YAAY;AAAA,QAEpC,gBAAgB;AAAA,QAChB,QAAQ,IAAI,sCAAsC,IAAI,IAAI,KAAK,OAAO;AAAA,QACtE,MAAM,iBAAiB;AAAA,MACzB;AAAA;AAAA,IAEF,eAAe,CAAC,QAAQ;AAAA,MAChB,QAAQ;AAAA,QACZ,IAAI;AAAA,QACJ,UAAU,OAAO,UAAU,GAAG,CAAC;AAAA,QAC/B,KAAK;AAAA,QACL,KAAK;AAAA,QACL,gBAAgB,YAAY,IAAI;AAAA,MAClC,CAAC;AAAA,MACD,QAAQ,IACN,6BAA6B,wBAA8B,WAAW,UAAU,MAAM,MAAM,QAC9F;AAAA;AAAA,IAEF,kBAAkB,CAAC,QAAQ;AAAA,MACnB,WAAW,MAAM;AAAA,MACvB,IAAI,iBAAiB,QAAQ,WAAW,oBAAoB;AAAA,QAC1D,IAAI,IAAI,IAAI,eAAe,YAAY;AAAA,QACvC,gBAAgB;AAAA,QAChB,MAAM,eAAe;AAAA,MACvB;AAAA;AAAA,EAEJ,CAAC;AAAA,EAGD,IAAI,YAAY,UAAU,CAAC,WAAW;AAAA,IACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,iBAAiB,MAAM;AAAA,MACnD;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,eAAe;AAAA,MACf,WAAW;AAAA,MACX,OAAO,IAAG;AAAA,MACV,QAAQ,MAAM,yBAAyB,EAAC;AAAA;AAAA,GAE3C;AAAA;",
|
|
29
|
-
"debugId": "
|
|
31
|
+
"mappings": "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E,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,EAAE,GAAG;AAAA,IACP,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,MAEvB,GAAG,GAAG;AAAA,IACR,OAAO,KA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AAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,CAAC,GAAG;AAAA,IACN,OAAO,KAAK,UAAU,EAAa;AAAA;AAAA,MAEjC,KAAK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R,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AAAA;AAAA,MAEjC,GAAG,GAAG;AAAA,IACR,OAAO,KAAK,UAAU,GAAa;AA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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",
|
|
32
|
+
"debugId": "97C22D9653CE8DB864756E2164756E21",
|
|
30
33
|
"names": []
|
|
31
34
|
}
|