From 2f24ff3036318a881447383a3c8d403eb3d274f5 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 26 Feb 2024 00:48:38 -0600 Subject: [PATCH 01/26] added v1 test script (only templates dir) --- requirements.txt | 2 + server/example.mp4 | Bin 0 -> 889601 bytes server/example.png | Bin 0 -> 381129 bytes server/tests.py | 194 ++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 192 insertions(+), 4 deletions(-) create mode 100644 server/example.mp4 create mode 100644 server/example.png diff --git a/requirements.txt b/requirements.txt index 2e99e40..1560d7e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,3 +22,5 @@ show-in-file-manager==1.1.4 tqdm==4.66.2 urllib3==2.2.0 Werkzeug==3.0.1 +websocket-client==1.7.0 +selenium==4.18.1 \ No newline at end of file diff --git a/server/example.mp4 b/server/example.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..258a5e4333f06e50e3f0ec143723b218b53bbc8d GIT binary patch literal 889601 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
!-u&&i$H$MU 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

JRsB#-&R9=-Rrb@pJs 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

EiAGc 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⁣;ghb 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э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

_;QuIg&<#JhF)k&k4l=AJVlA0xK>z}En`~d@ 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%0A;h0LR^Eeh5BE$^+Hc)!&eY{ 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\(i3{>78clXcd1`po-@1Ic52Vh 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 aOAv;3!~#Q~BZFaN;leO=C}5bsPW~^U{^sid literal 0 HcmV?d00001 diff --git a/server/example.png b/server/example.png new file mode 100644 index 0000000000000000000000000000000000000000..7268305d447664185100ed98dc65f7626bc2fca2 GIT binary patch literal 381129 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

lR!!R= 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

diff --git a/web/package-lock.json b/web/package-lock.json index d462101..cd3e9df 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -9,10 +9,13 @@ "version": "0.0.0", "dependencies": { "@radix-ui/react-alert-dialog": "^1.0.5", + "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-navigation-menu": "^1.1.4", + "@radix-ui/react-radio-group": "^1.1.3", + "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-toast": "^1.1.5", "@tanstack/react-query": "^5.24.1", @@ -22,10 +25,12 @@ "lucide-react": "^0.340.0", "masonic": "^3.7.0", "match-sorter": "^6.3.4", + "next-themes": "^0.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.3", "react-router-dom": "^6.22.1", + "sonner": "^1.4.3", "sort-by": "^1.2.0", "tailwind-merge": "^2.2.1", "tailwindcss-animate": "^1.0.7" @@ -1065,6 +1070,156 @@ "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" }, + "node_modules/@next/env": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.1.tgz", + "integrity": "sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==", + "peer": true + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.1.tgz", + "integrity": "sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.1.tgz", + "integrity": "sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.1.tgz", + "integrity": "sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.1.tgz", + "integrity": "sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.1.tgz", + "integrity": "sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.1.tgz", + "integrity": "sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.1.tgz", + "integrity": "sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.1.tgz", + "integrity": "sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.1.tgz", + "integrity": "sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1142,6 +1297,36 @@ } } }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", + "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-collection": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", @@ -1479,6 +1664,92 @@ } } }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz", + "integrity": "sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-slot": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", @@ -1618,6 +1889,24 @@ } } }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-visually-hidden": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", @@ -1889,6 +2178,15 @@ "win32" ] }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@tanstack/query-core": { "version": "5.24.1", "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.24.1.tgz", @@ -2453,6 +2751,18 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "peer": true, + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2474,7 +2784,6 @@ "version": "1.0.30001589", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2557,6 +2866,12 @@ "node": ">=6" } }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "peer": true + }, "node_modules/clsx": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", @@ -3343,6 +3658,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -3806,6 +4127,90 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/next": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.1.tgz", + "integrity": "sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==", + "peer": true, + "dependencies": { + "@next/env": "14.1.1", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.1.1", + "@next/swc-darwin-x64": "14.1.1", + "@next/swc-linux-arm64-gnu": "14.1.1", + "@next/swc-linux-arm64-musl": "14.1.1", + "@next/swc-linux-x64-gnu": "14.1.1", + "@next/swc-linux-x64-musl": "14.1.1", + "@next/swc-win32-arm64-msvc": "14.1.1", + "@next/swc-win32-ia32-msvc": "14.1.1", + "@next/swc-win32-x64-msvc": "14.1.1" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-themes": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz", + "integrity": "sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==", + "peerDependencies": { + "next": "*", + "react": "*", + "react-dom": "*" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", @@ -4685,6 +5090,15 @@ "node": ">=8" } }, + "node_modules/sonner": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.4.3.tgz", + "integrity": "sha512-SArYlHbkjqRuLiR0iGY2ZSr09oOrxw081ZZkQPfXrs8aZQLIBOLOdzTYxGJB5yIZ7qL56UEPmrX1YqbODwG0Lw==", + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/sort-by": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/sort-by/-/sort-by-1.2.0.tgz", @@ -4712,6 +5126,15 @@ "os-shim": "^0.1.2" } }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "peer": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -4816,6 +5239,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "peer": true, + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", diff --git a/web/package.json b/web/package.json index b69c3c5..1b7006f 100644 --- a/web/package.json +++ b/web/package.json @@ -9,13 +9,18 @@ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, - "pre-commit": [ "build" ], + "pre-commit": [ + "build" + ], "dependencies": { "@radix-ui/react-alert-dialog": "^1.0.5", + "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-navigation-menu": "^1.1.4", + "@radix-ui/react-radio-group": "^1.1.3", + "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-toast": "^1.1.5", "@tanstack/react-query": "^5.24.1", @@ -25,10 +30,12 @@ "lucide-react": "^0.340.0", "masonic": "^3.7.0", "match-sorter": "^6.3.4", + "next-themes": "^0.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.3", "react-router-dom": "^6.22.1", + "sonner": "^1.4.3", "sort-by": "^1.2.0", "tailwind-merge": "^2.2.1", "tailwindcss-animate": "^1.0.7" diff --git a/web/src/components/ImportURLUI.tsx b/web/src/components/ImportURLUI.tsx new file mode 100644 index 0000000..b0b49e5 --- /dev/null +++ b/web/src/components/ImportURLUI.tsx @@ -0,0 +1,79 @@ +'use client'; + +import { Loader2Icon, Import } from 'lucide-react'; +import { useState } from 'react' +import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group" +import { Label } from "@/components/ui/label" +import { Input } from './ui/input'; +import { UseMutationResult } from '@tanstack/react-query'; +import { Button } from './ui/button'; + +function ImportURLUI({ failed_model_id, mutationToUse }: { failed_model_id: string, mutationToUse: UseMutationResult }) { + const [modelURLToImport, setModelURLToImport] = useState(""); + const [modelTypeToImport, setModelTypeToImport] = useState<"hf" | "civit" | "custom">("hf"); + const [importLoading, setImportLoading] = useState(false); + + const morphingPlaceholder = () => { + if (modelTypeToImport === "hf") { + return 'https://huggingface.co/h94/IP-Adapter-FaceID/blob/main/ip-adapter-faceid_sd15_lora.safetensors'; + } else if (modelTypeToImport === "civit") { + return 'https://civitai.com/models/4201/realistic-vision-v60-b1?modelVersionId=130072' + } else { + return 'custom.com' + } + } + + return ( +
+
+ +

Or import from URL

+
+
+ { + if (currentValue === "hf" || currentValue === "civit" || currentValue === "custom") { + setModelTypeToImport(currentValue); + } + }}> +
+ + +
+
+ + +
+
+ + +
+
+
+
+ { + e.preventDefault(); + setModelURLToImport(e.target.value); + }} + /> + +
+
+ ) +} + +export default ImportURLUI; \ No newline at end of file diff --git a/web/src/components/ImportWorkflowUI.tsx b/web/src/components/ImportWorkflowUI.tsx index abb3d14..8d3b14a 100644 --- a/web/src/components/ImportWorkflowUI.tsx +++ b/web/src/components/ImportWorkflowUI.tsx @@ -1,14 +1,29 @@ 'use client'; -import React, { useCallback, useEffect, useMemo } from 'react' +import React, { useCallback, useEffect, useMemo, useState } from 'react' import { useDropzone } from 'react-dropzone' import { Button } from './ui/button'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from './ui/dialog'; -import { Label } from './ui/label'; import { Input } from './ui/input'; -import { Loader2Icon } from 'lucide-react'; +import { Loader2Icon, AlertTriangle, Replace, CheckCircle, Package } from 'lucide-react'; import { useNavigate } from "react-router-dom"; +import { FailedModel } from '@/lib/types'; +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, +} from "@/components/ui/card" +import { Separator } from "@/components/ui/separator" +import { Label } from "@/components/ui/label" +import { toast } from "sonner" +import ImportURLUI from './ImportURLUI'; + + +// const CW_ENDPOINT = "https://comfyworkflows.com" const baseStyle = { flex: 1, @@ -38,6 +53,87 @@ const rejectStyle = { borderColor: '#ff1744' }; +// const failed_models: FailedModel[] = [ +// { +// id: "1", +// file_name: "ip_adapter_image_encoder_pytorch_model.bin", +// backup_models: [ +// { +// id: "1", +// file_name: "ip_adapter_v4.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// }, +// { +// id: "2", +// file_name: "ip_adapter_still.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// }, +// { +// id: "3", +// file_name: "ip_adapter_goofy.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// }, +// { +// id: "4", +// file_name: "image_encoder_adapter.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// } +// ], +// resolved: true, +// new_file_name: "ip_adapter_v4.safetensors" +// }, +// { +// id: "2", +// file_name: "nooshpere_4.7.safetensors", +// backup_models: [ +// { +// id: "1", +// file_name: "nooshpere_animations.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// }, +// { +// id: "2", +// file_name: "noosphere_direct.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// }, +// { +// id: "3", +// file_name: "noosphere_v_1_5.ckpt", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// } +// ], +// resolved: false, +// new_file_name: "" +// }, +// { +// id: "3", +// file_name: "3Dmeinamix_meinaV11.safetensors'", +// backup_models: [ +// { +// id: "1", +// file_name: "meinamix.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// }, +// { +// id: "2", +// file_name: "meinav11.safetensors", +// link: "https://huggingface.co/h94/IP-Adapter-FaceID", +// type: "hf" +// } +// ], +// resolved: false, +// new_file_name: "" +// } +// ] + function ImportWorkflowUI() { const [isServerSide, setIsServerSide] = React.useState(true) const [importJson, setImportJson] = React.useState(); @@ -53,6 +149,11 @@ function ImportWorkflowUI() { const [importProjectDialogOpen, setImportProjectDialogOpen] = React.useState(false) const [projectStatusDialogOpen, setProjectStatusDialogOpen] = React.useState(false) + const [missingModels, setMissingModels] = React.useState([]); + const [resolvingModelWithID, setResolvingModelWithId] = React.useState(""); + const [skippingMissingModelsWarningOpen, setSkippingMissingModelsWarningOpen] = useState(false); + const [skippedMissingModels, setSkippedMissingModels] = useState(false); + const [resolvedAllModels, setResolvedAllModels] = useState(false); const importProjectMutation = useMutation({ mutationFn: async ({ import_json, name }: { import_json: string, name: string }) => { @@ -65,14 +166,107 @@ function ImportWorkflowUI() { body: JSON.stringify({ import_json: final_import_json, name }) }) const data = await response.json() + if (!data.success && data.missing_models?.length > 0) { + console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${data.success}. data.missing_models: ${data.missing_models}`) + setMissingModels(data.missing_models); + } else { + navigate('/') + } return data }, onSuccess: async () => { await queryClient.invalidateQueries({ queryKey: ['projects'] }) - navigate('/') } }) + const resolveMissingModelMutationWithBackup = useMutation({ + mutationFn: async ({ id_to_resolve, backup_to_use }: { id_to_resolve: string, backup_to_use: string }) => { + setResolvingModelWithId(id_to_resolve); + console.log("resolveMissingModelMutationWithBackup id_to_resolve:", id_to_resolve); + console.log("resolveMissingModelMutationWithBackup backup_to_use:", backup_to_use); + const missing_model = missingModels.find((missingModel) => missingModel.id === id_to_resolve); + const backup_model = missing_model?.backup_models.find((backupModel) => backupModel.id === backup_to_use); + if (!missing_model || !backup_model || !importJson) { + toast.error("something went wrong when resolving your model. please try again.") + return; + } + //replace string in importJson (we don't know where it's located but it's somewhere in the string) that matches missing_mode.file_name with backup_model.file_name below + const updatedJson = importJson.replace(new RegExp(missing_model.file_name, 'g'), backup_model.file_name); + setImportJson(updatedJson); + const updatedMissingModels = missingModels.map((missingModel) => { + if (missingModel.id === id_to_resolve) { + return { ...missingModel, resolved: true, new_file_name: backup_model.file_name }; + } + return missingModel; + }); + setMissingModels(updatedMissingModels); + + toast.success("successfully resolved") + + return undefined; + }, + onSuccess: async () => { + setResolvingModelWithId(""); + } + }) + + const resolveMissingModelMutationWithURL = useMutation({ + mutationFn: async ({ id_to_resolve, url, type }: { id_to_resolve: string, url: string, type: string }) => { + setResolvingModelWithId(id_to_resolve); + console.log("resolveMissingModelMutationWithURL id_to_resolve:", id_to_resolve); + console.log("resolveMissingModelMutationWithURL url:", url); + console.log("resolveMissingModelMutationWithURL type:", type); + const missing_model = missingModels.find((missingModel) => missingModel.id === id_to_resolve); + // const res = await fetch(`${CW_ENDPOINT}/api/get-model-name`, { //what do we do here? + // method: 'POST', + // headers: { + // 'Content-Type': 'application/json' + // }, + // body: JSON.stringify({ url: url, type: type }), + // }) + const res = await new Promise((resolve) => { + setTimeout(() => { + resolve({ + json: () => Promise.resolve({ file_name: 'ip-adapter-faceid_sd15_lora.safetensors' }) + }); + }, 10000); // Simulate 10-second delay + }); + //@ts-ignore + const { file_name } = await res.json(); + if (!missing_model || !file_name || !importJson) { + toast.error("something went wrong when resolving your model. please try again.") + return; + } + //replace string in importJson (we don't know where it's located but it's somewhere in the string) that matches missing_mode.file_name with backup_model.file_name below + const updatedJson = importJson.replace(new RegExp(missing_model.file_name, 'g'), file_name); + setImportJson(updatedJson); + const updatedMissingModels = missingModels.map((missingModel) => { + if (missingModel.id === id_to_resolve) { + return { ...missingModel, resolved: true, new_file_name: file_name }; + } + return missingModel; + }); + setMissingModels(updatedMissingModels); + + toast.success("successfully resolved") + + return undefined; + }, + onSuccess: async () => { + setResolvingModelWithId(""); + } + }) + + useEffect(() => { + if (missingModels.every((missing_model) => !!missing_model.resolved)) { + console.log("RESOLVED all missing models") + setResolvedAllModels(true); + } else { + console.log("HAVE NOT RESOLVED all missing models") + setResolvedAllModels(false); + } + }, [missingModels]) + useEffect(() => { setProjectStatusDialogOpen(importProjectMutation.isPending); }, [importProjectMutation.isPending]) @@ -178,6 +372,30 @@ function ImportWorkflowUI() { + setSkippingMissingModelsWarningOpen(open)} open={skippingMissingModelsWarningOpen}> + + + Are you sure you want to skip fixing unresolved models? + You will probably face errors when running the workflow and might have to upload replacement models to run the workflow. + + + + + + + +
diff --git a/web/src/components/ui/badge.tsx b/web/src/components/ui/badge.tsx new file mode 100644 index 0000000..f000e3e --- /dev/null +++ b/web/src/components/ui/badge.tsx @@ -0,0 +1,36 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const badgeVariants = cva( + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", + secondary: + "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: + "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", + outline: "text-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +export interface BadgeProps + extends React.HTMLAttributes, + VariantProps {} + +function Badge({ className, variant, ...props }: BadgeProps) { + return ( +
+ ) +} + +export { Badge, badgeVariants } diff --git a/web/src/lib/types.ts b/web/src/lib/types.ts index 3e4f40a..bcf636e 100644 --- a/web/src/lib/types.ts +++ b/web/src/lib/types.ts @@ -34,10 +34,19 @@ export type Project = { last_modified: number } -export type FailedModel = { - id: string, - file_name: string, - backup_models: { id: string, file_name: string, link: string, type: string }[], - resolved: boolean, - new_file_name: string +export type Suggestion = { + filename: string, + source: "hf" | "civitai", + filepath: string, + hf_file_id: number | null, + civitai_file_id: number | null +} + +export type MissingModel = { + filename: string, + node_type: string, + suggestions: Suggestion[] + // backup_models: { id: string, file_name: string, link: string, type: string }[], + // resolved: boolean, + // new_file_name: string } \ No newline at end of file From eb34a21a04898b83e9075bb53e0ebd7e3c4d0509 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Sun, 3 Mar 2024 01:18:51 -0600 Subject: [PATCH 11/26] wip FE should be good to go for missing model files! --- server/server.py | 38 ++-- server/utils.py | 19 +- web/src/components/ImportWorkflowUI.tsx | 281 +++++------------------- web/src/components/MissingModelItem.tsx | 186 ++++++++++++++++ web/src/lib/types.ts | 12 + 5 files changed, 291 insertions(+), 245 deletions(-) create mode 100644 web/src/components/MissingModelItem.tsx diff --git a/server/server.py b/server/server.py index 57a761c..6430b77 100644 --- a/server/server.py +++ b/server/server.py @@ -6,6 +6,7 @@ from flask import Flask, jsonify, request, render_template from showinfm import show_in_file_manager from settings import PROJECTS_DIR, MODELS_DIR, TEMPLATES_DIR +import requests import os, psutil, sys from utils import ( CONFIG_FILEPATH, @@ -23,6 +24,7 @@ set_launcher_state_data, slugify, update_config, + check_url_structure ) CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "https://comfyworkflows.com") @@ -131,10 +133,11 @@ def create_project(): @app.route("/api/import_project", methods=["POST"]) def import_project(): - import requests request_data = request.get_json() name = request_data["name"] import_json = request_data["import_json"] + resolved_missing_models = request_data["resolved_missing_models"] + skipping_model_validation = request_data["skipping_model_validation"] # set id to a folder friendly name of the project name (lowercase, no spaces, etc.) id = slugify(name) @@ -150,18 +153,27 @@ def import_project(): else: print("Detected workflow json format, converting to launcher json format") #only resolve missing models for workflows w/ workflow json format - response = requests.post( - f"{CW_ENDPOINT}/api/comfyui-launcher/resolve_missing_models", - json={"workflow": import_json}, - ) - assert ( - response.status_code == 200 - ), f"Failed to get missing models res for workflow: {import_json}" - json = response.json() - missing_models = json["missing_models"] - if len(missing_models) > 0: - return jsonify({ "success": False, "missing_models": missing_models }) - launcher_json = get_launcher_json_for_workflow_json(import_json) + skip_model_validation = True if skipping_model_validation else False + if len(resolved_missing_models) > 0: + for model in resolved_missing_models: + if (model["filename"] is None or model["node_type"] is None): + return jsonify({ "success": False, "error": f"one of the resolved models has an empty filename or node type. please try again." }) + elif (model["source"]["url"] is not None and model["source"]["file_id"] is None): + is_valid = check_url_structure(model["source"]["url"]) + if (is_valid is False): + return jsonify({ "success": False, "error": f"the url f{model['source']['url']} is invalid. please make sure it is a link to a model file on huggingface or a civitai model." }) + elif (model["source"]["file_id"] is None and model["source"]["url"] is None): + return jsonify({ "success": False, "error": f"you didn't select one of the suggestions (or import a url) for the following missing file: {model['filename']}" }) + skip_model_validation = True + + res = get_launcher_json_for_workflow_json(import_json, resolved_missing_models, skip_model_validation) + if (res["success"] and res["launcher_json"]): + launcher_json = res["launcher_json"] + elif (res["success"] is False and res["error"] == "MISSING_MODELS" and len(res["missing_models"]) > 0): + return jsonify({ "success": False, "missing_models": res["missing_models"] }) + else: + print(f"something went wrong when fetching res from get_launcher_json_for_workflow_json: {res}") + return create_comfyui_project( project_path, models_path, id=id, name=name, launcher_json=launcher_json ) diff --git a/server/utils.py b/server/utils.py index f06ad2a..48422b8 100644 --- a/server/utils.py +++ b/server/utils.py @@ -11,6 +11,19 @@ from tqdm import tqdm from urllib.parse import urlparse +def check_url_structure(url): + # Check for huggingface.co URL structure + huggingface_pattern = r'^https://huggingface\.co/[\w-]+/[\w-]+/blob/[\w-]+\.(safetensors|bin|ckpt)$' + if re.match(huggingface_pattern, url): + return True + + # Check for civitai.com URL structure + civitai_pattern = r'^https://civitai\.com/models/\d+$' + if re.match(civitai_pattern, url): + return True + + return False + def slugify(value, allow_unicode=False): """ Taken from https://github.com/django/django/blob/master/django/utils/text.py @@ -338,10 +351,10 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): return missing_download_files -def get_launcher_json_for_workflow_json(workflow_json): +def get_launcher_json_for_workflow_json(workflow_json, resolved_missing_models, skip_model_validation): response = requests.post( - f"{CW_ENDPOINT}/api/comfyui-launcher/setup_workflow_json", - json={"workflow": workflow_json, "isWindows": os.name == "nt"}, + f"{CW_ENDPOINT}/api/comfyui-launcher/setup_workflow_json?skipModelValidation={skip_model_validation}", + json={"workflow": workflow_json, "isWindows": os.name == "nt", "resolved_missing_models": resolved_missing_models}, ) assert ( response.status_code == 200 diff --git a/web/src/components/ImportWorkflowUI.tsx b/web/src/components/ImportWorkflowUI.tsx index c6f2845..13b81b3 100644 --- a/web/src/components/ImportWorkflowUI.tsx +++ b/web/src/components/ImportWorkflowUI.tsx @@ -6,9 +6,9 @@ import { Button } from './ui/button'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from './ui/dialog'; import { Input } from './ui/input'; -import { Loader2Icon, AlertTriangle, Replace, CheckCircle, File } from 'lucide-react'; +import { Loader2Icon } from 'lucide-react'; import { useNavigate } from "react-router-dom"; -import { MissingModel } from '@/lib/types'; +import { MissingModel, ResolvedMissingModelFile, Source } from '@/lib/types'; import { Card, CardContent, @@ -17,16 +17,11 @@ import { CardHeader, CardTitle, } from "@/components/ui/card" -import { Separator } from "@/components/ui/separator" import { Label } from "@/components/ui/label" import { toast } from "sonner" -import ImportURLUI from './ImportURLUI'; -import HFLogo from './HFLogo'; -import { Badge } from "@/components/ui/badge" +import MissingModelItem from './MissingModelItem'; -// const CW_ENDPOINT = "https://comfyworkflows.com" - const baseStyle = { flex: 1, display: 'flex', @@ -55,86 +50,6 @@ const rejectStyle = { borderColor: '#ff1744' }; -// const failed_models: FailedModel[] = [ -// { -// id: "1", -// file_name: "ip_adapter_image_encoder_pytorch_model.bin", -// backup_models: [ -// { -// id: "1", -// file_name: "ip_adapter_v4.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// }, -// { -// id: "2", -// file_name: "ip_adapter_still.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// }, -// { -// id: "3", -// file_name: "ip_adapter_goofy.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// }, -// { -// id: "4", -// file_name: "image_encoder_adapter.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// } -// ], -// resolved: true, -// new_file_name: "ip_adapter_v4.safetensors" -// }, -// { -// id: "2", -// file_name: "nooshpere_4.7.safetensors", -// backup_models: [ -// { -// id: "1", -// file_name: "nooshpere_animations.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// }, -// { -// id: "2", -// file_name: "noosphere_direct.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// }, -// { -// id: "3", -// file_name: "noosphere_v_1_5.ckpt", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// } -// ], -// resolved: false, -// new_file_name: "" -// }, -// { -// id: "3", -// file_name: "3Dmeinamix_meinaV11.safetensors'", -// backup_models: [ -// { -// id: "1", -// file_name: "meinamix.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// }, -// { -// id: "2", -// file_name: "meinav11.safetensors", -// link: "https://huggingface.co/h94/IP-Adapter-FaceID", -// type: "hf" -// } -// ], -// resolved: false, -// new_file_name: "" -// } -// ] function ImportWorkflowUI() { const [isServerSide, setIsServerSide] = React.useState(true) @@ -152,7 +67,8 @@ function ImportWorkflowUI() { const [projectStatusDialogOpen, setProjectStatusDialogOpen] = React.useState(false) const [missingModels, setMissingModels] = React.useState([]); - const [resolvingModelWithID, setResolvingModelWithId] = React.useState(""); + const [resolvedMissingModels, setResolvedMissingModels] = React.useState([]); + // const [resolvedMissingModels, setResolvedMissingModels] = React.useState(new Set()); const [skippingMissingModelsWarningOpen, setSkippingMissingModelsWarningOpen] = useState(false); const [skippedMissingModels, setSkippedMissingModels] = useState(false); const [resolvedAllModels, setResolvedAllModels] = useState(false); @@ -160,17 +76,27 @@ function ImportWorkflowUI() { const importProjectMutation = useMutation({ mutationFn: async ({ import_json, name }: { import_json: string, name: string }) => { const final_import_json = JSON.parse(import_json) + const uniqueFilenames = new Set(); + const uniqueResolvedMissingModels = resolvedMissingModels.filter((model) => { + if (uniqueFilenames.has(model.filename)) { + return false; + } + uniqueFilenames.add(model.filename); + return true; + }); const response = await fetch(`/api/import_project`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ import_json: final_import_json, name }) + body: JSON.stringify({ import_json: final_import_json, resolved_missing_models: uniqueResolvedMissingModels, skipping_model_validation: skippedMissingModels, name }) }) const data = await response.json() if (!data.success && data.missing_models?.length > 0) { console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${data.success}. data.missing_models: ${data.missing_models}`) setMissingModels(data.missing_models); + } else if (!data.success && !!data.error) { + toast.error(data.error); } else { navigate('/') } @@ -181,93 +107,62 @@ function ImportWorkflowUI() { } }) - const resolveMissingModelMutationWithBackup = useMutation({ - mutationFn: async ({ id_to_resolve, backup_to_use }: { id_to_resolve: string, backup_to_use: string }) => { - setResolvingModelWithId(id_to_resolve); - console.log("resolveMissingModelMutationWithBackup id_to_resolve:", id_to_resolve); - console.log("resolveMissingModelMutationWithBackup backup_to_use:", backup_to_use); - const missing_model = missingModels.find((missingModel) => missingModel.id === id_to_resolve); - const backup_model = missing_model?.backup_models.find((backupModel) => backupModel.id === backup_to_use); - if (!missing_model || !backup_model || !importJson) { - toast.error("something went wrong when resolving your model. please try again.") + const resolveMissingModelMutationWithSuggestion = useMutation({ + mutationFn: async ({ filename, node_type, source }: { filename: string, node_type: string, source: Source }) => { + if (!filename || !node_type || !source) { + toast.error("something went wrong when resolving your model. please try again."); + return; + } + + try { + // const newItem = { filename: filename, node_type: node_type, source: source }; + // const newSet = new Set(resolvedMissingModels); + // newSet.add(newItem); + // setResolvedMissingModels(newSet); + setResolvedMissingModels([...resolvedMissingModels, { filename: filename, node_type: node_type, source: source }]); + } catch (error: unknown) { + toast.error("something went wrong when resolving your model. please try again."); return; } - //replace string in importJson (we don't know where it's located but it's somewhere in the string) that matches missing_mode.file_name with backup_model.file_name below - const updatedJson = importJson.replace(new RegExp(missing_model.file_name, 'g'), backup_model.file_name); - setImportJson(updatedJson); - const updatedMissingModels = missingModels.map((missingModel) => { - if (missingModel.id === id_to_resolve) { - return { ...missingModel, resolved: true, new_file_name: backup_model.file_name }; - } - return missingModel; - }); - setMissingModels(updatedMissingModels); toast.success("successfully resolved") - return undefined; - }, - onSuccess: async () => { - setResolvingModelWithId(""); + return; } }) - const resolveMissingModelMutationWithURL = useMutation({ - mutationFn: async ({ id_to_resolve, url, type }: { id_to_resolve: string, url: string, type: string }) => { - setResolvingModelWithId(id_to_resolve); - console.log("resolveMissingModelMutationWithURL id_to_resolve:", id_to_resolve); - console.log("resolveMissingModelMutationWithURL url:", url); - console.log("resolveMissingModelMutationWithURL type:", type); - const missing_model = missingModels.find((missingModel) => missingModel.id === id_to_resolve); - // const res = await fetch(`${CW_ENDPOINT}/api/get-model-name`, { //what do we do here? - // method: 'POST', - // headers: { - // 'Content-Type': 'application/json' - // }, - // body: JSON.stringify({ url: url, type: type }), - // }) - const res = await new Promise((resolve) => { - setTimeout(() => { - resolve({ - json: () => Promise.resolve({ file_name: 'ip-adapter-faceid_sd15_lora.safetensors' }) - }); - }, 10000); // Simulate 10-second delay - }); - //@ts-ignore - const { file_name } = await res.json(); - if (!missing_model || !file_name || !importJson) { - toast.error("something went wrong when resolving your model. please try again.") + const unResolveMissingModelMutationWithSuggestion = useMutation({ + mutationFn: async ({ filename }: { filename: string }) => { + if (!filename) { + toast.error("something went wrong when attempting to edit your model. please try again."); + return; + } + + try { + // const itemToRemove = { filename: "example", node_type: "example" }; + // const updatedSet = new Set([...resolvedMissingModels].filter(item => item !== itemToRemove)); + // setResolvedMissingModels(updatedSet); + setResolvedMissingModels(resolvedMissingModels.filter((missingModel) => missingModel.filename === filename)); + } catch (error: unknown) { + toast.error("something went wrong when attempting to edit your model. please try again."); return; } - //replace string in importJson (we don't know where it's located but it's somewhere in the string) that matches missing_mode.file_name with backup_model.file_name below - const updatedJson = importJson.replace(new RegExp(missing_model.file_name, 'g'), file_name); - setImportJson(updatedJson); - const updatedMissingModels = missingModels.map((missingModel) => { - if (missingModel.id === id_to_resolve) { - return { ...missingModel, resolved: true, new_file_name: file_name }; - } - return missingModel; - }); - setMissingModels(updatedMissingModels); toast.success("successfully resolved") - return undefined; - }, - onSuccess: async () => { - setResolvingModelWithId(""); + return; } }) useEffect(() => { - if (missingModels.every((missing_model) => !!missing_model.resolved)) { + if (missingModels.length > 0 && resolvedMissingModels.length > 0 && missingModels.length === resolvedMissingModels.length) { console.log("RESOLVED all missing models") setResolvedAllModels(true); } else { console.log("HAVE NOT RESOLVED all missing models") setResolvedAllModels(false); } - }, [missingModels]) + }, [missingModels, resolvedMissingModels]) useEffect(() => { setProjectStatusDialogOpen(importProjectMutation.isPending); @@ -430,81 +325,9 @@ function ImportWorkflowUI() { {missingModels.map((missing_model) => { //iterate through missingModels instead - if (!missing_model.resolved) { - return ( -
-
-
- {resolvingModelWithID === missing_model.id ? : } -

{missing_model.filename}

-
-
-
-
-
- -

Replace with

-
- {missing_model.suggestions.map((suggestion) => { - return ( -
-
- {suggestion.source === "civitai" ? {`civitai : } -

{suggestion.filename}

- {suggestion.filepath && - - - {suggestion.filepath} - } -
-
- -
-
- ) - })} -
- -
- -
- ) - } else { - return ( -
-
- -

{failed_model.new_file_name}

-

{failed_model.file_name}

-
- -
- ) - } - })} + return ( + + )})}
{!resolvedAllModels && diff --git a/web/src/components/MissingModelItem.tsx b/web/src/components/MissingModelItem.tsx new file mode 100644 index 0000000..6cc2044 --- /dev/null +++ b/web/src/components/MissingModelItem.tsx @@ -0,0 +1,186 @@ +'use client'; + +import { Loader2Icon, AlertTriangle, Replace, File, CheckCircle, InfoIcon, Import } from 'lucide-react'; +import { useState } from 'react' +import { UseMutationResult } from '@tanstack/react-query'; +import { Button } from './ui/button'; +import { MissingModel, Source } from '@/lib/types'; +import { Separator } from './ui/separator'; +import { Badge } from './ui/badge'; +// import ImportURLUI from './ImportURLUI'; +import HFLogo from './HFLogo'; +import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group" +import { Input } from './ui/input'; +import { Label } from './ui/label'; +import { toast } from 'sonner'; + +function MissingModelItem({ missingModel, resolveMutationToUse, unResolveMutationToUse }: { missingModel: MissingModel, resolveMutationToUse: UseMutationResult, unResolveMutationToUse: UseMutationResult}) { + const [loading, setLoading] = useState(false); + const [resolved, setResolved] = useState(true); + const [newFileName, setNewFileName] = useState(""); + const [modelURLToImport, setModelURLToImport] = useState(""); + const [modelTypeToImport, setModelTypeToImport] = useState<"hf" | "civit">("hf"); + const [importLoading, setImportLoading] = useState(false); + + const morphingPlaceholder = () => { + if (modelTypeToImport === "hf") { + return 'https://huggingface.co/h94/IP-Adapter-FaceID/blob/main/ip-adapter-faceid_sd15_lora.safetensors'; + } else if (modelTypeToImport === "civit") { + return 'https://civitai.com/models/4201/realistic-vision-v60-b1?modelVersionId=130072' + } else { + return 'custom.com' + } + } + + if (!resolved) { + return ( +
+
+
+ {loading ? : } +

{missingModel.filename}

+ + + {missingModel.node_type} + +
+
+
+
+
+ +

Replace with

+
+ {missingModel.suggestions.map((suggestion) => { + return ( +
+
+ {suggestion.source === "civitai" ? {`civitai : } +

{suggestion.filename}

+ {suggestion.filepath && + + + {suggestion.filepath} + } +
+
+ +
+
+ ) + })} +
+
+
+ +

Or import from URL

+
+
+ { + if (currentValue === "hf" || currentValue === "civit") { + setModelTypeToImport(currentValue); + } + }}> +
+ + +
+
+ + +
+
+
+
+ { + e.preventDefault(); + setModelURLToImport(e.target.value); + }} + /> + +
+
+
+ +
+ ) + } else { + return ( +
+
+ +

{newFileName}

+

{missingModel.filename}

+
+ +
+ ) + } +} + +export default MissingModelItem; \ No newline at end of file diff --git a/web/src/lib/types.ts b/web/src/lib/types.ts index bcf636e..24c3b25 100644 --- a/web/src/lib/types.ts +++ b/web/src/lib/types.ts @@ -42,6 +42,12 @@ export type Suggestion = { civitai_file_id: number | null } +export type Source = { + type: "hf" | "civitai" + url: string | null, + file_id: number | null +} + export type MissingModel = { filename: string, node_type: string, @@ -49,4 +55,10 @@ export type MissingModel = { // backup_models: { id: string, file_name: string, link: string, type: string }[], // resolved: boolean, // new_file_name: string +} + +export type ResolvedMissingModelFile = { + filename: string, + node_type: string, + source: Source } \ No newline at end of file From 4ab638928229a48d710f551251a822bcd519f8d4 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Sun, 3 Mar 2024 11:06:30 -0600 Subject: [PATCH 12/26] fixed some bugs in missing models FE --- web/src/components/ImportWorkflowUI.tsx | 39 +++++++++++++++++++++---- web/src/components/MissingModelItem.tsx | 1 + 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/web/src/components/ImportWorkflowUI.tsx b/web/src/components/ImportWorkflowUI.tsx index 13b81b3..5c4e4d4 100644 --- a/web/src/components/ImportWorkflowUI.tsx +++ b/web/src/components/ImportWorkflowUI.tsx @@ -72,9 +72,10 @@ function ImportWorkflowUI() { const [skippingMissingModelsWarningOpen, setSkippingMissingModelsWarningOpen] = useState(false); const [skippedMissingModels, setSkippedMissingModels] = useState(false); const [resolvedAllModels, setResolvedAllModels] = useState(false); + const [confirmOnlyPartiallyResolvingOpen, setConfirmOnlyPartiallyResolvingOpen] = useState(false); const importProjectMutation = useMutation({ - mutationFn: async ({ import_json, name }: { import_json: string, name: string }) => { + mutationFn: async ({ import_json, name, partiallyResolved }: { import_json: string, name: string, partiallyResolved?: boolean }) => { const final_import_json = JSON.parse(import_json) const uniqueFilenames = new Set(); const uniqueResolvedMissingModels = resolvedMissingModels.filter((model) => { @@ -89,7 +90,7 @@ function ImportWorkflowUI() { headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ import_json: final_import_json, resolved_missing_models: uniqueResolvedMissingModels, skipping_model_validation: skippedMissingModels, name }) + body: JSON.stringify({ import_json: final_import_json, resolved_missing_models: uniqueResolvedMissingModels, skipping_model_validation: skippedMissingModels || partiallyResolved, name }) }) const data = await response.json() if (!data.success && data.missing_models?.length > 0) { @@ -142,7 +143,7 @@ function ImportWorkflowUI() { // const itemToRemove = { filename: "example", node_type: "example" }; // const updatedSet = new Set([...resolvedMissingModels].filter(item => item !== itemToRemove)); // setResolvedMissingModels(updatedSet); - setResolvedMissingModels(resolvedMissingModels.filter((missingModel) => missingModel.filename === filename)); + setResolvedMissingModels(resolvedMissingModels.filter((missingModel) => missingModel.filename !== filename)); } catch (error: unknown) { toast.error("something went wrong when attempting to edit your model. please try again."); return; @@ -293,6 +294,30 @@ function ImportWorkflowUI() { + setConfirmOnlyPartiallyResolvingOpen(open)} open={confirmOnlyPartiallyResolvingOpen}> + + + You've only partially resolved the missing models, are you sure you want to continue? + You will probably face errors when running the workflow in ComfyUI and might have to upload replacement models to run the workflow. + + + + + + + +
@@ -342,10 +367,14 @@ function ImportWorkflowUI() {
-
diff --git a/web/src/components/MissingModelItem.tsx b/web/src/components/MissingModelItem.tsx index 6cc2044..b637c32 100644 --- a/web/src/components/MissingModelItem.tsx +++ b/web/src/components/MissingModelItem.tsx @@ -133,6 +133,7 @@ function MissingModelItem({ missingModel, resolveMutationToUse, unResolveMutatio const mutation = await resolveMutationToUse.mutateAsync({ filename: missingModel.filename, node_type: missingModel.node_type, source: { type: modelURLToImport.startsWith('https://huggingface.co/') ? "hf" : "civitai", file_id: null, url: modelURLToImport } }) // resolveMutationToUse.mutate({ filename: missingModel.filename, node_type: missingModel.node_type, source: { type: modelURLToImport.startsWith('https://huggingface.co/') ? "hf" : "civitai", file_id: null, url: modelURLToImport } }) console.log("mutation:", mutation); + setNewFileName(modelURLToImport); setResolved(true); } catch (error) { toast.error("there was an error importing the url, please try again!") From ae84aaf5952314b9072475f68d1888305372e9d9 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 4 Mar 2024 23:12:56 -0600 Subject: [PATCH 13/26] fixed skip model validation key incorrect accessing on server --- server/server.py | 9 +++++++-- web/src/components/ImportWorkflowUI.tsx | 9 ++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/server/server.py b/server/server.py index 6430b77..8041fca 100644 --- a/server/server.py +++ b/server/server.py @@ -137,7 +137,8 @@ def import_project(): name = request_data["name"] import_json = request_data["import_json"] resolved_missing_models = request_data["resolved_missing_models"] - skipping_model_validation = request_data["skipping_model_validation"] + # skipping_model_validation = request_data["skipping_model_validation"] + skipping_model_validation = request_data.get("skipping_model_validation") # set id to a folder friendly name of the project name (lowercase, no spaces, etc.) id = slugify(name) @@ -154,7 +155,9 @@ def import_project(): print("Detected workflow json format, converting to launcher json format") #only resolve missing models for workflows w/ workflow json format skip_model_validation = True if skipping_model_validation else False + print(f"import_project value of skip_model_validation: {skip_model_validation}") if len(resolved_missing_models) > 0: + print(f"import_project entering for loop for resolved_missing_models: {resolved_missing_models}") for model in resolved_missing_models: if (model["filename"] is None or model["node_type"] is None): return jsonify({ "success": False, "error": f"one of the resolved models has an empty filename or node type. please try again." }) @@ -165,7 +168,9 @@ def import_project(): elif (model["source"]["file_id"] is None and model["source"]["url"] is None): return jsonify({ "success": False, "error": f"you didn't select one of the suggestions (or import a url) for the following missing file: {model['filename']}" }) skip_model_validation = True - + print(f"value of import_json: {import_json}") + print(f"value of resolved_missing_models: {resolved_missing_models}") + print(f"value of skip_model_validation: {skip_model_validation}") res = get_launcher_json_for_workflow_json(import_json, resolved_missing_models, skip_model_validation) if (res["success"] and res["launcher_json"]): launcher_json = res["launcher_json"] diff --git a/web/src/components/ImportWorkflowUI.tsx b/web/src/components/ImportWorkflowUI.tsx index 5c4e4d4..c7aea96 100644 --- a/web/src/components/ImportWorkflowUI.tsx +++ b/web/src/components/ImportWorkflowUI.tsx @@ -76,6 +76,7 @@ function ImportWorkflowUI() { const importProjectMutation = useMutation({ mutationFn: async ({ import_json, name, partiallyResolved }: { import_json: string, name: string, partiallyResolved?: boolean }) => { + console.log("importProjectMutation. entered function!") const final_import_json = JSON.parse(import_json) const uniqueFilenames = new Set(); const uniqueResolvedMissingModels = resolvedMissingModels.filter((model) => { @@ -85,12 +86,18 @@ function ImportWorkflowUI() { uniqueFilenames.add(model.filename); return true; }); + console.log("importProjectMutation final_import_json:", final_import_json); + console.log("importProjectMutation uniqueResolvedMissingModels:", uniqueResolvedMissingModels); + console.log("importProjectMutation skippedMissingModels:", skippedMissingModels); + console.log("importProjectMutation name:", name); + const partiallyResolvedBool = partiallyResolved ? true : false; + console.log("importProjectMutation partiallyResolvedBool:", partiallyResolvedBool); const response = await fetch(`/api/import_project`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ import_json: final_import_json, resolved_missing_models: uniqueResolvedMissingModels, skipping_model_validation: skippedMissingModels || partiallyResolved, name }) + body: JSON.stringify({ import_json: final_import_json, resolved_missing_models: uniqueResolvedMissingModels, skipping_model_validation: skippedMissingModels || partiallyResolvedBool, name }) }) const data = await response.json() if (!data.success && data.missing_models?.length > 0) { From 83b9bb1961c8d49ac44b81d12a280745c519068a Mon Sep 17 00:00:00 2001 From: dylanintech Date: Tue, 5 Mar 2024 07:57:21 +0000 Subject: [PATCH 14/26] cleaned up missing models FE --- package-lock.json | 6 + server/server.py | 4 +- server/utils.py | 5 +- web/dist/assets/index-BQW99_dA.css | 1 - web/dist/assets/index-BUvQ-FNS.js | 182 ++++++++++++++++++++++++ web/dist/assets/index-D8vB1DcH.css | 1 + web/dist/assets/index-G1-uJQm9.js | 177 ----------------------- web/dist/civitai-logo-github.png | Bin 0 -> 8842 bytes web/dist/index.html | 4 +- web/package-lock.json | 31 ++++ web/package.json | 1 + web/src/components/ImportWorkflowUI.tsx | 10 +- web/src/components/MissingModelItem.tsx | 61 ++++++-- web/src/components/ui/collapsible.tsx | 9 ++ web/src/lib/types.ts | 8 +- 15 files changed, 295 insertions(+), 205 deletions(-) create mode 100644 package-lock.json delete mode 100644 web/dist/assets/index-BQW99_dA.css create mode 100644 web/dist/assets/index-BUvQ-FNS.js create mode 100644 web/dist/assets/index-D8vB1DcH.css delete mode 100644 web/dist/assets/index-G1-uJQm9.js create mode 100644 web/dist/civitai-logo-github.png create mode 100644 web/src/components/ui/collapsible.tsx diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..78fe792 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "comfyui-launcher", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/server/server.py b/server/server.py index 8041fca..ac86b5b 100644 --- a/server/server.py +++ b/server/server.py @@ -168,14 +168,14 @@ def import_project(): elif (model["source"]["file_id"] is None and model["source"]["url"] is None): return jsonify({ "success": False, "error": f"you didn't select one of the suggestions (or import a url) for the following missing file: {model['filename']}" }) skip_model_validation = True - print(f"value of import_json: {import_json}") + # print(f"value of import_json: {import_json}") print(f"value of resolved_missing_models: {resolved_missing_models}") print(f"value of skip_model_validation: {skip_model_validation}") res = get_launcher_json_for_workflow_json(import_json, resolved_missing_models, skip_model_validation) if (res["success"] and res["launcher_json"]): launcher_json = res["launcher_json"] elif (res["success"] is False and res["error"] == "MISSING_MODELS" and len(res["missing_models"]) > 0): - return jsonify({ "success": False, "missing_models": res["missing_models"] }) + return jsonify({ "success": False, "missing_models": res["missing_models"], "error": res["error"] }) else: print(f"something went wrong when fetching res from get_launcher_json_for_workflow_json: {res}") return diff --git a/server/utils.py b/server/utils.py index 48422b8..15f33f8 100644 --- a/server/utils.py +++ b/server/utils.py @@ -47,7 +47,7 @@ def slugify(value, allow_unicode=False): CUSTOM_NODES_TO_IGNORE_FROM_SNAPSHOTS = ["ComfyUI-ComfyWorkflows", "ComfyUI-Manager"] -CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "https://comfyworkflows.com") +CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "http://bore.pub:19257/") CONFIG_FILEPATH = "./config.json" @@ -352,12 +352,13 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): def get_launcher_json_for_workflow_json(workflow_json, resolved_missing_models, skip_model_validation): + print(f"going in strong w/ CW_ENDPOINT: {CW_ENDPOINT}") response = requests.post( f"{CW_ENDPOINT}/api/comfyui-launcher/setup_workflow_json?skipModelValidation={skip_model_validation}", json={"workflow": workflow_json, "isWindows": os.name == "nt", "resolved_missing_models": resolved_missing_models}, ) assert ( - response.status_code == 200 + response.status_code == 200 or response.status_code == 400 ), f"Failed to get launcher json for workflow json: {workflow_json}" return response.json() diff --git a/web/dist/assets/index-BQW99_dA.css b/web/dist/assets/index-BQW99_dA.css deleted file mode 100644 index 2719a01..0000000 --- a/web/dist/assets/index-BQW99_dA.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-3{grid-column:span 3 / span 3}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-\[1px\]{width:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[\#222\]{--tw-border-opacity: 1;border-color:rgb(34 34 34 / var(--tw-border-opacity))}.border-\[\#444\]{--tw-border-opacity: 1;border-color:rgb(68 68 68 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-destructive{border-color:hsl(var(--destructive))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.bg-\[\#000\]{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-\[\#444\]{--tw-bg-opacity: 1;background-color:rgb(68 68 68 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-\[425px\]{max-width:425px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}} diff --git a/web/dist/assets/index-BUvQ-FNS.js b/web/dist/assets/index-BUvQ-FNS.js new file mode 100644 index 0000000..a2b583d --- /dev/null +++ b/web/dist/assets/index-BUvQ-FNS.js @@ -0,0 +1,182 @@ +var Mu=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var S=(e,t,n)=>(Mu(e,t,"read from private field"),n?n.call(e):t.get(e)),K=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},z=(e,t,n,r)=>(Mu(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var xs=(e,t,n,r)=>({set _(o){z(e,t,o,n)},get _(){return S(e,t,r)}}),oe=(e,t,n)=>(Mu(e,t,"access private method"),n);function p0(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function lf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var h0={exports:{}},nu={},m0={exports:{}},pe={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ss=Symbol.for("react.element"),h8=Symbol.for("react.portal"),m8=Symbol.for("react.fragment"),v8=Symbol.for("react.strict_mode"),g8=Symbol.for("react.profiler"),y8=Symbol.for("react.provider"),w8=Symbol.for("react.context"),C8=Symbol.for("react.forward_ref"),x8=Symbol.for("react.suspense"),b8=Symbol.for("react.memo"),E8=Symbol.for("react.lazy"),k1=Symbol.iterator;function S8(e){return e===null||typeof e!="object"?null:(e=k1&&e[k1]||e["@@iterator"],typeof e=="function"?e:null)}var v0={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g0=Object.assign,y0={};function _i(e,t,n){this.props=e,this.context=t,this.refs=y0,this.updater=n||v0}_i.prototype.isReactComponent={};_i.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};_i.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function w0(){}w0.prototype=_i.prototype;function uf(e,t,n){this.props=e,this.context=t,this.refs=y0,this.updater=n||v0}var cf=uf.prototype=new w0;cf.constructor=uf;g0(cf,_i.prototype);cf.isPureReactComponent=!0;var P1=Array.isArray,C0=Object.prototype.hasOwnProperty,df={current:null},x0={key:!0,ref:!0,__self:!0,__source:!0};function b0(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)C0.call(t,r)&&!x0.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1>>1,B=O[A];if(0>>1;Ao(de,U))Jo(xe,de)?(O[A]=xe,O[J]=U,A=J):(O[A]=de,O[Z]=U,A=Z);else if(Jo(xe,U))O[A]=xe,O[J]=U,A=J;else break e}}return N}function o(O,N){var U=O.sortIndex-N.sortIndex;return U!==0?U:O.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],d=1,f=null,p=3,m=!1,x=!1,g=!1,C=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(O){for(var N=n(u);N!==null;){if(N.callback===null)r(u);else if(N.startTime<=O)r(u),N.sortIndex=N.expirationTime,t(l,N);else break;N=n(u)}}function E(O){if(g=!1,y(O),!x)if(n(l)!==null)x=!0,ye(k);else{var N=n(u);N!==null&&ae(E,N.startTime-O)}}function k(O,N){x=!1,g&&(g=!1,h($),$=-1),m=!0;var U=p;try{for(y(N),f=n(l);f!==null&&(!(f.expirationTime>N)||O&&!H());){var A=f.callback;if(typeof A=="function"){f.callback=null,p=f.priorityLevel;var B=A(f.expirationTime<=N);N=e.unstable_now(),typeof B=="function"?f.callback=B:f===n(l)&&r(l),y(N)}else r(l);f=n(l)}if(f!==null)var ie=!0;else{var Z=n(u);Z!==null&&ae(E,Z.startTime-N),ie=!1}return ie}finally{f=null,p=U,m=!1}}var b=!1,R=null,$=-1,T=5,j=-1;function H(){return!(e.unstable_now()-jO||125A?(O.sortIndex=U,t(u,O),n(l)===null&&O===n(u)&&(g?(h($),$=-1):g=!0,ae(E,U-A))):(O.sortIndex=B,t(l,O),x||m||(x=!0,ye(k))),O},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(O){var N=p;return function(){var U=p;p=N;try{return O.apply(this,arguments)}finally{p=U}}}})(P0);k0.exports=P0;var M8=k0.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var $0=c,Bt=M8;function M(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lc=Object.prototype.hasOwnProperty,j8=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,L1={},T1={};function I8(e){return Lc.call(T1,e)?!0:Lc.call(L1,e)?!1:j8.test(e)?T1[e]=!0:(L1[e]=!0,!1)}function A8(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function F8(e,t,n,r){if(t===null||typeof t>"u"||A8(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Lt(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var ht={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ht[e]=new Lt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ht[t]=new Lt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ht[e]=new Lt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ht[e]=new Lt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ht[e]=new Lt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ht[e]=new Lt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ht[e]=new Lt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ht[e]=new Lt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ht[e]=new Lt(e,5,!1,e.toLowerCase(),null,!1,!1)});var pf=/[\-:]([a-z])/g;function hf(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(pf,hf);ht[t]=new Lt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(pf,hf);ht[t]=new Lt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(pf,hf);ht[t]=new Lt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ht[e]=new Lt(e,1,!1,e.toLowerCase(),null,!1,!1)});ht.xlinkHref=new Lt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ht[e]=new Lt(e,1,!1,e.toLowerCase(),null,!0,!0)});function mf(e,t,n,r){var o=ht.hasOwnProperty(t)?ht[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var l=` +`+o[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{Au=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ta(e):""}function z8(e){switch(e.tag){case 5:return ta(e.type);case 16:return ta("Lazy");case 13:return ta("Suspense");case 19:return ta("SuspenseList");case 0:case 2:case 15:return e=Fu(e.type,!1),e;case 11:return e=Fu(e.type.render,!1),e;case 1:return e=Fu(e.type,!0),e;default:return""}}function Dc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case jo:return"Fragment";case Mo:return"Portal";case Tc:return"Profiler";case vf:return"StrictMode";case Nc:return"Suspense";case _c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case N0:return(e.displayName||"Context")+".Consumer";case T0:return(e._context.displayName||"Context")+".Provider";case gf:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yf:return t=e.displayName||null,t!==null?t:Dc(e.type)||"Memo";case cr:t=e._payload,e=e._init;try{return Dc(e(t))}catch{}}return null}function U8(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Dc(t);case 8:return t===vf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ar(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function D0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function B8(e){var t=D0(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ss(e){e._valueTracker||(e._valueTracker=B8(e))}function O0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=D0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Cl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Oc(e,t){var n=t.checked;return Be({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function _1(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ar(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function M0(e,t){t=t.checked,t!=null&&mf(e,"checked",t,!1)}function Mc(e,t){M0(e,t);var n=Ar(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?jc(e,t.type,n):t.hasOwnProperty("defaultValue")&&jc(e,t.type,Ar(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function D1(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function jc(e,t,n){(t!=="number"||Cl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var na=Array.isArray;function Yo(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Rs.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ra(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var sa={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},V8=["Webkit","ms","Moz","O"];Object.keys(sa).forEach(function(e){V8.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),sa[t]=sa[e]})});function F0(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||sa.hasOwnProperty(e)&&sa[e]?(""+t).trim():t+"px"}function z0(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=F0(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var W8=Be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Fc(e,t){if(t){if(W8[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(M(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(M(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(M(61))}if(t.style!=null&&typeof t.style!="object")throw Error(M(62))}}function zc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Uc=null;function wf(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Bc=null,qo=null,Xo=null;function j1(e){if(e=cs(e)){if(typeof Bc!="function")throw Error(M(280));var t=e.stateNode;t&&(t=su(t),Bc(e.stateNode,e.type,t))}}function U0(e){qo?Xo?Xo.push(e):Xo=[e]:qo=e}function B0(){if(qo){var e=qo,t=Xo;if(Xo=qo=null,j1(e),t)for(e=0;e>>=0,e===0?32:31-(ty(e)/ny|0)|0}var ks=64,Ps=4194304;function ra(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Sl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=ra(s):(i&=a,i!==0&&(r=ra(i)))}else a=n&~o,a!==0?r=ra(a):i!==0&&(r=ra(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ls(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mn(t),e[t]=n}function ay(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=ua),H1=" ",K1=!1;function lm(e,t){switch(e){case"keyup":return Oy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function um(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Io=!1;function jy(e,t){switch(e){case"compositionend":return um(t);case"keypress":return t.which!==32?null:(K1=!0,H1);case"textInput":return e=t.data,e===H1&&K1?null:e;default:return null}}function Iy(e,t){if(Io)return e==="compositionend"||!Pf&&lm(e,t)?(e=am(),el=Sf=Er=null,Io=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=q1(n)}}function pm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?pm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function hm(){for(var e=window,t=Cl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Cl(e.document)}return t}function $f(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Ky(e){var t=hm(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&pm(n.ownerDocument.documentElement,n)){if(r!==null&&$f(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=X1(n,i);var a=X1(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ao=null,Gc=null,da=null,Yc=!1;function Z1(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Yc||Ao==null||Ao!==Cl(r)||(r=Ao,"selectionStart"in r&&$f(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),da&&Na(da,r)||(da=r,r=Pl(Gc,"onSelect"),0Uo||(e.current=td[Uo],td[Uo]=null,Uo--)}function $e(e,t){Uo++,td[Uo]=e.current,e.current=t}var Fr={},xt=Ur(Fr),Dt=Ur(!1),go=Fr;function xi(e,t){var n=e.type.contextTypes;if(!n)return Fr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ot(e){return e=e.childContextTypes,e!=null}function Ll(){_e(Dt),_e(xt)}function ip(e,t,n){if(xt.current!==Fr)throw Error(M(168));$e(xt,t),$e(Dt,n)}function Em(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(M(108,U8(e)||"Unknown",o));return Be({},n,r)}function Tl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Fr,go=xt.current,$e(xt,e),$e(Dt,Dt.current),!0}function ap(e,t,n){var r=e.stateNode;if(!r)throw Error(M(169));n?(e=Em(e,t,go),r.__reactInternalMemoizedMergedChildContext=e,_e(Dt),_e(xt),$e(xt,e)):_e(Dt),$e(Dt,n)}var Vn=null,lu=!1,Ju=!1;function Sm(e){Vn===null?Vn=[e]:Vn.push(e)}function o5(e){lu=!0,Sm(e)}function Br(){if(!Ju&&Vn!==null){Ju=!0;var e=0,t=be;try{var n=Vn;for(be=1;e>=a,o-=a,Hn=1<<32-mn(t)+o|n<$?(T=R,R=null):T=R.sibling;var j=p(h,R,y[$],E);if(j===null){R===null&&(R=T);break}e&&R&&j.alternate===null&&t(h,R),v=i(j,v,$),b===null?k=j:b.sibling=j,b=j,R=T}if($===y.length)return n(h,R),Ie&&Gr(h,$),k;if(R===null){for(;$$?(T=R,R=null):T=R.sibling;var H=p(h,R,j.value,E);if(H===null){R===null&&(R=T);break}e&&R&&H.alternate===null&&t(h,R),v=i(H,v,$),b===null?k=H:b.sibling=H,b=H,R=T}if(j.done)return n(h,R),Ie&&Gr(h,$),k;if(R===null){for(;!j.done;$++,j=y.next())j=f(h,j.value,E),j!==null&&(v=i(j,v,$),b===null?k=j:b.sibling=j,b=j);return Ie&&Gr(h,$),k}for(R=r(h,R);!j.done;$++,j=y.next())j=m(R,h,$,j.value,E),j!==null&&(e&&j.alternate!==null&&R.delete(j.key===null?$:j.key),v=i(j,v,$),b===null?k=j:b.sibling=j,b=j);return e&&R.forEach(function(W){return t(h,W)}),Ie&&Gr(h,$),k}function C(h,v,y,E){if(typeof y=="object"&&y!==null&&y.type===jo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Es:e:{for(var k=y.key,b=v;b!==null;){if(b.key===k){if(k=y.type,k===jo){if(b.tag===7){n(h,b.sibling),v=o(b,y.props.children),v.return=h,h=v;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===cr&&pp(k)===b.type){n(h,b.sibling),v=o(b,y.props),v.ref=Hi(h,b,y),v.return=h,h=v;break e}n(h,b);break}else t(h,b);b=b.sibling}y.type===jo?(v=ho(y.props.children,h.mode,E,y.key),v.return=h,h=v):(E=ll(y.type,y.key,y.props,null,h.mode,E),E.ref=Hi(h,v,y),E.return=h,h=E)}return a(h);case Mo:e:{for(b=y.key;v!==null;){if(v.key===b)if(v.tag===4&&v.stateNode.containerInfo===y.containerInfo&&v.stateNode.implementation===y.implementation){n(h,v.sibling),v=o(v,y.children||[]),v.return=h,h=v;break e}else{n(h,v);break}else t(h,v);v=v.sibling}v=sc(y,h.mode,E),v.return=h,h=v}return a(h);case cr:return b=y._init,C(h,v,b(y._payload),E)}if(na(y))return x(h,v,y,E);if(zi(y))return g(h,v,y,E);Os(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,v!==null&&v.tag===6?(n(h,v.sibling),v=o(v,y),v.return=h,h=v):(n(h,v),v=ac(y,h.mode,E),v.return=h,h=v),a(h)):n(h,v)}return C}var Ei=_m(!0),Dm=_m(!1),ds={},In=Ur(ds),Ma=Ur(ds),ja=Ur(ds);function Jr(e){if(e===ds)throw Error(M(174));return e}function If(e,t){switch($e(ja,t),$e(Ma,e),$e(In,ds),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ac(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ac(t,e)}_e(In),$e(In,t)}function Si(){_e(In),_e(Ma),_e(ja)}function Om(e){Jr(ja.current);var t=Jr(In.current),n=Ac(t,e.type);t!==n&&($e(Ma,e),$e(In,n))}function Af(e){Ma.current===e&&(_e(In),_e(Ma))}var ze=Ur(0);function jl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ec=[];function Ff(){for(var e=0;en?n:4,e(!0);var r=tc.transition;tc.transition={};try{e(!1),t()}finally{be=n,tc.transition=r}}function qm(){return rn().memoizedState}function l5(e,t,n){var r=Dr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Xm(e))Zm(t,n);else if(n=$m(e,t,n,r),n!==null){var o=Pt();vn(n,e,r,o),Jm(n,t,r)}}function u5(e,t,n){var r=Dr(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Xm(e))Zm(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,gn(s,a)){var l=t.interleaved;l===null?(o.next=o,Mf(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=$m(e,t,o,r),n!==null&&(o=Pt(),vn(n,e,r,o),Jm(n,t,r))}}function Xm(e){var t=e.alternate;return e===Ue||t!==null&&t===Ue}function Zm(e,t){fa=Il=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jm(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xf(e,n)}}var Al={readContext:nn,useCallback:gt,useContext:gt,useEffect:gt,useImperativeHandle:gt,useInsertionEffect:gt,useLayoutEffect:gt,useMemo:gt,useReducer:gt,useRef:gt,useState:gt,useDebugValue:gt,useDeferredValue:gt,useTransition:gt,useMutableSource:gt,useSyncExternalStore:gt,useId:gt,unstable_isNewReconciler:!1},c5={readContext:nn,useCallback:function(e,t){return Pn().memoizedState=[e,t===void 0?null:t],e},useContext:nn,useEffect:mp,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ol(4194308,4,Hm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ol(4194308,4,e,t)},useInsertionEffect:function(e,t){return ol(4,2,e,t)},useMemo:function(e,t){var n=Pn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Pn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=l5.bind(null,Ue,e),[r.memoizedState,e]},useRef:function(e){var t=Pn();return e={current:e},t.memoizedState=e},useState:hp,useDebugValue:Wf,useDeferredValue:function(e){return Pn().memoizedState=e},useTransition:function(){var e=hp(!1),t=e[0];return e=s5.bind(null,e[1]),Pn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Ue,o=Pn();if(Ie){if(n===void 0)throw Error(M(407));n=n()}else{if(n=t(),ut===null)throw Error(M(349));wo&30||Im(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,mp(Fm.bind(null,r,i,e),[e]),r.flags|=2048,Fa(9,Am.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Pn(),t=ut.identifierPrefix;if(Ie){var n=Kn,r=Hn;n=(r&~(1<<32-mn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Ia++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[Dn]=t,e[Oa]=r,l2(e,t,!1,!1),t.stateNode=e;e:{switch(a=zc(n,r),n){case"dialog":Te("cancel",e),Te("close",e),o=r;break;case"iframe":case"object":case"embed":Te("load",e),o=r;break;case"video":case"audio":for(o=0;oki&&(t.flags|=128,r=!0,Ki(i,!1),t.lanes=4194304)}else{if(!r)if(e=jl(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ki(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!Ie)return yt(t),null}else 2*Ge()-i.renderingStartTime>ki&&n!==1073741824&&(t.flags|=128,r=!0,Ki(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ge(),t.sibling=null,n=ze.current,$e(ze,r?n&1|2:n&1),t):(yt(t),null);case 22:case 23:return qf(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ft&1073741824&&(yt(t),t.subtreeFlags&6&&(t.flags|=8192)):yt(t),null;case 24:return null;case 25:return null}throw Error(M(156,t.tag))}function y5(e,t){switch(Tf(t),t.tag){case 1:return Ot(t.type)&&Ll(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Si(),_e(Dt),_e(xt),Ff(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Af(t),null;case 13:if(_e(ze),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(M(340));bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _e(ze),null;case 4:return Si(),null;case 10:return Of(t.type._context),null;case 22:case 23:return qf(),null;case 24:return null;default:return null}}var js=!1,Ct=!1,w5=typeof WeakSet=="function"?WeakSet:Set,V=null;function Ho(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){We(e,t,r)}else n.current=null}function pd(e,t,n){try{n()}catch(r){We(e,t,r)}}var Sp=!1;function C5(e,t){if(qc=Rl,e=hm(),$f(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var m;f!==n||o!==0&&f.nodeType!==3||(s=a+o),f!==i||r!==0&&f.nodeType!==3||(l=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break t;if(p===n&&++u===o&&(s=a),p===i&&++d===r&&(l=a),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Xc={focusedElem:e,selectionRange:n},Rl=!1,V=t;V!==null;)if(t=V,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,V=e;else for(;V!==null;){t=V;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var g=x.memoizedProps,C=x.memoizedState,h=t.stateNode,v=h.getSnapshotBeforeUpdate(t.elementType===t.type?g:cn(t.type,g),C);h.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(M(163))}}catch(E){We(t,t.return,E)}if(e=t.sibling,e!==null){e.return=t.return,V=e;break}V=t.return}return x=Sp,Sp=!1,x}function pa(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&pd(t,n,i)}o=o.next}while(o!==r)}}function du(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function hd(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function d2(e){var t=e.alternate;t!==null&&(e.alternate=null,d2(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Dn],delete t[Oa],delete t[ed],delete t[n5],delete t[r5])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function f2(e){return e.tag===5||e.tag===3||e.tag===4}function Rp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||f2(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function md(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=$l));else if(r!==4&&(e=e.child,e!==null))for(md(e,t,n),e=e.sibling;e!==null;)md(e,t,n),e=e.sibling}function vd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(vd(e,t,n),e=e.sibling;e!==null;)vd(e,t,n),e=e.sibling}var ft=null,fn=!1;function or(e,t,n){for(n=n.child;n!==null;)p2(e,t,n),n=n.sibling}function p2(e,t,n){if(jn&&typeof jn.onCommitFiberUnmount=="function")try{jn.onCommitFiberUnmount(ru,n)}catch{}switch(n.tag){case 5:Ct||Ho(n,t);case 6:var r=ft,o=fn;ft=null,or(e,t,n),ft=r,fn=o,ft!==null&&(fn?(e=ft,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ft.removeChild(n.stateNode));break;case 18:ft!==null&&(fn?(e=ft,n=n.stateNode,e.nodeType===8?Zu(e.parentNode,n):e.nodeType===1&&Zu(e,n),La(e)):Zu(ft,n.stateNode));break;case 4:r=ft,o=fn,ft=n.stateNode.containerInfo,fn=!0,or(e,t,n),ft=r,fn=o;break;case 0:case 11:case 14:case 15:if(!Ct&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&pd(n,t,a),o=o.next}while(o!==r)}or(e,t,n);break;case 1:if(!Ct&&(Ho(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){We(n,t,s)}or(e,t,n);break;case 21:or(e,t,n);break;case 22:n.mode&1?(Ct=(r=Ct)||n.memoizedState!==null,or(e,t,n),Ct=r):or(e,t,n);break;default:or(e,t,n)}}function kp(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new w5),t.forEach(function(r){var o=L5.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function ln(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=Ge()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*b5(r/1960))-r,10e?16:e,Sr===null)var r=!1;else{if(e=Sr,Sr=null,Ul=0,ge&6)throw Error(M(331));var o=ge;for(ge|=4,V=e.current;V!==null;){var i=V,a=i.child;if(V.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lGe()-Gf?po(e,0):Qf|=n),Mt(e,t)}function x2(e,t){t===0&&(e.mode&1?(t=Ps,Ps<<=1,!(Ps&130023424)&&(Ps=4194304)):t=1);var n=Pt();e=qn(e,t),e!==null&&(ls(e,t,n),Mt(e,n))}function $5(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),x2(e,n)}function L5(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(M(314))}r!==null&&r.delete(t),x2(e,n)}var b2;b2=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Dt.current)_t=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return _t=!1,v5(e,t,n);_t=!!(e.flags&131072)}else _t=!1,Ie&&t.flags&1048576&&Rm(t,_l,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;il(e,t),e=t.pendingProps;var o=xi(t,xt.current);Jo(t,n),o=Uf(null,t,r,e,o,n);var i=Bf();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ot(r)?(i=!0,Tl(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,jf(t),o.updater=uu,t.stateNode=o,o._reactInternals=t,ad(t,r,e,n),t=ud(null,t,r,!0,i,n)):(t.tag=0,Ie&&i&&Lf(t),Rt(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(il(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=N5(r),e=cn(r,e),o){case 0:t=ld(null,t,r,e,n);break e;case 1:t=xp(null,t,r,e,n);break e;case 11:t=wp(null,t,r,e,n);break e;case 14:t=Cp(null,t,r,cn(r.type,e),n);break e}throw Error(M(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),ld(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),xp(e,t,r,o,n);case 3:e:{if(i2(t),e===null)throw Error(M(387));r=t.pendingProps,i=t.memoizedState,o=i.element,Lm(e,t),Ml(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Ri(Error(M(423)),t),t=bp(e,t,r,n,o);break e}else if(r!==o){o=Ri(Error(M(424)),t),t=bp(e,t,r,n,o);break e}else for(zt=Tr(t.stateNode.containerInfo.firstChild),Ut=t,Ie=!0,hn=null,n=Dm(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(bi(),r===o){t=Xn(e,t,n);break e}Rt(e,t,r,n)}t=t.child}return t;case 5:return Om(t),e===null&&rd(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,Zc(r,o)?a=null:i!==null&&Zc(r,i)&&(t.flags|=32),o2(e,t),Rt(e,t,a,n),t.child;case 6:return e===null&&rd(t),null;case 13:return a2(e,t,n);case 4:return If(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ei(t,null,r,n):Rt(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),wp(e,t,r,o,n);case 7:return Rt(e,t,t.pendingProps,n),t.child;case 8:return Rt(e,t,t.pendingProps.children,n),t.child;case 12:return Rt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,$e(Dl,r._currentValue),r._currentValue=a,i!==null)if(gn(i.value,a)){if(i.children===o.children&&!Dt.current){t=Xn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=Qn(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),od(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(M(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),od(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}Rt(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Jo(t,n),o=nn(o),r=r(o),t.flags|=1,Rt(e,t,r,n),t.child;case 14:return r=t.type,o=cn(r,t.pendingProps),o=cn(r.type,o),Cp(e,t,r,o,n);case 15:return n2(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),il(e,t),t.tag=1,Ot(r)?(e=!0,Tl(t)):e=!1,Jo(t,n),Nm(t,r,o),ad(t,r,o,n),ud(null,t,r,!0,e,n);case 19:return s2(e,t,n);case 22:return r2(e,t,n)}throw Error(M(156,t.tag))};function E2(e,t){return Y0(e,t)}function T5(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function en(e,t,n,r){return new T5(e,t,n,r)}function Zf(e){return e=e.prototype,!(!e||!e.isReactComponent)}function N5(e){if(typeof e=="function")return Zf(e)?1:0;if(e!=null){if(e=e.$$typeof,e===gf)return 11;if(e===yf)return 14}return 2}function Or(e,t){var n=e.alternate;return n===null?(n=en(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ll(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")Zf(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case jo:return ho(n.children,o,i,t);case vf:a=8,o|=8;break;case Tc:return e=en(12,n,t,o|2),e.elementType=Tc,e.lanes=i,e;case Nc:return e=en(13,n,t,o),e.elementType=Nc,e.lanes=i,e;case _c:return e=en(19,n,t,o),e.elementType=_c,e.lanes=i,e;case _0:return pu(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case T0:a=10;break e;case N0:a=9;break e;case gf:a=11;break e;case yf:a=14;break e;case cr:a=16,r=null;break e}throw Error(M(130,e==null?e:typeof e,""))}return t=en(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function ho(e,t,n,r){return e=en(7,e,r,t),e.lanes=n,e}function pu(e,t,n,r){return e=en(22,e,r,t),e.elementType=_0,e.lanes=n,e.stateNode={isHidden:!1},e}function ac(e,t,n){return e=en(6,e,null,t),e.lanes=n,e}function sc(e,t,n){return t=en(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _5(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Uu(0),this.expirationTimes=Uu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Uu(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Jf(e,t,n,r,o,i,a,s,l){return e=new _5(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=en(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},jf(i),e}function D5(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(P2)}catch(e){console.error(e)}}P2(),R0.exports=Vt;var fs=R0.exports;const yu=lf(fs),A5=p0({__proto__:null,default:yu},[fs]);var Op=fs;$c.createRoot=Op.createRoot,$c.hydrateRoot=Op.hydrateRoot;/** + * @remix-run/router v1.15.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function He(){return He=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Pi(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function z5(){return Math.random().toString(36).substr(2,8)}function jp(e,t){return{usr:e.state,key:e.key,idx:t}}function Ua(e,t,n,r){return n===void 0&&(n=null),He({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Jn(t):t,{state:n,key:t&&t.key||r||z5()})}function ps(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Jn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function U5(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Qe.Pop,l=null,u=d();u==null&&(u=0,a.replaceState(He({},a.state,{idx:u}),""));function d(){return(a.state||{idx:null}).idx}function f(){s=Qe.Pop;let C=d(),h=C==null?null:C-u;u=C,l&&l({action:s,location:g.location,delta:h})}function p(C,h){s=Qe.Push;let v=Ua(g.location,C,h);n&&n(v,C),u=d()+1;let y=jp(v,u),E=g.createHref(v);try{a.pushState(y,"",E)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;o.location.assign(E)}i&&l&&l({action:s,location:g.location,delta:1})}function m(C,h){s=Qe.Replace;let v=Ua(g.location,C,h);n&&n(v,C),u=d();let y=jp(v,u),E=g.createHref(v);a.replaceState(y,"",E),i&&l&&l({action:s,location:g.location,delta:0})}function x(C){let h=o.location.origin!=="null"?o.location.origin:o.location.href,v=typeof C=="string"?C:ps(C);return v=v.replace(/ $/,"%20"),fe(h,"No window.location.(origin|href) available to create URL for href: "+v),new URL(v,h)}let g={get action(){return s},get location(){return e(o,a)},listen(C){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(Mp,f),l=C,()=>{o.removeEventListener(Mp,f),l=null}},createHref(C){return t(o,C)},createURL:x,encodeLocation(C){let h=x(C);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:m,go(C){return a.go(C)}};return g}var Ve;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ve||(Ve={}));const B5=new Set(["lazy","caseSensitive","path","id","index","children"]);function V5(e){return e.index===!0}function xd(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,i],s=typeof o.id=="string"?o.id:a.join("-");if(fe(o.index!==!0||!o.children,"Cannot specify children on an index route"),fe(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),V5(o)){let l=He({},o,t(o),{id:s});return r[s]=l,l}else{let l=He({},o,t(o),{id:s,children:void 0});return r[s]=l,o.children&&(l.children=xd(o.children,t,a,r)),l}})}function Qo(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Jn(t):t,o=hs(r.pathname||"/",n);if(o==null)return null;let i=$2(e);H5(i);let a=null;for(let s=0;a==null&&s{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(fe(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=Mr([r,l.relativePath]),d=n.concat(l);i.children&&i.children.length>0&&(fe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),$2(i.children,t,d,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:Z5(u,i.index),routesMeta:d})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of L2(i.path))o(i,a,l)}),t}function L2(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=L2(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function H5(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:J5(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const K5=/^:[\w-]+$/,Q5=3,G5=2,Y5=1,q5=10,X5=-2,Ip=e=>e==="*";function Z5(e,t){let n=e.split("/"),r=n.length;return n.some(Ip)&&(r+=X5),t&&(r+=G5),n.filter(o=>!Ip(o)).reduce((o,i)=>o+(K5.test(i)?Q5:i===""?Y5:q5),r)}function J5(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function e4(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{let{paramName:p,isOptional:m}=d;if(p==="*"){let g=s[f]||"";a=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const x=s[f];return m&&!x?u[p]=void 0:u[p]=(x||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:a,pattern:e}}function n4(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Pi(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function r4(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Pi(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function hs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function o4(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Jn(e):e;return{pathname:n?n.startsWith("/")?n:i4(n,t):t,search:s4(r),hash:l4(o)}}function i4(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function lc(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function T2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function N2(e,t){let n=T2(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function _2(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Jn(e):(o=He({},e),fe(!o.pathname||!o.pathname.includes("?"),lc("?","pathname","search",o)),fe(!o.pathname||!o.pathname.includes("#"),lc("#","pathname","hash",o)),fe(!o.search||!o.search.includes("#"),lc("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),f-=1;o.pathname=p.join("/")}s=f>=0?t[f]:"/"}let l=o4(o,s),u=a&&a!=="/"&&a.endsWith("/"),d=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||d)&&(l.pathname+="/"),l}const Mr=e=>e.join("/").replace(/\/\/+/g,"/"),a4=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),s4=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,l4=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class r1{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function D2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const O2=["post","put","patch","delete"],u4=new Set(O2),c4=["get",...O2],d4=new Set(c4),f4=new Set([301,302,303,307,308]),p4=new Set([307,308]),uc={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},h4={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Gi={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},M2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,m4=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),j2="remix-router-transitions";function v4(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;fe(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let P=e.detectErrorBoundary;o=L=>({hasErrorBoundary:P(L)})}else o=m4;let i={},a=xd(e.routes,o,void 0,i),s,l=e.basename||"/",u=He({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),d=null,f=new Set,p=null,m=null,x=null,g=e.hydrationData!=null,C=Qo(a,e.history.location,l),h=null;if(C==null){let P=qt(404,{pathname:e.history.location.pathname}),{matches:L,route:_}=Hp(a);C=L,h={[_.id]:P}}let v,y=C.some(P=>P.route.lazy),E=C.some(P=>P.route.loader);if(y)v=!1;else if(!E)v=!0;else if(u.v7_partialHydration){let P=e.hydrationData?e.hydrationData.loaderData:null,L=e.hydrationData?e.hydrationData.errors:null;v=C.every(_=>_.route.loader&&_.route.loader.hydrate!==!0&&(P&&P[_.route.id]!==void 0||L&&L[_.route.id]!==void 0))}else v=e.hydrationData!=null;let k,b={historyAction:e.history.action,location:e.history.location,matches:C,initialized:v,navigation:uc,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||h,fetchers:new Map,blockers:new Map},R=Qe.Pop,$=!1,T,j=!1,H=new Map,W=null,le=!1,Y=!1,te=[],ye=[],ae=new Map,O=0,N=-1,U=new Map,A=new Set,B=new Map,ie=new Map,Z=new Set,de=new Map,J=new Map,xe=!1;function tt(){if(d=e.history.listen(P=>{let{action:L,location:_,delta:F}=P;if(xe){xe=!1;return}Pi(J.size===0||F!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let G=Ee({currentLocation:b.location,nextLocation:_,historyAction:L});if(G&&F!=null){xe=!0,e.history.go(F*-1),ve(G,{state:"blocked",location:_,proceed(){ve(G,{state:"proceeding",proceed:void 0,reset:void 0,location:_}),e.history.go(F)},reset(){let ce=new Map(b.blockers);ce.set(G,Gi),Ke({blockers:ce})}});return}return Ae(L,_)}),n){P4(t,H);let P=()=>$4(t,H);t.addEventListener("pagehide",P),W=()=>t.removeEventListener("pagehide",P)}return b.initialized||Ae(Qe.Pop,b.location,{initialHydration:!0}),k}function bt(){d&&d(),W&&W(),f.clear(),T&&T.abort(),b.fetchers.forEach((P,L)=>Oe(L)),b.blockers.forEach((P,L)=>ee(L))}function jt(P){return f.add(P),()=>f.delete(P)}function Ke(P,L){L===void 0&&(L={}),b=He({},b,P);let _=[],F=[];u.v7_fetcherPersist&&b.fetchers.forEach((G,ce)=>{G.state==="idle"&&(Z.has(ce)?F.push(ce):_.push(ce))}),[...f].forEach(G=>G(b,{deletedFetchers:F,unstable_viewTransitionOpts:L.viewTransitionOpts,unstable_flushSync:L.flushSync===!0})),u.v7_fetcherPersist&&(_.forEach(G=>b.fetchers.delete(G)),F.forEach(G=>Oe(G)))}function qe(P,L,_){var F,G;let{flushSync:ce}=_===void 0?{}:_,re=b.actionData!=null&&b.navigation.formMethod!=null&&pn(b.navigation.formMethod)&&b.navigation.state==="loading"&&((F=P.state)==null?void 0:F._isRedirect)!==!0,ne;L.actionData?Object.keys(L.actionData).length>0?ne=L.actionData:ne=null:re?ne=b.actionData:ne=null;let X=L.loaderData?Wp(b.loaderData,L.loaderData,L.matches||[],L.errors):b.loaderData,he=b.blockers;he.size>0&&(he=new Map(he),he.forEach((Pe,dt)=>he.set(dt,Gi)));let ot=$===!0||b.navigation.formMethod!=null&&pn(b.navigation.formMethod)&&((G=P.state)==null?void 0:G._isRedirect)!==!0;s&&(a=s,s=void 0),le||R===Qe.Pop||(R===Qe.Push?e.history.push(P,P.state):R===Qe.Replace&&e.history.replace(P,P.state));let ue;if(R===Qe.Pop){let Pe=H.get(b.location.pathname);Pe&&Pe.has(P.pathname)?ue={currentLocation:b.location,nextLocation:P}:H.has(P.pathname)&&(ue={currentLocation:P,nextLocation:b.location})}else if(j){let Pe=H.get(b.location.pathname);Pe?Pe.add(P.pathname):(Pe=new Set([P.pathname]),H.set(b.location.pathname,Pe)),ue={currentLocation:b.location,nextLocation:P}}Ke(He({},L,{actionData:ne,loaderData:X,historyAction:R,location:P,initialized:!0,navigation:uc,revalidation:"idle",restoreScrollPosition:R1(P,L.matches||b.matches),preventScrollReset:ot,blockers:he}),{viewTransitionOpts:ue,flushSync:ce===!0}),R=Qe.Pop,$=!1,j=!1,le=!1,Y=!1,te=[],ye=[]}async function Wr(P,L){if(typeof P=="number"){e.history.go(P);return}let _=bd(b.location,b.matches,l,u.v7_prependBasename,P,u.v7_relativeSplatPath,L==null?void 0:L.fromRouteId,L==null?void 0:L.relative),{path:F,submission:G,error:ce}=Ap(u.v7_normalizeFormMethod,!1,_,L),re=b.location,ne=Ua(b.location,F,L&&L.state);ne=He({},ne,e.history.encodeLocation(ne));let X=L&&L.replace!=null?L.replace:void 0,he=Qe.Push;X===!0?he=Qe.Replace:X===!1||G!=null&&pn(G.formMethod)&&G.formAction===b.location.pathname+b.location.search&&(he=Qe.Replace);let ot=L&&"preventScrollReset"in L?L.preventScrollReset===!0:void 0,ue=(L&&L.unstable_flushSync)===!0,Pe=Ee({currentLocation:re,nextLocation:ne,historyAction:he});if(Pe){ve(Pe,{state:"blocked",location:ne,proceed(){ve(Pe,{state:"proceeding",proceed:void 0,reset:void 0,location:ne}),Wr(P,L)},reset(){let dt=new Map(b.blockers);dt.set(Pe,Gi),Ke({blockers:dt})}});return}return await Ae(he,ne,{submission:G,pendingError:ce,preventScrollReset:ot,replace:L&&L.replace,enableViewTransition:L&&L.unstable_viewTransition,flushSync:ue})}function Po(){if(Ht(),Ke({revalidation:"loading"}),b.navigation.state!=="submitting"){if(b.navigation.state==="idle"){Ae(b.historyAction,b.location,{startUninterruptedRevalidation:!0});return}Ae(R||b.historyAction,b.navigation.location,{overrideNavigation:b.navigation})}}async function Ae(P,L,_){T&&T.abort(),T=null,R=P,le=(_&&_.startUninterruptedRevalidation)===!0,Tu(b.location,b.matches),$=(_&&_.preventScrollReset)===!0,j=(_&&_.enableViewTransition)===!0;let F=s||a,G=_&&_.overrideNavigation,ce=Qo(F,L,l),re=(_&&_.flushSync)===!0;if(!ce){let dt=qt(404,{pathname:L.pathname}),{matches:Kt,route:it}=Hp(F);rt(),qe(L,{matches:Kt,loaderData:{},errors:{[it.id]:dt}},{flushSync:re});return}if(b.initialized&&!Y&&x4(b.location,L)&&!(_&&_.submission&&pn(_.submission.formMethod))){qe(L,{matches:ce},{flushSync:re});return}T=new AbortController;let ne=qi(e.history,L,T.signal,_&&_.submission),X,he;if(_&&_.pendingError)he={[va(ce).route.id]:_.pendingError};else if(_&&_.submission&&pn(_.submission.formMethod)){let dt=await on(ne,L,_.submission,ce,{replace:_.replace,flushSync:re});if(dt.shortCircuited)return;X=dt.pendingActionData,he=dt.pendingActionError,G=cc(L,_.submission),re=!1,ne=new Request(ne.url,{signal:ne.signal})}let{shortCircuited:ot,loaderData:ue,errors:Pe}=await Cn(ne,L,ce,G,_&&_.submission,_&&_.fetcherSubmission,_&&_.replace,_&&_.initialHydration===!0,re,X,he);ot||(T=null,qe(L,He({matches:ce},X?{actionData:X}:{},{loaderData:ue,errors:Pe})))}async function on(P,L,_,F,G){G===void 0&&(G={}),Ht();let ce=R4(L,_);Ke({navigation:ce},{flushSync:G.flushSync===!0});let re,ne=Sd(F,L);if(!ne.route.action&&!ne.route.lazy)re={type:Ve.error,error:qt(405,{method:P.method,pathname:L.pathname,routeId:ne.route.id})};else if(re=await Yi("action",P,ne,F,i,o,l,u.v7_relativeSplatPath),P.signal.aborted)return{shortCircuited:!0};if(to(re)){let X;return G&&G.replace!=null?X=G.replace:X=re.location===b.location.pathname+b.location.search,await xn(b,re,{submission:_,replace:X}),{shortCircuited:!0}}if(Go(re)){let X=va(F,ne.route.id);return(G&&G.replace)!==!0&&(R=Qe.Push),{pendingActionData:{},pendingActionError:{[X.route.id]:re.error}}}if(eo(re))throw qt(400,{type:"defer-action"});return{pendingActionData:{[ne.route.id]:re.data}}}async function Cn(P,L,_,F,G,ce,re,ne,X,he,ot){let ue=F||cc(L,G),Pe=G||ce||Gp(ue),dt=s||a,[Kt,it]=Fp(e.history,b,_,Pe,L,u.v7_partialHydration&&ne===!0,Y,te,ye,Z,B,A,dt,l,he,ot);if(rt(Se=>!(_&&_.some(Me=>Me.route.id===Se))||Kt&&Kt.some(Me=>Me.route.id===Se)),N=++O,Kt.length===0&&it.length===0){let Se=bn();return qe(L,He({matches:_,loaderData:{},errors:ot||null},he?{actionData:he}:{},Se?{fetchers:new Map(b.fetchers)}:{}),{flushSync:X}),{shortCircuited:!0}}if(!le&&(!u.v7_partialHydration||!ne)){it.forEach(Me=>{let En=b.fetchers.get(Me.key),Cs=Xi(void 0,En?En.data:void 0);b.fetchers.set(Me.key,Cs)});let Se=he||b.actionData;Ke(He({navigation:ue},Se?Object.keys(Se).length===0?{actionData:null}:{actionData:Se}:{},it.length>0?{fetchers:new Map(b.fetchers)}:{}),{flushSync:X})}it.forEach(Se=>{ae.has(Se.key)&&ct(Se.key),Se.controller&&ae.set(Se.key,Se.controller)});let $o=()=>it.forEach(Se=>ct(Se.key));T&&T.signal.addEventListener("abort",$o);let{results:Nu,loaderResults:Lo,fetcherResults:rr}=await nr(b.matches,_,Kt,it,P);if(P.signal.aborted)return{shortCircuited:!0};T&&T.signal.removeEventListener("abort",$o),it.forEach(Se=>ae.delete(Se.key));let Qr=Kp(Nu);if(Qr){if(Qr.idx>=Kt.length){let Se=it[Qr.idx-Kt.length].key;A.add(Se)}return await xn(b,Qr.result,{replace:re}),{shortCircuited:!0}}let{loaderData:_u,errors:Du}=Vp(b,_,Kt,Lo,ot,it,rr,de);de.forEach((Se,Me)=>{Se.subscribe(En=>{(En||Se.done)&&de.delete(Me)})});let Ou=bn(),To=Et(N),ws=Ou||To||it.length>0;return He({loaderData:_u,errors:Du},ws?{fetchers:new Map(b.fetchers)}:{})}function Hr(P,L,_,F){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");ae.has(P)&&ct(P);let G=(F&&F.unstable_flushSync)===!0,ce=s||a,re=bd(b.location,b.matches,l,u.v7_prependBasename,_,u.v7_relativeSplatPath,L,F==null?void 0:F.relative),ne=Qo(ce,re,l);if(!ne){Q(P,L,qt(404,{pathname:re}),{flushSync:G});return}let{path:X,submission:he,error:ot}=Ap(u.v7_normalizeFormMethod,!0,re,F);if(ot){Q(P,L,ot,{flushSync:G});return}let ue=Sd(ne,X);if($=(F&&F.preventScrollReset)===!0,he&&pn(he.formMethod)){an(P,L,X,ue,ne,G,he);return}B.set(P,{routeId:L,path:X}),tr(P,L,X,ue,ne,G,he)}async function an(P,L,_,F,G,ce,re){if(Ht(),B.delete(P),!F.route.action&&!F.route.lazy){let Me=qt(405,{method:re.formMethod,pathname:_,routeId:L});Q(P,L,Me,{flushSync:ce});return}let ne=b.fetchers.get(P);I(P,k4(re,ne),{flushSync:ce});let X=new AbortController,he=qi(e.history,_,X.signal,re);ae.set(P,X);let ot=O,ue=await Yi("action",he,F,G,i,o,l,u.v7_relativeSplatPath);if(he.signal.aborted){ae.get(P)===X&&ae.delete(P);return}if(u.v7_fetcherPersist&&Z.has(P)){if(to(ue)||Go(ue)){I(P,sr(void 0));return}}else{if(to(ue))if(ae.delete(P),N>ot){I(P,sr(void 0));return}else return A.add(P),I(P,Xi(re)),xn(b,ue,{fetcherSubmission:re});if(Go(ue)){Q(P,L,ue.error);return}}if(eo(ue))throw qt(400,{type:"defer-action"});let Pe=b.navigation.location||b.location,dt=qi(e.history,Pe,X.signal),Kt=s||a,it=b.navigation.state!=="idle"?Qo(Kt,b.navigation.location,l):b.matches;fe(it,"Didn't find any matches after fetcher action");let $o=++O;U.set(P,$o);let Nu=Xi(re,ue.data);b.fetchers.set(P,Nu);let[Lo,rr]=Fp(e.history,b,it,re,Pe,!1,Y,te,ye,Z,B,A,Kt,l,{[F.route.id]:ue.data},void 0);rr.filter(Me=>Me.key!==P).forEach(Me=>{let En=Me.key,Cs=b.fetchers.get(En),p8=Xi(void 0,Cs?Cs.data:void 0);b.fetchers.set(En,p8),ae.has(En)&&ct(En),Me.controller&&ae.set(En,Me.controller)}),Ke({fetchers:new Map(b.fetchers)});let Qr=()=>rr.forEach(Me=>ct(Me.key));X.signal.addEventListener("abort",Qr);let{results:_u,loaderResults:Du,fetcherResults:Ou}=await nr(b.matches,it,Lo,rr,dt);if(X.signal.aborted)return;X.signal.removeEventListener("abort",Qr),U.delete(P),ae.delete(P),rr.forEach(Me=>ae.delete(Me.key));let To=Kp(_u);if(To){if(To.idx>=Lo.length){let Me=rr[To.idx-Lo.length].key;A.add(Me)}return xn(b,To.result)}let{loaderData:ws,errors:Se}=Vp(b,b.matches,Lo,Du,void 0,rr,Ou,de);if(b.fetchers.has(P)){let Me=sr(ue.data);b.fetchers.set(P,Me)}Et($o),b.navigation.state==="loading"&&$o>N?(fe(R,"Expected pending action"),T&&T.abort(),qe(b.navigation.location,{matches:it,loaderData:ws,errors:Se,fetchers:new Map(b.fetchers)})):(Ke({errors:Se,loaderData:Wp(b.loaderData,ws,it,Se),fetchers:new Map(b.fetchers)}),Y=!1)}async function tr(P,L,_,F,G,ce,re){let ne=b.fetchers.get(P);I(P,Xi(re,ne?ne.data:void 0),{flushSync:ce});let X=new AbortController,he=qi(e.history,_,X.signal);ae.set(P,X);let ot=O,ue=await Yi("loader",he,F,G,i,o,l,u.v7_relativeSplatPath);if(eo(ue)&&(ue=await F2(ue,he.signal,!0)||ue),ae.get(P)===X&&ae.delete(P),!he.signal.aborted){if(Z.has(P)){I(P,sr(void 0));return}if(to(ue))if(N>ot){I(P,sr(void 0));return}else{A.add(P),await xn(b,ue);return}if(Go(ue)){Q(P,L,ue.error);return}fe(!eo(ue),"Unhandled fetcher deferred data"),I(P,sr(ue.data))}}async function xn(P,L,_){let{submission:F,fetcherSubmission:G,replace:ce}=_===void 0?{}:_;L.revalidate&&(Y=!0);let re=Ua(P.location,L.location,{_isRedirect:!0});if(fe(re,"Expected a location on the redirect navigation"),n){let Pe=!1;if(L.reloadDocument)Pe=!0;else if(M2.test(L.location)){const dt=e.history.createURL(L.location);Pe=dt.origin!==t.location.origin||hs(dt.pathname,l)==null}if(Pe){ce?t.location.replace(L.location):t.location.assign(L.location);return}}T=null;let ne=ce===!0?Qe.Replace:Qe.Push,{formMethod:X,formAction:he,formEncType:ot}=P.navigation;!F&&!G&&X&&he&&ot&&(F=Gp(P.navigation));let ue=F||G;if(p4.has(L.status)&&ue&&pn(ue.formMethod))await Ae(ne,re,{submission:He({},ue,{formAction:L.location}),preventScrollReset:$});else{let Pe=cc(re,F);await Ae(ne,re,{overrideNavigation:Pe,fetcherSubmission:G,preventScrollReset:$})}}async function nr(P,L,_,F,G){let ce=await Promise.all([..._.map(X=>Yi("loader",G,X,L,i,o,l,u.v7_relativeSplatPath)),...F.map(X=>X.matches&&X.match&&X.controller?Yi("loader",qi(e.history,X.path,X.controller.signal),X.match,X.matches,i,o,l,u.v7_relativeSplatPath):{type:Ve.error,error:qt(404,{pathname:X.path})})]),re=ce.slice(0,_.length),ne=ce.slice(_.length);return await Promise.all([Qp(P,_,re,re.map(()=>G.signal),!1,b.loaderData),Qp(P,F.map(X=>X.match),ne,F.map(X=>X.controller?X.controller.signal:null),!0)]),{results:ce,loaderResults:re,fetcherResults:ne}}function Ht(){Y=!0,te.push(...rt()),B.forEach((P,L)=>{ae.has(L)&&(ye.push(L),ct(L))})}function I(P,L,_){_===void 0&&(_={}),b.fetchers.set(P,L),Ke({fetchers:new Map(b.fetchers)},{flushSync:(_&&_.flushSync)===!0})}function Q(P,L,_,F){F===void 0&&(F={});let G=va(b.matches,L);Oe(P),Ke({errors:{[G.route.id]:_},fetchers:new Map(b.fetchers)},{flushSync:(F&&F.flushSync)===!0})}function ke(P){return u.v7_fetcherPersist&&(ie.set(P,(ie.get(P)||0)+1),Z.has(P)&&Z.delete(P)),b.fetchers.get(P)||h4}function Oe(P){let L=b.fetchers.get(P);ae.has(P)&&!(L&&L.state==="loading"&&U.has(P))&&ct(P),B.delete(P),U.delete(P),A.delete(P),Z.delete(P),b.fetchers.delete(P)}function nt(P){if(u.v7_fetcherPersist){let L=(ie.get(P)||0)-1;L<=0?(ie.delete(P),Z.add(P)):ie.set(P,L)}else Oe(P);Ke({fetchers:new Map(b.fetchers)})}function ct(P){let L=ae.get(P);fe(L,"Expected fetch controller: "+P),L.abort(),ae.delete(P)}function sn(P){for(let L of P){let _=ke(L),F=sr(_.data);b.fetchers.set(L,F)}}function bn(){let P=[],L=!1;for(let _ of A){let F=b.fetchers.get(_);fe(F,"Expected fetcher: "+_),F.state==="loading"&&(A.delete(_),P.push(_),L=!0)}return sn(P),L}function Et(P){let L=[];for(let[_,F]of U)if(F0}function Kr(P,L){let _=b.blockers.get(P)||Gi;return J.get(P)!==L&&J.set(P,L),_}function ee(P){b.blockers.delete(P),J.delete(P)}function ve(P,L){let _=b.blockers.get(P)||Gi;fe(_.state==="unblocked"&&L.state==="blocked"||_.state==="blocked"&&L.state==="blocked"||_.state==="blocked"&&L.state==="proceeding"||_.state==="blocked"&&L.state==="unblocked"||_.state==="proceeding"&&L.state==="unblocked","Invalid blocker state transition: "+_.state+" -> "+L.state);let F=new Map(b.blockers);F.set(P,L),Ke({blockers:F})}function Ee(P){let{currentLocation:L,nextLocation:_,historyAction:F}=P;if(J.size===0)return;J.size>1&&Pi(!1,"A router only supports one blocker at a time");let G=Array.from(J.entries()),[ce,re]=G[G.length-1],ne=b.blockers.get(ce);if(!(ne&&ne.state==="proceeding")&&re({currentLocation:L,nextLocation:_,historyAction:F}))return ce}function rt(P){let L=[];return de.forEach((_,F)=>{(!P||P(F))&&(_.cancel(),L.push(F),de.delete(F))}),L}function vt(P,L,_){if(p=P,x=L,m=_||null,!g&&b.navigation===uc){g=!0;let F=R1(b.location,b.matches);F!=null&&Ke({restoreScrollPosition:F})}return()=>{p=null,x=null,m=null}}function Fn(P,L){return m&&m(P,L.map(F=>W5(F,b.loaderData)))||P.key}function Tu(P,L){if(p&&x){let _=Fn(P,L);p[_]=x()}}function R1(P,L){if(p){let _=Fn(P,L),F=p[_];if(typeof F=="number")return F}return null}function f8(P){i={},s=xd(P,o,void 0,i)}return k={get basename(){return l},get future(){return u},get state(){return b},get routes(){return a},get window(){return t},initialize:tt,subscribe:jt,enableScrollRestoration:vt,navigate:Wr,fetch:Hr,revalidate:Po,createHref:P=>e.history.createHref(P),encodeLocation:P=>e.history.encodeLocation(P),getFetcher:ke,deleteFetcher:nt,dispose:bt,getBlocker:Kr,deleteBlocker:ee,_internalFetchControllers:ae,_internalActiveDeferreds:de,_internalSetRoutes:f8},k}function g4(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function bd(e,t,n,r,o,i,a,s){let l,u;if(a){l=[];for(let f of t)if(l.push(f),f.route.id===a){u=f;break}}else l=t,u=t[t.length-1];let d=_2(o||".",N2(l,i),hs(e.pathname,n)||e.pathname,s==="path");return o==null&&(d.search=e.search,d.hash=e.hash),(o==null||o===""||o===".")&&u&&u.route.index&&!o1(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(d.pathname=d.pathname==="/"?n:Mr([n,d.pathname])),ps(d)}function Ap(e,t,n,r){if(!r||!g4(r))return{path:n};if(r.formMethod&&!S4(r.formMethod))return{path:n,error:qt(405,{method:r.formMethod})};let o=()=>({path:n,error:qt(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=A2(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!pn(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((m,x)=>{let[g,C]=x;return""+m+g+"="+C+` +`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!pn(a))return o();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return o()}}}fe(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=Ed(r.formData),u=r.formData;else if(r.body instanceof FormData)l=Ed(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=Bp(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=Bp(l)}catch{return o()}let d={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(pn(d.formMethod))return{path:n,submission:d};let f=Jn(n);return t&&f.search&&o1(f.search)&&l.append("index",""),f.search="?"+l,{path:ps(f),submission:d}}function y4(e,t){let n=e;if(t){let r=e.findIndex(o=>o.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function Fp(e,t,n,r,o,i,a,s,l,u,d,f,p,m,x,g){let C=g?Object.values(g)[0]:x?Object.values(x)[0]:void 0,h=e.createURL(t.location),v=e.createURL(o),y=g?Object.keys(g)[0]:void 0,k=y4(n,y).filter((R,$)=>{let{route:T}=R;if(T.lazy)return!0;if(T.loader==null)return!1;if(i)return T.loader.hydrate?!0:t.loaderData[T.id]===void 0&&(!t.errors||t.errors[T.id]===void 0);if(w4(t.loaderData,t.matches[$],R)||s.some(W=>W===R.route.id))return!0;let j=t.matches[$],H=R;return zp(R,He({currentUrl:h,currentParams:j.params,nextUrl:v,nextParams:H.params},r,{actionResult:C,defaultShouldRevalidate:a||h.pathname+h.search===v.pathname+v.search||h.search!==v.search||I2(j,H)}))}),b=[];return d.forEach((R,$)=>{if(i||!n.some(le=>le.route.id===R.routeId)||u.has($))return;let T=Qo(p,R.path,m);if(!T){b.push({key:$,routeId:R.routeId,path:R.path,matches:null,match:null,controller:null});return}let j=t.fetchers.get($),H=Sd(T,R.path),W=!1;f.has($)?W=!1:l.includes($)?W=!0:j&&j.state!=="idle"&&j.data===void 0?W=a:W=zp(H,He({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:v,nextParams:n[n.length-1].params},r,{actionResult:C,defaultShouldRevalidate:a})),W&&b.push({key:$,routeId:R.routeId,path:R.path,matches:T,match:H,controller:new AbortController})}),[k,b]}function w4(e,t,n){let r=!t||n.route.id!==t.route.id,o=e[n.route.id]===void 0;return r||o}function I2(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function zp(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function Up(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let o=n[e.id];fe(o,"No route found in manifest");let i={};for(let a in r){let l=o[a]!==void 0&&a!=="hasErrorBoundary";Pi(!l,'Route "'+o.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!l&&!B5.has(a)&&(i[a]=r[a])}Object.assign(o,i),Object.assign(o,He({},t(o),{lazy:void 0}))}async function Yi(e,t,n,r,o,i,a,s,l){l===void 0&&(l={});let u,d,f,p=g=>{let C,h=new Promise((v,y)=>C=y);return f=()=>C(),t.signal.addEventListener("abort",f),Promise.race([g({request:t,params:n.params,context:l.requestContext}),h])};try{let g=n.route[e];if(n.route.lazy)if(g){let C,h=await Promise.all([p(g).catch(v=>{C=v}),Up(n.route,i,o)]);if(C)throw C;d=h[0]}else if(await Up(n.route,i,o),g=n.route[e],g)d=await p(g);else if(e==="action"){let C=new URL(t.url),h=C.pathname+C.search;throw qt(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:Ve.data,data:void 0};else if(g)d=await p(g);else{let C=new URL(t.url),h=C.pathname+C.search;throw qt(404,{pathname:h})}fe(d!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(g){u=Ve.error,d=g}finally{f&&t.signal.removeEventListener("abort",f)}if(E4(d)){let g=d.status;if(f4.has(g)){let h=d.headers.get("Location");if(fe(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!M2.test(h))h=bd(new URL(t.url),r.slice(0,r.indexOf(n)+1),a,!0,h,s);else if(!l.isStaticRequest){let v=new URL(t.url),y=h.startsWith("//")?new URL(v.protocol+h):new URL(h),E=hs(y.pathname,a)!=null;y.origin===v.origin&&E&&(h=y.pathname+y.search+y.hash)}if(l.isStaticRequest)throw d.headers.set("Location",h),d;return{type:Ve.redirect,status:g,location:h,revalidate:d.headers.get("X-Remix-Revalidate")!==null,reloadDocument:d.headers.get("X-Remix-Reload-Document")!==null}}if(l.isRouteRequest)throw{type:u===Ve.error?Ve.error:Ve.data,response:d};let C;try{let h=d.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?d.body==null?C=null:C=await d.json():C=await d.text()}catch(h){return{type:Ve.error,error:h}}return u===Ve.error?{type:u,error:new r1(g,d.statusText,C),headers:d.headers}:{type:Ve.data,data:C,statusCode:d.status,headers:d.headers}}if(u===Ve.error)return{type:u,error:d};if(b4(d)){var m,x;return{type:Ve.deferred,deferredData:d,statusCode:(m=d.init)==null?void 0:m.status,headers:((x=d.init)==null?void 0:x.headers)&&new Headers(d.init.headers)}}return{type:Ve.data,data:d}}function qi(e,t,n,r){let o=e.createURL(A2(t)).toString(),i={signal:n};if(r&&pn(r.formMethod)){let{formMethod:a,formEncType:s}=r;i.method=a.toUpperCase(),s==="application/json"?(i.headers=new Headers({"Content-Type":s}),i.body=JSON.stringify(r.json)):s==="text/plain"?i.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?i.body=Ed(r.formData):i.body=r.formData}return new Request(o,i)}function Ed(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Bp(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function C4(e,t,n,r,o){let i={},a=null,s,l=!1,u={};return n.forEach((d,f)=>{let p=t[f].route.id;if(fe(!to(d),"Cannot handle redirect results in processLoaderData"),Go(d)){let m=va(e,p),x=d.error;r&&(x=Object.values(r)[0],r=void 0),a=a||{},a[m.route.id]==null&&(a[m.route.id]=x),i[p]=void 0,l||(l=!0,s=D2(d.error)?d.error.status:500),d.headers&&(u[p]=d.headers)}else eo(d)?(o.set(p,d.deferredData),i[p]=d.deferredData.data):i[p]=d.data,d.statusCode!=null&&d.statusCode!==200&&!l&&(s=d.statusCode),d.headers&&(u[p]=d.headers)}),r&&(a=r,i[Object.keys(r)[0]]=void 0),{loaderData:i,errors:a,statusCode:s||200,loaderHeaders:u}}function Vp(e,t,n,r,o,i,a,s){let{loaderData:l,errors:u}=C4(t,n,r,o,s);for(let d=0;dr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function Hp(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function qt(e,t){let{pathname:n,routeId:r,method:o,type:i}=t===void 0?{}:t,a="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(a="Bad Request",o&&n&&r?s="You made a "+o+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?s="defer() is not supported in actions":i==="invalid-body"&&(s="Unable to encode submission body")):e===403?(a="Forbidden",s='Route "'+r+'" does not match URL "'+n+'"'):e===404?(a="Not Found",s='No route matches URL "'+n+'"'):e===405&&(a="Method Not Allowed",o&&n&&r?s="You made a "+o.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":o&&(s='Invalid request method "'+o.toUpperCase()+'"')),new r1(e||500,a,new Error(s),!0)}function Kp(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(to(n))return{result:n,idx:t}}}function A2(e){let t=typeof e=="string"?Jn(e):e;return ps(He({},t,{hash:""}))}function x4(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function eo(e){return e.type===Ve.deferred}function Go(e){return e.type===Ve.error}function to(e){return(e&&e.type)===Ve.redirect}function b4(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function E4(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function S4(e){return d4.has(e.toLowerCase())}function pn(e){return u4.has(e.toLowerCase())}async function Qp(e,t,n,r,o,i){for(let a=0;af.route.id===l.route.id),d=u!=null&&!I2(u,l)&&(i&&i[l.route.id])!==void 0;if(eo(s)&&(o||d)){let f=r[a];fe(f,"Expected an AbortSignal for revalidating fetcher deferred result"),await F2(s,f,o).then(p=>{p&&(n[a]=p||n[a])})}}}async function F2(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Ve.data,data:e.deferredData.unwrappedData}}catch(o){return{type:Ve.error,error:o}}return{type:Ve.data,data:e.deferredData.data}}}function o1(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Sd(e,t){let n=typeof t=="string"?Jn(t).search:t.search;if(e[e.length-1].route.index&&o1(n||""))return e[e.length-1];let r=T2(e);return r[r.length-1]}function Gp(e){let{formMethod:t,formAction:n,formEncType:r,text:o,formData:i,json:a}=e;if(!(!t||!n||!r)){if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:o};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function cc(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function R4(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function Xi(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function k4(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function sr(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function P4(e,t){try{let n=e.sessionStorage.getItem(j2);if(n){let r=JSON.parse(n);for(let[o,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(o,new Set(i||[]))}}catch{}}function $4(e,t){if(t.size>0){let n={};for(let[r,o]of t)n[r]=[...o];try{e.sessionStorage.setItem(j2,JSON.stringify(n))}catch(r){Pi(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** + * React Router v6.22.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Ba(){return Ba=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),c.useCallback(function(u,d){if(d===void 0&&(d={}),!s.current)return;if(typeof u=="number"){r.go(u);return}let f=_2(u,JSON.parse(a),i,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:Mr([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,a,i,e])}function T4(e,t,n,r){bu()||fe(!1);let{navigator:o}=c.useContext(Cu),{matches:i}=c.useContext(Mi),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let u=B2(),d;if(t){var f;let C=typeof t=="string"?Jn(t):t;l==="/"||(f=C.pathname)!=null&&f.startsWith(l)||fe(!1),d=C}else d=u;let p=d.pathname||"/",m=p;if(l!=="/"){let C=l.replace(/^\//,"").split("/");m="/"+p.replace(/^\//,"").split("/").slice(C.length).join("/")}let x=Qo(e,{pathname:m}),g=M4(x&&x.map(C=>Object.assign({},C,{params:Object.assign({},s,C.params),pathname:Mr([l,o.encodeLocation?o.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?l:Mr([l,o.encodeLocation?o.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),i,n,r);return t&&g?c.createElement(xu.Provider,{value:{location:Ba({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Qe.Pop}},g):g}function N4(){let e=F4(),t=D2(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),n?c.createElement("pre",{style:o},n):null,null)}const _4=c.createElement(N4,null);class D4 extends c.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?c.createElement(Mi.Provider,{value:this.props.routeContext},c.createElement(U2.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function O4(e){let{routeContext:t,match:n,children:r}=e,o=c.useContext(wu);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),c.createElement(Mi.Provider,{value:t},r)}function M4(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let d=a.findIndex(f=>f.route.id&&(s==null?void 0:s[f.route.id]));d>=0||fe(!1),a=a.slice(0,Math.min(a.length,d+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((d,f,p)=>{let m,x=!1,g=null,C=null;n&&(m=s&&f.route.id?s[f.route.id]:void 0,g=f.route.errorElement||_4,l&&(u<0&&p===0?(U4("route-fallback",!1),x=!0,C=null):u===p&&(x=!0,C=f.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,p+1)),v=()=>{let y;return m?y=g:x?y=C:f.route.Component?y=c.createElement(f.route.Component,null):f.route.element?y=f.route.element:y=d,c.createElement(O4,{match:f,routeContext:{outlet:d,matches:h,isDataRoute:n!=null},children:y})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?c.createElement(D4,{location:n.location,revalidation:n.revalidation,component:g,error:m,children:v(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):v()},null)}var H2=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(H2||{}),Wl=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Wl||{});function j4(e){let t=c.useContext(wu);return t||fe(!1),t}function I4(e){let t=c.useContext(z2);return t||fe(!1),t}function A4(e){let t=c.useContext(Mi);return t||fe(!1),t}function K2(e){let t=A4(),n=t.matches[t.matches.length-1];return n.route.id||fe(!1),n.route.id}function F4(){var e;let t=c.useContext(U2),n=I4(Wl.UseRouteError),r=K2(Wl.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function z4(){let{router:e}=j4(H2.UseNavigateStable),t=K2(Wl.UseNavigateStable),n=c.useRef(!1);return V2(()=>{n.current=!0}),c.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,Ba({fromRouteId:t},i)))},[e,t])}const Yp={};function U4(e,t,n){!t&&!Yp[e]&&(Yp[e]=!0)}function B4(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Qe.Pop,navigator:i,static:a=!1,future:s}=e;bu()&&fe(!1);let l=t.replace(/^\/*/,"/"),u=c.useMemo(()=>({basename:l,navigator:i,static:a,future:Ba({v7_relativeSplatPath:!1},s)}),[l,s,i,a]);typeof r=="string"&&(r=Jn(r));let{pathname:d="/",search:f="",hash:p="",state:m=null,key:x="default"}=r,g=c.useMemo(()=>{let C=hs(d,l);return C==null?null:{location:{pathname:C,search:f,hash:p,state:m,key:x},navigationType:o}},[l,d,f,p,m,x,o]);return g==null?null:c.createElement(Cu.Provider,{value:u},c.createElement(xu.Provider,{children:n,value:g}))}new Promise(()=>{});function V4(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:c.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:c.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:c.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** + * React Router DOM v6.22.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Hl(){return Hl=Object.assign?Object.assign.bind():function(e){for(var t=1;t{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}}function e7(e){let{fallbackElement:t,router:n,future:r}=e,[o,i]=c.useState(n.state),[a,s]=c.useState(),[l,u]=c.useState({isTransitioning:!1}),[d,f]=c.useState(),[p,m]=c.useState(),[x,g]=c.useState(),C=c.useRef(new Map),{v7_startTransition:h}=r||{},v=c.useCallback(R=>{h?Z4(R):R()},[h]),y=c.useCallback((R,$)=>{let{deletedFetchers:T,unstable_flushSync:j,unstable_viewTransitionOpts:H}=$;T.forEach(le=>C.current.delete(le)),R.fetchers.forEach((le,Y)=>{le.data!==void 0&&C.current.set(Y,le.data)});let W=n.window==null||typeof n.window.document.startViewTransition!="function";if(!H||W){j?Zi(()=>i(R)):v(()=>i(R));return}if(j){Zi(()=>{p&&(d&&d.resolve(),p.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:H.currentLocation,nextLocation:H.nextLocation})});let le=n.window.document.startViewTransition(()=>{Zi(()=>i(R))});le.finished.finally(()=>{Zi(()=>{f(void 0),m(void 0),s(void 0),u({isTransitioning:!1})})}),Zi(()=>m(le));return}p?(d&&d.resolve(),p.skipTransition(),g({state:R,currentLocation:H.currentLocation,nextLocation:H.nextLocation})):(s(R),u({isTransitioning:!0,flushSync:!1,currentLocation:H.currentLocation,nextLocation:H.nextLocation}))},[n.window,p,d,C,v]);c.useLayoutEffect(()=>n.subscribe(y),[n,y]),c.useEffect(()=>{l.isTransitioning&&!l.flushSync&&f(new J4)},[l]),c.useEffect(()=>{if(d&&a&&n.window){let R=a,$=d.promise,T=n.window.document.startViewTransition(async()=>{v(()=>i(R)),await $});T.finished.finally(()=>{f(void 0),m(void 0),s(void 0),u({isTransitioning:!1})}),m(T)}},[v,a,d,n.window]),c.useEffect(()=>{d&&a&&o.location.key===a.location.key&&d.resolve()},[d,p,o.location,a]),c.useEffect(()=>{!l.isTransitioning&&x&&(s(x.state),u({isTransitioning:!0,flushSync:!1,currentLocation:x.currentLocation,nextLocation:x.nextLocation}),g(void 0))},[l.isTransitioning,x]),c.useEffect(()=>{},[]);let E=c.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:R=>n.navigate(R),push:(R,$,T)=>n.navigate(R,{state:$,preventScrollReset:T==null?void 0:T.preventScrollReset}),replace:(R,$,T)=>n.navigate(R,{replace:!0,state:$,preventScrollReset:T==null?void 0:T.preventScrollReset})}),[n]),k=n.basename||"/",b=c.useMemo(()=>({router:n,navigator:E,static:!1,basename:k}),[n,E,k]);return c.createElement(c.Fragment,null,c.createElement(wu.Provider,{value:b},c.createElement(z2.Provider,{value:o},c.createElement(Y4.Provider,{value:C.current},c.createElement(G4.Provider,{value:l},c.createElement(B4,{basename:k,location:o.location,navigationType:o.historyAction,navigator:E,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},o.initialized||n.future.v7_partialHydration?c.createElement(t7,{routes:n.routes,future:n.future,state:o}):t))))),null)}function t7(e){let{routes:t,future:n,state:r}=e;return T4(t,void 0,r,n)}var Zp;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Zp||(Zp={}));var Jp;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Jp||(Jp={}));function q(){return q=Object.assign?Object.assign.bind():function(e){for(var t=1;ts,Object.values(s));return c.createElement(n.Provider,{value:l},a)}function o(i){const a=c.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",[r,o]}function ko(e,t=[]){let n=[];function r(i,a){const s=c.createContext(a),l=n.length;n=[...n,a];function u(f){const{scope:p,children:m,...x}=f,g=(p==null?void 0:p[e][l])||s,C=c.useMemo(()=>x,Object.values(x));return c.createElement(g.Provider,{value:C},m)}function d(f,p){const m=(p==null?void 0:p[e][l])||s,x=c.useContext(m);if(x)return x;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${i}\``)}return u.displayName=i+"Provider",[u,d]}const o=()=>{const i=n.map(a=>c.createContext(a));return function(s){const l=(s==null?void 0:s[e])||i;return c.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return o.scopeName=e,[r,r7(o,...t)]}function r7(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=r.reduce((s,{useScope:l,scopeName:u})=>{const f=l(i)[`__scope${u}`];return{...s,...f}},{});return c.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ce(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function o7(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function i1(...e){return t=>e.forEach(n=>o7(n,t))}function mt(...e){return c.useCallback(i1(...e),e)}const $i=c.forwardRef((e,t)=>{const{children:n,...r}=e,o=c.Children.toArray(n),i=o.find(i7);if(i){const a=i.props.children,s=o.map(l=>l===i?c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null:l);return c.createElement(Rd,q({},r,{ref:t}),c.isValidElement(a)?c.cloneElement(a,void 0,s):null)}return c.createElement(Rd,q({},r,{ref:t}),n)});$i.displayName="Slot";const Rd=c.forwardRef((e,t)=>{const{children:n,...r}=e;return c.isValidElement(n)?c.cloneElement(n,{...a7(r,n.props),ref:t?i1(t,n.ref):n.ref}):c.Children.count(n)>1?c.Children.only(null):null});Rd.displayName="SlotClone";const Q2=({children:e})=>c.createElement(c.Fragment,null,e);function i7(e){return c.isValidElement(e)&&e.type===Q2}function a7(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{i(...s),o(...s)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}const s7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],De=s7.reduce((e,t)=>{const n=c.forwardRef((r,o)=>{const{asChild:i,...a}=r,s=i?$i:t;return c.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),c.createElement(s,q({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function kd(e,t){e&&fs.flushSync(()=>e.dispatchEvent(t))}function kt(e){const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function Eu({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=l7({defaultProp:t,onChange:n}),i=e!==void 0,a=i?e:r,s=kt(n),l=c.useCallback(u=>{if(i){const f=typeof u=="function"?u(e):u;f!==e&&s(f)}else o(u)},[i,e,o,s]);return[a,l]}function l7({defaultProp:e,onChange:t}){const n=c.useState(e),[r]=n,o=c.useRef(r),i=kt(t);return c.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),n}const u7=c.createContext(void 0);function a1(e){const t=c.useContext(u7);return e||t||"ltr"}const bo=globalThis!=null&&globalThis.document?c.useLayoutEffect:()=>{};function c7(e,t){return c.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const er=e=>{const{present:t,children:n}=e,r=d7(t),o=typeof n=="function"?n({present:r.isPresent}):c.Children.only(n),i=mt(r.ref,o.ref);return typeof n=="function"||r.isPresent?c.cloneElement(o,{ref:i}):null};er.displayName="Presence";function d7(e){const[t,n]=c.useState(),r=c.useRef({}),o=c.useRef(e),i=c.useRef("none"),a=e?"mounted":"unmounted",[s,l]=c7(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return c.useEffect(()=>{const u=Fs(r.current);i.current=s==="mounted"?u:"none"},[s]),bo(()=>{const u=r.current,d=o.current;if(d!==e){const p=i.current,m=Fs(u);e?l("MOUNT"):m==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&p!==m?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),bo(()=>{if(t){const u=f=>{const m=Fs(r.current).includes(f.animationName);f.target===t&&m&&fs.flushSync(()=>l("ANIMATION_END"))},d=f=>{f.target===t&&(i.current=Fs(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:c.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function Fs(e){return(e==null?void 0:e.animationName)||"none"}const f7=E0.useId||(()=>{});let p7=0;function ti(e){const[t,n]=c.useState(f7());return bo(()=>{e||n(r=>r??String(p7++))},[e]),e||(t?`radix-${t}`:"")}function s1(e){const t=e+"CollectionProvider",[n,r]=ko(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:x,children:g}=m,C=D.useRef(null),h=D.useRef(new Map).current;return D.createElement(o,{scope:x,itemMap:h,collectionRef:C},g)},s=e+"CollectionSlot",l=D.forwardRef((m,x)=>{const{scope:g,children:C}=m,h=i(s,g),v=mt(x,h.collectionRef);return D.createElement($i,{ref:v},C)}),u=e+"CollectionItemSlot",d="data-radix-collection-item",f=D.forwardRef((m,x)=>{const{scope:g,children:C,...h}=m,v=D.useRef(null),y=mt(x,v),E=i(u,g);return D.useEffect(()=>(E.itemMap.set(v,{ref:v,...h}),()=>void E.itemMap.delete(v))),D.createElement($i,{[d]:"",ref:y},C)});function p(m){const x=i(e+"CollectionConsumer",m);return D.useCallback(()=>{const C=x.collectionRef.current;if(!C)return[];const h=Array.from(C.querySelectorAll(`[${d}]`));return Array.from(x.itemMap.values()).sort((E,k)=>h.indexOf(E.ref.current)-h.indexOf(k.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},p,r]}function h7(e,t=globalThis==null?void 0:globalThis.document){const n=kt(e);c.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const Pd="dismissableLayer.update",m7="dismissableLayer.pointerDownOutside",v7="dismissableLayer.focusOutside";let eh;const g7=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),G2=c.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...u}=e,d=c.useContext(g7),[f,p]=c.useState(null),m=(n=f==null?void 0:f.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,x]=c.useState({}),g=mt(t,$=>p($)),C=Array.from(d.layers),[h]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),v=C.indexOf(h),y=f?C.indexOf(f):-1,E=d.layersWithOutsidePointerEventsDisabled.size>0,k=y>=v,b=y7($=>{const T=$.target,j=[...d.branches].some(H=>H.contains(T));!k||j||(i==null||i($),s==null||s($),$.defaultPrevented||l==null||l())},m),R=w7($=>{const T=$.target;[...d.branches].some(H=>H.contains(T))||(a==null||a($),s==null||s($),$.defaultPrevented||l==null||l())},m);return h7($=>{y===d.layers.size-1&&(o==null||o($),!$.defaultPrevented&&l&&($.preventDefault(),l()))},m),c.useEffect(()=>{if(f)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(eh=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),th(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=eh)}},[f,m,r,d]),c.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),th())},[f,d]),c.useEffect(()=>{const $=()=>x({});return document.addEventListener(Pd,$),()=>document.removeEventListener(Pd,$)},[]),c.createElement(De.div,q({},u,{ref:g,style:{pointerEvents:E?k?"auto":"none":void 0,...e.style},onFocusCapture:Ce(e.onFocusCapture,R.onFocusCapture),onBlurCapture:Ce(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:Ce(e.onPointerDownCapture,b.onPointerDownCapture)}))});function y7(e,t=globalThis==null?void 0:globalThis.document){const n=kt(e),r=c.useRef(!1),o=c.useRef(()=>{});return c.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let d=function(){Y2(m7,n,u,{discrete:!0})};var l=d;const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function w7(e,t=globalThis==null?void 0:globalThis.document){const n=kt(e),r=c.useRef(!1);return c.useEffect(()=>{const o=i=>{i.target&&!r.current&&Y2(v7,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function th(){const e=new CustomEvent(Pd);document.dispatchEvent(e)}function Y2(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?kd(o,i):o.dispatchEvent(i)}function q2(e){const t=c.useRef({value:e,previous:e});return c.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const C7=c.forwardRef((e,t)=>c.createElement(De.span,q({},e,{ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}))),x7=C7,ms="NavigationMenu",[l1,X2,b7]=s1(ms),[$d,E7,S7]=s1(ms),[u1,Kb]=ko(ms,[b7,S7]),[R7,yn]=u1(ms),[k7,P7]=u1(ms),$7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,onValueChange:o,defaultValue:i,delayDuration:a=200,skipDelayDuration:s=300,orientation:l="horizontal",dir:u,...d}=e,[f,p]=c.useState(null),m=mt(t,T=>p(T)),x=a1(u),g=c.useRef(0),C=c.useRef(0),h=c.useRef(0),[v,y]=c.useState(!0),[E="",k]=Eu({prop:r,onChange:T=>{const j=T!=="",H=s>0;j?(window.clearTimeout(h.current),H&&y(!1)):(window.clearTimeout(h.current),h.current=window.setTimeout(()=>y(!0),s)),o==null||o(T)},defaultProp:i}),b=c.useCallback(()=>{window.clearTimeout(C.current),C.current=window.setTimeout(()=>k(""),150)},[k]),R=c.useCallback(T=>{window.clearTimeout(C.current),k(T)},[k]),$=c.useCallback(T=>{E===T?window.clearTimeout(C.current):g.current=window.setTimeout(()=>{window.clearTimeout(C.current),k(T)},a)},[E,k,a]);return c.useEffect(()=>()=>{window.clearTimeout(g.current),window.clearTimeout(C.current),window.clearTimeout(h.current)},[]),c.createElement(L7,{scope:n,isRootMenu:!0,value:E,dir:x,orientation:l,rootNavigationMenu:f,onTriggerEnter:T=>{window.clearTimeout(g.current),v?$(T):R(T)},onTriggerLeave:()=>{window.clearTimeout(g.current),b()},onContentEnter:()=>window.clearTimeout(C.current),onContentLeave:b,onItemSelect:T=>{k(j=>j===T?"":T)},onItemDismiss:()=>k("")},c.createElement(De.nav,q({"aria-label":"Main","data-orientation":l,dir:x},d,{ref:m})))}),L7=e=>{const{scope:t,isRootMenu:n,rootNavigationMenu:r,dir:o,orientation:i,children:a,value:s,onItemSelect:l,onItemDismiss:u,onTriggerEnter:d,onTriggerLeave:f,onContentEnter:p,onContentLeave:m}=e,[x,g]=c.useState(null),[C,h]=c.useState(new Map),[v,y]=c.useState(null);return c.createElement(R7,{scope:t,isRootMenu:n,rootNavigationMenu:r,value:s,previousValue:q2(s),baseId:ti(),dir:o,orientation:i,viewport:x,onViewportChange:g,indicatorTrack:v,onIndicatorTrackChange:y,onTriggerEnter:kt(d),onTriggerLeave:kt(f),onContentEnter:kt(p),onContentLeave:kt(m),onItemSelect:kt(l),onItemDismiss:kt(u),onViewportContentChange:c.useCallback((E,k)=>{h(b=>(b.set(E,k),new Map(b)))},[]),onViewportContentRemove:c.useCallback(E=>{h(k=>k.has(E)?(k.delete(E),new Map(k)):k)},[])},c.createElement(l1.Provider,{scope:t},c.createElement(k7,{scope:t,items:C},a)))},T7="NavigationMenuList",N7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(T7,n),i=c.createElement(De.ul,q({"data-orientation":o.orientation},r,{ref:t}));return c.createElement(De.div,{style:{position:"relative"},ref:o.onIndicatorTrackChange},c.createElement(l1.Slot,{scope:n},o.isRootMenu?c.createElement(nv,{asChild:!0},i):i))}),_7="NavigationMenuItem",[D7,Z2]=u1(_7),O7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,...o}=e,i=ti(),a=r||i||"LEGACY_REACT_AUTO_VALUE",s=c.useRef(null),l=c.useRef(null),u=c.useRef(null),d=c.useRef(()=>{}),f=c.useRef(!1),p=c.useCallback((x="start")=>{if(s.current){d.current();const g=Ld(s.current);g.length&&c1(x==="start"?g:g.reverse())}},[]),m=c.useCallback(()=>{if(s.current){const x=Ld(s.current);x.length&&(d.current=H7(x))}},[]);return c.createElement(D7,{scope:n,value:a,triggerRef:l,contentRef:s,focusProxyRef:u,wasEscapeCloseRef:f,onEntryKeyDown:p,onFocusProxyEnter:p,onRootContentClose:m,onContentFocusOutside:m},c.createElement(De.li,q({},o,{ref:t})))}),nh="NavigationMenuTrigger",M7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,disabled:r,...o}=e,i=yn(nh,e.__scopeNavigationMenu),a=Z2(nh,e.__scopeNavigationMenu),s=c.useRef(null),l=mt(s,a.triggerRef,t),u=ov(i.baseId,a.value),d=iv(i.baseId,a.value),f=c.useRef(!1),p=c.useRef(!1),m=a.value===i.value;return c.createElement(c.Fragment,null,c.createElement(l1.ItemSlot,{scope:n,value:a.value},c.createElement(rv,{asChild:!0},c.createElement(De.button,q({id:u,disabled:r,"data-disabled":r?"":void 0,"data-state":d1(m),"aria-expanded":m,"aria-controls":d},o,{ref:l,onPointerEnter:Ce(e.onPointerEnter,()=>{p.current=!1,a.wasEscapeCloseRef.current=!1}),onPointerMove:Ce(e.onPointerMove,Kl(()=>{r||p.current||a.wasEscapeCloseRef.current||f.current||(i.onTriggerEnter(a.value),f.current=!0)})),onPointerLeave:Ce(e.onPointerLeave,Kl(()=>{r||(i.onTriggerLeave(),f.current=!1)})),onClick:Ce(e.onClick,()=>{i.onItemSelect(a.value),p.current=m}),onKeyDown:Ce(e.onKeyDown,x=>{const C={horizontal:"ArrowDown",vertical:i.dir==="rtl"?"ArrowLeft":"ArrowRight"}[i.orientation];m&&x.key===C&&(a.onEntryKeyDown(),x.preventDefault())})})))),m&&c.createElement(c.Fragment,null,c.createElement(x7,{"aria-hidden":!0,tabIndex:0,ref:a.focusProxyRef,onFocus:x=>{const g=a.contentRef.current,C=x.relatedTarget,h=C===s.current,v=g==null?void 0:g.contains(C);(h||!v)&&a.onFocusProxyEnter(h?"start":"end")}}),i.viewport&&c.createElement("span",{"aria-owns":d})))}),rh="navigationMenu.linkSelect",j7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,active:r,onSelect:o,...i}=e;return c.createElement(rv,{asChild:!0},c.createElement(De.a,q({"data-active":r?"":void 0,"aria-current":r?"page":void 0},i,{ref:t,onClick:Ce(e.onClick,a=>{const s=a.target,l=new CustomEvent(rh,{bubbles:!0,cancelable:!0});if(s.addEventListener(rh,u=>o==null?void 0:o(u),{once:!0}),kd(s,l),!l.defaultPrevented&&!a.metaKey){const u=new CustomEvent(ul,{bubbles:!0,cancelable:!0});kd(s,u)}},{checkForDefaultPrevented:!1})})))}),J2="NavigationMenuIndicator",I7=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yn(J2,e.__scopeNavigationMenu),i=!!o.value;return o.indicatorTrack?yu.createPortal(c.createElement(er,{present:n||i},c.createElement(A7,q({},r,{ref:t}))),o.indicatorTrack):null}),A7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(J2,n),i=X2(n),[a,s]=c.useState(null),[l,u]=c.useState(null),d=o.orientation==="horizontal",f=!!o.value;c.useEffect(()=>{var m;const g=(m=i().find(C=>C.value===o.value))===null||m===void 0?void 0:m.ref.current;g&&s(g)},[i,o.value]);const p=()=>{a&&u({size:d?a.offsetWidth:a.offsetHeight,offset:d?a.offsetLeft:a.offsetTop})};return Td(a,p),Td(o.indicatorTrack,p),l?c.createElement(De.div,q({"aria-hidden":!0,"data-state":f?"visible":"hidden","data-orientation":o.orientation},r,{ref:t,style:{position:"absolute",...d?{left:0,width:l.size+"px",transform:`translateX(${l.offset}px)`}:{top:0,height:l.size+"px",transform:`translateY(${l.offset}px)`},...r.style}})):null}),Va="NavigationMenuContent",F7=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yn(Va,e.__scopeNavigationMenu),i=Z2(Va,e.__scopeNavigationMenu),a=mt(i.contentRef,t),s=i.value===o.value,l={value:i.value,triggerRef:i.triggerRef,focusProxyRef:i.focusProxyRef,wasEscapeCloseRef:i.wasEscapeCloseRef,onContentFocusOutside:i.onContentFocusOutside,onRootContentClose:i.onRootContentClose,...r};return o.viewport?c.createElement(z7,q({forceMount:n},l,{ref:a})):c.createElement(er,{present:n||s},c.createElement(ev,q({"data-state":d1(s)},l,{ref:a,onPointerEnter:Ce(e.onPointerEnter,o.onContentEnter),onPointerLeave:Ce(e.onPointerLeave,Kl(o.onContentLeave)),style:{pointerEvents:!s&&o.isRootMenu?"none":void 0,...l.style}})))}),z7=c.forwardRef((e,t)=>{const n=yn(Va,e.__scopeNavigationMenu),{onViewportContentChange:r,onViewportContentRemove:o}=n;return bo(()=>{r(e.value,{ref:t,...e})},[e,t,r]),bo(()=>()=>o(e.value),[e.value,o]),null}),ul="navigationMenu.rootContentDismiss",ev=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,triggerRef:o,focusProxyRef:i,wasEscapeCloseRef:a,onRootContentClose:s,onContentFocusOutside:l,...u}=e,d=yn(Va,n),f=c.useRef(null),p=mt(f,t),m=ov(d.baseId,r),x=iv(d.baseId,r),g=X2(n),C=c.useRef(null),{onItemDismiss:h}=d;c.useEffect(()=>{const y=f.current;if(d.isRootMenu&&y){const E=()=>{var k;h(),s(),y.contains(document.activeElement)&&((k=o.current)===null||k===void 0||k.focus())};return y.addEventListener(ul,E),()=>y.removeEventListener(ul,E)}},[d.isRootMenu,e.value,o,h,s]);const v=c.useMemo(()=>{const E=g().map(j=>j.value);d.dir==="rtl"&&E.reverse();const k=E.indexOf(d.value),b=E.indexOf(d.previousValue),R=r===d.value,$=b===E.indexOf(r);if(!R&&!$)return C.current;const T=(()=>{if(k!==b){if(R&&b!==-1)return k>b?"from-end":"from-start";if($&&k!==-1)return k>b?"to-start":"to-end"}return null})();return C.current=T,T},[d.previousValue,d.value,d.dir,g,r]);return c.createElement(nv,{asChild:!0},c.createElement(G2,q({id:x,"aria-labelledby":m,"data-motion":v,"data-orientation":d.orientation},u,{ref:p,onDismiss:()=>{var y;const E=new Event(ul,{bubbles:!0,cancelable:!0});(y=f.current)===null||y===void 0||y.dispatchEvent(E)},onFocusOutside:Ce(e.onFocusOutside,y=>{var E;l();const k=y.target;(E=d.rootNavigationMenu)!==null&&E!==void 0&&E.contains(k)&&y.preventDefault()}),onPointerDownOutside:Ce(e.onPointerDownOutside,y=>{var E;const k=y.target,b=g().some($=>{var T;return(T=$.ref.current)===null||T===void 0?void 0:T.contains(k)}),R=d.isRootMenu&&((E=d.viewport)===null||E===void 0?void 0:E.contains(k));(b||R||!d.isRootMenu)&&y.preventDefault()}),onKeyDown:Ce(e.onKeyDown,y=>{const E=y.altKey||y.ctrlKey||y.metaKey;if(y.key==="Tab"&&!E){const R=Ld(y.currentTarget),$=document.activeElement,T=R.findIndex(W=>W===$),H=y.shiftKey?R.slice(0,T).reverse():R.slice(T+1,R.length);if(c1(H))y.preventDefault();else{var b;(b=i.current)===null||b===void 0||b.focus()}}}),onEscapeKeyDown:Ce(e.onEscapeKeyDown,y=>{a.current=!0})})))}),tv="NavigationMenuViewport",U7=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=!!yn(tv,e.__scopeNavigationMenu).value;return c.createElement(er,{present:n||i},c.createElement(B7,q({},r,{ref:t})))}),B7=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,children:r,...o}=e,i=yn(tv,n),a=mt(t,i.onViewportChange),s=P7(Va,e.__scopeNavigationMenu),[l,u]=c.useState(null),[d,f]=c.useState(null),p=l?(l==null?void 0:l.width)+"px":void 0,m=l?(l==null?void 0:l.height)+"px":void 0,x=!!i.value,g=x?i.value:i.previousValue;return Td(d,()=>{d&&u({width:d.offsetWidth,height:d.offsetHeight})}),c.createElement(De.div,q({"data-state":d1(x),"data-orientation":i.orientation},o,{ref:a,style:{pointerEvents:!x&&i.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":p,"--radix-navigation-menu-viewport-height":m,...o.style},onPointerEnter:Ce(e.onPointerEnter,i.onContentEnter),onPointerLeave:Ce(e.onPointerLeave,Kl(i.onContentLeave))}),Array.from(s.items).map(([h,{ref:v,forceMount:y,...E}])=>{const k=g===h;return c.createElement(er,{key:h,present:y||k},c.createElement(ev,q({},E,{ref:i1(v,b=>{k&&b&&f(b)})})))}))}),V7="FocusGroup",nv=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(V7,n);return c.createElement($d.Provider,{scope:n},c.createElement($d.Slot,{scope:n},c.createElement(De.div,q({dir:o.dir},r,{ref:t}))))}),oh=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],W7="FocusGroupItem",rv=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=E7(n),i=yn(W7,n);return c.createElement($d.ItemSlot,{scope:n},c.createElement(De.button,q({},r,{ref:t,onKeyDown:Ce(e.onKeyDown,a=>{if(["Home","End",...oh].includes(a.key)){let l=o().map(f=>f.ref.current);if([i.dir==="rtl"?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(a.key)&&l.reverse(),oh.includes(a.key)){const f=l.indexOf(a.currentTarget);l=l.slice(f+1)}setTimeout(()=>c1(l)),a.preventDefault()}})})))});function Ld(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function c1(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}function H7(e){return e.forEach(t=>{t.dataset.tabindex=t.getAttribute("tabindex")||"",t.setAttribute("tabindex","-1")}),()=>{e.forEach(t=>{const n=t.dataset.tabindex;t.setAttribute("tabindex",n)})}}function Td(e,t){const n=kt(t);bo(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}function d1(e){return e?"open":"closed"}function ov(e,t){return`${e}-trigger-${t}`}function iv(e,t){return`${e}-content-${t}`}function Kl(e){return t=>t.pointerType==="mouse"?e(t):void 0}const av=$7,sv=N7,K7=O7,lv=M7,Q7=j7,uv=I7,cv=F7,dv=U7;function fv(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;ttypeof e=="boolean"?"".concat(e):e===0?"0":e,ah=G7,Su=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return ah(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(u=>{const d=n==null?void 0:n[u],f=i==null?void 0:i[u];if(d===null)return null;const p=ih(d)||ih(f);return o[u][p]}),s=n&&Object.entries(n).reduce((u,d)=>{let[f,p]=d;return p===void 0||(u[f]=p),u},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,d)=>{let{class:f,className:p,...m}=d;return Object.entries(m).every(x=>{let[g,C]=x;return Array.isArray(C)?C.includes({...i,...s}[g]):{...i,...s}[g]===C})?[...u,f,p]:u},[]);return ah(e,a,l,n==null?void 0:n.class,n==null?void 0:n.className)};/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var Y7={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const q7=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),wn=(e,t)=>{const n=c.forwardRef(({color:r="currentColor",size:o=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:s="",children:l,...u},d)=>c.createElement("svg",{ref:d,...Y7,width:o,height:o,stroke:r,strokeWidth:a?Number(i)*24/Number(o):i,className:["lucide",`lucide-${q7(e)}`,s].join(" "),...u},[...t.map(([f,p])=>c.createElement(f,p)),...Array.isArray(l)?l:[l]]));return n.displayName=`${e}`,n};/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X7=wn("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z7=wn("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J7=wn("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const e3=wn("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const t3=wn("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const n3=wn("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r3=wn("Import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o3=wn("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Wa=wn("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const i3=wn("Replace",[["path",{d:"M14 4c0-1.1.9-2 2-2",key:"1mvvbw"}],["path",{d:"M20 2c1.1 0 2 .9 2 2",key:"1mj6oe"}],["path",{d:"M22 8c0 1.1-.9 2-2 2",key:"v1wql3"}],["path",{d:"M16 10c-1.1 0-2-.9-2-2",key:"821ux0"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5c0-1.7 1.3-3 3-3h1",key:"13af7h"}],["rect",{width:"8",height:"8",x:"2",y:"14",rx:"2",key:"17ihk4"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a3=wn("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function pv(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts(i)))==null?void 0:a.classGroupId}const sh=/^\[(.+)\]$/;function u3(e){if(sh.test(e)){const t=sh.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}function c3(e){const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return f3(Object.entries(e.classGroups),n).forEach(([i,a])=>{Nd(a,r,i,t)}),r}function Nd(e,t,n,r){e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:lh(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(d3(o)){Nd(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Nd(a,lh(t,i),n,r)})})}function lh(e,t){let n=e;return t.split(f1).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n}function d3(e){return e.isThemeGetter}function f3(e,t){return t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e}function p3(e){if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;function o(i,a){n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)}return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}}const mv="!";function h3(e){const t=e.separator,n=t.length===1,r=t[0],o=t.length;return function(a){const s=[];let l=0,u=0,d;for(let g=0;gu?d-u:void 0;return{modifiers:s,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:x}}}function m3(e){if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t}function v3(e){return{cache:p3(e.cacheSize),splitModifiers:h3(e),...l3(e)}}const g3=/\s+/;function y3(e,t){const{splitModifiers:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=new Set;return e.trim().split(g3).map(a=>{const{modifiers:s,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(a);let f=r(d?u.substring(0,d):u),p=!!d;if(!f){if(!d)return{isTailwindClass:!1,originalClassName:a};if(f=r(u),!f)return{isTailwindClass:!1,originalClassName:a};p=!1}const m=m3(s).join(":");return{isTailwindClass:!0,modifierId:l?m+mv:m,classGroupId:f,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;const{modifierId:s,classGroupId:l,hasPostfixModifier:u}=a,d=s+l;return i.has(d)?!1:(i.add(d),o(l,u).forEach(f=>i.add(s+f)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function w3(){let e=0,t,n,r="";for(;ef(d),e());return n=v3(u),r=n.cache.get,o=n.cache.set,i=s,s(l)}function s(l){const u=r(l);if(u)return u;const d=y3(l,n);return o(l,d),d}return function(){return i(w3.apply(null,arguments))}}function Le(e){const t=n=>n[e]||[];return t.isThemeGetter=!0,t}const gv=/^\[(?:([a-z-]+):)?(.+)\]$/i,x3=/^\d+\/\d+$/,b3=new Set(["px","full","screen"]),E3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,R3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,k3=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,P3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function zn(e){return no(e)||b3.has(e)||x3.test(e)}function ir(e){return ji(e,"length",M3)}function no(e){return!!e&&!Number.isNaN(Number(e))}function zs(e){return ji(e,"number",no)}function Ji(e){return!!e&&Number.isInteger(Number(e))}function $3(e){return e.endsWith("%")&&no(e.slice(0,-1))}function se(e){return gv.test(e)}function ar(e){return E3.test(e)}const L3=new Set(["length","size","percentage"]);function T3(e){return ji(e,L3,yv)}function N3(e){return ji(e,"position",yv)}const _3=new Set(["image","url"]);function D3(e){return ji(e,_3,I3)}function O3(e){return ji(e,"",j3)}function ea(){return!0}function ji(e,t,n){const r=gv.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1}function M3(e){return S3.test(e)&&!R3.test(e)}function yv(){return!1}function j3(e){return k3.test(e)}function I3(e){return P3.test(e)}function A3(){const e=Le("colors"),t=Le("spacing"),n=Le("blur"),r=Le("brightness"),o=Le("borderColor"),i=Le("borderRadius"),a=Le("borderSpacing"),s=Le("borderWidth"),l=Le("contrast"),u=Le("grayscale"),d=Le("hueRotate"),f=Le("invert"),p=Le("gap"),m=Le("gradientColorStops"),x=Le("gradientColorStopPositions"),g=Le("inset"),C=Le("margin"),h=Le("opacity"),v=Le("padding"),y=Le("saturate"),E=Le("scale"),k=Le("sepia"),b=Le("skew"),R=Le("space"),$=Le("translate"),T=()=>["auto","contain","none"],j=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto",se,t],W=()=>[se,t],le=()=>["",zn,ir],Y=()=>["auto",no,se],te=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ye=()=>["solid","dashed","dotted","double","none"],ae=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],O=()=>["start","end","center","between","around","evenly","stretch"],N=()=>["","0",se],U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>[no,zs],B=()=>[no,se];return{cacheSize:500,separator:":",theme:{colors:[ea],spacing:[zn,ir],blur:["none","",ar,se],brightness:A(),borderColor:[e],borderRadius:["none","","full",ar,se],borderSpacing:W(),borderWidth:le(),contrast:A(),grayscale:N(),hueRotate:B(),invert:N(),gap:W(),gradientColorStops:[e],gradientColorStopPositions:[$3,ir],inset:H(),margin:H(),opacity:A(),padding:W(),saturate:A(),scale:A(),sepia:N(),skew:B(),space:W(),translate:W()},classGroups:{aspect:[{aspect:["auto","square","video",se]}],container:["container"],columns:[{columns:[ar]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...te(),se]}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ji,se]}],basis:[{basis:H()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",se]}],grow:[{grow:N()}],shrink:[{shrink:N()}],order:[{order:["first","last","none",Ji,se]}],"grid-cols":[{"grid-cols":[ea]}],"col-start-end":[{col:["auto",{span:["full",Ji,se]},se]}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":[ea]}],"row-start-end":[{row:["auto",{span:[Ji,se]},se]}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",se]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",se]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...O()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...O(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...O(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[C]}],mx:[{mx:[C]}],my:[{my:[C]}],ms:[{ms:[C]}],me:[{me:[C]}],mt:[{mt:[C]}],mr:[{mr:[C]}],mb:[{mb:[C]}],ml:[{ml:[C]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",se,t]}],"min-w":[{"min-w":[se,t,"min","max","fit"]}],"max-w":[{"max-w":[se,t,"none","full","min","max","fit","prose",{screen:[ar]},ar]}],h:[{h:[se,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[se,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[se,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[se,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ar,ir]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",zs]}],"font-family":[{font:[ea]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",se]}],"line-clamp":[{"line-clamp":["none",no,zs]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",zn,se]}],"list-image":[{"list-image":["none",se]}],"list-style-type":[{list:["none","disc","decimal",se]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ye(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",zn,ir]}],"underline-offset":[{"underline-offset":["auto",zn,se]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:W()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",se]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",se]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...te(),N3]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",T3]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},D3]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...ye(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:ye()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...ye()]}],"outline-offset":[{"outline-offset":[zn,se]}],"outline-w":[{outline:[zn,ir]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[zn,ir]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ar,O3]}],"shadow-color":[{shadow:[ea]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":ae()}],"bg-blend":[{"bg-blend":ae()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",ar,se]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[y]}],sepia:[{sepia:[k]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[k]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",se]}],duration:[{duration:B()}],ease:[{ease:["linear","in","out","in-out",se]}],delay:[{delay:B()}],animate:[{animate:["none","spin","ping","pulse","bounce",se]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[Ji,se]}],"translate-x":[{"translate-x":[$]}],"translate-y":[{"translate-y":[$]}],"skew-x":[{"skew-x":[b]}],"skew-y":[{"skew-y":[b]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",se]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",se]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":W()}],"scroll-mx":[{"scroll-mx":W()}],"scroll-my":[{"scroll-my":W()}],"scroll-ms":[{"scroll-ms":W()}],"scroll-me":[{"scroll-me":W()}],"scroll-mt":[{"scroll-mt":W()}],"scroll-mr":[{"scroll-mr":W()}],"scroll-mb":[{"scroll-mb":W()}],"scroll-ml":[{"scroll-ml":W()}],"scroll-p":[{"scroll-p":W()}],"scroll-px":[{"scroll-px":W()}],"scroll-py":[{"scroll-py":W()}],"scroll-ps":[{"scroll-ps":W()}],"scroll-pe":[{"scroll-pe":W()}],"scroll-pt":[{"scroll-pt":W()}],"scroll-pr":[{"scroll-pr":W()}],"scroll-pb":[{"scroll-pb":W()}],"scroll-pl":[{"scroll-pl":W()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",se]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[zn,ir,zs]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}const F3=C3(A3);function me(...e){return F3(s3(e))}const wv=c.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(av,{ref:r,className:me("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...n,children:[t,w.jsx(xv,{})]}));wv.displayName=av.displayName;const Cv=c.forwardRef(({className:e,...t},n)=>w.jsx(sv,{ref:n,className:me("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));Cv.displayName=sv.displayName;const dc=K7,cl=Su("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),z3=c.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(lv,{ref:r,className:me(cl(),"group",e),...n,children:[t," ",w.jsx(J7,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));z3.displayName=lv.displayName;const U3=c.forwardRef(({className:e,...t},n)=>w.jsx(cv,{ref:n,className:me("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));U3.displayName=cv.displayName;const fc=Q7,xv=c.forwardRef(({className:e,...t},n)=>w.jsx("div",{className:me("absolute left-0 top-full flex justify-center"),children:w.jsx(dv,{className:me("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:n,...t})}));xv.displayName=dv.displayName;const B3=c.forwardRef(({className:e,...t},n)=>w.jsx(uv,{ref:n,className:me("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:w.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));B3.displayName=uv.displayName;function Ru(){return w.jsxs(wv,{className:"px-5 py-2",children:[w.jsx("a",{href:"/",children:w.jsx("div",{className:"font-mono font-semibold mr-2",children:"ComfyUI Launcher"})}),w.jsxs(Cv,{children:[w.jsx(dc,{children:w.jsx("a",{href:"/",children:w.jsx(fc,{className:cl(),children:"Workflows"})})}),w.jsx(dc,{children:w.jsx(fc,{onClick:async e=>{e.preventDefault(),await fetch("/api/open_models_folder")},className:`${cl()} cursor-pointer`,children:"Models"})}),w.jsx(dc,{children:w.jsx("a",{href:"/settings",children:w.jsx(fc,{className:cl(),children:"Settings"})})})]})]})}var Ii=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Li=typeof window>"u"||"Deno"in window;function Xt(){}function V3(e,t){return typeof e=="function"?e(t):e}function _d(e){return typeof e=="number"&&e>=0&&e!==1/0}function bv(e,t){return Math.max(e+(t||0)-Date.now(),0)}function uh(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==p1(a,t.options))return!1}else if(!Ha(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function ch(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Eo(t.options.mutationKey)!==Eo(i))return!1}else if(!Ha(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function p1(e,t){return((t==null?void 0:t.queryKeyHashFn)||Eo)(e)}function Eo(e){return JSON.stringify(e,(t,n)=>Dd(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Ha(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Ha(e[n],t[n])):!1}function Ev(e,t){if(e===t)return e;const n=dh(e)&&dh(t);if(n||Dd(e)&&Dd(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let l=0;for(let u=0;u"u")return!0;const n=t.prototype;return!(!fh(n)||!n.hasOwnProperty("isPrototypeOf"))}function fh(e){return Object.prototype.toString.call(e)==="[object Object]"}function W3(e){return new Promise(t=>{setTimeout(t,e)})}function Od(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Ev(e,t):t}function H3(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function K3(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var oo,hr,oi,r0,Q3=(r0=class extends Ii{constructor(){super();K(this,oo,void 0);K(this,hr,void 0);K(this,oi,void 0);z(this,oi,t=>{if(!Li&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){S(this,hr)||this.setEventListener(S(this,oi))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,hr))==null||t.call(this),z(this,hr,void 0))}setEventListener(t){var n;z(this,oi,t),(n=S(this,hr))==null||n.call(this),z(this,hr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){S(this,oo)!==t&&(z(this,oo,t),this.onFocus())}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){var t;return typeof S(this,oo)=="boolean"?S(this,oo):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},oo=new WeakMap,hr=new WeakMap,oi=new WeakMap,r0),Gl=new Q3,ii,mr,ai,o0,G3=(o0=class extends Ii{constructor(){super();K(this,ii,!0);K(this,mr,void 0);K(this,ai,void 0);z(this,ai,t=>{if(!Li&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){S(this,mr)||this.setEventListener(S(this,ai))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,mr))==null||t.call(this),z(this,mr,void 0))}setEventListener(t){var n;z(this,ai,t),(n=S(this,mr))==null||n.call(this),z(this,mr,t(this.setOnline.bind(this)))}setOnline(t){S(this,ii)!==t&&(z(this,ii,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return S(this,ii)}},ii=new WeakMap,mr=new WeakMap,ai=new WeakMap,o0),Yl=new G3;function Y3(e){return Math.min(1e3*2**e,3e4)}function ku(e){return(e??"online")==="online"?Yl.isOnline():!0}var Sv=class{constructor(e){this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function pc(e){return e instanceof Sv}function Rv(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((C,h)=>{i=C,a=h}),l=C=>{var h;r||(m(new Sv(C)),(h=e.abort)==null||h.call(e))},u=()=>{t=!0},d=()=>{t=!1},f=()=>!Gl.isFocused()||e.networkMode!=="always"&&!Yl.isOnline(),p=C=>{var h;r||(r=!0,(h=e.onSuccess)==null||h.call(e,C),o==null||o(),i(C))},m=C=>{var h;r||(r=!0,(h=e.onError)==null||h.call(e,C),o==null||o(),a(C))},x=()=>new Promise(C=>{var h;o=v=>{const y=r||!f();return y&&C(v),y},(h=e.onPause)==null||h.call(e)}).then(()=>{var C;o=void 0,r||(C=e.onContinue)==null||C.call(e)}),g=()=>{if(r)return;let C;try{C=e.fn()}catch(h){C=Promise.reject(h)}Promise.resolve(C).then(p).catch(h=>{var b;if(r)return;const v=e.retry??(Li?0:3),y=e.retryDelay??Y3,E=typeof y=="function"?y(n,h):y,k=v===!0||typeof v=="number"&&n{if(f())return x()}).then(()=>{t?m(h):g()})})};return ku(e.networkMode)?g():x().then(g),{promise:s,cancel:l,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:u,continueRetry:d}}function q3(){let e=[],t=0,n=p=>{p()},r=p=>{p()},o=p=>setTimeout(p,0);const i=p=>{o=p},a=p=>{let m;t++;try{m=p()}finally{t--,t||u()}return m},s=p=>{t?e.push(p):o(()=>{n(p)})},l=p=>(...m)=>{s(()=>{p(...m)})},u=()=>{const p=e;e=[],p.length&&o(()=>{r(()=>{p.forEach(m=>{n(m)})})})};return{batch:a,batchCalls:l,schedule:s,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:i}}var Je=q3(),io,i0,kv=(i0=class{constructor(){K(this,io,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),_d(this.gcTime)&&z(this,io,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Li?1/0:5*60*1e3))}clearGcTimeout(){S(this,io)&&(clearTimeout(S(this,io)),z(this,io,void 0))}},io=new WeakMap,i0),si,li,Qt,vr,Gt,at,Ga,ao,ui,dl,dn,Un,a0,X3=(a0=class extends kv{constructor(t){super();K(this,ui);K(this,dn);K(this,si,void 0);K(this,li,void 0);K(this,Qt,void 0);K(this,vr,void 0);K(this,Gt,void 0);K(this,at,void 0);K(this,Ga,void 0);K(this,ao,void 0);z(this,ao,!1),z(this,Ga,t.defaultOptions),oe(this,ui,dl).call(this,t.options),z(this,at,[]),z(this,Qt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,z(this,si,t.state||Z3(this.options)),this.state=S(this,si),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!S(this,at).length&&this.state.fetchStatus==="idle"&&S(this,Qt).remove(this)}setData(t,n){const r=Od(this.state.data,t,this.options);return oe(this,dn,Un).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){oe(this,dn,Un).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r;const n=S(this,vr);return(r=S(this,Gt))==null||r.cancel(t),n?n.then(Xt).catch(Xt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(S(this,si))}isActive(){return S(this,at).some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||S(this,at).some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!bv(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=S(this,at).find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,Gt))==null||n.continue()}onOnline(){var n;const t=S(this,at).find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,Gt))==null||n.continue()}addObserver(t){S(this,at).includes(t)||(S(this,at).push(t),this.clearGcTimeout(),S(this,Qt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){S(this,at).includes(t)&&(z(this,at,S(this,at).filter(n=>n!==t)),S(this,at).length||(S(this,Gt)&&(S(this,ao)?S(this,Gt).cancel({revert:!0}):S(this,Gt).cancelRetry()),this.scheduleGc()),S(this,Qt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return S(this,at).length}invalidate(){this.state.isInvalidated||oe(this,dn,Un).call(this,{type:"invalidate"})}fetch(t,n){var u,d,f,p;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(S(this,vr))return(u=S(this,Gt))==null||u.continueRetry(),S(this,vr)}if(t&&oe(this,ui,dl).call(this,t),!this.options.queryFn){const m=S(this,at).find(x=>x.options.queryFn);m&&oe(this,ui,dl).call(this,m.options)}const r=new AbortController,o={queryKey:this.queryKey,meta:this.meta},i=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(z(this,ao,!0),r.signal)})};i(o);const a=()=>this.options.queryFn?(z(this,ao,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};i(s),(d=this.options.behavior)==null||d.onFetch(s,this),z(this,li,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((f=s.fetchOptions)==null?void 0:f.meta))&&oe(this,dn,Un).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const l=m=>{var x,g,C,h;pc(m)&&m.silent||oe(this,dn,Un).call(this,{type:"error",error:m}),pc(m)||((g=(x=S(this,Qt).config).onError)==null||g.call(x,m,this),(h=(C=S(this,Qt).config).onSettled)==null||h.call(C,this.state.data,m,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return z(this,Gt,Rv({fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:m=>{var x,g,C,h;if(typeof m>"u"){l(new Error(`${this.queryHash} data is undefined`));return}this.setData(m),(g=(x=S(this,Qt).config).onSuccess)==null||g.call(x,m,this),(h=(C=S(this,Qt).config).onSettled)==null||h.call(C,m,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:l,onFail:(m,x)=>{oe(this,dn,Un).call(this,{type:"failed",failureCount:m,error:x})},onPause:()=>{oe(this,dn,Un).call(this,{type:"pause"})},onContinue:()=>{oe(this,dn,Un).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode})),z(this,vr,S(this,Gt).promise),S(this,vr)}},si=new WeakMap,li=new WeakMap,Qt=new WeakMap,vr=new WeakMap,Gt=new WeakMap,at=new WeakMap,Ga=new WeakMap,ao=new WeakMap,ui=new WeakSet,dl=function(t){this.options={...S(this,Ga),...t},this.updateGcTime(this.options.gcTime)},dn=new WeakSet,Un=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:ku(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return pc(o)&&o.revert&&S(this,li)?{...S(this,li),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Je.batch(()=>{S(this,at).forEach(r=>{r.onQueryUpdate()}),S(this,Qt).notify({query:this,type:"updated",action:t})})},a0);function Z3(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Ln,s0,J3=(s0=class extends Ii{constructor(t={}){super();K(this,Ln,void 0);this.config=t,z(this,Ln,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??p1(o,n);let a=this.get(i);return a||(a=new X3({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){S(this,Ln).has(t.queryHash)||(S(this,Ln).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=S(this,Ln).get(t.queryHash);n&&(t.destroy(),n===t&&S(this,Ln).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Je.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return S(this,Ln).get(t)}getAll(){return[...S(this,Ln).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>uh(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>uh(t,r)):n}notify(t){Je.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Je.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Je.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ln=new WeakMap,s0),Tn,Ya,It,ci,Nn,lr,l0,e9=(l0=class extends kv{constructor(t){super();K(this,Nn);K(this,Tn,void 0);K(this,Ya,void 0);K(this,It,void 0);K(this,ci,void 0);this.mutationId=t.mutationId,z(this,Ya,t.defaultOptions),z(this,It,t.mutationCache),z(this,Tn,[]),this.state=t.state||Pv(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...S(this,Ya),...t},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){S(this,Tn).includes(t)||(S(this,Tn).push(t),this.clearGcTimeout(),S(this,It).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){z(this,Tn,S(this,Tn).filter(n=>n!==t)),this.scheduleGc(),S(this,It).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){S(this,Tn).length||(this.state.status==="pending"?this.scheduleGc():S(this,It).remove(this))}continue(){var t;return((t=S(this,ci))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,l,u,d,f,p,m,x,g,C,h,v,y,E,k,b,R;const n=()=>(z(this,ci,Rv({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:($,T)=>{oe(this,Nn,lr).call(this,{type:"failed",failureCount:$,error:T})},onPause:()=>{oe(this,Nn,lr).call(this,{type:"pause"})},onContinue:()=>{oe(this,Nn,lr).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),S(this,ci).promise),r=this.state.status==="pending";try{if(!r){oe(this,Nn,lr).call(this,{type:"pending",variables:t}),await((i=(o=S(this,It).config).onMutate)==null?void 0:i.call(o,t,this));const T=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));T!==this.state.context&&oe(this,Nn,lr).call(this,{type:"pending",context:T,variables:t})}const $=await n();return await((u=(l=S(this,It).config).onSuccess)==null?void 0:u.call(l,$,t,this.state.context,this)),await((f=(d=this.options).onSuccess)==null?void 0:f.call(d,$,t,this.state.context)),await((m=(p=S(this,It).config).onSettled)==null?void 0:m.call(p,$,null,this.state.variables,this.state.context,this)),await((g=(x=this.options).onSettled)==null?void 0:g.call(x,$,null,t,this.state.context)),oe(this,Nn,lr).call(this,{type:"success",data:$}),$}catch($){try{throw await((h=(C=S(this,It).config).onError)==null?void 0:h.call(C,$,t,this.state.context,this)),await((y=(v=this.options).onError)==null?void 0:y.call(v,$,t,this.state.context)),await((k=(E=S(this,It).config).onSettled)==null?void 0:k.call(E,void 0,$,this.state.variables,this.state.context,this)),await((R=(b=this.options).onSettled)==null?void 0:R.call(b,void 0,$,t,this.state.context)),$}finally{oe(this,Nn,lr).call(this,{type:"error",error:$})}}}},Tn=new WeakMap,Ya=new WeakMap,It=new WeakMap,ci=new WeakMap,Nn=new WeakSet,lr=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!ku(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Je.batch(()=>{S(this,Tn).forEach(r=>{r.onMutationUpdate(t)}),S(this,It).notify({mutation:this,type:"updated",action:t})})},l0);function Pv(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Yt,qa,so,u0,t9=(u0=class extends Ii{constructor(t={}){super();K(this,Yt,void 0);K(this,qa,void 0);K(this,so,void 0);this.config=t,z(this,Yt,[]),z(this,qa,0)}build(t,n,r){const o=new e9({mutationCache:this,mutationId:++xs(this,qa)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){S(this,Yt).push(t),this.notify({type:"added",mutation:t})}remove(t){z(this,Yt,S(this,Yt).filter(n=>n!==t)),this.notify({type:"removed",mutation:t})}clear(){Je.batch(()=>{S(this,Yt).forEach(t=>{this.remove(t)})})}getAll(){return S(this,Yt)}find(t){const n={exact:!0,...t};return S(this,Yt).find(r=>ch(n,r))}findAll(t={}){return S(this,Yt).filter(n=>ch(t,n))}notify(t){Je.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){return z(this,so,(S(this,so)??Promise.resolve()).then(()=>{const t=S(this,Yt).filter(n=>n.state.isPaused);return Je.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Xt)),Promise.resolve()))}).then(()=>{z(this,so,void 0)})),S(this,so)}},Yt=new WeakMap,qa=new WeakMap,so=new WeakMap,u0);function n9(e){return{onFetch:(t,n)=>{const r=async()=>{var x,g,C,h,v;const o=t.options,i=(C=(g=(x=t.fetchOptions)==null?void 0:x.meta)==null?void 0:g.fetchMore)==null?void 0:C.direction,a=((h=t.state.data)==null?void 0:h.pages)||[],s=((v=t.state.data)==null?void 0:v.pageParams)||[],l={pages:[],pageParams:[]};let u=!1;const d=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),p=async(y,E,k)=>{if(u)return Promise.reject();if(E==null&&y.pages.length)return Promise.resolve(y);const b={queryKey:t.queryKey,pageParam:E,direction:k?"backward":"forward",meta:t.options.meta};d(b);const R=await f(b),{maxPages:$}=t.options,T=k?K3:H3;return{pages:T(y.pages,R,$),pageParams:T(y.pageParams,E,$)}};let m;if(i&&a.length){const y=i==="backward",E=y?r9:ph,k={pages:a,pageParams:s},b=E(o,k);m=await p(k,b,y)}else{m=await p(l,s[0]??o.initialPageParam);const y=e??a.length;for(let E=1;E{var o,i;return(i=(o=t.options).persister)==null?void 0:i.call(o,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}function ph(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}function r9(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}var Xe,gr,yr,di,fi,wr,pi,hi,c0,o9=(c0=class{constructor(e={}){K(this,Xe,void 0);K(this,gr,void 0);K(this,yr,void 0);K(this,di,void 0);K(this,fi,void 0);K(this,wr,void 0);K(this,pi,void 0);K(this,hi,void 0);z(this,Xe,e.queryCache||new J3),z(this,gr,e.mutationCache||new t9),z(this,yr,e.defaultOptions||{}),z(this,di,new Map),z(this,fi,new Map),z(this,wr,0)}mount(){xs(this,wr)._++,S(this,wr)===1&&(z(this,pi,Gl.subscribe(()=>{Gl.isFocused()&&(this.resumePausedMutations(),S(this,Xe).onFocus())})),z(this,hi,Yl.subscribe(()=>{Yl.isOnline()&&(this.resumePausedMutations(),S(this,Xe).onOnline())})))}unmount(){var e,t;xs(this,wr)._--,S(this,wr)===0&&((e=S(this,pi))==null||e.call(this),z(this,pi,void 0),(t=S(this,hi))==null||t.call(this),z(this,hi,void 0))}isFetching(e){return S(this,Xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return S(this,gr).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);return t!==void 0?Promise.resolve(t):this.fetchQuery(e)}getQueriesData(e){return this.getQueryCache().findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=S(this,Xe).get(r.queryHash),i=o==null?void 0:o.state.data,a=V3(t,i);if(!(typeof a>"u"))return S(this,Xe).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Je.batch(()=>this.getQueryCache().findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=S(this,Xe);Je.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=S(this,Xe),r={type:"active",...e};return Je.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Je.batch(()=>S(this,Xe).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Xt).catch(Xt)}invalidateQueries(e={},t={}){return Je.batch(()=>{if(S(this,Xe).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Je.batch(()=>S(this,Xe).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Xt)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Xt)}fetchQuery(e){const t=this.defaultQueryOptions(e);typeof t.retry>"u"&&(t.retry=!1);const n=S(this,Xe).build(this,t);return n.isStaleByTime(t.staleTime)?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xt).catch(Xt)}fetchInfiniteQuery(e){return e.behavior=n9(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xt).catch(Xt)}resumePausedMutations(){return S(this,gr).resumePausedMutations()}getQueryCache(){return S(this,Xe)}getMutationCache(){return S(this,gr)}getDefaultOptions(){return S(this,yr)}setDefaultOptions(e){z(this,yr,e)}setQueryDefaults(e,t){S(this,di).set(Eo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...S(this,di).values()];let n={};return t.forEach(r=>{Ha(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){S(this,fi).set(Eo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...S(this,fi).values()];let n={};return t.forEach(r=>{Ha(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...S(this,yr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=p1(t.queryKey,t)),typeof t.refetchOnReconnect>"u"&&(t.refetchOnReconnect=t.networkMode!=="always"),typeof t.throwOnError>"u"&&(t.throwOnError=!!t.suspense),typeof t.networkMode>"u"&&t.persister&&(t.networkMode="offlineFirst"),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...S(this,yr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){S(this,Xe).clear(),S(this,gr).clear()}},Xe=new WeakMap,gr=new WeakMap,yr=new WeakMap,di=new WeakMap,fi=new WeakMap,wr=new WeakMap,pi=new WeakMap,hi=new WeakMap,c0),Tt,Ne,Xa,St,lo,mi,_n,Za,vi,gi,uo,co,Cr,yi,fo,ia,Ja,Md,es,jd,ts,Id,ns,Ad,rs,Fd,os,zd,is,Ud,tu,$v,d0,i9=(d0=class extends Ii{constructor(t,n){super();K(this,fo);K(this,Ja);K(this,es);K(this,ts);K(this,ns);K(this,rs);K(this,os);K(this,is);K(this,tu);K(this,Tt,void 0);K(this,Ne,void 0);K(this,Xa,void 0);K(this,St,void 0);K(this,lo,void 0);K(this,mi,void 0);K(this,_n,void 0);K(this,Za,void 0);K(this,vi,void 0);K(this,gi,void 0);K(this,uo,void 0);K(this,co,void 0);K(this,Cr,void 0);K(this,yi,new Set);this.options=n,z(this,Tt,t),z(this,_n,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(S(this,Ne).addObserver(this),hh(S(this,Ne),this.options)?oe(this,fo,ia).call(this):this.updateResult(),oe(this,ns,Ad).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Bd(S(this,Ne),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Bd(S(this,Ne),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,oe(this,rs,Fd).call(this),oe(this,os,zd).call(this),S(this,Ne).removeObserver(this)}setOptions(t,n){const r=this.options,o=S(this,Ne);if(this.options=S(this,Tt).defaultQueryOptions(t),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");oe(this,is,Ud).call(this),Ql(this.options,r)||S(this,Tt).getQueryCache().notify({type:"observerOptionsUpdated",query:S(this,Ne),observer:this});const i=this.hasListeners();i&&mh(S(this,Ne),o,this.options,r)&&oe(this,fo,ia).call(this),this.updateResult(n),i&&(S(this,Ne)!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&oe(this,Ja,Md).call(this);const a=oe(this,es,jd).call(this);i&&(S(this,Ne)!==o||this.options.enabled!==r.enabled||a!==S(this,Cr))&&oe(this,ts,Id).call(this,a)}getOptimisticResult(t){const n=S(this,Tt).getQueryCache().build(S(this,Tt),t),r=this.createResult(n,t);return s9(this,r)&&(z(this,St,r),z(this,mi,this.options),z(this,lo,S(this,Ne).state)),r}getCurrentResult(){return S(this,St)}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(S(this,yi).add(r),t[r])})}),n}getCurrentQuery(){return S(this,Ne)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=S(this,Tt).defaultQueryOptions(t),r=S(this,Tt).getQueryCache().build(S(this,Tt),n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){return oe(this,fo,ia).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),S(this,St)))}createResult(t,n){var b;const r=S(this,Ne),o=this.options,i=S(this,St),a=S(this,lo),s=S(this,mi),u=t!==r?t.state:S(this,Xa),{state:d}=t;let{error:f,errorUpdatedAt:p,fetchStatus:m,status:x}=d,g=!1,C;if(n._optimisticResults){const R=this.hasListeners(),$=!R&&hh(t,n),T=R&&mh(t,r,n,o);($||T)&&(m=ku(t.options.networkMode)?"fetching":"paused",d.dataUpdatedAt||(x="pending")),n._optimisticResults==="isRestoring"&&(m="idle")}if(n.select&&typeof d.data<"u")if(i&&d.data===(a==null?void 0:a.data)&&n.select===S(this,Za))C=S(this,vi);else try{z(this,Za,n.select),C=n.select(d.data),C=Od(i==null?void 0:i.data,C,n),z(this,vi,C),z(this,_n,null)}catch(R){z(this,_n,R)}else C=d.data;if(typeof n.placeholderData<"u"&&typeof C>"u"&&x==="pending"){let R;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))R=i.data;else if(R=typeof n.placeholderData=="function"?n.placeholderData((b=S(this,gi))==null?void 0:b.state.data,S(this,gi)):n.placeholderData,n.select&&typeof R<"u")try{R=n.select(R),z(this,_n,null)}catch($){z(this,_n,$)}typeof R<"u"&&(x="success",C=Od(i==null?void 0:i.data,R,n),g=!0)}S(this,_n)&&(f=S(this,_n),C=S(this,vi),p=Date.now(),x="error");const h=m==="fetching",v=x==="pending",y=x==="error",E=v&&h;return{status:x,fetchStatus:m,isPending:v,isSuccess:x==="success",isError:y,isInitialLoading:E,isLoading:E,data:C,dataUpdatedAt:d.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>u.dataUpdateCount||d.errorUpdateCount>u.errorUpdateCount,isFetching:h,isRefetching:h&&!v,isLoadingError:y&&d.dataUpdatedAt===0,isPaused:m==="paused",isPlaceholderData:g,isRefetchError:y&&d.dataUpdatedAt!==0,isStale:h1(t,n),refetch:this.refetch}}updateResult(t){const n=S(this,St),r=this.createResult(S(this,Ne),this.options);if(z(this,lo,S(this,Ne).state),z(this,mi,this.options),S(this,lo).data!==void 0&&z(this,gi,S(this,Ne)),Ql(r,n))return;z(this,St,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!S(this,yi).size)return!0;const l=new Set(s??S(this,yi));return this.options.throwOnError&&l.add("error"),Object.keys(S(this,St)).some(u=>{const d=u;return S(this,St)[d]!==n[d]&&l.has(d)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),oe(this,tu,$v).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&oe(this,ns,Ad).call(this)}},Tt=new WeakMap,Ne=new WeakMap,Xa=new WeakMap,St=new WeakMap,lo=new WeakMap,mi=new WeakMap,_n=new WeakMap,Za=new WeakMap,vi=new WeakMap,gi=new WeakMap,uo=new WeakMap,co=new WeakMap,Cr=new WeakMap,yi=new WeakMap,fo=new WeakSet,ia=function(t){oe(this,is,Ud).call(this);let n=S(this,Ne).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Xt)),n},Ja=new WeakSet,Md=function(){if(oe(this,rs,Fd).call(this),Li||S(this,St).isStale||!_d(this.options.staleTime))return;const n=bv(S(this,St).dataUpdatedAt,this.options.staleTime)+1;z(this,uo,setTimeout(()=>{S(this,St).isStale||this.updateResult()},n))},es=new WeakSet,jd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(S(this,Ne)):this.options.refetchInterval)??!1},ts=new WeakSet,Id=function(t){oe(this,os,zd).call(this),z(this,Cr,t),!(Li||this.options.enabled===!1||!_d(S(this,Cr))||S(this,Cr)===0)&&z(this,co,setInterval(()=>{(this.options.refetchIntervalInBackground||Gl.isFocused())&&oe(this,fo,ia).call(this)},S(this,Cr)))},ns=new WeakSet,Ad=function(){oe(this,Ja,Md).call(this),oe(this,ts,Id).call(this,oe(this,es,jd).call(this))},rs=new WeakSet,Fd=function(){S(this,uo)&&(clearTimeout(S(this,uo)),z(this,uo,void 0))},os=new WeakSet,zd=function(){S(this,co)&&(clearInterval(S(this,co)),z(this,co,void 0))},is=new WeakSet,Ud=function(){const t=S(this,Tt).getQueryCache().build(S(this,Tt),this.options);if(t===S(this,Ne))return;const n=S(this,Ne);z(this,Ne,t),z(this,Xa,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},tu=new WeakSet,$v=function(t){Je.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(S(this,St))}),S(this,Tt).getQueryCache().notify({query:S(this,Ne),type:"observerResultsUpdated"})})},d0);function a9(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function hh(e,t){return a9(e,t)||e.state.dataUpdatedAt>0&&Bd(e,t,t.refetchOnMount)}function Bd(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&h1(e,t)}return!1}function mh(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&h1(e,n)}function h1(e,t){return e.isStaleByTime(t.staleTime)}function s9(e,t){return!Ql(e.getCurrentResult(),t)}var xr,br,At,Wn,wi,fl,as,Vd,f0,l9=(f0=class extends Ii{constructor(n,r){super();K(this,wi);K(this,as);K(this,xr,void 0);K(this,br,void 0);K(this,At,void 0);K(this,Wn,void 0);z(this,xr,n),this.setOptions(r),this.bindMethods(),oe(this,wi,fl).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=S(this,xr).defaultMutationOptions(n),Ql(this.options,r)||S(this,xr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:S(this,At),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Eo(r.mutationKey)!==Eo(this.options.mutationKey)?this.reset():(o=S(this,At))==null||o.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=S(this,At))==null||n.removeObserver(this)}onMutationUpdate(n){oe(this,wi,fl).call(this),oe(this,as,Vd).call(this,n)}getCurrentResult(){return S(this,br)}reset(){var n;(n=S(this,At))==null||n.removeObserver(this),z(this,At,void 0),oe(this,wi,fl).call(this),oe(this,as,Vd).call(this)}mutate(n,r){var o;return z(this,Wn,r),(o=S(this,At))==null||o.removeObserver(this),z(this,At,S(this,xr).getMutationCache().build(S(this,xr),this.options)),S(this,At).addObserver(this),S(this,At).execute(n)}},xr=new WeakMap,br=new WeakMap,At=new WeakMap,Wn=new WeakMap,wi=new WeakSet,fl=function(){var r;const n=((r=S(this,At))==null?void 0:r.state)??Pv();z(this,br,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},as=new WeakSet,Vd=function(n){Je.batch(()=>{var r,o,i,a,s,l,u,d;if(S(this,Wn)&&this.hasListeners()){const f=S(this,br).variables,p=S(this,br).context;(n==null?void 0:n.type)==="success"?((o=(r=S(this,Wn)).onSuccess)==null||o.call(r,n.data,f,p),(a=(i=S(this,Wn)).onSettled)==null||a.call(i,n.data,null,f,p)):(n==null?void 0:n.type)==="error"&&((l=(s=S(this,Wn)).onError)==null||l.call(s,n.error,f,p),(d=(u=S(this,Wn)).onSettled)==null||d.call(u,void 0,n.error,f,p))}this.listeners.forEach(f=>{f(S(this,br))})})},f0),Lv=c.createContext(void 0),vs=e=>{const t=c.useContext(Lv);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},u9=({client:e,children:t})=>(c.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),w.jsx(Lv.Provider,{value:e,children:t})),Tv=c.createContext(!1),c9=()=>c.useContext(Tv);Tv.Provider;function d9(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var f9=c.createContext(d9()),p9=()=>c.useContext(f9);function Nv(e,t){return typeof e=="function"?e(...t):!!e}var h9=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},m9=e=>{c.useEffect(()=>{e.clearReset()},[e])},v9=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&Nv(n,[e.error,r]),g9=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},y9=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,w9=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function C9(e,t,n){const r=vs(n),o=c9(),i=p9(),a=r.defaultQueryOptions(e);a._optimisticResults=o?"isRestoring":"optimistic",g9(a),h9(a,i),m9(i);const[s]=c.useState(()=>new t(r,a)),l=s.getOptimisticResult(a);if(c.useSyncExternalStore(c.useCallback(u=>{const d=o?()=>{}:s.subscribe(Je.batchCalls(u));return s.updateResult(),d},[s,o]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),c.useEffect(()=>{s.setOptions(a,{listeners:!1})},[a,s]),y9(a,l))throw w9(a,s,i);if(v9({result:l,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw l.error;return a.notifyOnChangeProps?l:s.trackResult(l)}function _v(e,t){return C9(e,i9,t)}function jr(e,t){const n=vs(t),[r]=c.useState(()=>new l9(n,e));c.useEffect(()=>{r.setOptions(e)},[r,e]);const o=c.useSyncExternalStore(c.useCallback(a=>r.subscribe(Je.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=c.useCallback((a,s)=>{r.mutate(a,s).catch(x9)},[r]);if(o.error&&Nv(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}function x9(){}const wt=0,je=1,b9=2,E9=0,Wd=1;function S9(e,t,n){let r=e.list,o;for(;r;){if(r.index===n)return!1;if(t>r.high)break;o=r,r=r.next}return o||(e.list={index:n,high:t,next:r}),o&&(o.next={index:n,high:t,next:o.next}),!0}function R9(e,t){let n=e.list;if(n.index===t)return n.next===null?E9:(e.list=n.next,Wd);let r=n;for(n=n.next;n!==null;){if(n.index===t)return r.next=n.next,Wd;r=n,n=n.next}}const we={low:0,max:0,high:0,C:b9,P:void 0,R:void 0,L:void 0,list:void 0};we.P=we;we.L=we;we.R=we;function Ir(e){const t=e.high;e.L===we&&e.R===we?e.max=t:e.L===we?e.max=Math.max(e.R.max,t):e.R===we?e.max=Math.max(e.L.max,t):e.max=Math.max(Math.max(e.L.max,e.R.max),t)}function Us(e){let t=e;for(;t.P!==we;)Ir(t.P),t=t.P}function ga(e,t){if(t.R===we)return;const n=t.R;t.R=n.L,n.L!==we&&(n.L.P=t),n.P=t.P,t.P===we?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.L=t,t.P=n,Ir(t),Ir(n)}function ya(e,t){if(t.L===we)return;const n=t.L;t.L=n.R,n.R!==we&&(n.R.P=t),n.P=t.P,t.P===we?e.root=n:t===t.P.R?t.P.R=n:t.P.L=n,n.R=t,t.P=n,Ir(t),Ir(n)}function Bs(e,t,n){t.P===we?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.P=t.P}function k9(e,t){let n;for(;t!==we&&t.C===je;)t===t.P.L?(n=t.P.R,n.C===wt&&(n.C=je,t.P.C=wt,ga(e,t.P),n=t.P.R),n.L.C===je&&n.R.C===je?(n.C=wt,t=t.P):(n.R.C===je&&(n.L.C=je,n.C=wt,ya(e,n),n=t.P.R),n.C=t.P.C,t.P.C=je,n.R.C=je,ga(e,t.P),t=e.root)):(n=t.P.L,n.C===wt&&(n.C=je,t.P.C=wt,ya(e,t.P),n=t.P.L),n.R.C===je&&n.L.C===je?(n.C=wt,t=t.P):(n.L.C===je&&(n.R.C=je,n.C=wt,ga(e,n),n=t.P.L),n.C=t.P.C,t.P.C=je,n.L.C=je,ya(e,t.P),t=e.root));t.C=je}function P9(e){for(;e.L!==we;)e=e.L;return e}function $9(e,t){let n;for(;t.P.C===wt;)t.P===t.P.P.L?(n=t.P.P.R,n.C===wt?(t.P.C=je,n.C=je,t.P.P.C=wt,t=t.P.P):(t===t.P.R&&(t=t.P,ga(e,t)),t.P.C=je,t.P.P.C=wt,ya(e,t.P.P))):(n=t.P.P.L,n.C===wt?(t.P.C=je,n.C=je,t.P.P.C=wt,t=t.P.P):(t===t.P.L&&(t=t.P,ya(e,t)),t.P.C=je,t.P.P.C=wt,ga(e,t.P.P)));e.root.C=je}function L9(){const e={root:we,size:0},t={};return{insert(n,r,o){let i=e.root,a=we;for(;i!==we&&(a=i,n!==a.low);)na.max)&&(a.L!==we&&i.push(a.L),a.R!==we&&i.push(a.R),a.low<=r&&a.high>=n)){let s=a.list;for(;s!==null;)s.high>=n&&o(s.index,a.low),s=s.next}}},get size(){return e.size}}}const Pu=e=>{const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),t},T9=(e,t=100,n=!1)=>{const r=Pu(e),o=c.useRef(),i=[t,n,r];function a(){o.current&&clearTimeout(o.current),o.current=void 0}c.useEffect(()=>a,i);function s(){o.current=void 0}return c.useCallback(function(){const l=arguments,{current:u}=o;if(u===void 0&&n)return o.current=setTimeout(s,t),r.current.apply(null,l);u&&clearTimeout(u),o.current=setTimeout(()=>{o.current=void 0,r.current.apply(null,l)},t)},i)},N9=(e,t,n)=>{const r=c.useState(e);return[r[0],T9(r[1],t,n)]};function wa(e,t,n,r){const o=c.useRef(n),i=c.useRef(r);c.useEffect(()=>{o.current=n,i.current=r}),c.useEffect(()=>{const a=e&&"current"in e?e.current:e;if(!a)return;let s=0;function l(...d){s||o.current.apply(this,d)}a.addEventListener(t,l);const u=i.current;return()=>{s=1,a.removeEventListener(t,l),u&&u()}},[e,t])}const _9={},Ca=typeof window>"u"?null:window,D9=Ca&&typeof Ca.visualViewport<"u"?Ca.visualViewport:null,vh=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],O9=function(e){e===void 0&&(e=_9);const{wait:t,leading:n,initialWidth:r=0,initialHeight:o=0}=e,[i,a]=N9(typeof document>"u"?[r,o]:vh,t,n),s=()=>a(vh);return wa(Ca,"resize",s),wa(D9,"resize",s),wa(Ca,"orientationchange",s),i},$u=(e,t)=>{const n=t||M9;let r,o;return function(){return r&&n(arguments,r)?o:o=e.apply(null,r=arguments)}},M9=(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3];class j9{constructor(){this.set=void 0,this.get=void 0;let t,n;this.get=r=>r===t?n:void 0,this.set=(r,o)=>{t=r,n=o}}}const gh=j9,hc=e=>{try{return new e}catch{const n={};return{set(r,o){n[r]=o},get(r){return n[r]}}}},I9=e=>{const t=e.length,n=hc(e[0]);let r,o,i,a;const s=t===1,l=p=>(r=n.get(p[0]))===void 0||s?r:r.get(p[1]),u=(p,m)=>(s?n.set(p[0],m):(r=n.get(p[0]))===void 0?(o=hc(e[1]),o.set(p[1],m),n.set(p[0],o)):r.set(p[1],m),m),d=p=>{for(a=n,i=0;i{for(a=n,i=0;i{let n;const{g:r,s:o}=I9(e);return function(){return(n=r(arguments))===void 0?o(arguments,t.apply(null,arguments)):n}},Hd=new WeakMap;function Ov(){const e=c.useState(A9)[1];return c.useRef(()=>e({})).current}const A9={},pl=c.createElement;function F9(e){let{positioner:t,resizeObserver:n,items:r,as:o="div",id:i,className:a,style:s,role:l="grid",tabIndex:u=0,containerRef:d,itemAs:f="div",itemStyle:p,itemHeightEstimate:m=300,itemKey:x=B9,overscanBy:g=2,scrollTop:C,isScrolling:h,height:v,render:y,onRender:E}=e,k=0,b;const R=Ov(),$=W9(t,n),T=r.length,{columnWidth:j,columnCount:H,range:W,estimateHeight:le,size:Y,shortestColumn:te}=t,ye=Y(),ae=te(),O=[],N=l==="list"?"listitem":l==="grid"?"gridcell":void 0,U=Pu(E);g=v*g;const A=C+g,B=ae{const xe=r[Z],tt=x(xe,Z),bt={top:J,left:de,width:j,writingMode:"horizontal-tb",position:"absolute"};typeof process<"u",O.push(pl(f,{key:tt,ref:$(Z),role:N,style:typeof p=="object"&&p!==null?Object.assign({},bt,p):bt},wh(y,Z,xe,j))),b===void 0?(k=Z,b=Z):(k=Math.min(k,Z),b=Math.max(b,Z))}),B){const Z=Math.min(T-ye,Math.ceil((C+g-ae)/m*H));let de=ye;const J=V9(j);for(;de{typeof U.current=="function"&&b!==void 0&&U.current(k,b,r),yh="1"},[k,b,r,U]),c.useEffect(()=>{B&&R()},[B,t]);const ie=z9(h,le(T,m));return pl(o,{ref:d,key:yh,id:i,role:l,className:a,tabIndex:u,style:typeof s=="object"?U9(ie,s):ie,children:O})}let yh="0";const wh=Dv([gh,{},WeakMap,gh],(e,t,n,r)=>pl(e,{index:t,data:n,width:r})),z9=$u((e,t)=>({position:"relative",width:"100%",maxWidth:"100%",height:Math.ceil(t),maxHeight:Math.ceil(t),willChange:e?"contents":void 0,pointerEvents:e?"none":void 0})),Mv=(e,t)=>e[0]===t[0]&&e[1]===t[1],U9=$u((e,t)=>Object.assign({},e,t),Mv);function B9(e,t){return t}const V9=$u(e=>({width:e,zIndex:-1e3,visibility:"hidden",position:"absolute",writingMode:"horizontal-tb"}),(e,t)=>e[0]===t[0]),W9=$u((e,t)=>n=>r=>{r!==null&&(t&&(t.observe(r),Hd.set(r,n)),e.get(n)===void 0&&e.set(n,r.offsetHeight))},Mv);let jv="undefined",ni=typeof window!==jv?window:{},H9=typeof performance!==jv?performance:Date,Kd=()=>H9.now(),Iv="AnimationFrame",Ch="cancel"+Iv,xh="request"+Iv,ql=ni[xh]&&ni[xh].bind(ni),Qd=ni[Ch]&&ni[Ch].bind(ni);function K9(e){return clearTimeout(e)}if(!ql||!Qd){let e=0;ql=t=>{let n=Kd(),r=Math.max(e+1e3/60,n);return setTimeout(()=>{t(e=r)},r-n)},Qd=K9}const Q9=e=>{Qd(e.v||-1)},G9=(e,t)=>{const n=Kd(),r={},o=()=>{Kd()-n>=t?e.call(null):r.v=ql(o)};return r.v=ql(o),r},Y9=typeof performance<"u"?performance:Date,q9=()=>Y9.now();function Av(e,t=30,n=!1){const r=Pu(e),o=1e3/t,i=c.useRef(0),a=c.useRef(),s=()=>a.current&&clearTimeout(a.current),l=[t,n,r];function u(){i.current=0,s()}return c.useEffect(()=>u,l),c.useCallback(function(){const d=arguments,f=q9(),p=()=>{i.current=f,s(),r.current.apply(null,d)},m=i.current;if(n&&m===0)return p();if(f-m>o){if(m>0)return p();i.current=f}s(),a.current=setTimeout(()=>{p(),i.current=0},o)},l)}function X9(e,t,n){const r=c.useState(e);return[r[0],Av(r[1],t,n)]}const aa=typeof window>"u"?null:window,bh=()=>aa.scrollY!==void 0?aa.scrollY:aa.pageYOffset===void 0?0:aa.pageYOffset,Z9=(e=30)=>{const t=X9(typeof window>"u"?0:bh,e,!0);return wa(aa,"scroll",()=>t[1](bh())),t[0]};function J9(e,t){e===void 0&&(e=0),t===void 0&&(t=12);const n=Z9(t),[r,o]=c.useState(!1),i=c.useRef(0);return c.useEffect(()=>{i.current===1&&o(!0);let a=!1;const s=G9(()=>{a||o(!1)},40+1e3/t);return i.current=1,()=>{a=!0,Q9(s)}},[t,n]),{scrollTop:Math.max(0,n-e),isScrolling:r}}function e6(e){const{scrollTop:t,isScrolling:n}=J9(e.offset,e.scrollFps);return F9({scrollTop:t,isScrolling:n,positioner:e.positioner,resizeObserver:e.resizeObserver,items:e.items,onRender:e.onRender,as:e.as,id:e.id,className:e.className,style:e.style,role:e.role,tabIndex:e.tabIndex,containerRef:e.containerRef,itemAs:e.itemAs,itemStyle:e.itemStyle,itemHeightEstimate:e.itemHeightEstimate,itemKey:e.itemKey,overscanBy:e.overscanBy,height:e.height,render:e.render})}const t6=D[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"];function n6(e,t){t===void 0&&(t=r6);const[n,r]=c.useState({offset:0,width:0});return t6(()=>{const{current:o}=e;if(o!==null){let i=0,a=o;do i+=a.offsetTop||0,a=a.offsetParent;while(a);(i!==n.offset||o.offsetWidth!==n.width)&&r({offset:i,width:o.offsetWidth})}},t),n}const r6=[];function o6(e,t){let{width:n,columnWidth:r=200,columnGutter:o=0,rowGutter:i,columnCount:a,maxColumnCount:s}=e;t===void 0&&(t=l6);const l=()=>{const[x,g]=s6(n,r,o,a,s);return i6(g,x,o,i??o)},u=c.useRef();u.current===void 0&&(u.current=l());const d=c.useRef(t),f=[n,r,o,i,a,s],p=c.useRef(f),m=!f.every((x,g)=>p.current[g]===x);if(typeof process<"u",m||!t.every((x,g)=>d.current[g]===x)){const x=u.current,g=l();if(d.current=t,p.current=f,m){const C=x.size();for(let h=0;ha[l],update:l=>{const u=new Array(e);let d=0,f=0;for(;do.search(l,u,(f,p)=>d(f,a[f].left,p)),estimateHeight:(l,u)=>{const d=Math.max(0,Math.max.apply(null,i));return l===o.size?d:d+Math.ceil((l-o.size)/e)*u},shortestColumn:()=>i.length>1?Math.min.apply(null,i):i[0]||0,size(){return o.size},all(){return a}}},a6=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){const o=n+r>>>1,i=e[o];if(i===t)return o;i<=t?n=o+1:r=o-1}return-1},s6=function(e,t,n,r,o){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=8),r=r||Math.min(Math.floor((e+n)/(t+n)),o||1/0)||1,[Math.floor((e-n*(r-1))/r),r]},l6=[];var mo=[],u6=function(){return mo.some(function(e){return e.activeTargets.length>0})},c6=function(){return mo.some(function(e){return e.skippedTargets.length>0})},Eh="ResizeObserver loop completed with undelivered notifications.",d6=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:Eh}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=Eh),window.dispatchEvent(e)},Ka;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Ka||(Ka={}));var vo=function(e){return Object.freeze(e)},f6=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,vo(this)}return e}(),Fv=function(){function e(t,n,r,o){return this.x=t,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,vo(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,r=t.y,o=t.top,i=t.right,a=t.bottom,s=t.left,l=t.width,u=t.height;return{x:n,y:r,top:o,right:i,bottom:a,left:s,width:l,height:u}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),m1=function(e){return e instanceof SVGElement&&"getBBox"in e},zv=function(e){if(m1(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,a=o.offsetHeight;return!(i||a||e.getClientRects().length)},Sh=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},p6=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},xa=typeof window<"u"?window:{},Vs=new WeakMap,Rh=/auto|scroll/,h6=/^tb|vertical/,m6=/msie|trident/i.test(xa.navigator&&xa.navigator.userAgent),Rn=function(e){return parseFloat(e||"0")},ri=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new f6((n?t:e)||0,(n?e:t)||0)},kh=vo({devicePixelContentBoxSize:ri(),borderBoxSize:ri(),contentBoxSize:ri(),contentRect:new Fv(0,0,0,0)}),Uv=function(e,t){if(t===void 0&&(t=!1),Vs.has(e)&&!t)return Vs.get(e);if(zv(e))return Vs.set(e,kh),kh;var n=getComputedStyle(e),r=m1(e)&&e.ownerSVGElement&&e.getBBox(),o=!m6&&n.boxSizing==="border-box",i=h6.test(n.writingMode||""),a=!r&&Rh.test(n.overflowY||""),s=!r&&Rh.test(n.overflowX||""),l=r?0:Rn(n.paddingTop),u=r?0:Rn(n.paddingRight),d=r?0:Rn(n.paddingBottom),f=r?0:Rn(n.paddingLeft),p=r?0:Rn(n.borderTopWidth),m=r?0:Rn(n.borderRightWidth),x=r?0:Rn(n.borderBottomWidth),g=r?0:Rn(n.borderLeftWidth),C=f+u,h=l+d,v=g+m,y=p+x,E=s?e.offsetHeight-y-e.clientHeight:0,k=a?e.offsetWidth-v-e.clientWidth:0,b=o?C+v:0,R=o?h+y:0,$=r?r.width:Rn(n.width)-b-k,T=r?r.height:Rn(n.height)-R-E,j=$+C+k+v,H=T+h+E+y,W=vo({devicePixelContentBoxSize:ri(Math.round($*devicePixelRatio),Math.round(T*devicePixelRatio),i),borderBoxSize:ri(j,H,i),contentBoxSize:ri($,T,i),contentRect:new Fv(f,l,$,T)});return Vs.set(e,W),W},Bv=function(e,t,n){var r=Uv(e,n),o=r.borderBoxSize,i=r.contentBoxSize,a=r.devicePixelContentBoxSize;switch(t){case Ka.DEVICE_PIXEL_CONTENT_BOX:return a;case Ka.BORDER_BOX:return o;default:return i}},v6=function(){function e(t){var n=Uv(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=vo([n.borderBoxSize]),this.contentBoxSize=vo([n.contentBoxSize]),this.devicePixelContentBoxSize=vo([n.devicePixelContentBoxSize])}return e}(),Vv=function(e){if(zv(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},g6=function(){var e=1/0,t=[];mo.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(u){var d=new v6(u.target),f=Vv(u.target);s.push(d),u.lastReportedSize=Bv(u.target,u.observedBox),fe?n.activeTargets.push(o):n.skippedTargets.push(o))})})},y6=function(){var e=0;for(Ph(e);u6();)e=g6(),Ph(e);return c6()&&d6(),e>0},mc,Wv=[],w6=function(){return Wv.splice(0).forEach(function(e){return e()})},C6=function(e){if(!mc){var t=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return w6()}).observe(n,r),mc=function(){n.textContent="".concat(t?t--:t++)}}Wv.push(e),mc()},x6=function(e){C6(function(){requestAnimationFrame(e)})},hl=0,b6=function(){return!!hl},E6=250,S6={attributes:!0,characterData:!0,childList:!0,subtree:!0},$h=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Lh=function(e){return e===void 0&&(e=0),Date.now()+e},vc=!1,R6=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=E6),!vc){vc=!0;var r=Lh(t);x6(function(){var o=!1;try{o=y6()}finally{if(vc=!1,t=r-Lh(),!b6())return;o?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,S6)};document.body?n():xa.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),$h.forEach(function(n){return xa.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),$h.forEach(function(n){return xa.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),Gd=new R6,Th=function(e){!hl&&e>0&&Gd.start(),hl+=e,!hl&&Gd.stop()},k6=function(e){return!m1(e)&&!p6(e)&&getComputedStyle(e).display==="inline"},P6=function(){function e(t,n){this.target=t,this.observedBox=n||Ka.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=Bv(this.target,this.observedBox,!0);return k6(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),$6=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),Ws=new WeakMap,Nh=function(e,t){for(var n=0;n=0&&(i&&mo.splice(mo.indexOf(r),1),r.observationTargets.splice(o,1),Th(-1))},e.disconnect=function(t){var n=this,r=Ws.get(t);r.observationTargets.slice().forEach(function(o){return n.unobserve(t,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},e}(),L6=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Hs.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Sh(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Hs.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Sh(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Hs.unobserve(this,t)},e.prototype.disconnect=function(){Hs.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),_h=function(t){var n=[],r=null,o=function(){for(var a=arguments.length,s=new Array(a),l=0;lr,[n]),n}function _6(e){e.cancel()}const D6=Dv([WeakMap],(e,t)=>{const n=[],r=_h(()=>{n.length>0&&(e.update(n),t(n)),n.length=0}),o=u=>{const d=u.offsetHeight;if(d>0){const f=Hd.get(u);if(f!==void 0){const p=e.get(f);p!==void 0&&d!==p.height&&n.push(f,d)}}r()},i=new Map,a=u=>{let d=0;for(;d{l(),i.forEach(_6)},s});function O6(e,t){var n;const{align:r="top",element:o=typeof window<"u"&&window,offset:i=0,height:a=typeof window<"u"?window.innerHeight:0}=t,s=Pu({positioner:e,element:o,align:r,offset:i,height:a}),l=c.useRef(()=>{const m=s.current.element;return m&&"current"in m?m.current:m}).current,[u,d]=c.useReducer((m,x)=>{const g={position:m.position,index:m.index,prevTop:m.prevTop};if(x.type==="scrollToIndex"){var C;return{position:s.current.positioner.get((C=x.value)!==null&&C!==void 0?C:-1),index:x.value,prevTop:void 0}}else if(x.type==="setPosition")g.position=x.value;else if(x.type==="setPrevTop")g.prevTop=x.value;else if(x.type==="reset")return Dh;return g},Dh),f=Av(d,15);wa(l(),"scroll",()=>{if(!u.position&&u.index){const m=s.current.positioner.get(u.index);m&&d({type:"setPosition",value:m})}});const p=u.index!==void 0&&((n=s.current.positioner.get(u.index))===null||n===void 0?void 0:n.top);return c.useEffect(()=>{const m=l();if(!m)return;const{height:x,align:g,offset:C,positioner:h}=s.current;if(u.position){let v=u.position.top;g==="bottom"?v=v-x+u.position.height:g==="center"&&(v-=(x-u.position.height)/2),m.scrollTo(0,Math.max(0,v+=C));let y=!1;const E=setTimeout(()=>!y&&d({type:"reset"}),400);return()=>{y=!0,clearTimeout(E)}}else if(u.index!==void 0){let v=h.shortestColumn()/h.size()*u.index;u.prevTop&&(v=Math.max(v,u.prevTop+x)),m.scrollTo(0,v),f({type:"setPrevTop",value:v})}},[p,u,s,l,f]),c.useRef(m=>{d({type:"scrollToIndex",value:m})}).current}const Dh={index:void 0,position:void 0,prevTop:void 0},M6=c.createElement;function Hv(e){const t=c.useRef(null),n=O9({initialWidth:e.ssrWidth,initialHeight:e.ssrHeight}),r=n6(t,n),o=Object.assign({offset:r.offset,width:r.width||n[0],height:n[1],containerRef:t},e);o.positioner=o6(o),o.resizeObserver=N6(o.positioner);const i=O6(o.positioner,{height:o.height,offset:r.offset,align:typeof e.scrollToIndex=="object"?e.scrollToIndex.align:void 0}),a=e.scrollToIndex&&(typeof e.scrollToIndex=="number"?e.scrollToIndex:e.scrollToIndex.index);return c.useEffect(()=>{a!==void 0&&i(a)},[a,i]),M6(e6,o)}const v1=Su("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),lt=c.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const a=r?$i:"button";return w.jsx(a,{className:me(v1({variant:t,size:n,className:e})),ref:i,...o})});lt.displayName="Button";const gc="focusScope.autoFocusOnMount",yc="focusScope.autoFocusOnUnmount",Oh={bubbles:!1,cancelable:!0},j6=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[s,l]=c.useState(null),u=kt(o),d=kt(i),f=c.useRef(null),p=mt(t,g=>l(g)),m=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let v=function(b){if(m.paused||!s)return;const R=b.target;s.contains(R)?f.current=R:ur(f.current,{select:!0})},y=function(b){if(m.paused||!s)return;const R=b.relatedTarget;R!==null&&(s.contains(R)||ur(f.current,{select:!0}))},E=function(b){if(document.activeElement===document.body)for(const $ of b)$.removedNodes.length>0&&ur(s)};var g=v,C=y,h=E;document.addEventListener("focusin",v),document.addEventListener("focusout",y);const k=new MutationObserver(E);return s&&k.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",y),k.disconnect()}}},[r,s,m.paused]),c.useEffect(()=>{if(s){jh.add(m);const g=document.activeElement;if(!s.contains(g)){const h=new CustomEvent(gc,Oh);s.addEventListener(gc,u),s.dispatchEvent(h),h.defaultPrevented||(I6(B6(Kv(s)),{select:!0}),document.activeElement===g&&ur(s))}return()=>{s.removeEventListener(gc,u),setTimeout(()=>{const h=new CustomEvent(yc,Oh);s.addEventListener(yc,d),s.dispatchEvent(h),h.defaultPrevented||ur(g??document.body,{select:!0}),s.removeEventListener(yc,d),jh.remove(m)},0)}}},[s,u,d,m]);const x=c.useCallback(g=>{if(!n&&!r||m.paused)return;const C=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,h=document.activeElement;if(C&&h){const v=g.currentTarget,[y,E]=A6(v);y&&E?!g.shiftKey&&h===E?(g.preventDefault(),n&&ur(y,{select:!0})):g.shiftKey&&h===y&&(g.preventDefault(),n&&ur(E,{select:!0})):h===v&&g.preventDefault()}},[n,r,m.paused]);return c.createElement(De.div,q({tabIndex:-1},a,{ref:p,onKeyDown:x}))});function I6(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(ur(r,{select:t}),document.activeElement!==n)return}function A6(e){const t=Kv(e),n=Mh(t,e),r=Mh(t.reverse(),e);return[n,r]}function Kv(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Mh(e,t){for(const n of e)if(!F6(n,{upTo:t}))return n}function F6(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function z6(e){return e instanceof HTMLInputElement&&"select"in e}function ur(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&z6(e)&&t&&e.select()}}const jh=U6();function U6(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Ih(e,t),e.unshift(t)},remove(t){var n;e=Ih(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Ih(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function B6(e){return e.filter(t=>t.tagName!=="A")}const V6=c.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?yu.createPortal(c.createElement(De.div,q({},o,{ref:t})),r):null});let wc=0;function W6(){c.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:Ah()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:Ah()),wc++,()=>{wc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),wc--}},[])}function Ah(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var On=function(){return On=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]0)&&!(o=r.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}function Yd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r"u")return iw;var t=aw(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},lw=qv(),Xl="data-scroll-locked",uw=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(H6,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body[`).concat(Xl,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(i,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(ml,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(vl,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(ml," .").concat(ml,` { + right: 0 `).concat(r,`; + } + + .`).concat(vl," .").concat(vl,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(Xl,`] { + `).concat(K6,": ").concat(s,`px; + } +`)},cw=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,i=c.useMemo(function(){return sw(o)},[o]);return c.useEffect(function(){return document.body.setAttribute(Xl,""),function(){document.body.removeAttribute(Xl)}},[]),c.createElement(lw,{styles:uw(i,!t,o,n?"":"!important")})},qd=!1;if(typeof window<"u")try{var Ks=Object.defineProperty({},"passive",{get:function(){return qd=!0,!0}});window.addEventListener("test",Ks,Ks),window.removeEventListener("test",Ks,Ks)}catch{qd=!1}var _o=qd?{passive:!1}:!1,dw=function(e){return e.tagName==="TEXTAREA"},Xv=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!dw(e)&&n[t]==="visible")},fw=function(e){return Xv(e,"overflowY")},pw=function(e){return Xv(e,"overflowX")},Uh=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=Zv(e,n);if(r){var o=Jv(e,n),i=o[1],a=o[2];if(i>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},hw=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},mw=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Zv=function(e,t){return e==="v"?fw(t):pw(t)},Jv=function(e,t){return e==="v"?hw(t):mw(t)},vw=function(e,t){return e==="h"&&t==="rtl"?-1:1},gw=function(e,t,n,r,o){var i=vw(e,window.getComputedStyle(t).direction),a=i*r,s=n.target,l=t.contains(s),u=!1,d=a>0,f=0,p=0;do{var m=Jv(e,s),x=m[0],g=m[1],C=m[2],h=g-C-i*x;(x||h)&&Zv(e,s)&&(f+=h,p+=x),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(d&&(o&&f===0||!o&&a>f)||!d&&(o&&p===0||!o&&-a>p))&&(u=!0),u},Qs=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Bh=function(e){return[e.deltaX,e.deltaY]},Vh=function(e){return e&&"current"in e?e.current:e},yw=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ww=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Cw=0,Do=[];function xw(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),o=c.useState(Cw++)[0],i=c.useState(function(){return qv()})[0],a=c.useRef(e);c.useEffect(function(){a.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var g=Yd([e.lockRef.current],(e.shards||[]).map(Vh),!0).filter(Boolean);return g.forEach(function(C){return C.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),g.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=c.useCallback(function(g,C){if("touches"in g&&g.touches.length===2)return!a.current.allowPinchZoom;var h=Qs(g),v=n.current,y="deltaX"in g?g.deltaX:v[0]-h[0],E="deltaY"in g?g.deltaY:v[1]-h[1],k,b=g.target,R=Math.abs(y)>Math.abs(E)?"h":"v";if("touches"in g&&R==="h"&&b.type==="range")return!1;var $=Uh(R,b);if(!$)return!0;if($?k=R:(k=R==="v"?"h":"v",$=Uh(R,b)),!$)return!1;if(!r.current&&"changedTouches"in g&&(y||E)&&(r.current=k),!k)return!0;var T=r.current||k;return gw(T,C,g,T==="h"?y:E,!0)},[]),l=c.useCallback(function(g){var C=g;if(!(!Do.length||Do[Do.length-1]!==i)){var h="deltaY"in C?Bh(C):Qs(C),v=t.current.filter(function(k){return k.name===C.type&&k.target===C.target&&yw(k.delta,h)})[0];if(v&&v.should){C.cancelable&&C.preventDefault();return}if(!v){var y=(a.current.shards||[]).map(Vh).filter(Boolean).filter(function(k){return k.contains(C.target)}),E=y.length>0?s(C,y[0]):!a.current.noIsolation;E&&C.cancelable&&C.preventDefault()}}},[]),u=c.useCallback(function(g,C,h,v){var y={name:g,delta:C,target:h,should:v};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(E){return E!==y})},1)},[]),d=c.useCallback(function(g){n.current=Qs(g),r.current=void 0},[]),f=c.useCallback(function(g){u(g.type,Bh(g),g.target,s(g,e.lockRef.current))},[]),p=c.useCallback(function(g){u(g.type,Qs(g),g.target,s(g,e.lockRef.current))},[]);c.useEffect(function(){return Do.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",l,_o),document.addEventListener("touchmove",l,_o),document.addEventListener("touchstart",d,_o),function(){Do=Do.filter(function(g){return g!==i}),document.removeEventListener("wheel",l,_o),document.removeEventListener("touchmove",l,_o),document.removeEventListener("touchstart",d,_o)}},[]);var m=e.removeScrollBar,x=e.inert;return c.createElement(c.Fragment,null,x?c.createElement(i,{styles:ww(o)}):null,m?c.createElement(cw,{gapMode:"margin"}):null)}const bw=Z6(Yv,xw);var eg=c.forwardRef(function(e,t){return c.createElement(Lu,On({},e,{ref:t,sideCar:bw}))});eg.classNames=Lu.classNames;const Ew=eg;var Sw=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Oo=new WeakMap,Gs=new WeakMap,Ys={},Ec=0,tg=function(e){return e&&(e.host||tg(e.parentNode))},Rw=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=tg(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},kw=function(e,t,n,r){var o=Rw(t,Array.isArray(e)?e:[e]);Ys[n]||(Ys[n]=new WeakMap);var i=Ys[n],a=[],s=new Set,l=new Set(o),u=function(f){!f||s.has(f)||(s.add(f),u(f.parentNode))};o.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(p){if(s.has(p))d(p);else{var m=p.getAttribute(r),x=m!==null&&m!=="false",g=(Oo.get(p)||0)+1,C=(i.get(p)||0)+1;Oo.set(p,g),i.set(p,C),a.push(p),g===1&&x&&Gs.set(p,!0),C===1&&p.setAttribute(n,"true"),x||p.setAttribute(r,"true")}})};return d(t),s.clear(),Ec++,function(){a.forEach(function(f){var p=Oo.get(f)-1,m=i.get(f)-1;Oo.set(f,p),i.set(f,m),p||(Gs.has(f)||f.removeAttribute(r),Gs.delete(f)),m||f.removeAttribute(n)}),Ec--,Ec||(Oo=new WeakMap,Oo=new WeakMap,Gs=new WeakMap,Ys={})}},Pw=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Sw(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),kw(r,o,n,"aria-hidden")):function(){return null}};const ng="Dialog",[rg,og]=ko(ng),[$w,An]=rg(ng),Lw=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,s=c.useRef(null),l=c.useRef(null),[u=!1,d]=Eu({prop:r,defaultProp:o,onChange:i});return c.createElement($w,{scope:t,triggerRef:s,contentRef:l,contentId:ti(),titleId:ti(),descriptionId:ti(),open:u,onOpenChange:d,onOpenToggle:c.useCallback(()=>d(f=>!f),[d]),modal:a},n)},ig="DialogPortal",[Tw,ag]=rg(ig,{forceMount:void 0}),Nw=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=An(ig,t);return c.createElement(Tw,{scope:t,forceMount:n},c.Children.map(r,a=>c.createElement(er,{present:n||i.open},c.createElement(V6,{asChild:!0,container:o},a))))},Xd="DialogOverlay",_w=c.forwardRef((e,t)=>{const n=ag(Xd,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=An(Xd,e.__scopeDialog);return i.modal?c.createElement(er,{present:r||i.open},c.createElement(Dw,q({},o,{ref:t}))):null}),Dw=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=An(Xd,n);return c.createElement(Ew,{as:$i,allowPinchZoom:!0,shards:[o.contentRef]},c.createElement(De.div,q({"data-state":ug(o.open)},r,{ref:t,style:{pointerEvents:"auto",...r.style}})))}),Ti="DialogContent",Ow=c.forwardRef((e,t)=>{const n=ag(Ti,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=An(Ti,e.__scopeDialog);return c.createElement(er,{present:r||i.open},i.modal?c.createElement(Mw,q({},o,{ref:t})):c.createElement(jw,q({},o,{ref:t})))}),Mw=c.forwardRef((e,t)=>{const n=An(Ti,e.__scopeDialog),r=c.useRef(null),o=mt(t,n.contentRef,r);return c.useEffect(()=>{const i=r.current;if(i)return Pw(i)},[]),c.createElement(sg,q({},e,{ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ce(e.onCloseAutoFocus,i=>{var a;i.preventDefault(),(a=n.triggerRef.current)===null||a===void 0||a.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&i.preventDefault()}),onFocusOutside:Ce(e.onFocusOutside,i=>i.preventDefault())}))}),jw=c.forwardRef((e,t)=>{const n=An(Ti,e.__scopeDialog),r=c.useRef(!1),o=c.useRef(!1);return c.createElement(sg,q({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var a;if((a=e.onCloseAutoFocus)===null||a===void 0||a.call(e,i),!i.defaultPrevented){var s;r.current||(s=n.triggerRef.current)===null||s===void 0||s.focus(),i.preventDefault()}r.current=!1,o.current=!1},onInteractOutside:i=>{var a,s;(a=e.onInteractOutside)===null||a===void 0||a.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const l=i.target;((s=n.triggerRef.current)===null||s===void 0?void 0:s.contains(l))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}}))}),sg=c.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,s=An(Ti,n),l=c.useRef(null),u=mt(t,l);return W6(),c.createElement(c.Fragment,null,c.createElement(j6,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i},c.createElement(G2,q({role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":ug(s.open)},a,{ref:u,onDismiss:()=>s.onOpenChange(!1)}))),!1)}),lg="DialogTitle",Iw=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=An(lg,n);return c.createElement(De.h2,q({id:o.titleId},r,{ref:t}))}),Aw="DialogDescription",g1=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=An(Aw,n);return c.createElement(De.p,q({id:o.descriptionId},r,{ref:t}))}),Fw="DialogClose",zw=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=An(Fw,n);return c.createElement(De.button,q({type:"button"},r,{ref:t,onClick:Ce(e.onClick,()=>o.onOpenChange(!1))}))});function ug(e){return e?"open":"closed"}const Uw="DialogTitleWarning",[Bw,Gb]=n7(Uw,{contentName:Ti,titleName:lg,docsSlug:"dialog"}),cg=Lw,dg=Nw,y1=_w,w1=Ow,C1=Iw,x1=g1,b1=zw,Vw="AlertDialog",[Ww,Yb]=ko(Vw,[og]),Vr=og(),Hw=e=>{const{__scopeAlertDialog:t,...n}=e,r=Vr(t);return c.createElement(cg,q({},r,n,{modal:!0}))},Kw=e=>{const{__scopeAlertDialog:t,...n}=e,r=Vr(t);return c.createElement(dg,q({},r,n))},Qw=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=Vr(n);return c.createElement(y1,q({},o,r,{ref:t}))}),fg="AlertDialogContent",[Gw,Yw]=Ww(fg),qw=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...o}=e,i=Vr(n),a=c.useRef(null),s=mt(t,a),l=c.useRef(null);return c.createElement(Bw,{contentName:fg,titleName:Xw,docsSlug:"alert-dialog"},c.createElement(Gw,{scope:n,cancelRef:l},c.createElement(w1,q({role:"alertdialog"},i,o,{ref:s,onOpenAutoFocus:Ce(o.onOpenAutoFocus,u=>{var d;u.preventDefault(),(d=l.current)===null||d===void 0||d.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault()}),c.createElement(Q2,null,r),!1)))}),Xw="AlertDialogTitle",Zw=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=Vr(n);return c.createElement(C1,q({},o,r,{ref:t}))}),Jw=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=Vr(n);return c.createElement(x1,q({},o,r,{ref:t}))}),eC=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=Vr(n);return c.createElement(b1,q({},o,r,{ref:t}))}),tC="AlertDialogCancel",nC=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:o}=Yw(tC,n),i=Vr(n),a=mt(t,o);return c.createElement(b1,q({},i,r,{ref:a}))}),rC=Hw,oC=Kw,pg=Qw,hg=qw,mg=eC,vg=nC,gg=Zw,yg=Jw,iC=rC,aC=oC,wg=c.forwardRef(({className:e,...t},n)=>w.jsx(pg,{className:me("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));wg.displayName=pg.displayName;const Cg=c.forwardRef(({className:e,...t},n)=>w.jsxs(aC,{children:[w.jsx(wg,{}),w.jsx(hg,{ref:n,className:me("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));Cg.displayName=hg.displayName;const xg=({className:e,...t})=>w.jsx("div",{className:me("flex flex-col space-y-2 text-center sm:text-left",e),...t});xg.displayName="AlertDialogHeader";const bg=({className:e,...t})=>w.jsx("div",{className:me("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});bg.displayName="AlertDialogFooter";const Eg=c.forwardRef(({className:e,...t},n)=>w.jsx(gg,{ref:n,className:me("text-lg font-semibold",e),...t}));Eg.displayName=gg.displayName;const Sg=c.forwardRef(({className:e,...t},n)=>w.jsx(yg,{ref:n,className:me("text-sm text-muted-foreground",e),...t}));Sg.displayName=yg.displayName;const Rg=c.forwardRef(({className:e,...t},n)=>w.jsx(mg,{ref:n,className:me(v1(),e),...t}));Rg.displayName=mg.displayName;const kg=c.forwardRef(({className:e,...t},n)=>w.jsx(vg,{ref:n,className:me(v1({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));kg.displayName=vg.displayName;const ro=cg,sC=dg,Pg=c.forwardRef(({className:e,...t},n)=>w.jsx(y1,{ref:n,className:me("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));Pg.displayName=y1.displayName;const Rr=c.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(sC,{children:[w.jsx(Pg,{}),w.jsxs(w1,{ref:r,className:me("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,w.jsxs(b1,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[w.jsx(a3,{className:"h-4 w-4"}),w.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Rr.displayName=w1.displayName;const kr=({className:e,...t})=>w.jsx("div",{className:me("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});kr.displayName="DialogHeader";const ba=({className:e,...t})=>w.jsx("div",{className:me("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});ba.displayName="DialogFooter";const Mn=c.forwardRef(({className:e,...t},n)=>w.jsx(C1,{ref:n,className:me("text-lg font-semibold leading-none tracking-tight",e),...t}));Mn.displayName=C1.displayName;const gl=c.forwardRef(({className:e,...t},n)=>w.jsx(x1,{ref:n,className:me("text-sm text-muted-foreground",e),...t}));gl.displayName=x1.displayName;function lC({item:e}){const t=vs(),[n,r]=D.useState(!1),[o,i]=D.useState(),[a,s]=D.useState(!1),l=jr({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/start`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),u=jr({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/stop`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),d=jr({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/delete`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}});return c.useEffect(()=>{l.isPending?i("launch"):d.isPending?i("delete"):u.isPending?i("stop"):i(void 0),s(l.isPending||u.isPending||d.isPending)},[l.isPending,u.isPending,d.isPending]),w.jsxs(w.Fragment,{children:[w.jsx(ro,{onOpenChange:f=>s(f),open:!!o&&a,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsxs(kr,{children:[o==="launch"&&w.jsx(Mn,{children:"Launching project..."}),o==="stop"&&w.jsx(Mn,{children:"Stopping project..."}),o==="delete"&&w.jsx(Mn,{children:"Deleting project..."}),w.jsx(g1,{className:"mt-5 text-sm text-neutral-700 font-medium",children:"This could take a few moments."})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Wa,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsx(iC,{open:n,onOpenChange:f=>r(f),children:w.jsxs(Cg,{children:[w.jsxs(xg,{children:[w.jsx(Eg,{children:"Are you sure?"}),w.jsx(Sg,{children:"This action cannot be undone. This will permanently delete your project's data. Your models will NOT be deleted."})]}),w.jsxs(bg,{children:[w.jsx(kg,{children:"Cancel"}),w.jsx(Rg,{onClick:f=>{f.preventDefault(),r(!1),d.mutate()},children:"Delete"})]})]})}),w.jsx("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:w.jsxs("div",{className:"flex flex-col space-y-5",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-lg font-semibold",children:e.state.name}),w.jsxs("p",{className:"mt-1 font-medium text-xs text-gray-500 font-mono",children:["ID: ",e.id]})]}),w.jsxs("div",{className:"flex flex-row space-x-2",children:[e.state.state==="ready"&&w.jsx(lt,{onClick:f=>{f.preventDefault(),l.mutate()},variant:"default",children:"Launch"}),e.state.state==="running"&&!!e.state.port&&w.jsx(lt,{variant:"default",asChild:!0,children:w.jsx("a",{href:`http://localhost:${e.state.port}`,target:"_blank",children:"Open"})}),e.state.state==="running"&&w.jsx(lt,{onClick:f=>{f.preventDefault(),u.mutate()},variant:"secondary",children:"Stop"}),(e.state.state==="ready"||e.state.state==="running")&&w.jsx(lt,{onClick:f=>{f.preventDefault(),r(!0)},variant:"destructive",children:"Delete"})]})]})})]})}function uC(){const e=_v({queryKey:["projects"],queryFn:async()=>await(await fetch("/api/projects")).json()});return e.isLoading?w.jsx("div",{children:"Loading..."}):e.isError?w.jsx("div",{children:"Something went wrong, please refresh the page."}):!e.data||e.data.length===0?w.jsx(w.Fragment,{}):w.jsx("div",{children:w.jsx(Hv,{itemKey:(t,n)=>t===void 0?n:t.id,columnGutter:20,columnWidth:350,items:e.data,render:t=>w.jsx(lC,{item:t.data})},e.data.map(t=>t.id).join(","))})}function cC(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(Ru,{})}),w.jsxs("div",{className:"flex flex-row space-x-5 p-5",children:[w.jsx("a",{href:"/new",children:w.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[w.jsx("h1",{className:"text-lg font-semibold",children:"Create workflow"}),w.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Create a new ComfyUI project"})]})}),w.jsx("a",{href:"/import",children:w.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[w.jsx("h1",{className:"text-lg font-semibold",children:"Import workflow"}),w.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Run an existing workflow with zero setup"})]})})]}),w.jsx("div",{className:"flex flex-col mt-5 p-5",children:w.jsx(uC,{})})]})}var $g={exports:{}},dC="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",fC=dC,pC=fC;function Lg(){}function Tg(){}Tg.resetWarningCache=Lg;var hC=function(){function e(r,o,i,a,s,l){if(l!==pC){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Tg,resetWarningCache:Lg};return n.PropTypes=n,n};$g.exports=hC();var mC=$g.exports;const Re=lf(mC);var vC=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function gs(e,t){var n=gC(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function gC(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=vC.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var yC=[".DS_Store","Thumbs.db"];function wC(e){return Ai(this,void 0,void 0,function(){return Fi(this,function(t){return Zl(e)&&CC(e.dataTransfer)?[2,SC(e.dataTransfer,e.type)]:xC(e)?[2,bC(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,EC(e)]:[2,[]]})})}function CC(e){return Zl(e)}function xC(e){return Zl(e)&&Zl(e.target)}function Zl(e){return typeof e=="object"&&e!==null}function bC(e){return Zd(e.target.files).map(function(t){return gs(t)})}function EC(e){return Ai(this,void 0,void 0,function(){var t;return Fi(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return gs(r)})]}})})}function SC(e,t){return Ai(this,void 0,void 0,function(){var n,r;return Fi(this,function(o){switch(o.label){case 0:return e.items?(n=Zd(e.items).filter(function(i){return i.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(RC))]):[3,2];case 1:return r=o.sent(),[2,Wh(Ng(r))];case 2:return[2,Wh(Zd(e.files).map(function(i){return gs(i)}))]}})})}function Wh(e){return e.filter(function(t){return yC.indexOf(t.name)===-1})}function Zd(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,Yh(n)];if(e.sizen)return[!1,Yh(n)]}return[!0,null]}function qr(e){return e!=null}function UC(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles,s=e.validator;return!i&&t.length>1||i&&a>=1&&t.length>a?!1:t.every(function(l){var u=Mg(l,n),d=Qa(u,1),f=d[0],p=jg(l,r,o),m=Qa(p,1),x=m[0],g=s?s(l):null;return f&&x&&!g})}function Jl(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function qs(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function Xh(e){e.preventDefault()}function BC(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function VC(e){return e.indexOf("Edge/")!==-1}function WC(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return BC(e)||VC(e)}function kn(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function sx(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var E1=c.forwardRef(function(e,t){var n=e.children,r=eu(e,qC),o=Ug(r),i=o.open,a=eu(o,XC);return c.useImperativeHandle(t,function(){return{open:i}},[i]),D.createElement(c.Fragment,null,n(Fe(Fe({},a),{},{open:i})))});E1.displayName="Dropzone";var zg={disabled:!1,getFilesFromEvent:wC,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};E1.defaultProps=zg;E1.propTypes={children:Re.func,accept:Re.objectOf(Re.arrayOf(Re.string)),multiple:Re.bool,preventDropOnDocument:Re.bool,noClick:Re.bool,noKeyboard:Re.bool,noDrag:Re.bool,noDragEventsBubbling:Re.bool,minSize:Re.number,maxSize:Re.number,maxFiles:Re.number,disabled:Re.bool,getFilesFromEvent:Re.func,onFileDialogCancel:Re.func,onFileDialogOpen:Re.func,useFsAccessApi:Re.bool,autoFocus:Re.bool,onDragEnter:Re.func,onDragLeave:Re.func,onDragOver:Re.func,onDrop:Re.func,onDropAccepted:Re.func,onDropRejected:Re.func,onError:Re.func,validator:Re.func};var nf={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Ug(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Fe(Fe({},zg),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,f=t.onDragOver,p=t.onDrop,m=t.onDropAccepted,x=t.onDropRejected,g=t.onFileDialogCancel,C=t.onFileDialogOpen,h=t.useFsAccessApi,v=t.autoFocus,y=t.preventDropOnDocument,E=t.noClick,k=t.noKeyboard,b=t.noDrag,R=t.noDragEventsBubbling,$=t.onError,T=t.validator,j=c.useMemo(function(){return QC(n)},[n]),H=c.useMemo(function(){return KC(n)},[n]),W=c.useMemo(function(){return typeof C=="function"?C:Jh},[C]),le=c.useMemo(function(){return typeof g=="function"?g:Jh},[g]),Y=c.useRef(null),te=c.useRef(null),ye=c.useReducer(lx,nf),ae=Sc(ye,2),O=ae[0],N=ae[1],U=O.isFocused,A=O.isFileDialogActive,B=c.useRef(typeof window<"u"&&window.isSecureContext&&h&&HC()),ie=function(){!B.current&&A&&setTimeout(function(){if(te.current){var Q=te.current.files;Q.length||(N({type:"closeDialog"}),le())}},300)};c.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[te,A,le,B]);var Z=c.useRef([]),de=function(Q){Y.current&&Y.current.contains(Q.target)||(Q.preventDefault(),Z.current=[])};c.useEffect(function(){return y&&(document.addEventListener("dragover",Xh,!1),document.addEventListener("drop",de,!1)),function(){y&&(document.removeEventListener("dragover",Xh),document.removeEventListener("drop",de))}},[Y,y]),c.useEffect(function(){return!r&&v&&Y.current&&Y.current.focus(),function(){}},[Y,v,r]);var J=c.useCallback(function(I){$?$(I):console.error(I)},[$]),xe=c.useCallback(function(I){I.preventDefault(),I.persist(),tr(I),Z.current=[].concat(ex(Z.current),[I.target]),qs(I)&&Promise.resolve(o(I)).then(function(Q){if(!(Jl(I)&&!R)){var ke=Q.length,Oe=ke>0&&UC({files:Q,accept:j,minSize:a,maxSize:i,multiple:s,maxFiles:l,validator:T}),nt=ke>0&&!Oe;N({isDragAccept:Oe,isDragReject:nt,isDragActive:!0,type:"setDraggedFiles"}),u&&u(I)}}).catch(function(Q){return J(Q)})},[o,u,J,R,j,a,i,s,l,T]),tt=c.useCallback(function(I){I.preventDefault(),I.persist(),tr(I);var Q=qs(I);if(Q&&I.dataTransfer)try{I.dataTransfer.dropEffect="copy"}catch{}return Q&&f&&f(I),!1},[f,R]),bt=c.useCallback(function(I){I.preventDefault(),I.persist(),tr(I);var Q=Z.current.filter(function(Oe){return Y.current&&Y.current.contains(Oe)}),ke=Q.indexOf(I.target);ke!==-1&&Q.splice(ke,1),Z.current=Q,!(Q.length>0)&&(N({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),qs(I)&&d&&d(I))},[Y,d,R]),jt=c.useCallback(function(I,Q){var ke=[],Oe=[];I.forEach(function(nt){var ct=Mg(nt,j),sn=Sc(ct,2),bn=sn[0],Et=sn[1],Kr=jg(nt,a,i),ee=Sc(Kr,2),ve=ee[0],Ee=ee[1],rt=T?T(nt):null;if(bn&&ve&&!rt)ke.push(nt);else{var vt=[Et,Ee];rt&&(vt=vt.concat(rt)),Oe.push({file:nt,errors:vt.filter(function(Fn){return Fn})})}}),(!s&&ke.length>1||s&&l>=1&&ke.length>l)&&(ke.forEach(function(nt){Oe.push({file:nt,errors:[zC]})}),ke.splice(0)),N({acceptedFiles:ke,fileRejections:Oe,type:"setFiles"}),p&&p(ke,Oe,Q),Oe.length>0&&x&&x(Oe,Q),ke.length>0&&m&&m(ke,Q)},[N,s,j,a,i,l,p,m,x,T]),Ke=c.useCallback(function(I){I.preventDefault(),I.persist(),tr(I),Z.current=[],qs(I)&&Promise.resolve(o(I)).then(function(Q){Jl(I)&&!R||jt(Q,I)}).catch(function(Q){return J(Q)}),N({type:"reset"})},[o,jt,J,R]),qe=c.useCallback(function(){if(B.current){N({type:"openDialog"}),W();var I={multiple:s,types:H};window.showOpenFilePicker(I).then(function(Q){return o(Q)}).then(function(Q){jt(Q,null),N({type:"closeDialog"})}).catch(function(Q){GC(Q)?(le(Q),N({type:"closeDialog"})):YC(Q)?(B.current=!1,te.current?(te.current.value=null,te.current.click()):J(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):J(Q)});return}te.current&&(N({type:"openDialog"}),W(),te.current.value=null,te.current.click())},[N,W,le,h,jt,J,H,s]),Wr=c.useCallback(function(I){!Y.current||!Y.current.isEqualNode(I.target)||(I.key===" "||I.key==="Enter"||I.keyCode===32||I.keyCode===13)&&(I.preventDefault(),qe())},[Y,qe]),Po=c.useCallback(function(){N({type:"focus"})},[]),Ae=c.useCallback(function(){N({type:"blur"})},[]),on=c.useCallback(function(){E||(WC()?setTimeout(qe,0):qe())},[E,qe]),Cn=function(Q){return r?null:Q},Hr=function(Q){return k?null:Cn(Q)},an=function(Q){return b?null:Cn(Q)},tr=function(Q){R&&Q.stopPropagation()},xn=c.useMemo(function(){return function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Q=I.refKey,ke=Q===void 0?"ref":Q,Oe=I.role,nt=I.onKeyDown,ct=I.onFocus,sn=I.onBlur,bn=I.onClick,Et=I.onDragEnter,Kr=I.onDragOver,ee=I.onDragLeave,ve=I.onDrop,Ee=eu(I,ZC);return Fe(Fe(tf({onKeyDown:Hr(kn(nt,Wr)),onFocus:Hr(kn(ct,Po)),onBlur:Hr(kn(sn,Ae)),onClick:Cn(kn(bn,on)),onDragEnter:an(kn(Et,xe)),onDragOver:an(kn(Kr,tt)),onDragLeave:an(kn(ee,bt)),onDrop:an(kn(ve,Ke)),role:typeof Oe=="string"&&Oe!==""?Oe:"presentation"},ke,Y),!r&&!k?{tabIndex:0}:{}),Ee)}},[Y,Wr,Po,Ae,on,xe,tt,bt,Ke,k,b,r]),nr=c.useCallback(function(I){I.stopPropagation()},[]),Ht=c.useMemo(function(){return function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Q=I.refKey,ke=Q===void 0?"ref":Q,Oe=I.onChange,nt=I.onClick,ct=eu(I,JC),sn=tf({accept:j,multiple:s,type:"file",style:{display:"none"},onChange:Cn(kn(Oe,Ke)),onClick:Cn(kn(nt,nr)),tabIndex:-1},ke,te);return Fe(Fe({},sn),ct)}},[te,n,s,Ke,r]);return Fe(Fe({},O),{},{isFocused:U&&!r,getRootProps:xn,getInputProps:Ht,rootRef:Y,inputRef:te,open:Cn(qe)})}function lx(e,t){switch(t.type){case"focus":return Fe(Fe({},e),{},{isFocused:!0});case"blur":return Fe(Fe({},e),{},{isFocused:!1});case"openDialog":return Fe(Fe({},nf),{},{isFileDialogActive:!0});case"closeDialog":return Fe(Fe({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Fe(Fe({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Fe(Fe({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Fe({},nf);default:return e}}function Jh(){}const ys=c.forwardRef(({className:e,type:t,...n},r)=>w.jsx("input",{type:t,className:me("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));ys.displayName="Input";const Bg=c.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:me("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Bg.displayName="Card";const Vg=c.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:me("flex flex-col space-y-1.5 p-6",e),...t}));Vg.displayName="CardHeader";const Wg=c.forwardRef(({className:e,...t},n)=>w.jsx("h3",{ref:n,className:me("text-2xl font-semibold leading-none tracking-tight",e),...t}));Wg.displayName="CardTitle";const Hg=c.forwardRef(({className:e,...t},n)=>w.jsx("p",{ref:n,className:me("text-sm text-muted-foreground",e),...t}));Hg.displayName="CardDescription";const Kg=c.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:me("p-6 pt-0",e),...t}));Kg.displayName="CardContent";const Qg=c.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:me("flex items-center p-6 pt-0",e),...t}));Qg.displayName="CardFooter";const ux=c.forwardRef((e,t)=>c.createElement(De.label,q({},e,{ref:t,onMouseDown:n=>{var r;(r=e.onMouseDown)===null||r===void 0||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault()}}))),Gg=ux,cx=Su("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Ni=c.forwardRef(({className:e,...t},n)=>w.jsx(Gg,{ref:n,className:me(cx(),e),...t}));Ni.displayName=Gg.displayName;function dx(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}dx(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +`);var fx=e=>{switch(e){case"success":return mx;case"info":return gx;case"warning":return vx;case"error":return yx;default:return null}},px=Array(12).fill(0),hx=({visible:e})=>D.createElement("div",{className:"sonner-loading-wrapper","data-visible":e},D.createElement("div",{className:"sonner-spinner"},px.map((t,n)=>D.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),mx=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),vx=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),gx=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),yx=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),wx=()=>{let[e,t]=D.useState(!1);return D.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},rf=1,Cx=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:rf++,i=this.toasts.find(s=>s.id===o),a=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...e,id:o,title:n}),{...s,...e,id:o,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0;return r.then(i=>{if(i&&typeof i.ok=="boolean"&&!i.ok){o=!1;let a=typeof t.error=="function"?t.error(`HTTP error! status: ${i.status}`):t.error,s=typeof t.description=="function"?t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:n,type:"error",message:a,description:s})}else if(t.success!==void 0){o=!1;let a=typeof t.success=="function"?t.success(i):t.success,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"success",message:a,description:s})}}).catch(i=>{if(t.error!==void 0){o=!1;let a=typeof t.error=="function"?t.error(i):t.error,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"error",message:a,description:s})}}).finally(()=>{var i;o&&(this.dismiss(n),n=void 0),(i=t.finally)==null||i.call(t)}),n},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||rf++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},un=new Cx,xx=(e,t)=>{let n=(t==null?void 0:t.id)||rf++;return un.addToast({title:e,...t,id:n}),n},bx=xx,$n=Object.assign(bx,{success:un.success,info:un.info,warning:un.warning,error:un.error,custom:un.custom,message:un.message,promise:un.promise,dismiss:un.dismiss,loading:un.loading}),Ex=3,Sx="32px",Rx=4e3,kx=356,Yg=14,Px=20,$x=200;function Lx(...e){return e.filter(Boolean).join(" ")}var Tx=e=>{var t,n,r,o,i,a,s;let{invert:l,toast:u,unstyled:d,interacting:f,setHeights:p,visibleToasts:m,heights:x,index:g,toasts:C,expanded:h,removeToast:v,closeButton:y,style:E,cancelButtonStyle:k,actionButtonStyle:b,className:R="",descriptionClassName:$="",duration:T,position:j,gap:H=Yg,loadingIcon:W,expandByDefault:le,classNames:Y,icons:te,closeButtonAriaLabel:ye="Close toast",pauseWhenPageIsHidden:ae,cn:O}=e,[N,U]=D.useState(!1),[A,B]=D.useState(!1),[ie,Z]=D.useState(!1),[de,J]=D.useState(!1),[xe,tt]=D.useState(0),[bt,jt]=D.useState(0),Ke=D.useRef(null),qe=D.useRef(null),Wr=g===0,Po=g+1<=m,Ae=u.type,on=u.dismissible!==!1,Cn=u.className||"",Hr=u.descriptionClassName||"",an=D.useMemo(()=>x.findIndex(ee=>ee.toastId===u.id)||0,[x,u.id]),tr=D.useMemo(()=>{var ee;return(ee=u.closeButton)!=null?ee:y},[u.closeButton,y]),xn=D.useMemo(()=>u.duration||T||Rx,[u.duration,T]),nr=D.useRef(0),Ht=D.useRef(0),I=D.useRef(0),Q=D.useRef(null),[ke,Oe]=j.split("-"),nt=D.useMemo(()=>x.reduce((ee,ve,Ee)=>Ee>=an?ee:ee+ve.height,0),[x,an]),ct=wx(),sn=u.invert||l,bn=Ae==="loading";Ht.current=D.useMemo(()=>an*H+nt,[an,nt]),D.useEffect(()=>{U(!0)},[]),D.useLayoutEffect(()=>{if(!N)return;let ee=qe.current,ve=ee.style.height;ee.style.height="auto";let Ee=ee.getBoundingClientRect().height;ee.style.height=ve,jt(Ee),p(rt=>rt.find(vt=>vt.toastId===u.id)?rt.map(vt=>vt.toastId===u.id?{...vt,height:Ee}:vt):[{toastId:u.id,height:Ee,position:u.position},...rt])},[N,u.title,u.description,p,u.id]);let Et=D.useCallback(()=>{B(!0),tt(Ht.current),p(ee=>ee.filter(ve=>ve.toastId!==u.id)),setTimeout(()=>{v(u)},$x)},[u,v,p,Ht]);D.useEffect(()=>{if(u.promise&&Ae==="loading"||u.duration===1/0||u.type==="loading")return;let ee,ve=xn;return h||f||ae&&ct?(()=>{if(I.current{var Ee;(Ee=u.onAutoClose)==null||Ee.call(u,u),Et()},ve)),()=>clearTimeout(ee)},[h,f,le,u,xn,Et,u.promise,Ae,ae,ct]),D.useEffect(()=>{let ee=qe.current;if(ee){let ve=ee.getBoundingClientRect().height;return jt(ve),p(Ee=>[{toastId:u.id,height:ve,position:u.position},...Ee]),()=>p(Ee=>Ee.filter(rt=>rt.toastId!==u.id))}},[p,u.id]),D.useEffect(()=>{u.delete&&Et()},[Et,u.delete]);function Kr(){return te!=null&&te.loading?D.createElement("div",{className:"loader","data-visible":Ae==="loading"},te.loading):W?D.createElement("div",{className:"sonner-loader","data-visible":Ae==="loading"},W):D.createElement(hx,{visible:Ae==="loading"})}return D.createElement("li",{"aria-live":u.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:qe,className:O(R,Cn,Y==null?void 0:Y.toast,(t=u==null?void 0:u.classNames)==null?void 0:t.toast,Y==null?void 0:Y.default,Y==null?void 0:Y[Ae],(n=u==null?void 0:u.classNames)==null?void 0:n[Ae]),"data-sonner-toast":"","data-styled":!(u.jsx||u.unstyled||d),"data-mounted":N,"data-promise":!!u.promise,"data-removed":A,"data-visible":Po,"data-y-position":ke,"data-x-position":Oe,"data-index":g,"data-front":Wr,"data-swiping":ie,"data-dismissible":on,"data-type":Ae,"data-invert":sn,"data-swipe-out":de,"data-expanded":!!(h||le&&N),style:{"--index":g,"--toasts-before":g,"--z-index":C.length-g,"--offset":`${A?xe:Ht.current}px`,"--initial-height":le?"auto":`${bt}px`,...E,...u.style},onPointerDown:ee=>{bn||!on||(Ke.current=new Date,tt(Ht.current),ee.target.setPointerCapture(ee.pointerId),ee.target.tagName!=="BUTTON"&&(Z(!0),Q.current={x:ee.clientX,y:ee.clientY}))},onPointerUp:()=>{var ee,ve,Ee,rt;if(de||!on)return;Q.current=null;let vt=Number(((ee=qe.current)==null?void 0:ee.style.getPropertyValue("--swipe-amount").replace("px",""))||0),Fn=new Date().getTime()-((ve=Ke.current)==null?void 0:ve.getTime()),Tu=Math.abs(vt)/Fn;if(Math.abs(vt)>=Px||Tu>.11){tt(Ht.current),(Ee=u.onDismiss)==null||Ee.call(u,u),Et(),J(!0);return}(rt=qe.current)==null||rt.style.setProperty("--swipe-amount","0px"),Z(!1)},onPointerMove:ee=>{var ve;if(!Q.current||!on)return;let Ee=ee.clientY-Q.current.y,rt=ee.clientX-Q.current.x,vt=(ke==="top"?Math.min:Math.max)(0,Ee),Fn=ee.pointerType==="touch"?10:2;Math.abs(vt)>Fn?(ve=qe.current)==null||ve.style.setProperty("--swipe-amount",`${Ee}px`):Math.abs(rt)>Fn&&(Q.current=null)}},tr&&!u.jsx?D.createElement("button",{"aria-label":ye,"data-disabled":bn,"data-close-button":!0,onClick:bn||!on?()=>{}:()=>{var ee;Et(),(ee=u.onDismiss)==null||ee.call(u,u)},className:O(Y==null?void 0:Y.closeButton,(r=u==null?void 0:u.classNames)==null?void 0:r.closeButton)},D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},D.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),D.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,u.jsx||D.isValidElement(u.title)?u.jsx||u.title:D.createElement(D.Fragment,null,Ae||u.icon||u.promise?D.createElement("div",{"data-icon":""},u.promise||u.type==="loading"&&!u.icon?u.icon||(te==null?void 0:te.loading)||Kr():null,u.type!=="loading"?u.icon||(te==null?void 0:te[Ae])||fx(Ae):null):null,D.createElement("div",{"data-content":""},D.createElement("div",{"data-title":"",className:O(Y==null?void 0:Y.title,(o=u==null?void 0:u.classNames)==null?void 0:o.title)},u.title),u.description?D.createElement("div",{"data-description":"",className:O($,Hr,Y==null?void 0:Y.description,(i=u==null?void 0:u.classNames)==null?void 0:i.description)},u.description):null),u.cancel?D.createElement("button",{"data-button":!0,"data-cancel":!0,style:u.cancelButtonStyle||k,onClick:ee=>{var ve;on&&(Et(),(ve=u.cancel)!=null&&ve.onClick&&u.cancel.onClick(ee))},className:O(Y==null?void 0:Y.cancelButton,(a=u==null?void 0:u.classNames)==null?void 0:a.cancelButton)},u.cancel.label):null,u.action?D.createElement("button",{"data-button":"",style:u.actionButtonStyle||b,onClick:ee=>{var ve;(ve=u.action)==null||ve.onClick(ee),!ee.defaultPrevented&&Et()},className:O(Y==null?void 0:Y.actionButton,(s=u==null?void 0:u.classNames)==null?void 0:s.actionButton)},u.action.label):null))};function e0(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var Nx=e=>{let{invert:t,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:i,className:a,offset:s,theme:l="light",richColors:u,duration:d,style:f,visibleToasts:p=Ex,toastOptions:m,dir:x=e0(),gap:g,loadingIcon:C,icons:h,containerAriaLabel:v="Notifications",pauseWhenPageIsHidden:y,cn:E=Lx}=e,[k,b]=D.useState([]),R=D.useMemo(()=>Array.from(new Set([n].concat(k.filter(A=>A.position).map(A=>A.position)))),[k,n]),[$,T]=D.useState([]),[j,H]=D.useState(!1),[W,le]=D.useState(!1),[Y,te]=D.useState(l!=="system"?l:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ye=D.useRef(null),ae=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),O=D.useRef(null),N=D.useRef(!1),U=D.useCallback(A=>b(B=>B.filter(({id:ie})=>ie!==A.id)),[]);return D.useEffect(()=>un.subscribe(A=>{if(A.dismiss){b(B=>B.map(ie=>ie.id===A.id?{...ie,delete:!0}:ie));return}setTimeout(()=>{yu.flushSync(()=>{b(B=>{let ie=B.findIndex(Z=>Z.id===A.id);return ie!==-1?[...B.slice(0,ie),{...B[ie],...A},...B.slice(ie+1)]:[A,...B]})})})}),[]),D.useEffect(()=>{if(l!=="system"){te(l);return}l==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?te("dark"):te("light")),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:A})=>{te(A?"dark":"light")})},[l]),D.useEffect(()=>{k.length<=1&&H(!1)},[k]),D.useEffect(()=>{let A=B=>{var ie,Z;r.every(de=>B[de]||B.code===de)&&(H(!0),(ie=ye.current)==null||ie.focus()),B.code==="Escape"&&(document.activeElement===ye.current||(Z=ye.current)!=null&&Z.contains(document.activeElement))&&H(!1)};return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[r]),D.useEffect(()=>{if(ye.current)return()=>{O.current&&(O.current.focus({preventScroll:!0}),O.current=null,N.current=!1)}},[ye.current]),k.length?D.createElement("section",{"aria-label":`${v} ${ae}`,tabIndex:-1},R.map((A,B)=>{var ie;let[Z,de]=A.split("-");return D.createElement("ol",{key:A,dir:x==="auto"?e0():x,tabIndex:-1,ref:ye,className:a,"data-sonner-toaster":!0,"data-theme":Y,"data-rich-colors":u,"data-y-position":Z,"data-x-position":de,style:{"--front-toast-height":`${((ie=$[0])==null?void 0:ie.height)||0}px`,"--offset":typeof s=="number"?`${s}px`:s||Sx,"--width":`${kx}px`,"--gap":`${Yg}px`,...f},onBlur:J=>{N.current&&!J.currentTarget.contains(J.relatedTarget)&&(N.current=!1,O.current&&(O.current.focus({preventScroll:!0}),O.current=null))},onFocus:J=>{J.target instanceof HTMLElement&&J.target.dataset.dismissible==="false"||N.current||(N.current=!0,O.current=J.relatedTarget)},onMouseEnter:()=>H(!0),onMouseMove:()=>H(!0),onMouseLeave:()=>{W||H(!1)},onPointerDown:J=>{J.target instanceof HTMLElement&&J.target.dataset.dismissible==="false"||le(!0)},onPointerUp:()=>le(!1)},k.filter(J=>!J.position&&B===0||J.position===A).map((J,xe)=>{var tt,bt;return D.createElement(Tx,{key:J.id,icons:h,index:xe,toast:J,duration:(tt=m==null?void 0:m.duration)!=null?tt:d,className:m==null?void 0:m.className,descriptionClassName:m==null?void 0:m.descriptionClassName,invert:t,visibleToasts:p,closeButton:(bt=m==null?void 0:m.closeButton)!=null?bt:i,interacting:W,position:A,style:m==null?void 0:m.style,unstyled:m==null?void 0:m.unstyled,classNames:m==null?void 0:m.classNames,cancelButtonStyle:m==null?void 0:m.cancelButtonStyle,actionButtonStyle:m==null?void 0:m.actionButtonStyle,removeToast:U,toasts:k.filter(jt=>jt.position==J.position),heights:$.filter(jt=>jt.position==J.position),setHeights:T,expandByDefault:o,gap:g,loadingIcon:C,expanded:j,pauseWhenPageIsHidden:y,cn:E})}))})):null};const of="horizontal",_x=["horizontal","vertical"],qg=c.forwardRef((e,t)=>{const{decorative:n,orientation:r=of,...o}=e,i=Xg(r)?r:of,s=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return c.createElement(De.div,q({"data-orientation":i},s,o,{ref:t}))});qg.propTypes={orientation(e,t,n){const r=e[t],o=String(r);return r&&!Xg(r)?new Error(Dx(o,n)):null}};function Dx(e,t){return`Invalid prop \`orientation\` of value \`${e}\` supplied to \`${t}\`, expected one of: + - horizontal + - vertical + +Defaulting to \`${of}\`.`}function Xg(e){return _x.includes(e)}const Zg=qg,Jg=c.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>w.jsx(Zg,{ref:o,decorative:n,orientation:t,className:me("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Jg.displayName=Zg.displayName;const Ox=Su("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function t0({className:e,variant:t,...n}){return w.jsx("div",{className:me(Ox({variant:t}),e),...n})}function Mx({className:e}){return w.jsxs("svg",{className:e,width:"256",height:"256",viewBox:"0 0 256 256",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("path",{d:"M230.721 172.7C230.183 170.673 229.313 168.75 228.146 167.008C228.396 166.091 228.587 165.159 228.714 164.217C229.543 158.241 227.471 152.77 223.567 148.537C221.452 146.225 219.185 144.698 216.784 143.761C218.36 137.018 219.157 130.117 219.161 123.193C219.161 120.03 218.982 116.932 218.682 113.88C218.526 112.356 218.337 110.836 218.115 109.32C217.428 104.847 216.408 100.431 215.064 96.11C214.183 93.2707 213.164 90.476 212.01 87.736C210.281 83.6782 208.262 79.75 205.969 75.982C204.465 73.475 202.827 71.0508 201.062 68.72C200.197 67.543 199.296 66.3938 198.358 65.274C195.58 61.898 192.561 58.7277 189.325 55.788C188.25 54.7997 187.145 53.8453 186.01 52.926C184.893 51.9943 183.751 51.0927 182.586 50.222C180.241 48.4766 177.818 46.8392 175.324 45.315C161.543 36.945 145.382 32.145 128.109 32.145C77.817 32.145 37.057 72.907 37.057 123.196C37.055 130.208 37.867 137.196 39.477 144.02C37.317 144.958 35.247 146.42 33.327 148.535C29.424 152.766 27.351 158.217 28.18 164.193C28.306 165.142 28.495 166.082 28.747 167.006C27.5811 168.749 26.7117 170.673 26.174 172.7C24.974 177.261 25.369 181.374 26.894 184.978C25.236 189.688 25.65 194.704 27.809 199.065C29.379 202.25 31.626 204.714 34.396 206.916C37.689 209.534 41.811 211.758 46.783 213.892C52.715 216.422 59.956 218.799 63.249 219.671C71.755 221.873 79.911 223.269 88.177 223.337C99.954 223.446 110.096 220.677 117.357 213.59C120.924 214.027 124.515 214.246 128.109 214.244C131.906 214.236 135.699 213.997 139.467 213.529C146.711 220.661 156.892 223.455 168.712 223.343C176.977 223.277 185.133 221.881 193.617 219.676C196.932 218.804 204.17 216.427 210.105 213.897C215.077 211.76 219.199 209.536 222.514 206.922C225.263 204.719 227.508 202.256 229.079 199.071C231.26 194.709 231.652 189.693 230.017 184.983C231.527 181.379 231.92 177.257 230.721 172.7ZM222.281 184.673C223.952 187.844 224.059 191.427 222.585 194.764C220.349 199.821 214.795 203.805 204.008 208.082C197.3 210.742 191.158 212.443 191.104 212.458C182.232 214.759 174.208 215.928 167.262 215.928C155.76 215.928 147.201 212.754 141.773 206.486C132.594 208.05 123.222 208.103 114.026 206.644C108.591 212.808 100.081 215.928 88.676 215.928C81.729 215.928 73.706 214.759 64.833 212.458C64.779 212.443 58.639 210.742 51.929 208.082C41.143 203.805 35.587 199.824 33.352 194.764C31.878 191.427 31.985 187.844 33.656 184.673C33.81 184.378 33.976 184.091 34.153 183.813C33.1516 182.309 32.4799 180.61 32.182 178.827C31.8842 177.045 31.967 175.22 32.425 173.472C33.089 170.949 34.46 168.851 36.322 167.344C35.425 165.87 34.8365 164.23 34.592 162.522C34.056 158.808 35.289 155.1 38.062 152.076C40.222 149.723 43.275 148.428 46.655 148.428H46.745C44.1965 140.259 42.9044 131.75 42.913 123.193C42.913 76.522 80.749 38.683 127.427 38.683C174.104 38.683 211.94 76.518 211.94 123.193C211.947 131.773 210.646 140.304 208.081 148.492C208.489 148.452 208.889 148.432 209.282 148.431C212.662 148.431 215.716 149.726 217.874 152.079C220.647 155.1 221.881 158.811 221.344 162.525C221.1 164.233 220.511 165.873 219.615 167.347C221.477 168.854 222.849 170.952 223.512 173.475C223.97 175.223 224.053 177.048 223.755 178.831C223.458 180.613 222.786 182.312 221.784 183.816C221.961 184.091 222.129 184.378 222.281 184.673Z",fill:"white"}),w.jsx("path",{d:"M221.784 183.816C222.786 182.312 223.458 180.613 223.756 178.831C224.053 177.048 223.97 175.223 223.512 173.475C222.848 170.952 221.476 168.854 219.615 167.347C220.512 165.873 221.1 164.233 221.344 162.525C221.881 158.811 220.648 155.103 217.874 152.079C215.716 149.726 212.662 148.431 209.282 148.431C208.889 148.431 208.489 148.452 208.081 148.492C210.643 140.304 211.942 131.774 211.933 123.195C211.933 76.5231 174.097 38.6851 127.424 38.6851C80.75 38.6851 42.9099 76.5191 42.9099 123.195C42.9015 131.752 44.1936 140.261 46.742 148.43H46.6519C43.2719 148.43 40.219 149.724 38.06 152.077C35.287 155.098 34.0529 158.81 34.5899 162.523C34.8346 164.231 35.4231 165.872 36.3199 167.346C34.4579 168.852 33.086 170.95 32.422 173.473C31.9642 175.222 31.8817 177.047 32.1799 178.83C32.4781 180.612 33.1501 182.312 34.1519 183.816C33.9739 184.094 33.8099 184.381 33.6549 184.676C31.9849 187.847 31.877 191.43 33.352 194.767C35.588 199.824 41.1419 203.808 51.9289 208.085C58.6359 210.745 64.779 212.446 64.833 212.461C73.705 214.762 81.729 215.931 88.675 215.931C100.081 215.931 108.591 212.811 114.026 206.647C123.222 208.106 132.594 208.052 141.773 206.489C147.201 212.757 155.76 215.931 167.262 215.931C174.208 215.931 182.232 214.762 191.103 212.461C191.158 212.446 197.298 210.745 204.008 208.085C214.795 203.808 220.35 199.824 222.585 194.767C224.059 191.43 223.952 187.847 222.281 184.676C222.129 184.379 221.961 184.091 221.784 183.816ZM110.137 196.997C109.669 197.815 109.168 198.614 108.635 199.391C107.23 201.448 105.382 203.02 103.237 204.188C99.1369 206.424 93.947 207.205 88.675 207.205C80.346 207.205 71.808 205.256 67.023 204.015C66.787 203.954 37.689 195.735 41.373 188.739C41.993 187.562 43.0129 187.092 44.2979 187.092C49.4849 187.092 58.9299 194.816 62.9889 194.816C63.8959 194.816 64.5359 194.43 64.7969 193.488C66.5269 187.284 38.5039 184.676 40.8639 175.692C41.2799 174.102 42.41 173.456 43.998 173.456C50.856 173.455 66.248 185.516 69.467 185.516C69.714 185.516 69.8909 185.443 69.9869 185.291C70.0009 185.268 70.015 185.246 70.028 185.222C71.539 182.727 70.6719 180.913 60.3209 174.573L59.3269 173.968C47.9359 167.074 39.9409 162.925 44.4879 157.975C45.0109 157.404 45.7529 157.151 46.6539 157.151C47.7219 157.151 49.0149 157.508 50.4389 158.108C56.4549 160.645 64.793 167.564 68.276 170.581C68.8239 171.057 69.3683 171.538 69.9089 172.022C69.9089 172.022 74.319 176.608 76.985 176.608C77.599 176.608 78.1199 176.366 78.4729 175.768C80.364 172.58 60.9099 157.838 59.8129 151.755C59.0689 147.634 60.3349 145.546 62.6749 145.546C63.7879 145.546 65.1459 146.02 66.6449 146.971C71.2949 149.922 80.2729 165.35 83.5599 171.352C84.6619 173.363 86.5429 174.213 88.2379 174.213C91.6009 174.213 94.2299 170.87 88.5459 166.622C80.0029 160.23 83.001 149.782 87.078 149.139C87.252 149.111 87.4279 149.097 87.6029 149.097C91.3109 149.097 92.9459 155.486 92.9459 155.486C92.9459 155.486 97.7399 167.524 105.975 175.753C113.447 183.222 114.491 189.351 110.137 196.997ZM136.766 198.407L136.339 198.458L135.611 198.541C135.228 198.581 134.844 198.619 134.459 198.654L134.084 198.688L133.741 198.717L133.255 198.756L132.718 198.795L132.182 198.83L132.063 198.838C131.923 198.846 131.783 198.855 131.641 198.862L131.462 198.872C131.296 198.881 131.13 198.889 130.962 198.896L130.381 198.921L129.854 198.939L129.502 198.949H129.323C129.213 198.949 129.104 198.955 128.994 198.956H128.82C128.71 198.956 128.601 198.956 128.491 198.961L128.043 198.967H127.418C126.927 198.967 126.437 198.962 125.949 198.952L125.553 198.943C125.44 198.943 125.327 198.938 125.216 198.934L124.796 198.922L124.275 198.902L123.805 198.881L123.684 198.876L123.237 198.853C123.112 198.846 122.989 198.84 122.865 198.831L122.576 198.814C122.213 198.791 121.85 198.766 121.487 198.738L121.107 198.707C120.947 198.695 120.787 198.68 120.628 198.666C120.441 198.65 120.254 198.632 120.067 198.614C119.754 198.585 119.441 198.553 119.128 198.519H119.113C123.683 188.324 121.372 178.802 112.137 169.575C106.08 163.526 102.051 154.594 101.215 152.633C99.5229 146.828 95.045 140.375 87.608 140.375C86.979 140.375 86.351 140.425 85.73 140.523C82.472 141.036 79.624 142.911 77.592 145.733C75.396 143.002 73.262 140.831 71.332 139.605C68.422 137.76 65.5179 136.824 62.6889 136.824C59.1579 136.824 56.0019 138.274 53.8019 140.904L53.7459 140.971C53.7039 140.798 53.6639 140.625 53.6229 140.451L53.6179 140.428C53.1992 138.638 52.8477 136.833 52.5639 135.016C52.5639 135.004 52.5639 134.992 52.5579 134.98C52.5359 134.843 52.5159 134.705 52.4949 134.568C52.4334 134.162 52.3757 133.755 52.3219 133.348C52.2979 133.163 52.2719 132.978 52.2489 132.793L52.1809 132.238C52.1589 132.053 52.1409 131.885 52.1209 131.709L52.115 131.665C52.0351 130.945 51.9651 130.225 51.9049 129.503L51.8829 129.226L51.8479 128.754C51.8379 128.625 51.8279 128.495 51.8209 128.365C51.8209 128.334 51.8159 128.304 51.8149 128.275C51.7895 127.913 51.7678 127.55 51.7499 127.187C51.7399 126.998 51.7299 126.81 51.7219 126.62L51.7019 126.124L51.6969 125.974L51.6809 125.517L51.6709 125.128C51.6709 124.973 51.6629 124.818 51.6609 124.663C51.6579 124.508 51.6539 124.338 51.6529 124.174C51.6509 124.01 51.6529 123.848 51.6479 123.685C51.6439 123.521 51.6479 123.358 51.6479 123.195C51.6479 81.3421 85.5789 47.4111 127.436 47.4111C169.292 47.4111 203.222 81.3411 203.222 123.195V124.174C203.222 124.337 203.217 124.501 203.214 124.663C203.214 124.798 203.208 124.931 203.204 125.068C203.204 125.188 203.199 125.309 203.195 125.425C203.195 125.578 203.186 125.731 203.181 125.884V125.896L203.16 126.427C203.153 126.582 203.147 126.738 203.139 126.893L203.134 127.003L203.107 127.499C203.048 128.562 202.967 129.623 202.866 130.683V130.696C202.849 130.87 202.832 131.044 202.813 131.218L202.768 131.629L202.679 132.433L202.628 132.84L202.565 133.319C202.542 133.493 202.519 133.668 202.493 133.841C202.467 134.036 202.438 134.23 202.409 134.424L202.34 134.883L202.258 135.403C202.23 135.576 202.2 135.748 202.168 135.92C202.135 136.093 202.109 136.265 202.079 136.437C202.019 136.781 201.956 137.125 201.89 137.468C201.789 137.981 201.686 138.493 201.58 139.005L201.47 139.512C201.434 139.681 201.395 139.851 201.357 140.02C199.224 137.947 196.399 136.818 193.284 136.818C190.457 136.818 187.55 137.753 184.641 139.598C182.711 140.824 180.578 142.996 178.381 145.726C176.346 142.904 173.498 141.029 170.242 140.516C169.621 140.418 168.993 140.368 168.364 140.368C160.925 140.368 156.45 146.821 154.757 152.626C153.917 154.587 149.887 163.519 143.825 169.577C134.596 178.775 132.268 188.254 136.766 198.407ZM215.007 177.998L214.977 178.087C214.901 178.288 214.813 178.484 214.714 178.674C214.639 178.814 214.558 178.95 214.47 179.082C214.303 179.331 214.12 179.569 213.921 179.793C213.875 179.845 213.831 179.897 213.779 179.948C213.707 180.025 213.634 180.101 213.559 180.175C212.213 181.509 210.161 182.679 207.841 183.752C207.578 183.871 207.311 183.99 207.042 184.11L206.774 184.229C206.595 184.308 206.416 184.386 206.228 184.463C206.049 184.541 205.863 184.619 205.677 184.695L205.119 184.925C203.814 185.462 202.477 185.974 201.173 186.479L200.615 186.696L200.064 186.912C199.697 187.055 199.335 187.198 198.979 187.341L198.448 187.555L197.926 187.768L197.67 187.876C197.499 187.947 197.332 188.018 197.165 188.089C193.328 189.736 190.567 191.411 191.147 193.489C191.163 193.548 191.181 193.604 191.201 193.659C191.253 193.813 191.324 193.958 191.413 194.095C191.465 194.176 191.525 194.253 191.592 194.323C192.274 195.032 193.515 194.92 195.08 194.357C195.3 194.276 195.519 194.192 195.736 194.104L195.872 194.048C196.23 193.896 196.609 193.726 196.996 193.542C197.093 193.496 197.191 193.452 197.289 193.401C199.203 192.465 201.372 191.205 203.524 190.058C204.385 189.593 205.258 189.152 206.142 188.733C208.18 187.774 210.096 187.094 211.636 187.094C212.359 187.094 212.997 187.242 213.529 187.582L213.618 187.641C213.952 187.876 214.232 188.178 214.441 188.528C214.482 188.595 214.522 188.666 214.561 188.739C215.322 190.184 214.685 191.68 213.194 193.147C211.763 194.556 209.537 195.937 207.007 197.215C206.819 197.31 206.631 197.405 206.44 197.498C198.91 201.196 189.049 203.981 188.912 204.016C186.284 204.697 182.526 205.591 178.292 206.26L177.666 206.358L177.563 206.373C177.089 206.445 176.614 206.512 176.138 206.574C175.655 206.639 175.167 206.698 174.676 206.753L174.586 206.763C172.806 206.968 171.019 207.104 169.228 207.169H169.202C168.554 207.192 167.907 207.204 167.259 207.204H166.512C165.524 207.191 164.538 207.146 163.553 207.07C163.53 207.07 163.505 207.07 163.482 207.064C163.129 207.037 162.777 207.004 162.425 206.965C162.06 206.926 161.696 206.882 161.333 206.833C161.094 206.801 160.856 206.765 160.618 206.726C160.376 206.687 160.134 206.647 159.893 206.605L159.564 206.543L159.539 206.538C159.192 206.472 158.847 206.399 158.503 206.319C158.303 206.274 158.104 206.23 157.907 206.176L157.788 206.146C157.69 206.122 157.595 206.096 157.498 206.07L157.445 206.056L157.137 205.966C157.025 205.935 156.913 205.901 156.801 205.868L156.762 205.857L156.471 205.768C156.361 205.734 156.251 205.698 156.142 205.662L155.874 205.573L155.677 205.504C155.487 205.437 155.298 205.368 155.111 205.296L154.933 205.226L154.786 205.168C154.502 205.054 154.22 204.935 153.941 204.81L153.756 204.72L153.725 204.706C153.659 204.675 153.594 204.644 153.528 204.617C153.399 204.555 153.271 204.491 153.144 204.426L153.105 204.407L152.921 204.31C152.594 204.139 152.274 203.957 151.96 203.764L151.788 203.658C151.702 203.605 151.616 203.55 151.532 203.494L151.308 203.346L151.067 203.18L150.923 203.077C150.771 202.969 150.622 202.857 150.476 202.742L150.243 202.563C150.15 202.488 150.058 202.412 149.967 202.335C149.89 202.272 149.815 202.206 149.74 202.14L149.734 202.135C149.653 202.064 149.574 201.993 149.495 201.92C149.417 201.849 149.339 201.777 149.263 201.704L149.254 201.695C149.174 201.619 149.096 201.542 149.019 201.463C148.942 201.385 148.863 201.307 148.788 201.227C148.713 201.148 148.636 201.067 148.562 200.984C148.488 200.902 148.42 200.827 148.35 200.746L148.327 200.719C148.259 200.641 148.192 200.562 148.126 200.481C147.983 200.31 147.844 200.135 147.71 199.956C147.575 199.776 147.443 199.592 147.314 199.405L147.191 199.221C147.027 198.981 146.867 198.739 146.712 198.493C146.596 198.316 146.483 198.138 146.373 197.957C146.302 197.844 146.234 197.73 146.166 197.618L146.138 197.572C146.073 197.462 146.009 197.354 145.947 197.245C145.911 197.186 145.877 197.127 145.845 197.066C145.812 197.004 145.774 196.941 145.739 196.878L145.682 196.779L145.647 196.715C145.58 196.595 145.514 196.474 145.45 196.352C145.42 196.298 145.391 196.244 145.36 196.192L145.271 196.019L145.181 195.848C144.956 195.398 144.743 194.942 144.543 194.48L144.472 194.311C144.426 194.198 144.383 194.086 144.337 193.975C144.315 193.921 144.293 193.868 144.274 193.814C144.167 193.537 144.067 193.257 143.975 192.975C143.942 192.874 143.91 192.775 143.88 192.675C143.808 192.448 143.743 192.219 143.685 191.988C143.614 191.719 143.551 191.448 143.498 191.175C143.487 191.12 143.476 191.065 143.467 191.012C143.415 190.745 143.373 190.476 143.34 190.206C143.332 190.153 143.326 190.1 143.32 190.047L143.303 189.885C143.281 189.673 143.264 189.46 143.254 189.247C143.254 189.193 143.249 189.139 143.247 189.087C143.242 188.981 143.24 188.875 143.239 188.769C143.183 184.496 145.345 180.388 149.968 175.767C158.203 167.54 162.997 155.501 162.997 155.501C162.997 155.501 163.126 154.996 163.394 154.269C163.431 154.168 163.47 154.064 163.514 153.955C163.67 153.548 163.846 153.148 164.041 152.758L164.08 152.683C164.246 152.351 164.428 152.027 164.624 151.712C164.67 151.639 164.714 151.567 164.765 151.494C164.912 151.277 165.067 151.065 165.23 150.86C165.319 150.749 165.416 150.639 165.513 150.532C165.552 150.49 165.59 150.448 165.631 150.408C166.108 149.915 166.653 149.513 167.27 149.299L167.348 149.273C167.4 149.256 167.452 149.24 167.505 149.225C167.566 149.209 167.627 149.195 167.69 149.182L167.719 149.176C167.849 149.15 167.981 149.133 168.114 149.124H168.125C168.194 149.124 168.264 149.117 168.335 149.117C168.424 149.117 168.507 149.117 168.594 149.126C168.684 149.134 168.773 149.144 168.863 149.158C169.605 149.276 170.311 149.718 170.919 150.4C171.15 150.66 171.358 150.94 171.54 151.236C171.66 151.428 171.773 151.631 171.88 151.845C171.923 151.934 171.964 152.016 172.004 152.104C172.108 152.33 172.202 152.56 172.284 152.795C172.479 153.345 172.626 153.911 172.723 154.487C172.807 154.992 172.857 155.502 172.873 156.013C172.881 156.286 172.881 156.563 172.873 156.842C172.819 158.14 172.553 159.421 172.086 160.634C172.044 160.745 171.997 160.857 171.952 160.969C171.86 161.195 171.759 161.417 171.65 161.634C171.569 161.799 171.484 161.965 171.392 162.13C171.332 162.24 171.269 162.35 171.206 162.46C171.045 162.734 170.871 163.006 170.684 163.277L170.571 163.439C170.129 164.055 169.637 164.633 169.099 165.167C168.569 165.698 168.001 166.189 167.4 166.637C166.798 167.083 166.233 167.577 165.711 168.114C164.208 169.691 163.858 171.083 164.196 172.138C164.25 172.304 164.321 172.465 164.407 172.617C164.508 172.791 164.628 172.951 164.764 173.097L164.817 173.152L164.871 173.206C164.925 173.258 164.982 173.309 165.043 173.359L165.103 173.407C165.248 173.519 165.402 173.619 165.563 173.707C165.61 173.732 165.652 173.757 165.705 173.781C165.879 173.866 166.058 173.939 166.242 173.998C166.293 174.015 166.344 174.03 166.396 174.046L166.461 174.063L166.551 174.087L166.628 174.106L166.712 174.124L166.795 174.141L166.874 174.154C166.932 174.164 166.992 174.174 167.052 174.181L167.109 174.19L167.213 174.2L167.277 174.207L167.382 174.214H167.444L167.554 174.22H167.9L167.999 174.214L168.113 174.207L168.252 174.194L168.382 174.179C168.412 174.179 168.442 174.171 168.472 174.165C168.872 174.107 169.264 174.001 169.639 173.849L169.798 173.782C169.887 173.743 169.977 173.702 170.059 173.658C170.235 173.57 170.406 173.47 170.57 173.361C170.799 173.211 171.015 173.043 171.217 172.858C171.265 172.815 171.312 172.769 171.358 172.725C171.381 172.703 171.403 172.682 171.425 172.658C171.469 172.613 171.514 172.569 171.558 172.52C171.878 172.168 172.155 171.78 172.383 171.363C174.34 167.804 176.391 164.298 178.534 160.849L178.828 160.378L179.125 159.907C179.273 159.668 179.423 159.433 179.572 159.199L179.722 158.965C180.22 158.185 180.726 157.41 181.241 156.641L181.546 156.185C182.158 155.278 182.768 154.396 183.373 153.558L183.674 153.143C184.332 152.236 185.017 151.348 185.728 150.482L186.01 150.144C186.057 150.088 186.1 150.032 186.151 149.978C186.244 149.868 186.337 149.761 186.428 149.657C186.474 149.604 186.517 149.552 186.566 149.5L186.834 149.198L186.968 149.051C187.103 148.906 187.235 148.767 187.365 148.634C187.455 148.544 187.538 148.455 187.624 148.371C188.131 147.853 188.69 147.388 189.293 146.985L189.433 146.895C189.567 146.805 189.706 146.721 189.848 146.645C192.212 145.303 194.169 145.204 195.296 146.331C195.978 147.013 196.356 148.144 196.335 149.718C196.335 149.787 196.335 149.857 196.33 149.929V150.006C196.33 150.078 196.324 150.15 196.318 150.223C196.318 150.313 196.308 150.402 196.299 150.492C196.29 150.581 196.285 150.649 196.276 150.729C196.276 150.751 196.272 150.774 196.268 150.798C196.262 150.867 196.253 150.938 196.243 151.009C196.243 151.03 196.243 151.052 196.235 151.074C196.224 151.169 196.21 151.263 196.194 151.357C196.183 151.447 196.168 151.531 196.152 151.619L196.126 151.768C196.1 151.91 196.067 152.05 196.026 152.188C195.948 152.447 195.854 152.7 195.743 152.946C195.588 153.284 195.417 153.613 195.229 153.933C195.125 154.111 195.018 154.286 194.907 154.459C194.793 154.638 194.673 154.819 194.549 155.002C194.233 155.454 193.905 155.897 193.564 156.33L193.408 156.527C192.852 157.22 192.278 157.899 191.686 158.562L191.499 158.772C191.247 159.053 190.991 159.336 190.729 159.62L190.532 159.834C190.401 159.977 190.264 160.12 190.132 160.264C190.001 160.407 189.864 160.552 189.726 160.697L189.315 161.13L188.898 161.566L188.478 162.002C188.196 162.294 187.913 162.586 187.628 162.878C183.573 167.037 179.301 171.182 177.855 173.766C177.758 173.934 177.671 174.108 177.593 174.285C177.387 174.755 177.301 175.157 177.36 175.482C177.379 175.589 177.416 175.691 177.471 175.785C177.552 175.926 177.651 176.056 177.766 176.172C177.819 176.224 177.875 176.272 177.934 176.316C178.232 176.528 178.591 176.637 178.957 176.627H179.071L179.188 176.618L179.305 176.605L179.402 176.591C179.415 176.589 179.429 176.587 179.442 176.583L179.531 176.566L179.554 176.561L179.653 176.54L179.688 176.531C179.723 176.522 179.757 176.513 179.792 176.503C179.827 176.493 179.875 176.48 179.917 176.466C180.093 176.413 180.265 176.35 180.434 176.278C180.523 176.242 180.61 176.203 180.696 176.161C180.741 176.141 180.786 176.12 180.828 176.098L180.962 176.032C181.282 175.866 181.594 175.685 181.898 175.491L182.031 175.401C182.076 175.373 182.121 175.344 182.164 175.312L182.297 175.223L182.368 175.174L182.56 175.039C182.739 174.916 182.906 174.789 183.075 174.66L183.09 174.648L183.359 174.44C183.726 174.15 184.074 173.858 184.39 173.583L184.6 173.399L184.619 173.381L184.729 173.284C184.987 173.052 185.217 172.836 185.408 172.658L185.487 172.581C185.556 172.516 185.619 172.455 185.676 172.403L185.788 172.292L185.828 172.253L185.839 172.242L185.956 172.125L186.03 172.048L186.039 172.041L186.074 172.009L186.118 171.969L186.132 171.956L186.169 171.922L186.373 171.743L186.487 171.641C186.548 171.588 186.607 171.534 186.666 171.479L186.802 171.358C186.827 171.338 186.851 171.316 186.876 171.294L187.019 171.169L187.229 170.984L187.341 170.887C187.776 170.509 188.305 170.052 188.913 169.537L189.162 169.326L189.573 168.981L189.994 168.63C190.544 168.173 191.136 167.688 191.762 167.185L192.173 166.855C192.523 166.576 192.882 166.292 193.246 166.006C193.393 165.891 193.542 165.776 193.694 165.662C194.066 165.373 194.44 165.086 194.817 164.803C195.675 164.155 196.56 163.506 197.456 162.874L197.84 162.606C198.109 162.421 198.377 162.235 198.645 162.054L198.888 161.89C199.367 161.565 199.853 161.248 200.343 160.939L200.586 160.786L200.827 160.636C201.069 160.486 201.309 160.339 201.548 160.196L201.787 160.053L202.265 159.775L202.734 159.506L202.829 159.454L203.2 159.25C203.355 159.166 203.509 159.085 203.663 159.006L203.892 158.888L204.115 158.776C204.193 158.739 204.27 158.7 204.346 158.663C204.848 158.415 205.36 158.187 205.88 157.979C206.021 157.919 206.161 157.865 206.3 157.818L206.71 157.674C206.833 157.633 206.953 157.594 207.068 157.559L207.108 157.547C207.17 157.527 207.232 157.509 207.293 157.493L207.311 157.488C207.439 157.451 207.566 157.419 207.691 157.389H207.7C208.054 157.304 208.414 157.243 208.777 157.206C208.944 157.189 209.111 157.18 209.279 157.181H209.363C209.475 157.181 209.583 157.188 209.69 157.199C209.739 157.199 209.788 157.209 209.836 157.215H209.856C209.904 157.221 209.952 157.228 210 157.239C210.047 157.248 210.095 157.256 210.141 157.267H210.156C210.203 157.277 210.245 157.289 210.294 157.303C210.548 157.374 210.79 157.484 211.012 157.628C211.121 157.699 211.223 157.779 211.317 157.868L211.344 157.894C211.362 157.91 211.379 157.927 211.395 157.944L211.444 157.997C211.846 158.418 212.178 158.901 212.428 159.427L212.466 159.517C212.551 159.717 212.618 159.924 212.666 160.135C212.808 160.781 212.753 161.455 212.508 162.07C212.415 162.318 212.302 162.557 212.169 162.785C211.858 163.309 211.489 163.796 211.07 164.237L210.981 164.332C210.848 164.472 210.71 164.612 210.565 164.752C210.501 164.815 210.434 164.877 210.367 164.94L210.162 165.129L210.055 165.224C209.797 165.454 209.532 165.677 209.263 165.893C209.1 166.025 208.936 166.154 208.77 166.281C208.184 166.729 207.587 167.161 206.979 167.578C206.612 167.83 206.242 168.077 205.869 168.321C204.95 168.924 204.021 169.512 203.083 170.084C201.115 171.294 198.934 172.588 196.609 173.995L196.007 174.36C195.348 174.762 194.726 175.146 194.14 175.512L193.845 175.697L193.287 176.055C192.917 176.292 192.548 176.531 192.179 176.77L191.882 176.966C191.737 177.06 191.593 177.156 191.449 177.252L191.308 177.342L190.876 177.633L190.647 177.79L190.379 177.976L190.13 178.149C189.713 178.444 189.325 178.725 188.968 178.992L188.834 179.094C188.624 179.253 188.416 179.415 188.211 179.58C187.902 179.829 187.62 180.067 187.367 180.296L187.243 180.409C187.172 180.474 187.102 180.539 187.035 180.603C186.989 180.648 186.946 180.693 186.898 180.736L186.834 180.8C186.691 180.944 186.551 181.091 186.416 181.242L186.35 181.318C186.203 181.488 186.075 181.651 185.963 181.81L185.913 181.881C185.825 182.009 185.744 182.141 185.671 182.277C185.652 182.311 185.635 182.345 185.618 182.379L185.569 182.481L185.536 182.555L185.515 182.605L185.498 182.65L185.475 182.711C185.413 182.88 185.37 183.056 185.345 183.234L185.337 183.296L185.331 183.354V183.669C185.331 183.695 185.331 183.721 185.338 183.749L185.343 183.797C185.343 183.823 185.349 183.848 185.353 183.876C185.357 183.902 185.364 183.949 185.372 183.986V183.991C185.379 184.026 185.386 184.06 185.395 184.095C185.404 184.13 185.413 184.17 185.424 184.206C185.443 184.277 185.467 184.347 185.492 184.417C185.508 184.459 185.523 184.5 185.54 184.541C185.54 184.549 185.546 184.558 185.55 184.566L185.586 184.647L185.636 184.758C185.69 184.873 185.749 184.985 185.813 185.094L185.879 185.208L185.947 185.322C185.959 185.341 185.973 185.359 185.988 185.376L186.01 185.399L186.035 185.422L186.061 185.442C186.099 185.469 186.14 185.49 186.183 185.505C186.206 185.513 186.23 185.519 186.254 185.525C186.831 185.655 188.017 185.178 189.593 184.346C189.682 184.298 189.78 184.248 189.875 184.196L190.355 183.934L190.589 183.804C190.756 183.715 190.926 183.614 191.1 183.515L191.417 183.336C193.5 182.137 195.988 180.597 198.56 179.093C198.801 178.952 199.043 178.811 199.285 178.672L199.771 178.361C200.335 178.038 200.902 177.719 201.471 177.404C202.188 177.01 202.91 176.626 203.639 176.254L204.115 176.013C204.431 175.857 204.744 175.705 205.053 175.557C205.651 175.273 206.256 175.003 206.868 174.748L207.203 174.612L207.243 174.596C209.018 173.893 210.627 173.459 211.929 173.459C212.21 173.456 212.492 173.48 212.769 173.528H212.778C212.867 173.544 212.948 173.562 213.031 173.582H213.046C213.259 173.636 213.466 173.713 213.662 173.812C213.937 173.954 214.184 174.143 214.393 174.371C214.489 174.477 214.574 174.592 214.649 174.714C214.789 174.929 214.899 175.162 214.978 175.406C215.01 175.501 215.038 175.594 215.067 175.693C215.278 176.45 215.257 177.253 215.007 177.998Z",fill:"#FF9D00"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M203.21 123.685V123.194C203.21 81.34 169.292 47.411 127.435 47.411C85.5791 47.411 51.648 81.342 51.648 123.194V123.358C51.646 123.467 51.645 123.576 51.648 123.685C51.6529 123.848 51.6546 124.011 51.653 124.174L51.6581 124.534L51.661 124.663C51.661 124.723 51.6631 124.782 51.6651 124.842C51.6681 124.937 51.67 125.033 51.67 125.128L51.681 125.517L51.697 125.974L51.702 126.124L51.722 126.597V126.62C51.73 126.805 51.7401 126.989 51.7491 127.173L51.75 127.187C51.76 127.375 51.7701 127.564 51.7821 127.753C51.7921 127.927 51.802 128.101 51.815 128.275L51.8171 128.306C51.8258 128.455 51.8358 128.605 51.847 128.754L51.85 128.794L51.883 129.226L51.8861 129.254C51.8921 129.338 51.898 129.422 51.906 129.503C51.9658 130.224 52.0355 130.945 52.1151 131.664L52.12 131.709L52.181 132.238L52.2491 132.793L52.299 133.17L52.322 133.347C52.3753 133.755 52.433 134.162 52.495 134.568L52.4991 134.595L52.558 134.979C52.8435 136.808 53.1971 138.626 53.618 140.429L53.6231 140.451L53.655 140.586L53.746 140.971L53.802 140.904C56.002 138.274 59.158 136.824 62.689 136.824C65.519 136.824 68.4221 137.76 71.3321 139.605C73.2621 140.831 75.3961 143.002 77.5921 145.733C79.6241 142.911 82.4721 141.035 85.7301 140.523C86.3513 140.425 86.9792 140.376 87.6081 140.375C95.0441 140.375 99.523 146.828 101.215 152.633C102.051 154.594 106.08 163.526 112.156 169.568C121.392 178.795 123.703 188.316 119.132 198.511H119.148C119.459 198.546 119.772 198.578 120.087 198.607C120.274 198.625 120.46 198.643 120.648 198.659L120.714 198.665L121.127 198.7L121.507 198.73C121.869 198.758 122.232 198.784 122.596 198.807L122.885 198.824L123.114 198.838L123.256 198.846L123.703 198.869L123.825 198.874L124.294 198.895L124.816 198.915L125.235 198.927L125.305 198.929C125.394 198.933 125.483 198.936 125.572 198.936L125.668 198.939C126.258 198.953 126.847 198.96 127.437 198.959H128.063L128.51 198.954C128.62 198.949 128.729 198.949 128.84 198.949H129.014L129.165 198.945C129.224 198.943 129.283 198.941 129.343 198.941H129.522L129.873 198.932L130.401 198.914L130.982 198.888C131.15 198.882 131.316 198.873 131.482 198.865L131.661 198.854L131.927 198.84L132.083 198.831L132.201 198.823L132.738 198.788L133.274 198.749L133.761 198.71L134.103 198.681L134.479 198.647C135.107 198.591 135.733 198.525 136.359 198.45L136.786 198.399C132.287 188.247 134.616 178.767 143.813 169.577C149.876 163.519 153.905 154.587 154.745 152.625C156.438 146.821 160.914 140.368 168.352 140.368C168.981 140.368 169.61 140.418 170.231 140.516C173.486 141.028 176.334 142.904 178.369 145.726C180.566 142.996 182.699 140.823 184.63 139.597C187.539 137.753 190.445 136.817 193.272 136.817C196.388 136.817 199.212 137.947 201.345 140.02C201.384 139.851 201.422 139.682 201.459 139.512L201.568 139.006C201.607 138.821 201.646 138.636 201.683 138.451C201.749 138.124 201.815 137.797 201.878 137.467C201.944 137.125 202.007 136.781 202.067 136.437L202.098 136.251C202.117 136.141 202.135 136.031 202.156 135.92C202.19 135.748 202.218 135.576 202.246 135.402L202.257 135.336L202.328 134.883L202.398 134.424V134.42C202.449 134.081 202.497 133.742 202.542 133.403L202.553 133.319L202.616 132.841L202.667 132.433L202.757 131.629L202.792 131.306L202.801 131.218C202.82 131.044 202.838 130.87 202.854 130.696V130.682C202.867 130.544 202.881 130.405 202.893 130.266C202.964 129.478 203.024 128.686 203.072 127.891C203.081 127.761 203.088 127.63 203.096 127.499V127.493L203.122 127.002L203.128 126.892C203.144 126.56 203.158 126.228 203.169 125.896V125.884L203.174 125.754C203.179 125.645 203.183 125.535 203.183 125.425L203.185 125.381C203.189 125.278 203.193 125.172 203.193 125.067L203.196 124.977C203.199 124.872 203.202 124.768 203.202 124.663L203.204 124.574C203.207 124.441 203.21 124.307 203.21 124.174V123.685ZM108.638 199.391C114.64 190.59 114.214 183.984 105.98 175.754C97.7441 167.523 92.951 155.487 92.951 155.487C92.951 155.487 91.1621 148.496 87.0821 149.138C83.0021 149.78 80.0091 160.227 88.5521 166.622C97.0941 173.017 86.8521 177.353 83.5641 171.352C80.2761 165.35 71.299 149.923 66.645 146.972C61.991 144.021 58.718 145.675 59.815 151.757C60.36 154.776 65.4281 159.929 70.1631 164.743C74.9671 169.627 79.428 174.163 78.474 175.768C76.581 178.955 69.9141 172.023 69.9141 172.023C69.9141 172.023 49.038 153.025 44.494 157.976C40.304 162.539 46.765 166.418 56.7211 172.397C57.5671 172.905 58.4391 173.429 59.3321 173.969C70.7231 180.865 71.609 182.684 69.992 185.293C69.395 186.257 65.582 183.968 60.892 181.153C52.897 176.352 42.3551 170.023 40.8661 175.688C39.5781 180.591 47.334 183.595 54.368 186.32C60.228 188.59 65.5881 190.666 64.7991 193.484C63.9821 196.406 59.5531 193.969 54.7121 191.305C49.2771 188.314 43.3221 185.038 41.3731 188.735C37.6901 195.725 66.7831 203.954 67.0231 204.015C76.4231 206.453 100.295 211.619 108.638 199.391ZM147.303 199.391C141.301 190.59 141.727 183.984 149.962 175.754C158.197 167.523 162.99 155.487 162.99 155.487C162.99 155.487 164.779 148.496 168.859 149.138C172.939 149.78 175.932 160.227 167.39 166.622C158.847 173.017 169.089 177.353 172.377 171.352C175.666 165.35 184.637 149.923 189.291 146.972C193.945 144.021 197.22 145.675 196.122 151.757C195.578 154.776 190.509 159.929 185.774 164.744C180.97 169.628 176.509 174.163 177.462 175.768C179.355 178.955 186.027 172.019 186.027 172.019C186.027 172.019 206.902 153.022 211.448 157.973C215.637 162.535 209.176 166.415 199.219 172.394C198.348 172.917 197.478 173.441 196.609 173.966C185.218 180.862 184.332 182.681 185.948 185.289C186.546 186.254 190.359 183.964 195.048 181.149C203.044 176.349 213.586 170.019 215.075 175.685C216.364 180.588 208.607 183.592 201.573 186.317C195.713 188.587 190.353 190.663 191.141 193.481C191.957 196.402 196.385 193.965 201.225 191.301C206.66 188.31 212.616 185.032 214.564 188.732C218.248 195.726 189.15 203.947 188.915 204.007C179.515 206.453 155.643 211.619 147.303 199.391Z",fill:"#FFD21E"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M152.047 102.567C153.229 102.985 154.108 104.257 154.944 105.468C156.074 107.104 157.126 108.627 158.74 107.769C160.644 106.756 162.205 105.202 163.225 103.302C164.246 101.402 164.681 99.2427 164.475 97.096C164.321 95.4908 163.813 93.9398 162.987 92.5548C162.161 91.1697 161.038 89.985 159.7 89.0862C158.361 88.1874 156.839 87.5968 155.245 87.3569C153.65 87.117 152.022 87.2339 150.478 87.699C148.934 88.1639 147.513 88.9653 146.316 90.0455C145.119 91.1257 144.176 92.4578 143.556 93.946C142.936 95.4342 142.653 97.0415 142.728 98.652C142.804 100.263 143.235 101.836 143.992 103.26C144.74 104.667 146.4 104.003 148.152 103.302C149.525 102.753 150.956 102.181 152.047 102.567ZM100.672 102.567C99.49 102.985 98.611 104.258 97.775 105.468C96.645 107.105 95.592 108.627 93.979 107.769C91.5845 106.501 89.7482 104.386 88.8278 101.838C87.9075 99.2895 87.9692 96.4896 89.0008 93.9841C90.0324 91.4786 91.9601 89.4471 94.408 88.2855C96.856 87.1239 99.6488 86.9156 102.242 87.701C104.307 88.3228 106.141 89.5427 107.513 91.2065C108.885 92.8704 109.732 94.9035 109.949 97.049C110.165 99.1945 109.74 101.356 108.728 103.26C107.979 104.667 106.319 104.003 104.567 103.303C103.193 102.753 101.764 102.181 100.672 102.567ZM144.099 149.318C152.242 142.903 155.233 132.429 155.233 125.977C155.233 120.877 151.802 122.482 146.309 125.202L145.999 125.355C140.957 127.852 134.245 131.177 126.877 131.177C119.508 131.177 112.796 127.852 107.755 125.354C102.084 122.545 98.527 120.783 98.527 125.978C98.527 132.634 101.709 143.563 110.443 149.912C111.596 147.573 113.219 145.497 115.211 143.813C117.202 142.129 119.52 140.874 122.018 140.126C122.89 139.866 123.788 141.367 124.707 142.904C125.594 144.386 126.501 145.902 127.423 145.902C128.406 145.902 129.371 144.408 130.314 142.95C131.299 141.425 132.26 139.94 133.189 140.237C137.864 141.738 141.775 144.993 144.099 149.318Z",fill:"#32343D"}),w.jsx("path",{d:"M144.097 149.317C139.856 152.659 134.219 154.9 126.878 154.9C119.981 154.9 114.587 152.922 110.443 149.911C111.596 147.572 113.219 145.495 115.211 143.812C117.202 142.128 119.52 140.873 122.018 140.125C123.73 139.614 125.545 145.901 127.423 145.901C129.433 145.901 131.37 139.655 133.189 140.236C137.863 141.738 141.773 144.993 144.097 149.317Z",fill:"#FF323D"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M81.2 111.64C80.2312 112.288 79.1173 112.687 77.9572 112.801C76.7971 112.916 75.6267 112.742 74.55 112.295C73.6893 111.94 72.9072 111.418 72.2488 110.759C71.5903 110.101 71.0684 109.319 70.713 108.458C70.267 107.381 70.0935 106.211 70.2082 105.051C70.3228 103.891 70.7219 102.777 71.37 101.808C72.1488 100.642 73.2558 99.7333 74.5512 99.1967C75.8466 98.6601 77.272 98.5197 78.6471 98.7935C80.0223 99.0672 81.2853 99.7427 82.2764 100.734C83.2675 101.726 83.9422 102.99 84.215 104.365C84.4883 105.74 84.3477 107.165 83.8113 108.46C83.2748 109.755 82.3654 110.861 81.2 111.64ZM182.613 111.64C181.644 112.288 180.53 112.687 179.37 112.801C178.209 112.916 177.039 112.742 175.962 112.295C175.101 111.939 174.319 111.418 173.661 110.759C173.003 110.101 172.481 109.319 172.125 108.458C171.68 107.381 171.507 106.211 171.621 105.051C171.736 103.891 172.135 102.777 172.782 101.808C173.364 100.936 174.133 100.205 175.032 99.6658C175.931 99.1269 176.938 98.7942 177.981 98.6917C179.025 98.5891 180.078 98.7193 181.064 99.0728C182.051 99.4264 182.947 99.9944 183.688 100.736C184.68 101.727 185.355 102.99 185.628 104.365C185.902 105.74 185.761 107.165 185.224 108.46C184.687 109.755 183.779 110.861 182.613 111.64Z",fill:"#FFAD03"})]})}const Rc="rovingFocusGroup.onEntryFocus",jx={bubbles:!1,cancelable:!0},S1="RovingFocusGroup",[af,e8,Ix]=s1(S1),[Ax,t8]=ko(S1,[Ix]),[Fx,zx]=Ax(S1),Ux=c.forwardRef((e,t)=>c.createElement(af.Provider,{scope:e.__scopeRovingFocusGroup},c.createElement(af.Slot,{scope:e.__scopeRovingFocusGroup},c.createElement(Bx,q({},e,{ref:t}))))),Bx=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:u,...d}=e,f=c.useRef(null),p=mt(t,f),m=a1(i),[x=null,g]=Eu({prop:a,defaultProp:s,onChange:l}),[C,h]=c.useState(!1),v=kt(u),y=e8(n),E=c.useRef(!1),[k,b]=c.useState(0);return c.useEffect(()=>{const R=f.current;if(R)return R.addEventListener(Rc,v),()=>R.removeEventListener(Rc,v)},[v]),c.createElement(Fx,{scope:n,orientation:r,dir:m,loop:o,currentTabStopId:x,onItemFocus:c.useCallback(R=>g(R),[g]),onItemShiftTab:c.useCallback(()=>h(!0),[]),onFocusableItemAdd:c.useCallback(()=>b(R=>R+1),[]),onFocusableItemRemove:c.useCallback(()=>b(R=>R-1),[])},c.createElement(De.div,q({tabIndex:C||k===0?-1:0,"data-orientation":r},d,{ref:p,style:{outline:"none",...e.style},onMouseDown:Ce(e.onMouseDown,()=>{E.current=!0}),onFocus:Ce(e.onFocus,R=>{const $=!E.current;if(R.target===R.currentTarget&&$&&!C){const T=new CustomEvent(Rc,jx);if(R.currentTarget.dispatchEvent(T),!T.defaultPrevented){const j=y().filter(te=>te.focusable),H=j.find(te=>te.active),W=j.find(te=>te.id===x),Y=[H,W,...j].filter(Boolean).map(te=>te.ref.current);n8(Y)}}E.current=!1}),onBlur:Ce(e.onBlur,()=>h(!1))})))}),Vx="RovingFocusGroupItem",Wx=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,...a}=e,s=ti(),l=i||s,u=zx(Vx,n),d=u.currentTabStopId===l,f=e8(n),{onFocusableItemAdd:p,onFocusableItemRemove:m}=u;return c.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),c.createElement(af.ItemSlot,{scope:n,id:l,focusable:r,active:o},c.createElement(De.span,q({tabIndex:d?0:-1,"data-orientation":u.orientation},a,{ref:t,onMouseDown:Ce(e.onMouseDown,x=>{r?u.onItemFocus(l):x.preventDefault()}),onFocus:Ce(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Ce(e.onKeyDown,x=>{if(x.key==="Tab"&&x.shiftKey){u.onItemShiftTab();return}if(x.target!==x.currentTarget)return;const g=Qx(x,u.orientation,u.dir);if(g!==void 0){x.preventDefault();let h=f().filter(v=>v.focusable).map(v=>v.ref.current);if(g==="last")h.reverse();else if(g==="prev"||g==="next"){g==="prev"&&h.reverse();const v=h.indexOf(x.currentTarget);h=u.loop?Gx(h,v+1):h.slice(v+1)}setTimeout(()=>n8(h))}})})))}),Hx={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Kx(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Qx(e,t,n){const r=Kx(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return Hx[r]}function n8(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Gx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const Yx=Ux,qx=Wx;function Xx(e){const[t,n]=c.useState(void 0);return bo(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let a,s;if("borderBoxSize"in i){const l=i.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,s=u.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const r8="Radio",[Zx,o8]=ko(r8),[Jx,eb]=Zx(r8),tb=c.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:i,disabled:a,value:s="on",onCheck:l,...u}=e,[d,f]=c.useState(null),p=mt(t,g=>f(g)),m=c.useRef(!1),x=d?!!d.closest("form"):!0;return c.createElement(Jx,{scope:n,checked:o,disabled:a},c.createElement(De.button,q({type:"button",role:"radio","aria-checked":o,"data-state":i8(o),"data-disabled":a?"":void 0,disabled:a,value:s},u,{ref:p,onClick:Ce(e.onClick,g=>{o||l==null||l(),x&&(m.current=g.isPropagationStopped(),m.current||g.stopPropagation())})})),x&&c.createElement(ob,{control:d,bubbles:!m.current,name:r,value:s,checked:o,required:i,disabled:a,style:{transform:"translateX(-100%)"}}))}),nb="RadioIndicator",rb=c.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...o}=e,i=eb(nb,n);return c.createElement(er,{present:r||i.checked},c.createElement(De.span,q({"data-state":i8(i.checked),"data-disabled":i.disabled?"":void 0},o,{ref:t})))}),ob=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,i=c.useRef(null),a=q2(n),s=Xx(t);return c.useEffect(()=>{const l=i.current,u=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(u,"checked").set;if(a!==n&&f){const p=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(p)}},[a,n,r]),c.createElement("input",q({type:"radio","aria-hidden":!0,defaultChecked:n},o,{tabIndex:-1,ref:i,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function i8(e){return e?"checked":"unchecked"}const ib=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],a8="RadioGroup",[ab,qb]=ko(a8,[t8,o8]),s8=t8(),l8=o8(),[sb,lb]=ab(a8),ub=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:i,required:a=!1,disabled:s=!1,orientation:l,dir:u,loop:d=!0,onValueChange:f,...p}=e,m=s8(n),x=a1(u),[g,C]=Eu({prop:i,defaultProp:o,onChange:f});return c.createElement(sb,{scope:n,name:r,required:a,disabled:s,value:g,onValueChange:C},c.createElement(Yx,q({asChild:!0},m,{orientation:l,dir:x,loop:d}),c.createElement(De.div,q({role:"radiogroup","aria-required":a,"aria-orientation":l,"data-disabled":s?"":void 0,dir:x},p,{ref:t}))))}),cb="RadioGroupItem",db=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...o}=e,i=lb(cb,n),a=i.disabled||r,s=s8(n),l=l8(n),u=c.useRef(null),d=mt(t,u),f=i.value===o.value,p=c.useRef(!1);return c.useEffect(()=>{const m=g=>{ib.includes(g.key)&&(p.current=!0)},x=()=>p.current=!1;return document.addEventListener("keydown",m),document.addEventListener("keyup",x),()=>{document.removeEventListener("keydown",m),document.removeEventListener("keyup",x)}},[]),c.createElement(qx,q({asChild:!0},s,{focusable:!a,active:f}),c.createElement(tb,q({disabled:a,required:i.required,checked:f},l,o,{name:i.name,ref:d,onCheck:()=>i.onValueChange(o.value),onKeyDown:Ce(m=>{m.key==="Enter"&&m.preventDefault()}),onFocus:Ce(o.onFocus,()=>{var m;p.current&&((m=u.current)===null||m===void 0||m.click())})})))}),fb=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,o=l8(n);return c.createElement(rb,q({},o,r,{ref:t}))}),u8=ub,c8=db,pb=fb,d8=c.forwardRef(({className:e,...t},n)=>w.jsx(u8,{className:me("grid gap-2",e),...t,ref:n}));d8.displayName=u8.displayName;const sf=c.forwardRef(({className:e,...t},n)=>w.jsx(c8,{ref:n,className:me("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:w.jsx(pb,{className:"flex items-center justify-center",children:w.jsx(e3,{className:"h-2.5 w-2.5 fill-current text-current"})})}));sf.displayName=c8.displayName;function hb({missingModel:e,resolveMutationToUse:t,unResolveMutationToUse:n}){const[r,o]=c.useState(!1),[i,a]=c.useState(!0),[s,l]=c.useState(""),[u,d]=c.useState(""),[f,p]=c.useState("hf"),[m,x]=c.useState(!1),g=()=>f==="hf"?"https://huggingface.co/h94/IP-Adapter-FaceID/blob/main/ip-adapter-faceid_sd15_lora.safetensors":f==="civit"?"https://civitai.com/models/4201/realistic-vision-v60-b1?modelVersionId=130072":"custom.com";return i?w.jsxs("div",{className:"w-full flex flex-row items-center justify-between",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(Z7,{className:"w-4 h-4 text-green-400"}),w.jsx("h3",{className:"text-white font-bold",children:s}),w.jsx("h3",{className:"text-[#999] font-bold line-through ml-2",children:e.filename})]}),w.jsx(lt,{size:"sm",onClick:async C=>{C.preventDefault(),o(!0);try{const h=await n.mutateAsync({filename:e.filename});console.log("mutation:",h),a(!1),l("")}catch{$n.error("something went wrong when attempting to edit your model. please try again.")}finally{o(!1)}},children:"Edit"})]}):w.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[w.jsx("div",{className:"w-full flex flex-row items-center justify-between",children:w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[r?w.jsx(Wa,{className:" text-orange-500 animate-spin w-4 h-4"}):w.jsx(X7,{className:"w-4 h-4 text-red-500"}),w.jsx("h3",{className:"text-white font-bold",children:e.filename}),w.jsxs(t0,{className:"flex flex-row items-center gap-2",children:[w.jsx(o3,{className:"w-4 h-4"}),e.node_type]})]})}),w.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[w.jsxs("div",{className:"w-full flex flex-col items-start gap-",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(i3,{className:"w-4 h-4 text-green-400"}),w.jsx("p",{className:"text-white font-semibold",children:"Replace with"})]}),e.suggestions.map(C=>w.jsxs("div",{className:"w-full flex flex-row items-center justify-between my-1",children:[w.jsxs("div",{className:"flex flex-row items-center space-x-2",children:[C.source==="civitai"?w.jsx("img",{alt:`civitai logo for model ${C.filename}`,src:"/civitai-logo-github.png",className:"ph-no-capture w-5 h-5"}):w.jsx(Mx,{className:"w-5 h-5"}),w.jsx("p",{className:"text-white",children:C.filename}),C.filepath&&w.jsxs(t0,{className:"flex flex-row items-center gap-2",children:[w.jsx(n3,{className:"w-4 h-4"}),C.filepath]})]}),w.jsx("div",{className:"flex flex-row items-center gap-2",children:w.jsx(lt,{size:"sm",className:"",onClick:async h=>{h.preventDefault(),o(!0);try{const v=await t.mutateAsync({filename:e.filename,node_type:e.node_type,source:{type:C.civitai_file_id?"civitai":"hf",file_id:C.hf_file_id||C.civitai_file_id,url:null}});console.log("mutation:",v),l(C.filename),a(!0)}catch{$n.error("there was an error when selecting the suggestion, please try again!")}finally{o(!1)}},children:"Use this model"})})]},C.hf_file_id||C.civitai_file_id))]}),w.jsxs("div",{className:"w-full flex flex-col items-start gap-2",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(r3,{className:"w-4 h-4 text-green-400"}),w.jsx("p",{className:"text-white font-semibold",children:"Or import from URL"})]}),w.jsx("div",{className:"flex flex-row items-center space-x-4",children:w.jsxs(d8,{className:"flex flex-row",defaultValue:"hf",onValueChange:C=>{(C==="hf"||C==="civit")&&p(C)},children:[w.jsxs("div",{className:"flex items-center space-x-2",children:[w.jsx(sf,{className:"text-white border-white",value:"hf",id:"r1"}),w.jsx(Ni,{className:"text-white",htmlFor:"r1",children:"Hugging Face"})]}),w.jsxs("div",{className:"flex items-center space-x-2",children:[w.jsx(sf,{className:"text-white border-white",value:"civit",id:"r2"}),w.jsx(Ni,{className:"text-white",htmlFor:"r2",children:"Civit AI"})]})]})}),w.jsxs("div",{className:"w-full flex flex-row space-x-2 items-center",children:[w.jsx(ys,{className:"border-[#222] bg-[#000] text-white",placeholder:g(),value:u,onChange:C=>{C.preventDefault(),d(C.target.value)}}),w.jsx(lt,{onClick:async C=>{C.preventDefault(),o(!0),x(!0);try{const h=await t.mutateAsync({filename:e.filename,node_type:e.node_type,source:{type:u.startsWith("https://huggingface.co/")?"hf":"civitai",file_id:null,url:u}});console.log("mutation:",h),l(u),a(!0)}catch{$n.error("there was an error importing the url, please try again!")}finally{o(!1),x(!1)}},children:m?w.jsx(Wa,{className:"w-4 h-4 animate-spin text-white"}):"Import"})]})]})]}),w.jsx(Jg,{className:"bg-[#444]"})]})}const mb={flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out"},vb={borderColor:"#2196f3"},gb={borderColor:"#00e676"},yb={borderColor:"#ff1744"};function wb(){const[e,t]=D.useState(!0),[n,r]=D.useState(),o=vs(),i=W2();D.useEffect(()=>{t(!1)},[]);const[a,s]=D.useState(""),[l,u]=D.useState(!1),[d,f]=D.useState(!1),[p,m]=D.useState([]),[x,g]=D.useState([]),[C,h]=c.useState(!1),[v,y]=c.useState(!1),[E,k]=c.useState(!1),[b,R]=c.useState(!1),$=jr({mutationFn:async({import_json:N,name:U,partiallyResolved:A})=>{var tt;console.log("importProjectMutation. entered function!");const B=JSON.parse(N),ie=new Set,Z=x.filter(bt=>ie.has(bt.filename)?!1:(ie.add(bt.filename),!0));console.log("importProjectMutation final_import_json:",B),console.log("importProjectMutation uniqueResolvedMissingModels:",Z),console.log("importProjectMutation skippedMissingModels:",v),console.log("importProjectMutation name:",U);const de=!!A;console.log("importProjectMutation partiallyResolvedBool:",de);const xe=await(await fetch("/api/import_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({import_json:B,resolved_missing_models:Z,skipping_model_validation:v||de,name:U})})).json();return!xe.success&&((tt=xe.missing_models)==null?void 0:tt.length)>0?(console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${xe.success}. data.missing_models: ${xe.missing_models}`),m(xe.missing_models)):!xe.success&&xe.error?$n.error(xe.error):i("/"),xe},onSuccess:async()=>{await o.invalidateQueries({queryKey:["projects"]})}}),T=jr({mutationFn:async({filename:N,node_type:U,source:A})=>{if(!N||!U||!A){$n.error("something went wrong when resolving your model. please try again.");return}try{g([...x,{filename:N,node_type:U,source:A}])}catch{$n.error("something went wrong when resolving your model. please try again.");return}$n.success("successfully resolved")}}),j=jr({mutationFn:async({filename:N})=>{if(!N){$n.error("something went wrong when attempting to edit your model. please try again.");return}try{g(x.filter(U=>U.filename!==N))}catch{$n.error("something went wrong when attempting to edit your model. please try again.");return}$n.success("successfully resolved")}});c.useEffect(()=>{p.length>0&&x.length>0&&p.length===x.length?(console.log("RESOLVED all missing models"),k(!0)):(console.log("HAVE NOT RESOLVED all missing models"),k(!1))},[p,x]),c.useEffect(()=>{f($.isPending)},[$.isPending]);const H=c.useCallback(N=>{if(N.length===0){r(void 0);return}N.slice(0,1).forEach(U=>{const A=new FileReader;A.onabort=()=>console.log("file reading was aborted"),A.onerror=()=>console.log("file reading has failed"),A.onload=()=>{const B=A.result;if(!B){r(void 0);return}if(typeof B=="string")r(B);else{const Z=new Uint8Array(B),de=[];for(var ie=0;ie({...mb,...te?vb:{},...ye?gb:{},...ae?yb:{}}),[te,ye,ae]);if(!e)return w.jsxs(w.Fragment,{children:[w.jsx(ro,{onOpenChange:N=>u(N),open:l,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsx(kr,{children:w.jsx(Mn,{children:"Import project"})}),w.jsx("div",{className:"grid gap-4 py-4",children:w.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[w.jsx(Ni,{htmlFor:"name",className:"text-right",children:"Name"}),w.jsx(ys,{id:"name",placeholder:"",className:"col-span-3",value:a,onChange:N=>s(N.target.value)})]})}),w.jsx(ba,{children:w.jsx(lt,{type:"submit",onClick:N=>{N.preventDefault(),n&&($.mutate({import_json:n,name:a}),u(!1))},children:"Import"})})]})}),w.jsx(ro,{onOpenChange:N=>f(N),open:d,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsxs(kr,{children:[w.jsx(Mn,{children:"Importing project..."}),w.jsx(gl,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Wa,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsx(ro,{onOpenChange:N=>h(N),open:C,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsxs(kr,{children:[w.jsx(Mn,{children:"Are you sure you want to skip fixing unresolved models?"}),w.jsx(gl,{children:"You will probably face errors when running the workflow and might have to upload replacement models to run the workflow."})]}),w.jsxs(ba,{children:[w.jsx(lt,{onClick:N=>{N.preventDefault(),h(!1)},children:"Cancel"}),w.jsx(lt,{onClick:N=>{N.preventDefault(),y(!0),h(!1)},children:"Yes, skip"})]})]})}),w.jsx(ro,{onOpenChange:N=>R(N),open:b,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsxs(kr,{children:[w.jsx(Mn,{children:"You've only partially resolved the missing models, are you sure you want to continue?"}),w.jsx(gl,{children:"You will probably face errors when running the workflow in ComfyUI and might have to upload replacement models to run the workflow."})]}),w.jsxs(ba,{children:[w.jsx(lt,{onClick:N=>{N.preventDefault(),R(!1)},children:"Cancel"}),w.jsx(lt,{onClick:N=>{N.preventDefault(),n&&$.mutate({import_json:n,name:a,partiallyResolved:!0})},children:"Yes, import"})]})]})}),w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-3xl font-semibold",children:"Import workflow"}),w.jsxs("p",{className:"mt-5 font-medium text-gray-700",children:["Drag & drop a ",w.jsx("b",{children:"ComfyUI workflow json file"})," or ",w.jsx("b",{children:"ComfyUI Launcher json file"})," to run it with ",w.jsx("b",{children:"ZERO setup"}),"."]})]}),w.jsxs("div",{className:"flex flex-col mt-10",children:[w.jsxs("div",{className:"cursor-pointer",...le({style:O}),children:[w.jsx("input",{...Y()}),w.jsx("p",{children:"Drag & drop your json file here"})]}),w.jsx("aside",{className:"mt-4",children:w.jsx("ul",{children:W.slice(0,1).map(N=>w.jsxs("li",{className:"font-medium text-sm",children:[N.name," - ",N.size," bytes"]},N.name))})})]}),p.length>0&&!v&&w.jsxs(Bg,{className:"bg-[#0a0a0a] backdrop-blur-xl border-2 border-[#444] w-full",children:[w.jsxs(Vg,{children:[w.jsx(Wg,{className:"text-white",children:E?"All unrecognized models have been resolved.":"These models were not recognized"}),w.jsx(Hg,{children:E?"Please try importing again.":"We could not find the folloiwng models from the workflow you tried to import. Replace missing models with the models that are available to avoid getting errors."})]}),w.jsx(Kg,{className:"flex flex-col gap-6",children:p.map(N=>w.jsx(hb,{missingModel:N,resolveMutationToUse:T,unResolveMutationToUse:j}))}),!E&&w.jsx(Qg,{children:w.jsx(lt,{onClick:N=>{N.preventDefault(),h(!0)},children:"Skip"})})]}),w.jsx("div",{className:"mt-5",children:w.jsx(lt,{variant:"default",disabled:!n||p.length>0&&x.length===0&&!v,onClick:N=>{N.preventDefault(),n&&(p.length>0&&!E?R(!0):u(!0))},children:"Import"})})]})]})}function Cb(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(Ru,{})}),w.jsx(wb,{})]})}function xb({item:{id:e,title:t,description:n,thumbnail:r,isThumbnailVideo:o,credits:i}}){const a=vs(),s=W2(),l=jr({mutationFn:async({template_id:g,name:C})=>await(await fetch("/api/create_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template_id:g,name:C})})).json(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),s("/")}}),[u,d]=D.useState(""),[f,p]=D.useState(!1),[m,x]=D.useState(!1);return c.useEffect(()=>{x(l.isPending)},[l.isPending]),w.jsxs(w.Fragment,{children:[w.jsx(ro,{onOpenChange:g=>p(g),open:f,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsx(kr,{children:w.jsx(Mn,{children:"Create project"})}),w.jsx("div",{className:"grid gap-4 py-4",children:w.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[w.jsx(Ni,{htmlFor:"name",className:"text-right",children:"Name"}),w.jsx(ys,{id:"name",placeholder:"",className:"col-span-3",value:u,onChange:g=>d(g.target.value)})]})}),w.jsx(ba,{children:w.jsx(lt,{type:"submit",onClick:g=>{g.preventDefault(),l.mutate({template_id:e,name:u}),p(!1)},children:"Create"})})]})}),w.jsx(ro,{onOpenChange:g=>x(g),open:m,children:w.jsxs(Rr,{className:"sm:max-w-[425px]",children:[w.jsxs(kr,{children:[w.jsx(Mn,{children:"Creating project..."}),w.jsx(g1,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Wa,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsxs("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:[w.jsxs("div",{className:"flex flex-row justify-between space-x-5",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-lg font-semibold",children:t}),w.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:n})]}),w.jsx("div",{className:"flex flex-col",children:w.jsx(lt,{onClick:g=>{g.preventDefault(),p(!0)},variant:"default",children:"Create"})})]}),r&&!o&&w.jsx("img",{src:r,className:"mt-4 w-full rounded-md"}),r&&o&&w.jsx("video",{muted:!0,loop:!0,autoPlay:!0,src:r,className:"mt-4 w-full rounded-md"}),i&&w.jsx("a",{href:i,target:"_blank",children:w.jsxs("div",{className:"mt-5 text-xs font-medium text-gray-500 flex items-center",children:["Credits ",w.jsx(t3,{className:"ml-1 w-3 h-3"})]})})]})]})}const bb="/assets/thumbnail-C9PpGAWR.webp",Eb="/assets/thumbnail-D5odPwq0.webp",Sb="/assets/thumbnail-eWYeQc2f.webp",Rb="/assets/thumbnail-B-W0ErKu.webp",kb="/assets/thumbnail-CLQIOTWC.mp4",Pb="/assets/thumbnail-DvLaklfj.webp",$b=[{id:"empty",title:"Empty",description:"Blank new ComfyUI project",thumbnail:""},{id:"animate_diff",title:"AnimateDiff",description:"Create animations from a prompt",thumbnail:bb,credits:"https://comfyworkflows.com/workflows/cc4b1b3f-735a-4e22-b241-148606544301"},{id:"svd",title:"Stable Video Diffusion",description:"Create videos from a prompt",thumbnail:Eb,credits:"https://comfyworkflows.com/workflows/ae9275b2-c303-48fb-a539-13451dd93808"},{id:"upscale",title:"Upscaling",description:"Upscale images with high quality",thumbnail:Sb,credits:"https://comfyworkflows.com/workflows/810e1c6e-12ad-4487-8dc3-d54fadf8319f"},{id:"img2img",title:"Image to Image (img2img)",description:"Stylize any input image (e.g. cartoon)",thumbnail:Rb,credits:"https://comfyworkflows.com/workflows/e20d73bf-116a-49e1-a869-b7f47b0056e8"},{id:"vid2vid",title:"Video to Video (vid2vid)",description:"Stylize any input video (e.g. anime style)",thumbnail:kb,isThumbnailVideo:!0,credits:"https://comfyworkflows.com/workflows/84e00774-4a21-4555-b4dd-063eec3e604a"},{id:"img2vid",title:"Image to Video (img2vid)",description:"Create videos from an input image using Stable Video Diffusion",thumbnail:Pb,credits:"https://comfyworkflows.com/workflows/14e821f5-8111-4178-8d6e-c43ab02d8376"}];function Lb(){return w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsx("div",{children:w.jsx("h1",{className:"text-3xl font-semibold",children:"New workflow"})}),w.jsx("div",{className:"flex flex-col mt-10",children:w.jsx("div",{children:w.jsx(Hv,{itemKey:e=>e.id,columnGutter:20,columnWidth:350,items:$b,render:e=>w.jsx(xb,{item:e.data})})})})]})}function Tb(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(Ru,{})}),w.jsx(Lb,{})]})}const Nb=1,_b=1e6;let kc=0;function Db(){return kc=(kc+1)%Number.MAX_SAFE_INTEGER,kc.toString()}const Pc=new Map,n0=e=>{if(Pc.has(e))return;const t=setTimeout(()=>{Pc.delete(e),Ea({type:"REMOVE_TOAST",toastId:e})},_b);Pc.set(e,t)},Ob=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,Nb)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?n0(n):e.toasts.forEach(r=>{n0(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},yl=[];let wl={toasts:[]};function Ea(e){wl=Ob(wl,e),yl.forEach(t=>{t(wl)})}function Mb({...e}){const t=Db(),n=o=>Ea({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>Ea({type:"DISMISS_TOAST",toastId:t});return Ea({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function jb(){const[e,t]=c.useState(wl);return c.useEffect(()=>(yl.push(t),()=>{const n=yl.indexOf(t);n>-1&&yl.splice(n,1)}),[e]),{...e,toast:Mb,dismiss:n=>Ea({type:"DISMISS_TOAST",toastId:n})}}function Ib(){const[e,t]=D.useState(),n=_v({queryKey:["settings"],queryFn:async()=>await(await fetch("/api/get_config")).json(),enabled:!e});c.useEffect(()=>{n.data&&t(n.data.credentials.civitai.apikey)},[n.data]);const{toast:r}=jb(),o=jr({mutationFn:async({civitai_api_key:i})=>await(await fetch("/api/update_config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({credentials:{civitai:{apikey:i}}})})).json(),onSuccess:async()=>{r({title:"Saved your settings!"})}});return n.isLoading?w.jsx("div",{children:"Loading..."}):w.jsx(w.Fragment,{children:w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsxs("div",{className:"flex flex-col space-y-2",children:[w.jsx(Ni,{htmlFor:"name",className:"text-left",children:"CivitAI API Key"}),w.jsx(ys,{id:"name",placeholder:"Your CivitAI API key",className:"w-fit",value:e,required:!0,onChange:i=>t(i.target.value)}),w.jsxs("p",{className:"text-xs font-medium text-gray-600",children:["You can get your CivitAI API key from your ",w.jsx("a",{href:"https://civitai.com/user/account",target:"_blank",rel:"noreferrer",children:"CivitAI account settings page"}),".",w.jsx("br",{}),'Scroll to the bottom of the page to the section titled "API Keys", and create one.',w.jsx("br",{}),w.jsx("br",{}),"This key is saved locally and ONLY used to download missing models directly from CivitAI. It is NEVER sent anywhere else."]})]}),w.jsx("div",{children:w.jsx(lt,{onClick:i=>{i.preventDefault(),o.mutate({civitai_api_key:e||""})},variant:"default",className:"mt-5",children:o.isPending?"Saving...":"Save"})})]})})}function Ab(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(Ru,{})}),w.jsx(Ib,{})]})}const Fb=c.createContext(void 0),zb={setTheme:e=>{},themes:[]},Ub=()=>{var e;return(e=c.useContext(Fb))!==null&&e!==void 0?e:zb},Bb=({...e})=>{const{theme:t="system"}=Ub();return w.jsx(Nx,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},Vb=new o9,Wb=H4([{path:"/",element:w.jsx(cC,{})},{path:"/import",element:w.jsx(Cb,{})},{path:"/new",element:w.jsx(Tb,{})},{path:"/settings",element:w.jsx(Ab,{})}]);$c.createRoot(document.getElementById("root")).render(w.jsx(D.StrictMode,{children:w.jsxs(u9,{client:Vb,children:[w.jsx(e7,{router:Wb}),w.jsx(Bb,{})]})})); diff --git a/web/dist/assets/index-D8vB1DcH.css b/web/dist/assets/index-D8vB1DcH.css new file mode 100644 index 0000000..368687c --- /dev/null +++ b/web/dist/assets/index-D8vB1DcH.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-3{grid-column:span 3 / span 3}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[1px\]{width:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[\#222\]{--tw-border-opacity: 1;border-color:rgb(34 34 34 / var(--tw-border-opacity))}.border-\[\#444\]{--tw-border-opacity: 1;border-color:rgb(68 68 68 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-destructive{border-color:hsl(var(--destructive))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.bg-\[\#000\]{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-\[\#444\]{--tw-bg-opacity: 1;background-color:rgb(68 68 68 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-\[425px\]{max-width:425px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}} diff --git a/web/dist/assets/index-G1-uJQm9.js b/web/dist/assets/index-G1-uJQm9.js deleted file mode 100644 index 9baacdb..0000000 --- a/web/dist/assets/index-G1-uJQm9.js +++ /dev/null @@ -1,177 +0,0 @@ -var Mu=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var C=(e,t,n)=>(Mu(e,t,"read from private field"),n?n.call(e):t.get(e)),Q=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},B=(e,t,n,r)=>(Mu(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var ws=(e,t,n,r)=>({set _(o){B(e,t,o,n)},get _(){return C(e,t,r)}}),ae=(e,t,n)=>(Mu(e,t,"access private method"),n);function fv(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function sf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pv={exports:{}},nu={},hv={exports:{}},pe={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var is=Symbol.for("react.element"),pw=Symbol.for("react.portal"),hw=Symbol.for("react.fragment"),mw=Symbol.for("react.strict_mode"),vw=Symbol.for("react.profiler"),gw=Symbol.for("react.provider"),yw=Symbol.for("react.context"),ww=Symbol.for("react.forward_ref"),xw=Symbol.for("react.suspense"),bw=Symbol.for("react.memo"),Ew=Symbol.for("react.lazy"),kp=Symbol.iterator;function Sw(e){return e===null||typeof e!="object"?null:(e=kp&&e[kp]||e["@@iterator"],typeof e=="function"?e:null)}var mv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},vv=Object.assign,gv={};function _i(e,t,n){this.props=e,this.context=t,this.refs=gv,this.updater=n||mv}_i.prototype.isReactComponent={};_i.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};_i.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function yv(){}yv.prototype=_i.prototype;function lf(e,t,n){this.props=e,this.context=t,this.refs=gv,this.updater=n||mv}var uf=lf.prototype=new yv;uf.constructor=lf;vv(uf,_i.prototype);uf.isPureReactComponent=!0;var Pp=Array.isArray,wv=Object.prototype.hasOwnProperty,cf={current:null},xv={key:!0,ref:!0,__self:!0,__source:!0};function bv(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)wv.call(t,r)&&!xv.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1>>1,W=D[L];if(0>>1;Lo(ce,z))reo(He,ce)?(D[L]=He,D[re]=z,L=re):(D[L]=ce,D[Z]=z,L=Z);else if(reo(He,z))D[L]=He,D[re]=z,L=re;else break e}}return O}function o(D,O){var z=D.sortIndex-O.sortIndex;return z!==0?z:D.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var u=[],l=[],d=1,f=null,p=3,m=!1,w=!1,g=!1,b=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(D){for(var O=n(l);O!==null;){if(O.callback===null)r(l);else if(O.startTime<=D)r(l),O.sortIndex=O.expirationTime,t(u,O);else break;O=n(l)}}function S(D){if(g=!1,y(D),!w)if(n(u)!==null)w=!0,xe(R);else{var O=n(l);O!==null&&A(S,O.startTime-D)}}function R(D,O){w=!1,g&&(g=!1,h($),$=-1),m=!0;var z=p;try{for(y(O),f=n(u);f!==null&&(!(f.expirationTime>O)||D&&!K());){var L=f.callback;if(typeof L=="function"){f.callback=null,p=f.priorityLevel;var W=L(f.expirationTime<=O);O=e.unstable_now(),typeof W=="function"?f.callback=W:f===n(u)&&r(u),y(O)}else r(u);f=n(u)}if(f!==null)var ne=!0;else{var Z=n(l);Z!==null&&A(S,Z.startTime-O),ne=!1}return ne}finally{f=null,p=z,m=!1}}var E=!1,k=null,$=-1,N=5,I=-1;function K(){return!(e.unstable_now()-ID||125L?(D.sortIndex=z,t(l,D),n(u)===null&&D===n(l)&&(g?(h($),$=-1):g=!0,A(S,z-L))):(D.sortIndex=W,t(u,D),w||m||(w=!0,xe(R))),D},e.unstable_shouldYield=K,e.unstable_wrapCallback=function(D){var O=p;return function(){var z=p;p=O;try{return D.apply(this,arguments)}finally{p=z}}}})(kv);Rv.exports=kv;var Mw=Rv.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Pv=c,Ut=Mw;function j(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),$c=Object.prototype.hasOwnProperty,jw=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Tp={},Np={};function Iw(e){return $c.call(Np,e)?!0:$c.call(Tp,e)?!1:jw.test(e)?Np[e]=!0:(Tp[e]=!0,!1)}function Aw(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Lw(e,t,n,r){if(t===null||typeof t>"u"||Aw(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function $t(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var pt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){pt[e]=new $t(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];pt[t]=new $t(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){pt[e]=new $t(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){pt[e]=new $t(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){pt[e]=new $t(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){pt[e]=new $t(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){pt[e]=new $t(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){pt[e]=new $t(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){pt[e]=new $t(e,5,!1,e.toLowerCase(),null,!1,!1)});var ff=/[\-:]([a-z])/g;function pf(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ff,pf);pt[t]=new $t(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ff,pf);pt[t]=new $t(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ff,pf);pt[t]=new $t(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){pt[e]=new $t(e,1,!1,e.toLowerCase(),null,!1,!1)});pt.xlinkHref=new $t("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){pt[e]=new $t(e,1,!1,e.toLowerCase(),null,!0,!0)});function hf(e,t,n,r){var o=pt.hasOwnProperty(t)?pt[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var u=` -`+o[a].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=a&&0<=s);break}}}finally{Au=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ea(e):""}function Fw(e){switch(e.tag){case 5:return ea(e.type);case 16:return ea("Lazy");case 13:return ea("Suspense");case 19:return ea("SuspenseList");case 0:case 2:case 15:return e=Lu(e.type,!1),e;case 11:return e=Lu(e.type.render,!1),e;case 1:return e=Lu(e.type,!0),e;default:return""}}function Dc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case jo:return"Fragment";case Mo:return"Portal";case Tc:return"Profiler";case mf:return"StrictMode";case Nc:return"Suspense";case _c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Nv:return(e.displayName||"Context")+".Consumer";case Tv:return(e._context.displayName||"Context")+".Provider";case vf:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gf:return t=e.displayName||null,t!==null?t:Dc(e.type)||"Memo";case ur:t=e._payload,e=e._init;try{return Dc(e(t))}catch{}}return null}function zw(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Dc(t);case 8:return t===mf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function jr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dv(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Uw(e){var t=Dv(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){e._valueTracker||(e._valueTracker=Uw(e))}function Ov(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Dv(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function wl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Oc(e,t){var n=t.checked;return Ue({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Dp(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=jr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Mv(e,t){t=t.checked,t!=null&&hf(e,"checked",t,!1)}function Mc(e,t){Mv(e,t);var n=jr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?jc(e,t.type,n):t.hasOwnProperty("defaultValue")&&jc(e,t.type,jr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Op(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function jc(e,t,n){(t!=="number"||wl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ta=Array.isArray;function Go(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Ss.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sa(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var aa={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bw=["Webkit","ms","Moz","O"];Object.keys(aa).forEach(function(e){Bw.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),aa[t]=aa[e]})});function Lv(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||aa.hasOwnProperty(e)&&aa[e]?(""+t).trim():t+"px"}function Fv(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=Lv(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var Ww=Ue({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Lc(e,t){if(t){if(Ww[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(j(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(j(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(j(61))}if(t.style!=null&&typeof t.style!="object")throw Error(j(62))}}function Fc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zc=null;function yf(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Uc=null,Yo=null,qo=null;function Ip(e){if(e=ls(e)){if(typeof Uc!="function")throw Error(j(280));var t=e.stateNode;t&&(t=su(t),Uc(e.stateNode,e.type,t))}}function zv(e){Yo?qo?qo.push(e):qo=[e]:Yo=e}function Uv(){if(Yo){var e=Yo,t=qo;if(qo=Yo=null,Ip(e),t)for(e=0;e>>=0,e===0?32:31-(ex(e)/tx|0)|0}var Cs=64,Rs=4194304;function na(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Sl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=na(s):(i&=a,i!==0&&(r=na(i)))}else a=n&~o,a!==0?r=na(a):i!==0&&(r=na(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function as(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mn(t),e[t]=n}function ix(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=la),Hp=" ",Kp=!1;function sg(e,t){switch(e){case"keyup":return Ox.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Io=!1;function jx(e,t){switch(e){case"compositionend":return lg(t);case"keypress":return t.which!==32?null:(Kp=!0,Hp);case"textInput":return e=t.data,e===Hp&&Kp?null:e;default:return null}}function Ix(e,t){if(Io)return e==="compositionend"||!kf&&sg(e,t)?(e=ig(),Zs=Sf=Er=null,Io=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=qp(n)}}function fg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?fg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pg(){for(var e=window,t=wl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=wl(e.document)}return t}function Pf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Hx(e){var t=pg(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&fg(n.ownerDocument.documentElement,n)){if(r!==null&&Pf(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=Xp(n,i);var a=Xp(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ao=null,Qc=null,ca=null,Gc=!1;function Jp(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Gc||Ao==null||Ao!==wl(r)||(r=Ao,"selectionStart"in r&&Pf(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ca&&Ta(ca,r)||(ca=r,r=kl(Qc,"onSelect"),0zo||(e.current=ed[zo],ed[zo]=null,zo--)}function Pe(e,t){zo++,ed[zo]=e.current,e.current=t}var Ir={},xt=Lr(Ir),Dt=Lr(!1),vo=Ir;function bi(e,t){var n=e.type.contextTypes;if(!n)return Ir;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ot(e){return e=e.childContextTypes,e!=null}function $l(){_e(Dt),_e(xt)}function ih(e,t,n){if(xt.current!==Ir)throw Error(j(168));Pe(xt,t),Pe(Dt,n)}function Eg(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(j(108,zw(e)||"Unknown",o));return Ue({},n,r)}function Tl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ir,vo=xt.current,Pe(xt,e),Pe(Dt,Dt.current),!0}function ah(e,t,n){var r=e.stateNode;if(!r)throw Error(j(169));n?(e=Eg(e,t,vo),r.__reactInternalMemoizedMergedChildContext=e,_e(Dt),_e(xt),Pe(xt,e)):_e(Dt),Pe(Dt,n)}var Un=null,lu=!1,Ju=!1;function Sg(e){Un===null?Un=[e]:Un.push(e)}function rb(e){lu=!0,Sg(e)}function Fr(){if(!Ju&&Un!==null){Ju=!0;var e=0,t=be;try{var n=Un;for(be=1;e>=a,o-=a,Wn=1<<32-mn(t)+o|n<$?(N=k,k=null):N=k.sibling;var I=p(h,k,y[$],S);if(I===null){k===null&&(k=N);break}e&&k&&I.alternate===null&&t(h,k),v=i(I,v,$),E===null?R=I:E.sibling=I,E=I,k=N}if($===y.length)return n(h,k),Ie&&Hr(h,$),R;if(k===null){for(;$$?(N=k,k=null):N=k.sibling;var K=p(h,k,I.value,S);if(K===null){k===null&&(k=N);break}e&&k&&K.alternate===null&&t(h,k),v=i(K,v,$),E===null?R=K:E.sibling=K,E=K,k=N}if(I.done)return n(h,k),Ie&&Hr(h,$),R;if(k===null){for(;!I.done;$++,I=y.next())I=f(h,I.value,S),I!==null&&(v=i(I,v,$),E===null?R=I:E.sibling=I,E=I);return Ie&&Hr(h,$),R}for(k=r(h,k);!I.done;$++,I=y.next())I=m(k,h,$,I.value,S),I!==null&&(e&&I.alternate!==null&&k.delete(I.key===null?$:I.key),v=i(I,v,$),E===null?R=I:E.sibling=I,E=I);return e&&k.forEach(function(H){return t(h,H)}),Ie&&Hr(h,$),R}function b(h,v,y,S){if(typeof y=="object"&&y!==null&&y.type===jo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case bs:e:{for(var R=y.key,E=v;E!==null;){if(E.key===R){if(R=y.type,R===jo){if(E.tag===7){n(h,E.sibling),v=o(E,y.props.children),v.return=h,h=v;break e}}else if(E.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===ur&&ph(R)===E.type){n(h,E.sibling),v=o(E,y.props),v.ref=Vi(h,E,y),v.return=h,h=v;break e}n(h,E);break}else t(h,E);E=E.sibling}y.type===jo?(v=uo(y.props.children,h.mode,S,y.key),v.return=h,h=v):(S=sl(y.type,y.key,y.props,null,h.mode,S),S.ref=Vi(h,v,y),S.return=h,h=S)}return a(h);case Mo:e:{for(E=y.key;v!==null;){if(v.key===E)if(v.tag===4&&v.stateNode.containerInfo===y.containerInfo&&v.stateNode.implementation===y.implementation){n(h,v.sibling),v=o(v,y.children||[]),v.return=h,h=v;break e}else{n(h,v);break}else t(h,v);v=v.sibling}v=ac(y,h.mode,S),v.return=h,h=v}return a(h);case ur:return E=y._init,b(h,v,E(y._payload),S)}if(ta(y))return w(h,v,y,S);if(Fi(y))return g(h,v,y,S);Ds(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,v!==null&&v.tag===6?(n(h,v.sibling),v=o(v,y),v.return=h,h=v):(n(h,v),v=ic(y,h.mode,S),v.return=h,h=v),a(h)):n(h,v)}return b}var Si=_g(!0),Dg=_g(!1),us={},Mn=Lr(us),Oa=Lr(us),Ma=Lr(us);function qr(e){if(e===us)throw Error(j(174));return e}function If(e,t){switch(Pe(Ma,t),Pe(Oa,e),Pe(Mn,us),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ac(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ac(t,e)}_e(Mn),Pe(Mn,t)}function Ci(){_e(Mn),_e(Oa),_e(Ma)}function Og(e){qr(Ma.current);var t=qr(Mn.current),n=Ac(t,e.type);t!==n&&(Pe(Oa,e),Pe(Mn,n))}function Af(e){Oa.current===e&&(_e(Mn),_e(Oa))}var Fe=Lr(0);function jl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Zu=[];function Lf(){for(var e=0;en?n:4,e(!0);var r=ec.transition;ec.transition={};try{e(!1),t()}finally{be=n,ec.transition=r}}function Yg(){return rn().memoizedState}function sb(e,t,n){var r=Nr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},qg(e))Xg(t,n);else if(n=Pg(e,t,n,r),n!==null){var o=kt();vn(n,e,r,o),Jg(n,t,r)}}function lb(e,t,n){var r=Nr(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(qg(e))Xg(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,gn(s,a)){var u=t.interleaved;u===null?(o.next=o,Mf(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}finally{}n=Pg(e,t,o,r),n!==null&&(o=kt(),vn(n,e,r,o),Jg(n,t,r))}}function qg(e){var t=e.alternate;return e===ze||t!==null&&t===ze}function Xg(e,t){da=Il=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jg(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xf(e,n)}}var Al={readContext:nn,useCallback:vt,useContext:vt,useEffect:vt,useImperativeHandle:vt,useInsertionEffect:vt,useLayoutEffect:vt,useMemo:vt,useReducer:vt,useRef:vt,useState:vt,useDebugValue:vt,useDeferredValue:vt,useTransition:vt,useMutableSource:vt,useSyncExternalStore:vt,useId:vt,unstable_isNewReconciler:!1},ub={readContext:nn,useCallback:function(e,t){return kn().memoizedState=[e,t===void 0?null:t],e},useContext:nn,useEffect:mh,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rl(4194308,4,Vg.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rl(4194308,4,e,t)},useInsertionEffect:function(e,t){return rl(4,2,e,t)},useMemo:function(e,t){var n=kn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=kn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=sb.bind(null,ze,e),[r.memoizedState,e]},useRef:function(e){var t=kn();return e={current:e},t.memoizedState=e},useState:hh,useDebugValue:Wf,useDeferredValue:function(e){return kn().memoizedState=e},useTransition:function(){var e=hh(!1),t=e[0];return e=ab.bind(null,e[1]),kn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ze,o=kn();if(Ie){if(n===void 0)throw Error(j(407));n=n()}else{if(n=t(),st===null)throw Error(j(349));yo&30||Ig(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,mh(Lg.bind(null,r,i,e),[e]),r.flags|=2048,Aa(9,Ag.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=kn(),t=st.identifierPrefix;if(Ie){var n=Vn,r=Wn;n=(r&~(1<<32-mn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ja++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[_n]=t,e[Da]=r,sy(e,t,!1,!1),t.stateNode=e;e:{switch(a=Fc(n,r),n){case"dialog":Te("cancel",e),Te("close",e),o=r;break;case"iframe":case"object":case"embed":Te("load",e),o=r;break;case"video":case"audio":for(o=0;oki&&(t.flags|=128,r=!0,Hi(i,!1),t.lanes=4194304)}else{if(!r)if(e=jl(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Hi(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!Ie)return gt(t),null}else 2*Ge()-i.renderingStartTime>ki&&n!==1073741824&&(t.flags|=128,r=!0,Hi(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ge(),t.sibling=null,n=Fe.current,Pe(Fe,r?n&1|2:n&1),t):(gt(t),null);case 22:case 23:return Yf(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Lt&1073741824&&(gt(t),t.subtreeFlags&6&&(t.flags|=8192)):gt(t),null;case 24:return null;case 25:return null}throw Error(j(156,t.tag))}function gb(e,t){switch(Tf(t),t.tag){case 1:return Ot(t.type)&&$l(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ci(),_e(Dt),_e(xt),Lf(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Af(t),null;case 13:if(_e(Fe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(j(340));Ei()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _e(Fe),null;case 4:return Ci(),null;case 10:return Of(t.type._context),null;case 22:case 23:return Yf(),null;case 24:return null;default:return null}}var Ms=!1,wt=!1,yb=typeof WeakSet=="function"?WeakSet:Set,V=null;function Vo(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){We(e,t,r)}else n.current=null}function fd(e,t,n){try{n()}catch(r){We(e,t,r)}}var Ch=!1;function wb(e,t){if(Yc=Cl,e=pg(),Pf(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,u=-1,l=0,d=0,f=e,p=null;t:for(;;){for(var m;f!==n||o!==0&&f.nodeType!==3||(s=a+o),f!==i||r!==0&&f.nodeType!==3||(u=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break t;if(p===n&&++l===o&&(s=a),p===i&&++d===r&&(u=a),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(qc={focusedElem:e,selectionRange:n},Cl=!1,V=t;V!==null;)if(t=V,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,V=e;else for(;V!==null;){t=V;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var g=w.memoizedProps,b=w.memoizedState,h=t.stateNode,v=h.getSnapshotBeforeUpdate(t.elementType===t.type?g:cn(t.type,g),b);h.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(j(163))}}catch(S){We(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,V=e;break}V=t.return}return w=Ch,Ch=!1,w}function fa(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&fd(t,n,i)}o=o.next}while(o!==r)}}function du(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function pd(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function cy(e){var t=e.alternate;t!==null&&(e.alternate=null,cy(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_n],delete t[Da],delete t[Zc],delete t[tb],delete t[nb])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function dy(e){return e.tag===5||e.tag===3||e.tag===4}function Rh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dy(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function hd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Pl));else if(r!==4&&(e=e.child,e!==null))for(hd(e,t,n),e=e.sibling;e!==null;)hd(e,t,n),e=e.sibling}function md(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(md(e,t,n),e=e.sibling;e!==null;)md(e,t,n),e=e.sibling}var ct=null,fn=!1;function rr(e,t,n){for(n=n.child;n!==null;)fy(e,t,n),n=n.sibling}function fy(e,t,n){if(On&&typeof On.onCommitFiberUnmount=="function")try{On.onCommitFiberUnmount(ru,n)}catch{}switch(n.tag){case 5:wt||Vo(n,t);case 6:var r=ct,o=fn;ct=null,rr(e,t,n),ct=r,fn=o,ct!==null&&(fn?(e=ct,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ct.removeChild(n.stateNode));break;case 18:ct!==null&&(fn?(e=ct,n=n.stateNode,e.nodeType===8?Xu(e.parentNode,n):e.nodeType===1&&Xu(e,n),Pa(e)):Xu(ct,n.stateNode));break;case 4:r=ct,o=fn,ct=n.stateNode.containerInfo,fn=!0,rr(e,t,n),ct=r,fn=o;break;case 0:case 11:case 14:case 15:if(!wt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&fd(n,t,a),o=o.next}while(o!==r)}rr(e,t,n);break;case 1:if(!wt&&(Vo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){We(n,t,s)}rr(e,t,n);break;case 21:rr(e,t,n);break;case 22:n.mode&1?(wt=(r=wt)||n.memoizedState!==null,rr(e,t,n),wt=r):rr(e,t,n);break;default:rr(e,t,n)}}function kh(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new yb),t.forEach(function(r){var o=$b.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function ln(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=Ge()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*bb(r/1960))-r,10e?16:e,Sr===null)var r=!1;else{if(e=Sr,Sr=null,zl=0,ve&6)throw Error(j(331));var o=ve;for(ve|=4,V=e.current;V!==null;){var i=V,a=i.child;if(V.flags&16){var s=i.deletions;if(s!==null){for(var u=0;uGe()-Qf?lo(e,0):Kf|=n),Mt(e,t)}function xy(e,t){t===0&&(e.mode&1?(t=Rs,Rs<<=1,!(Rs&130023424)&&(Rs=4194304)):t=1);var n=kt();e=Yn(e,t),e!==null&&(as(e,t,n),Mt(e,n))}function Pb(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),xy(e,n)}function $b(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(j(314))}r!==null&&r.delete(t),xy(e,n)}var by;by=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Dt.current)_t=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return _t=!1,mb(e,t,n);_t=!!(e.flags&131072)}else _t=!1,Ie&&t.flags&1048576&&Cg(t,_l,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ol(e,t),e=t.pendingProps;var o=bi(t,xt.current);Jo(t,n),o=zf(null,t,r,e,o,n);var i=Uf();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ot(r)?(i=!0,Tl(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,jf(t),o.updater=uu,t.stateNode=o,o._reactInternals=t,id(t,r,e,n),t=ld(null,t,r,!0,i,n)):(t.tag=0,Ie&&i&&$f(t),Ct(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ol(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Nb(r),e=cn(r,e),o){case 0:t=sd(null,t,r,e,n);break e;case 1:t=bh(null,t,r,e,n);break e;case 11:t=wh(null,t,r,e,n);break e;case 14:t=xh(null,t,r,cn(r.type,e),n);break e}throw Error(j(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),sd(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),bh(e,t,r,o,n);case 3:e:{if(oy(t),e===null)throw Error(j(387));r=t.pendingProps,i=t.memoizedState,o=i.element,$g(e,t),Ml(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Ri(Error(j(423)),t),t=Eh(e,t,r,n,o);break e}else if(r!==o){o=Ri(Error(j(424)),t),t=Eh(e,t,r,n,o);break e}else for(Ft=Pr(t.stateNode.containerInfo.firstChild),zt=t,Ie=!0,hn=null,n=Dg(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ei(),r===o){t=qn(e,t,n);break e}Ct(e,t,r,n)}t=t.child}return t;case 5:return Og(t),e===null&&nd(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,Xc(r,o)?a=null:i!==null&&Xc(r,i)&&(t.flags|=32),ry(e,t),Ct(e,t,a,n),t.child;case 6:return e===null&&nd(t),null;case 13:return iy(e,t,n);case 4:return If(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Si(t,null,r,n):Ct(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),wh(e,t,r,o,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,Pe(Dl,r._currentValue),r._currentValue=a,i!==null)if(gn(i.value,a)){if(i.children===o.children&&!Dt.current){t=qn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=Hn(-1,n&-n),u.tag=2;var l=i.updateQueue;if(l!==null){l=l.shared;var d=l.pending;d===null?u.next=u:(u.next=d.next,d.next=u),l.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),rd(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(j(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),rd(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}Ct(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Jo(t,n),o=nn(o),r=r(o),t.flags|=1,Ct(e,t,r,n),t.child;case 14:return r=t.type,o=cn(r,t.pendingProps),o=cn(r.type,o),xh(e,t,r,o,n);case 15:return ty(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),ol(e,t),t.tag=1,Ot(r)?(e=!0,Tl(t)):e=!1,Jo(t,n),Ng(t,r,o),id(t,r,o,n),ld(null,t,r,!0,e,n);case 19:return ay(e,t,n);case 22:return ny(e,t,n)}throw Error(j(156,t.tag))};function Ey(e,t){return Gv(e,t)}function Tb(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function en(e,t,n,r){return new Tb(e,t,n,r)}function Xf(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nb(e){if(typeof e=="function")return Xf(e)?1:0;if(e!=null){if(e=e.$$typeof,e===vf)return 11;if(e===gf)return 14}return 2}function _r(e,t){var n=e.alternate;return n===null?(n=en(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function sl(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")Xf(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case jo:return uo(n.children,o,i,t);case mf:a=8,o|=8;break;case Tc:return e=en(12,n,t,o|2),e.elementType=Tc,e.lanes=i,e;case Nc:return e=en(13,n,t,o),e.elementType=Nc,e.lanes=i,e;case _c:return e=en(19,n,t,o),e.elementType=_c,e.lanes=i,e;case _v:return pu(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Tv:a=10;break e;case Nv:a=9;break e;case vf:a=11;break e;case gf:a=14;break e;case ur:a=16,r=null;break e}throw Error(j(130,e==null?e:typeof e,""))}return t=en(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function uo(e,t,n,r){return e=en(7,e,r,t),e.lanes=n,e}function pu(e,t,n,r){return e=en(22,e,r,t),e.elementType=_v,e.lanes=n,e.stateNode={isHidden:!1},e}function ic(e,t,n){return e=en(6,e,null,t),e.lanes=n,e}function ac(e,t,n){return t=en(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _b(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zu(0),this.expirationTimes=zu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zu(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Jf(e,t,n,r,o,i,a,s,u){return e=new _b(e,t,n,s,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=en(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},jf(i),e}function Db(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ky)}catch(e){console.error(e)}}ky(),Cv.exports=Bt;var cs=Cv.exports;const yu=sf(cs),Ab=fv({__proto__:null,default:yu},[cs]);var Mh=cs;Pc.createRoot=Mh.createRoot,Pc.hydrateRoot=Mh.hydrateRoot;/** - * @remix-run/router v1.15.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Ve(){return Ve=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Pi(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Fb(){return Math.random().toString(36).substr(2,8)}function Ih(e,t){return{usr:e.state,key:e.key,idx:t}}function Fa(e,t,n,r){return n===void 0&&(n=null),Ve({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Jn(t):t,{state:n,key:t&&t.key||r||Fb()})}function ds(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Jn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function zb(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Qe.Pop,u=null,l=d();l==null&&(l=0,a.replaceState(Ve({},a.state,{idx:l}),""));function d(){return(a.state||{idx:null}).idx}function f(){s=Qe.Pop;let b=d(),h=b==null?null:b-l;l=b,u&&u({action:s,location:g.location,delta:h})}function p(b,h){s=Qe.Push;let v=Fa(g.location,b,h);n&&n(v,b),l=d()+1;let y=Ih(v,l),S=g.createHref(v);try{a.pushState(y,"",S)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;o.location.assign(S)}i&&u&&u({action:s,location:g.location,delta:1})}function m(b,h){s=Qe.Replace;let v=Fa(g.location,b,h);n&&n(v,b),l=d();let y=Ih(v,l),S=g.createHref(v);a.replaceState(y,"",S),i&&u&&u({action:s,location:g.location,delta:0})}function w(b){let h=o.location.origin!=="null"?o.location.origin:o.location.href,v=typeof b=="string"?b:ds(b);return v=v.replace(/ $/,"%20"),fe(h,"No window.location.(origin|href) available to create URL for href: "+v),new URL(v,h)}let g={get action(){return s},get location(){return e(o,a)},listen(b){if(u)throw new Error("A history only accepts one active listener");return o.addEventListener(jh,f),u=b,()=>{o.removeEventListener(jh,f),u=null}},createHref(b){return t(o,b)},createURL:w,encodeLocation(b){let h=w(b);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:m,go(b){return a.go(b)}};return g}var Be;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Be||(Be={}));const Ub=new Set(["lazy","caseSensitive","path","id","index","children"]);function Bb(e){return e.index===!0}function xd(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,i],s=typeof o.id=="string"?o.id:a.join("-");if(fe(o.index!==!0||!o.children,"Cannot specify children on an index route"),fe(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),Bb(o)){let u=Ve({},o,t(o),{id:s});return r[s]=u,u}else{let u=Ve({},o,t(o),{id:s,children:void 0});return r[s]=u,o.children&&(u.children=xd(o.children,t,a,r)),u}})}function Ko(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Jn(t):t,o=fs(r.pathname||"/",n);if(o==null)return null;let i=Py(e);Vb(i);let a=null;for(let s=0;a==null&&s{let u={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};u.relativePath.startsWith("/")&&(fe(u.relativePath.startsWith(r),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(r.length));let l=Dr([r,u.relativePath]),d=n.concat(u);i.children&&i.children.length>0&&(fe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+l+'".')),Py(i.children,t,d,l)),!(i.path==null&&!i.index)&&t.push({path:l,score:Xb(l,i.index),routesMeta:d})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let u of $y(i.path))o(i,a,u)}),t}function $y(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=$y(r.join("/")),s=[];return s.push(...a.map(u=>u===""?i:[i,u].join("/"))),o&&s.push(...a),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function Vb(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Jb(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const Hb=/^:[\w-]+$/,Kb=3,Qb=2,Gb=1,Yb=10,qb=-2,Ah=e=>e==="*";function Xb(e,t){let n=e.split("/"),r=n.length;return n.some(Ah)&&(r+=qb),t&&(r+=Qb),n.filter(o=>!Ah(o)).reduce((o,i)=>o+(Hb.test(i)?Kb:i===""?Gb:Yb),r)}function Jb(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function Zb(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{let{paramName:p,isOptional:m}=d;if(p==="*"){let g=s[f]||"";a=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const w=s[f];return m&&!w?l[p]=void 0:l[p]=(w||"").replace(/%2F/g,"/"),l},{}),pathname:i,pathnameBase:a,pattern:e}}function tE(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Pi(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,u)=>(r.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function nE(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Pi(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function fs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function rE(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Jn(e):e;return{pathname:n?n.startsWith("/")?n:oE(n,t):t,search:aE(r),hash:sE(o)}}function oE(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function sc(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Ty(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Ny(e,t){let n=Ty(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function _y(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Jn(e):(o=Ve({},e),fe(!o.pathname||!o.pathname.includes("?"),sc("?","pathname","search",o)),fe(!o.pathname||!o.pathname.includes("#"),sc("#","pathname","hash",o)),fe(!o.search||!o.search.includes("#"),sc("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),f-=1;o.pathname=p.join("/")}s=f>=0?t[f]:"/"}let u=rE(o,s),l=a&&a!=="/"&&a.endsWith("/"),d=(i||a===".")&&n.endsWith("/");return!u.pathname.endsWith("/")&&(l||d)&&(u.pathname+="/"),u}const Dr=e=>e.join("/").replace(/\/\/+/g,"/"),iE=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),aE=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,sE=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class np{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function Dy(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Oy=["post","put","patch","delete"],lE=new Set(Oy),uE=["get",...Oy],cE=new Set(uE),dE=new Set([301,302,303,307,308]),fE=new Set([307,308]),lc={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},pE={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Qi={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},My=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hE=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),jy="remix-router-transitions";function mE(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;fe(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let P=e.detectErrorBoundary;o=T=>({hasErrorBoundary:P(T)})}else o=hE;let i={},a=xd(e.routes,o,void 0,i),s,u=e.basename||"/",l=Ve({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),d=null,f=new Set,p=null,m=null,w=null,g=e.hydrationData!=null,b=Ko(a,e.history.location,u),h=null;if(b==null){let P=qt(404,{pathname:e.history.location.pathname}),{matches:T,route:_}=Hh(a);b=T,h={[_.id]:P}}let v,y=b.some(P=>P.route.lazy),S=b.some(P=>P.route.loader);if(y)v=!1;else if(!S)v=!0;else if(l.v7_partialHydration){let P=e.hydrationData?e.hydrationData.loaderData:null,T=e.hydrationData?e.hydrationData.errors:null;v=b.every(_=>_.route.loader&&_.route.loader.hydrate!==!0&&(P&&P[_.route.id]!==void 0||T&&T[_.route.id]!==void 0))}else v=e.hydrationData!=null;let R,E={historyAction:e.history.action,location:e.history.location,matches:b,initialized:v,navigation:lc,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||h,fetchers:new Map,blockers:new Map},k=Qe.Pop,$=!1,N,I=!1,K=new Map,H=null,se=!1,Y=!1,te=[],xe=[],A=new Map,D=0,O=-1,z=new Map,L=new Set,W=new Map,ne=new Map,Z=new Set,ce=new Map,re=new Map,He=!1;function bt(){if(d=e.history.listen(P=>{let{action:T,location:_,delta:U}=P;if(He){He=!1;return}Pi(re.size===0||U!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let q=Ee({currentLocation:E.location,nextLocation:_,historyAction:T});if(q&&U!=null){He=!0,e.history.go(U*-1),me(q,{state:"blocked",location:_,proceed(){me(q,{state:"proceeding",proceed:void 0,reset:void 0,location:_}),e.history.go(U)},reset(){let de=new Map(E.blockers);de.set(q,Qi),Ke({blockers:de})}});return}return Ae(T,_)}),n){kE(t,K);let P=()=>PE(t,K);t.addEventListener("pagehide",P),H=()=>t.removeEventListener("pagehide",P)}return E.initialized||Ae(Qe.Pop,E.location,{initialHydration:!0}),R}function Vt(){d&&d(),H&&H(),f.clear(),N&&N.abort(),E.fetchers.forEach((P,T)=>Oe(T)),E.blockers.forEach((P,T)=>ee(T))}function jt(P){return f.add(P),()=>f.delete(P)}function Ke(P,T){T===void 0&&(T={}),E=Ve({},E,P);let _=[],U=[];l.v7_fetcherPersist&&E.fetchers.forEach((q,de)=>{q.state==="idle"&&(Z.has(de)?U.push(de):_.push(de))}),[...f].forEach(q=>q(E,{deletedFetchers:U,unstable_viewTransitionOpts:T.viewTransitionOpts,unstable_flushSync:T.flushSync===!0})),l.v7_fetcherPersist&&(_.forEach(q=>E.fetchers.delete(q)),U.forEach(q=>Oe(q)))}function qe(P,T,_){var U,q;let{flushSync:de}=_===void 0?{}:_,ie=E.actionData!=null&&E.navigation.formMethod!=null&&pn(E.navigation.formMethod)&&E.navigation.state==="loading"&&((U=P.state)==null?void 0:U._isRedirect)!==!0,oe;T.actionData?Object.keys(T.actionData).length>0?oe=T.actionData:oe=null:ie?oe=E.actionData:oe=null;let J=T.loaderData?Vh(E.loaderData,T.loaderData,T.matches||[],T.errors):E.loaderData,he=E.blockers;he.size>0&&(he=new Map(he),he.forEach((ke,ut)=>he.set(ut,Qi)));let rt=$===!0||E.navigation.formMethod!=null&&pn(E.navigation.formMethod)&&((q=P.state)==null?void 0:q._isRedirect)!==!0;s&&(a=s,s=void 0),se||k===Qe.Pop||(k===Qe.Push?e.history.push(P,P.state):k===Qe.Replace&&e.history.replace(P,P.state));let ue;if(k===Qe.Pop){let ke=K.get(E.location.pathname);ke&&ke.has(P.pathname)?ue={currentLocation:E.location,nextLocation:P}:K.has(P.pathname)&&(ue={currentLocation:P,nextLocation:E.location})}else if(I){let ke=K.get(E.location.pathname);ke?ke.add(P.pathname):(ke=new Set([P.pathname]),K.set(E.location.pathname,ke)),ue={currentLocation:E.location,nextLocation:P}}Ke(Ve({},T,{actionData:oe,loaderData:J,historyAction:k,location:P,initialized:!0,navigation:lc,revalidation:"idle",restoreScrollPosition:Rp(P,T.matches||E.matches),preventScrollReset:rt,blockers:he}),{viewTransitionOpts:ue,flushSync:de===!0}),k=Qe.Pop,$=!1,I=!1,se=!1,Y=!1,te=[],xe=[]}async function Ur(P,T){if(typeof P=="number"){e.history.go(P);return}let _=bd(E.location,E.matches,u,l.v7_prependBasename,P,l.v7_relativeSplatPath,T==null?void 0:T.fromRouteId,T==null?void 0:T.relative),{path:U,submission:q,error:de}=Lh(l.v7_normalizeFormMethod,!1,_,T),ie=E.location,oe=Fa(E.location,U,T&&T.state);oe=Ve({},oe,e.history.encodeLocation(oe));let J=T&&T.replace!=null?T.replace:void 0,he=Qe.Push;J===!0?he=Qe.Replace:J===!1||q!=null&&pn(q.formMethod)&&q.formAction===E.location.pathname+E.location.search&&(he=Qe.Replace);let rt=T&&"preventScrollReset"in T?T.preventScrollReset===!0:void 0,ue=(T&&T.unstable_flushSync)===!0,ke=Ee({currentLocation:ie,nextLocation:oe,historyAction:he});if(ke){me(ke,{state:"blocked",location:oe,proceed(){me(ke,{state:"proceeding",proceed:void 0,reset:void 0,location:oe}),Ur(P,T)},reset(){let ut=new Map(E.blockers);ut.set(ke,Qi),Ke({blockers:ut})}});return}return await Ae(he,oe,{submission:q,pendingError:de,preventScrollReset:rt,replace:T&&T.replace,enableViewTransition:T&&T.unstable_viewTransition,flushSync:ue})}function ko(){if(Ht(),Ke({revalidation:"loading"}),E.navigation.state!=="submitting"){if(E.navigation.state==="idle"){Ae(E.historyAction,E.location,{startUninterruptedRevalidation:!0});return}Ae(k||E.historyAction,E.navigation.location,{overrideNavigation:E.navigation})}}async function Ae(P,T,_){N&&N.abort(),N=null,k=P,se=(_&&_.startUninterruptedRevalidation)===!0,Tu(E.location,E.matches),$=(_&&_.preventScrollReset)===!0,I=(_&&_.enableViewTransition)===!0;let U=s||a,q=_&&_.overrideNavigation,de=Ko(U,T,u),ie=(_&&_.flushSync)===!0;if(!de){let ut=qt(404,{pathname:T.pathname}),{matches:Kt,route:ot}=Hh(U);nt(),qe(T,{matches:Kt,loaderData:{},errors:{[ot.id]:ut}},{flushSync:ie});return}if(E.initialized&&!Y&&xE(E.location,T)&&!(_&&_.submission&&pn(_.submission.formMethod))){qe(T,{matches:de},{flushSync:ie});return}N=new AbortController;let oe=Yi(e.history,T,N.signal,_&&_.submission),J,he;if(_&&_.pendingError)he={[ma(de).route.id]:_.pendingError};else if(_&&_.submission&&pn(_.submission.formMethod)){let ut=await on(oe,T,_.submission,de,{replace:_.replace,flushSync:ie});if(ut.shortCircuited)return;J=ut.pendingActionData,he=ut.pendingActionError,q=uc(T,_.submission),ie=!1,oe=new Request(oe.url,{signal:oe.signal})}let{shortCircuited:rt,loaderData:ue,errors:ke}=await wn(oe,T,de,q,_&&_.submission,_&&_.fetcherSubmission,_&&_.replace,_&&_.initialHydration===!0,ie,J,he);rt||(N=null,qe(T,Ve({matches:de},J?{actionData:J}:{},{loaderData:ue,errors:ke})))}async function on(P,T,_,U,q){q===void 0&&(q={}),Ht();let de=CE(T,_);Ke({navigation:de},{flushSync:q.flushSync===!0});let ie,oe=Sd(U,T);if(!oe.route.action&&!oe.route.lazy)ie={type:Be.error,error:qt(405,{method:P.method,pathname:T.pathname,routeId:oe.route.id})};else if(ie=await Gi("action",P,oe,U,i,o,u,l.v7_relativeSplatPath),P.signal.aborted)return{shortCircuited:!0};if(Jr(ie)){let J;return q&&q.replace!=null?J=q.replace:J=ie.location===E.location.pathname+E.location.search,await xn(E,ie,{submission:_,replace:J}),{shortCircuited:!0}}if(Qo(ie)){let J=ma(U,oe.route.id);return(q&&q.replace)!==!0&&(k=Qe.Push),{pendingActionData:{},pendingActionError:{[J.route.id]:ie.error}}}if(Xr(ie))throw qt(400,{type:"defer-action"});return{pendingActionData:{[oe.route.id]:ie.data}}}async function wn(P,T,_,U,q,de,ie,oe,J,he,rt){let ue=U||uc(T,q),ke=q||de||Gh(ue),ut=s||a,[Kt,ot]=Fh(e.history,E,_,ke,T,l.v7_partialHydration&&oe===!0,Y,te,xe,Z,W,L,ut,u,he,rt);if(nt(Se=>!(_&&_.some(Me=>Me.route.id===Se))||Kt&&Kt.some(Me=>Me.route.id===Se)),O=++D,Kt.length===0&&ot.length===0){let Se=bn();return qe(T,Ve({matches:_,loaderData:{},errors:rt||null},he?{actionData:he}:{},Se?{fetchers:new Map(E.fetchers)}:{}),{flushSync:J}),{shortCircuited:!0}}if(!se&&(!l.v7_partialHydration||!oe)){ot.forEach(Me=>{let En=E.fetchers.get(Me.key),ys=qi(void 0,En?En.data:void 0);E.fetchers.set(Me.key,ys)});let Se=he||E.actionData;Ke(Ve({navigation:ue},Se?Object.keys(Se).length===0?{actionData:null}:{actionData:Se}:{},ot.length>0?{fetchers:new Map(E.fetchers)}:{}),{flushSync:J})}ot.forEach(Se=>{A.has(Se.key)&<(Se.key),Se.controller&&A.set(Se.key,Se.controller)});let Po=()=>ot.forEach(Se=>lt(Se.key));N&&N.signal.addEventListener("abort",Po);let{results:Nu,loaderResults:$o,fetcherResults:nr}=await tr(E.matches,_,Kt,ot,P);if(P.signal.aborted)return{shortCircuited:!0};N&&N.signal.removeEventListener("abort",Po),ot.forEach(Se=>A.delete(Se.key));let Vr=Kh(Nu);if(Vr){if(Vr.idx>=Kt.length){let Se=ot[Vr.idx-Kt.length].key;L.add(Se)}return await xn(E,Vr.result,{replace:ie}),{shortCircuited:!0}}let{loaderData:_u,errors:Du}=Wh(E,_,Kt,$o,rt,ot,nr,ce);ce.forEach((Se,Me)=>{Se.subscribe(En=>{(En||Se.done)&&ce.delete(Me)})});let Ou=bn(),To=Et(O),gs=Ou||To||ot.length>0;return Ve({loaderData:_u,errors:Du},gs?{fetchers:new Map(E.fetchers)}:{})}function Br(P,T,_,U){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");A.has(P)&<(P);let q=(U&&U.unstable_flushSync)===!0,de=s||a,ie=bd(E.location,E.matches,u,l.v7_prependBasename,_,l.v7_relativeSplatPath,T,U==null?void 0:U.relative),oe=Ko(de,ie,u);if(!oe){G(P,T,qt(404,{pathname:ie}),{flushSync:q});return}let{path:J,submission:he,error:rt}=Lh(l.v7_normalizeFormMethod,!0,ie,U);if(rt){G(P,T,rt,{flushSync:q});return}let ue=Sd(oe,J);if($=(U&&U.preventScrollReset)===!0,he&&pn(he.formMethod)){an(P,T,J,ue,oe,q,he);return}W.set(P,{routeId:T,path:J}),er(P,T,J,ue,oe,q,he)}async function an(P,T,_,U,q,de,ie){if(Ht(),W.delete(P),!U.route.action&&!U.route.lazy){let Me=qt(405,{method:ie.formMethod,pathname:_,routeId:T});G(P,T,Me,{flushSync:de});return}let oe=E.fetchers.get(P);F(P,RE(ie,oe),{flushSync:de});let J=new AbortController,he=Yi(e.history,_,J.signal,ie);A.set(P,J);let rt=D,ue=await Gi("action",he,U,q,i,o,u,l.v7_relativeSplatPath);if(he.signal.aborted){A.get(P)===J&&A.delete(P);return}if(l.v7_fetcherPersist&&Z.has(P)){if(Jr(ue)||Qo(ue)){F(P,ar(void 0));return}}else{if(Jr(ue))if(A.delete(P),O>rt){F(P,ar(void 0));return}else return L.add(P),F(P,qi(ie)),xn(E,ue,{fetcherSubmission:ie});if(Qo(ue)){G(P,T,ue.error);return}}if(Xr(ue))throw qt(400,{type:"defer-action"});let ke=E.navigation.location||E.location,ut=Yi(e.history,ke,J.signal),Kt=s||a,ot=E.navigation.state!=="idle"?Ko(Kt,E.navigation.location,u):E.matches;fe(ot,"Didn't find any matches after fetcher action");let Po=++D;z.set(P,Po);let Nu=qi(ie,ue.data);E.fetchers.set(P,Nu);let[$o,nr]=Fh(e.history,E,ot,ie,ke,!1,Y,te,xe,Z,W,L,Kt,u,{[U.route.id]:ue.data},void 0);nr.filter(Me=>Me.key!==P).forEach(Me=>{let En=Me.key,ys=E.fetchers.get(En),fw=qi(void 0,ys?ys.data:void 0);E.fetchers.set(En,fw),A.has(En)&<(En),Me.controller&&A.set(En,Me.controller)}),Ke({fetchers:new Map(E.fetchers)});let Vr=()=>nr.forEach(Me=>lt(Me.key));J.signal.addEventListener("abort",Vr);let{results:_u,loaderResults:Du,fetcherResults:Ou}=await tr(E.matches,ot,$o,nr,ut);if(J.signal.aborted)return;J.signal.removeEventListener("abort",Vr),z.delete(P),A.delete(P),nr.forEach(Me=>A.delete(Me.key));let To=Kh(_u);if(To){if(To.idx>=$o.length){let Me=nr[To.idx-$o.length].key;L.add(Me)}return xn(E,To.result)}let{loaderData:gs,errors:Se}=Wh(E,E.matches,$o,Du,void 0,nr,Ou,ce);if(E.fetchers.has(P)){let Me=ar(ue.data);E.fetchers.set(P,Me)}Et(Po),E.navigation.state==="loading"&&Po>O?(fe(k,"Expected pending action"),N&&N.abort(),qe(E.navigation.location,{matches:ot,loaderData:gs,errors:Se,fetchers:new Map(E.fetchers)})):(Ke({errors:Se,loaderData:Vh(E.loaderData,gs,ot,Se),fetchers:new Map(E.fetchers)}),Y=!1)}async function er(P,T,_,U,q,de,ie){let oe=E.fetchers.get(P);F(P,qi(ie,oe?oe.data:void 0),{flushSync:de});let J=new AbortController,he=Yi(e.history,_,J.signal);A.set(P,J);let rt=D,ue=await Gi("loader",he,U,q,i,o,u,l.v7_relativeSplatPath);if(Xr(ue)&&(ue=await Ly(ue,he.signal,!0)||ue),A.get(P)===J&&A.delete(P),!he.signal.aborted){if(Z.has(P)){F(P,ar(void 0));return}if(Jr(ue))if(O>rt){F(P,ar(void 0));return}else{L.add(P),await xn(E,ue);return}if(Qo(ue)){G(P,T,ue.error);return}fe(!Xr(ue),"Unhandled fetcher deferred data"),F(P,ar(ue.data))}}async function xn(P,T,_){let{submission:U,fetcherSubmission:q,replace:de}=_===void 0?{}:_;T.revalidate&&(Y=!0);let ie=Fa(P.location,T.location,{_isRedirect:!0});if(fe(ie,"Expected a location on the redirect navigation"),n){let ke=!1;if(T.reloadDocument)ke=!0;else if(My.test(T.location)){const ut=e.history.createURL(T.location);ke=ut.origin!==t.location.origin||fs(ut.pathname,u)==null}if(ke){de?t.location.replace(T.location):t.location.assign(T.location);return}}N=null;let oe=de===!0?Qe.Replace:Qe.Push,{formMethod:J,formAction:he,formEncType:rt}=P.navigation;!U&&!q&&J&&he&&rt&&(U=Gh(P.navigation));let ue=U||q;if(fE.has(T.status)&&ue&&pn(ue.formMethod))await Ae(oe,ie,{submission:Ve({},ue,{formAction:T.location}),preventScrollReset:$});else{let ke=uc(ie,U);await Ae(oe,ie,{overrideNavigation:ke,fetcherSubmission:q,preventScrollReset:$})}}async function tr(P,T,_,U,q){let de=await Promise.all([..._.map(J=>Gi("loader",q,J,T,i,o,u,l.v7_relativeSplatPath)),...U.map(J=>J.matches&&J.match&&J.controller?Gi("loader",Yi(e.history,J.path,J.controller.signal),J.match,J.matches,i,o,u,l.v7_relativeSplatPath):{type:Be.error,error:qt(404,{pathname:J.path})})]),ie=de.slice(0,_.length),oe=de.slice(_.length);return await Promise.all([Qh(P,_,ie,ie.map(()=>q.signal),!1,E.loaderData),Qh(P,U.map(J=>J.match),oe,U.map(J=>J.controller?J.controller.signal:null),!0)]),{results:de,loaderResults:ie,fetcherResults:oe}}function Ht(){Y=!0,te.push(...nt()),W.forEach((P,T)=>{A.has(T)&&(xe.push(T),lt(T))})}function F(P,T,_){_===void 0&&(_={}),E.fetchers.set(P,T),Ke({fetchers:new Map(E.fetchers)},{flushSync:(_&&_.flushSync)===!0})}function G(P,T,_,U){U===void 0&&(U={});let q=ma(E.matches,T);Oe(P),Ke({errors:{[q.route.id]:_},fetchers:new Map(E.fetchers)},{flushSync:(U&&U.flushSync)===!0})}function Re(P){return l.v7_fetcherPersist&&(ne.set(P,(ne.get(P)||0)+1),Z.has(P)&&Z.delete(P)),E.fetchers.get(P)||pE}function Oe(P){let T=E.fetchers.get(P);A.has(P)&&!(T&&T.state==="loading"&&z.has(P))&<(P),W.delete(P),z.delete(P),L.delete(P),Z.delete(P),E.fetchers.delete(P)}function tt(P){if(l.v7_fetcherPersist){let T=(ne.get(P)||0)-1;T<=0?(ne.delete(P),Z.add(P)):ne.set(P,T)}else Oe(P);Ke({fetchers:new Map(E.fetchers)})}function lt(P){let T=A.get(P);fe(T,"Expected fetch controller: "+P),T.abort(),A.delete(P)}function sn(P){for(let T of P){let _=Re(T),U=ar(_.data);E.fetchers.set(T,U)}}function bn(){let P=[],T=!1;for(let _ of L){let U=E.fetchers.get(_);fe(U,"Expected fetcher: "+_),U.state==="loading"&&(L.delete(_),P.push(_),T=!0)}return sn(P),T}function Et(P){let T=[];for(let[_,U]of z)if(U0}function Wr(P,T){let _=E.blockers.get(P)||Qi;return re.get(P)!==T&&re.set(P,T),_}function ee(P){E.blockers.delete(P),re.delete(P)}function me(P,T){let _=E.blockers.get(P)||Qi;fe(_.state==="unblocked"&&T.state==="blocked"||_.state==="blocked"&&T.state==="blocked"||_.state==="blocked"&&T.state==="proceeding"||_.state==="blocked"&&T.state==="unblocked"||_.state==="proceeding"&&T.state==="unblocked","Invalid blocker state transition: "+_.state+" -> "+T.state);let U=new Map(E.blockers);U.set(P,T),Ke({blockers:U})}function Ee(P){let{currentLocation:T,nextLocation:_,historyAction:U}=P;if(re.size===0)return;re.size>1&&Pi(!1,"A router only supports one blocker at a time");let q=Array.from(re.entries()),[de,ie]=q[q.length-1],oe=E.blockers.get(de);if(!(oe&&oe.state==="proceeding")&&ie({currentLocation:T,nextLocation:_,historyAction:U}))return de}function nt(P){let T=[];return ce.forEach((_,U)=>{(!P||P(U))&&(_.cancel(),T.push(U),ce.delete(U))}),T}function mt(P,T,_){if(p=P,w=T,m=_||null,!g&&E.navigation===lc){g=!0;let U=Rp(E.location,E.matches);U!=null&&Ke({restoreScrollPosition:U})}return()=>{p=null,w=null,m=null}}function An(P,T){return m&&m(P,T.map(U=>Wb(U,E.loaderData)))||P.key}function Tu(P,T){if(p&&w){let _=An(P,T);p[_]=w()}}function Rp(P,T){if(p){let _=An(P,T),U=p[_];if(typeof U=="number")return U}return null}function dw(P){i={},s=xd(P,o,void 0,i)}return R={get basename(){return u},get future(){return l},get state(){return E},get routes(){return a},get window(){return t},initialize:bt,subscribe:jt,enableScrollRestoration:mt,navigate:Ur,fetch:Br,revalidate:ko,createHref:P=>e.history.createHref(P),encodeLocation:P=>e.history.encodeLocation(P),getFetcher:Re,deleteFetcher:tt,dispose:Vt,getBlocker:Wr,deleteBlocker:ee,_internalFetchControllers:A,_internalActiveDeferreds:ce,_internalSetRoutes:dw},R}function vE(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function bd(e,t,n,r,o,i,a,s){let u,l;if(a){u=[];for(let f of t)if(u.push(f),f.route.id===a){l=f;break}}else u=t,l=t[t.length-1];let d=_y(o||".",Ny(u,i),fs(e.pathname,n)||e.pathname,s==="path");return o==null&&(d.search=e.search,d.hash=e.hash),(o==null||o===""||o===".")&&l&&l.route.index&&!rp(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(d.pathname=d.pathname==="/"?n:Dr([n,d.pathname])),ds(d)}function Lh(e,t,n,r){if(!r||!vE(r))return{path:n};if(r.formMethod&&!SE(r.formMethod))return{path:n,error:qt(405,{method:r.formMethod})};let o=()=>({path:n,error:qt(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=Ay(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!pn(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((m,w)=>{let[g,b]=w;return""+m+g+"="+b+` -`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!pn(a))return o();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return o()}}}fe(typeof FormData=="function","FormData is not available in this environment");let u,l;if(r.formData)u=Ed(r.formData),l=r.formData;else if(r.body instanceof FormData)u=Ed(r.body),l=r.body;else if(r.body instanceof URLSearchParams)u=r.body,l=Bh(u);else if(r.body==null)u=new URLSearchParams,l=new FormData;else try{u=new URLSearchParams(r.body),l=Bh(u)}catch{return o()}let d={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(pn(d.formMethod))return{path:n,submission:d};let f=Jn(n);return t&&f.search&&rp(f.search)&&u.append("index",""),f.search="?"+u,{path:ds(f),submission:d}}function gE(e,t){let n=e;if(t){let r=e.findIndex(o=>o.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function Fh(e,t,n,r,o,i,a,s,u,l,d,f,p,m,w,g){let b=g?Object.values(g)[0]:w?Object.values(w)[0]:void 0,h=e.createURL(t.location),v=e.createURL(o),y=g?Object.keys(g)[0]:void 0,R=gE(n,y).filter((k,$)=>{let{route:N}=k;if(N.lazy)return!0;if(N.loader==null)return!1;if(i)return N.loader.hydrate?!0:t.loaderData[N.id]===void 0&&(!t.errors||t.errors[N.id]===void 0);if(yE(t.loaderData,t.matches[$],k)||s.some(H=>H===k.route.id))return!0;let I=t.matches[$],K=k;return zh(k,Ve({currentUrl:h,currentParams:I.params,nextUrl:v,nextParams:K.params},r,{actionResult:b,defaultShouldRevalidate:a||h.pathname+h.search===v.pathname+v.search||h.search!==v.search||Iy(I,K)}))}),E=[];return d.forEach((k,$)=>{if(i||!n.some(se=>se.route.id===k.routeId)||l.has($))return;let N=Ko(p,k.path,m);if(!N){E.push({key:$,routeId:k.routeId,path:k.path,matches:null,match:null,controller:null});return}let I=t.fetchers.get($),K=Sd(N,k.path),H=!1;f.has($)?H=!1:u.includes($)?H=!0:I&&I.state!=="idle"&&I.data===void 0?H=a:H=zh(K,Ve({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:v,nextParams:n[n.length-1].params},r,{actionResult:b,defaultShouldRevalidate:a})),H&&E.push({key:$,routeId:k.routeId,path:k.path,matches:N,match:K,controller:new AbortController})}),[R,E]}function yE(e,t,n){let r=!t||n.route.id!==t.route.id,o=e[n.route.id]===void 0;return r||o}function Iy(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function zh(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function Uh(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let o=n[e.id];fe(o,"No route found in manifest");let i={};for(let a in r){let u=o[a]!==void 0&&a!=="hasErrorBoundary";Pi(!u,'Route "'+o.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!u&&!Ub.has(a)&&(i[a]=r[a])}Object.assign(o,i),Object.assign(o,Ve({},t(o),{lazy:void 0}))}async function Gi(e,t,n,r,o,i,a,s,u){u===void 0&&(u={});let l,d,f,p=g=>{let b,h=new Promise((v,y)=>b=y);return f=()=>b(),t.signal.addEventListener("abort",f),Promise.race([g({request:t,params:n.params,context:u.requestContext}),h])};try{let g=n.route[e];if(n.route.lazy)if(g){let b,h=await Promise.all([p(g).catch(v=>{b=v}),Uh(n.route,i,o)]);if(b)throw b;d=h[0]}else if(await Uh(n.route,i,o),g=n.route[e],g)d=await p(g);else if(e==="action"){let b=new URL(t.url),h=b.pathname+b.search;throw qt(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:Be.data,data:void 0};else if(g)d=await p(g);else{let b=new URL(t.url),h=b.pathname+b.search;throw qt(404,{pathname:h})}fe(d!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(g){l=Be.error,d=g}finally{f&&t.signal.removeEventListener("abort",f)}if(EE(d)){let g=d.status;if(dE.has(g)){let h=d.headers.get("Location");if(fe(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!My.test(h))h=bd(new URL(t.url),r.slice(0,r.indexOf(n)+1),a,!0,h,s);else if(!u.isStaticRequest){let v=new URL(t.url),y=h.startsWith("//")?new URL(v.protocol+h):new URL(h),S=fs(y.pathname,a)!=null;y.origin===v.origin&&S&&(h=y.pathname+y.search+y.hash)}if(u.isStaticRequest)throw d.headers.set("Location",h),d;return{type:Be.redirect,status:g,location:h,revalidate:d.headers.get("X-Remix-Revalidate")!==null,reloadDocument:d.headers.get("X-Remix-Reload-Document")!==null}}if(u.isRouteRequest)throw{type:l===Be.error?Be.error:Be.data,response:d};let b;try{let h=d.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?d.body==null?b=null:b=await d.json():b=await d.text()}catch(h){return{type:Be.error,error:h}}return l===Be.error?{type:l,error:new np(g,d.statusText,b),headers:d.headers}:{type:Be.data,data:b,statusCode:d.status,headers:d.headers}}if(l===Be.error)return{type:l,error:d};if(bE(d)){var m,w;return{type:Be.deferred,deferredData:d,statusCode:(m=d.init)==null?void 0:m.status,headers:((w=d.init)==null?void 0:w.headers)&&new Headers(d.init.headers)}}return{type:Be.data,data:d}}function Yi(e,t,n,r){let o=e.createURL(Ay(t)).toString(),i={signal:n};if(r&&pn(r.formMethod)){let{formMethod:a,formEncType:s}=r;i.method=a.toUpperCase(),s==="application/json"?(i.headers=new Headers({"Content-Type":s}),i.body=JSON.stringify(r.json)):s==="text/plain"?i.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?i.body=Ed(r.formData):i.body=r.formData}return new Request(o,i)}function Ed(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Bh(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function wE(e,t,n,r,o){let i={},a=null,s,u=!1,l={};return n.forEach((d,f)=>{let p=t[f].route.id;if(fe(!Jr(d),"Cannot handle redirect results in processLoaderData"),Qo(d)){let m=ma(e,p),w=d.error;r&&(w=Object.values(r)[0],r=void 0),a=a||{},a[m.route.id]==null&&(a[m.route.id]=w),i[p]=void 0,u||(u=!0,s=Dy(d.error)?d.error.status:500),d.headers&&(l[p]=d.headers)}else Xr(d)?(o.set(p,d.deferredData),i[p]=d.deferredData.data):i[p]=d.data,d.statusCode!=null&&d.statusCode!==200&&!u&&(s=d.statusCode),d.headers&&(l[p]=d.headers)}),r&&(a=r,i[Object.keys(r)[0]]=void 0),{loaderData:i,errors:a,statusCode:s||200,loaderHeaders:l}}function Wh(e,t,n,r,o,i,a,s){let{loaderData:u,errors:l}=wE(t,n,r,o,s);for(let d=0;dr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function Hh(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function qt(e,t){let{pathname:n,routeId:r,method:o,type:i}=t===void 0?{}:t,a="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(a="Bad Request",o&&n&&r?s="You made a "+o+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?s="defer() is not supported in actions":i==="invalid-body"&&(s="Unable to encode submission body")):e===403?(a="Forbidden",s='Route "'+r+'" does not match URL "'+n+'"'):e===404?(a="Not Found",s='No route matches URL "'+n+'"'):e===405&&(a="Method Not Allowed",o&&n&&r?s="You made a "+o.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":o&&(s='Invalid request method "'+o.toUpperCase()+'"')),new np(e||500,a,new Error(s),!0)}function Kh(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Jr(n))return{result:n,idx:t}}}function Ay(e){let t=typeof e=="string"?Jn(e):e;return ds(Ve({},t,{hash:""}))}function xE(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Xr(e){return e.type===Be.deferred}function Qo(e){return e.type===Be.error}function Jr(e){return(e&&e.type)===Be.redirect}function bE(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function EE(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function SE(e){return cE.has(e.toLowerCase())}function pn(e){return lE.has(e.toLowerCase())}async function Qh(e,t,n,r,o,i){for(let a=0;af.route.id===u.route.id),d=l!=null&&!Iy(l,u)&&(i&&i[u.route.id])!==void 0;if(Xr(s)&&(o||d)){let f=r[a];fe(f,"Expected an AbortSignal for revalidating fetcher deferred result"),await Ly(s,f,o).then(p=>{p&&(n[a]=p||n[a])})}}}async function Ly(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Be.data,data:e.deferredData.unwrappedData}}catch(o){return{type:Be.error,error:o}}return{type:Be.data,data:e.deferredData.data}}}function rp(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Sd(e,t){let n=typeof t=="string"?Jn(t).search:t.search;if(e[e.length-1].route.index&&rp(n||""))return e[e.length-1];let r=Ty(e);return r[r.length-1]}function Gh(e){let{formMethod:t,formAction:n,formEncType:r,text:o,formData:i,json:a}=e;if(!(!t||!n||!r)){if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:o};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function uc(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function CE(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function qi(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function RE(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function ar(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function kE(e,t){try{let n=e.sessionStorage.getItem(jy);if(n){let r=JSON.parse(n);for(let[o,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(o,new Set(i||[]))}}catch{}}function PE(e,t){if(t.size>0){let n={};for(let[r,o]of t)n[r]=[...o];try{e.sessionStorage.setItem(jy,JSON.stringify(n))}catch(r){Pi(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** - * React Router v6.22.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function za(){return za=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),c.useCallback(function(l,d){if(d===void 0&&(d={}),!s.current)return;if(typeof l=="number"){r.go(l);return}let f=_y(l,JSON.parse(a),i,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:Dr([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,a,i,e])}function TE(e,t,n,r){Eu()||fe(!1);let{navigator:o}=c.useContext(xu),{matches:i}=c.useContext(Mi),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let u=a?a.pathnameBase:"/";a&&a.route;let l=Uy(),d;if(t){var f;let b=typeof t=="string"?Jn(t):t;u==="/"||(f=b.pathname)!=null&&f.startsWith(u)||fe(!1),d=b}else d=l;let p=d.pathname||"/",m=p;if(u!=="/"){let b=u.replace(/^\//,"").split("/");m="/"+p.replace(/^\//,"").split("/").slice(b.length).join("/")}let w=Ko(e,{pathname:m}),g=ME(w&&w.map(b=>Object.assign({},b,{params:Object.assign({},s,b.params),pathname:Dr([u,o.encodeLocation?o.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?u:Dr([u,o.encodeLocation?o.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),i,n,r);return t&&g?c.createElement(bu.Provider,{value:{location:za({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Qe.Pop}},g):g}function NE(){let e=LE(),t=Dy(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),n?c.createElement("pre",{style:o},n):null,null)}const _E=c.createElement(NE,null);class DE extends c.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?c.createElement(Mi.Provider,{value:this.props.routeContext},c.createElement(zy.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function OE(e){let{routeContext:t,match:n,children:r}=e,o=c.useContext(wu);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),c.createElement(Mi.Provider,{value:t},r)}function ME(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let d=a.findIndex(f=>f.route.id&&(s==null?void 0:s[f.route.id]));d>=0||fe(!1),a=a.slice(0,Math.min(a.length,d+1))}let u=!1,l=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d=0?a=a.slice(0,l+1):a=[a[0]];break}}}return a.reduceRight((d,f,p)=>{let m,w=!1,g=null,b=null;n&&(m=s&&f.route.id?s[f.route.id]:void 0,g=f.route.errorElement||_E,u&&(l<0&&p===0?(zE("route-fallback",!1),w=!0,b=null):l===p&&(w=!0,b=f.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,p+1)),v=()=>{let y;return m?y=g:w?y=b:f.route.Component?y=c.createElement(f.route.Component,null):f.route.element?y=f.route.element:y=d,c.createElement(OE,{match:f,routeContext:{outlet:d,matches:h,isDataRoute:n!=null},children:y})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?c.createElement(DE,{location:n.location,revalidation:n.revalidation,component:g,error:m,children:v(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):v()},null)}var Vy=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Vy||{}),Wl=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Wl||{});function jE(e){let t=c.useContext(wu);return t||fe(!1),t}function IE(e){let t=c.useContext(Fy);return t||fe(!1),t}function AE(e){let t=c.useContext(Mi);return t||fe(!1),t}function Hy(e){let t=AE(),n=t.matches[t.matches.length-1];return n.route.id||fe(!1),n.route.id}function LE(){var e;let t=c.useContext(zy),n=IE(Wl.UseRouteError),r=Hy(Wl.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function FE(){let{router:e}=jE(Vy.UseNavigateStable),t=Hy(Wl.UseNavigateStable),n=c.useRef(!1);return By(()=>{n.current=!0}),c.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,za({fromRouteId:t},i)))},[e,t])}const Yh={};function zE(e,t,n){!t&&!Yh[e]&&(Yh[e]=!0)}function UE(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Qe.Pop,navigator:i,static:a=!1,future:s}=e;Eu()&&fe(!1);let u=t.replace(/^\/*/,"/"),l=c.useMemo(()=>({basename:u,navigator:i,static:a,future:za({v7_relativeSplatPath:!1},s)}),[u,s,i,a]);typeof r=="string"&&(r=Jn(r));let{pathname:d="/",search:f="",hash:p="",state:m=null,key:w="default"}=r,g=c.useMemo(()=>{let b=fs(d,u);return b==null?null:{location:{pathname:b,search:f,hash:p,state:m,key:w},navigationType:o}},[u,d,f,p,m,w,o]);return g==null?null:c.createElement(xu.Provider,{value:l},c.createElement(bu.Provider,{children:n,value:g}))}new Promise(()=>{});function BE(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:c.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:c.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:c.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** - * React Router DOM v6.22.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Vl(){return Vl=Object.assign?Object.assign.bind():function(e){for(var t=1;t{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}}function ZE(e){let{fallbackElement:t,router:n,future:r}=e,[o,i]=c.useState(n.state),[a,s]=c.useState(),[u,l]=c.useState({isTransitioning:!1}),[d,f]=c.useState(),[p,m]=c.useState(),[w,g]=c.useState(),b=c.useRef(new Map),{v7_startTransition:h}=r||{},v=c.useCallback(k=>{h?XE(k):k()},[h]),y=c.useCallback((k,$)=>{let{deletedFetchers:N,unstable_flushSync:I,unstable_viewTransitionOpts:K}=$;N.forEach(se=>b.current.delete(se)),k.fetchers.forEach((se,Y)=>{se.data!==void 0&&b.current.set(Y,se.data)});let H=n.window==null||typeof n.window.document.startViewTransition!="function";if(!K||H){I?Xi(()=>i(k)):v(()=>i(k));return}if(I){Xi(()=>{p&&(d&&d.resolve(),p.skipTransition()),l({isTransitioning:!0,flushSync:!0,currentLocation:K.currentLocation,nextLocation:K.nextLocation})});let se=n.window.document.startViewTransition(()=>{Xi(()=>i(k))});se.finished.finally(()=>{Xi(()=>{f(void 0),m(void 0),s(void 0),l({isTransitioning:!1})})}),Xi(()=>m(se));return}p?(d&&d.resolve(),p.skipTransition(),g({state:k,currentLocation:K.currentLocation,nextLocation:K.nextLocation})):(s(k),l({isTransitioning:!0,flushSync:!1,currentLocation:K.currentLocation,nextLocation:K.nextLocation}))},[n.window,p,d,b,v]);c.useLayoutEffect(()=>n.subscribe(y),[n,y]),c.useEffect(()=>{u.isTransitioning&&!u.flushSync&&f(new JE)},[u]),c.useEffect(()=>{if(d&&a&&n.window){let k=a,$=d.promise,N=n.window.document.startViewTransition(async()=>{v(()=>i(k)),await $});N.finished.finally(()=>{f(void 0),m(void 0),s(void 0),l({isTransitioning:!1})}),m(N)}},[v,a,d,n.window]),c.useEffect(()=>{d&&a&&o.location.key===a.location.key&&d.resolve()},[d,p,o.location,a]),c.useEffect(()=>{!u.isTransitioning&&w&&(s(w.state),l({isTransitioning:!0,flushSync:!1,currentLocation:w.currentLocation,nextLocation:w.nextLocation}),g(void 0))},[u.isTransitioning,w]),c.useEffect(()=>{},[]);let S=c.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:k=>n.navigate(k),push:(k,$,N)=>n.navigate(k,{state:$,preventScrollReset:N==null?void 0:N.preventScrollReset}),replace:(k,$,N)=>n.navigate(k,{replace:!0,state:$,preventScrollReset:N==null?void 0:N.preventScrollReset})}),[n]),R=n.basename||"/",E=c.useMemo(()=>({router:n,navigator:S,static:!1,basename:R}),[n,S,R]);return c.createElement(c.Fragment,null,c.createElement(wu.Provider,{value:E},c.createElement(Fy.Provider,{value:o},c.createElement(GE.Provider,{value:b.current},c.createElement(QE.Provider,{value:u},c.createElement(UE,{basename:R,location:o.location,navigationType:o.historyAction,navigator:S,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},o.initialized||n.future.v7_partialHydration?c.createElement(eS,{routes:n.routes,future:n.future,state:o}):t))))),null)}function eS(e){let{routes:t,future:n,state:r}=e;return TE(t,void 0,r,n)}var Jh;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Jh||(Jh={}));var Zh;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Zh||(Zh={}));function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;ts,Object.values(s));return c.createElement(n.Provider,{value:u},a)}function o(i){const a=c.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",[r,o]}function Ro(e,t=[]){let n=[];function r(i,a){const s=c.createContext(a),u=n.length;n=[...n,a];function l(f){const{scope:p,children:m,...w}=f,g=(p==null?void 0:p[e][u])||s,b=c.useMemo(()=>w,Object.values(w));return c.createElement(g.Provider,{value:b},m)}function d(f,p){const m=(p==null?void 0:p[e][u])||s,w=c.useContext(m);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${i}\``)}return l.displayName=i+"Provider",[l,d]}const o=()=>{const i=n.map(a=>c.createContext(a));return function(s){const u=(s==null?void 0:s[e])||i;return c.useMemo(()=>({[`__scope${e}`]:{...s,[e]:u}}),[s,u])}};return o.scopeName=e,[r,nS(o,...t)]}function nS(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=r.reduce((s,{useScope:u,scopeName:l})=>{const f=u(i)[`__scope${l}`];return{...s,...f}},{});return c.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function we(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function rS(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function op(...e){return t=>e.forEach(n=>rS(n,t))}function ht(...e){return c.useCallback(op(...e),e)}const $i=c.forwardRef((e,t)=>{const{children:n,...r}=e,o=c.Children.toArray(n),i=o.find(oS);if(i){const a=i.props.children,s=o.map(u=>u===i?c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null:u);return c.createElement(Cd,X({},r,{ref:t}),c.isValidElement(a)?c.cloneElement(a,void 0,s):null)}return c.createElement(Cd,X({},r,{ref:t}),n)});$i.displayName="Slot";const Cd=c.forwardRef((e,t)=>{const{children:n,...r}=e;return c.isValidElement(n)?c.cloneElement(n,{...iS(r,n.props),ref:t?op(t,n.ref):n.ref}):c.Children.count(n)>1?c.Children.only(null):null});Cd.displayName="SlotClone";const Ky=({children:e})=>c.createElement(c.Fragment,null,e);function oS(e){return c.isValidElement(e)&&e.type===Ky}function iS(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{i(...s),o(...s)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}const aS=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],De=aS.reduce((e,t)=>{const n=c.forwardRef((r,o)=>{const{asChild:i,...a}=r,s=i?$i:t;return c.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),c.createElement(s,X({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Rd(e,t){e&&cs.flushSync(()=>e.dispatchEvent(t))}function Rt(e){const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function Su({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=sS({defaultProp:t,onChange:n}),i=e!==void 0,a=i?e:r,s=Rt(n),u=c.useCallback(l=>{if(i){const f=typeof l=="function"?l(e):l;f!==e&&s(f)}else o(l)},[i,e,o,s]);return[a,u]}function sS({defaultProp:e,onChange:t}){const n=c.useState(e),[r]=n,o=c.useRef(r),i=Rt(t);return c.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),n}const lS=c.createContext(void 0);function ip(e){const t=c.useContext(lS);return e||t||"ltr"}const bo=globalThis!=null&&globalThis.document?c.useLayoutEffect:()=>{};function uS(e,t){return c.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Zn=e=>{const{present:t,children:n}=e,r=cS(t),o=typeof n=="function"?n({present:r.isPresent}):c.Children.only(n),i=ht(r.ref,o.ref);return typeof n=="function"||r.isPresent?c.cloneElement(o,{ref:i}):null};Zn.displayName="Presence";function cS(e){const[t,n]=c.useState(),r=c.useRef({}),o=c.useRef(e),i=c.useRef("none"),a=e?"mounted":"unmounted",[s,u]=uS(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return c.useEffect(()=>{const l=As(r.current);i.current=s==="mounted"?l:"none"},[s]),bo(()=>{const l=r.current,d=o.current;if(d!==e){const p=i.current,m=As(l);e?u("MOUNT"):m==="none"||(l==null?void 0:l.display)==="none"?u("UNMOUNT"):u(d&&p!==m?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,u]),bo(()=>{if(t){const l=f=>{const m=As(r.current).includes(f.animationName);f.target===t&&m&&cs.flushSync(()=>u("ANIMATION_END"))},d=f=>{f.target===t&&(i.current=As(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",l),t.addEventListener("animationend",l),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",l),t.removeEventListener("animationend",l)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:c.useCallback(l=>{l&&(r.current=getComputedStyle(l)),n(l)},[])}}function As(e){return(e==null?void 0:e.animationName)||"none"}const dS=Ev.useId||(()=>{});let fS=0;function ei(e){const[t,n]=c.useState(dS());return bo(()=>{e||n(r=>r??String(fS++))},[e]),e||(t?`radix-${t}`:"")}function ap(e){const t=e+"CollectionProvider",[n,r]=Ro(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:w,children:g}=m,b=M.useRef(null),h=M.useRef(new Map).current;return M.createElement(o,{scope:w,itemMap:h,collectionRef:b},g)},s=e+"CollectionSlot",u=M.forwardRef((m,w)=>{const{scope:g,children:b}=m,h=i(s,g),v=ht(w,h.collectionRef);return M.createElement($i,{ref:v},b)}),l=e+"CollectionItemSlot",d="data-radix-collection-item",f=M.forwardRef((m,w)=>{const{scope:g,children:b,...h}=m,v=M.useRef(null),y=ht(w,v),S=i(l,g);return M.useEffect(()=>(S.itemMap.set(v,{ref:v,...h}),()=>void S.itemMap.delete(v))),M.createElement($i,{[d]:"",ref:y},b)});function p(m){const w=i(e+"CollectionConsumer",m);return M.useCallback(()=>{const b=w.collectionRef.current;if(!b)return[];const h=Array.from(b.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((S,R)=>h.indexOf(S.ref.current)-h.indexOf(R.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:u,ItemSlot:f},p,r]}function pS(e,t=globalThis==null?void 0:globalThis.document){const n=Rt(e);c.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const kd="dismissableLayer.update",hS="dismissableLayer.pointerDownOutside",mS="dismissableLayer.focusOutside";let em;const vS=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Qy=c.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:u,...l}=e,d=c.useContext(vS),[f,p]=c.useState(null),m=(n=f==null?void 0:f.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,w]=c.useState({}),g=ht(t,$=>p($)),b=Array.from(d.layers),[h]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),v=b.indexOf(h),y=f?b.indexOf(f):-1,S=d.layersWithOutsidePointerEventsDisabled.size>0,R=y>=v,E=gS($=>{const N=$.target,I=[...d.branches].some(K=>K.contains(N));!R||I||(i==null||i($),s==null||s($),$.defaultPrevented||u==null||u())},m),k=yS($=>{const N=$.target;[...d.branches].some(K=>K.contains(N))||(a==null||a($),s==null||s($),$.defaultPrevented||u==null||u())},m);return pS($=>{y===d.layers.size-1&&(o==null||o($),!$.defaultPrevented&&u&&($.preventDefault(),u()))},m),c.useEffect(()=>{if(f)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(em=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),tm(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=em)}},[f,m,r,d]),c.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),tm())},[f,d]),c.useEffect(()=>{const $=()=>w({});return document.addEventListener(kd,$),()=>document.removeEventListener(kd,$)},[]),c.createElement(De.div,X({},l,{ref:g,style:{pointerEvents:S?R?"auto":"none":void 0,...e.style},onFocusCapture:we(e.onFocusCapture,k.onFocusCapture),onBlurCapture:we(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:we(e.onPointerDownCapture,E.onPointerDownCapture)}))});function gS(e,t=globalThis==null?void 0:globalThis.document){const n=Rt(e),r=c.useRef(!1),o=c.useRef(()=>{});return c.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let d=function(){Gy(hS,n,l,{discrete:!0})};var u=d;const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function yS(e,t=globalThis==null?void 0:globalThis.document){const n=Rt(e),r=c.useRef(!1);return c.useEffect(()=>{const o=i=>{i.target&&!r.current&&Gy(mS,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function tm(){const e=new CustomEvent(kd);document.dispatchEvent(e)}function Gy(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Rd(o,i):o.dispatchEvent(i)}function Yy(e){const t=c.useRef({value:e,previous:e});return c.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const wS=c.forwardRef((e,t)=>c.createElement(De.span,X({},e,{ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}))),xS=wS,ps="NavigationMenu",[sp,qy,bS]=ap(ps),[Pd,ES,SS]=ap(ps),[lp,BT]=Ro(ps,[bS,SS]),[CS,yn]=lp(ps),[RS,kS]=lp(ps),PS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,onValueChange:o,defaultValue:i,delayDuration:a=200,skipDelayDuration:s=300,orientation:u="horizontal",dir:l,...d}=e,[f,p]=c.useState(null),m=ht(t,N=>p(N)),w=ip(l),g=c.useRef(0),b=c.useRef(0),h=c.useRef(0),[v,y]=c.useState(!0),[S="",R]=Su({prop:r,onChange:N=>{const I=N!=="",K=s>0;I?(window.clearTimeout(h.current),K&&y(!1)):(window.clearTimeout(h.current),h.current=window.setTimeout(()=>y(!0),s)),o==null||o(N)},defaultProp:i}),E=c.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>R(""),150)},[R]),k=c.useCallback(N=>{window.clearTimeout(b.current),R(N)},[R]),$=c.useCallback(N=>{S===N?window.clearTimeout(b.current):g.current=window.setTimeout(()=>{window.clearTimeout(b.current),R(N)},a)},[S,R,a]);return c.useEffect(()=>()=>{window.clearTimeout(g.current),window.clearTimeout(b.current),window.clearTimeout(h.current)},[]),c.createElement($S,{scope:n,isRootMenu:!0,value:S,dir:w,orientation:u,rootNavigationMenu:f,onTriggerEnter:N=>{window.clearTimeout(g.current),v?$(N):k(N)},onTriggerLeave:()=>{window.clearTimeout(g.current),E()},onContentEnter:()=>window.clearTimeout(b.current),onContentLeave:E,onItemSelect:N=>{R(I=>I===N?"":N)},onItemDismiss:()=>R("")},c.createElement(De.nav,X({"aria-label":"Main","data-orientation":u,dir:w},d,{ref:m})))}),$S=e=>{const{scope:t,isRootMenu:n,rootNavigationMenu:r,dir:o,orientation:i,children:a,value:s,onItemSelect:u,onItemDismiss:l,onTriggerEnter:d,onTriggerLeave:f,onContentEnter:p,onContentLeave:m}=e,[w,g]=c.useState(null),[b,h]=c.useState(new Map),[v,y]=c.useState(null);return c.createElement(CS,{scope:t,isRootMenu:n,rootNavigationMenu:r,value:s,previousValue:Yy(s),baseId:ei(),dir:o,orientation:i,viewport:w,onViewportChange:g,indicatorTrack:v,onIndicatorTrackChange:y,onTriggerEnter:Rt(d),onTriggerLeave:Rt(f),onContentEnter:Rt(p),onContentLeave:Rt(m),onItemSelect:Rt(u),onItemDismiss:Rt(l),onViewportContentChange:c.useCallback((S,R)=>{h(E=>(E.set(S,R),new Map(E)))},[]),onViewportContentRemove:c.useCallback(S=>{h(R=>R.has(S)?(R.delete(S),new Map(R)):R)},[])},c.createElement(sp.Provider,{scope:t},c.createElement(RS,{scope:t,items:b},a)))},TS="NavigationMenuList",NS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(TS,n),i=c.createElement(De.ul,X({"data-orientation":o.orientation},r,{ref:t}));return c.createElement(De.div,{style:{position:"relative"},ref:o.onIndicatorTrackChange},c.createElement(sp.Slot,{scope:n},o.isRootMenu?c.createElement(t0,{asChild:!0},i):i))}),_S="NavigationMenuItem",[DS,Xy]=lp(_S),OS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,...o}=e,i=ei(),a=r||i||"LEGACY_REACT_AUTO_VALUE",s=c.useRef(null),u=c.useRef(null),l=c.useRef(null),d=c.useRef(()=>{}),f=c.useRef(!1),p=c.useCallback((w="start")=>{if(s.current){d.current();const g=$d(s.current);g.length&&up(w==="start"?g:g.reverse())}},[]),m=c.useCallback(()=>{if(s.current){const w=$d(s.current);w.length&&(d.current=VS(w))}},[]);return c.createElement(DS,{scope:n,value:a,triggerRef:u,contentRef:s,focusProxyRef:l,wasEscapeCloseRef:f,onEntryKeyDown:p,onFocusProxyEnter:p,onRootContentClose:m,onContentFocusOutside:m},c.createElement(De.li,X({},o,{ref:t})))}),nm="NavigationMenuTrigger",MS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,disabled:r,...o}=e,i=yn(nm,e.__scopeNavigationMenu),a=Xy(nm,e.__scopeNavigationMenu),s=c.useRef(null),u=ht(s,a.triggerRef,t),l=r0(i.baseId,a.value),d=o0(i.baseId,a.value),f=c.useRef(!1),p=c.useRef(!1),m=a.value===i.value;return c.createElement(c.Fragment,null,c.createElement(sp.ItemSlot,{scope:n,value:a.value},c.createElement(n0,{asChild:!0},c.createElement(De.button,X({id:l,disabled:r,"data-disabled":r?"":void 0,"data-state":cp(m),"aria-expanded":m,"aria-controls":d},o,{ref:u,onPointerEnter:we(e.onPointerEnter,()=>{p.current=!1,a.wasEscapeCloseRef.current=!1}),onPointerMove:we(e.onPointerMove,Hl(()=>{r||p.current||a.wasEscapeCloseRef.current||f.current||(i.onTriggerEnter(a.value),f.current=!0)})),onPointerLeave:we(e.onPointerLeave,Hl(()=>{r||(i.onTriggerLeave(),f.current=!1)})),onClick:we(e.onClick,()=>{i.onItemSelect(a.value),p.current=m}),onKeyDown:we(e.onKeyDown,w=>{const b={horizontal:"ArrowDown",vertical:i.dir==="rtl"?"ArrowLeft":"ArrowRight"}[i.orientation];m&&w.key===b&&(a.onEntryKeyDown(),w.preventDefault())})})))),m&&c.createElement(c.Fragment,null,c.createElement(xS,{"aria-hidden":!0,tabIndex:0,ref:a.focusProxyRef,onFocus:w=>{const g=a.contentRef.current,b=w.relatedTarget,h=b===s.current,v=g==null?void 0:g.contains(b);(h||!v)&&a.onFocusProxyEnter(h?"start":"end")}}),i.viewport&&c.createElement("span",{"aria-owns":d})))}),rm="navigationMenu.linkSelect",jS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,active:r,onSelect:o,...i}=e;return c.createElement(n0,{asChild:!0},c.createElement(De.a,X({"data-active":r?"":void 0,"aria-current":r?"page":void 0},i,{ref:t,onClick:we(e.onClick,a=>{const s=a.target,u=new CustomEvent(rm,{bubbles:!0,cancelable:!0});if(s.addEventListener(rm,l=>o==null?void 0:o(l),{once:!0}),Rd(s,u),!u.defaultPrevented&&!a.metaKey){const l=new CustomEvent(ll,{bubbles:!0,cancelable:!0});Rd(s,l)}},{checkForDefaultPrevented:!1})})))}),Jy="NavigationMenuIndicator",IS=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yn(Jy,e.__scopeNavigationMenu),i=!!o.value;return o.indicatorTrack?yu.createPortal(c.createElement(Zn,{present:n||i},c.createElement(AS,X({},r,{ref:t}))),o.indicatorTrack):null}),AS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(Jy,n),i=qy(n),[a,s]=c.useState(null),[u,l]=c.useState(null),d=o.orientation==="horizontal",f=!!o.value;c.useEffect(()=>{var m;const g=(m=i().find(b=>b.value===o.value))===null||m===void 0?void 0:m.ref.current;g&&s(g)},[i,o.value]);const p=()=>{a&&l({size:d?a.offsetWidth:a.offsetHeight,offset:d?a.offsetLeft:a.offsetTop})};return Td(a,p),Td(o.indicatorTrack,p),u?c.createElement(De.div,X({"aria-hidden":!0,"data-state":f?"visible":"hidden","data-orientation":o.orientation},r,{ref:t,style:{position:"absolute",...d?{left:0,width:u.size+"px",transform:`translateX(${u.offset}px)`}:{top:0,height:u.size+"px",transform:`translateY(${u.offset}px)`},...r.style}})):null}),Ua="NavigationMenuContent",LS=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yn(Ua,e.__scopeNavigationMenu),i=Xy(Ua,e.__scopeNavigationMenu),a=ht(i.contentRef,t),s=i.value===o.value,u={value:i.value,triggerRef:i.triggerRef,focusProxyRef:i.focusProxyRef,wasEscapeCloseRef:i.wasEscapeCloseRef,onContentFocusOutside:i.onContentFocusOutside,onRootContentClose:i.onRootContentClose,...r};return o.viewport?c.createElement(FS,X({forceMount:n},u,{ref:a})):c.createElement(Zn,{present:n||s},c.createElement(Zy,X({"data-state":cp(s)},u,{ref:a,onPointerEnter:we(e.onPointerEnter,o.onContentEnter),onPointerLeave:we(e.onPointerLeave,Hl(o.onContentLeave)),style:{pointerEvents:!s&&o.isRootMenu?"none":void 0,...u.style}})))}),FS=c.forwardRef((e,t)=>{const n=yn(Ua,e.__scopeNavigationMenu),{onViewportContentChange:r,onViewportContentRemove:o}=n;return bo(()=>{r(e.value,{ref:t,...e})},[e,t,r]),bo(()=>()=>o(e.value),[e.value,o]),null}),ll="navigationMenu.rootContentDismiss",Zy=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,triggerRef:o,focusProxyRef:i,wasEscapeCloseRef:a,onRootContentClose:s,onContentFocusOutside:u,...l}=e,d=yn(Ua,n),f=c.useRef(null),p=ht(f,t),m=r0(d.baseId,r),w=o0(d.baseId,r),g=qy(n),b=c.useRef(null),{onItemDismiss:h}=d;c.useEffect(()=>{const y=f.current;if(d.isRootMenu&&y){const S=()=>{var R;h(),s(),y.contains(document.activeElement)&&((R=o.current)===null||R===void 0||R.focus())};return y.addEventListener(ll,S),()=>y.removeEventListener(ll,S)}},[d.isRootMenu,e.value,o,h,s]);const v=c.useMemo(()=>{const S=g().map(I=>I.value);d.dir==="rtl"&&S.reverse();const R=S.indexOf(d.value),E=S.indexOf(d.previousValue),k=r===d.value,$=E===S.indexOf(r);if(!k&&!$)return b.current;const N=(()=>{if(R!==E){if(k&&E!==-1)return R>E?"from-end":"from-start";if($&&R!==-1)return R>E?"to-start":"to-end"}return null})();return b.current=N,N},[d.previousValue,d.value,d.dir,g,r]);return c.createElement(t0,{asChild:!0},c.createElement(Qy,X({id:w,"aria-labelledby":m,"data-motion":v,"data-orientation":d.orientation},l,{ref:p,onDismiss:()=>{var y;const S=new Event(ll,{bubbles:!0,cancelable:!0});(y=f.current)===null||y===void 0||y.dispatchEvent(S)},onFocusOutside:we(e.onFocusOutside,y=>{var S;u();const R=y.target;(S=d.rootNavigationMenu)!==null&&S!==void 0&&S.contains(R)&&y.preventDefault()}),onPointerDownOutside:we(e.onPointerDownOutside,y=>{var S;const R=y.target,E=g().some($=>{var N;return(N=$.ref.current)===null||N===void 0?void 0:N.contains(R)}),k=d.isRootMenu&&((S=d.viewport)===null||S===void 0?void 0:S.contains(R));(E||k||!d.isRootMenu)&&y.preventDefault()}),onKeyDown:we(e.onKeyDown,y=>{const S=y.altKey||y.ctrlKey||y.metaKey;if(y.key==="Tab"&&!S){const k=$d(y.currentTarget),$=document.activeElement,N=k.findIndex(H=>H===$),K=y.shiftKey?k.slice(0,N).reverse():k.slice(N+1,k.length);if(up(K))y.preventDefault();else{var E;(E=i.current)===null||E===void 0||E.focus()}}}),onEscapeKeyDown:we(e.onEscapeKeyDown,y=>{a.current=!0})})))}),e0="NavigationMenuViewport",zS=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=!!yn(e0,e.__scopeNavigationMenu).value;return c.createElement(Zn,{present:n||i},c.createElement(US,X({},r,{ref:t})))}),US=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,children:r,...o}=e,i=yn(e0,n),a=ht(t,i.onViewportChange),s=kS(Ua,e.__scopeNavigationMenu),[u,l]=c.useState(null),[d,f]=c.useState(null),p=u?(u==null?void 0:u.width)+"px":void 0,m=u?(u==null?void 0:u.height)+"px":void 0,w=!!i.value,g=w?i.value:i.previousValue;return Td(d,()=>{d&&l({width:d.offsetWidth,height:d.offsetHeight})}),c.createElement(De.div,X({"data-state":cp(w),"data-orientation":i.orientation},o,{ref:a,style:{pointerEvents:!w&&i.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":p,"--radix-navigation-menu-viewport-height":m,...o.style},onPointerEnter:we(e.onPointerEnter,i.onContentEnter),onPointerLeave:we(e.onPointerLeave,Hl(i.onContentLeave))}),Array.from(s.items).map(([h,{ref:v,forceMount:y,...S}])=>{const R=g===h;return c.createElement(Zn,{key:h,present:y||R},c.createElement(Zy,X({},S,{ref:op(v,E=>{R&&E&&f(E)})})))}))}),BS="FocusGroup",t0=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(BS,n);return c.createElement(Pd.Provider,{scope:n},c.createElement(Pd.Slot,{scope:n},c.createElement(De.div,X({dir:o.dir},r,{ref:t}))))}),om=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],WS="FocusGroupItem",n0=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=ES(n),i=yn(WS,n);return c.createElement(Pd.ItemSlot,{scope:n},c.createElement(De.button,X({},r,{ref:t,onKeyDown:we(e.onKeyDown,a=>{if(["Home","End",...om].includes(a.key)){let u=o().map(f=>f.ref.current);if([i.dir==="rtl"?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(a.key)&&u.reverse(),om.includes(a.key)){const f=u.indexOf(a.currentTarget);u=u.slice(f+1)}setTimeout(()=>up(u)),a.preventDefault()}})})))});function $d(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function up(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}function VS(e){return e.forEach(t=>{t.dataset.tabindex=t.getAttribute("tabindex")||"",t.setAttribute("tabindex","-1")}),()=>{e.forEach(t=>{const n=t.dataset.tabindex;t.setAttribute("tabindex",n)})}}function Td(e,t){const n=Rt(t);bo(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}function cp(e){return e?"open":"closed"}function r0(e,t){return`${e}-trigger-${t}`}function o0(e,t){return`${e}-content-${t}`}function Hl(e){return t=>t.pointerType==="mouse"?e(t):void 0}const i0=PS,a0=NS,HS=OS,s0=MS,KS=jS,l0=IS,u0=LS,c0=zS;function d0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;ttypeof e=="boolean"?"".concat(e):e===0?"0":e,am=QS,dp=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return am(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(l=>{const d=n==null?void 0:n[l],f=i==null?void 0:i[l];if(d===null)return null;const p=im(d)||im(f);return o[l][p]}),s=n&&Object.entries(n).reduce((l,d)=>{let[f,p]=d;return p===void 0||(l[f]=p),l},{}),u=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((l,d)=>{let{class:f,className:p,...m}=d;return Object.entries(m).every(w=>{let[g,b]=w;return Array.isArray(b)?b.includes({...i,...s}[g]):{...i,...s}[g]===b})?[...l,f,p]:l},[]);return am(e,a,u,n==null?void 0:n.class,n==null?void 0:n.className)};/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var GS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const YS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),jn=(e,t)=>{const n=c.forwardRef(({color:r="currentColor",size:o=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:s="",children:u,...l},d)=>c.createElement("svg",{ref:d,...GS,width:o,height:o,stroke:r,strokeWidth:a?Number(i)*24/Number(o):i,className:["lucide",`lucide-${YS(e)}`,s].join(" "),...l},[...t.map(([f,p])=>c.createElement(f,p)),...Array.isArray(u)?u:[u]]));return n.displayName=`${e}`,n};/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const qS=jn("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const XS=jn("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const JS=jn("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ZS=jn("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const eC=jn("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const tC=jn("Import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ba=jn("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const nC=jn("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const rC=jn("Replace",[["path",{d:"M14 4c0-1.1.9-2 2-2",key:"1mvvbw"}],["path",{d:"M20 2c1.1 0 2 .9 2 2",key:"1mj6oe"}],["path",{d:"M22 8c0 1.1-.9 2-2 2",key:"v1wql3"}],["path",{d:"M16 10c-1.1 0-2-.9-2-2",key:"821ux0"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5c0-1.7 1.3-3 3-3h1",key:"13af7h"}],["rect",{width:"8",height:"8",x:"2",y:"14",rx:"2",key:"17ihk4"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const oC=jn("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function f0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts(i)))==null?void 0:a.classGroupId}const sm=/^\[(.+)\]$/;function sC(e){if(sm.test(e)){const t=sm.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}function lC(e){const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return cC(Object.entries(e.classGroups),n).forEach(([i,a])=>{Nd(a,r,i,t)}),r}function Nd(e,t,n,r){e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:lm(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(uC(o)){Nd(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Nd(a,lm(t,i),n,r)})})}function lm(e,t){let n=e;return t.split(fp).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n}function uC(e){return e.isThemeGetter}function cC(e,t){return t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e}function dC(e){if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;function o(i,a){n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)}return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}}const h0="!";function fC(e){const t=e.separator,n=t.length===1,r=t[0],o=t.length;return function(a){const s=[];let u=0,l=0,d;for(let g=0;gl?d-l:void 0;return{modifiers:s,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:w}}}function pC(e){if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t}function hC(e){return{cache:dC(e.cacheSize),splitModifiers:fC(e),...aC(e)}}const mC=/\s+/;function vC(e,t){const{splitModifiers:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=new Set;return e.trim().split(mC).map(a=>{const{modifiers:s,hasImportantModifier:u,baseClassName:l,maybePostfixModifierPosition:d}=n(a);let f=r(d?l.substring(0,d):l),p=!!d;if(!f){if(!d)return{isTailwindClass:!1,originalClassName:a};if(f=r(l),!f)return{isTailwindClass:!1,originalClassName:a};p=!1}const m=pC(s).join(":");return{isTailwindClass:!0,modifierId:u?m+h0:m,classGroupId:f,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;const{modifierId:s,classGroupId:u,hasPostfixModifier:l}=a,d=s+u;return i.has(d)?!1:(i.add(d),o(u,l).forEach(f=>i.add(s+f)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function gC(){let e=0,t,n,r="";for(;ef(d),e());return n=hC(l),r=n.cache.get,o=n.cache.set,i=s,s(u)}function s(u){const l=r(u);if(l)return l;const d=vC(u,n);return o(u,d),d}return function(){return i(gC.apply(null,arguments))}}function $e(e){const t=n=>n[e]||[];return t.isThemeGetter=!0,t}const v0=/^\[(?:([a-z-]+):)?(.+)\]$/i,wC=/^\d+\/\d+$/,xC=new Set(["px","full","screen"]),bC=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,EC=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,SC=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,CC=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,RC=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function Ln(e){return Zr(e)||xC.has(e)||wC.test(e)}function or(e){return ji(e,"length",OC)}function Zr(e){return!!e&&!Number.isNaN(Number(e))}function Ls(e){return ji(e,"number",Zr)}function Ji(e){return!!e&&Number.isInteger(Number(e))}function kC(e){return e.endsWith("%")&&Zr(e.slice(0,-1))}function le(e){return v0.test(e)}function ir(e){return bC.test(e)}const PC=new Set(["length","size","percentage"]);function $C(e){return ji(e,PC,g0)}function TC(e){return ji(e,"position",g0)}const NC=new Set(["image","url"]);function _C(e){return ji(e,NC,jC)}function DC(e){return ji(e,"",MC)}function Zi(){return!0}function ji(e,t,n){const r=v0.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1}function OC(e){return EC.test(e)&&!SC.test(e)}function g0(){return!1}function MC(e){return CC.test(e)}function jC(e){return RC.test(e)}function IC(){const e=$e("colors"),t=$e("spacing"),n=$e("blur"),r=$e("brightness"),o=$e("borderColor"),i=$e("borderRadius"),a=$e("borderSpacing"),s=$e("borderWidth"),u=$e("contrast"),l=$e("grayscale"),d=$e("hueRotate"),f=$e("invert"),p=$e("gap"),m=$e("gradientColorStops"),w=$e("gradientColorStopPositions"),g=$e("inset"),b=$e("margin"),h=$e("opacity"),v=$e("padding"),y=$e("saturate"),S=$e("scale"),R=$e("sepia"),E=$e("skew"),k=$e("space"),$=$e("translate"),N=()=>["auto","contain","none"],I=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto",le,t],H=()=>[le,t],se=()=>["",Ln,or],Y=()=>["auto",Zr,le],te=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],xe=()=>["solid","dashed","dotted","double","none"],A=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],D=()=>["start","end","center","between","around","evenly","stretch"],O=()=>["","0",le],z=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>[Zr,Ls],W=()=>[Zr,le];return{cacheSize:500,separator:":",theme:{colors:[Zi],spacing:[Ln,or],blur:["none","",ir,le],brightness:L(),borderColor:[e],borderRadius:["none","","full",ir,le],borderSpacing:H(),borderWidth:se(),contrast:L(),grayscale:O(),hueRotate:W(),invert:O(),gap:H(),gradientColorStops:[e],gradientColorStopPositions:[kC,or],inset:K(),margin:K(),opacity:L(),padding:H(),saturate:L(),scale:L(),sepia:O(),skew:W(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",le]}],container:["container"],columns:[{columns:[ir]}],"break-after":[{"break-after":z()}],"break-before":[{"break-before":z()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...te(),le]}],overflow:[{overflow:I()}],"overflow-x":[{"overflow-x":I()}],"overflow-y":[{"overflow-y":I()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ji,le]}],basis:[{basis:K()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",le]}],grow:[{grow:O()}],shrink:[{shrink:O()}],order:[{order:["first","last","none",Ji,le]}],"grid-cols":[{"grid-cols":[Zi]}],"col-start-end":[{col:["auto",{span:["full",Ji,le]},le]}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":[Zi]}],"row-start-end":[{row:["auto",{span:[Ji,le]},le]}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",le]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",le]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...D()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...D(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...D(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",le,t]}],"min-w":[{"min-w":[le,t,"min","max","fit"]}],"max-w":[{"max-w":[le,t,"none","full","min","max","fit","prose",{screen:[ir]},ir]}],h:[{h:[le,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[le,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[le,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[le,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ir,or]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ls]}],"font-family":[{font:[Zi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",le]}],"line-clamp":[{"line-clamp":["none",Zr,Ls]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Ln,le]}],"list-image":[{"list-image":["none",le]}],"list-style-type":[{list:["none","disc","decimal",le]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...xe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Ln,or]}],"underline-offset":[{"underline-offset":["auto",Ln,le]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",le]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",le]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...te(),TC]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",$C]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},_C]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...xe(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:xe()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...xe()]}],"outline-offset":[{"outline-offset":[Ln,le]}],"outline-w":[{outline:[Ln,or]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[Ln,or]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ir,DC]}],"shadow-color":[{shadow:[Zi]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":A()}],"bg-blend":[{"bg-blend":A()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",ir,le]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[y]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",le]}],duration:[{duration:W()}],ease:[{ease:["linear","in","out","in-out",le]}],delay:[{delay:W()}],animate:[{animate:["none","spin","ping","pulse","bounce",le]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[Ji,le]}],"translate-x":[{"translate-x":[$]}],"translate-y":[{"translate-y":[$]}],"skew-x":[{"skew-x":[E]}],"skew-y":[{"skew-y":[E]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",le]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",le]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",le]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Ln,or,Ls]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}const AC=yC(IC);function ge(...e){return AC(iC(e))}const y0=c.forwardRef(({className:e,children:t,...n},r)=>x.jsxs(i0,{ref:r,className:ge("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...n,children:[t,x.jsx(x0,{})]}));y0.displayName=i0.displayName;const w0=c.forwardRef(({className:e,...t},n)=>x.jsx(a0,{ref:n,className:ge("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));w0.displayName=a0.displayName;const cc=HS,ul=dp("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),LC=c.forwardRef(({className:e,children:t,...n},r)=>x.jsxs(s0,{ref:r,className:ge(ul(),"group",e),...n,children:[t," ",x.jsx(JS,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));LC.displayName=s0.displayName;const FC=c.forwardRef(({className:e,...t},n)=>x.jsx(u0,{ref:n,className:ge("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));FC.displayName=u0.displayName;const dc=KS,x0=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{className:ge("absolute left-0 top-full flex justify-center"),children:x.jsx(c0,{className:ge("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:n,...t})}));x0.displayName=c0.displayName;const zC=c.forwardRef(({className:e,...t},n)=>x.jsx(l0,{ref:n,className:ge("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:x.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));zC.displayName=l0.displayName;function Cu(){return x.jsxs(y0,{className:"px-5 py-2",children:[x.jsx("a",{href:"/",children:x.jsx("div",{className:"font-mono font-semibold mr-2",children:"ComfyUI Launcher"})}),x.jsxs(w0,{children:[x.jsx(cc,{children:x.jsx("a",{href:"/",children:x.jsx(dc,{className:ul(),children:"Workflows"})})}),x.jsx(cc,{children:x.jsx(dc,{onClick:async e=>{e.preventDefault(),await fetch("/api/open_models_folder")},className:`${ul()} cursor-pointer`,children:"Models"})}),x.jsx(cc,{children:x.jsx("a",{href:"/settings",children:x.jsx(dc,{className:ul(),children:"Settings"})})})]})]})}var Ii=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ti=typeof window>"u"||"Deno"in window;function Xt(){}function UC(e,t){return typeof e=="function"?e(t):e}function _d(e){return typeof e=="number"&&e>=0&&e!==1/0}function b0(e,t){return Math.max(e+(t||0)-Date.now(),0)}function um(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==pp(a,t.options))return!1}else if(!Wa(t.queryKey,a))return!1}if(n!=="all"){const u=t.isActive();if(n==="active"&&!u||n==="inactive"&&u)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function cm(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Eo(t.options.mutationKey)!==Eo(i))return!1}else if(!Wa(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function pp(e,t){return((t==null?void 0:t.queryKeyHashFn)||Eo)(e)}function Eo(e){return JSON.stringify(e,(t,n)=>Dd(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Wa(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Wa(e[n],t[n])):!1}function E0(e,t){if(e===t)return e;const n=dm(e)&&dm(t);if(n||Dd(e)&&Dd(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let u=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!fm(n)||!n.hasOwnProperty("isPrototypeOf"))}function fm(e){return Object.prototype.toString.call(e)==="[object Object]"}function BC(e){return new Promise(t=>{setTimeout(t,e)})}function Od(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?E0(e,t):t}function WC(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function VC(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var eo,pr,oi,nv,HC=(nv=class extends Ii{constructor(){super();Q(this,eo,void 0);Q(this,pr,void 0);Q(this,oi,void 0);B(this,oi,t=>{if(!Ti&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){C(this,pr)||this.setEventListener(C(this,oi))}onUnsubscribe(){var t;this.hasListeners()||((t=C(this,pr))==null||t.call(this),B(this,pr,void 0))}setEventListener(t){var n;B(this,oi,t),(n=C(this,pr))==null||n.call(this),B(this,pr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){C(this,eo)!==t&&(B(this,eo,t),this.onFocus())}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){var t;return typeof C(this,eo)=="boolean"?C(this,eo):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},eo=new WeakMap,pr=new WeakMap,oi=new WeakMap,nv),Ql=new HC,ii,hr,ai,rv,KC=(rv=class extends Ii{constructor(){super();Q(this,ii,!0);Q(this,hr,void 0);Q(this,ai,void 0);B(this,ai,t=>{if(!Ti&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){C(this,hr)||this.setEventListener(C(this,ai))}onUnsubscribe(){var t;this.hasListeners()||((t=C(this,hr))==null||t.call(this),B(this,hr,void 0))}setEventListener(t){var n;B(this,ai,t),(n=C(this,hr))==null||n.call(this),B(this,hr,t(this.setOnline.bind(this)))}setOnline(t){C(this,ii)!==t&&(B(this,ii,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return C(this,ii)}},ii=new WeakMap,hr=new WeakMap,ai=new WeakMap,rv),Gl=new KC;function QC(e){return Math.min(1e3*2**e,3e4)}function Ru(e){return(e??"online")==="online"?Gl.isOnline():!0}var S0=class{constructor(e){this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function fc(e){return e instanceof S0}function C0(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((b,h)=>{i=b,a=h}),u=b=>{var h;r||(m(new S0(b)),(h=e.abort)==null||h.call(e))},l=()=>{t=!0},d=()=>{t=!1},f=()=>!Ql.isFocused()||e.networkMode!=="always"&&!Gl.isOnline(),p=b=>{var h;r||(r=!0,(h=e.onSuccess)==null||h.call(e,b),o==null||o(),i(b))},m=b=>{var h;r||(r=!0,(h=e.onError)==null||h.call(e,b),o==null||o(),a(b))},w=()=>new Promise(b=>{var h;o=v=>{const y=r||!f();return y&&b(v),y},(h=e.onPause)==null||h.call(e)}).then(()=>{var b;o=void 0,r||(b=e.onContinue)==null||b.call(e)}),g=()=>{if(r)return;let b;try{b=e.fn()}catch(h){b=Promise.reject(h)}Promise.resolve(b).then(p).catch(h=>{var E;if(r)return;const v=e.retry??(Ti?0:3),y=e.retryDelay??QC,S=typeof y=="function"?y(n,h):y,R=v===!0||typeof v=="number"&&n{if(f())return w()}).then(()=>{t?m(h):g()})})};return Ru(e.networkMode)?g():w().then(g),{promise:s,cancel:u,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:l,continueRetry:d}}function GC(){let e=[],t=0,n=p=>{p()},r=p=>{p()},o=p=>setTimeout(p,0);const i=p=>{o=p},a=p=>{let m;t++;try{m=p()}finally{t--,t||l()}return m},s=p=>{t?e.push(p):o(()=>{n(p)})},u=p=>(...m)=>{s(()=>{p(...m)})},l=()=>{const p=e;e=[],p.length&&o(()=>{r(()=>{p.forEach(m=>{n(m)})})})};return{batch:a,batchCalls:u,schedule:s,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:i}}var Ze=GC(),to,ov,R0=(ov=class{constructor(){Q(this,to,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),_d(this.gcTime)&&B(this,to,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ti?1/0:5*60*1e3))}clearGcTimeout(){C(this,to)&&(clearTimeout(C(this,to)),B(this,to,void 0))}},to=new WeakMap,ov),si,li,Qt,mr,Gt,it,Ka,no,ui,cl,dn,Fn,iv,YC=(iv=class extends R0{constructor(t){super();Q(this,ui);Q(this,dn);Q(this,si,void 0);Q(this,li,void 0);Q(this,Qt,void 0);Q(this,mr,void 0);Q(this,Gt,void 0);Q(this,it,void 0);Q(this,Ka,void 0);Q(this,no,void 0);B(this,no,!1),B(this,Ka,t.defaultOptions),ae(this,ui,cl).call(this,t.options),B(this,it,[]),B(this,Qt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,B(this,si,t.state||qC(this.options)),this.state=C(this,si),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!C(this,it).length&&this.state.fetchStatus==="idle"&&C(this,Qt).remove(this)}setData(t,n){const r=Od(this.state.data,t,this.options);return ae(this,dn,Fn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){ae(this,dn,Fn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r;const n=C(this,mr);return(r=C(this,Gt))==null||r.cancel(t),n?n.then(Xt).catch(Xt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(C(this,si))}isActive(){return C(this,it).some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||C(this,it).some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!b0(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=C(this,it).find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=C(this,Gt))==null||n.continue()}onOnline(){var n;const t=C(this,it).find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=C(this,Gt))==null||n.continue()}addObserver(t){C(this,it).includes(t)||(C(this,it).push(t),this.clearGcTimeout(),C(this,Qt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){C(this,it).includes(t)&&(B(this,it,C(this,it).filter(n=>n!==t)),C(this,it).length||(C(this,Gt)&&(C(this,no)?C(this,Gt).cancel({revert:!0}):C(this,Gt).cancelRetry()),this.scheduleGc()),C(this,Qt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return C(this,it).length}invalidate(){this.state.isInvalidated||ae(this,dn,Fn).call(this,{type:"invalidate"})}fetch(t,n){var l,d,f,p;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(C(this,mr))return(l=C(this,Gt))==null||l.continueRetry(),C(this,mr)}if(t&&ae(this,ui,cl).call(this,t),!this.options.queryFn){const m=C(this,it).find(w=>w.options.queryFn);m&&ae(this,ui,cl).call(this,m.options)}const r=new AbortController,o={queryKey:this.queryKey,meta:this.meta},i=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(B(this,no,!0),r.signal)})};i(o);const a=()=>this.options.queryFn?(B(this,no,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};i(s),(d=this.options.behavior)==null||d.onFetch(s,this),B(this,li,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((f=s.fetchOptions)==null?void 0:f.meta))&&ae(this,dn,Fn).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const u=m=>{var w,g,b,h;fc(m)&&m.silent||ae(this,dn,Fn).call(this,{type:"error",error:m}),fc(m)||((g=(w=C(this,Qt).config).onError)==null||g.call(w,m,this),(h=(b=C(this,Qt).config).onSettled)==null||h.call(b,this.state.data,m,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return B(this,Gt,C0({fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:m=>{var w,g,b,h;if(typeof m>"u"){u(new Error(`${this.queryHash} data is undefined`));return}this.setData(m),(g=(w=C(this,Qt).config).onSuccess)==null||g.call(w,m,this),(h=(b=C(this,Qt).config).onSettled)==null||h.call(b,m,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:u,onFail:(m,w)=>{ae(this,dn,Fn).call(this,{type:"failed",failureCount:m,error:w})},onPause:()=>{ae(this,dn,Fn).call(this,{type:"pause"})},onContinue:()=>{ae(this,dn,Fn).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode})),B(this,mr,C(this,Gt).promise),C(this,mr)}},si=new WeakMap,li=new WeakMap,Qt=new WeakMap,mr=new WeakMap,Gt=new WeakMap,it=new WeakMap,Ka=new WeakMap,no=new WeakMap,ui=new WeakSet,cl=function(t){this.options={...C(this,Ka),...t},this.updateGcTime(this.options.gcTime)},dn=new WeakSet,Fn=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:Ru(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return fc(o)&&o.revert&&C(this,li)?{...C(this,li),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ze.batch(()=>{C(this,it).forEach(r=>{r.onQueryUpdate()}),C(this,Qt).notify({query:this,type:"updated",action:t})})},iv);function qC(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Pn,av,XC=(av=class extends Ii{constructor(t={}){super();Q(this,Pn,void 0);this.config=t,B(this,Pn,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??pp(o,n);let a=this.get(i);return a||(a=new YC({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){C(this,Pn).has(t.queryHash)||(C(this,Pn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=C(this,Pn).get(t.queryHash);n&&(t.destroy(),n===t&&C(this,Pn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ze.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return C(this,Pn).get(t)}getAll(){return[...C(this,Pn).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>um(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>um(t,r)):n}notify(t){Ze.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ze.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ze.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Pn=new WeakMap,av),$n,Qa,It,ci,Tn,sr,sv,JC=(sv=class extends R0{constructor(t){super();Q(this,Tn);Q(this,$n,void 0);Q(this,Qa,void 0);Q(this,It,void 0);Q(this,ci,void 0);this.mutationId=t.mutationId,B(this,Qa,t.defaultOptions),B(this,It,t.mutationCache),B(this,$n,[]),this.state=t.state||k0(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...C(this,Qa),...t},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){C(this,$n).includes(t)||(C(this,$n).push(t),this.clearGcTimeout(),C(this,It).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){B(this,$n,C(this,$n).filter(n=>n!==t)),this.scheduleGc(),C(this,It).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){C(this,$n).length||(this.state.status==="pending"?this.scheduleGc():C(this,It).remove(this))}continue(){var t;return((t=C(this,ci))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,u,l,d,f,p,m,w,g,b,h,v,y,S,R,E,k;const n=()=>(B(this,ci,C0({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:($,N)=>{ae(this,Tn,sr).call(this,{type:"failed",failureCount:$,error:N})},onPause:()=>{ae(this,Tn,sr).call(this,{type:"pause"})},onContinue:()=>{ae(this,Tn,sr).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),C(this,ci).promise),r=this.state.status==="pending";try{if(!r){ae(this,Tn,sr).call(this,{type:"pending",variables:t}),await((i=(o=C(this,It).config).onMutate)==null?void 0:i.call(o,t,this));const N=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));N!==this.state.context&&ae(this,Tn,sr).call(this,{type:"pending",context:N,variables:t})}const $=await n();return await((l=(u=C(this,It).config).onSuccess)==null?void 0:l.call(u,$,t,this.state.context,this)),await((f=(d=this.options).onSuccess)==null?void 0:f.call(d,$,t,this.state.context)),await((m=(p=C(this,It).config).onSettled)==null?void 0:m.call(p,$,null,this.state.variables,this.state.context,this)),await((g=(w=this.options).onSettled)==null?void 0:g.call(w,$,null,t,this.state.context)),ae(this,Tn,sr).call(this,{type:"success",data:$}),$}catch($){try{throw await((h=(b=C(this,It).config).onError)==null?void 0:h.call(b,$,t,this.state.context,this)),await((y=(v=this.options).onError)==null?void 0:y.call(v,$,t,this.state.context)),await((R=(S=C(this,It).config).onSettled)==null?void 0:R.call(S,void 0,$,this.state.variables,this.state.context,this)),await((k=(E=this.options).onSettled)==null?void 0:k.call(E,void 0,$,t,this.state.context)),$}finally{ae(this,Tn,sr).call(this,{type:"error",error:$})}}}},$n=new WeakMap,Qa=new WeakMap,It=new WeakMap,ci=new WeakMap,Tn=new WeakSet,sr=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Ru(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ze.batch(()=>{C(this,$n).forEach(r=>{r.onMutationUpdate(t)}),C(this,It).notify({mutation:this,type:"updated",action:t})})},sv);function k0(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Yt,Ga,ro,lv,ZC=(lv=class extends Ii{constructor(t={}){super();Q(this,Yt,void 0);Q(this,Ga,void 0);Q(this,ro,void 0);this.config=t,B(this,Yt,[]),B(this,Ga,0)}build(t,n,r){const o=new JC({mutationCache:this,mutationId:++ws(this,Ga)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){C(this,Yt).push(t),this.notify({type:"added",mutation:t})}remove(t){B(this,Yt,C(this,Yt).filter(n=>n!==t)),this.notify({type:"removed",mutation:t})}clear(){Ze.batch(()=>{C(this,Yt).forEach(t=>{this.remove(t)})})}getAll(){return C(this,Yt)}find(t){const n={exact:!0,...t};return C(this,Yt).find(r=>cm(n,r))}findAll(t={}){return C(this,Yt).filter(n=>cm(t,n))}notify(t){Ze.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){return B(this,ro,(C(this,ro)??Promise.resolve()).then(()=>{const t=C(this,Yt).filter(n=>n.state.isPaused);return Ze.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Xt)),Promise.resolve()))}).then(()=>{B(this,ro,void 0)})),C(this,ro)}},Yt=new WeakMap,Ga=new WeakMap,ro=new WeakMap,lv);function e2(e){return{onFetch:(t,n)=>{const r=async()=>{var w,g,b,h,v;const o=t.options,i=(b=(g=(w=t.fetchOptions)==null?void 0:w.meta)==null?void 0:g.fetchMore)==null?void 0:b.direction,a=((h=t.state.data)==null?void 0:h.pages)||[],s=((v=t.state.data)==null?void 0:v.pageParams)||[],u={pages:[],pageParams:[]};let l=!1;const d=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",()=>{l=!0}),t.signal)})},f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),p=async(y,S,R)=>{if(l)return Promise.reject();if(S==null&&y.pages.length)return Promise.resolve(y);const E={queryKey:t.queryKey,pageParam:S,direction:R?"backward":"forward",meta:t.options.meta};d(E);const k=await f(E),{maxPages:$}=t.options,N=R?VC:WC;return{pages:N(y.pages,k,$),pageParams:N(y.pageParams,S,$)}};let m;if(i&&a.length){const y=i==="backward",S=y?t2:pm,R={pages:a,pageParams:s},E=S(o,R);m=await p(R,E,y)}else{m=await p(u,s[0]??o.initialPageParam);const y=e??a.length;for(let S=1;S{var o,i;return(i=(o=t.options).persister)==null?void 0:i.call(o,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}function pm(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}function t2(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}var Xe,vr,gr,di,fi,yr,pi,hi,uv,n2=(uv=class{constructor(e={}){Q(this,Xe,void 0);Q(this,vr,void 0);Q(this,gr,void 0);Q(this,di,void 0);Q(this,fi,void 0);Q(this,yr,void 0);Q(this,pi,void 0);Q(this,hi,void 0);B(this,Xe,e.queryCache||new XC),B(this,vr,e.mutationCache||new ZC),B(this,gr,e.defaultOptions||{}),B(this,di,new Map),B(this,fi,new Map),B(this,yr,0)}mount(){ws(this,yr)._++,C(this,yr)===1&&(B(this,pi,Ql.subscribe(()=>{Ql.isFocused()&&(this.resumePausedMutations(),C(this,Xe).onFocus())})),B(this,hi,Gl.subscribe(()=>{Gl.isOnline()&&(this.resumePausedMutations(),C(this,Xe).onOnline())})))}unmount(){var e,t;ws(this,yr)._--,C(this,yr)===0&&((e=C(this,pi))==null||e.call(this),B(this,pi,void 0),(t=C(this,hi))==null||t.call(this),B(this,hi,void 0))}isFetching(e){return C(this,Xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return C(this,vr).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=C(this,Xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);return t!==void 0?Promise.resolve(t):this.fetchQuery(e)}getQueriesData(e){return this.getQueryCache().findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=C(this,Xe).get(r.queryHash),i=o==null?void 0:o.state.data,a=UC(t,i);if(!(typeof a>"u"))return C(this,Xe).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Ze.batch(()=>this.getQueryCache().findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=C(this,Xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=C(this,Xe);Ze.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=C(this,Xe),r={type:"active",...e};return Ze.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Ze.batch(()=>C(this,Xe).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Xt).catch(Xt)}invalidateQueries(e={},t={}){return Ze.batch(()=>{if(C(this,Xe).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Ze.batch(()=>C(this,Xe).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Xt)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Xt)}fetchQuery(e){const t=this.defaultQueryOptions(e);typeof t.retry>"u"&&(t.retry=!1);const n=C(this,Xe).build(this,t);return n.isStaleByTime(t.staleTime)?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xt).catch(Xt)}fetchInfiniteQuery(e){return e.behavior=e2(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xt).catch(Xt)}resumePausedMutations(){return C(this,vr).resumePausedMutations()}getQueryCache(){return C(this,Xe)}getMutationCache(){return C(this,vr)}getDefaultOptions(){return C(this,gr)}setDefaultOptions(e){B(this,gr,e)}setQueryDefaults(e,t){C(this,di).set(Eo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...C(this,di).values()];let n={};return t.forEach(r=>{Wa(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){C(this,fi).set(Eo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...C(this,fi).values()];let n={};return t.forEach(r=>{Wa(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...C(this,gr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=pp(t.queryKey,t)),typeof t.refetchOnReconnect>"u"&&(t.refetchOnReconnect=t.networkMode!=="always"),typeof t.throwOnError>"u"&&(t.throwOnError=!!t.suspense),typeof t.networkMode>"u"&&t.persister&&(t.networkMode="offlineFirst"),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...C(this,gr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){C(this,Xe).clear(),C(this,vr).clear()}},Xe=new WeakMap,vr=new WeakMap,gr=new WeakMap,di=new WeakMap,fi=new WeakMap,yr=new WeakMap,pi=new WeakMap,hi=new WeakMap,uv),Tt,Ne,Ya,St,oo,mi,Nn,qa,vi,gi,io,ao,wr,yi,so,oa,Xa,Md,Ja,jd,Za,Id,es,Ad,ts,Ld,ns,Fd,rs,zd,tu,P0,cv,r2=(cv=class extends Ii{constructor(t,n){super();Q(this,so);Q(this,Xa);Q(this,Ja);Q(this,Za);Q(this,es);Q(this,ts);Q(this,ns);Q(this,rs);Q(this,tu);Q(this,Tt,void 0);Q(this,Ne,void 0);Q(this,Ya,void 0);Q(this,St,void 0);Q(this,oo,void 0);Q(this,mi,void 0);Q(this,Nn,void 0);Q(this,qa,void 0);Q(this,vi,void 0);Q(this,gi,void 0);Q(this,io,void 0);Q(this,ao,void 0);Q(this,wr,void 0);Q(this,yi,new Set);this.options=n,B(this,Tt,t),B(this,Nn,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(C(this,Ne).addObserver(this),hm(C(this,Ne),this.options)?ae(this,so,oa).call(this):this.updateResult(),ae(this,es,Ad).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ud(C(this,Ne),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ud(C(this,Ne),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ae(this,ts,Ld).call(this),ae(this,ns,Fd).call(this),C(this,Ne).removeObserver(this)}setOptions(t,n){const r=this.options,o=C(this,Ne);if(this.options=C(this,Tt).defaultQueryOptions(t),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");ae(this,rs,zd).call(this),Kl(this.options,r)||C(this,Tt).getQueryCache().notify({type:"observerOptionsUpdated",query:C(this,Ne),observer:this});const i=this.hasListeners();i&&mm(C(this,Ne),o,this.options,r)&&ae(this,so,oa).call(this),this.updateResult(n),i&&(C(this,Ne)!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&ae(this,Xa,Md).call(this);const a=ae(this,Ja,jd).call(this);i&&(C(this,Ne)!==o||this.options.enabled!==r.enabled||a!==C(this,wr))&&ae(this,Za,Id).call(this,a)}getOptimisticResult(t){const n=C(this,Tt).getQueryCache().build(C(this,Tt),t),r=this.createResult(n,t);return i2(this,r)&&(B(this,St,r),B(this,mi,this.options),B(this,oo,C(this,Ne).state)),r}getCurrentResult(){return C(this,St)}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(C(this,yi).add(r),t[r])})}),n}getCurrentQuery(){return C(this,Ne)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=C(this,Tt).defaultQueryOptions(t),r=C(this,Tt).getQueryCache().build(C(this,Tt),n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ae(this,so,oa).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),C(this,St)))}createResult(t,n){var E;const r=C(this,Ne),o=this.options,i=C(this,St),a=C(this,oo),s=C(this,mi),l=t!==r?t.state:C(this,Ya),{state:d}=t;let{error:f,errorUpdatedAt:p,fetchStatus:m,status:w}=d,g=!1,b;if(n._optimisticResults){const k=this.hasListeners(),$=!k&&hm(t,n),N=k&&mm(t,r,n,o);($||N)&&(m=Ru(t.options.networkMode)?"fetching":"paused",d.dataUpdatedAt||(w="pending")),n._optimisticResults==="isRestoring"&&(m="idle")}if(n.select&&typeof d.data<"u")if(i&&d.data===(a==null?void 0:a.data)&&n.select===C(this,qa))b=C(this,vi);else try{B(this,qa,n.select),b=n.select(d.data),b=Od(i==null?void 0:i.data,b,n),B(this,vi,b),B(this,Nn,null)}catch(k){B(this,Nn,k)}else b=d.data;if(typeof n.placeholderData<"u"&&typeof b>"u"&&w==="pending"){let k;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))k=i.data;else if(k=typeof n.placeholderData=="function"?n.placeholderData((E=C(this,gi))==null?void 0:E.state.data,C(this,gi)):n.placeholderData,n.select&&typeof k<"u")try{k=n.select(k),B(this,Nn,null)}catch($){B(this,Nn,$)}typeof k<"u"&&(w="success",b=Od(i==null?void 0:i.data,k,n),g=!0)}C(this,Nn)&&(f=C(this,Nn),b=C(this,vi),p=Date.now(),w="error");const h=m==="fetching",v=w==="pending",y=w==="error",S=v&&h;return{status:w,fetchStatus:m,isPending:v,isSuccess:w==="success",isError:y,isInitialLoading:S,isLoading:S,data:b,dataUpdatedAt:d.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:h,isRefetching:h&&!v,isLoadingError:y&&d.dataUpdatedAt===0,isPaused:m==="paused",isPlaceholderData:g,isRefetchError:y&&d.dataUpdatedAt!==0,isStale:hp(t,n),refetch:this.refetch}}updateResult(t){const n=C(this,St),r=this.createResult(C(this,Ne),this.options);if(B(this,oo,C(this,Ne).state),B(this,mi,this.options),C(this,oo).data!==void 0&&B(this,gi,C(this,Ne)),Kl(r,n))return;B(this,St,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!C(this,yi).size)return!0;const u=new Set(s??C(this,yi));return this.options.throwOnError&&u.add("error"),Object.keys(C(this,St)).some(l=>{const d=l;return C(this,St)[d]!==n[d]&&u.has(d)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),ae(this,tu,P0).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ae(this,es,Ad).call(this)}},Tt=new WeakMap,Ne=new WeakMap,Ya=new WeakMap,St=new WeakMap,oo=new WeakMap,mi=new WeakMap,Nn=new WeakMap,qa=new WeakMap,vi=new WeakMap,gi=new WeakMap,io=new WeakMap,ao=new WeakMap,wr=new WeakMap,yi=new WeakMap,so=new WeakSet,oa=function(t){ae(this,rs,zd).call(this);let n=C(this,Ne).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Xt)),n},Xa=new WeakSet,Md=function(){if(ae(this,ts,Ld).call(this),Ti||C(this,St).isStale||!_d(this.options.staleTime))return;const n=b0(C(this,St).dataUpdatedAt,this.options.staleTime)+1;B(this,io,setTimeout(()=>{C(this,St).isStale||this.updateResult()},n))},Ja=new WeakSet,jd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(C(this,Ne)):this.options.refetchInterval)??!1},Za=new WeakSet,Id=function(t){ae(this,ns,Fd).call(this),B(this,wr,t),!(Ti||this.options.enabled===!1||!_d(C(this,wr))||C(this,wr)===0)&&B(this,ao,setInterval(()=>{(this.options.refetchIntervalInBackground||Ql.isFocused())&&ae(this,so,oa).call(this)},C(this,wr)))},es=new WeakSet,Ad=function(){ae(this,Xa,Md).call(this),ae(this,Za,Id).call(this,ae(this,Ja,jd).call(this))},ts=new WeakSet,Ld=function(){C(this,io)&&(clearTimeout(C(this,io)),B(this,io,void 0))},ns=new WeakSet,Fd=function(){C(this,ao)&&(clearInterval(C(this,ao)),B(this,ao,void 0))},rs=new WeakSet,zd=function(){const t=C(this,Tt).getQueryCache().build(C(this,Tt),this.options);if(t===C(this,Ne))return;const n=C(this,Ne);B(this,Ne,t),B(this,Ya,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},tu=new WeakSet,P0=function(t){Ze.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(C(this,St))}),C(this,Tt).getQueryCache().notify({query:C(this,Ne),type:"observerResultsUpdated"})})},cv);function o2(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function hm(e,t){return o2(e,t)||e.state.dataUpdatedAt>0&&Ud(e,t,t.refetchOnMount)}function Ud(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&hp(e,t)}return!1}function mm(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&hp(e,n)}function hp(e,t){return e.isStaleByTime(t.staleTime)}function i2(e,t){return!Kl(e.getCurrentResult(),t)}var xr,br,At,Bn,wi,dl,os,Bd,dv,a2=(dv=class extends Ii{constructor(n,r){super();Q(this,wi);Q(this,os);Q(this,xr,void 0);Q(this,br,void 0);Q(this,At,void 0);Q(this,Bn,void 0);B(this,xr,n),this.setOptions(r),this.bindMethods(),ae(this,wi,dl).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=C(this,xr).defaultMutationOptions(n),Kl(this.options,r)||C(this,xr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:C(this,At),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Eo(r.mutationKey)!==Eo(this.options.mutationKey)?this.reset():(o=C(this,At))==null||o.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=C(this,At))==null||n.removeObserver(this)}onMutationUpdate(n){ae(this,wi,dl).call(this),ae(this,os,Bd).call(this,n)}getCurrentResult(){return C(this,br)}reset(){var n;(n=C(this,At))==null||n.removeObserver(this),B(this,At,void 0),ae(this,wi,dl).call(this),ae(this,os,Bd).call(this)}mutate(n,r){var o;return B(this,Bn,r),(o=C(this,At))==null||o.removeObserver(this),B(this,At,C(this,xr).getMutationCache().build(C(this,xr),this.options)),C(this,At).addObserver(this),C(this,At).execute(n)}},xr=new WeakMap,br=new WeakMap,At=new WeakMap,Bn=new WeakMap,wi=new WeakSet,dl=function(){var r;const n=((r=C(this,At))==null?void 0:r.state)??k0();B(this,br,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},os=new WeakSet,Bd=function(n){Ze.batch(()=>{var r,o,i,a,s,u,l,d;if(C(this,Bn)&&this.hasListeners()){const f=C(this,br).variables,p=C(this,br).context;(n==null?void 0:n.type)==="success"?((o=(r=C(this,Bn)).onSuccess)==null||o.call(r,n.data,f,p),(a=(i=C(this,Bn)).onSettled)==null||a.call(i,n.data,null,f,p)):(n==null?void 0:n.type)==="error"&&((u=(s=C(this,Bn)).onError)==null||u.call(s,n.error,f,p),(d=(l=C(this,Bn)).onSettled)==null||d.call(l,void 0,n.error,f,p))}this.listeners.forEach(f=>{f(C(this,br))})})},dv),$0=c.createContext(void 0),hs=e=>{const t=c.useContext($0);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},s2=({client:e,children:t})=>(c.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),x.jsx($0.Provider,{value:e,children:t})),T0=c.createContext(!1),l2=()=>c.useContext(T0);T0.Provider;function u2(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var c2=c.createContext(u2()),d2=()=>c.useContext(c2);function N0(e,t){return typeof e=="function"?e(...t):!!e}var f2=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},p2=e=>{c.useEffect(()=>{e.clearReset()},[e])},h2=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&N0(n,[e.error,r]),m2=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},v2=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,g2=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function y2(e,t,n){const r=hs(n),o=l2(),i=d2(),a=r.defaultQueryOptions(e);a._optimisticResults=o?"isRestoring":"optimistic",m2(a),f2(a,i),p2(i);const[s]=c.useState(()=>new t(r,a)),u=s.getOptimisticResult(a);if(c.useSyncExternalStore(c.useCallback(l=>{const d=o?()=>{}:s.subscribe(Ze.batchCalls(l));return s.updateResult(),d},[s,o]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),c.useEffect(()=>{s.setOptions(a,{listeners:!1})},[a,s]),v2(a,u))throw g2(a,s,i);if(h2({result:u,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw u.error;return a.notifyOnChangeProps?u:s.trackResult(u)}function _0(e,t){return y2(e,r2,t)}function Or(e,t){const n=hs(t),[r]=c.useState(()=>new a2(n,e));c.useEffect(()=>{r.setOptions(e)},[r,e]);const o=c.useSyncExternalStore(c.useCallback(a=>r.subscribe(Ze.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=c.useCallback((a,s)=>{r.mutate(a,s).catch(w2)},[r]);if(o.error&&N0(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}function w2(){}const yt=0,je=1,x2=2,b2=0,Wd=1;function E2(e,t,n){let r=e.list,o;for(;r;){if(r.index===n)return!1;if(t>r.high)break;o=r,r=r.next}return o||(e.list={index:n,high:t,next:r}),o&&(o.next={index:n,high:t,next:o.next}),!0}function S2(e,t){let n=e.list;if(n.index===t)return n.next===null?b2:(e.list=n.next,Wd);let r=n;for(n=n.next;n!==null;){if(n.index===t)return r.next=n.next,Wd;r=n,n=n.next}}const ye={low:0,max:0,high:0,C:x2,P:void 0,R:void 0,L:void 0,list:void 0};ye.P=ye;ye.L=ye;ye.R=ye;function Mr(e){const t=e.high;e.L===ye&&e.R===ye?e.max=t:e.L===ye?e.max=Math.max(e.R.max,t):e.R===ye?e.max=Math.max(e.L.max,t):e.max=Math.max(Math.max(e.L.max,e.R.max),t)}function Fs(e){let t=e;for(;t.P!==ye;)Mr(t.P),t=t.P}function va(e,t){if(t.R===ye)return;const n=t.R;t.R=n.L,n.L!==ye&&(n.L.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.L=t,t.P=n,Mr(t),Mr(n)}function ga(e,t){if(t.L===ye)return;const n=t.L;t.L=n.R,n.R!==ye&&(n.R.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.R?t.P.R=n:t.P.L=n,n.R=t,t.P=n,Mr(t),Mr(n)}function zs(e,t,n){t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.P=t.P}function C2(e,t){let n;for(;t!==ye&&t.C===je;)t===t.P.L?(n=t.P.R,n.C===yt&&(n.C=je,t.P.C=yt,va(e,t.P),n=t.P.R),n.L.C===je&&n.R.C===je?(n.C=yt,t=t.P):(n.R.C===je&&(n.L.C=je,n.C=yt,ga(e,n),n=t.P.R),n.C=t.P.C,t.P.C=je,n.R.C=je,va(e,t.P),t=e.root)):(n=t.P.L,n.C===yt&&(n.C=je,t.P.C=yt,ga(e,t.P),n=t.P.L),n.R.C===je&&n.L.C===je?(n.C=yt,t=t.P):(n.L.C===je&&(n.R.C=je,n.C=yt,va(e,n),n=t.P.L),n.C=t.P.C,t.P.C=je,n.L.C=je,ga(e,t.P),t=e.root));t.C=je}function R2(e){for(;e.L!==ye;)e=e.L;return e}function k2(e,t){let n;for(;t.P.C===yt;)t.P===t.P.P.L?(n=t.P.P.R,n.C===yt?(t.P.C=je,n.C=je,t.P.P.C=yt,t=t.P.P):(t===t.P.R&&(t=t.P,va(e,t)),t.P.C=je,t.P.P.C=yt,ga(e,t.P.P))):(n=t.P.P.L,n.C===yt?(t.P.C=je,n.C=je,t.P.P.C=yt,t=t.P.P):(t===t.P.L&&(t=t.P,ga(e,t)),t.P.C=je,t.P.P.C=yt,va(e,t.P.P)));e.root.C=je}function P2(){const e={root:ye,size:0},t={};return{insert(n,r,o){let i=e.root,a=ye;for(;i!==ye&&(a=i,n!==a.low);)na.max)&&(a.L!==ye&&i.push(a.L),a.R!==ye&&i.push(a.R),a.low<=r&&a.high>=n)){let s=a.list;for(;s!==null;)s.high>=n&&o(s.index,a.low),s=s.next}}},get size(){return e.size}}}const ku=e=>{const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),t},$2=(e,t=100,n=!1)=>{const r=ku(e),o=c.useRef(),i=[t,n,r];function a(){o.current&&clearTimeout(o.current),o.current=void 0}c.useEffect(()=>a,i);function s(){o.current=void 0}return c.useCallback(function(){const u=arguments,{current:l}=o;if(l===void 0&&n)return o.current=setTimeout(s,t),r.current.apply(null,u);l&&clearTimeout(l),o.current=setTimeout(()=>{o.current=void 0,r.current.apply(null,u)},t)},i)},T2=(e,t,n)=>{const r=c.useState(e);return[r[0],$2(r[1],t,n)]};function ya(e,t,n,r){const o=c.useRef(n),i=c.useRef(r);c.useEffect(()=>{o.current=n,i.current=r}),c.useEffect(()=>{const a=e&&"current"in e?e.current:e;if(!a)return;let s=0;function u(...d){s||o.current.apply(this,d)}a.addEventListener(t,u);const l=i.current;return()=>{s=1,a.removeEventListener(t,u),l&&l()}},[e,t])}const N2={},wa=typeof window>"u"?null:window,_2=wa&&typeof wa.visualViewport<"u"?wa.visualViewport:null,vm=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],D2=function(e){e===void 0&&(e=N2);const{wait:t,leading:n,initialWidth:r=0,initialHeight:o=0}=e,[i,a]=T2(typeof document>"u"?[r,o]:vm,t,n),s=()=>a(vm);return ya(wa,"resize",s),ya(_2,"resize",s),ya(wa,"orientationchange",s),i},Pu=(e,t)=>{const n=t||O2;let r,o;return function(){return r&&n(arguments,r)?o:o=e.apply(null,r=arguments)}},O2=(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3];class M2{constructor(){this.set=void 0,this.get=void 0;let t,n;this.get=r=>r===t?n:void 0,this.set=(r,o)=>{t=r,n=o}}}const gm=M2,pc=e=>{try{return new e}catch{const n={};return{set(r,o){n[r]=o},get(r){return n[r]}}}},j2=e=>{const t=e.length,n=pc(e[0]);let r,o,i,a;const s=t===1,u=p=>(r=n.get(p[0]))===void 0||s?r:r.get(p[1]),l=(p,m)=>(s?n.set(p[0],m):(r=n.get(p[0]))===void 0?(o=pc(e[1]),o.set(p[1],m),n.set(p[0],o)):r.set(p[1],m),m),d=p=>{for(a=n,i=0;i{for(a=n,i=0;i{let n;const{g:r,s:o}=j2(e);return function(){return(n=r(arguments))===void 0?o(arguments,t.apply(null,arguments)):n}},Vd=new WeakMap;function O0(){const e=c.useState(I2)[1];return c.useRef(()=>e({})).current}const I2={},fl=c.createElement;function A2(e){let{positioner:t,resizeObserver:n,items:r,as:o="div",id:i,className:a,style:s,role:u="grid",tabIndex:l=0,containerRef:d,itemAs:f="div",itemStyle:p,itemHeightEstimate:m=300,itemKey:w=z2,overscanBy:g=2,scrollTop:b,isScrolling:h,height:v,render:y,onRender:S}=e,R=0,E;const k=O0(),$=B2(t,n),N=r.length,{columnWidth:I,columnCount:K,range:H,estimateHeight:se,size:Y,shortestColumn:te}=t,xe=Y(),A=te(),D=[],O=u==="list"?"listitem":u==="grid"?"gridcell":void 0,z=ku(S);g=v*g;const L=b+g,W=A{const He=r[Z],bt=w(He,Z),Vt={top:re,left:ce,width:I,writingMode:"horizontal-tb",position:"absolute"};typeof process<"u",D.push(fl(f,{key:bt,ref:$(Z),role:O,style:typeof p=="object"&&p!==null?Object.assign({},Vt,p):Vt},wm(y,Z,He,I))),E===void 0?(R=Z,E=Z):(R=Math.min(R,Z),E=Math.max(E,Z))}),W){const Z=Math.min(N-xe,Math.ceil((b+g-A)/m*K));let ce=xe;const re=U2(I);for(;ce{typeof z.current=="function"&&E!==void 0&&z.current(R,E,r),ym="1"},[R,E,r,z]),c.useEffect(()=>{W&&k()},[W,t]);const ne=L2(h,se(N,m));return fl(o,{ref:d,key:ym,id:i,role:u,className:a,tabIndex:l,style:typeof s=="object"?F2(ne,s):ne,children:D})}let ym="0";const wm=D0([gm,{},WeakMap,gm],(e,t,n,r)=>fl(e,{index:t,data:n,width:r})),L2=Pu((e,t)=>({position:"relative",width:"100%",maxWidth:"100%",height:Math.ceil(t),maxHeight:Math.ceil(t),willChange:e?"contents":void 0,pointerEvents:e?"none":void 0})),M0=(e,t)=>e[0]===t[0]&&e[1]===t[1],F2=Pu((e,t)=>Object.assign({},e,t),M0);function z2(e,t){return t}const U2=Pu(e=>({width:e,zIndex:-1e3,visibility:"hidden",position:"absolute",writingMode:"horizontal-tb"}),(e,t)=>e[0]===t[0]),B2=Pu((e,t)=>n=>r=>{r!==null&&(t&&(t.observe(r),Vd.set(r,n)),e.get(n)===void 0&&e.set(n,r.offsetHeight))},M0);let j0="undefined",ti=typeof window!==j0?window:{},W2=typeof performance!==j0?performance:Date,Hd=()=>W2.now(),I0="AnimationFrame",xm="cancel"+I0,bm="request"+I0,Yl=ti[bm]&&ti[bm].bind(ti),Kd=ti[xm]&&ti[xm].bind(ti);function V2(e){return clearTimeout(e)}if(!Yl||!Kd){let e=0;Yl=t=>{let n=Hd(),r=Math.max(e+1e3/60,n);return setTimeout(()=>{t(e=r)},r-n)},Kd=V2}const H2=e=>{Kd(e.v||-1)},K2=(e,t)=>{const n=Hd(),r={},o=()=>{Hd()-n>=t?e.call(null):r.v=Yl(o)};return r.v=Yl(o),r},Q2=typeof performance<"u"?performance:Date,G2=()=>Q2.now();function A0(e,t=30,n=!1){const r=ku(e),o=1e3/t,i=c.useRef(0),a=c.useRef(),s=()=>a.current&&clearTimeout(a.current),u=[t,n,r];function l(){i.current=0,s()}return c.useEffect(()=>l,u),c.useCallback(function(){const d=arguments,f=G2(),p=()=>{i.current=f,s(),r.current.apply(null,d)},m=i.current;if(n&&m===0)return p();if(f-m>o){if(m>0)return p();i.current=f}s(),a.current=setTimeout(()=>{p(),i.current=0},o)},u)}function Y2(e,t,n){const r=c.useState(e);return[r[0],A0(r[1],t,n)]}const ia=typeof window>"u"?null:window,Em=()=>ia.scrollY!==void 0?ia.scrollY:ia.pageYOffset===void 0?0:ia.pageYOffset,q2=(e=30)=>{const t=Y2(typeof window>"u"?0:Em,e,!0);return ya(ia,"scroll",()=>t[1](Em())),t[0]};function X2(e,t){e===void 0&&(e=0),t===void 0&&(t=12);const n=q2(t),[r,o]=c.useState(!1),i=c.useRef(0);return c.useEffect(()=>{i.current===1&&o(!0);let a=!1;const s=K2(()=>{a||o(!1)},40+1e3/t);return i.current=1,()=>{a=!0,H2(s)}},[t,n]),{scrollTop:Math.max(0,n-e),isScrolling:r}}function J2(e){const{scrollTop:t,isScrolling:n}=X2(e.offset,e.scrollFps);return A2({scrollTop:t,isScrolling:n,positioner:e.positioner,resizeObserver:e.resizeObserver,items:e.items,onRender:e.onRender,as:e.as,id:e.id,className:e.className,style:e.style,role:e.role,tabIndex:e.tabIndex,containerRef:e.containerRef,itemAs:e.itemAs,itemStyle:e.itemStyle,itemHeightEstimate:e.itemHeightEstimate,itemKey:e.itemKey,overscanBy:e.overscanBy,height:e.height,render:e.render})}const Z2=M[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"];function eR(e,t){t===void 0&&(t=tR);const[n,r]=c.useState({offset:0,width:0});return Z2(()=>{const{current:o}=e;if(o!==null){let i=0,a=o;do i+=a.offsetTop||0,a=a.offsetParent;while(a);(i!==n.offset||o.offsetWidth!==n.width)&&r({offset:i,width:o.offsetWidth})}},t),n}const tR=[];function nR(e,t){let{width:n,columnWidth:r=200,columnGutter:o=0,rowGutter:i,columnCount:a,maxColumnCount:s}=e;t===void 0&&(t=aR);const u=()=>{const[w,g]=iR(n,r,o,a,s);return rR(g,w,o,i??o)},l=c.useRef();l.current===void 0&&(l.current=u());const d=c.useRef(t),f=[n,r,o,i,a,s],p=c.useRef(f),m=!f.every((w,g)=>p.current[g]===w);if(typeof process<"u",m||!t.every((w,g)=>d.current[g]===w)){const w=l.current,g=u();if(d.current=t,p.current=f,m){const b=w.size();for(let h=0;ha[u],update:u=>{const l=new Array(e);let d=0,f=0;for(;do.search(u,l,(f,p)=>d(f,a[f].left,p)),estimateHeight:(u,l)=>{const d=Math.max(0,Math.max.apply(null,i));return u===o.size?d:d+Math.ceil((u-o.size)/e)*l},shortestColumn:()=>i.length>1?Math.min.apply(null,i):i[0]||0,size(){return o.size},all(){return a}}},oR=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){const o=n+r>>>1,i=e[o];if(i===t)return o;i<=t?n=o+1:r=o-1}return-1},iR=function(e,t,n,r,o){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=8),r=r||Math.min(Math.floor((e+n)/(t+n)),o||1/0)||1,[Math.floor((e-n*(r-1))/r),r]},aR=[];var co=[],sR=function(){return co.some(function(e){return e.activeTargets.length>0})},lR=function(){return co.some(function(e){return e.skippedTargets.length>0})},Sm="ResizeObserver loop completed with undelivered notifications.",uR=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:Sm}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=Sm),window.dispatchEvent(e)},Va;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Va||(Va={}));var fo=function(e){return Object.freeze(e)},cR=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,fo(this)}return e}(),L0=function(){function e(t,n,r,o){return this.x=t,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,fo(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,r=t.y,o=t.top,i=t.right,a=t.bottom,s=t.left,u=t.width,l=t.height;return{x:n,y:r,top:o,right:i,bottom:a,left:s,width:u,height:l}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),mp=function(e){return e instanceof SVGElement&&"getBBox"in e},F0=function(e){if(mp(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,a=o.offsetHeight;return!(i||a||e.getClientRects().length)},Cm=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},dR=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},xa=typeof window<"u"?window:{},Us=new WeakMap,Rm=/auto|scroll/,fR=/^tb|vertical/,pR=/msie|trident/i.test(xa.navigator&&xa.navigator.userAgent),Cn=function(e){return parseFloat(e||"0")},ni=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new cR((n?t:e)||0,(n?e:t)||0)},km=fo({devicePixelContentBoxSize:ni(),borderBoxSize:ni(),contentBoxSize:ni(),contentRect:new L0(0,0,0,0)}),z0=function(e,t){if(t===void 0&&(t=!1),Us.has(e)&&!t)return Us.get(e);if(F0(e))return Us.set(e,km),km;var n=getComputedStyle(e),r=mp(e)&&e.ownerSVGElement&&e.getBBox(),o=!pR&&n.boxSizing==="border-box",i=fR.test(n.writingMode||""),a=!r&&Rm.test(n.overflowY||""),s=!r&&Rm.test(n.overflowX||""),u=r?0:Cn(n.paddingTop),l=r?0:Cn(n.paddingRight),d=r?0:Cn(n.paddingBottom),f=r?0:Cn(n.paddingLeft),p=r?0:Cn(n.borderTopWidth),m=r?0:Cn(n.borderRightWidth),w=r?0:Cn(n.borderBottomWidth),g=r?0:Cn(n.borderLeftWidth),b=f+l,h=u+d,v=g+m,y=p+w,S=s?e.offsetHeight-y-e.clientHeight:0,R=a?e.offsetWidth-v-e.clientWidth:0,E=o?b+v:0,k=o?h+y:0,$=r?r.width:Cn(n.width)-E-R,N=r?r.height:Cn(n.height)-k-S,I=$+b+R+v,K=N+h+S+y,H=fo({devicePixelContentBoxSize:ni(Math.round($*devicePixelRatio),Math.round(N*devicePixelRatio),i),borderBoxSize:ni(I,K,i),contentBoxSize:ni($,N,i),contentRect:new L0(f,u,$,N)});return Us.set(e,H),H},U0=function(e,t,n){var r=z0(e,n),o=r.borderBoxSize,i=r.contentBoxSize,a=r.devicePixelContentBoxSize;switch(t){case Va.DEVICE_PIXEL_CONTENT_BOX:return a;case Va.BORDER_BOX:return o;default:return i}},hR=function(){function e(t){var n=z0(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=fo([n.borderBoxSize]),this.contentBoxSize=fo([n.contentBoxSize]),this.devicePixelContentBoxSize=fo([n.devicePixelContentBoxSize])}return e}(),B0=function(e){if(F0(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},mR=function(){var e=1/0,t=[];co.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(l){var d=new hR(l.target),f=B0(l.target);s.push(d),l.lastReportedSize=U0(l.target,l.observedBox),fe?n.activeTargets.push(o):n.skippedTargets.push(o))})})},vR=function(){var e=0;for(Pm(e);sR();)e=mR(),Pm(e);return lR()&&uR(),e>0},hc,W0=[],gR=function(){return W0.splice(0).forEach(function(e){return e()})},yR=function(e){if(!hc){var t=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return gR()}).observe(n,r),hc=function(){n.textContent="".concat(t?t--:t++)}}W0.push(e),hc()},wR=function(e){yR(function(){requestAnimationFrame(e)})},pl=0,xR=function(){return!!pl},bR=250,ER={attributes:!0,characterData:!0,childList:!0,subtree:!0},$m=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Tm=function(e){return e===void 0&&(e=0),Date.now()+e},mc=!1,SR=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=bR),!mc){mc=!0;var r=Tm(t);wR(function(){var o=!1;try{o=vR()}finally{if(mc=!1,t=r-Tm(),!xR())return;o?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,ER)};document.body?n():xa.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),$m.forEach(function(n){return xa.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),$m.forEach(function(n){return xa.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),Qd=new SR,Nm=function(e){!pl&&e>0&&Qd.start(),pl+=e,!pl&&Qd.stop()},CR=function(e){return!mp(e)&&!dR(e)&&getComputedStyle(e).display==="inline"},RR=function(){function e(t,n){this.target=t,this.observedBox=n||Va.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=U0(this.target,this.observedBox,!0);return CR(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),kR=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),Bs=new WeakMap,_m=function(e,t){for(var n=0;n=0&&(i&&co.splice(co.indexOf(r),1),r.observationTargets.splice(o,1),Nm(-1))},e.disconnect=function(t){var n=this,r=Bs.get(t);r.observationTargets.slice().forEach(function(o){return n.unobserve(t,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},e}(),PR=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Ws.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Cm(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Ws.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Cm(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Ws.unobserve(this,t)},e.prototype.disconnect=function(){Ws.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),Dm=function(t){var n=[],r=null,o=function(){for(var a=arguments.length,s=new Array(a),u=0;ur,[n]),n}function NR(e){e.cancel()}const _R=D0([WeakMap],(e,t)=>{const n=[],r=Dm(()=>{n.length>0&&(e.update(n),t(n)),n.length=0}),o=l=>{const d=l.offsetHeight;if(d>0){const f=Vd.get(l);if(f!==void 0){const p=e.get(f);p!==void 0&&d!==p.height&&n.push(f,d)}}r()},i=new Map,a=l=>{let d=0;for(;d{u(),i.forEach(NR)},s});function DR(e,t){var n;const{align:r="top",element:o=typeof window<"u"&&window,offset:i=0,height:a=typeof window<"u"?window.innerHeight:0}=t,s=ku({positioner:e,element:o,align:r,offset:i,height:a}),u=c.useRef(()=>{const m=s.current.element;return m&&"current"in m?m.current:m}).current,[l,d]=c.useReducer((m,w)=>{const g={position:m.position,index:m.index,prevTop:m.prevTop};if(w.type==="scrollToIndex"){var b;return{position:s.current.positioner.get((b=w.value)!==null&&b!==void 0?b:-1),index:w.value,prevTop:void 0}}else if(w.type==="setPosition")g.position=w.value;else if(w.type==="setPrevTop")g.prevTop=w.value;else if(w.type==="reset")return Om;return g},Om),f=A0(d,15);ya(u(),"scroll",()=>{if(!l.position&&l.index){const m=s.current.positioner.get(l.index);m&&d({type:"setPosition",value:m})}});const p=l.index!==void 0&&((n=s.current.positioner.get(l.index))===null||n===void 0?void 0:n.top);return c.useEffect(()=>{const m=u();if(!m)return;const{height:w,align:g,offset:b,positioner:h}=s.current;if(l.position){let v=l.position.top;g==="bottom"?v=v-w+l.position.height:g==="center"&&(v-=(w-l.position.height)/2),m.scrollTo(0,Math.max(0,v+=b));let y=!1;const S=setTimeout(()=>!y&&d({type:"reset"}),400);return()=>{y=!0,clearTimeout(S)}}else if(l.index!==void 0){let v=h.shortestColumn()/h.size()*l.index;l.prevTop&&(v=Math.max(v,l.prevTop+w)),m.scrollTo(0,v),f({type:"setPrevTop",value:v})}},[p,l,s,u,f]),c.useRef(m=>{d({type:"scrollToIndex",value:m})}).current}const Om={index:void 0,position:void 0,prevTop:void 0},OR=c.createElement;function V0(e){const t=c.useRef(null),n=D2({initialWidth:e.ssrWidth,initialHeight:e.ssrHeight}),r=eR(t,n),o=Object.assign({offset:r.offset,width:r.width||n[0],height:n[1],containerRef:t},e);o.positioner=nR(o),o.resizeObserver=TR(o.positioner);const i=DR(o.positioner,{height:o.height,offset:r.offset,align:typeof e.scrollToIndex=="object"?e.scrollToIndex.align:void 0}),a=e.scrollToIndex&&(typeof e.scrollToIndex=="number"?e.scrollToIndex:e.scrollToIndex.index);return c.useEffect(()=>{a!==void 0&&i(a)},[a,i]),OR(J2,o)}const vp=dp("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),dt=c.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const a=r?$i:"button";return x.jsx(a,{className:ge(vp({variant:t,size:n,className:e})),ref:i,...o})});dt.displayName="Button";const vc="focusScope.autoFocusOnMount",gc="focusScope.autoFocusOnUnmount",Mm={bubbles:!1,cancelable:!0},MR=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[s,u]=c.useState(null),l=Rt(o),d=Rt(i),f=c.useRef(null),p=ht(t,g=>u(g)),m=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let v=function(E){if(m.paused||!s)return;const k=E.target;s.contains(k)?f.current=k:lr(f.current,{select:!0})},y=function(E){if(m.paused||!s)return;const k=E.relatedTarget;k!==null&&(s.contains(k)||lr(f.current,{select:!0}))},S=function(E){if(document.activeElement===document.body)for(const $ of E)$.removedNodes.length>0&&lr(s)};var g=v,b=y,h=S;document.addEventListener("focusin",v),document.addEventListener("focusout",y);const R=new MutationObserver(S);return s&&R.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",y),R.disconnect()}}},[r,s,m.paused]),c.useEffect(()=>{if(s){Im.add(m);const g=document.activeElement;if(!s.contains(g)){const h=new CustomEvent(vc,Mm);s.addEventListener(vc,l),s.dispatchEvent(h),h.defaultPrevented||(jR(zR(H0(s)),{select:!0}),document.activeElement===g&&lr(s))}return()=>{s.removeEventListener(vc,l),setTimeout(()=>{const h=new CustomEvent(gc,Mm);s.addEventListener(gc,d),s.dispatchEvent(h),h.defaultPrevented||lr(g??document.body,{select:!0}),s.removeEventListener(gc,d),Im.remove(m)},0)}}},[s,l,d,m]);const w=c.useCallback(g=>{if(!n&&!r||m.paused)return;const b=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,h=document.activeElement;if(b&&h){const v=g.currentTarget,[y,S]=IR(v);y&&S?!g.shiftKey&&h===S?(g.preventDefault(),n&&lr(y,{select:!0})):g.shiftKey&&h===y&&(g.preventDefault(),n&&lr(S,{select:!0})):h===v&&g.preventDefault()}},[n,r,m.paused]);return c.createElement(De.div,X({tabIndex:-1},a,{ref:p,onKeyDown:w}))});function jR(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(lr(r,{select:t}),document.activeElement!==n)return}function IR(e){const t=H0(e),n=jm(t,e),r=jm(t.reverse(),e);return[n,r]}function H0(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function jm(e,t){for(const n of e)if(!AR(n,{upTo:t}))return n}function AR(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function LR(e){return e instanceof HTMLInputElement&&"select"in e}function lr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&LR(e)&&t&&e.select()}}const Im=FR();function FR(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Am(e,t),e.unshift(t)},remove(t){var n;e=Am(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Am(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zR(e){return e.filter(t=>t.tagName!=="A")}const UR=c.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?yu.createPortal(c.createElement(De.div,X({},o,{ref:t})),r):null});let yc=0;function BR(){c.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:Lm()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:Lm()),yc++,()=>{yc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),yc--}},[])}function Lm(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var Dn=function(){return Dn=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&i[i.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]0)&&!(o=r.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}function Gd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r"u")return rk;var t=ok(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},ak=Y0(),ql="data-scroll-locked",sk=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` - .`.concat(WR,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(s,"px ").concat(r,`; - } - body[`).concat(ql,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(i,`px; - padding-right: `).concat(a,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(s,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(hl,` { - right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(ml,` { - margin-right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(hl," .").concat(hl,` { - right: 0 `).concat(r,`; - } - - .`).concat(ml," .").concat(ml,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(ql,`] { - `).concat(VR,": ").concat(s,`px; - } -`)},lk=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,i=c.useMemo(function(){return ik(o)},[o]);return c.useEffect(function(){return document.body.setAttribute(ql,""),function(){document.body.removeAttribute(ql)}},[]),c.createElement(ak,{styles:sk(i,!t,o,n?"":"!important")})},Yd=!1;if(typeof window<"u")try{var Vs=Object.defineProperty({},"passive",{get:function(){return Yd=!0,!0}});window.addEventListener("test",Vs,Vs),window.removeEventListener("test",Vs,Vs)}catch{Yd=!1}var _o=Yd?{passive:!1}:!1,uk=function(e){return e.tagName==="TEXTAREA"},q0=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!uk(e)&&n[t]==="visible")},ck=function(e){return q0(e,"overflowY")},dk=function(e){return q0(e,"overflowX")},Um=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=X0(e,n);if(r){var o=J0(e,n),i=o[1],a=o[2];if(i>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},fk=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},pk=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},X0=function(e,t){return e==="v"?ck(t):dk(t)},J0=function(e,t){return e==="v"?fk(t):pk(t)},hk=function(e,t){return e==="h"&&t==="rtl"?-1:1},mk=function(e,t,n,r,o){var i=hk(e,window.getComputedStyle(t).direction),a=i*r,s=n.target,u=t.contains(s),l=!1,d=a>0,f=0,p=0;do{var m=J0(e,s),w=m[0],g=m[1],b=m[2],h=g-b-i*w;(w||h)&&X0(e,s)&&(f+=h,p+=w),s=s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return(d&&(o&&f===0||!o&&a>f)||!d&&(o&&p===0||!o&&-a>p))&&(l=!0),l},Hs=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Bm=function(e){return[e.deltaX,e.deltaY]},Wm=function(e){return e&&"current"in e?e.current:e},vk=function(e,t){return e[0]===t[0]&&e[1]===t[1]},gk=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},yk=0,Do=[];function wk(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),o=c.useState(yk++)[0],i=c.useState(function(){return Y0()})[0],a=c.useRef(e);c.useEffect(function(){a.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var g=Gd([e.lockRef.current],(e.shards||[]).map(Wm),!0).filter(Boolean);return g.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),g.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=c.useCallback(function(g,b){if("touches"in g&&g.touches.length===2)return!a.current.allowPinchZoom;var h=Hs(g),v=n.current,y="deltaX"in g?g.deltaX:v[0]-h[0],S="deltaY"in g?g.deltaY:v[1]-h[1],R,E=g.target,k=Math.abs(y)>Math.abs(S)?"h":"v";if("touches"in g&&k==="h"&&E.type==="range")return!1;var $=Um(k,E);if(!$)return!0;if($?R=k:(R=k==="v"?"h":"v",$=Um(k,E)),!$)return!1;if(!r.current&&"changedTouches"in g&&(y||S)&&(r.current=R),!R)return!0;var N=r.current||R;return mk(N,b,g,N==="h"?y:S,!0)},[]),u=c.useCallback(function(g){var b=g;if(!(!Do.length||Do[Do.length-1]!==i)){var h="deltaY"in b?Bm(b):Hs(b),v=t.current.filter(function(R){return R.name===b.type&&R.target===b.target&&vk(R.delta,h)})[0];if(v&&v.should){b.cancelable&&b.preventDefault();return}if(!v){var y=(a.current.shards||[]).map(Wm).filter(Boolean).filter(function(R){return R.contains(b.target)}),S=y.length>0?s(b,y[0]):!a.current.noIsolation;S&&b.cancelable&&b.preventDefault()}}},[]),l=c.useCallback(function(g,b,h,v){var y={name:g,delta:b,target:h,should:v};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(S){return S!==y})},1)},[]),d=c.useCallback(function(g){n.current=Hs(g),r.current=void 0},[]),f=c.useCallback(function(g){l(g.type,Bm(g),g.target,s(g,e.lockRef.current))},[]),p=c.useCallback(function(g){l(g.type,Hs(g),g.target,s(g,e.lockRef.current))},[]);c.useEffect(function(){return Do.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,_o),document.addEventListener("touchmove",u,_o),document.addEventListener("touchstart",d,_o),function(){Do=Do.filter(function(g){return g!==i}),document.removeEventListener("wheel",u,_o),document.removeEventListener("touchmove",u,_o),document.removeEventListener("touchstart",d,_o)}},[]);var m=e.removeScrollBar,w=e.inert;return c.createElement(c.Fragment,null,w?c.createElement(i,{styles:gk(o)}):null,m?c.createElement(lk,{gapMode:"margin"}):null)}const xk=qR(G0,wk);var Z0=c.forwardRef(function(e,t){return c.createElement($u,Dn({},e,{ref:t,sideCar:xk}))});Z0.classNames=$u.classNames;const bk=Z0;var Ek=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Oo=new WeakMap,Ks=new WeakMap,Qs={},Ec=0,e1=function(e){return e&&(e.host||e1(e.parentNode))},Sk=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=e1(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Ck=function(e,t,n,r){var o=Sk(t,Array.isArray(e)?e:[e]);Qs[n]||(Qs[n]=new WeakMap);var i=Qs[n],a=[],s=new Set,u=new Set(o),l=function(f){!f||s.has(f)||(s.add(f),l(f.parentNode))};o.forEach(l);var d=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(p){if(s.has(p))d(p);else{var m=p.getAttribute(r),w=m!==null&&m!=="false",g=(Oo.get(p)||0)+1,b=(i.get(p)||0)+1;Oo.set(p,g),i.set(p,b),a.push(p),g===1&&w&&Ks.set(p,!0),b===1&&p.setAttribute(n,"true"),w||p.setAttribute(r,"true")}})};return d(t),s.clear(),Ec++,function(){a.forEach(function(f){var p=Oo.get(f)-1,m=i.get(f)-1;Oo.set(f,p),i.set(f,m),p||(Ks.has(f)||f.removeAttribute(r),Ks.delete(f)),m||f.removeAttribute(n)}),Ec--,Ec||(Oo=new WeakMap,Oo=new WeakMap,Ks=new WeakMap,Qs={})}},Rk=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Ek(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Ck(r,o,n,"aria-hidden")):function(){return null}};const t1="Dialog",[n1,r1]=Ro(t1),[kk,In]=n1(t1),Pk=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,s=c.useRef(null),u=c.useRef(null),[l=!1,d]=Su({prop:r,defaultProp:o,onChange:i});return c.createElement(kk,{scope:t,triggerRef:s,contentRef:u,contentId:ei(),titleId:ei(),descriptionId:ei(),open:l,onOpenChange:d,onOpenToggle:c.useCallback(()=>d(f=>!f),[d]),modal:a},n)},o1="DialogPortal",[$k,i1]=n1(o1,{forceMount:void 0}),Tk=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=In(o1,t);return c.createElement($k,{scope:t,forceMount:n},c.Children.map(r,a=>c.createElement(Zn,{present:n||i.open},c.createElement(UR,{asChild:!0,container:o},a))))},qd="DialogOverlay",Nk=c.forwardRef((e,t)=>{const n=i1(qd,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=In(qd,e.__scopeDialog);return i.modal?c.createElement(Zn,{present:r||i.open},c.createElement(_k,X({},o,{ref:t}))):null}),_k=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(qd,n);return c.createElement(bk,{as:$i,allowPinchZoom:!0,shards:[o.contentRef]},c.createElement(De.div,X({"data-state":l1(o.open)},r,{ref:t,style:{pointerEvents:"auto",...r.style}})))}),Ni="DialogContent",Dk=c.forwardRef((e,t)=>{const n=i1(Ni,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=In(Ni,e.__scopeDialog);return c.createElement(Zn,{present:r||i.open},i.modal?c.createElement(Ok,X({},o,{ref:t})):c.createElement(Mk,X({},o,{ref:t})))}),Ok=c.forwardRef((e,t)=>{const n=In(Ni,e.__scopeDialog),r=c.useRef(null),o=ht(t,n.contentRef,r);return c.useEffect(()=>{const i=r.current;if(i)return Rk(i)},[]),c.createElement(a1,X({},e,{ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:we(e.onCloseAutoFocus,i=>{var a;i.preventDefault(),(a=n.triggerRef.current)===null||a===void 0||a.focus()}),onPointerDownOutside:we(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&i.preventDefault()}),onFocusOutside:we(e.onFocusOutside,i=>i.preventDefault())}))}),Mk=c.forwardRef((e,t)=>{const n=In(Ni,e.__scopeDialog),r=c.useRef(!1),o=c.useRef(!1);return c.createElement(a1,X({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var a;if((a=e.onCloseAutoFocus)===null||a===void 0||a.call(e,i),!i.defaultPrevented){var s;r.current||(s=n.triggerRef.current)===null||s===void 0||s.focus(),i.preventDefault()}r.current=!1,o.current=!1},onInteractOutside:i=>{var a,s;(a=e.onInteractOutside)===null||a===void 0||a.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const u=i.target;((s=n.triggerRef.current)===null||s===void 0?void 0:s.contains(u))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}}))}),a1=c.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,s=In(Ni,n),u=c.useRef(null),l=ht(t,u);return BR(),c.createElement(c.Fragment,null,c.createElement(MR,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i},c.createElement(Qy,X({role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":l1(s.open)},a,{ref:l,onDismiss:()=>s.onOpenChange(!1)}))),!1)}),s1="DialogTitle",jk=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(s1,n);return c.createElement(De.h2,X({id:o.titleId},r,{ref:t}))}),Ik="DialogDescription",gp=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(Ik,n);return c.createElement(De.p,X({id:o.descriptionId},r,{ref:t}))}),Ak="DialogClose",Lk=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(Ak,n);return c.createElement(De.button,X({type:"button"},r,{ref:t,onClick:we(e.onClick,()=>o.onOpenChange(!1))}))});function l1(e){return e?"open":"closed"}const Fk="DialogTitleWarning",[zk,VT]=tS(Fk,{contentName:Ni,titleName:s1,docsSlug:"dialog"}),u1=Pk,c1=Tk,yp=Nk,wp=Dk,xp=jk,bp=gp,Ep=Lk,Uk="AlertDialog",[Bk,HT]=Ro(Uk,[r1]),zr=r1(),Wk=e=>{const{__scopeAlertDialog:t,...n}=e,r=zr(t);return c.createElement(u1,X({},r,n,{modal:!0}))},Vk=e=>{const{__scopeAlertDialog:t,...n}=e,r=zr(t);return c.createElement(c1,X({},r,n))},Hk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(yp,X({},o,r,{ref:t}))}),d1="AlertDialogContent",[Kk,Qk]=Bk(d1),Gk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...o}=e,i=zr(n),a=c.useRef(null),s=ht(t,a),u=c.useRef(null);return c.createElement(zk,{contentName:d1,titleName:Yk,docsSlug:"alert-dialog"},c.createElement(Kk,{scope:n,cancelRef:u},c.createElement(wp,X({role:"alertdialog"},i,o,{ref:s,onOpenAutoFocus:we(o.onOpenAutoFocus,l=>{var d;l.preventDefault(),(d=u.current)===null||d===void 0||d.focus({preventScroll:!0})}),onPointerDownOutside:l=>l.preventDefault(),onInteractOutside:l=>l.preventDefault()}),c.createElement(Ky,null,r),!1)))}),Yk="AlertDialogTitle",qk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(xp,X({},o,r,{ref:t}))}),Xk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(bp,X({},o,r,{ref:t}))}),Jk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(Ep,X({},o,r,{ref:t}))}),Zk="AlertDialogCancel",eP=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:o}=Qk(Zk,n),i=zr(n),a=ht(t,o);return c.createElement(Ep,X({},i,r,{ref:a}))}),tP=Wk,nP=Vk,f1=Hk,p1=Gk,h1=Jk,m1=eP,v1=qk,g1=Xk,rP=tP,oP=nP,y1=c.forwardRef(({className:e,...t},n)=>x.jsx(f1,{className:ge("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));y1.displayName=f1.displayName;const w1=c.forwardRef(({className:e,...t},n)=>x.jsxs(oP,{children:[x.jsx(y1,{}),x.jsx(p1,{ref:n,className:ge("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));w1.displayName=p1.displayName;const x1=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col space-y-2 text-center sm:text-left",e),...t});x1.displayName="AlertDialogHeader";const b1=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});b1.displayName="AlertDialogFooter";const E1=c.forwardRef(({className:e,...t},n)=>x.jsx(v1,{ref:n,className:ge("text-lg font-semibold",e),...t}));E1.displayName=v1.displayName;const S1=c.forwardRef(({className:e,...t},n)=>x.jsx(g1,{ref:n,className:ge("text-sm text-muted-foreground",e),...t}));S1.displayName=g1.displayName;const C1=c.forwardRef(({className:e,...t},n)=>x.jsx(h1,{ref:n,className:ge(vp(),e),...t}));C1.displayName=h1.displayName;const R1=c.forwardRef(({className:e,...t},n)=>x.jsx(m1,{ref:n,className:ge(vp({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));R1.displayName=m1.displayName;const ri=u1,iP=c1,k1=c.forwardRef(({className:e,...t},n)=>x.jsx(yp,{ref:n,className:ge("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));k1.displayName=yp.displayName;const po=c.forwardRef(({className:e,children:t,...n},r)=>x.jsxs(iP,{children:[x.jsx(k1,{}),x.jsxs(wp,{ref:r,className:ge("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,x.jsxs(Ep,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[x.jsx(oC,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));po.displayName=wp.displayName;const ho=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});ho.displayName="DialogHeader";const Xl=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Xl.displayName="DialogFooter";const Kn=c.forwardRef(({className:e,...t},n)=>x.jsx(xp,{ref:n,className:ge("text-lg font-semibold leading-none tracking-tight",e),...t}));Kn.displayName=xp.displayName;const Xd=c.forwardRef(({className:e,...t},n)=>x.jsx(bp,{ref:n,className:ge("text-sm text-muted-foreground",e),...t}));Xd.displayName=bp.displayName;function aP({item:e}){const t=hs(),[n,r]=M.useState(!1),[o,i]=M.useState(),[a,s]=M.useState(!1),u=Or({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/start`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),l=Or({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/stop`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),d=Or({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/delete`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}});return c.useEffect(()=>{u.isPending?i("launch"):d.isPending?i("delete"):l.isPending?i("stop"):i(void 0),s(u.isPending||l.isPending||d.isPending)},[u.isPending,l.isPending,d.isPending]),x.jsxs(x.Fragment,{children:[x.jsx(ri,{onOpenChange:f=>s(f),open:!!o&&a,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[o==="launch"&&x.jsx(Kn,{children:"Launching project..."}),o==="stop"&&x.jsx(Kn,{children:"Stopping project..."}),o==="delete"&&x.jsx(Kn,{children:"Deleting project..."}),x.jsx(gp,{className:"mt-5 text-sm text-neutral-700 font-medium",children:"This could take a few moments."})]}),x.jsx("div",{className:"flex justify-center items-center",children:x.jsx(Ba,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),x.jsx(rP,{open:n,onOpenChange:f=>r(f),children:x.jsxs(w1,{children:[x.jsxs(x1,{children:[x.jsx(E1,{children:"Are you sure?"}),x.jsx(S1,{children:"This action cannot be undone. This will permanently delete your project's data. Your models will NOT be deleted."})]}),x.jsxs(b1,{children:[x.jsx(R1,{children:"Cancel"}),x.jsx(C1,{onClick:f=>{f.preventDefault(),r(!1),d.mutate()},children:"Delete"})]})]})}),x.jsx("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:x.jsxs("div",{className:"flex flex-col space-y-5",children:[x.jsxs("div",{className:"flex flex-col",children:[x.jsx("h1",{className:"text-lg font-semibold",children:e.state.name}),x.jsxs("p",{className:"mt-1 font-medium text-xs text-gray-500 font-mono",children:["ID: ",e.id]})]}),x.jsxs("div",{className:"flex flex-row space-x-2",children:[e.state.state==="ready"&&x.jsx(dt,{onClick:f=>{f.preventDefault(),u.mutate()},variant:"default",children:"Launch"}),e.state.state==="running"&&!!e.state.port&&x.jsx(dt,{variant:"default",asChild:!0,children:x.jsx("a",{href:`http://localhost:${e.state.port}`,target:"_blank",children:"Open"})}),e.state.state==="running"&&x.jsx(dt,{onClick:f=>{f.preventDefault(),l.mutate()},variant:"secondary",children:"Stop"}),(e.state.state==="ready"||e.state.state==="running")&&x.jsx(dt,{onClick:f=>{f.preventDefault(),r(!0)},variant:"destructive",children:"Delete"})]})]})})]})}function sP(){const e=_0({queryKey:["projects"],queryFn:async()=>await(await fetch("/api/projects")).json()});return e.isLoading?x.jsx("div",{children:"Loading..."}):e.isError?x.jsx("div",{children:"Something went wrong, please refresh the page."}):!e.data||e.data.length===0?x.jsx(x.Fragment,{}):x.jsx("div",{children:x.jsx(V0,{itemKey:(t,n)=>t===void 0?n:t.id,columnGutter:20,columnWidth:350,items:e.data,render:t=>x.jsx(aP,{item:t.data})},e.data.map(t=>t.id).join(","))})}function lP(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsxs("div",{className:"flex flex-row space-x-5 p-5",children:[x.jsx("a",{href:"/new",children:x.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[x.jsx("h1",{className:"text-lg font-semibold",children:"Create workflow"}),x.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Create a new ComfyUI project"})]})}),x.jsx("a",{href:"/import",children:x.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[x.jsx("h1",{className:"text-lg font-semibold",children:"Import workflow"}),x.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Run an existing workflow with zero setup"})]})})]}),x.jsx("div",{className:"flex flex-col mt-5 p-5",children:x.jsx(sP,{})})]})}var P1={exports:{}},uP="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",cP=uP,dP=cP;function $1(){}function T1(){}T1.resetWarningCache=$1;var fP=function(){function e(r,o,i,a,s,u){if(u!==dP){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:T1,resetWarningCache:$1};return n.PropTypes=n,n};P1.exports=fP();var pP=P1.exports;const Ce=sf(pP);var hP=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function ms(e,t){var n=mP(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function mP(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=hP.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var vP=[".DS_Store","Thumbs.db"];function gP(e){return Ai(this,void 0,void 0,function(){return Li(this,function(t){return Jl(e)&&yP(e.dataTransfer)?[2,EP(e.dataTransfer,e.type)]:wP(e)?[2,xP(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,bP(e)]:[2,[]]})})}function yP(e){return Jl(e)}function wP(e){return Jl(e)&&Jl(e.target)}function Jl(e){return typeof e=="object"&&e!==null}function xP(e){return Jd(e.target.files).map(function(t){return ms(t)})}function bP(e){return Ai(this,void 0,void 0,function(){var t;return Li(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return ms(r)})]}})})}function EP(e,t){return Ai(this,void 0,void 0,function(){var n,r;return Li(this,function(o){switch(o.label){case 0:return e.items?(n=Jd(e.items).filter(function(i){return i.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(SP))]):[3,2];case 1:return r=o.sent(),[2,Vm(N1(r))];case 2:return[2,Vm(Jd(e.files).map(function(i){return ms(i)}))]}})})}function Vm(e){return e.filter(function(t){return vP.indexOf(t.name)===-1})}function Jd(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,Ym(n)];if(e.sizen)return[!1,Ym(n)]}return[!0,null]}function Qr(e){return e!=null}function FP(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles,s=e.validator;return!i&&t.length>1||i&&a>=1&&t.length>a?!1:t.every(function(u){var l=M1(u,n),d=Ha(l,1),f=d[0],p=j1(u,r,o),m=Ha(p,1),w=m[0],g=s?s(u):null;return f&&w&&!g})}function Zl(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Gs(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function Xm(e){e.preventDefault()}function zP(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function UP(e){return e.indexOf("Edge/")!==-1}function BP(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return zP(e)||UP(e)}function Rn(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function i$(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var Sp=c.forwardRef(function(e,t){var n=e.children,r=eu(e,GP),o=z1(r),i=o.open,a=eu(o,YP);return c.useImperativeHandle(t,function(){return{open:i}},[i]),M.createElement(c.Fragment,null,n(Le(Le({},a),{},{open:i})))});Sp.displayName="Dropzone";var F1={disabled:!1,getFilesFromEvent:gP,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Sp.defaultProps=F1;Sp.propTypes={children:Ce.func,accept:Ce.objectOf(Ce.arrayOf(Ce.string)),multiple:Ce.bool,preventDropOnDocument:Ce.bool,noClick:Ce.bool,noKeyboard:Ce.bool,noDrag:Ce.bool,noDragEventsBubbling:Ce.bool,minSize:Ce.number,maxSize:Ce.number,maxFiles:Ce.number,disabled:Ce.bool,getFilesFromEvent:Ce.func,onFileDialogCancel:Ce.func,onFileDialogOpen:Ce.func,useFsAccessApi:Ce.bool,autoFocus:Ce.bool,onDragEnter:Ce.func,onDragLeave:Ce.func,onDragOver:Ce.func,onDrop:Ce.func,onDropAccepted:Ce.func,onDropRejected:Ce.func,onError:Ce.func,validator:Ce.func};var nf={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function z1(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Le(Le({},F1),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,a=t.minSize,s=t.multiple,u=t.maxFiles,l=t.onDragEnter,d=t.onDragLeave,f=t.onDragOver,p=t.onDrop,m=t.onDropAccepted,w=t.onDropRejected,g=t.onFileDialogCancel,b=t.onFileDialogOpen,h=t.useFsAccessApi,v=t.autoFocus,y=t.preventDropOnDocument,S=t.noClick,R=t.noKeyboard,E=t.noDrag,k=t.noDragEventsBubbling,$=t.onError,N=t.validator,I=c.useMemo(function(){return HP(n)},[n]),K=c.useMemo(function(){return VP(n)},[n]),H=c.useMemo(function(){return typeof b=="function"?b:Zm},[b]),se=c.useMemo(function(){return typeof g=="function"?g:Zm},[g]),Y=c.useRef(null),te=c.useRef(null),xe=c.useReducer(a$,nf),A=Sc(xe,2),D=A[0],O=A[1],z=D.isFocused,L=D.isFileDialogActive,W=c.useRef(typeof window<"u"&&window.isSecureContext&&h&&WP()),ne=function(){!W.current&&L&&setTimeout(function(){if(te.current){var G=te.current.files;G.length||(O({type:"closeDialog"}),se())}},300)};c.useEffect(function(){return window.addEventListener("focus",ne,!1),function(){window.removeEventListener("focus",ne,!1)}},[te,L,se,W]);var Z=c.useRef([]),ce=function(G){Y.current&&Y.current.contains(G.target)||(G.preventDefault(),Z.current=[])};c.useEffect(function(){return y&&(document.addEventListener("dragover",Xm,!1),document.addEventListener("drop",ce,!1)),function(){y&&(document.removeEventListener("dragover",Xm),document.removeEventListener("drop",ce))}},[Y,y]),c.useEffect(function(){return!r&&v&&Y.current&&Y.current.focus(),function(){}},[Y,v,r]);var re=c.useCallback(function(F){$?$(F):console.error(F)},[$]),He=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F),Z.current=[].concat(JP(Z.current),[F.target]),Gs(F)&&Promise.resolve(o(F)).then(function(G){if(!(Zl(F)&&!k)){var Re=G.length,Oe=Re>0&&FP({files:G,accept:I,minSize:a,maxSize:i,multiple:s,maxFiles:u,validator:N}),tt=Re>0&&!Oe;O({isDragAccept:Oe,isDragReject:tt,isDragActive:!0,type:"setDraggedFiles"}),l&&l(F)}}).catch(function(G){return re(G)})},[o,l,re,k,I,a,i,s,u,N]),bt=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F);var G=Gs(F);if(G&&F.dataTransfer)try{F.dataTransfer.dropEffect="copy"}catch{}return G&&f&&f(F),!1},[f,k]),Vt=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F);var G=Z.current.filter(function(Oe){return Y.current&&Y.current.contains(Oe)}),Re=G.indexOf(F.target);Re!==-1&&G.splice(Re,1),Z.current=G,!(G.length>0)&&(O({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Gs(F)&&d&&d(F))},[Y,d,k]),jt=c.useCallback(function(F,G){var Re=[],Oe=[];F.forEach(function(tt){var lt=M1(tt,I),sn=Sc(lt,2),bn=sn[0],Et=sn[1],Wr=j1(tt,a,i),ee=Sc(Wr,2),me=ee[0],Ee=ee[1],nt=N?N(tt):null;if(bn&&me&&!nt)Re.push(tt);else{var mt=[Et,Ee];nt&&(mt=mt.concat(nt)),Oe.push({file:tt,errors:mt.filter(function(An){return An})})}}),(!s&&Re.length>1||s&&u>=1&&Re.length>u)&&(Re.forEach(function(tt){Oe.push({file:tt,errors:[LP]})}),Re.splice(0)),O({acceptedFiles:Re,fileRejections:Oe,type:"setFiles"}),p&&p(Re,Oe,G),Oe.length>0&&w&&w(Oe,G),Re.length>0&&m&&m(Re,G)},[O,s,I,a,i,u,p,m,w,N]),Ke=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F),Z.current=[],Gs(F)&&Promise.resolve(o(F)).then(function(G){Zl(F)&&!k||jt(G,F)}).catch(function(G){return re(G)}),O({type:"reset"})},[o,jt,re,k]),qe=c.useCallback(function(){if(W.current){O({type:"openDialog"}),H();var F={multiple:s,types:K};window.showOpenFilePicker(F).then(function(G){return o(G)}).then(function(G){jt(G,null),O({type:"closeDialog"})}).catch(function(G){KP(G)?(se(G),O({type:"closeDialog"})):QP(G)?(W.current=!1,te.current?(te.current.value=null,te.current.click()):re(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):re(G)});return}te.current&&(O({type:"openDialog"}),H(),te.current.value=null,te.current.click())},[O,H,se,h,jt,re,K,s]),Ur=c.useCallback(function(F){!Y.current||!Y.current.isEqualNode(F.target)||(F.key===" "||F.key==="Enter"||F.keyCode===32||F.keyCode===13)&&(F.preventDefault(),qe())},[Y,qe]),ko=c.useCallback(function(){O({type:"focus"})},[]),Ae=c.useCallback(function(){O({type:"blur"})},[]),on=c.useCallback(function(){S||(BP()?setTimeout(qe,0):qe())},[S,qe]),wn=function(G){return r?null:G},Br=function(G){return R?null:wn(G)},an=function(G){return E?null:wn(G)},er=function(G){k&&G.stopPropagation()},xn=c.useMemo(function(){return function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},G=F.refKey,Re=G===void 0?"ref":G,Oe=F.role,tt=F.onKeyDown,lt=F.onFocus,sn=F.onBlur,bn=F.onClick,Et=F.onDragEnter,Wr=F.onDragOver,ee=F.onDragLeave,me=F.onDrop,Ee=eu(F,qP);return Le(Le(tf({onKeyDown:Br(Rn(tt,Ur)),onFocus:Br(Rn(lt,ko)),onBlur:Br(Rn(sn,Ae)),onClick:wn(Rn(bn,on)),onDragEnter:an(Rn(Et,He)),onDragOver:an(Rn(Wr,bt)),onDragLeave:an(Rn(ee,Vt)),onDrop:an(Rn(me,Ke)),role:typeof Oe=="string"&&Oe!==""?Oe:"presentation"},Re,Y),!r&&!R?{tabIndex:0}:{}),Ee)}},[Y,Ur,ko,Ae,on,He,bt,Vt,Ke,R,E,r]),tr=c.useCallback(function(F){F.stopPropagation()},[]),Ht=c.useMemo(function(){return function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},G=F.refKey,Re=G===void 0?"ref":G,Oe=F.onChange,tt=F.onClick,lt=eu(F,XP),sn=tf({accept:I,multiple:s,type:"file",style:{display:"none"},onChange:wn(Rn(Oe,Ke)),onClick:wn(Rn(tt,tr)),tabIndex:-1},Re,te);return Le(Le({},sn),lt)}},[te,n,s,Ke,r]);return Le(Le({},D),{},{isFocused:z&&!r,getRootProps:xn,getInputProps:Ht,rootRef:Y,inputRef:te,open:wn(qe)})}function a$(e,t){switch(t.type){case"focus":return Le(Le({},e),{},{isFocused:!0});case"blur":return Le(Le({},e),{},{isFocused:!1});case"openDialog":return Le(Le({},nf),{},{isFileDialogActive:!0});case"closeDialog":return Le(Le({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Le(Le({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Le(Le({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Le({},nf);default:return e}}function Zm(){}const vs=c.forwardRef(({className:e,type:t,...n},r)=>x.jsx("input",{type:t,className:ge("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));vs.displayName="Input";const U1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));U1.displayName="Card";const B1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("flex flex-col space-y-1.5 p-6",e),...t}));B1.displayName="CardHeader";const W1=c.forwardRef(({className:e,...t},n)=>x.jsx("h3",{ref:n,className:ge("text-2xl font-semibold leading-none tracking-tight",e),...t}));W1.displayName="CardTitle";const V1=c.forwardRef(({className:e,...t},n)=>x.jsx("p",{ref:n,className:ge("text-sm text-muted-foreground",e),...t}));V1.displayName="CardDescription";const H1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("p-6 pt-0",e),...t}));H1.displayName="CardContent";const K1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("flex items-center p-6 pt-0",e),...t}));K1.displayName="CardFooter";const rf="horizontal",s$=["horizontal","vertical"],Q1=c.forwardRef((e,t)=>{const{decorative:n,orientation:r=rf,...o}=e,i=G1(r)?r:rf,s=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return c.createElement(De.div,X({"data-orientation":i},s,o,{ref:t}))});Q1.propTypes={orientation(e,t,n){const r=e[t],o=String(r);return r&&!G1(r)?new Error(l$(o,n)):null}};function l$(e,t){return`Invalid prop \`orientation\` of value \`${e}\` supplied to \`${t}\`, expected one of: - - horizontal - - vertical - -Defaulting to \`${rf}\`.`}function G1(e){return s$.includes(e)}const Y1=Q1,q1=c.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>x.jsx(Y1,{ref:o,decorative:n,orientation:t,className:ge("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));q1.displayName=Y1.displayName;const u$=c.forwardRef((e,t)=>c.createElement(De.label,X({},e,{ref:t,onMouseDown:n=>{var r;(r=e.onMouseDown)===null||r===void 0||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault()}}))),X1=u$,c$=dp("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),mo=c.forwardRef(({className:e,...t},n)=>x.jsx(X1,{ref:n,className:ge(c$(),e),...t}));mo.displayName=X1.displayName;function d$(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}d$(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} -`);var f$=e=>{switch(e){case"success":return m$;case"info":return g$;case"warning":return v$;case"error":return y$;default:return null}},p$=Array(12).fill(0),h$=({visible:e})=>M.createElement("div",{className:"sonner-loading-wrapper","data-visible":e},M.createElement("div",{className:"sonner-spinner"},p$.map((t,n)=>M.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),m$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),v$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),g$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),y$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),w$=()=>{let[e,t]=M.useState(!1);return M.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},of=1,x$=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:of++,i=this.toasts.find(s=>s.id===o),a=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...e,id:o,title:n}),{...s,...e,id:o,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0;return r.then(i=>{if(i&&typeof i.ok=="boolean"&&!i.ok){o=!1;let a=typeof t.error=="function"?t.error(`HTTP error! status: ${i.status}`):t.error,s=typeof t.description=="function"?t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:n,type:"error",message:a,description:s})}else if(t.success!==void 0){o=!1;let a=typeof t.success=="function"?t.success(i):t.success,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"success",message:a,description:s})}}).catch(i=>{if(t.error!==void 0){o=!1;let a=typeof t.error=="function"?t.error(i):t.error,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"error",message:a,description:s})}}).finally(()=>{var i;o&&(this.dismiss(n),n=void 0),(i=t.finally)==null||i.call(t)}),n},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||of++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},un=new x$,b$=(e,t)=>{let n=(t==null?void 0:t.id)||of++;return un.addToast({title:e,...t,id:n}),n},E$=b$,Ys=Object.assign(E$,{success:un.success,info:un.info,warning:un.warning,error:un.error,custom:un.custom,message:un.message,promise:un.promise,dismiss:un.dismiss,loading:un.loading}),S$=3,C$="32px",R$=4e3,k$=356,J1=14,P$=20,$$=200;function T$(...e){return e.filter(Boolean).join(" ")}var N$=e=>{var t,n,r,o,i,a,s;let{invert:u,toast:l,unstyled:d,interacting:f,setHeights:p,visibleToasts:m,heights:w,index:g,toasts:b,expanded:h,removeToast:v,closeButton:y,style:S,cancelButtonStyle:R,actionButtonStyle:E,className:k="",descriptionClassName:$="",duration:N,position:I,gap:K=J1,loadingIcon:H,expandByDefault:se,classNames:Y,icons:te,closeButtonAriaLabel:xe="Close toast",pauseWhenPageIsHidden:A,cn:D}=e,[O,z]=M.useState(!1),[L,W]=M.useState(!1),[ne,Z]=M.useState(!1),[ce,re]=M.useState(!1),[He,bt]=M.useState(0),[Vt,jt]=M.useState(0),Ke=M.useRef(null),qe=M.useRef(null),Ur=g===0,ko=g+1<=m,Ae=l.type,on=l.dismissible!==!1,wn=l.className||"",Br=l.descriptionClassName||"",an=M.useMemo(()=>w.findIndex(ee=>ee.toastId===l.id)||0,[w,l.id]),er=M.useMemo(()=>{var ee;return(ee=l.closeButton)!=null?ee:y},[l.closeButton,y]),xn=M.useMemo(()=>l.duration||N||R$,[l.duration,N]),tr=M.useRef(0),Ht=M.useRef(0),F=M.useRef(0),G=M.useRef(null),[Re,Oe]=I.split("-"),tt=M.useMemo(()=>w.reduce((ee,me,Ee)=>Ee>=an?ee:ee+me.height,0),[w,an]),lt=w$(),sn=l.invert||u,bn=Ae==="loading";Ht.current=M.useMemo(()=>an*K+tt,[an,tt]),M.useEffect(()=>{z(!0)},[]),M.useLayoutEffect(()=>{if(!O)return;let ee=qe.current,me=ee.style.height;ee.style.height="auto";let Ee=ee.getBoundingClientRect().height;ee.style.height=me,jt(Ee),p(nt=>nt.find(mt=>mt.toastId===l.id)?nt.map(mt=>mt.toastId===l.id?{...mt,height:Ee}:mt):[{toastId:l.id,height:Ee,position:l.position},...nt])},[O,l.title,l.description,p,l.id]);let Et=M.useCallback(()=>{W(!0),bt(Ht.current),p(ee=>ee.filter(me=>me.toastId!==l.id)),setTimeout(()=>{v(l)},$$)},[l,v,p,Ht]);M.useEffect(()=>{if(l.promise&&Ae==="loading"||l.duration===1/0||l.type==="loading")return;let ee,me=xn;return h||f||A&<?(()=>{if(F.current{var Ee;(Ee=l.onAutoClose)==null||Ee.call(l,l),Et()},me)),()=>clearTimeout(ee)},[h,f,se,l,xn,Et,l.promise,Ae,A,lt]),M.useEffect(()=>{let ee=qe.current;if(ee){let me=ee.getBoundingClientRect().height;return jt(me),p(Ee=>[{toastId:l.id,height:me,position:l.position},...Ee]),()=>p(Ee=>Ee.filter(nt=>nt.toastId!==l.id))}},[p,l.id]),M.useEffect(()=>{l.delete&&Et()},[Et,l.delete]);function Wr(){return te!=null&&te.loading?M.createElement("div",{className:"loader","data-visible":Ae==="loading"},te.loading):H?M.createElement("div",{className:"sonner-loader","data-visible":Ae==="loading"},H):M.createElement(h$,{visible:Ae==="loading"})}return M.createElement("li",{"aria-live":l.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:qe,className:D(k,wn,Y==null?void 0:Y.toast,(t=l==null?void 0:l.classNames)==null?void 0:t.toast,Y==null?void 0:Y.default,Y==null?void 0:Y[Ae],(n=l==null?void 0:l.classNames)==null?void 0:n[Ae]),"data-sonner-toast":"","data-styled":!(l.jsx||l.unstyled||d),"data-mounted":O,"data-promise":!!l.promise,"data-removed":L,"data-visible":ko,"data-y-position":Re,"data-x-position":Oe,"data-index":g,"data-front":Ur,"data-swiping":ne,"data-dismissible":on,"data-type":Ae,"data-invert":sn,"data-swipe-out":ce,"data-expanded":!!(h||se&&O),style:{"--index":g,"--toasts-before":g,"--z-index":b.length-g,"--offset":`${L?He:Ht.current}px`,"--initial-height":se?"auto":`${Vt}px`,...S,...l.style},onPointerDown:ee=>{bn||!on||(Ke.current=new Date,bt(Ht.current),ee.target.setPointerCapture(ee.pointerId),ee.target.tagName!=="BUTTON"&&(Z(!0),G.current={x:ee.clientX,y:ee.clientY}))},onPointerUp:()=>{var ee,me,Ee,nt;if(ce||!on)return;G.current=null;let mt=Number(((ee=qe.current)==null?void 0:ee.style.getPropertyValue("--swipe-amount").replace("px",""))||0),An=new Date().getTime()-((me=Ke.current)==null?void 0:me.getTime()),Tu=Math.abs(mt)/An;if(Math.abs(mt)>=P$||Tu>.11){bt(Ht.current),(Ee=l.onDismiss)==null||Ee.call(l,l),Et(),re(!0);return}(nt=qe.current)==null||nt.style.setProperty("--swipe-amount","0px"),Z(!1)},onPointerMove:ee=>{var me;if(!G.current||!on)return;let Ee=ee.clientY-G.current.y,nt=ee.clientX-G.current.x,mt=(Re==="top"?Math.min:Math.max)(0,Ee),An=ee.pointerType==="touch"?10:2;Math.abs(mt)>An?(me=qe.current)==null||me.style.setProperty("--swipe-amount",`${Ee}px`):Math.abs(nt)>An&&(G.current=null)}},er&&!l.jsx?M.createElement("button",{"aria-label":xe,"data-disabled":bn,"data-close-button":!0,onClick:bn||!on?()=>{}:()=>{var ee;Et(),(ee=l.onDismiss)==null||ee.call(l,l)},className:D(Y==null?void 0:Y.closeButton,(r=l==null?void 0:l.classNames)==null?void 0:r.closeButton)},M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},M.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),M.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,l.jsx||M.isValidElement(l.title)?l.jsx||l.title:M.createElement(M.Fragment,null,Ae||l.icon||l.promise?M.createElement("div",{"data-icon":""},l.promise||l.type==="loading"&&!l.icon?l.icon||(te==null?void 0:te.loading)||Wr():null,l.type!=="loading"?l.icon||(te==null?void 0:te[Ae])||f$(Ae):null):null,M.createElement("div",{"data-content":""},M.createElement("div",{"data-title":"",className:D(Y==null?void 0:Y.title,(o=l==null?void 0:l.classNames)==null?void 0:o.title)},l.title),l.description?M.createElement("div",{"data-description":"",className:D($,Br,Y==null?void 0:Y.description,(i=l==null?void 0:l.classNames)==null?void 0:i.description)},l.description):null),l.cancel?M.createElement("button",{"data-button":!0,"data-cancel":!0,style:l.cancelButtonStyle||R,onClick:ee=>{var me;on&&(Et(),(me=l.cancel)!=null&&me.onClick&&l.cancel.onClick(ee))},className:D(Y==null?void 0:Y.cancelButton,(a=l==null?void 0:l.classNames)==null?void 0:a.cancelButton)},l.cancel.label):null,l.action?M.createElement("button",{"data-button":"",style:l.actionButtonStyle||E,onClick:ee=>{var me;(me=l.action)==null||me.onClick(ee),!ee.defaultPrevented&&Et()},className:D(Y==null?void 0:Y.actionButton,(s=l==null?void 0:l.classNames)==null?void 0:s.actionButton)},l.action.label):null))};function ev(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var _$=e=>{let{invert:t,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:i,className:a,offset:s,theme:u="light",richColors:l,duration:d,style:f,visibleToasts:p=S$,toastOptions:m,dir:w=ev(),gap:g,loadingIcon:b,icons:h,containerAriaLabel:v="Notifications",pauseWhenPageIsHidden:y,cn:S=T$}=e,[R,E]=M.useState([]),k=M.useMemo(()=>Array.from(new Set([n].concat(R.filter(L=>L.position).map(L=>L.position)))),[R,n]),[$,N]=M.useState([]),[I,K]=M.useState(!1),[H,se]=M.useState(!1),[Y,te]=M.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),xe=M.useRef(null),A=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),D=M.useRef(null),O=M.useRef(!1),z=M.useCallback(L=>E(W=>W.filter(({id:ne})=>ne!==L.id)),[]);return M.useEffect(()=>un.subscribe(L=>{if(L.dismiss){E(W=>W.map(ne=>ne.id===L.id?{...ne,delete:!0}:ne));return}setTimeout(()=>{yu.flushSync(()=>{E(W=>{let ne=W.findIndex(Z=>Z.id===L.id);return ne!==-1?[...W.slice(0,ne),{...W[ne],...L},...W.slice(ne+1)]:[L,...W]})})})}),[]),M.useEffect(()=>{if(u!=="system"){te(u);return}u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?te("dark"):te("light")),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:L})=>{te(L?"dark":"light")})},[u]),M.useEffect(()=>{R.length<=1&&K(!1)},[R]),M.useEffect(()=>{let L=W=>{var ne,Z;r.every(ce=>W[ce]||W.code===ce)&&(K(!0),(ne=xe.current)==null||ne.focus()),W.code==="Escape"&&(document.activeElement===xe.current||(Z=xe.current)!=null&&Z.contains(document.activeElement))&&K(!1)};return document.addEventListener("keydown",L),()=>document.removeEventListener("keydown",L)},[r]),M.useEffect(()=>{if(xe.current)return()=>{D.current&&(D.current.focus({preventScroll:!0}),D.current=null,O.current=!1)}},[xe.current]),R.length?M.createElement("section",{"aria-label":`${v} ${A}`,tabIndex:-1},k.map((L,W)=>{var ne;let[Z,ce]=L.split("-");return M.createElement("ol",{key:L,dir:w==="auto"?ev():w,tabIndex:-1,ref:xe,className:a,"data-sonner-toaster":!0,"data-theme":Y,"data-rich-colors":l,"data-y-position":Z,"data-x-position":ce,style:{"--front-toast-height":`${((ne=$[0])==null?void 0:ne.height)||0}px`,"--offset":typeof s=="number"?`${s}px`:s||C$,"--width":`${k$}px`,"--gap":`${J1}px`,...f},onBlur:re=>{O.current&&!re.currentTarget.contains(re.relatedTarget)&&(O.current=!1,D.current&&(D.current.focus({preventScroll:!0}),D.current=null))},onFocus:re=>{re.target instanceof HTMLElement&&re.target.dataset.dismissible==="false"||O.current||(O.current=!0,D.current=re.relatedTarget)},onMouseEnter:()=>K(!0),onMouseMove:()=>K(!0),onMouseLeave:()=>{H||K(!1)},onPointerDown:re=>{re.target instanceof HTMLElement&&re.target.dataset.dismissible==="false"||se(!0)},onPointerUp:()=>se(!1)},R.filter(re=>!re.position&&W===0||re.position===L).map((re,He)=>{var bt,Vt;return M.createElement(N$,{key:re.id,icons:h,index:He,toast:re,duration:(bt=m==null?void 0:m.duration)!=null?bt:d,className:m==null?void 0:m.className,descriptionClassName:m==null?void 0:m.descriptionClassName,invert:t,visibleToasts:p,closeButton:(Vt=m==null?void 0:m.closeButton)!=null?Vt:i,interacting:H,position:L,style:m==null?void 0:m.style,unstyled:m==null?void 0:m.unstyled,classNames:m==null?void 0:m.classNames,cancelButtonStyle:m==null?void 0:m.cancelButtonStyle,actionButtonStyle:m==null?void 0:m.actionButtonStyle,removeToast:z,toasts:R.filter(jt=>jt.position==re.position),heights:$.filter(jt=>jt.position==re.position),setHeights:N,expandByDefault:o,gap:g,loadingIcon:b,expanded:I,pauseWhenPageIsHidden:y,cn:S})}))})):null};const Cc="rovingFocusGroup.onEntryFocus",D$={bubbles:!1,cancelable:!0},Cp="RovingFocusGroup",[af,Z1,O$]=ap(Cp),[M$,ew]=Ro(Cp,[O$]),[j$,I$]=M$(Cp),A$=c.forwardRef((e,t)=>c.createElement(af.Provider,{scope:e.__scopeRovingFocusGroup},c.createElement(af.Slot,{scope:e.__scopeRovingFocusGroup},c.createElement(L$,X({},e,{ref:t}))))),L$=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:u,onEntryFocus:l,...d}=e,f=c.useRef(null),p=ht(t,f),m=ip(i),[w=null,g]=Su({prop:a,defaultProp:s,onChange:u}),[b,h]=c.useState(!1),v=Rt(l),y=Z1(n),S=c.useRef(!1),[R,E]=c.useState(0);return c.useEffect(()=>{const k=f.current;if(k)return k.addEventListener(Cc,v),()=>k.removeEventListener(Cc,v)},[v]),c.createElement(j$,{scope:n,orientation:r,dir:m,loop:o,currentTabStopId:w,onItemFocus:c.useCallback(k=>g(k),[g]),onItemShiftTab:c.useCallback(()=>h(!0),[]),onFocusableItemAdd:c.useCallback(()=>E(k=>k+1),[]),onFocusableItemRemove:c.useCallback(()=>E(k=>k-1),[])},c.createElement(De.div,X({tabIndex:b||R===0?-1:0,"data-orientation":r},d,{ref:p,style:{outline:"none",...e.style},onMouseDown:we(e.onMouseDown,()=>{S.current=!0}),onFocus:we(e.onFocus,k=>{const $=!S.current;if(k.target===k.currentTarget&&$&&!b){const N=new CustomEvent(Cc,D$);if(k.currentTarget.dispatchEvent(N),!N.defaultPrevented){const I=y().filter(te=>te.focusable),K=I.find(te=>te.active),H=I.find(te=>te.id===w),Y=[K,H,...I].filter(Boolean).map(te=>te.ref.current);tw(Y)}}S.current=!1}),onBlur:we(e.onBlur,()=>h(!1))})))}),F$="RovingFocusGroupItem",z$=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,...a}=e,s=ei(),u=i||s,l=I$(F$,n),d=l.currentTabStopId===u,f=Z1(n),{onFocusableItemAdd:p,onFocusableItemRemove:m}=l;return c.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),c.createElement(af.ItemSlot,{scope:n,id:u,focusable:r,active:o},c.createElement(De.span,X({tabIndex:d?0:-1,"data-orientation":l.orientation},a,{ref:t,onMouseDown:we(e.onMouseDown,w=>{r?l.onItemFocus(u):w.preventDefault()}),onFocus:we(e.onFocus,()=>l.onItemFocus(u)),onKeyDown:we(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){l.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const g=W$(w,l.orientation,l.dir);if(g!==void 0){w.preventDefault();let h=f().filter(v=>v.focusable).map(v=>v.ref.current);if(g==="last")h.reverse();else if(g==="prev"||g==="next"){g==="prev"&&h.reverse();const v=h.indexOf(w.currentTarget);h=l.loop?V$(h,v+1):h.slice(v+1)}setTimeout(()=>tw(h))}})})))}),U$={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function B$(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function W$(e,t,n){const r=B$(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return U$[r]}function tw(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function V$(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const H$=A$,K$=z$;function Q$(e){const[t,n]=c.useState(void 0);return bo(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let a,s;if("borderBoxSize"in i){const u=i.borderBoxSize,l=Array.isArray(u)?u[0]:u;a=l.inlineSize,s=l.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const nw="Radio",[G$,rw]=Ro(nw),[Y$,q$]=G$(nw),X$=c.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:i,disabled:a,value:s="on",onCheck:u,...l}=e,[d,f]=c.useState(null),p=ht(t,g=>f(g)),m=c.useRef(!1),w=d?!!d.closest("form"):!0;return c.createElement(Y$,{scope:n,checked:o,disabled:a},c.createElement(De.button,X({type:"button",role:"radio","aria-checked":o,"data-state":ow(o),"data-disabled":a?"":void 0,disabled:a,value:s},l,{ref:p,onClick:we(e.onClick,g=>{o||u==null||u(),w&&(m.current=g.isPropagationStopped(),m.current||g.stopPropagation())})})),w&&c.createElement(eT,{control:d,bubbles:!m.current,name:r,value:s,checked:o,required:i,disabled:a,style:{transform:"translateX(-100%)"}}))}),J$="RadioIndicator",Z$=c.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...o}=e,i=q$(J$,n);return c.createElement(Zn,{present:r||i.checked},c.createElement(De.span,X({"data-state":ow(i.checked),"data-disabled":i.disabled?"":void 0},o,{ref:t})))}),eT=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,i=c.useRef(null),a=Yy(n),s=Q$(t);return c.useEffect(()=>{const u=i.current,l=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(l,"checked").set;if(a!==n&&f){const p=new Event("click",{bubbles:r});f.call(u,n),u.dispatchEvent(p)}},[a,n,r]),c.createElement("input",X({type:"radio","aria-hidden":!0,defaultChecked:n},o,{tabIndex:-1,ref:i,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function ow(e){return e?"checked":"unchecked"}const tT=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],iw="RadioGroup",[nT,KT]=Ro(iw,[ew,rw]),aw=ew(),sw=rw(),[rT,oT]=nT(iw),iT=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:i,required:a=!1,disabled:s=!1,orientation:u,dir:l,loop:d=!0,onValueChange:f,...p}=e,m=aw(n),w=ip(l),[g,b]=Su({prop:i,defaultProp:o,onChange:f});return c.createElement(rT,{scope:n,name:r,required:a,disabled:s,value:g,onValueChange:b},c.createElement(H$,X({asChild:!0},m,{orientation:u,dir:w,loop:d}),c.createElement(De.div,X({role:"radiogroup","aria-required":a,"aria-orientation":u,"data-disabled":s?"":void 0,dir:w},p,{ref:t}))))}),aT="RadioGroupItem",sT=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...o}=e,i=oT(aT,n),a=i.disabled||r,s=aw(n),u=sw(n),l=c.useRef(null),d=ht(t,l),f=i.value===o.value,p=c.useRef(!1);return c.useEffect(()=>{const m=g=>{tT.includes(g.key)&&(p.current=!0)},w=()=>p.current=!1;return document.addEventListener("keydown",m),document.addEventListener("keyup",w),()=>{document.removeEventListener("keydown",m),document.removeEventListener("keyup",w)}},[]),c.createElement(K$,X({asChild:!0},s,{focusable:!a,active:f}),c.createElement(X$,X({disabled:a,required:i.required,checked:f},u,o,{name:i.name,ref:d,onCheck:()=>i.onValueChange(o.value),onKeyDown:we(m=>{m.key==="Enter"&&m.preventDefault()}),onFocus:we(o.onFocus,()=>{var m;p.current&&((m=l.current)===null||m===void 0||m.click())})})))}),lT=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,o=sw(n);return c.createElement(Z$,X({},o,r,{ref:t}))}),lw=iT,uw=sT,uT=lT,cw=c.forwardRef(({className:e,...t},n)=>x.jsx(lw,{className:ge("grid gap-2",e),...t,ref:n}));cw.displayName=lw.displayName;const vl=c.forwardRef(({className:e,...t},n)=>x.jsx(uw,{ref:n,className:ge("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:x.jsx(uT,{className:"flex items-center justify-center",children:x.jsx(ZS,{className:"h-2.5 w-2.5 fill-current text-current"})})}));vl.displayName=uw.displayName;function cT({failed_model_id:e,mutationToUse:t}){const[n,r]=c.useState(""),[o,i]=c.useState("hf"),[a,s]=c.useState(!1),u=()=>o==="hf"?"https://huggingface.co/h94/IP-Adapter-FaceID/blob/main/ip-adapter-faceid_sd15_lora.safetensors":o==="civit"?"https://civitai.com/models/4201/realistic-vision-v60-b1?modelVersionId=130072":"custom.com";return x.jsxs("div",{className:"w-full flex flex-col items-start gap-2",children:[x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx(tC,{className:"w-4 h-4 text-green-400"}),x.jsx("p",{className:"text-white font-semibold",children:"Or import from URL"})]}),x.jsx("div",{className:"flex flex-row items-center space-x-4",children:x.jsxs(cw,{className:"flex flex-row",defaultValue:"hf",onValueChange:l=>{(l==="hf"||l==="civit"||l==="custom")&&i(l)},children:[x.jsxs("div",{className:"flex items-center space-x-2",children:[x.jsx(vl,{className:"text-white border-white",value:"hf",id:"r1"}),x.jsx(mo,{className:"text-white",htmlFor:"r1",children:"Hugging Face"})]}),x.jsxs("div",{className:"flex items-center space-x-2",children:[x.jsx(vl,{className:"text-white border-white",value:"civit",id:"r2"}),x.jsx(mo,{className:"text-white",htmlFor:"r2",children:"Civit AI"})]}),x.jsxs("div",{className:"flex items-center space-x-2",children:[x.jsx(vl,{className:"text-white border-white",value:"custom",id:"r3"}),x.jsx(mo,{className:"text-white",htmlFor:"r3",children:"Custom"})]})]})}),x.jsxs("div",{className:"w-full flex flex-row space-x-2 items-center",children:[x.jsx(vs,{className:"border-[#222] bg-[#000] text-white",placeholder:u(),value:n,onChange:l=>{l.preventDefault(),r(l.target.value)}}),x.jsx(dt,{onClick:l=>{l.preventDefault(),s(!0),t.mutate({id_to_resolve:e,url:n,type:o})},children:a?x.jsx(Ba,{className:"w-4 h-4 animate-spin text-white"}):"Import"})]})]})}const dT={flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out"},fT={borderColor:"#2196f3"},pT={borderColor:"#00e676"},hT={borderColor:"#ff1744"};function mT(){const[e,t]=M.useState(!0),[n,r]=M.useState(),o=hs(),i=Wy();M.useEffect(()=>{t(!1)},[]);const[a,s]=M.useState(""),[u,l]=M.useState(!1),[d,f]=M.useState(!1),[p,m]=M.useState([]),[w,g]=M.useState(""),[b,h]=c.useState(!1),[v,y]=c.useState(!1),[S,R]=c.useState(!1),E=Or({mutationFn:async({import_json:A,name:D})=>{var W;const O=JSON.parse(A),L=await(await fetch("/api/import_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({import_json:O,name:D})})).json();return!L.success&&((W=L.missing_models)==null?void 0:W.length)>0?(console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${L.success}. data.missing_models: ${L.missing_models}`),m(L.missing_models)):i("/"),L},onSuccess:async()=>{await o.invalidateQueries({queryKey:["projects"]})}}),k=Or({mutationFn:async({id_to_resolve:A,backup_to_use:D})=>{g(A),console.log("resolveMissingModelMutationWithBackup id_to_resolve:",A),console.log("resolveMissingModelMutationWithBackup backup_to_use:",D);const O=p.find(ne=>ne.id===A),z=O==null?void 0:O.backup_models.find(ne=>ne.id===D);if(!O||!z||!n){Ys.error("something went wrong when resolving your model. please try again.");return}const L=n.replace(new RegExp(O.file_name,"g"),z.file_name);r(L);const W=p.map(ne=>ne.id===A?{...ne,resolved:!0,new_file_name:z.file_name}:ne);m(W),Ys.success("successfully resolved")},onSuccess:async()=>{g("")}}),$=Or({mutationFn:async({id_to_resolve:A,url:D,type:O})=>{g(A),console.log("resolveMissingModelMutationWithURL id_to_resolve:",A),console.log("resolveMissingModelMutationWithURL url:",D),console.log("resolveMissingModelMutationWithURL type:",O);const z=p.find(ce=>ce.id===A),L=await new Promise(ce=>{setTimeout(()=>{ce({json:()=>Promise.resolve({file_name:"ip-adapter-faceid_sd15_lora.safetensors"})})},1e4)}),{file_name:W}=await L.json();if(!z||!W||!n){Ys.error("something went wrong when resolving your model. please try again.");return}const ne=n.replace(new RegExp(z.file_name,"g"),W);r(ne);const Z=p.map(ce=>ce.id===A?{...ce,resolved:!0,new_file_name:W}:ce);m(Z),Ys.success("successfully resolved")},onSuccess:async()=>{g("")}});c.useEffect(()=>{p.every(A=>!!A.resolved)?(console.log("RESOLVED all missing models"),R(!0)):(console.log("HAVE NOT RESOLVED all missing models"),R(!1))},[p]),c.useEffect(()=>{f(E.isPending)},[E.isPending]);const N=c.useCallback(A=>{if(A.length===0){r(void 0);return}A.slice(0,1).forEach(D=>{const O=new FileReader;O.onabort=()=>console.log("file reading was aborted"),O.onerror=()=>console.log("file reading has failed"),O.onload=()=>{const z=O.result;if(!z){r(void 0);return}if(typeof z=="string")r(z);else{const W=new Uint8Array(z),ne=[];for(var L=0;L({...dT,...se?fT:{},...Y?pT:{},...te?hT:{}}),[se,Y,te]);if(!e)return x.jsxs(x.Fragment,{children:[x.jsx(ri,{onOpenChange:A=>l(A),open:u,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsx(ho,{children:x.jsx(Kn,{children:"Import project"})}),x.jsx("div",{className:"grid gap-4 py-4",children:x.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[x.jsx(mo,{htmlFor:"name",className:"text-right",children:"Name"}),x.jsx(vs,{id:"name",placeholder:"",className:"col-span-3",value:a,onChange:A=>s(A.target.value)})]})}),x.jsx(Xl,{children:x.jsx(dt,{type:"submit",onClick:A=>{A.preventDefault(),n&&(E.mutate({import_json:n,name:a}),l(!1))},children:"Import"})})]})}),x.jsx(ri,{onOpenChange:A=>f(A),open:d,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[x.jsx(Kn,{children:"Importing project..."}),x.jsx(Xd,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),x.jsx("div",{className:"flex justify-center items-center",children:x.jsx(Ba,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),x.jsx(ri,{onOpenChange:A=>h(A),open:b,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[x.jsx(Kn,{children:"Are you sure you want to skip fixing unresolved models?"}),x.jsx(Xd,{children:"You will probably face errors when running the workflow and might have to upload replacement models to run the workflow."})]}),x.jsxs(Xl,{children:[x.jsx(dt,{onClick:A=>{A.preventDefault(),h(!1)},children:"Cancel"}),x.jsx(dt,{onClick:A=>{A.preventDefault(),y(!0),h(!1)},children:"Yes, skip"})]})]})}),x.jsxs("div",{className:"flex flex-col p-10",children:[x.jsxs("div",{className:"flex flex-col",children:[x.jsx("h1",{className:"text-3xl font-semibold",children:"Import workflow"}),x.jsxs("p",{className:"mt-5 font-medium text-gray-700",children:["Drag & drop a ",x.jsx("b",{children:"ComfyUI workflow json file"})," or ",x.jsx("b",{children:"ComfyUI Launcher json file"})," to run it with ",x.jsx("b",{children:"ZERO setup"}),"."]})]}),x.jsxs("div",{className:"flex flex-col mt-10",children:[x.jsxs("div",{className:"cursor-pointer",...K({style:xe}),children:[x.jsx("input",{...H()}),x.jsx("p",{children:"Drag & drop your json file here"})]}),x.jsx("aside",{className:"mt-4",children:x.jsx("ul",{children:I.slice(0,1).map(A=>x.jsxs("li",{className:"font-medium text-sm",children:[A.name," - ",A.size," bytes"]},A.name))})})]}),p.length>0&&!v&&x.jsxs(U1,{className:"bg-[#0a0a0a] backdrop-blur-xl border-2 border-[#444] w-full",children:[x.jsxs(B1,{children:[x.jsx(W1,{className:"text-white",children:S?"All unrecognized models have been resolved.":"These models were not recognized"}),x.jsx(V1,{children:S?"Please try importing again.":"We could not find the folloiwng models from the workflow you tried to import. Replace missing models with the models that are available to avoid getting errors."})]}),x.jsx(H1,{className:"flex flex-col gap-6",children:p.map(A=>A.resolved?x.jsxs("div",{className:"w-full flex flex-row items-center justify-between",children:[x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx(XS,{className:"w-4 h-4 text-green-400"}),x.jsx("h3",{className:"text-white font-bold",children:A.new_file_name}),x.jsx("h3",{className:"text-[#999] font-bold line-through ml-2",children:A.file_name})]}),x.jsx(dt,{size:"sm",onClick:D=>{D.preventDefault();const O=p.map(z=>z.id===A.id?{...z,resolved:!1,new_file_name:""}:z);m(O)},children:"Edit"})]}):x.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[x.jsx("div",{className:"w-full flex flex-row items-center justify-between",children:x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w===A.id?x.jsx(Ba,{className:" text-orange-500 animate-spin w-4 h-4"}):x.jsx(qS,{className:"w-4 h-4 text-red-500"}),x.jsx("h3",{className:"text-white font-bold",children:A.file_name})]})}),x.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[x.jsxs("div",{className:"w-full flex flex-col items-start gap-",children:[x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx(rC,{className:"w-4 h-4 text-green-400"}),x.jsx("p",{className:"text-white font-semibold",children:"Replace with"})]}),A.backup_models.map(D=>x.jsxs("div",{className:"w-full flex flex-row items-center justify-between my-1",children:[x.jsxs("div",{className:"flex flex-row items-center space-x-2",children:[x.jsx(nC,{className:"text-white w-4 h-4"}),x.jsx("p",{className:"text-white",children:D.file_name})]}),x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx("a",{href:D.link,target:"none",children:x.jsx(dt,{size:"sm",className:"",children:"View"})}),x.jsx(dt,{size:"sm",className:"",onClick:O=>{O.preventDefault(),k.mutate({id_to_resolve:A.id,backup_to_use:D.id})},children:"Use this model"})]})]}))]}),x.jsx(cT,{failed_model_id:A.id,mutationToUse:$})]}),x.jsx(q1,{className:"bg-[#444]"})]}))}),!S&&x.jsx(K1,{children:x.jsx(dt,{onClick:A=>{A.preventDefault(),h(!0)},children:"Skip"})})]}),x.jsx("div",{className:"mt-5",children:x.jsx(dt,{variant:"default",disabled:!n||p.length>0&&!S&&!v,onClick:A=>{A.preventDefault(),n&&l(!0)},children:"Import"})})]})]})}function vT(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsx(mT,{})]})}function gT({item:{id:e,title:t,description:n,thumbnail:r,isThumbnailVideo:o,credits:i}}){const a=hs(),s=Wy(),u=Or({mutationFn:async({template_id:g,name:b})=>await(await fetch("/api/create_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template_id:g,name:b})})).json(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),s("/")}}),[l,d]=M.useState(""),[f,p]=M.useState(!1),[m,w]=M.useState(!1);return c.useEffect(()=>{w(u.isPending)},[u.isPending]),x.jsxs(x.Fragment,{children:[x.jsx(ri,{onOpenChange:g=>p(g),open:f,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsx(ho,{children:x.jsx(Kn,{children:"Create project"})}),x.jsx("div",{className:"grid gap-4 py-4",children:x.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[x.jsx(mo,{htmlFor:"name",className:"text-right",children:"Name"}),x.jsx(vs,{id:"name",placeholder:"",className:"col-span-3",value:l,onChange:g=>d(g.target.value)})]})}),x.jsx(Xl,{children:x.jsx(dt,{type:"submit",onClick:g=>{g.preventDefault(),u.mutate({template_id:e,name:l}),p(!1)},children:"Create"})})]})}),x.jsx(ri,{onOpenChange:g=>w(g),open:m,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[x.jsx(Kn,{children:"Creating project..."}),x.jsx(gp,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),x.jsx("div",{className:"flex justify-center items-center",children:x.jsx(Ba,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),x.jsxs("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:[x.jsxs("div",{className:"flex flex-row justify-between space-x-5",children:[x.jsxs("div",{className:"flex flex-col",children:[x.jsx("h1",{className:"text-lg font-semibold",children:t}),x.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:n})]}),x.jsx("div",{className:"flex flex-col",children:x.jsx(dt,{onClick:g=>{g.preventDefault(),p(!0)},variant:"default",children:"Create"})})]}),r&&!o&&x.jsx("img",{src:r,className:"mt-4 w-full rounded-md"}),r&&o&&x.jsx("video",{muted:!0,loop:!0,autoPlay:!0,src:r,className:"mt-4 w-full rounded-md"}),i&&x.jsx("a",{href:i,target:"_blank",children:x.jsxs("div",{className:"mt-5 text-xs font-medium text-gray-500 flex items-center",children:["Credits ",x.jsx(eC,{className:"ml-1 w-3 h-3"})]})})]})]})}const yT="/assets/thumbnail-C9PpGAWR.webp",wT="/assets/thumbnail-D5odPwq0.webp",xT="/assets/thumbnail-eWYeQc2f.webp",bT="/assets/thumbnail-B-W0ErKu.webp",ET="/assets/thumbnail-CLQIOTWC.mp4",ST="/assets/thumbnail-DvLaklfj.webp",CT=[{id:"empty",title:"Empty",description:"Blank new ComfyUI project",thumbnail:""},{id:"animate_diff",title:"AnimateDiff",description:"Create animations from a prompt",thumbnail:yT,credits:"https://comfyworkflows.com/workflows/cc4b1b3f-735a-4e22-b241-148606544301"},{id:"svd",title:"Stable Video Diffusion",description:"Create videos from a prompt",thumbnail:wT,credits:"https://comfyworkflows.com/workflows/ae9275b2-c303-48fb-a539-13451dd93808"},{id:"upscale",title:"Upscaling",description:"Upscale images with high quality",thumbnail:xT,credits:"https://comfyworkflows.com/workflows/810e1c6e-12ad-4487-8dc3-d54fadf8319f"},{id:"img2img",title:"Image to Image (img2img)",description:"Stylize any input image (e.g. cartoon)",thumbnail:bT,credits:"https://comfyworkflows.com/workflows/e20d73bf-116a-49e1-a869-b7f47b0056e8"},{id:"vid2vid",title:"Video to Video (vid2vid)",description:"Stylize any input video (e.g. anime style)",thumbnail:ET,isThumbnailVideo:!0,credits:"https://comfyworkflows.com/workflows/84e00774-4a21-4555-b4dd-063eec3e604a"},{id:"img2vid",title:"Image to Video (img2vid)",description:"Create videos from an input image using Stable Video Diffusion",thumbnail:ST,credits:"https://comfyworkflows.com/workflows/14e821f5-8111-4178-8d6e-c43ab02d8376"}];function RT(){return x.jsxs("div",{className:"flex flex-col p-10",children:[x.jsx("div",{children:x.jsx("h1",{className:"text-3xl font-semibold",children:"New workflow"})}),x.jsx("div",{className:"flex flex-col mt-10",children:x.jsx("div",{children:x.jsx(V0,{itemKey:e=>e.id,columnGutter:20,columnWidth:350,items:CT,render:e=>x.jsx(gT,{item:e.data})})})})]})}function kT(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsx(RT,{})]})}const PT=1,$T=1e6;let Rc=0;function TT(){return Rc=(Rc+1)%Number.MAX_SAFE_INTEGER,Rc.toString()}const kc=new Map,tv=e=>{if(kc.has(e))return;const t=setTimeout(()=>{kc.delete(e),ba({type:"REMOVE_TOAST",toastId:e})},$T);kc.set(e,t)},NT=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,PT)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?tv(n):e.toasts.forEach(r=>{tv(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},gl=[];let yl={toasts:[]};function ba(e){yl=NT(yl,e),gl.forEach(t=>{t(yl)})}function _T({...e}){const t=TT(),n=o=>ba({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>ba({type:"DISMISS_TOAST",toastId:t});return ba({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function DT(){const[e,t]=c.useState(yl);return c.useEffect(()=>(gl.push(t),()=>{const n=gl.indexOf(t);n>-1&&gl.splice(n,1)}),[e]),{...e,toast:_T,dismiss:n=>ba({type:"DISMISS_TOAST",toastId:n})}}function OT(){const[e,t]=M.useState(),n=_0({queryKey:["settings"],queryFn:async()=>await(await fetch("/api/get_config")).json(),enabled:!e});c.useEffect(()=>{n.data&&t(n.data.credentials.civitai.apikey)},[n.data]);const{toast:r}=DT(),o=Or({mutationFn:async({civitai_api_key:i})=>await(await fetch("/api/update_config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({credentials:{civitai:{apikey:i}}})})).json(),onSuccess:async()=>{r({title:"Saved your settings!"})}});return n.isLoading?x.jsx("div",{children:"Loading..."}):x.jsx(x.Fragment,{children:x.jsxs("div",{className:"flex flex-col p-10",children:[x.jsxs("div",{className:"flex flex-col space-y-2",children:[x.jsx(mo,{htmlFor:"name",className:"text-left",children:"CivitAI API Key"}),x.jsx(vs,{id:"name",placeholder:"Your CivitAI API key",className:"w-fit",value:e,required:!0,onChange:i=>t(i.target.value)}),x.jsxs("p",{className:"text-xs font-medium text-gray-600",children:["You can get your CivitAI API key from your ",x.jsx("a",{href:"https://civitai.com/user/account",target:"_blank",rel:"noreferrer",children:"CivitAI account settings page"}),".",x.jsx("br",{}),'Scroll to the bottom of the page to the section titled "API Keys", and create one.',x.jsx("br",{}),x.jsx("br",{}),"This key is saved locally and ONLY used to download missing models directly from CivitAI. It is NEVER sent anywhere else."]})]}),x.jsx("div",{children:x.jsx(dt,{onClick:i=>{i.preventDefault(),o.mutate({civitai_api_key:e||""})},variant:"default",className:"mt-5",children:o.isPending?"Saving...":"Save"})})]})})}function MT(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsx(OT,{})]})}const jT=c.createContext(void 0),IT={setTheme:e=>{},themes:[]},AT=()=>{var e;return(e=c.useContext(jT))!==null&&e!==void 0?e:IT},LT=({...e})=>{const{theme:t="system"}=AT();return x.jsx(_$,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},FT=new n2,zT=VE([{path:"/",element:x.jsx(lP,{})},{path:"/import",element:x.jsx(vT,{})},{path:"/new",element:x.jsx(kT,{})},{path:"/settings",element:x.jsx(MT,{})}]);Pc.createRoot(document.getElementById("root")).render(x.jsx(M.StrictMode,{children:x.jsxs(s2,{client:FT,children:[x.jsx(ZE,{router:zT}),x.jsx(LT,{})]})})); diff --git a/web/dist/civitai-logo-github.png b/web/dist/civitai-logo-github.png new file mode 100644 index 0000000000000000000000000000000000000000..579290fd45c013022b97783beba258c9f27bd96c GIT binary patch literal 8842 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
From 19aaa314936bc9b53aa59cf67c5a15972f0dd8ec Mon Sep 17 00:00:00 2001 From: dylanintech Date: Wed, 6 Mar 2024 03:00:18 +0000 Subject: [PATCH 16/26] fixed dest_relative_path not being sent from missing models FE, added logs in server for checksum issue --- server/server.py | 8 ++++---- server/utils.py | 5 ++++- .../assets/{index-5D4Xb1yk.js => index-BQgUx93c.js} | 12 ++++++------ web/dist/index.html | 2 +- web/src/components/ImportWorkflowUI.tsx | 6 +++--- web/src/components/MissingModelItem.tsx | 4 ++-- web/src/lib/types.ts | 1 + 7 files changed, 21 insertions(+), 17 deletions(-) rename web/dist/assets/{index-5D4Xb1yk.js => index-BQgUx93c.js} (95%) diff --git a/server/server.py b/server/server.py index ac86b5b..c047aaf 100644 --- a/server/server.py +++ b/server/server.py @@ -137,8 +137,8 @@ def import_project(): name = request_data["name"] import_json = request_data["import_json"] resolved_missing_models = request_data["resolved_missing_models"] - # skipping_model_validation = request_data["skipping_model_validation"] - skipping_model_validation = request_data.get("skipping_model_validation") + skipping_model_validation = request_data["skipping_model_validation"] + # skipping_model_validation = request_data.get("skipping_model_validation") # set id to a folder friendly name of the project name (lowercase, no spaces, etc.) id = slugify(name) @@ -159,8 +159,8 @@ def import_project(): if len(resolved_missing_models) > 0: print(f"import_project entering for loop for resolved_missing_models: {resolved_missing_models}") for model in resolved_missing_models: - if (model["filename"] is None or model["node_type"] is None): - return jsonify({ "success": False, "error": f"one of the resolved models has an empty filename or node type. please try again." }) + if (model["filename"] is None or model["node_type"] is None or model["dest_relative_path"] is None): + return jsonify({ "success": False, "error": f"one of the resolved models has an empty filename, node type, or destination path. please try again." }) elif (model["source"]["url"] is not None and model["source"]["file_id"] is None): is_valid = check_url_structure(model["source"]["url"]) if (is_valid is False): diff --git a/server/utils.py b/server/utils.py index 15f33f8..df522b3 100644 --- a/server/utils.py +++ b/server/utils.py @@ -47,7 +47,7 @@ def slugify(value, allow_unicode=False): CUSTOM_NODES_TO_IGNORE_FROM_SNAPSHOTS = ["ComfyUI-ComfyWorkflows", "ComfyUI-Manager"] -CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "http://bore.pub:19257/") +CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "https://comfyworkflows.com/") CONFIG_FILEPATH = "./config.json" @@ -283,6 +283,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): assert ( compute_sha256_checksum(dest_path) == sha256_checksum ), f"File already exists at {dest_path} but has different checksum" + print(f"the following destination path already exists: {dest_path}") downloaded_file = True break @@ -321,6 +322,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): f.write(chunk) if compute_sha256_checksum(dest_path) == sha256_checksum: + print(f"computed checksum: {compute_sha256_checksum(dest_path)} equals key: {sha256_checksum} for relative path: {dest_relative_path}") download_successful = True if dest_relative_path in missing_download_files: missing_download_files.remove(dest_relative_path) @@ -336,6 +338,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): if not download_successful: # print(f"WARNING: Failed to download file: {download_url}") + print(f"download was not successful for relative path: {dest_relative_path}") missing_download_files.add(dest_relative_path) continue diff --git a/web/dist/assets/index-5D4Xb1yk.js b/web/dist/assets/index-BQgUx93c.js similarity index 95% rename from web/dist/assets/index-5D4Xb1yk.js rename to web/dist/assets/index-BQgUx93c.js index b2d3cd8..d89bb21 100644 --- a/web/dist/assets/index-5D4Xb1yk.js +++ b/web/dist/assets/index-BQgUx93c.js @@ -22,7 +22,7 @@ var Ou=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var S=(e,t,n)=>(Ou(e * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(_,M){var W=_.length;_.push(M);e:for(;0>>1,G=_[F];if(0>>1;Fo(me,W))teo(He,me)?(_[F]=He,_[te]=W,F=te):(_[F]=me,_[ee]=W,F=ee);else if(teo(He,W))_[F]=He,_[te]=W,F=te;else break e}}return M}function o(_,M){var W=_.sortIndex-M.sortIndex;return W!==0?W:_.id-M.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],c=1,f=null,p=3,v=!1,C=!1,g=!1,x=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(_){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=_)r(u),M.sortIndex=M.expirationTime,t(l,M);else break;M=n(u)}}function E(_){if(g=!1,y(_),!C)if(n(l)!==null)C=!0,ue(R);else{var M=n(u);M!==null&&Z(E,M.startTime-_)}}function R(_,M){C=!1,g&&(g=!1,h(L),L=-1),v=!0;var W=p;try{for(y(M),f=n(l);f!==null&&(!(f.expirationTime>M)||_&&!K());){var F=f.callback;if(typeof F=="function"){f.callback=null,p=f.priorityLevel;var G=F(f.expirationTime<=M);M=e.unstable_now(),typeof G=="function"?f.callback=G:f===n(l)&&r(l),y(M)}else r(l);f=n(l)}if(f!==null)var oe=!0;else{var ee=n(u);ee!==null&&Z(E,ee.startTime-M),oe=!1}return oe}finally{f=null,p=W,v=!1}}var b=!1,k=null,L=-1,N=5,j=-1;function K(){return!(e.unstable_now()-j_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):N=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(_){switch(p){case 1:case 2:case 3:var M=3;break;default:M=p}var W=p;p=M;try{return _()}finally{p=W}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,M){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var W=p;p=_;try{return M()}finally{p=W}},e.unstable_scheduleCallback=function(_,M,W){var F=e.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0F?(_.sortIndex=W,t(u,_),n(l)===null&&_===n(u)&&(g?(h(L),L=-1):g=!0,Z(E,W-F))):(_.sortIndex=G,t(l,_),C||v||(C=!0,ue(R))),_},e.unstable_shouldYield=K,e.unstable_wrapCallback=function(_){var M=p;return function(){var W=p;p=M;try{return _.apply(this,arguments)}finally{p=W}}}})(S0);E0.exports=S0;var x8=E0.exports;/** + */(function(e){function t(_,M){var W=_.length;_.push(M);e:for(;0>>1,G=_[F];if(0>>1;Fo(me,W))teo(He,me)?(_[F]=He,_[te]=W,F=te):(_[F]=me,_[ee]=W,F=ee);else if(teo(He,W))_[F]=He,_[te]=W,F=te;else break e}}return M}function o(_,M){var W=_.sortIndex-M.sortIndex;return W!==0?W:_.id-M.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],c=1,f=null,p=3,v=!1,C=!1,g=!1,x=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(_){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=_)r(u),M.sortIndex=M.expirationTime,t(l,M);else break;M=n(u)}}function E(_){if(g=!1,y(_),!C)if(n(l)!==null)C=!0,ue(R);else{var M=n(u);M!==null&&J(E,M.startTime-_)}}function R(_,M){C=!1,g&&(g=!1,h(L),L=-1),v=!0;var W=p;try{for(y(M),f=n(l);f!==null&&(!(f.expirationTime>M)||_&&!K());){var F=f.callback;if(typeof F=="function"){f.callback=null,p=f.priorityLevel;var G=F(f.expirationTime<=M);M=e.unstable_now(),typeof G=="function"?f.callback=G:f===n(l)&&r(l),y(M)}else r(l);f=n(l)}if(f!==null)var oe=!0;else{var ee=n(u);ee!==null&&J(E,ee.startTime-M),oe=!1}return oe}finally{f=null,p=W,v=!1}}var b=!1,k=null,L=-1,N=5,j=-1;function K(){return!(e.unstable_now()-j_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):N=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(_){switch(p){case 1:case 2:case 3:var M=3;break;default:M=p}var W=p;p=M;try{return _()}finally{p=W}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,M){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var W=p;p=_;try{return M()}finally{p=W}},e.unstable_scheduleCallback=function(_,M,W){var F=e.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0F?(_.sortIndex=W,t(u,_),n(l)===null&&_===n(u)&&(g?(h(L),L=-1):g=!0,J(E,W-F))):(_.sortIndex=G,t(l,_),C||v||(C=!0,ue(R))),_},e.unstable_shouldYield=K,e.unstable_wrapCallback=function(_){var M=p;return function(){var W=p;p=M;try{return _.apply(this,arguments)}finally{p=W}}}})(S0);E0.exports=S0;var x8=E0.exports;/** * @license React * react-dom.production.min.js * @@ -46,7 +46,7 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function We(){return We=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Pi(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function P5(){return Math.random().toString(36).substr(2,8)}function Op(e,t){return{usr:e.state,key:e.key,idx:t}}function Ia(e,t,n,r){return n===void 0&&(n=null),We({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Jn(t):t,{state:n,key:t&&t.key||r||P5()})}function us(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Jn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function k5(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Qe.Pop,l=null,u=c();u==null&&(u=0,a.replaceState(We({},a.state,{idx:u}),""));function c(){return(a.state||{idx:null}).idx}function f(){s=Qe.Pop;let x=c(),h=x==null?null:x-u;u=x,l&&l({action:s,location:g.location,delta:h})}function p(x,h){s=Qe.Push;let m=Ia(g.location,x,h);n&&n(m,x),u=c()+1;let y=Op(m,u),E=g.createHref(m);try{a.pushState(y,"",E)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;o.location.assign(E)}i&&l&&l({action:s,location:g.location,delta:1})}function v(x,h){s=Qe.Replace;let m=Ia(g.location,x,h);n&&n(m,x),u=c();let y=Op(m,u),E=g.createHref(m);a.replaceState(y,"",E),i&&l&&l({action:s,location:g.location,delta:0})}function C(x){let h=o.location.origin!=="null"?o.location.origin:o.location.href,m=typeof x=="string"?x:us(x);return m=m.replace(/ $/,"%20"),fe(h,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,h)}let g={get action(){return s},get location(){return e(o,a)},listen(x){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(_p,f),l=x,()=>{o.removeEventListener(_p,f),l=null}},createHref(x){return t(o,x)},createURL:C,encodeLocation(x){let h=C(x);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:v,go(x){return a.go(x)}};return g}var Be;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Be||(Be={}));const L5=new Set(["lazy","caseSensitive","path","id","index","children"]);function T5(e){return e.index===!0}function wd(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,i],s=typeof o.id=="string"?o.id:a.join("-");if(fe(o.index!==!0||!o.children,"Cannot specify children on an index route"),fe(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),T5(o)){let l=We({},o,t(o),{id:s});return r[s]=l,l}else{let l=We({},o,t(o),{id:s,children:void 0});return r[s]=l,o.children&&(l.children=wd(o.children,t,a,r)),l}})}function Ho(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Jn(t):t,o=cs(r.pathname||"/",n);if(o==null)return null;let i=R2(e);$5(i);let a=null;for(let s=0;a==null&&s{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(fe(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=Or([r,l.relativePath]),c=n.concat(l);i.children&&i.children.length>0&&(fe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),R2(i.children,t,c,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:I5(u,i.index),routesMeta:c})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of P2(i.path))o(i,a,l)}),t}function P2(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=P2(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function $5(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:F5(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const _5=/^:[\w-]+$/,O5=3,D5=2,M5=1,j5=10,A5=-2,Dp=e=>e==="*";function I5(e,t){let n=e.split("/"),r=n.length;return n.some(Dp)&&(r+=A5),t&&(r+=D5),n.filter(o=>!Dp(o)).reduce((o,i)=>o+(_5.test(i)?O5:i===""?M5:j5),r)}function F5(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function z5(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{let{paramName:p,isOptional:v}=c;if(p==="*"){let g=s[f]||"";a=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const C=s[f];return v&&!C?u[p]=void 0:u[p]=(C||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:a,pattern:e}}function B5(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Pi(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function V5(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Pi(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function cs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function W5(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Jn(e):e;return{pathname:n?n.startsWith("/")?n:H5(n,t):t,search:Q5(r),hash:G5(o)}}function H5(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function ac(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function k2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function L2(e,t){let n=k2(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function T2(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Jn(e):(o=We({},e),fe(!o.pathname||!o.pathname.includes("?"),ac("?","pathname","search",o)),fe(!o.pathname||!o.pathname.includes("#"),ac("#","pathname","hash",o)),fe(!o.search||!o.search.includes("#"),ac("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),f-=1;o.pathname=p.join("/")}s=f>=0?t[f]:"/"}let l=W5(o,s),u=a&&a!=="/"&&a.endsWith("/"),c=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const Or=e=>e.join("/").replace(/\/\/+/g,"/"),K5=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Q5=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,G5=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class e1{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function N2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const $2=["post","put","patch","delete"],Y5=new Set($2),q5=["get",...$2],X5=new Set(q5),Z5=new Set([301,302,303,307,308]),J5=new Set([307,308]),sc={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ey={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ki={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},_2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ty=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),O2="remix-router-transitions";function ny(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;fe(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let P=e.detectErrorBoundary;o=T=>({hasErrorBoundary:P(T)})}else o=ty;let i={},a=wd(e.routes,o,void 0,i),s,l=e.basename||"/",u=We({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),c=null,f=new Set,p=null,v=null,C=null,g=e.hydrationData!=null,x=Ho(a,e.history.location,l),h=null;if(x==null){let P=qt(404,{pathname:e.history.location.pathname}),{matches:T,route:$}=Bp(a);x=T,h={[$.id]:P}}let m,y=x.some(P=>P.route.lazy),E=x.some(P=>P.route.loader);if(y)m=!1;else if(!E)m=!0;else if(u.v7_partialHydration){let P=e.hydrationData?e.hydrationData.loaderData:null,T=e.hydrationData?e.hydrationData.errors:null;m=x.every($=>$.route.loader&&$.route.loader.hydrate!==!0&&(P&&P[$.route.id]!==void 0||T&&T[$.route.id]!==void 0))}else m=e.hydrationData!=null;let R,b={historyAction:e.history.action,location:e.history.location,matches:x,initialized:m,navigation:sc,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||h,fetchers:new Map,blockers:new Map},k=Qe.Pop,L=!1,N,j=!1,K=new Map,V=null,le=!1,q=!1,U=[],ue=[],Z=new Map,_=0,M=-1,W=new Map,F=new Set,G=new Map,oe=new Map,ee=new Set,me=new Map,te=new Map,He=!1;function wt(){if(c=e.history.listen(P=>{let{action:T,location:$,delta:I}=P;if(He){He=!1;return}Pi(te.size===0||I!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let Y=xe({currentLocation:b.location,nextLocation:$,historyAction:T});if(Y&&I!=null){He=!0,e.history.go(I*-1),ve(Y,{state:"blocked",location:$,proceed(){ve(Y,{state:"proceeding",proceed:void 0,reset:void 0,location:$}),e.history.go(I)},reset(){let de=new Map(b.blockers);de.set(Y,Ki),Ke({blockers:de})}});return}return je(T,$)}),n){py(t,K);let P=()=>hy(t,K);t.addEventListener("pagehide",P),V=()=>t.removeEventListener("pagehide",P)}return b.initialized||je(Qe.Pop,b.location,{initialHydration:!0}),R}function Wt(){c&&c(),V&&V(),f.clear(),N&&N.abort(),b.fetchers.forEach((P,T)=>$e(T)),b.blockers.forEach((P,T)=>J(T))}function Mt(P){return f.add(P),()=>f.delete(P)}function Ke(P,T){T===void 0&&(T={}),b=We({},b,P);let $=[],I=[];u.v7_fetcherPersist&&b.fetchers.forEach((Y,de)=>{Y.state==="idle"&&(ee.has(de)?I.push(de):$.push(de))}),[...f].forEach(Y=>Y(b,{deletedFetchers:I,unstable_viewTransitionOpts:T.viewTransitionOpts,unstable_flushSync:T.flushSync===!0})),u.v7_fetcherPersist&&($.forEach(Y=>b.fetchers.delete(Y)),I.forEach(Y=>$e(Y)))}function qe(P,T,$){var I,Y;let{flushSync:de}=$===void 0?{}:$,ie=b.actionData!=null&&b.navigation.formMethod!=null&&pn(b.navigation.formMethod)&&b.navigation.state==="loading"&&((I=P.state)==null?void 0:I._isRedirect)!==!0,ne;T.actionData?Object.keys(T.actionData).length>0?ne=T.actionData:ne=null:ie?ne=b.actionData:ne=null;let X=T.loaderData?Up(b.loaderData,T.loaderData,T.matches||[],T.errors):b.loaderData,he=b.blockers;he.size>0&&(he=new Map(he),he.forEach((Re,ut)=>he.set(ut,Ki)));let rt=L===!0||b.navigation.formMethod!=null&&pn(b.navigation.formMethod)&&((Y=P.state)==null?void 0:Y._isRedirect)!==!0;s&&(a=s,s=void 0),le||k===Qe.Pop||(k===Qe.Push?e.history.push(P,P.state):k===Qe.Replace&&e.history.replace(P,P.state));let ce;if(k===Qe.Pop){let Re=K.get(b.location.pathname);Re&&Re.has(P.pathname)?ce={currentLocation:b.location,nextLocation:P}:K.has(P.pathname)&&(ce={currentLocation:P,nextLocation:b.location})}else if(j){let Re=K.get(b.location.pathname);Re?Re.add(P.pathname):(Re=new Set([P.pathname]),K.set(b.location.pathname,Re)),ce={currentLocation:b.location,nextLocation:P}}Ke(We({},T,{actionData:ne,loaderData:X,historyAction:k,location:P,initialized:!0,navigation:sc,revalidation:"idle",restoreScrollPosition:b1(P,T.matches||b.matches),preventScrollReset:rt,blockers:he}),{viewTransitionOpts:ce,flushSync:de===!0}),k=Qe.Pop,L=!1,j=!1,le=!1,q=!1,U=[],ue=[]}async function Br(P,T){if(typeof P=="number"){e.history.go(P);return}let $=Cd(b.location,b.matches,l,u.v7_prependBasename,P,u.v7_relativeSplatPath,T==null?void 0:T.fromRouteId,T==null?void 0:T.relative),{path:I,submission:Y,error:de}=Mp(u.v7_normalizeFormMethod,!1,$,T),ie=b.location,ne=Ia(b.location,I,T&&T.state);ne=We({},ne,e.history.encodeLocation(ne));let X=T&&T.replace!=null?T.replace:void 0,he=Qe.Push;X===!0?he=Qe.Replace:X===!1||Y!=null&&pn(Y.formMethod)&&Y.formAction===b.location.pathname+b.location.search&&(he=Qe.Replace);let rt=T&&"preventScrollReset"in T?T.preventScrollReset===!0:void 0,ce=(T&&T.unstable_flushSync)===!0,Re=xe({currentLocation:ie,nextLocation:ne,historyAction:he});if(Re){ve(Re,{state:"blocked",location:ne,proceed(){ve(Re,{state:"proceeding",proceed:void 0,reset:void 0,location:ne}),Br(P,T)},reset(){let ut=new Map(b.blockers);ut.set(Re,Ki),Ke({blockers:ut})}});return}return await je(he,ne,{submission:Y,pendingError:de,preventScrollReset:rt,replace:T&&T.replace,enableViewTransition:T&&T.unstable_viewTransition,flushSync:ce})}function Ro(){if(Ht(),Ke({revalidation:"loading"}),b.navigation.state!=="submitting"){if(b.navigation.state==="idle"){je(b.historyAction,b.location,{startUninterruptedRevalidation:!0});return}je(k||b.historyAction,b.navigation.location,{overrideNavigation:b.navigation})}}async function je(P,T,$){N&&N.abort(),N=null,k=P,le=($&&$.startUninterruptedRevalidation)===!0,Lu(b.location,b.matches),L=($&&$.preventScrollReset)===!0,j=($&&$.enableViewTransition)===!0;let I=s||a,Y=$&&$.overrideNavigation,de=Ho(I,T,l),ie=($&&$.flushSync)===!0;if(!de){let ut=qt(404,{pathname:T.pathname}),{matches:Kt,route:ot}=Bp(I);nt(),qe(T,{matches:Kt,loaderData:{},errors:{[ot.id]:ut}},{flushSync:ie});return}if(b.initialized&&!q&&sy(b.location,T)&&!($&&$.submission&&pn($.submission.formMethod))){qe(T,{matches:de},{flushSync:ie});return}N=new AbortController;let ne=Gi(e.history,T,N.signal,$&&$.submission),X,he;if($&&$.pendingError)he={[ha(de).route.id]:$.pendingError};else if($&&$.submission&&pn($.submission.formMethod)){let ut=await on(ne,T,$.submission,de,{replace:$.replace,flushSync:ie});if(ut.shortCircuited)return;X=ut.pendingActionData,he=ut.pendingActionError,Y=lc(T,$.submission),ie=!1,ne=new Request(ne.url,{signal:ne.signal})}let{shortCircuited:rt,loaderData:ce,errors:Re}=await wn(ne,T,de,Y,$&&$.submission,$&&$.fetcherSubmission,$&&$.replace,$&&$.initialHydration===!0,ie,X,he);rt||(N=null,qe(T,We({matches:de},X?{actionData:X}:{},{loaderData:ce,errors:Re})))}async function on(P,T,$,I,Y){Y===void 0&&(Y={}),Ht();let de=dy(T,$);Ke({navigation:de},{flushSync:Y.flushSync===!0});let ie,ne=bd(I,T);if(!ne.route.action&&!ne.route.lazy)ie={type:Be.error,error:qt(405,{method:P.method,pathname:T.pathname,routeId:ne.route.id})};else if(ie=await Qi("action",P,ne,I,i,o,l,u.v7_relativeSplatPath),P.signal.aborted)return{shortCircuited:!0};if(Jr(ie)){let X;return Y&&Y.replace!=null?X=Y.replace:X=ie.location===b.location.pathname+b.location.search,await Cn(b,ie,{submission:$,replace:X}),{shortCircuited:!0}}if(Ko(ie)){let X=ha(I,ne.route.id);return(Y&&Y.replace)!==!0&&(k=Qe.Push),{pendingActionData:{},pendingActionError:{[X.route.id]:ie.error}}}if(Zr(ie))throw qt(400,{type:"defer-action"});return{pendingActionData:{[ne.route.id]:ie.data}}}async function wn(P,T,$,I,Y,de,ie,ne,X,he,rt){let ce=I||lc(T,Y),Re=Y||de||Hp(ce),ut=s||a,[Kt,ot]=jp(e.history,b,$,Re,T,u.v7_partialHydration&&ne===!0,q,U,ue,ee,G,F,ut,l,he,rt);if(nt(be=>!($&&$.some(_e=>_e.route.id===be))||Kt&&Kt.some(_e=>_e.route.id===be)),M=++_,Kt.length===0&&ot.length===0){let be=xn();return qe(T,We({matches:$,loaderData:{},errors:rt||null},he?{actionData:he}:{},be?{fetchers:new Map(b.fetchers)}:{}),{flushSync:X}),{shortCircuited:!0}}if(!le&&(!u.v7_partialHydration||!ne)){ot.forEach(_e=>{let bn=b.fetchers.get(_e.key),vs=Yi(void 0,bn?bn.data:void 0);b.fetchers.set(_e.key,vs)});let be=he||b.actionData;Ke(We({navigation:ce},be?Object.keys(be).length===0?{actionData:null}:{actionData:be}:{},ot.length>0?{fetchers:new Map(b.fetchers)}:{}),{flushSync:X})}ot.forEach(be=>{Z.has(be.key)&<(be.key),be.controller&&Z.set(be.key,be.controller)});let Po=()=>ot.forEach(be=>lt(be.key));N&&N.signal.addEventListener("abort",Po);let{results:Tu,loaderResults:ko,fetcherResults:rr}=await nr(b.matches,$,Kt,ot,P);if(P.signal.aborted)return{shortCircuited:!0};N&&N.signal.removeEventListener("abort",Po),ot.forEach(be=>Z.delete(be.key));let Hr=Vp(Tu);if(Hr){if(Hr.idx>=Kt.length){let be=ot[Hr.idx-Kt.length].key;F.add(be)}return await Cn(b,Hr.result,{replace:ie}),{shortCircuited:!0}}let{loaderData:Nu,errors:$u}=zp(b,$,Kt,ko,rt,ot,rr,me);me.forEach((be,_e)=>{be.subscribe(bn=>{(bn||be.done)&&me.delete(_e)})});let _u=xn(),Lo=Ct(M),ms=_u||Lo||ot.length>0;return We({loaderData:Nu,errors:$u},ms?{fetchers:new Map(b.fetchers)}:{})}function Vr(P,T,$,I){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");Z.has(P)&<(P);let Y=(I&&I.unstable_flushSync)===!0,de=s||a,ie=Cd(b.location,b.matches,l,u.v7_prependBasename,$,u.v7_relativeSplatPath,T,I==null?void 0:I.relative),ne=Ho(de,ie,l);if(!ne){Q(P,T,qt(404,{pathname:ie}),{flushSync:Y});return}let{path:X,submission:he,error:rt}=Mp(u.v7_normalizeFormMethod,!0,ie,I);if(rt){Q(P,T,rt,{flushSync:Y});return}let ce=bd(ne,X);if(L=(I&&I.preventScrollReset)===!0,he&&pn(he.formMethod)){an(P,T,X,ce,ne,Y,he);return}G.set(P,{routeId:T,path:X}),tr(P,T,X,ce,ne,Y,he)}async function an(P,T,$,I,Y,de,ie){if(Ht(),G.delete(P),!I.route.action&&!I.route.lazy){let _e=qt(405,{method:ie.formMethod,pathname:$,routeId:T});Q(P,T,_e,{flushSync:de});return}let ne=b.fetchers.get(P);A(P,fy(ie,ne),{flushSync:de});let X=new AbortController,he=Gi(e.history,$,X.signal,ie);Z.set(P,X);let rt=_,ce=await Qi("action",he,I,Y,i,o,l,u.v7_relativeSplatPath);if(he.signal.aborted){Z.get(P)===X&&Z.delete(P);return}if(u.v7_fetcherPersist&&ee.has(P)){if(Jr(ce)||Ko(ce)){A(P,sr(void 0));return}}else{if(Jr(ce))if(Z.delete(P),M>rt){A(P,sr(void 0));return}else return F.add(P),A(P,Yi(ie)),Cn(b,ce,{fetcherSubmission:ie});if(Ko(ce)){Q(P,T,ce.error);return}}if(Zr(ce))throw qt(400,{type:"defer-action"});let Re=b.navigation.location||b.location,ut=Gi(e.history,Re,X.signal),Kt=s||a,ot=b.navigation.state!=="idle"?Ho(Kt,b.navigation.location,l):b.matches;fe(ot,"Didn't find any matches after fetcher action");let Po=++_;W.set(P,Po);let Tu=Yi(ie,ce.data);b.fetchers.set(P,Tu);let[ko,rr]=jp(e.history,b,ot,ie,Re,!1,q,U,ue,ee,G,F,Kt,l,{[I.route.id]:ce.data},void 0);rr.filter(_e=>_e.key!==P).forEach(_e=>{let bn=_e.key,vs=b.fetchers.get(bn),Jg=Yi(void 0,vs?vs.data:void 0);b.fetchers.set(bn,Jg),Z.has(bn)&<(bn),_e.controller&&Z.set(bn,_e.controller)}),Ke({fetchers:new Map(b.fetchers)});let Hr=()=>rr.forEach(_e=>lt(_e.key));X.signal.addEventListener("abort",Hr);let{results:Nu,loaderResults:$u,fetcherResults:_u}=await nr(b.matches,ot,ko,rr,ut);if(X.signal.aborted)return;X.signal.removeEventListener("abort",Hr),W.delete(P),Z.delete(P),rr.forEach(_e=>Z.delete(_e.key));let Lo=Vp(Nu);if(Lo){if(Lo.idx>=ko.length){let _e=rr[Lo.idx-ko.length].key;F.add(_e)}return Cn(b,Lo.result)}let{loaderData:ms,errors:be}=zp(b,b.matches,ko,$u,void 0,rr,_u,me);if(b.fetchers.has(P)){let _e=sr(ce.data);b.fetchers.set(P,_e)}Ct(Po),b.navigation.state==="loading"&&Po>M?(fe(k,"Expected pending action"),N&&N.abort(),qe(b.navigation.location,{matches:ot,loaderData:ms,errors:be,fetchers:new Map(b.fetchers)})):(Ke({errors:be,loaderData:Up(b.loaderData,ms,ot,be),fetchers:new Map(b.fetchers)}),q=!1)}async function tr(P,T,$,I,Y,de,ie){let ne=b.fetchers.get(P);A(P,Yi(ie,ne?ne.data:void 0),{flushSync:de});let X=new AbortController,he=Gi(e.history,$,X.signal);Z.set(P,X);let rt=_,ce=await Qi("loader",he,I,Y,i,o,l,u.v7_relativeSplatPath);if(Zr(ce)&&(ce=await j2(ce,he.signal,!0)||ce),Z.get(P)===X&&Z.delete(P),!he.signal.aborted){if(ee.has(P)){A(P,sr(void 0));return}if(Jr(ce))if(M>rt){A(P,sr(void 0));return}else{F.add(P),await Cn(b,ce);return}if(Ko(ce)){Q(P,T,ce.error);return}fe(!Zr(ce),"Unhandled fetcher deferred data"),A(P,sr(ce.data))}}async function Cn(P,T,$){let{submission:I,fetcherSubmission:Y,replace:de}=$===void 0?{}:$;T.revalidate&&(q=!0);let ie=Ia(P.location,T.location,{_isRedirect:!0});if(fe(ie,"Expected a location on the redirect navigation"),n){let Re=!1;if(T.reloadDocument)Re=!0;else if(_2.test(T.location)){const ut=e.history.createURL(T.location);Re=ut.origin!==t.location.origin||cs(ut.pathname,l)==null}if(Re){de?t.location.replace(T.location):t.location.assign(T.location);return}}N=null;let ne=de===!0?Qe.Replace:Qe.Push,{formMethod:X,formAction:he,formEncType:rt}=P.navigation;!I&&!Y&&X&&he&&rt&&(I=Hp(P.navigation));let ce=I||Y;if(J5.has(T.status)&&ce&&pn(ce.formMethod))await je(ne,ie,{submission:We({},ce,{formAction:T.location}),preventScrollReset:L});else{let Re=lc(ie,I);await je(ne,ie,{overrideNavigation:Re,fetcherSubmission:Y,preventScrollReset:L})}}async function nr(P,T,$,I,Y){let de=await Promise.all([...$.map(X=>Qi("loader",Y,X,T,i,o,l,u.v7_relativeSplatPath)),...I.map(X=>X.matches&&X.match&&X.controller?Qi("loader",Gi(e.history,X.path,X.controller.signal),X.match,X.matches,i,o,l,u.v7_relativeSplatPath):{type:Be.error,error:qt(404,{pathname:X.path})})]),ie=de.slice(0,$.length),ne=de.slice($.length);return await Promise.all([Wp(P,$,ie,ie.map(()=>Y.signal),!1,b.loaderData),Wp(P,I.map(X=>X.match),ne,I.map(X=>X.controller?X.controller.signal:null),!0)]),{results:de,loaderResults:ie,fetcherResults:ne}}function Ht(){q=!0,U.push(...nt()),G.forEach((P,T)=>{Z.has(T)&&(ue.push(T),lt(T))})}function A(P,T,$){$===void 0&&($={}),b.fetchers.set(P,T),Ke({fetchers:new Map(b.fetchers)},{flushSync:($&&$.flushSync)===!0})}function Q(P,T,$,I){I===void 0&&(I={});let Y=ha(b.matches,T);$e(P),Ke({errors:{[Y.route.id]:$},fetchers:new Map(b.fetchers)},{flushSync:(I&&I.flushSync)===!0})}function Se(P){return u.v7_fetcherPersist&&(oe.set(P,(oe.get(P)||0)+1),ee.has(P)&&ee.delete(P)),b.fetchers.get(P)||ey}function $e(P){let T=b.fetchers.get(P);Z.has(P)&&!(T&&T.state==="loading"&&W.has(P))&<(P),G.delete(P),W.delete(P),F.delete(P),ee.delete(P),b.fetchers.delete(P)}function tt(P){if(u.v7_fetcherPersist){let T=(oe.get(P)||0)-1;T<=0?(oe.delete(P),ee.add(P)):oe.set(P,T)}else $e(P);Ke({fetchers:new Map(b.fetchers)})}function lt(P){let T=Z.get(P);fe(T,"Expected fetch controller: "+P),T.abort(),Z.delete(P)}function sn(P){for(let T of P){let $=Se(T),I=sr($.data);b.fetchers.set(T,I)}}function xn(){let P=[],T=!1;for(let $ of F){let I=b.fetchers.get($);fe(I,"Expected fetcher: "+$),I.state==="loading"&&(F.delete($),P.push($),T=!0)}return sn(P),T}function Ct(P){let T=[];for(let[$,I]of W)if(I0}function Wr(P,T){let $=b.blockers.get(P)||Ki;return te.get(P)!==T&&te.set(P,T),$}function J(P){b.blockers.delete(P),te.delete(P)}function ve(P,T){let $=b.blockers.get(P)||Ki;fe($.state==="unblocked"&&T.state==="blocked"||$.state==="blocked"&&T.state==="blocked"||$.state==="blocked"&&T.state==="proceeding"||$.state==="blocked"&&T.state==="unblocked"||$.state==="proceeding"&&T.state==="unblocked","Invalid blocker state transition: "+$.state+" -> "+T.state);let I=new Map(b.blockers);I.set(P,T),Ke({blockers:I})}function xe(P){let{currentLocation:T,nextLocation:$,historyAction:I}=P;if(te.size===0)return;te.size>1&&Pi(!1,"A router only supports one blocker at a time");let Y=Array.from(te.entries()),[de,ie]=Y[Y.length-1],ne=b.blockers.get(de);if(!(ne&&ne.state==="proceeding")&&ie({currentLocation:T,nextLocation:$,historyAction:I}))return de}function nt(P){let T=[];return me.forEach(($,I)=>{(!P||P(I))&&($.cancel(),T.push(I),me.delete(I))}),T}function pt(P,T,$){if(p=P,C=T,v=$||null,!g&&b.navigation===sc){g=!0;let I=b1(b.location,b.matches);I!=null&&Ke({restoreScrollPosition:I})}return()=>{p=null,C=null,v=null}}function An(P,T){return v&&v(P,T.map(I=>N5(I,b.loaderData)))||P.key}function Lu(P,T){if(p&&C){let $=An(P,T);p[$]=C()}}function b1(P,T){if(p){let $=An(P,T),I=p[$];if(typeof I=="number")return I}return null}function Zg(P){i={},s=wd(P,o,void 0,i)}return R={get basename(){return l},get future(){return u},get state(){return b},get routes(){return a},get window(){return t},initialize:wt,subscribe:Mt,enableScrollRestoration:pt,navigate:Br,fetch:Vr,revalidate:Ro,createHref:P=>e.history.createHref(P),encodeLocation:P=>e.history.encodeLocation(P),getFetcher:Se,deleteFetcher:tt,dispose:Wt,getBlocker:Wr,deleteBlocker:J,_internalFetchControllers:Z,_internalActiveDeferreds:me,_internalSetRoutes:Zg},R}function ry(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Cd(e,t,n,r,o,i,a,s){let l,u;if(a){l=[];for(let f of t)if(l.push(f),f.route.id===a){u=f;break}}else l=t,u=t[t.length-1];let c=T2(o||".",L2(l,i),cs(e.pathname,n)||e.pathname,s==="path");return o==null&&(c.search=e.search,c.hash=e.hash),(o==null||o===""||o===".")&&u&&u.route.index&&!t1(c.search)&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(c.pathname=c.pathname==="/"?n:Or([n,c.pathname])),us(c)}function Mp(e,t,n,r){if(!r||!ry(r))return{path:n};if(r.formMethod&&!cy(r.formMethod))return{path:n,error:qt(405,{method:r.formMethod})};let o=()=>({path:n,error:qt(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=M2(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!pn(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((v,C)=>{let[g,x]=C;return""+v+g+"="+x+` + */function We(){return We=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Pi(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function P5(){return Math.random().toString(36).substr(2,8)}function Op(e,t){return{usr:e.state,key:e.key,idx:t}}function Ia(e,t,n,r){return n===void 0&&(n=null),We({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Jn(t):t,{state:n,key:t&&t.key||r||P5()})}function us(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Jn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function k5(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Qe.Pop,l=null,u=c();u==null&&(u=0,a.replaceState(We({},a.state,{idx:u}),""));function c(){return(a.state||{idx:null}).idx}function f(){s=Qe.Pop;let x=c(),h=x==null?null:x-u;u=x,l&&l({action:s,location:g.location,delta:h})}function p(x,h){s=Qe.Push;let m=Ia(g.location,x,h);n&&n(m,x),u=c()+1;let y=Op(m,u),E=g.createHref(m);try{a.pushState(y,"",E)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;o.location.assign(E)}i&&l&&l({action:s,location:g.location,delta:1})}function v(x,h){s=Qe.Replace;let m=Ia(g.location,x,h);n&&n(m,x),u=c();let y=Op(m,u),E=g.createHref(m);a.replaceState(y,"",E),i&&l&&l({action:s,location:g.location,delta:0})}function C(x){let h=o.location.origin!=="null"?o.location.origin:o.location.href,m=typeof x=="string"?x:us(x);return m=m.replace(/ $/,"%20"),fe(h,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,h)}let g={get action(){return s},get location(){return e(o,a)},listen(x){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(_p,f),l=x,()=>{o.removeEventListener(_p,f),l=null}},createHref(x){return t(o,x)},createURL:C,encodeLocation(x){let h=C(x);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:v,go(x){return a.go(x)}};return g}var Be;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Be||(Be={}));const L5=new Set(["lazy","caseSensitive","path","id","index","children"]);function T5(e){return e.index===!0}function wd(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,i],s=typeof o.id=="string"?o.id:a.join("-");if(fe(o.index!==!0||!o.children,"Cannot specify children on an index route"),fe(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),T5(o)){let l=We({},o,t(o),{id:s});return r[s]=l,l}else{let l=We({},o,t(o),{id:s,children:void 0});return r[s]=l,o.children&&(l.children=wd(o.children,t,a,r)),l}})}function Ho(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Jn(t):t,o=cs(r.pathname||"/",n);if(o==null)return null;let i=R2(e);$5(i);let a=null;for(let s=0;a==null&&s{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(fe(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=Or([r,l.relativePath]),c=n.concat(l);i.children&&i.children.length>0&&(fe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),R2(i.children,t,c,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:I5(u,i.index),routesMeta:c})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of P2(i.path))o(i,a,l)}),t}function P2(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=P2(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function $5(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:F5(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const _5=/^:[\w-]+$/,O5=3,D5=2,M5=1,j5=10,A5=-2,Dp=e=>e==="*";function I5(e,t){let n=e.split("/"),r=n.length;return n.some(Dp)&&(r+=A5),t&&(r+=D5),n.filter(o=>!Dp(o)).reduce((o,i)=>o+(_5.test(i)?O5:i===""?M5:j5),r)}function F5(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function z5(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{let{paramName:p,isOptional:v}=c;if(p==="*"){let g=s[f]||"";a=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const C=s[f];return v&&!C?u[p]=void 0:u[p]=(C||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:a,pattern:e}}function B5(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Pi(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function V5(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Pi(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function cs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function W5(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Jn(e):e;return{pathname:n?n.startsWith("/")?n:H5(n,t):t,search:Q5(r),hash:G5(o)}}function H5(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function ac(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function k2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function L2(e,t){let n=k2(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function T2(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Jn(e):(o=We({},e),fe(!o.pathname||!o.pathname.includes("?"),ac("?","pathname","search",o)),fe(!o.pathname||!o.pathname.includes("#"),ac("#","pathname","hash",o)),fe(!o.search||!o.search.includes("#"),ac("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),f-=1;o.pathname=p.join("/")}s=f>=0?t[f]:"/"}let l=W5(o,s),u=a&&a!=="/"&&a.endsWith("/"),c=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const Or=e=>e.join("/").replace(/\/\/+/g,"/"),K5=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Q5=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,G5=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class e1{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function N2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const $2=["post","put","patch","delete"],Y5=new Set($2),q5=["get",...$2],X5=new Set(q5),Z5=new Set([301,302,303,307,308]),J5=new Set([307,308]),sc={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ey={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ki={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},_2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ty=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),O2="remix-router-transitions";function ny(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;fe(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let P=e.detectErrorBoundary;o=T=>({hasErrorBoundary:P(T)})}else o=ty;let i={},a=wd(e.routes,o,void 0,i),s,l=e.basename||"/",u=We({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),c=null,f=new Set,p=null,v=null,C=null,g=e.hydrationData!=null,x=Ho(a,e.history.location,l),h=null;if(x==null){let P=qt(404,{pathname:e.history.location.pathname}),{matches:T,route:$}=Bp(a);x=T,h={[$.id]:P}}let m,y=x.some(P=>P.route.lazy),E=x.some(P=>P.route.loader);if(y)m=!1;else if(!E)m=!0;else if(u.v7_partialHydration){let P=e.hydrationData?e.hydrationData.loaderData:null,T=e.hydrationData?e.hydrationData.errors:null;m=x.every($=>$.route.loader&&$.route.loader.hydrate!==!0&&(P&&P[$.route.id]!==void 0||T&&T[$.route.id]!==void 0))}else m=e.hydrationData!=null;let R,b={historyAction:e.history.action,location:e.history.location,matches:x,initialized:m,navigation:sc,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||h,fetchers:new Map,blockers:new Map},k=Qe.Pop,L=!1,N,j=!1,K=new Map,V=null,le=!1,q=!1,U=[],ue=[],J=new Map,_=0,M=-1,W=new Map,F=new Set,G=new Map,oe=new Map,ee=new Set,me=new Map,te=new Map,He=!1;function wt(){if(c=e.history.listen(P=>{let{action:T,location:$,delta:I}=P;if(He){He=!1;return}Pi(te.size===0||I!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let Y=xe({currentLocation:b.location,nextLocation:$,historyAction:T});if(Y&&I!=null){He=!0,e.history.go(I*-1),ve(Y,{state:"blocked",location:$,proceed(){ve(Y,{state:"proceeding",proceed:void 0,reset:void 0,location:$}),e.history.go(I)},reset(){let de=new Map(b.blockers);de.set(Y,Ki),Ke({blockers:de})}});return}return je(T,$)}),n){py(t,K);let P=()=>hy(t,K);t.addEventListener("pagehide",P),V=()=>t.removeEventListener("pagehide",P)}return b.initialized||je(Qe.Pop,b.location,{initialHydration:!0}),R}function Wt(){c&&c(),V&&V(),f.clear(),N&&N.abort(),b.fetchers.forEach((P,T)=>$e(T)),b.blockers.forEach((P,T)=>Z(T))}function Mt(P){return f.add(P),()=>f.delete(P)}function Ke(P,T){T===void 0&&(T={}),b=We({},b,P);let $=[],I=[];u.v7_fetcherPersist&&b.fetchers.forEach((Y,de)=>{Y.state==="idle"&&(ee.has(de)?I.push(de):$.push(de))}),[...f].forEach(Y=>Y(b,{deletedFetchers:I,unstable_viewTransitionOpts:T.viewTransitionOpts,unstable_flushSync:T.flushSync===!0})),u.v7_fetcherPersist&&($.forEach(Y=>b.fetchers.delete(Y)),I.forEach(Y=>$e(Y)))}function qe(P,T,$){var I,Y;let{flushSync:de}=$===void 0?{}:$,ie=b.actionData!=null&&b.navigation.formMethod!=null&&pn(b.navigation.formMethod)&&b.navigation.state==="loading"&&((I=P.state)==null?void 0:I._isRedirect)!==!0,ne;T.actionData?Object.keys(T.actionData).length>0?ne=T.actionData:ne=null:ie?ne=b.actionData:ne=null;let X=T.loaderData?Up(b.loaderData,T.loaderData,T.matches||[],T.errors):b.loaderData,he=b.blockers;he.size>0&&(he=new Map(he),he.forEach((Re,ut)=>he.set(ut,Ki)));let rt=L===!0||b.navigation.formMethod!=null&&pn(b.navigation.formMethod)&&((Y=P.state)==null?void 0:Y._isRedirect)!==!0;s&&(a=s,s=void 0),le||k===Qe.Pop||(k===Qe.Push?e.history.push(P,P.state):k===Qe.Replace&&e.history.replace(P,P.state));let ce;if(k===Qe.Pop){let Re=K.get(b.location.pathname);Re&&Re.has(P.pathname)?ce={currentLocation:b.location,nextLocation:P}:K.has(P.pathname)&&(ce={currentLocation:P,nextLocation:b.location})}else if(j){let Re=K.get(b.location.pathname);Re?Re.add(P.pathname):(Re=new Set([P.pathname]),K.set(b.location.pathname,Re)),ce={currentLocation:b.location,nextLocation:P}}Ke(We({},T,{actionData:ne,loaderData:X,historyAction:k,location:P,initialized:!0,navigation:sc,revalidation:"idle",restoreScrollPosition:b1(P,T.matches||b.matches),preventScrollReset:rt,blockers:he}),{viewTransitionOpts:ce,flushSync:de===!0}),k=Qe.Pop,L=!1,j=!1,le=!1,q=!1,U=[],ue=[]}async function Br(P,T){if(typeof P=="number"){e.history.go(P);return}let $=Cd(b.location,b.matches,l,u.v7_prependBasename,P,u.v7_relativeSplatPath,T==null?void 0:T.fromRouteId,T==null?void 0:T.relative),{path:I,submission:Y,error:de}=Mp(u.v7_normalizeFormMethod,!1,$,T),ie=b.location,ne=Ia(b.location,I,T&&T.state);ne=We({},ne,e.history.encodeLocation(ne));let X=T&&T.replace!=null?T.replace:void 0,he=Qe.Push;X===!0?he=Qe.Replace:X===!1||Y!=null&&pn(Y.formMethod)&&Y.formAction===b.location.pathname+b.location.search&&(he=Qe.Replace);let rt=T&&"preventScrollReset"in T?T.preventScrollReset===!0:void 0,ce=(T&&T.unstable_flushSync)===!0,Re=xe({currentLocation:ie,nextLocation:ne,historyAction:he});if(Re){ve(Re,{state:"blocked",location:ne,proceed(){ve(Re,{state:"proceeding",proceed:void 0,reset:void 0,location:ne}),Br(P,T)},reset(){let ut=new Map(b.blockers);ut.set(Re,Ki),Ke({blockers:ut})}});return}return await je(he,ne,{submission:Y,pendingError:de,preventScrollReset:rt,replace:T&&T.replace,enableViewTransition:T&&T.unstable_viewTransition,flushSync:ce})}function Ro(){if(Ht(),Ke({revalidation:"loading"}),b.navigation.state!=="submitting"){if(b.navigation.state==="idle"){je(b.historyAction,b.location,{startUninterruptedRevalidation:!0});return}je(k||b.historyAction,b.navigation.location,{overrideNavigation:b.navigation})}}async function je(P,T,$){N&&N.abort(),N=null,k=P,le=($&&$.startUninterruptedRevalidation)===!0,Lu(b.location,b.matches),L=($&&$.preventScrollReset)===!0,j=($&&$.enableViewTransition)===!0;let I=s||a,Y=$&&$.overrideNavigation,de=Ho(I,T,l),ie=($&&$.flushSync)===!0;if(!de){let ut=qt(404,{pathname:T.pathname}),{matches:Kt,route:ot}=Bp(I);nt(),qe(T,{matches:Kt,loaderData:{},errors:{[ot.id]:ut}},{flushSync:ie});return}if(b.initialized&&!q&&sy(b.location,T)&&!($&&$.submission&&pn($.submission.formMethod))){qe(T,{matches:de},{flushSync:ie});return}N=new AbortController;let ne=Gi(e.history,T,N.signal,$&&$.submission),X,he;if($&&$.pendingError)he={[ha(de).route.id]:$.pendingError};else if($&&$.submission&&pn($.submission.formMethod)){let ut=await on(ne,T,$.submission,de,{replace:$.replace,flushSync:ie});if(ut.shortCircuited)return;X=ut.pendingActionData,he=ut.pendingActionError,Y=lc(T,$.submission),ie=!1,ne=new Request(ne.url,{signal:ne.signal})}let{shortCircuited:rt,loaderData:ce,errors:Re}=await wn(ne,T,de,Y,$&&$.submission,$&&$.fetcherSubmission,$&&$.replace,$&&$.initialHydration===!0,ie,X,he);rt||(N=null,qe(T,We({matches:de},X?{actionData:X}:{},{loaderData:ce,errors:Re})))}async function on(P,T,$,I,Y){Y===void 0&&(Y={}),Ht();let de=dy(T,$);Ke({navigation:de},{flushSync:Y.flushSync===!0});let ie,ne=bd(I,T);if(!ne.route.action&&!ne.route.lazy)ie={type:Be.error,error:qt(405,{method:P.method,pathname:T.pathname,routeId:ne.route.id})};else if(ie=await Qi("action",P,ne,I,i,o,l,u.v7_relativeSplatPath),P.signal.aborted)return{shortCircuited:!0};if(Jr(ie)){let X;return Y&&Y.replace!=null?X=Y.replace:X=ie.location===b.location.pathname+b.location.search,await Cn(b,ie,{submission:$,replace:X}),{shortCircuited:!0}}if(Ko(ie)){let X=ha(I,ne.route.id);return(Y&&Y.replace)!==!0&&(k=Qe.Push),{pendingActionData:{},pendingActionError:{[X.route.id]:ie.error}}}if(Zr(ie))throw qt(400,{type:"defer-action"});return{pendingActionData:{[ne.route.id]:ie.data}}}async function wn(P,T,$,I,Y,de,ie,ne,X,he,rt){let ce=I||lc(T,Y),Re=Y||de||Hp(ce),ut=s||a,[Kt,ot]=jp(e.history,b,$,Re,T,u.v7_partialHydration&&ne===!0,q,U,ue,ee,G,F,ut,l,he,rt);if(nt(be=>!($&&$.some(_e=>_e.route.id===be))||Kt&&Kt.some(_e=>_e.route.id===be)),M=++_,Kt.length===0&&ot.length===0){let be=xn();return qe(T,We({matches:$,loaderData:{},errors:rt||null},he?{actionData:he}:{},be?{fetchers:new Map(b.fetchers)}:{}),{flushSync:X}),{shortCircuited:!0}}if(!le&&(!u.v7_partialHydration||!ne)){ot.forEach(_e=>{let bn=b.fetchers.get(_e.key),vs=Yi(void 0,bn?bn.data:void 0);b.fetchers.set(_e.key,vs)});let be=he||b.actionData;Ke(We({navigation:ce},be?Object.keys(be).length===0?{actionData:null}:{actionData:be}:{},ot.length>0?{fetchers:new Map(b.fetchers)}:{}),{flushSync:X})}ot.forEach(be=>{J.has(be.key)&<(be.key),be.controller&&J.set(be.key,be.controller)});let Po=()=>ot.forEach(be=>lt(be.key));N&&N.signal.addEventListener("abort",Po);let{results:Tu,loaderResults:ko,fetcherResults:rr}=await nr(b.matches,$,Kt,ot,P);if(P.signal.aborted)return{shortCircuited:!0};N&&N.signal.removeEventListener("abort",Po),ot.forEach(be=>J.delete(be.key));let Hr=Vp(Tu);if(Hr){if(Hr.idx>=Kt.length){let be=ot[Hr.idx-Kt.length].key;F.add(be)}return await Cn(b,Hr.result,{replace:ie}),{shortCircuited:!0}}let{loaderData:Nu,errors:$u}=zp(b,$,Kt,ko,rt,ot,rr,me);me.forEach((be,_e)=>{be.subscribe(bn=>{(bn||be.done)&&me.delete(_e)})});let _u=xn(),Lo=Ct(M),ms=_u||Lo||ot.length>0;return We({loaderData:Nu,errors:$u},ms?{fetchers:new Map(b.fetchers)}:{})}function Vr(P,T,$,I){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");J.has(P)&<(P);let Y=(I&&I.unstable_flushSync)===!0,de=s||a,ie=Cd(b.location,b.matches,l,u.v7_prependBasename,$,u.v7_relativeSplatPath,T,I==null?void 0:I.relative),ne=Ho(de,ie,l);if(!ne){Q(P,T,qt(404,{pathname:ie}),{flushSync:Y});return}let{path:X,submission:he,error:rt}=Mp(u.v7_normalizeFormMethod,!0,ie,I);if(rt){Q(P,T,rt,{flushSync:Y});return}let ce=bd(ne,X);if(L=(I&&I.preventScrollReset)===!0,he&&pn(he.formMethod)){an(P,T,X,ce,ne,Y,he);return}G.set(P,{routeId:T,path:X}),tr(P,T,X,ce,ne,Y,he)}async function an(P,T,$,I,Y,de,ie){if(Ht(),G.delete(P),!I.route.action&&!I.route.lazy){let _e=qt(405,{method:ie.formMethod,pathname:$,routeId:T});Q(P,T,_e,{flushSync:de});return}let ne=b.fetchers.get(P);A(P,fy(ie,ne),{flushSync:de});let X=new AbortController,he=Gi(e.history,$,X.signal,ie);J.set(P,X);let rt=_,ce=await Qi("action",he,I,Y,i,o,l,u.v7_relativeSplatPath);if(he.signal.aborted){J.get(P)===X&&J.delete(P);return}if(u.v7_fetcherPersist&&ee.has(P)){if(Jr(ce)||Ko(ce)){A(P,sr(void 0));return}}else{if(Jr(ce))if(J.delete(P),M>rt){A(P,sr(void 0));return}else return F.add(P),A(P,Yi(ie)),Cn(b,ce,{fetcherSubmission:ie});if(Ko(ce)){Q(P,T,ce.error);return}}if(Zr(ce))throw qt(400,{type:"defer-action"});let Re=b.navigation.location||b.location,ut=Gi(e.history,Re,X.signal),Kt=s||a,ot=b.navigation.state!=="idle"?Ho(Kt,b.navigation.location,l):b.matches;fe(ot,"Didn't find any matches after fetcher action");let Po=++_;W.set(P,Po);let Tu=Yi(ie,ce.data);b.fetchers.set(P,Tu);let[ko,rr]=jp(e.history,b,ot,ie,Re,!1,q,U,ue,ee,G,F,Kt,l,{[I.route.id]:ce.data},void 0);rr.filter(_e=>_e.key!==P).forEach(_e=>{let bn=_e.key,vs=b.fetchers.get(bn),Jg=Yi(void 0,vs?vs.data:void 0);b.fetchers.set(bn,Jg),J.has(bn)&<(bn),_e.controller&&J.set(bn,_e.controller)}),Ke({fetchers:new Map(b.fetchers)});let Hr=()=>rr.forEach(_e=>lt(_e.key));X.signal.addEventListener("abort",Hr);let{results:Nu,loaderResults:$u,fetcherResults:_u}=await nr(b.matches,ot,ko,rr,ut);if(X.signal.aborted)return;X.signal.removeEventListener("abort",Hr),W.delete(P),J.delete(P),rr.forEach(_e=>J.delete(_e.key));let Lo=Vp(Nu);if(Lo){if(Lo.idx>=ko.length){let _e=rr[Lo.idx-ko.length].key;F.add(_e)}return Cn(b,Lo.result)}let{loaderData:ms,errors:be}=zp(b,b.matches,ko,$u,void 0,rr,_u,me);if(b.fetchers.has(P)){let _e=sr(ce.data);b.fetchers.set(P,_e)}Ct(Po),b.navigation.state==="loading"&&Po>M?(fe(k,"Expected pending action"),N&&N.abort(),qe(b.navigation.location,{matches:ot,loaderData:ms,errors:be,fetchers:new Map(b.fetchers)})):(Ke({errors:be,loaderData:Up(b.loaderData,ms,ot,be),fetchers:new Map(b.fetchers)}),q=!1)}async function tr(P,T,$,I,Y,de,ie){let ne=b.fetchers.get(P);A(P,Yi(ie,ne?ne.data:void 0),{flushSync:de});let X=new AbortController,he=Gi(e.history,$,X.signal);J.set(P,X);let rt=_,ce=await Qi("loader",he,I,Y,i,o,l,u.v7_relativeSplatPath);if(Zr(ce)&&(ce=await j2(ce,he.signal,!0)||ce),J.get(P)===X&&J.delete(P),!he.signal.aborted){if(ee.has(P)){A(P,sr(void 0));return}if(Jr(ce))if(M>rt){A(P,sr(void 0));return}else{F.add(P),await Cn(b,ce);return}if(Ko(ce)){Q(P,T,ce.error);return}fe(!Zr(ce),"Unhandled fetcher deferred data"),A(P,sr(ce.data))}}async function Cn(P,T,$){let{submission:I,fetcherSubmission:Y,replace:de}=$===void 0?{}:$;T.revalidate&&(q=!0);let ie=Ia(P.location,T.location,{_isRedirect:!0});if(fe(ie,"Expected a location on the redirect navigation"),n){let Re=!1;if(T.reloadDocument)Re=!0;else if(_2.test(T.location)){const ut=e.history.createURL(T.location);Re=ut.origin!==t.location.origin||cs(ut.pathname,l)==null}if(Re){de?t.location.replace(T.location):t.location.assign(T.location);return}}N=null;let ne=de===!0?Qe.Replace:Qe.Push,{formMethod:X,formAction:he,formEncType:rt}=P.navigation;!I&&!Y&&X&&he&&rt&&(I=Hp(P.navigation));let ce=I||Y;if(J5.has(T.status)&&ce&&pn(ce.formMethod))await je(ne,ie,{submission:We({},ce,{formAction:T.location}),preventScrollReset:L});else{let Re=lc(ie,I);await je(ne,ie,{overrideNavigation:Re,fetcherSubmission:Y,preventScrollReset:L})}}async function nr(P,T,$,I,Y){let de=await Promise.all([...$.map(X=>Qi("loader",Y,X,T,i,o,l,u.v7_relativeSplatPath)),...I.map(X=>X.matches&&X.match&&X.controller?Qi("loader",Gi(e.history,X.path,X.controller.signal),X.match,X.matches,i,o,l,u.v7_relativeSplatPath):{type:Be.error,error:qt(404,{pathname:X.path})})]),ie=de.slice(0,$.length),ne=de.slice($.length);return await Promise.all([Wp(P,$,ie,ie.map(()=>Y.signal),!1,b.loaderData),Wp(P,I.map(X=>X.match),ne,I.map(X=>X.controller?X.controller.signal:null),!0)]),{results:de,loaderResults:ie,fetcherResults:ne}}function Ht(){q=!0,U.push(...nt()),G.forEach((P,T)=>{J.has(T)&&(ue.push(T),lt(T))})}function A(P,T,$){$===void 0&&($={}),b.fetchers.set(P,T),Ke({fetchers:new Map(b.fetchers)},{flushSync:($&&$.flushSync)===!0})}function Q(P,T,$,I){I===void 0&&(I={});let Y=ha(b.matches,T);$e(P),Ke({errors:{[Y.route.id]:$},fetchers:new Map(b.fetchers)},{flushSync:(I&&I.flushSync)===!0})}function Se(P){return u.v7_fetcherPersist&&(oe.set(P,(oe.get(P)||0)+1),ee.has(P)&&ee.delete(P)),b.fetchers.get(P)||ey}function $e(P){let T=b.fetchers.get(P);J.has(P)&&!(T&&T.state==="loading"&&W.has(P))&<(P),G.delete(P),W.delete(P),F.delete(P),ee.delete(P),b.fetchers.delete(P)}function tt(P){if(u.v7_fetcherPersist){let T=(oe.get(P)||0)-1;T<=0?(oe.delete(P),ee.add(P)):oe.set(P,T)}else $e(P);Ke({fetchers:new Map(b.fetchers)})}function lt(P){let T=J.get(P);fe(T,"Expected fetch controller: "+P),T.abort(),J.delete(P)}function sn(P){for(let T of P){let $=Se(T),I=sr($.data);b.fetchers.set(T,I)}}function xn(){let P=[],T=!1;for(let $ of F){let I=b.fetchers.get($);fe(I,"Expected fetcher: "+$),I.state==="loading"&&(F.delete($),P.push($),T=!0)}return sn(P),T}function Ct(P){let T=[];for(let[$,I]of W)if(I0}function Wr(P,T){let $=b.blockers.get(P)||Ki;return te.get(P)!==T&&te.set(P,T),$}function Z(P){b.blockers.delete(P),te.delete(P)}function ve(P,T){let $=b.blockers.get(P)||Ki;fe($.state==="unblocked"&&T.state==="blocked"||$.state==="blocked"&&T.state==="blocked"||$.state==="blocked"&&T.state==="proceeding"||$.state==="blocked"&&T.state==="unblocked"||$.state==="proceeding"&&T.state==="unblocked","Invalid blocker state transition: "+$.state+" -> "+T.state);let I=new Map(b.blockers);I.set(P,T),Ke({blockers:I})}function xe(P){let{currentLocation:T,nextLocation:$,historyAction:I}=P;if(te.size===0)return;te.size>1&&Pi(!1,"A router only supports one blocker at a time");let Y=Array.from(te.entries()),[de,ie]=Y[Y.length-1],ne=b.blockers.get(de);if(!(ne&&ne.state==="proceeding")&&ie({currentLocation:T,nextLocation:$,historyAction:I}))return de}function nt(P){let T=[];return me.forEach(($,I)=>{(!P||P(I))&&($.cancel(),T.push(I),me.delete(I))}),T}function pt(P,T,$){if(p=P,C=T,v=$||null,!g&&b.navigation===sc){g=!0;let I=b1(b.location,b.matches);I!=null&&Ke({restoreScrollPosition:I})}return()=>{p=null,C=null,v=null}}function An(P,T){return v&&v(P,T.map(I=>N5(I,b.loaderData)))||P.key}function Lu(P,T){if(p&&C){let $=An(P,T);p[$]=C()}}function b1(P,T){if(p){let $=An(P,T),I=p[$];if(typeof I=="number")return I}return null}function Zg(P){i={},s=wd(P,o,void 0,i)}return R={get basename(){return l},get future(){return u},get state(){return b},get routes(){return a},get window(){return t},initialize:wt,subscribe:Mt,enableScrollRestoration:pt,navigate:Br,fetch:Vr,revalidate:Ro,createHref:P=>e.history.createHref(P),encodeLocation:P=>e.history.encodeLocation(P),getFetcher:Se,deleteFetcher:tt,dispose:Wt,getBlocker:Wr,deleteBlocker:Z,_internalFetchControllers:J,_internalActiveDeferreds:me,_internalSetRoutes:Zg},R}function ry(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Cd(e,t,n,r,o,i,a,s){let l,u;if(a){l=[];for(let f of t)if(l.push(f),f.route.id===a){u=f;break}}else l=t,u=t[t.length-1];let c=T2(o||".",L2(l,i),cs(e.pathname,n)||e.pathname,s==="path");return o==null&&(c.search=e.search,c.hash=e.hash),(o==null||o===""||o===".")&&u&&u.route.index&&!t1(c.search)&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(c.pathname=c.pathname==="/"?n:Or([n,c.pathname])),us(c)}function Mp(e,t,n,r){if(!r||!ry(r))return{path:n};if(r.formMethod&&!cy(r.formMethod))return{path:n,error:qt(405,{method:r.formMethod})};let o=()=>({path:n,error:qt(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=M2(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!pn(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((v,C)=>{let[g,x]=C;return""+v+g+"="+x+` `},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!pn(a))return o();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return o()}}}fe(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=xd(r.formData),u=r.formData;else if(r.body instanceof FormData)l=xd(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=Fp(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=Fp(l)}catch{return o()}let c={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(pn(c.formMethod))return{path:n,submission:c};let f=Jn(n);return t&&f.search&&t1(f.search)&&l.append("index",""),f.search="?"+l,{path:us(f),submission:c}}function oy(e,t){let n=e;if(t){let r=e.findIndex(o=>o.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function jp(e,t,n,r,o,i,a,s,l,u,c,f,p,v,C,g){let x=g?Object.values(g)[0]:C?Object.values(C)[0]:void 0,h=e.createURL(t.location),m=e.createURL(o),y=g?Object.keys(g)[0]:void 0,R=oy(n,y).filter((k,L)=>{let{route:N}=k;if(N.lazy)return!0;if(N.loader==null)return!1;if(i)return N.loader.hydrate?!0:t.loaderData[N.id]===void 0&&(!t.errors||t.errors[N.id]===void 0);if(iy(t.loaderData,t.matches[L],k)||s.some(V=>V===k.route.id))return!0;let j=t.matches[L],K=k;return Ap(k,We({currentUrl:h,currentParams:j.params,nextUrl:m,nextParams:K.params},r,{actionResult:x,defaultShouldRevalidate:a||h.pathname+h.search===m.pathname+m.search||h.search!==m.search||D2(j,K)}))}),b=[];return c.forEach((k,L)=>{if(i||!n.some(le=>le.route.id===k.routeId)||u.has(L))return;let N=Ho(p,k.path,v);if(!N){b.push({key:L,routeId:k.routeId,path:k.path,matches:null,match:null,controller:null});return}let j=t.fetchers.get(L),K=bd(N,k.path),V=!1;f.has(L)?V=!1:l.includes(L)?V=!0:j&&j.state!=="idle"&&j.data===void 0?V=a:V=Ap(K,We({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:m,nextParams:n[n.length-1].params},r,{actionResult:x,defaultShouldRevalidate:a})),V&&b.push({key:L,routeId:k.routeId,path:k.path,matches:N,match:K,controller:new AbortController})}),[R,b]}function iy(e,t,n){let r=!t||n.route.id!==t.route.id,o=e[n.route.id]===void 0;return r||o}function D2(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function Ap(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function Ip(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let o=n[e.id];fe(o,"No route found in manifest");let i={};for(let a in r){let l=o[a]!==void 0&&a!=="hasErrorBoundary";Pi(!l,'Route "'+o.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!l&&!L5.has(a)&&(i[a]=r[a])}Object.assign(o,i),Object.assign(o,We({},t(o),{lazy:void 0}))}async function Qi(e,t,n,r,o,i,a,s,l){l===void 0&&(l={});let u,c,f,p=g=>{let x,h=new Promise((m,y)=>x=y);return f=()=>x(),t.signal.addEventListener("abort",f),Promise.race([g({request:t,params:n.params,context:l.requestContext}),h])};try{let g=n.route[e];if(n.route.lazy)if(g){let x,h=await Promise.all([p(g).catch(m=>{x=m}),Ip(n.route,i,o)]);if(x)throw x;c=h[0]}else if(await Ip(n.route,i,o),g=n.route[e],g)c=await p(g);else if(e==="action"){let x=new URL(t.url),h=x.pathname+x.search;throw qt(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:Be.data,data:void 0};else if(g)c=await p(g);else{let x=new URL(t.url),h=x.pathname+x.search;throw qt(404,{pathname:h})}fe(c!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(g){u=Be.error,c=g}finally{f&&t.signal.removeEventListener("abort",f)}if(uy(c)){let g=c.status;if(Z5.has(g)){let h=c.headers.get("Location");if(fe(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!_2.test(h))h=Cd(new URL(t.url),r.slice(0,r.indexOf(n)+1),a,!0,h,s);else if(!l.isStaticRequest){let m=new URL(t.url),y=h.startsWith("//")?new URL(m.protocol+h):new URL(h),E=cs(y.pathname,a)!=null;y.origin===m.origin&&E&&(h=y.pathname+y.search+y.hash)}if(l.isStaticRequest)throw c.headers.set("Location",h),c;return{type:Be.redirect,status:g,location:h,revalidate:c.headers.get("X-Remix-Revalidate")!==null,reloadDocument:c.headers.get("X-Remix-Reload-Document")!==null}}if(l.isRouteRequest)throw{type:u===Be.error?Be.error:Be.data,response:c};let x;try{let h=c.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?c.body==null?x=null:x=await c.json():x=await c.text()}catch(h){return{type:Be.error,error:h}}return u===Be.error?{type:u,error:new e1(g,c.statusText,x),headers:c.headers}:{type:Be.data,data:x,statusCode:c.status,headers:c.headers}}if(u===Be.error)return{type:u,error:c};if(ly(c)){var v,C;return{type:Be.deferred,deferredData:c,statusCode:(v=c.init)==null?void 0:v.status,headers:((C=c.init)==null?void 0:C.headers)&&new Headers(c.init.headers)}}return{type:Be.data,data:c}}function Gi(e,t,n,r){let o=e.createURL(M2(t)).toString(),i={signal:n};if(r&&pn(r.formMethod)){let{formMethod:a,formEncType:s}=r;i.method=a.toUpperCase(),s==="application/json"?(i.headers=new Headers({"Content-Type":s}),i.body=JSON.stringify(r.json)):s==="text/plain"?i.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?i.body=xd(r.formData):i.body=r.formData}return new Request(o,i)}function xd(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Fp(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function ay(e,t,n,r,o){let i={},a=null,s,l=!1,u={};return n.forEach((c,f)=>{let p=t[f].route.id;if(fe(!Jr(c),"Cannot handle redirect results in processLoaderData"),Ko(c)){let v=ha(e,p),C=c.error;r&&(C=Object.values(r)[0],r=void 0),a=a||{},a[v.route.id]==null&&(a[v.route.id]=C),i[p]=void 0,l||(l=!0,s=N2(c.error)?c.error.status:500),c.headers&&(u[p]=c.headers)}else Zr(c)?(o.set(p,c.deferredData),i[p]=c.deferredData.data):i[p]=c.data,c.statusCode!=null&&c.statusCode!==200&&!l&&(s=c.statusCode),c.headers&&(u[p]=c.headers)}),r&&(a=r,i[Object.keys(r)[0]]=void 0),{loaderData:i,errors:a,statusCode:s||200,loaderHeaders:u}}function zp(e,t,n,r,o,i,a,s){let{loaderData:l,errors:u}=ay(t,n,r,o,s);for(let c=0;cr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function Bp(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function qt(e,t){let{pathname:n,routeId:r,method:o,type:i}=t===void 0?{}:t,a="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(a="Bad Request",o&&n&&r?s="You made a "+o+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?s="defer() is not supported in actions":i==="invalid-body"&&(s="Unable to encode submission body")):e===403?(a="Forbidden",s='Route "'+r+'" does not match URL "'+n+'"'):e===404?(a="Not Found",s='No route matches URL "'+n+'"'):e===405&&(a="Method Not Allowed",o&&n&&r?s="You made a "+o.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":o&&(s='Invalid request method "'+o.toUpperCase()+'"')),new e1(e||500,a,new Error(s),!0)}function Vp(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Jr(n))return{result:n,idx:t}}}function M2(e){let t=typeof e=="string"?Jn(e):e;return us(We({},t,{hash:""}))}function sy(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Zr(e){return e.type===Be.deferred}function Ko(e){return e.type===Be.error}function Jr(e){return(e&&e.type)===Be.redirect}function ly(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function uy(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function cy(e){return X5.has(e.toLowerCase())}function pn(e){return Y5.has(e.toLowerCase())}async function Wp(e,t,n,r,o,i){for(let a=0;af.route.id===l.route.id),c=u!=null&&!D2(u,l)&&(i&&i[l.route.id])!==void 0;if(Zr(s)&&(o||c)){let f=r[a];fe(f,"Expected an AbortSignal for revalidating fetcher deferred result"),await j2(s,f,o).then(p=>{p&&(n[a]=p||n[a])})}}}async function j2(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Be.data,data:e.deferredData.unwrappedData}}catch(o){return{type:Be.error,error:o}}return{type:Be.data,data:e.deferredData.data}}}function t1(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function bd(e,t){let n=typeof t=="string"?Jn(t).search:t.search;if(e[e.length-1].route.index&&t1(n||""))return e[e.length-1];let r=k2(e);return r[r.length-1]}function Hp(e){let{formMethod:t,formAction:n,formEncType:r,text:o,formData:i,json:a}=e;if(!(!t||!n||!r)){if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:o};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function lc(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function dy(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function Yi(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function fy(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function sr(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function py(e,t){try{let n=e.sessionStorage.getItem(O2);if(n){let r=JSON.parse(n);for(let[o,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(o,new Set(i||[]))}}catch{}}function hy(e,t){if(t.size>0){let n={};for(let[r,o]of t)n[r]=[...o];try{e.sessionStorage.setItem(O2,JSON.stringify(n))}catch(r){Pi(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** * React Router v6.22.1 * @@ -125,7 +125,7 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const K3=Mn("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function cv(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts(i)))==null?void 0:a.classGroupId}const ih=/^\[(.+)\]$/;function Y3(e){if(ih.test(e)){const t=ih.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}function q3(e){const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return Z3(Object.entries(e.classGroups),n).forEach(([i,a])=>{Td(a,r,i,t)}),r}function Td(e,t,n,r){e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:ah(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(X3(o)){Td(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Td(a,ah(t,i),n,r)})})}function ah(e,t){let n=e;return t.split(l1).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n}function X3(e){return e.isThemeGetter}function Z3(e,t){return t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e}function J3(e){if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;function o(i,a){n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)}return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}}const fv="!";function e7(e){const t=e.separator,n=t.length===1,r=t[0],o=t.length;return function(a){const s=[];let l=0,u=0,c;for(let g=0;gu?c-u:void 0;return{modifiers:s,hasImportantModifier:p,baseClassName:v,maybePostfixModifierPosition:C}}}function t7(e){if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t}function n7(e){return{cache:J3(e.cacheSize),splitModifiers:e7(e),...G3(e)}}const r7=/\s+/;function o7(e,t){const{splitModifiers:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=new Set;return e.trim().split(r7).map(a=>{const{modifiers:s,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:c}=n(a);let f=r(c?u.substring(0,c):u),p=!!c;if(!f){if(!c)return{isTailwindClass:!1,originalClassName:a};if(f=r(u),!f)return{isTailwindClass:!1,originalClassName:a};p=!1}const v=t7(s).join(":");return{isTailwindClass:!0,modifierId:l?v+fv:v,classGroupId:f,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;const{modifierId:s,classGroupId:l,hasPostfixModifier:u}=a,c=s+l;return i.has(c)?!1:(i.add(c),o(l,u).forEach(f=>i.add(s+f)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function i7(){let e=0,t,n,r="";for(;ef(c),e());return n=n7(u),r=n.cache.get,o=n.cache.set,i=s,s(l)}function s(l){const u=r(l);if(u)return u;const c=o7(l,n);return o(l,c),c}return function(){return i(i7.apply(null,arguments))}}function ke(e){const t=n=>n[e]||[];return t.isThemeGetter=!0,t}const hv=/^\[(?:([a-z-]+):)?(.+)\]$/i,s7=/^\d+\/\d+$/,l7=new Set(["px","full","screen"]),u7=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,c7=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,d7=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,f7=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,p7=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function In(e){return eo(e)||l7.has(e)||s7.test(e)}function ir(e){return Di(e,"length",x7)}function eo(e){return!!e&&!Number.isNaN(Number(e))}function js(e){return Di(e,"number",eo)}function Xi(e){return!!e&&Number.isInteger(Number(e))}function h7(e){return e.endsWith("%")&&eo(e.slice(0,-1))}function se(e){return hv.test(e)}function ar(e){return u7.test(e)}const m7=new Set(["length","size","percentage"]);function v7(e){return Di(e,m7,mv)}function g7(e){return Di(e,"position",mv)}const y7=new Set(["image","url"]);function w7(e){return Di(e,y7,E7)}function C7(e){return Di(e,"",b7)}function Zi(){return!0}function Di(e,t,n){const r=hv.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1}function x7(e){return c7.test(e)&&!d7.test(e)}function mv(){return!1}function b7(e){return f7.test(e)}function E7(e){return p7.test(e)}function S7(){const e=ke("colors"),t=ke("spacing"),n=ke("blur"),r=ke("brightness"),o=ke("borderColor"),i=ke("borderRadius"),a=ke("borderSpacing"),s=ke("borderWidth"),l=ke("contrast"),u=ke("grayscale"),c=ke("hueRotate"),f=ke("invert"),p=ke("gap"),v=ke("gradientColorStops"),C=ke("gradientColorStopPositions"),g=ke("inset"),x=ke("margin"),h=ke("opacity"),m=ke("padding"),y=ke("saturate"),E=ke("scale"),R=ke("sepia"),b=ke("skew"),k=ke("space"),L=ke("translate"),N=()=>["auto","contain","none"],j=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto",se,t],V=()=>[se,t],le=()=>["",In,ir],q=()=>["auto",eo,se],U=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ue=()=>["solid","dashed","dotted","double","none"],Z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],_=()=>["start","end","center","between","around","evenly","stretch"],M=()=>["","0",se],W=()=>["auto","avoid","all","avoid-page","page","left","right","column"],F=()=>[eo,js],G=()=>[eo,se];return{cacheSize:500,separator:":",theme:{colors:[Zi],spacing:[In,ir],blur:["none","",ar,se],brightness:F(),borderColor:[e],borderRadius:["none","","full",ar,se],borderSpacing:V(),borderWidth:le(),contrast:F(),grayscale:M(),hueRotate:G(),invert:M(),gap:V(),gradientColorStops:[e],gradientColorStopPositions:[h7,ir],inset:K(),margin:K(),opacity:F(),padding:V(),saturate:F(),scale:F(),sepia:M(),skew:G(),space:V(),translate:V()},classGroups:{aspect:[{aspect:["auto","square","video",se]}],container:["container"],columns:[{columns:[ar]}],"break-after":[{"break-after":W()}],"break-before":[{"break-before":W()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...U(),se]}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Xi,se]}],basis:[{basis:K()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",se]}],grow:[{grow:M()}],shrink:[{shrink:M()}],order:[{order:["first","last","none",Xi,se]}],"grid-cols":[{"grid-cols":[Zi]}],"col-start-end":[{col:["auto",{span:["full",Xi,se]},se]}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":[Zi]}],"row-start-end":[{row:["auto",{span:[Xi,se]},se]}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",se]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",se]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[m]}],px:[{px:[m]}],py:[{py:[m]}],ps:[{ps:[m]}],pe:[{pe:[m]}],pt:[{pt:[m]}],pr:[{pr:[m]}],pb:[{pb:[m]}],pl:[{pl:[m]}],m:[{m:[x]}],mx:[{mx:[x]}],my:[{my:[x]}],ms:[{ms:[x]}],me:[{me:[x]}],mt:[{mt:[x]}],mr:[{mr:[x]}],mb:[{mb:[x]}],ml:[{ml:[x]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",se,t]}],"min-w":[{"min-w":[se,t,"min","max","fit"]}],"max-w":[{"max-w":[se,t,"none","full","min","max","fit","prose",{screen:[ar]},ar]}],h:[{h:[se,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[se,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[se,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[se,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ar,ir]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",js]}],"font-family":[{font:[Zi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",se]}],"line-clamp":[{"line-clamp":["none",eo,js]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",In,se]}],"list-image":[{"list-image":["none",se]}],"list-style-type":[{list:["none","disc","decimal",se]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ue(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",In,ir]}],"underline-offset":[{"underline-offset":["auto",In,se]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:V()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",se]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",se]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...U(),g7]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",v7]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},w7]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[C]}],"gradient-via-pos":[{via:[C]}],"gradient-to-pos":[{to:[C]}],"gradient-from":[{from:[v]}],"gradient-via":[{via:[v]}],"gradient-to":[{to:[v]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...ue(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:ue()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...ue()]}],"outline-offset":[{"outline-offset":[In,se]}],"outline-w":[{outline:[In,ir]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[In,ir]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ar,C7]}],"shadow-color":[{shadow:[Zi]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":Z()}],"bg-blend":[{"bg-blend":Z()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",ar,se]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[f]}],saturate:[{saturate:[y]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",se]}],duration:[{duration:G()}],ease:[{ease:["linear","in","out","in-out",se]}],delay:[{delay:G()}],animate:[{animate:["none","spin","ping","pulse","bounce",se]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[Xi,se]}],"translate-x":[{"translate-x":[L]}],"translate-y":[{"translate-y":[L]}],"skew-x":[{"skew-x":[b]}],"skew-y":[{"skew-y":[b]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",se]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",se]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":V()}],"scroll-mx":[{"scroll-mx":V()}],"scroll-my":[{"scroll-my":V()}],"scroll-ms":[{"scroll-ms":V()}],"scroll-me":[{"scroll-me":V()}],"scroll-mt":[{"scroll-mt":V()}],"scroll-mr":[{"scroll-mr":V()}],"scroll-mb":[{"scroll-mb":V()}],"scroll-ml":[{"scroll-ml":V()}],"scroll-p":[{"scroll-p":V()}],"scroll-px":[{"scroll-px":V()}],"scroll-py":[{"scroll-py":V()}],"scroll-ps":[{"scroll-ps":V()}],"scroll-pe":[{"scroll-pe":V()}],"scroll-pt":[{"scroll-pt":V()}],"scroll-pr":[{"scroll-pr":V()}],"scroll-pb":[{"scroll-pb":V()}],"scroll-pl":[{"scroll-pl":V()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",se]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[In,ir,js]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}const R7=a7(S7);function we(...e){return R7(Q3(e))}const vv=d.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(rv,{ref:r,className:we("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...n,children:[t,w.jsx(yv,{})]}));vv.displayName=rv.displayName;const gv=d.forwardRef(({className:e,...t},n)=>w.jsx(ov,{ref:n,className:we("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));gv.displayName=ov.displayName;const uc=D3,al=wu("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),P7=d.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(iv,{ref:r,className:we(al(),"group",e),...n,children:[t," ",w.jsx(U3,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));P7.displayName=iv.displayName;const k7=d.forwardRef(({className:e,...t},n)=>w.jsx(sv,{ref:n,className:we("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));k7.displayName=sv.displayName;const cc=M3,yv=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{className:we("absolute left-0 top-full flex justify-center"),children:w.jsx(lv,{className:we("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:n,...t})}));yv.displayName=lv.displayName;const L7=d.forwardRef(({className:e,...t},n)=>w.jsx(av,{ref:n,className:we("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:w.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));L7.displayName=av.displayName;function xu(){return w.jsxs(vv,{className:"px-5 py-2",children:[w.jsx("a",{href:"/",children:w.jsx("div",{className:"font-mono font-semibold mr-2",children:"ComfyUI Launcher"})}),w.jsxs(gv,{children:[w.jsx(uc,{children:w.jsx("a",{href:"/",children:w.jsx(cc,{className:al(),children:"Workflows"})})}),w.jsx(uc,{children:w.jsx(cc,{onClick:async e=>{e.preventDefault(),await fetch("/api/open_models_folder")},className:`${al()} cursor-pointer`,children:"Models"})}),w.jsx(uc,{children:w.jsx("a",{href:"/settings",children:w.jsx(cc,{className:al(),children:"Settings"})})})]})]})}var Mi=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Li=typeof window>"u"||"Deno"in window;function Xt(){}function T7(e,t){return typeof e=="function"?e(t):e}function Nd(e){return typeof e=="number"&&e>=0&&e!==1/0}function wv(e,t){return Math.max(e+(t||0)-Date.now(),0)}function sh(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==u1(a,t.options))return!1}else if(!Ua(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function lh(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(bo(t.options.mutationKey)!==bo(i))return!1}else if(!Ua(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function u1(e,t){return((t==null?void 0:t.queryKeyHashFn)||bo)(e)}function bo(e){return JSON.stringify(e,(t,n)=>$d(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Ua(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Ua(e[n],t[n])):!1}function Cv(e,t){if(e===t)return e;const n=uh(e)&&uh(t);if(n||$d(e)&&$d(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let l=0;for(let u=0;u"u")return!0;const n=t.prototype;return!(!ch(n)||!n.hasOwnProperty("isPrototypeOf"))}function ch(e){return Object.prototype.toString.call(e)==="[object Object]"}function N7(e){return new Promise(t=>{setTimeout(t,e)})}function _d(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Cv(e,t):t}function $7(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function _7(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var to,hr,ri,e0,O7=(e0=class extends Mi{constructor(){super();H(this,to,void 0);H(this,hr,void 0);H(this,ri,void 0);z(this,ri,t=>{if(!Li&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){S(this,hr)||this.setEventListener(S(this,ri))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,hr))==null||t.call(this),z(this,hr,void 0))}setEventListener(t){var n;z(this,ri,t),(n=S(this,hr))==null||n.call(this),z(this,hr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){S(this,to)!==t&&(z(this,to,t),this.onFocus())}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){var t;return typeof S(this,to)=="boolean"?S(this,to):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},to=new WeakMap,hr=new WeakMap,ri=new WeakMap,e0),Vl=new O7,oi,mr,ii,t0,D7=(t0=class extends Mi{constructor(){super();H(this,oi,!0);H(this,mr,void 0);H(this,ii,void 0);z(this,ii,t=>{if(!Li&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){S(this,mr)||this.setEventListener(S(this,ii))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,mr))==null||t.call(this),z(this,mr,void 0))}setEventListener(t){var n;z(this,ii,t),(n=S(this,mr))==null||n.call(this),z(this,mr,t(this.setOnline.bind(this)))}setOnline(t){S(this,oi)!==t&&(z(this,oi,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return S(this,oi)}},oi=new WeakMap,mr=new WeakMap,ii=new WeakMap,t0),Wl=new D7;function M7(e){return Math.min(1e3*2**e,3e4)}function bu(e){return(e??"online")==="online"?Wl.isOnline():!0}var xv=class{constructor(e){this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function dc(e){return e instanceof xv}function bv(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((x,h)=>{i=x,a=h}),l=x=>{var h;r||(v(new xv(x)),(h=e.abort)==null||h.call(e))},u=()=>{t=!0},c=()=>{t=!1},f=()=>!Vl.isFocused()||e.networkMode!=="always"&&!Wl.isOnline(),p=x=>{var h;r||(r=!0,(h=e.onSuccess)==null||h.call(e,x),o==null||o(),i(x))},v=x=>{var h;r||(r=!0,(h=e.onError)==null||h.call(e,x),o==null||o(),a(x))},C=()=>new Promise(x=>{var h;o=m=>{const y=r||!f();return y&&x(m),y},(h=e.onPause)==null||h.call(e)}).then(()=>{var x;o=void 0,r||(x=e.onContinue)==null||x.call(e)}),g=()=>{if(r)return;let x;try{x=e.fn()}catch(h){x=Promise.reject(h)}Promise.resolve(x).then(p).catch(h=>{var b;if(r)return;const m=e.retry??(Li?0:3),y=e.retryDelay??M7,E=typeof y=="function"?y(n,h):y,R=m===!0||typeof m=="number"&&n{if(f())return C()}).then(()=>{t?v(h):g()})})};return bu(e.networkMode)?g():C().then(g),{promise:s,cancel:l,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:u,continueRetry:c}}function j7(){let e=[],t=0,n=p=>{p()},r=p=>{p()},o=p=>setTimeout(p,0);const i=p=>{o=p},a=p=>{let v;t++;try{v=p()}finally{t--,t||u()}return v},s=p=>{t?e.push(p):o(()=>{n(p)})},l=p=>(...v)=>{s(()=>{p(...v)})},u=()=>{const p=e;e=[],p.length&&o(()=>{r(()=>{p.forEach(v=>{n(v)})})})};return{batch:a,batchCalls:l,schedule:s,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:i}}var Je=j7(),no,n0,Ev=(n0=class{constructor(){H(this,no,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Nd(this.gcTime)&&z(this,no,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Li?1/0:5*60*1e3))}clearGcTimeout(){S(this,no)&&(clearTimeout(S(this,no)),z(this,no,void 0))}},no=new WeakMap,n0),ai,si,Qt,vr,Gt,it,Wa,ro,li,sl,dn,Fn,r0,A7=(r0=class extends Ev{constructor(t){super();H(this,li);H(this,dn);H(this,ai,void 0);H(this,si,void 0);H(this,Qt,void 0);H(this,vr,void 0);H(this,Gt,void 0);H(this,it,void 0);H(this,Wa,void 0);H(this,ro,void 0);z(this,ro,!1),z(this,Wa,t.defaultOptions),ae(this,li,sl).call(this,t.options),z(this,it,[]),z(this,Qt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,z(this,ai,t.state||I7(this.options)),this.state=S(this,ai),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!S(this,it).length&&this.state.fetchStatus==="idle"&&S(this,Qt).remove(this)}setData(t,n){const r=_d(this.state.data,t,this.options);return ae(this,dn,Fn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){ae(this,dn,Fn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r;const n=S(this,vr);return(r=S(this,Gt))==null||r.cancel(t),n?n.then(Xt).catch(Xt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(S(this,ai))}isActive(){return S(this,it).some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||S(this,it).some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!wv(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=S(this,it).find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,Gt))==null||n.continue()}onOnline(){var n;const t=S(this,it).find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,Gt))==null||n.continue()}addObserver(t){S(this,it).includes(t)||(S(this,it).push(t),this.clearGcTimeout(),S(this,Qt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){S(this,it).includes(t)&&(z(this,it,S(this,it).filter(n=>n!==t)),S(this,it).length||(S(this,Gt)&&(S(this,ro)?S(this,Gt).cancel({revert:!0}):S(this,Gt).cancelRetry()),this.scheduleGc()),S(this,Qt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return S(this,it).length}invalidate(){this.state.isInvalidated||ae(this,dn,Fn).call(this,{type:"invalidate"})}fetch(t,n){var u,c,f,p;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(S(this,vr))return(u=S(this,Gt))==null||u.continueRetry(),S(this,vr)}if(t&&ae(this,li,sl).call(this,t),!this.options.queryFn){const v=S(this,it).find(C=>C.options.queryFn);v&&ae(this,li,sl).call(this,v.options)}const r=new AbortController,o={queryKey:this.queryKey,meta:this.meta},i=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(z(this,ro,!0),r.signal)})};i(o);const a=()=>this.options.queryFn?(z(this,ro,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};i(s),(c=this.options.behavior)==null||c.onFetch(s,this),z(this,si,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((f=s.fetchOptions)==null?void 0:f.meta))&&ae(this,dn,Fn).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const l=v=>{var C,g,x,h;dc(v)&&v.silent||ae(this,dn,Fn).call(this,{type:"error",error:v}),dc(v)||((g=(C=S(this,Qt).config).onError)==null||g.call(C,v,this),(h=(x=S(this,Qt).config).onSettled)==null||h.call(x,this.state.data,v,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return z(this,Gt,bv({fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:v=>{var C,g,x,h;if(typeof v>"u"){l(new Error(`${this.queryHash} data is undefined`));return}this.setData(v),(g=(C=S(this,Qt).config).onSuccess)==null||g.call(C,v,this),(h=(x=S(this,Qt).config).onSettled)==null||h.call(x,v,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:l,onFail:(v,C)=>{ae(this,dn,Fn).call(this,{type:"failed",failureCount:v,error:C})},onPause:()=>{ae(this,dn,Fn).call(this,{type:"pause"})},onContinue:()=>{ae(this,dn,Fn).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode})),z(this,vr,S(this,Gt).promise),S(this,vr)}},ai=new WeakMap,si=new WeakMap,Qt=new WeakMap,vr=new WeakMap,Gt=new WeakMap,it=new WeakMap,Wa=new WeakMap,ro=new WeakMap,li=new WeakSet,sl=function(t){this.options={...S(this,Wa),...t},this.updateGcTime(this.options.gcTime)},dn=new WeakSet,Fn=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:bu(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return dc(o)&&o.revert&&S(this,si)?{...S(this,si),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Je.batch(()=>{S(this,it).forEach(r=>{r.onQueryUpdate()}),S(this,Qt).notify({query:this,type:"updated",action:t})})},r0);function I7(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var kn,o0,F7=(o0=class extends Mi{constructor(t={}){super();H(this,kn,void 0);this.config=t,z(this,kn,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??u1(o,n);let a=this.get(i);return a||(a=new A7({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){S(this,kn).has(t.queryHash)||(S(this,kn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=S(this,kn).get(t.queryHash);n&&(t.destroy(),n===t&&S(this,kn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Je.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return S(this,kn).get(t)}getAll(){return[...S(this,kn).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>sh(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>sh(t,r)):n}notify(t){Je.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Je.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Je.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},kn=new WeakMap,o0),Ln,Ha,jt,ui,Tn,lr,i0,z7=(i0=class extends Ev{constructor(t){super();H(this,Tn);H(this,Ln,void 0);H(this,Ha,void 0);H(this,jt,void 0);H(this,ui,void 0);this.mutationId=t.mutationId,z(this,Ha,t.defaultOptions),z(this,jt,t.mutationCache),z(this,Ln,[]),this.state=t.state||Sv(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...S(this,Ha),...t},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){S(this,Ln).includes(t)||(S(this,Ln).push(t),this.clearGcTimeout(),S(this,jt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){z(this,Ln,S(this,Ln).filter(n=>n!==t)),this.scheduleGc(),S(this,jt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){S(this,Ln).length||(this.state.status==="pending"?this.scheduleGc():S(this,jt).remove(this))}continue(){var t;return((t=S(this,ui))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,l,u,c,f,p,v,C,g,x,h,m,y,E,R,b,k;const n=()=>(z(this,ui,bv({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(L,N)=>{ae(this,Tn,lr).call(this,{type:"failed",failureCount:L,error:N})},onPause:()=>{ae(this,Tn,lr).call(this,{type:"pause"})},onContinue:()=>{ae(this,Tn,lr).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),S(this,ui).promise),r=this.state.status==="pending";try{if(!r){ae(this,Tn,lr).call(this,{type:"pending",variables:t}),await((i=(o=S(this,jt).config).onMutate)==null?void 0:i.call(o,t,this));const N=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));N!==this.state.context&&ae(this,Tn,lr).call(this,{type:"pending",context:N,variables:t})}const L=await n();return await((u=(l=S(this,jt).config).onSuccess)==null?void 0:u.call(l,L,t,this.state.context,this)),await((f=(c=this.options).onSuccess)==null?void 0:f.call(c,L,t,this.state.context)),await((v=(p=S(this,jt).config).onSettled)==null?void 0:v.call(p,L,null,this.state.variables,this.state.context,this)),await((g=(C=this.options).onSettled)==null?void 0:g.call(C,L,null,t,this.state.context)),ae(this,Tn,lr).call(this,{type:"success",data:L}),L}catch(L){try{throw await((h=(x=S(this,jt).config).onError)==null?void 0:h.call(x,L,t,this.state.context,this)),await((y=(m=this.options).onError)==null?void 0:y.call(m,L,t,this.state.context)),await((R=(E=S(this,jt).config).onSettled)==null?void 0:R.call(E,void 0,L,this.state.variables,this.state.context,this)),await((k=(b=this.options).onSettled)==null?void 0:k.call(b,void 0,L,t,this.state.context)),L}finally{ae(this,Tn,lr).call(this,{type:"error",error:L})}}}},Ln=new WeakMap,Ha=new WeakMap,jt=new WeakMap,ui=new WeakMap,Tn=new WeakSet,lr=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!bu(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Je.batch(()=>{S(this,Ln).forEach(r=>{r.onMutationUpdate(t)}),S(this,jt).notify({mutation:this,type:"updated",action:t})})},i0);function Sv(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Yt,Ka,oo,a0,U7=(a0=class extends Mi{constructor(t={}){super();H(this,Yt,void 0);H(this,Ka,void 0);H(this,oo,void 0);this.config=t,z(this,Yt,[]),z(this,Ka,0)}build(t,n,r){const o=new z7({mutationCache:this,mutationId:++gs(this,Ka)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){S(this,Yt).push(t),this.notify({type:"added",mutation:t})}remove(t){z(this,Yt,S(this,Yt).filter(n=>n!==t)),this.notify({type:"removed",mutation:t})}clear(){Je.batch(()=>{S(this,Yt).forEach(t=>{this.remove(t)})})}getAll(){return S(this,Yt)}find(t){const n={exact:!0,...t};return S(this,Yt).find(r=>lh(n,r))}findAll(t={}){return S(this,Yt).filter(n=>lh(t,n))}notify(t){Je.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){return z(this,oo,(S(this,oo)??Promise.resolve()).then(()=>{const t=S(this,Yt).filter(n=>n.state.isPaused);return Je.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Xt)),Promise.resolve()))}).then(()=>{z(this,oo,void 0)})),S(this,oo)}},Yt=new WeakMap,Ka=new WeakMap,oo=new WeakMap,a0);function B7(e){return{onFetch:(t,n)=>{const r=async()=>{var C,g,x,h,m;const o=t.options,i=(x=(g=(C=t.fetchOptions)==null?void 0:C.meta)==null?void 0:g.fetchMore)==null?void 0:x.direction,a=((h=t.state.data)==null?void 0:h.pages)||[],s=((m=t.state.data)==null?void 0:m.pageParams)||[],l={pages:[],pageParams:[]};let u=!1;const c=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),p=async(y,E,R)=>{if(u)return Promise.reject();if(E==null&&y.pages.length)return Promise.resolve(y);const b={queryKey:t.queryKey,pageParam:E,direction:R?"backward":"forward",meta:t.options.meta};c(b);const k=await f(b),{maxPages:L}=t.options,N=R?_7:$7;return{pages:N(y.pages,k,L),pageParams:N(y.pageParams,E,L)}};let v;if(i&&a.length){const y=i==="backward",E=y?V7:dh,R={pages:a,pageParams:s},b=E(o,R);v=await p(R,b,y)}else{v=await p(l,s[0]??o.initialPageParam);const y=e??a.length;for(let E=1;E{var o,i;return(i=(o=t.options).persister)==null?void 0:i.call(o,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}function dh(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}function V7(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}var Xe,gr,yr,ci,di,wr,fi,pi,s0,W7=(s0=class{constructor(e={}){H(this,Xe,void 0);H(this,gr,void 0);H(this,yr,void 0);H(this,ci,void 0);H(this,di,void 0);H(this,wr,void 0);H(this,fi,void 0);H(this,pi,void 0);z(this,Xe,e.queryCache||new F7),z(this,gr,e.mutationCache||new U7),z(this,yr,e.defaultOptions||{}),z(this,ci,new Map),z(this,di,new Map),z(this,wr,0)}mount(){gs(this,wr)._++,S(this,wr)===1&&(z(this,fi,Vl.subscribe(()=>{Vl.isFocused()&&(this.resumePausedMutations(),S(this,Xe).onFocus())})),z(this,pi,Wl.subscribe(()=>{Wl.isOnline()&&(this.resumePausedMutations(),S(this,Xe).onOnline())})))}unmount(){var e,t;gs(this,wr)._--,S(this,wr)===0&&((e=S(this,fi))==null||e.call(this),z(this,fi,void 0),(t=S(this,pi))==null||t.call(this),z(this,pi,void 0))}isFetching(e){return S(this,Xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return S(this,gr).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);return t!==void 0?Promise.resolve(t):this.fetchQuery(e)}getQueriesData(e){return this.getQueryCache().findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=S(this,Xe).get(r.queryHash),i=o==null?void 0:o.state.data,a=T7(t,i);if(!(typeof a>"u"))return S(this,Xe).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Je.batch(()=>this.getQueryCache().findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=S(this,Xe);Je.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=S(this,Xe),r={type:"active",...e};return Je.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Je.batch(()=>S(this,Xe).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Xt).catch(Xt)}invalidateQueries(e={},t={}){return Je.batch(()=>{if(S(this,Xe).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Je.batch(()=>S(this,Xe).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Xt)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Xt)}fetchQuery(e){const t=this.defaultQueryOptions(e);typeof t.retry>"u"&&(t.retry=!1);const n=S(this,Xe).build(this,t);return n.isStaleByTime(t.staleTime)?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xt).catch(Xt)}fetchInfiniteQuery(e){return e.behavior=B7(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xt).catch(Xt)}resumePausedMutations(){return S(this,gr).resumePausedMutations()}getQueryCache(){return S(this,Xe)}getMutationCache(){return S(this,gr)}getDefaultOptions(){return S(this,yr)}setDefaultOptions(e){z(this,yr,e)}setQueryDefaults(e,t){S(this,ci).set(bo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...S(this,ci).values()];let n={};return t.forEach(r=>{Ua(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){S(this,di).set(bo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...S(this,di).values()];let n={};return t.forEach(r=>{Ua(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...S(this,yr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=u1(t.queryKey,t)),typeof t.refetchOnReconnect>"u"&&(t.refetchOnReconnect=t.networkMode!=="always"),typeof t.throwOnError>"u"&&(t.throwOnError=!!t.suspense),typeof t.networkMode>"u"&&t.persister&&(t.networkMode="offlineFirst"),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...S(this,yr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){S(this,Xe).clear(),S(this,gr).clear()}},Xe=new WeakMap,gr=new WeakMap,yr=new WeakMap,ci=new WeakMap,di=new WeakMap,wr=new WeakMap,fi=new WeakMap,pi=new WeakMap,s0),Lt,Te,Qa,xt,io,hi,Nn,Ga,mi,vi,ao,so,Cr,gi,lo,ra,Ya,Od,qa,Dd,Xa,Md,Za,jd,Ja,Ad,es,Id,ts,Fd,Xl,Rv,l0,H7=(l0=class extends Mi{constructor(t,n){super();H(this,lo);H(this,Ya);H(this,qa);H(this,Xa);H(this,Za);H(this,Ja);H(this,es);H(this,ts);H(this,Xl);H(this,Lt,void 0);H(this,Te,void 0);H(this,Qa,void 0);H(this,xt,void 0);H(this,io,void 0);H(this,hi,void 0);H(this,Nn,void 0);H(this,Ga,void 0);H(this,mi,void 0);H(this,vi,void 0);H(this,ao,void 0);H(this,so,void 0);H(this,Cr,void 0);H(this,gi,new Set);this.options=n,z(this,Lt,t),z(this,Nn,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(S(this,Te).addObserver(this),fh(S(this,Te),this.options)?ae(this,lo,ra).call(this):this.updateResult(),ae(this,Za,jd).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return zd(S(this,Te),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return zd(S(this,Te),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ae(this,Ja,Ad).call(this),ae(this,es,Id).call(this),S(this,Te).removeObserver(this)}setOptions(t,n){const r=this.options,o=S(this,Te);if(this.options=S(this,Lt).defaultQueryOptions(t),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");ae(this,ts,Fd).call(this),Bl(this.options,r)||S(this,Lt).getQueryCache().notify({type:"observerOptionsUpdated",query:S(this,Te),observer:this});const i=this.hasListeners();i&&ph(S(this,Te),o,this.options,r)&&ae(this,lo,ra).call(this),this.updateResult(n),i&&(S(this,Te)!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&ae(this,Ya,Od).call(this);const a=ae(this,qa,Dd).call(this);i&&(S(this,Te)!==o||this.options.enabled!==r.enabled||a!==S(this,Cr))&&ae(this,Xa,Md).call(this,a)}getOptimisticResult(t){const n=S(this,Lt).getQueryCache().build(S(this,Lt),t),r=this.createResult(n,t);return Q7(this,r)&&(z(this,xt,r),z(this,hi,this.options),z(this,io,S(this,Te).state)),r}getCurrentResult(){return S(this,xt)}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(S(this,gi).add(r),t[r])})}),n}getCurrentQuery(){return S(this,Te)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=S(this,Lt).defaultQueryOptions(t),r=S(this,Lt).getQueryCache().build(S(this,Lt),n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ae(this,lo,ra).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),S(this,xt)))}createResult(t,n){var b;const r=S(this,Te),o=this.options,i=S(this,xt),a=S(this,io),s=S(this,hi),u=t!==r?t.state:S(this,Qa),{state:c}=t;let{error:f,errorUpdatedAt:p,fetchStatus:v,status:C}=c,g=!1,x;if(n._optimisticResults){const k=this.hasListeners(),L=!k&&fh(t,n),N=k&&ph(t,r,n,o);(L||N)&&(v=bu(t.options.networkMode)?"fetching":"paused",c.dataUpdatedAt||(C="pending")),n._optimisticResults==="isRestoring"&&(v="idle")}if(n.select&&typeof c.data<"u")if(i&&c.data===(a==null?void 0:a.data)&&n.select===S(this,Ga))x=S(this,mi);else try{z(this,Ga,n.select),x=n.select(c.data),x=_d(i==null?void 0:i.data,x,n),z(this,mi,x),z(this,Nn,null)}catch(k){z(this,Nn,k)}else x=c.data;if(typeof n.placeholderData<"u"&&typeof x>"u"&&C==="pending"){let k;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))k=i.data;else if(k=typeof n.placeholderData=="function"?n.placeholderData((b=S(this,vi))==null?void 0:b.state.data,S(this,vi)):n.placeholderData,n.select&&typeof k<"u")try{k=n.select(k),z(this,Nn,null)}catch(L){z(this,Nn,L)}typeof k<"u"&&(C="success",x=_d(i==null?void 0:i.data,k,n),g=!0)}S(this,Nn)&&(f=S(this,Nn),x=S(this,mi),p=Date.now(),C="error");const h=v==="fetching",m=C==="pending",y=C==="error",E=m&&h;return{status:C,fetchStatus:v,isPending:m,isSuccess:C==="success",isError:y,isInitialLoading:E,isLoading:E,data:x,dataUpdatedAt:c.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:h,isRefetching:h&&!m,isLoadingError:y&&c.dataUpdatedAt===0,isPaused:v==="paused",isPlaceholderData:g,isRefetchError:y&&c.dataUpdatedAt!==0,isStale:c1(t,n),refetch:this.refetch}}updateResult(t){const n=S(this,xt),r=this.createResult(S(this,Te),this.options);if(z(this,io,S(this,Te).state),z(this,hi,this.options),S(this,io).data!==void 0&&z(this,vi,S(this,Te)),Bl(r,n))return;z(this,xt,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!S(this,gi).size)return!0;const l=new Set(s??S(this,gi));return this.options.throwOnError&&l.add("error"),Object.keys(S(this,xt)).some(u=>{const c=u;return S(this,xt)[c]!==n[c]&&l.has(c)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),ae(this,Xl,Rv).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ae(this,Za,jd).call(this)}},Lt=new WeakMap,Te=new WeakMap,Qa=new WeakMap,xt=new WeakMap,io=new WeakMap,hi=new WeakMap,Nn=new WeakMap,Ga=new WeakMap,mi=new WeakMap,vi=new WeakMap,ao=new WeakMap,so=new WeakMap,Cr=new WeakMap,gi=new WeakMap,lo=new WeakSet,ra=function(t){ae(this,ts,Fd).call(this);let n=S(this,Te).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Xt)),n},Ya=new WeakSet,Od=function(){if(ae(this,Ja,Ad).call(this),Li||S(this,xt).isStale||!Nd(this.options.staleTime))return;const n=wv(S(this,xt).dataUpdatedAt,this.options.staleTime)+1;z(this,ao,setTimeout(()=>{S(this,xt).isStale||this.updateResult()},n))},qa=new WeakSet,Dd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(S(this,Te)):this.options.refetchInterval)??!1},Xa=new WeakSet,Md=function(t){ae(this,es,Id).call(this),z(this,Cr,t),!(Li||this.options.enabled===!1||!Nd(S(this,Cr))||S(this,Cr)===0)&&z(this,so,setInterval(()=>{(this.options.refetchIntervalInBackground||Vl.isFocused())&&ae(this,lo,ra).call(this)},S(this,Cr)))},Za=new WeakSet,jd=function(){ae(this,Ya,Od).call(this),ae(this,Xa,Md).call(this,ae(this,qa,Dd).call(this))},Ja=new WeakSet,Ad=function(){S(this,ao)&&(clearTimeout(S(this,ao)),z(this,ao,void 0))},es=new WeakSet,Id=function(){S(this,so)&&(clearInterval(S(this,so)),z(this,so,void 0))},ts=new WeakSet,Fd=function(){const t=S(this,Lt).getQueryCache().build(S(this,Lt),this.options);if(t===S(this,Te))return;const n=S(this,Te);z(this,Te,t),z(this,Qa,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},Xl=new WeakSet,Rv=function(t){Je.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(S(this,xt))}),S(this,Lt).getQueryCache().notify({query:S(this,Te),type:"observerResultsUpdated"})})},l0);function K7(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function fh(e,t){return K7(e,t)||e.state.dataUpdatedAt>0&&zd(e,t,t.refetchOnMount)}function zd(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&c1(e,t)}return!1}function ph(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&c1(e,n)}function c1(e,t){return e.isStaleByTime(t.staleTime)}function Q7(e,t){return!Bl(e.getCurrentResult(),t)}var xr,br,At,Vn,yi,ll,ns,Ud,u0,G7=(u0=class extends Mi{constructor(n,r){super();H(this,yi);H(this,ns);H(this,xr,void 0);H(this,br,void 0);H(this,At,void 0);H(this,Vn,void 0);z(this,xr,n),this.setOptions(r),this.bindMethods(),ae(this,yi,ll).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=S(this,xr).defaultMutationOptions(n),Bl(this.options,r)||S(this,xr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:S(this,At),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&bo(r.mutationKey)!==bo(this.options.mutationKey)?this.reset():(o=S(this,At))==null||o.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=S(this,At))==null||n.removeObserver(this)}onMutationUpdate(n){ae(this,yi,ll).call(this),ae(this,ns,Ud).call(this,n)}getCurrentResult(){return S(this,br)}reset(){var n;(n=S(this,At))==null||n.removeObserver(this),z(this,At,void 0),ae(this,yi,ll).call(this),ae(this,ns,Ud).call(this)}mutate(n,r){var o;return z(this,Vn,r),(o=S(this,At))==null||o.removeObserver(this),z(this,At,S(this,xr).getMutationCache().build(S(this,xr),this.options)),S(this,At).addObserver(this),S(this,At).execute(n)}},xr=new WeakMap,br=new WeakMap,At=new WeakMap,Vn=new WeakMap,yi=new WeakSet,ll=function(){var r;const n=((r=S(this,At))==null?void 0:r.state)??Sv();z(this,br,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},ns=new WeakSet,Ud=function(n){Je.batch(()=>{var r,o,i,a,s,l,u,c;if(S(this,Vn)&&this.hasListeners()){const f=S(this,br).variables,p=S(this,br).context;(n==null?void 0:n.type)==="success"?((o=(r=S(this,Vn)).onSuccess)==null||o.call(r,n.data,f,p),(a=(i=S(this,Vn)).onSettled)==null||a.call(i,n.data,null,f,p)):(n==null?void 0:n.type)==="error"&&((l=(s=S(this,Vn)).onError)==null||l.call(s,n.error,f,p),(c=(u=S(this,Vn)).onSettled)==null||c.call(u,void 0,n.error,f,p))}this.listeners.forEach(f=>{f(S(this,br))})})},u0),Pv=d.createContext(void 0),ps=e=>{const t=d.useContext(Pv);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Y7=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),w.jsx(Pv.Provider,{value:e,children:t})),kv=d.createContext(!1),q7=()=>d.useContext(kv);kv.Provider;function X7(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Z7=d.createContext(X7()),J7=()=>d.useContext(Z7);function Lv(e,t){return typeof e=="function"?e(...t):!!e}var e9=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},t9=e=>{d.useEffect(()=>{e.clearReset()},[e])},n9=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&Lv(n,[e.error,r]),r9=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},o9=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,i9=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function a9(e,t,n){const r=ps(n),o=q7(),i=J7(),a=r.defaultQueryOptions(e);a._optimisticResults=o?"isRestoring":"optimistic",r9(a),e9(a,i),t9(i);const[s]=d.useState(()=>new t(r,a)),l=s.getOptimisticResult(a);if(d.useSyncExternalStore(d.useCallback(u=>{const c=o?()=>{}:s.subscribe(Je.batchCalls(u));return s.updateResult(),c},[s,o]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),d.useEffect(()=>{s.setOptions(a,{listeners:!1})},[a,s]),o9(a,l))throw i9(a,s,i);if(n9({result:l,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw l.error;return a.notifyOnChangeProps?l:s.trackResult(l)}function Tv(e,t){return a9(e,H7,t)}function Dr(e,t){const n=ps(t),[r]=d.useState(()=>new G7(n,e));d.useEffect(()=>{r.setOptions(e)},[r,e]);const o=d.useSyncExternalStore(d.useCallback(a=>r.subscribe(Je.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=d.useCallback((a,s)=>{r.mutate(a,s).catch(s9)},[r]);if(o.error&&Lv(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}function s9(){}const vt=0,Oe=1,l9=2,u9=0,Bd=1;function c9(e,t,n){let r=e.list,o;for(;r;){if(r.index===n)return!1;if(t>r.high)break;o=r,r=r.next}return o||(e.list={index:n,high:t,next:r}),o&&(o.next={index:n,high:t,next:o.next}),!0}function d9(e,t){let n=e.list;if(n.index===t)return n.next===null?u9:(e.list=n.next,Bd);let r=n;for(n=n.next;n!==null;){if(n.index===t)return r.next=n.next,Bd;r=n,n=n.next}}const ye={low:0,max:0,high:0,C:l9,P:void 0,R:void 0,L:void 0,list:void 0};ye.P=ye;ye.L=ye;ye.R=ye;function Mr(e){const t=e.high;e.L===ye&&e.R===ye?e.max=t:e.L===ye?e.max=Math.max(e.R.max,t):e.R===ye?e.max=Math.max(e.L.max,t):e.max=Math.max(Math.max(e.L.max,e.R.max),t)}function As(e){let t=e;for(;t.P!==ye;)Mr(t.P),t=t.P}function ma(e,t){if(t.R===ye)return;const n=t.R;t.R=n.L,n.L!==ye&&(n.L.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.L=t,t.P=n,Mr(t),Mr(n)}function va(e,t){if(t.L===ye)return;const n=t.L;t.L=n.R,n.R!==ye&&(n.R.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.R?t.P.R=n:t.P.L=n,n.R=t,t.P=n,Mr(t),Mr(n)}function Is(e,t,n){t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.P=t.P}function f9(e,t){let n;for(;t!==ye&&t.C===Oe;)t===t.P.L?(n=t.P.R,n.C===vt&&(n.C=Oe,t.P.C=vt,ma(e,t.P),n=t.P.R),n.L.C===Oe&&n.R.C===Oe?(n.C=vt,t=t.P):(n.R.C===Oe&&(n.L.C=Oe,n.C=vt,va(e,n),n=t.P.R),n.C=t.P.C,t.P.C=Oe,n.R.C=Oe,ma(e,t.P),t=e.root)):(n=t.P.L,n.C===vt&&(n.C=Oe,t.P.C=vt,va(e,t.P),n=t.P.L),n.R.C===Oe&&n.L.C===Oe?(n.C=vt,t=t.P):(n.L.C===Oe&&(n.R.C=Oe,n.C=vt,ma(e,n),n=t.P.L),n.C=t.P.C,t.P.C=Oe,n.L.C=Oe,va(e,t.P),t=e.root));t.C=Oe}function p9(e){for(;e.L!==ye;)e=e.L;return e}function h9(e,t){let n;for(;t.P.C===vt;)t.P===t.P.P.L?(n=t.P.P.R,n.C===vt?(t.P.C=Oe,n.C=Oe,t.P.P.C=vt,t=t.P.P):(t===t.P.R&&(t=t.P,ma(e,t)),t.P.C=Oe,t.P.P.C=vt,va(e,t.P.P))):(n=t.P.P.L,n.C===vt?(t.P.C=Oe,n.C=Oe,t.P.P.C=vt,t=t.P.P):(t===t.P.L&&(t=t.P,va(e,t)),t.P.C=Oe,t.P.P.C=vt,ma(e,t.P.P)));e.root.C=Oe}function m9(){const e={root:ye,size:0},t={};return{insert(n,r,o){let i=e.root,a=ye;for(;i!==ye&&(a=i,n!==a.low);)na.max)&&(a.L!==ye&&i.push(a.L),a.R!==ye&&i.push(a.R),a.low<=r&&a.high>=n)){let s=a.list;for(;s!==null;)s.high>=n&&o(s.index,a.low),s=s.next}}},get size(){return e.size}}}const Eu=e=>{const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),t},v9=(e,t=100,n=!1)=>{const r=Eu(e),o=d.useRef(),i=[t,n,r];function a(){o.current&&clearTimeout(o.current),o.current=void 0}d.useEffect(()=>a,i);function s(){o.current=void 0}return d.useCallback(function(){const l=arguments,{current:u}=o;if(u===void 0&&n)return o.current=setTimeout(s,t),r.current.apply(null,l);u&&clearTimeout(u),o.current=setTimeout(()=>{o.current=void 0,r.current.apply(null,l)},t)},i)},g9=(e,t,n)=>{const r=d.useState(e);return[r[0],v9(r[1],t,n)]};function ga(e,t,n,r){const o=d.useRef(n),i=d.useRef(r);d.useEffect(()=>{o.current=n,i.current=r}),d.useEffect(()=>{const a=e&&"current"in e?e.current:e;if(!a)return;let s=0;function l(...c){s||o.current.apply(this,c)}a.addEventListener(t,l);const u=i.current;return()=>{s=1,a.removeEventListener(t,l),u&&u()}},[e,t])}const y9={},ya=typeof window>"u"?null:window,w9=ya&&typeof ya.visualViewport<"u"?ya.visualViewport:null,hh=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],C9=function(e){e===void 0&&(e=y9);const{wait:t,leading:n,initialWidth:r=0,initialHeight:o=0}=e,[i,a]=g9(typeof document>"u"?[r,o]:hh,t,n),s=()=>a(hh);return ga(ya,"resize",s),ga(w9,"resize",s),ga(ya,"orientationchange",s),i},Su=(e,t)=>{const n=t||x9;let r,o;return function(){return r&&n(arguments,r)?o:o=e.apply(null,r=arguments)}},x9=(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3];class b9{constructor(){this.set=void 0,this.get=void 0;let t,n;this.get=r=>r===t?n:void 0,this.set=(r,o)=>{t=r,n=o}}}const mh=b9,fc=e=>{try{return new e}catch{const n={};return{set(r,o){n[r]=o},get(r){return n[r]}}}},E9=e=>{const t=e.length,n=fc(e[0]);let r,o,i,a;const s=t===1,l=p=>(r=n.get(p[0]))===void 0||s?r:r.get(p[1]),u=(p,v)=>(s?n.set(p[0],v):(r=n.get(p[0]))===void 0?(o=fc(e[1]),o.set(p[1],v),n.set(p[0],o)):r.set(p[1],v),v),c=p=>{for(a=n,i=0;i{for(a=n,i=0;i{let n;const{g:r,s:o}=E9(e);return function(){return(n=r(arguments))===void 0?o(arguments,t.apply(null,arguments)):n}},Vd=new WeakMap;function $v(){const e=d.useState(S9)[1];return d.useRef(()=>e({})).current}const S9={},ul=d.createElement;function R9(e){let{positioner:t,resizeObserver:n,items:r,as:o="div",id:i,className:a,style:s,role:l="grid",tabIndex:u=0,containerRef:c,itemAs:f="div",itemStyle:p,itemHeightEstimate:v=300,itemKey:C=L9,overscanBy:g=2,scrollTop:x,isScrolling:h,height:m,render:y,onRender:E}=e,R=0,b;const k=$v(),L=N9(t,n),N=r.length,{columnWidth:j,columnCount:K,range:V,estimateHeight:le,size:q,shortestColumn:U}=t,ue=q(),Z=U(),_=[],M=l==="list"?"listitem":l==="grid"?"gridcell":void 0,W=Eu(E);g=m*g;const F=x+g,G=Z{const He=r[ee],wt=C(He,ee),Wt={top:te,left:me,width:j,writingMode:"horizontal-tb",position:"absolute"};typeof process<"u",_.push(ul(f,{key:wt,ref:L(ee),role:M,style:typeof p=="object"&&p!==null?Object.assign({},Wt,p):Wt},gh(y,ee,He,j))),b===void 0?(R=ee,b=ee):(R=Math.min(R,ee),b=Math.max(b,ee))}),G){const ee=Math.min(N-ue,Math.ceil((x+g-Z)/v*K));let me=ue;const te=T9(j);for(;me{typeof W.current=="function"&&b!==void 0&&W.current(R,b,r),vh="1"},[R,b,r,W]),d.useEffect(()=>{G&&k()},[G,t]);const oe=P9(h,le(N,v));return ul(o,{ref:c,key:vh,id:i,role:l,className:a,tabIndex:u,style:typeof s=="object"?k9(oe,s):oe,children:_})}let vh="0";const gh=Nv([mh,{},WeakMap,mh],(e,t,n,r)=>ul(e,{index:t,data:n,width:r})),P9=Su((e,t)=>({position:"relative",width:"100%",maxWidth:"100%",height:Math.ceil(t),maxHeight:Math.ceil(t),willChange:e?"contents":void 0,pointerEvents:e?"none":void 0})),_v=(e,t)=>e[0]===t[0]&&e[1]===t[1],k9=Su((e,t)=>Object.assign({},e,t),_v);function L9(e,t){return t}const T9=Su(e=>({width:e,zIndex:-1e3,visibility:"hidden",position:"absolute",writingMode:"horizontal-tb"}),(e,t)=>e[0]===t[0]),N9=Su((e,t)=>n=>r=>{r!==null&&(t&&(t.observe(r),Vd.set(r,n)),e.get(n)===void 0&&e.set(n,r.offsetHeight))},_v);let Ov="undefined",ei=typeof window!==Ov?window:{},$9=typeof performance!==Ov?performance:Date,Wd=()=>$9.now(),Dv="AnimationFrame",yh="cancel"+Dv,wh="request"+Dv,Hl=ei[wh]&&ei[wh].bind(ei),Hd=ei[yh]&&ei[yh].bind(ei);function _9(e){return clearTimeout(e)}if(!Hl||!Hd){let e=0;Hl=t=>{let n=Wd(),r=Math.max(e+1e3/60,n);return setTimeout(()=>{t(e=r)},r-n)},Hd=_9}const O9=e=>{Hd(e.v||-1)},D9=(e,t)=>{const n=Wd(),r={},o=()=>{Wd()-n>=t?e.call(null):r.v=Hl(o)};return r.v=Hl(o),r},M9=typeof performance<"u"?performance:Date,j9=()=>M9.now();function Mv(e,t=30,n=!1){const r=Eu(e),o=1e3/t,i=d.useRef(0),a=d.useRef(),s=()=>a.current&&clearTimeout(a.current),l=[t,n,r];function u(){i.current=0,s()}return d.useEffect(()=>u,l),d.useCallback(function(){const c=arguments,f=j9(),p=()=>{i.current=f,s(),r.current.apply(null,c)},v=i.current;if(n&&v===0)return p();if(f-v>o){if(v>0)return p();i.current=f}s(),a.current=setTimeout(()=>{p(),i.current=0},o)},l)}function A9(e,t,n){const r=d.useState(e);return[r[0],Mv(r[1],t,n)]}const oa=typeof window>"u"?null:window,Ch=()=>oa.scrollY!==void 0?oa.scrollY:oa.pageYOffset===void 0?0:oa.pageYOffset,I9=(e=30)=>{const t=A9(typeof window>"u"?0:Ch,e,!0);return ga(oa,"scroll",()=>t[1](Ch())),t[0]};function F9(e,t){e===void 0&&(e=0),t===void 0&&(t=12);const n=I9(t),[r,o]=d.useState(!1),i=d.useRef(0);return d.useEffect(()=>{i.current===1&&o(!0);let a=!1;const s=D9(()=>{a||o(!1)},40+1e3/t);return i.current=1,()=>{a=!0,O9(s)}},[t,n]),{scrollTop:Math.max(0,n-e),isScrolling:r}}function z9(e){const{scrollTop:t,isScrolling:n}=F9(e.offset,e.scrollFps);return R9({scrollTop:t,isScrolling:n,positioner:e.positioner,resizeObserver:e.resizeObserver,items:e.items,onRender:e.onRender,as:e.as,id:e.id,className:e.className,style:e.style,role:e.role,tabIndex:e.tabIndex,containerRef:e.containerRef,itemAs:e.itemAs,itemStyle:e.itemStyle,itemHeightEstimate:e.itemHeightEstimate,itemKey:e.itemKey,overscanBy:e.overscanBy,height:e.height,render:e.render})}const U9=O[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"];function B9(e,t){t===void 0&&(t=V9);const[n,r]=d.useState({offset:0,width:0});return U9(()=>{const{current:o}=e;if(o!==null){let i=0,a=o;do i+=a.offsetTop||0,a=a.offsetParent;while(a);(i!==n.offset||o.offsetWidth!==n.width)&&r({offset:i,width:o.offsetWidth})}},t),n}const V9=[];function W9(e,t){let{width:n,columnWidth:r=200,columnGutter:o=0,rowGutter:i,columnCount:a,maxColumnCount:s}=e;t===void 0&&(t=G9);const l=()=>{const[C,g]=Q9(n,r,o,a,s);return H9(g,C,o,i??o)},u=d.useRef();u.current===void 0&&(u.current=l());const c=d.useRef(t),f=[n,r,o,i,a,s],p=d.useRef(f),v=!f.every((C,g)=>p.current[g]===C);if(typeof process<"u",v||!t.every((C,g)=>c.current[g]===C)){const C=u.current,g=l();if(c.current=t,p.current=f,v){const x=C.size();for(let h=0;ha[l],update:l=>{const u=new Array(e);let c=0,f=0;for(;co.search(l,u,(f,p)=>c(f,a[f].left,p)),estimateHeight:(l,u)=>{const c=Math.max(0,Math.max.apply(null,i));return l===o.size?c:c+Math.ceil((l-o.size)/e)*u},shortestColumn:()=>i.length>1?Math.min.apply(null,i):i[0]||0,size(){return o.size},all(){return a}}},K9=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){const o=n+r>>>1,i=e[o];if(i===t)return o;i<=t?n=o+1:r=o-1}return-1},Q9=function(e,t,n,r,o){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=8),r=r||Math.min(Math.floor((e+n)/(t+n)),o||1/0)||1,[Math.floor((e-n*(r-1))/r),r]},G9=[];var fo=[],Y9=function(){return fo.some(function(e){return e.activeTargets.length>0})},q9=function(){return fo.some(function(e){return e.skippedTargets.length>0})},xh="ResizeObserver loop completed with undelivered notifications.",X9=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:xh}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=xh),window.dispatchEvent(e)},Ba;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Ba||(Ba={}));var po=function(e){return Object.freeze(e)},Z9=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,po(this)}return e}(),jv=function(){function e(t,n,r,o){return this.x=t,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,po(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,r=t.y,o=t.top,i=t.right,a=t.bottom,s=t.left,l=t.width,u=t.height;return{x:n,y:r,top:o,right:i,bottom:a,left:s,width:l,height:u}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),d1=function(e){return e instanceof SVGElement&&"getBBox"in e},Av=function(e){if(d1(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,a=o.offsetHeight;return!(i||a||e.getClientRects().length)},bh=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},J9=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},wa=typeof window<"u"?window:{},Fs=new WeakMap,Eh=/auto|scroll/,e6=/^tb|vertical/,t6=/msie|trident/i.test(wa.navigator&&wa.navigator.userAgent),Sn=function(e){return parseFloat(e||"0")},ti=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new Z9((n?t:e)||0,(n?e:t)||0)},Sh=po({devicePixelContentBoxSize:ti(),borderBoxSize:ti(),contentBoxSize:ti(),contentRect:new jv(0,0,0,0)}),Iv=function(e,t){if(t===void 0&&(t=!1),Fs.has(e)&&!t)return Fs.get(e);if(Av(e))return Fs.set(e,Sh),Sh;var n=getComputedStyle(e),r=d1(e)&&e.ownerSVGElement&&e.getBBox(),o=!t6&&n.boxSizing==="border-box",i=e6.test(n.writingMode||""),a=!r&&Eh.test(n.overflowY||""),s=!r&&Eh.test(n.overflowX||""),l=r?0:Sn(n.paddingTop),u=r?0:Sn(n.paddingRight),c=r?0:Sn(n.paddingBottom),f=r?0:Sn(n.paddingLeft),p=r?0:Sn(n.borderTopWidth),v=r?0:Sn(n.borderRightWidth),C=r?0:Sn(n.borderBottomWidth),g=r?0:Sn(n.borderLeftWidth),x=f+u,h=l+c,m=g+v,y=p+C,E=s?e.offsetHeight-y-e.clientHeight:0,R=a?e.offsetWidth-m-e.clientWidth:0,b=o?x+m:0,k=o?h+y:0,L=r?r.width:Sn(n.width)-b-R,N=r?r.height:Sn(n.height)-k-E,j=L+x+R+m,K=N+h+E+y,V=po({devicePixelContentBoxSize:ti(Math.round(L*devicePixelRatio),Math.round(N*devicePixelRatio),i),borderBoxSize:ti(j,K,i),contentBoxSize:ti(L,N,i),contentRect:new jv(f,l,L,N)});return Fs.set(e,V),V},Fv=function(e,t,n){var r=Iv(e,n),o=r.borderBoxSize,i=r.contentBoxSize,a=r.devicePixelContentBoxSize;switch(t){case Ba.DEVICE_PIXEL_CONTENT_BOX:return a;case Ba.BORDER_BOX:return o;default:return i}},n6=function(){function e(t){var n=Iv(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=po([n.borderBoxSize]),this.contentBoxSize=po([n.contentBoxSize]),this.devicePixelContentBoxSize=po([n.devicePixelContentBoxSize])}return e}(),zv=function(e){if(Av(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},r6=function(){var e=1/0,t=[];fo.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(u){var c=new n6(u.target),f=zv(u.target);s.push(c),u.lastReportedSize=Fv(u.target,u.observedBox),fe?n.activeTargets.push(o):n.skippedTargets.push(o))})})},o6=function(){var e=0;for(Rh(e);Y9();)e=r6(),Rh(e);return q9()&&X9(),e>0},pc,Uv=[],i6=function(){return Uv.splice(0).forEach(function(e){return e()})},a6=function(e){if(!pc){var t=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return i6()}).observe(n,r),pc=function(){n.textContent="".concat(t?t--:t++)}}Uv.push(e),pc()},s6=function(e){a6(function(){requestAnimationFrame(e)})},cl=0,l6=function(){return!!cl},u6=250,c6={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ph=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],kh=function(e){return e===void 0&&(e=0),Date.now()+e},hc=!1,d6=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=u6),!hc){hc=!0;var r=kh(t);s6(function(){var o=!1;try{o=o6()}finally{if(hc=!1,t=r-kh(),!l6())return;o?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,c6)};document.body?n():wa.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ph.forEach(function(n){return wa.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),Ph.forEach(function(n){return wa.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),Kd=new d6,Lh=function(e){!cl&&e>0&&Kd.start(),cl+=e,!cl&&Kd.stop()},f6=function(e){return!d1(e)&&!J9(e)&&getComputedStyle(e).display==="inline"},p6=function(){function e(t,n){this.target=t,this.observedBox=n||Ba.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=Fv(this.target,this.observedBox,!0);return f6(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),h6=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),zs=new WeakMap,Th=function(e,t){for(var n=0;n=0&&(i&&fo.splice(fo.indexOf(r),1),r.observationTargets.splice(o,1),Lh(-1))},e.disconnect=function(t){var n=this,r=zs.get(t);r.observationTargets.slice().forEach(function(o){return n.unobserve(t,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},e}(),m6=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Us.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!bh(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Us.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!bh(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Us.unobserve(this,t)},e.prototype.disconnect=function(){Us.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),Nh=function(t){var n=[],r=null,o=function(){for(var a=arguments.length,s=new Array(a),l=0;lr,[n]),n}function y6(e){e.cancel()}const w6=Nv([WeakMap],(e,t)=>{const n=[],r=Nh(()=>{n.length>0&&(e.update(n),t(n)),n.length=0}),o=u=>{const c=u.offsetHeight;if(c>0){const f=Vd.get(u);if(f!==void 0){const p=e.get(f);p!==void 0&&c!==p.height&&n.push(f,c)}}r()},i=new Map,a=u=>{let c=0;for(;c{l(),i.forEach(y6)},s});function C6(e,t){var n;const{align:r="top",element:o=typeof window<"u"&&window,offset:i=0,height:a=typeof window<"u"?window.innerHeight:0}=t,s=Eu({positioner:e,element:o,align:r,offset:i,height:a}),l=d.useRef(()=>{const v=s.current.element;return v&&"current"in v?v.current:v}).current,[u,c]=d.useReducer((v,C)=>{const g={position:v.position,index:v.index,prevTop:v.prevTop};if(C.type==="scrollToIndex"){var x;return{position:s.current.positioner.get((x=C.value)!==null&&x!==void 0?x:-1),index:C.value,prevTop:void 0}}else if(C.type==="setPosition")g.position=C.value;else if(C.type==="setPrevTop")g.prevTop=C.value;else if(C.type==="reset")return $h;return g},$h),f=Mv(c,15);ga(l(),"scroll",()=>{if(!u.position&&u.index){const v=s.current.positioner.get(u.index);v&&c({type:"setPosition",value:v})}});const p=u.index!==void 0&&((n=s.current.positioner.get(u.index))===null||n===void 0?void 0:n.top);return d.useEffect(()=>{const v=l();if(!v)return;const{height:C,align:g,offset:x,positioner:h}=s.current;if(u.position){let m=u.position.top;g==="bottom"?m=m-C+u.position.height:g==="center"&&(m-=(C-u.position.height)/2),v.scrollTo(0,Math.max(0,m+=x));let y=!1;const E=setTimeout(()=>!y&&c({type:"reset"}),400);return()=>{y=!0,clearTimeout(E)}}else if(u.index!==void 0){let m=h.shortestColumn()/h.size()*u.index;u.prevTop&&(m=Math.max(m,u.prevTop+C)),v.scrollTo(0,m),f({type:"setPrevTop",value:m})}},[p,u,s,l,f]),d.useRef(v=>{c({type:"scrollToIndex",value:v})}).current}const $h={index:void 0,position:void 0,prevTop:void 0},x6=d.createElement;function Bv(e){const t=d.useRef(null),n=C9({initialWidth:e.ssrWidth,initialHeight:e.ssrHeight}),r=B9(t,n),o=Object.assign({offset:r.offset,width:r.width||n[0],height:n[1],containerRef:t},e);o.positioner=W9(o),o.resizeObserver=g6(o.positioner);const i=C6(o.positioner,{height:o.height,offset:r.offset,align:typeof e.scrollToIndex=="object"?e.scrollToIndex.align:void 0}),a=e.scrollToIndex&&(typeof e.scrollToIndex=="number"?e.scrollToIndex:e.scrollToIndex.index);return d.useEffect(()=>{a!==void 0&&i(a)},[a,i]),x6(z9,o)}const f1=wu("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Et=d.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const a=r?ki:"button";return w.jsx(a,{className:we(f1({variant:t,size:n,className:e})),ref:i,...o})});Et.displayName="Button";const mc="focusScope.autoFocusOnMount",vc="focusScope.autoFocusOnUnmount",_h={bubbles:!1,cancelable:!0},b6=d.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[s,l]=d.useState(null),u=Nt(o),c=Nt(i),f=d.useRef(null),p=Rt(t,g=>l(g)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(r){let m=function(b){if(v.paused||!s)return;const k=b.target;s.contains(k)?f.current=k:ur(f.current,{select:!0})},y=function(b){if(v.paused||!s)return;const k=b.relatedTarget;k!==null&&(s.contains(k)||ur(f.current,{select:!0}))},E=function(b){if(document.activeElement===document.body)for(const L of b)L.removedNodes.length>0&&ur(s)};var g=m,x=y,h=E;document.addEventListener("focusin",m),document.addEventListener("focusout",y);const R=new MutationObserver(E);return s&&R.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",y),R.disconnect()}}},[r,s,v.paused]),d.useEffect(()=>{if(s){Dh.add(v);const g=document.activeElement;if(!s.contains(g)){const h=new CustomEvent(mc,_h);s.addEventListener(mc,u),s.dispatchEvent(h),h.defaultPrevented||(E6(L6(Vv(s)),{select:!0}),document.activeElement===g&&ur(s))}return()=>{s.removeEventListener(mc,u),setTimeout(()=>{const h=new CustomEvent(vc,_h);s.addEventListener(vc,c),s.dispatchEvent(h),h.defaultPrevented||ur(g??document.body,{select:!0}),s.removeEventListener(vc,c),Dh.remove(v)},0)}}},[s,u,c,v]);const C=d.useCallback(g=>{if(!n&&!r||v.paused)return;const x=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,h=document.activeElement;if(x&&h){const m=g.currentTarget,[y,E]=S6(m);y&&E?!g.shiftKey&&h===E?(g.preventDefault(),n&&ur(y,{select:!0})):g.shiftKey&&h===y&&(g.preventDefault(),n&&ur(E,{select:!0})):h===m&&g.preventDefault()}},[n,r,v.paused]);return d.createElement(Ue.div,re({tabIndex:-1},a,{ref:p,onKeyDown:C}))});function E6(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(ur(r,{select:t}),document.activeElement!==n)return}function S6(e){const t=Vv(e),n=Oh(t,e),r=Oh(t.reverse(),e);return[n,r]}function Vv(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Oh(e,t){for(const n of e)if(!R6(n,{upTo:t}))return n}function R6(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function P6(e){return e instanceof HTMLInputElement&&"select"in e}function ur(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&P6(e)&&t&&e.select()}}const Dh=k6();function k6(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Mh(e,t),e.unshift(t)},remove(t){var n;e=Mh(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Mh(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function L6(e){return e.filter(t=>t.tagName!=="A")}const T6=d.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?hu.createPortal(d.createElement(Ue.div,re({},o,{ref:t})),r):null});let gc=0;function N6(){d.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:jh()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:jh()),gc++,()=>{gc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),gc--}},[])}function jh(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var _n=function(){return _n=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]0)&&!(o=r.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}function Qd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r"u")return H6;var t=K6(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},G6=Qv(),Kl="data-scroll-locked",Y6=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + */const K3=Mn("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function cv(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts(i)))==null?void 0:a.classGroupId}const ih=/^\[(.+)\]$/;function Y3(e){if(ih.test(e)){const t=ih.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}function q3(e){const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return Z3(Object.entries(e.classGroups),n).forEach(([i,a])=>{Td(a,r,i,t)}),r}function Td(e,t,n,r){e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:ah(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(X3(o)){Td(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Td(a,ah(t,i),n,r)})})}function ah(e,t){let n=e;return t.split(l1).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n}function X3(e){return e.isThemeGetter}function Z3(e,t){return t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e}function J3(e){if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;function o(i,a){n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)}return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}}const fv="!";function e7(e){const t=e.separator,n=t.length===1,r=t[0],o=t.length;return function(a){const s=[];let l=0,u=0,c;for(let g=0;gu?c-u:void 0;return{modifiers:s,hasImportantModifier:p,baseClassName:v,maybePostfixModifierPosition:C}}}function t7(e){if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t}function n7(e){return{cache:J3(e.cacheSize),splitModifiers:e7(e),...G3(e)}}const r7=/\s+/;function o7(e,t){const{splitModifiers:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=new Set;return e.trim().split(r7).map(a=>{const{modifiers:s,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:c}=n(a);let f=r(c?u.substring(0,c):u),p=!!c;if(!f){if(!c)return{isTailwindClass:!1,originalClassName:a};if(f=r(u),!f)return{isTailwindClass:!1,originalClassName:a};p=!1}const v=t7(s).join(":");return{isTailwindClass:!0,modifierId:l?v+fv:v,classGroupId:f,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;const{modifierId:s,classGroupId:l,hasPostfixModifier:u}=a,c=s+l;return i.has(c)?!1:(i.add(c),o(l,u).forEach(f=>i.add(s+f)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function i7(){let e=0,t,n,r="";for(;ef(c),e());return n=n7(u),r=n.cache.get,o=n.cache.set,i=s,s(l)}function s(l){const u=r(l);if(u)return u;const c=o7(l,n);return o(l,c),c}return function(){return i(i7.apply(null,arguments))}}function ke(e){const t=n=>n[e]||[];return t.isThemeGetter=!0,t}const hv=/^\[(?:([a-z-]+):)?(.+)\]$/i,s7=/^\d+\/\d+$/,l7=new Set(["px","full","screen"]),u7=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,c7=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,d7=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,f7=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,p7=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function In(e){return eo(e)||l7.has(e)||s7.test(e)}function ir(e){return Di(e,"length",x7)}function eo(e){return!!e&&!Number.isNaN(Number(e))}function js(e){return Di(e,"number",eo)}function Xi(e){return!!e&&Number.isInteger(Number(e))}function h7(e){return e.endsWith("%")&&eo(e.slice(0,-1))}function se(e){return hv.test(e)}function ar(e){return u7.test(e)}const m7=new Set(["length","size","percentage"]);function v7(e){return Di(e,m7,mv)}function g7(e){return Di(e,"position",mv)}const y7=new Set(["image","url"]);function w7(e){return Di(e,y7,E7)}function C7(e){return Di(e,"",b7)}function Zi(){return!0}function Di(e,t,n){const r=hv.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1}function x7(e){return c7.test(e)&&!d7.test(e)}function mv(){return!1}function b7(e){return f7.test(e)}function E7(e){return p7.test(e)}function S7(){const e=ke("colors"),t=ke("spacing"),n=ke("blur"),r=ke("brightness"),o=ke("borderColor"),i=ke("borderRadius"),a=ke("borderSpacing"),s=ke("borderWidth"),l=ke("contrast"),u=ke("grayscale"),c=ke("hueRotate"),f=ke("invert"),p=ke("gap"),v=ke("gradientColorStops"),C=ke("gradientColorStopPositions"),g=ke("inset"),x=ke("margin"),h=ke("opacity"),m=ke("padding"),y=ke("saturate"),E=ke("scale"),R=ke("sepia"),b=ke("skew"),k=ke("space"),L=ke("translate"),N=()=>["auto","contain","none"],j=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto",se,t],V=()=>[se,t],le=()=>["",In,ir],q=()=>["auto",eo,se],U=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ue=()=>["solid","dashed","dotted","double","none"],J=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],_=()=>["start","end","center","between","around","evenly","stretch"],M=()=>["","0",se],W=()=>["auto","avoid","all","avoid-page","page","left","right","column"],F=()=>[eo,js],G=()=>[eo,se];return{cacheSize:500,separator:":",theme:{colors:[Zi],spacing:[In,ir],blur:["none","",ar,se],brightness:F(),borderColor:[e],borderRadius:["none","","full",ar,se],borderSpacing:V(),borderWidth:le(),contrast:F(),grayscale:M(),hueRotate:G(),invert:M(),gap:V(),gradientColorStops:[e],gradientColorStopPositions:[h7,ir],inset:K(),margin:K(),opacity:F(),padding:V(),saturate:F(),scale:F(),sepia:M(),skew:G(),space:V(),translate:V()},classGroups:{aspect:[{aspect:["auto","square","video",se]}],container:["container"],columns:[{columns:[ar]}],"break-after":[{"break-after":W()}],"break-before":[{"break-before":W()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...U(),se]}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Xi,se]}],basis:[{basis:K()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",se]}],grow:[{grow:M()}],shrink:[{shrink:M()}],order:[{order:["first","last","none",Xi,se]}],"grid-cols":[{"grid-cols":[Zi]}],"col-start-end":[{col:["auto",{span:["full",Xi,se]},se]}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":[Zi]}],"row-start-end":[{row:["auto",{span:[Xi,se]},se]}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",se]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",se]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[m]}],px:[{px:[m]}],py:[{py:[m]}],ps:[{ps:[m]}],pe:[{pe:[m]}],pt:[{pt:[m]}],pr:[{pr:[m]}],pb:[{pb:[m]}],pl:[{pl:[m]}],m:[{m:[x]}],mx:[{mx:[x]}],my:[{my:[x]}],ms:[{ms:[x]}],me:[{me:[x]}],mt:[{mt:[x]}],mr:[{mr:[x]}],mb:[{mb:[x]}],ml:[{ml:[x]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",se,t]}],"min-w":[{"min-w":[se,t,"min","max","fit"]}],"max-w":[{"max-w":[se,t,"none","full","min","max","fit","prose",{screen:[ar]},ar]}],h:[{h:[se,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[se,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[se,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[se,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ar,ir]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",js]}],"font-family":[{font:[Zi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",se]}],"line-clamp":[{"line-clamp":["none",eo,js]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",In,se]}],"list-image":[{"list-image":["none",se]}],"list-style-type":[{list:["none","disc","decimal",se]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ue(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",In,ir]}],"underline-offset":[{"underline-offset":["auto",In,se]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:V()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",se]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",se]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...U(),g7]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",v7]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},w7]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[C]}],"gradient-via-pos":[{via:[C]}],"gradient-to-pos":[{to:[C]}],"gradient-from":[{from:[v]}],"gradient-via":[{via:[v]}],"gradient-to":[{to:[v]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...ue(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:ue()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...ue()]}],"outline-offset":[{"outline-offset":[In,se]}],"outline-w":[{outline:[In,ir]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[In,ir]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ar,C7]}],"shadow-color":[{shadow:[Zi]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":J()}],"bg-blend":[{"bg-blend":J()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",ar,se]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[f]}],saturate:[{saturate:[y]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",se]}],duration:[{duration:G()}],ease:[{ease:["linear","in","out","in-out",se]}],delay:[{delay:G()}],animate:[{animate:["none","spin","ping","pulse","bounce",se]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[Xi,se]}],"translate-x":[{"translate-x":[L]}],"translate-y":[{"translate-y":[L]}],"skew-x":[{"skew-x":[b]}],"skew-y":[{"skew-y":[b]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",se]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",se]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":V()}],"scroll-mx":[{"scroll-mx":V()}],"scroll-my":[{"scroll-my":V()}],"scroll-ms":[{"scroll-ms":V()}],"scroll-me":[{"scroll-me":V()}],"scroll-mt":[{"scroll-mt":V()}],"scroll-mr":[{"scroll-mr":V()}],"scroll-mb":[{"scroll-mb":V()}],"scroll-ml":[{"scroll-ml":V()}],"scroll-p":[{"scroll-p":V()}],"scroll-px":[{"scroll-px":V()}],"scroll-py":[{"scroll-py":V()}],"scroll-ps":[{"scroll-ps":V()}],"scroll-pe":[{"scroll-pe":V()}],"scroll-pt":[{"scroll-pt":V()}],"scroll-pr":[{"scroll-pr":V()}],"scroll-pb":[{"scroll-pb":V()}],"scroll-pl":[{"scroll-pl":V()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",se]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[In,ir,js]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}const R7=a7(S7);function we(...e){return R7(Q3(e))}const vv=d.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(rv,{ref:r,className:we("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...n,children:[t,w.jsx(yv,{})]}));vv.displayName=rv.displayName;const gv=d.forwardRef(({className:e,...t},n)=>w.jsx(ov,{ref:n,className:we("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));gv.displayName=ov.displayName;const uc=D3,al=wu("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),P7=d.forwardRef(({className:e,children:t,...n},r)=>w.jsxs(iv,{ref:r,className:we(al(),"group",e),...n,children:[t," ",w.jsx(U3,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));P7.displayName=iv.displayName;const k7=d.forwardRef(({className:e,...t},n)=>w.jsx(sv,{ref:n,className:we("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));k7.displayName=sv.displayName;const cc=M3,yv=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{className:we("absolute left-0 top-full flex justify-center"),children:w.jsx(lv,{className:we("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:n,...t})}));yv.displayName=lv.displayName;const L7=d.forwardRef(({className:e,...t},n)=>w.jsx(av,{ref:n,className:we("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:w.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));L7.displayName=av.displayName;function xu(){return w.jsxs(vv,{className:"px-5 py-2",children:[w.jsx("a",{href:"/",children:w.jsx("div",{className:"font-mono font-semibold mr-2",children:"ComfyUI Launcher"})}),w.jsxs(gv,{children:[w.jsx(uc,{children:w.jsx("a",{href:"/",children:w.jsx(cc,{className:al(),children:"Workflows"})})}),w.jsx(uc,{children:w.jsx(cc,{onClick:async e=>{e.preventDefault(),await fetch("/api/open_models_folder")},className:`${al()} cursor-pointer`,children:"Models"})}),w.jsx(uc,{children:w.jsx("a",{href:"/settings",children:w.jsx(cc,{className:al(),children:"Settings"})})})]})]})}var Mi=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Li=typeof window>"u"||"Deno"in window;function Xt(){}function T7(e,t){return typeof e=="function"?e(t):e}function Nd(e){return typeof e=="number"&&e>=0&&e!==1/0}function wv(e,t){return Math.max(e+(t||0)-Date.now(),0)}function sh(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==u1(a,t.options))return!1}else if(!Ua(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function lh(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(bo(t.options.mutationKey)!==bo(i))return!1}else if(!Ua(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function u1(e,t){return((t==null?void 0:t.queryKeyHashFn)||bo)(e)}function bo(e){return JSON.stringify(e,(t,n)=>$d(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Ua(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Ua(e[n],t[n])):!1}function Cv(e,t){if(e===t)return e;const n=uh(e)&&uh(t);if(n||$d(e)&&$d(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let l=0;for(let u=0;u"u")return!0;const n=t.prototype;return!(!ch(n)||!n.hasOwnProperty("isPrototypeOf"))}function ch(e){return Object.prototype.toString.call(e)==="[object Object]"}function N7(e){return new Promise(t=>{setTimeout(t,e)})}function _d(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Cv(e,t):t}function $7(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function _7(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var to,hr,ri,e0,O7=(e0=class extends Mi{constructor(){super();H(this,to,void 0);H(this,hr,void 0);H(this,ri,void 0);z(this,ri,t=>{if(!Li&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){S(this,hr)||this.setEventListener(S(this,ri))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,hr))==null||t.call(this),z(this,hr,void 0))}setEventListener(t){var n;z(this,ri,t),(n=S(this,hr))==null||n.call(this),z(this,hr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){S(this,to)!==t&&(z(this,to,t),this.onFocus())}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){var t;return typeof S(this,to)=="boolean"?S(this,to):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},to=new WeakMap,hr=new WeakMap,ri=new WeakMap,e0),Vl=new O7,oi,mr,ii,t0,D7=(t0=class extends Mi{constructor(){super();H(this,oi,!0);H(this,mr,void 0);H(this,ii,void 0);z(this,ii,t=>{if(!Li&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){S(this,mr)||this.setEventListener(S(this,ii))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,mr))==null||t.call(this),z(this,mr,void 0))}setEventListener(t){var n;z(this,ii,t),(n=S(this,mr))==null||n.call(this),z(this,mr,t(this.setOnline.bind(this)))}setOnline(t){S(this,oi)!==t&&(z(this,oi,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return S(this,oi)}},oi=new WeakMap,mr=new WeakMap,ii=new WeakMap,t0),Wl=new D7;function M7(e){return Math.min(1e3*2**e,3e4)}function bu(e){return(e??"online")==="online"?Wl.isOnline():!0}var xv=class{constructor(e){this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function dc(e){return e instanceof xv}function bv(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((x,h)=>{i=x,a=h}),l=x=>{var h;r||(v(new xv(x)),(h=e.abort)==null||h.call(e))},u=()=>{t=!0},c=()=>{t=!1},f=()=>!Vl.isFocused()||e.networkMode!=="always"&&!Wl.isOnline(),p=x=>{var h;r||(r=!0,(h=e.onSuccess)==null||h.call(e,x),o==null||o(),i(x))},v=x=>{var h;r||(r=!0,(h=e.onError)==null||h.call(e,x),o==null||o(),a(x))},C=()=>new Promise(x=>{var h;o=m=>{const y=r||!f();return y&&x(m),y},(h=e.onPause)==null||h.call(e)}).then(()=>{var x;o=void 0,r||(x=e.onContinue)==null||x.call(e)}),g=()=>{if(r)return;let x;try{x=e.fn()}catch(h){x=Promise.reject(h)}Promise.resolve(x).then(p).catch(h=>{var b;if(r)return;const m=e.retry??(Li?0:3),y=e.retryDelay??M7,E=typeof y=="function"?y(n,h):y,R=m===!0||typeof m=="number"&&n{if(f())return C()}).then(()=>{t?v(h):g()})})};return bu(e.networkMode)?g():C().then(g),{promise:s,cancel:l,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:u,continueRetry:c}}function j7(){let e=[],t=0,n=p=>{p()},r=p=>{p()},o=p=>setTimeout(p,0);const i=p=>{o=p},a=p=>{let v;t++;try{v=p()}finally{t--,t||u()}return v},s=p=>{t?e.push(p):o(()=>{n(p)})},l=p=>(...v)=>{s(()=>{p(...v)})},u=()=>{const p=e;e=[],p.length&&o(()=>{r(()=>{p.forEach(v=>{n(v)})})})};return{batch:a,batchCalls:l,schedule:s,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:i}}var Je=j7(),no,n0,Ev=(n0=class{constructor(){H(this,no,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Nd(this.gcTime)&&z(this,no,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Li?1/0:5*60*1e3))}clearGcTimeout(){S(this,no)&&(clearTimeout(S(this,no)),z(this,no,void 0))}},no=new WeakMap,n0),ai,si,Qt,vr,Gt,it,Wa,ro,li,sl,dn,Fn,r0,A7=(r0=class extends Ev{constructor(t){super();H(this,li);H(this,dn);H(this,ai,void 0);H(this,si,void 0);H(this,Qt,void 0);H(this,vr,void 0);H(this,Gt,void 0);H(this,it,void 0);H(this,Wa,void 0);H(this,ro,void 0);z(this,ro,!1),z(this,Wa,t.defaultOptions),ae(this,li,sl).call(this,t.options),z(this,it,[]),z(this,Qt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,z(this,ai,t.state||I7(this.options)),this.state=S(this,ai),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!S(this,it).length&&this.state.fetchStatus==="idle"&&S(this,Qt).remove(this)}setData(t,n){const r=_d(this.state.data,t,this.options);return ae(this,dn,Fn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){ae(this,dn,Fn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r;const n=S(this,vr);return(r=S(this,Gt))==null||r.cancel(t),n?n.then(Xt).catch(Xt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(S(this,ai))}isActive(){return S(this,it).some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||S(this,it).some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!wv(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=S(this,it).find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,Gt))==null||n.continue()}onOnline(){var n;const t=S(this,it).find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,Gt))==null||n.continue()}addObserver(t){S(this,it).includes(t)||(S(this,it).push(t),this.clearGcTimeout(),S(this,Qt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){S(this,it).includes(t)&&(z(this,it,S(this,it).filter(n=>n!==t)),S(this,it).length||(S(this,Gt)&&(S(this,ro)?S(this,Gt).cancel({revert:!0}):S(this,Gt).cancelRetry()),this.scheduleGc()),S(this,Qt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return S(this,it).length}invalidate(){this.state.isInvalidated||ae(this,dn,Fn).call(this,{type:"invalidate"})}fetch(t,n){var u,c,f,p;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(S(this,vr))return(u=S(this,Gt))==null||u.continueRetry(),S(this,vr)}if(t&&ae(this,li,sl).call(this,t),!this.options.queryFn){const v=S(this,it).find(C=>C.options.queryFn);v&&ae(this,li,sl).call(this,v.options)}const r=new AbortController,o={queryKey:this.queryKey,meta:this.meta},i=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(z(this,ro,!0),r.signal)})};i(o);const a=()=>this.options.queryFn?(z(this,ro,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};i(s),(c=this.options.behavior)==null||c.onFetch(s,this),z(this,si,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((f=s.fetchOptions)==null?void 0:f.meta))&&ae(this,dn,Fn).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const l=v=>{var C,g,x,h;dc(v)&&v.silent||ae(this,dn,Fn).call(this,{type:"error",error:v}),dc(v)||((g=(C=S(this,Qt).config).onError)==null||g.call(C,v,this),(h=(x=S(this,Qt).config).onSettled)==null||h.call(x,this.state.data,v,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return z(this,Gt,bv({fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:v=>{var C,g,x,h;if(typeof v>"u"){l(new Error(`${this.queryHash} data is undefined`));return}this.setData(v),(g=(C=S(this,Qt).config).onSuccess)==null||g.call(C,v,this),(h=(x=S(this,Qt).config).onSettled)==null||h.call(x,v,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:l,onFail:(v,C)=>{ae(this,dn,Fn).call(this,{type:"failed",failureCount:v,error:C})},onPause:()=>{ae(this,dn,Fn).call(this,{type:"pause"})},onContinue:()=>{ae(this,dn,Fn).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode})),z(this,vr,S(this,Gt).promise),S(this,vr)}},ai=new WeakMap,si=new WeakMap,Qt=new WeakMap,vr=new WeakMap,Gt=new WeakMap,it=new WeakMap,Wa=new WeakMap,ro=new WeakMap,li=new WeakSet,sl=function(t){this.options={...S(this,Wa),...t},this.updateGcTime(this.options.gcTime)},dn=new WeakSet,Fn=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:bu(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return dc(o)&&o.revert&&S(this,si)?{...S(this,si),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Je.batch(()=>{S(this,it).forEach(r=>{r.onQueryUpdate()}),S(this,Qt).notify({query:this,type:"updated",action:t})})},r0);function I7(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var kn,o0,F7=(o0=class extends Mi{constructor(t={}){super();H(this,kn,void 0);this.config=t,z(this,kn,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??u1(o,n);let a=this.get(i);return a||(a=new A7({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){S(this,kn).has(t.queryHash)||(S(this,kn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=S(this,kn).get(t.queryHash);n&&(t.destroy(),n===t&&S(this,kn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Je.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return S(this,kn).get(t)}getAll(){return[...S(this,kn).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>sh(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>sh(t,r)):n}notify(t){Je.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Je.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Je.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},kn=new WeakMap,o0),Ln,Ha,jt,ui,Tn,lr,i0,z7=(i0=class extends Ev{constructor(t){super();H(this,Tn);H(this,Ln,void 0);H(this,Ha,void 0);H(this,jt,void 0);H(this,ui,void 0);this.mutationId=t.mutationId,z(this,Ha,t.defaultOptions),z(this,jt,t.mutationCache),z(this,Ln,[]),this.state=t.state||Sv(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...S(this,Ha),...t},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){S(this,Ln).includes(t)||(S(this,Ln).push(t),this.clearGcTimeout(),S(this,jt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){z(this,Ln,S(this,Ln).filter(n=>n!==t)),this.scheduleGc(),S(this,jt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){S(this,Ln).length||(this.state.status==="pending"?this.scheduleGc():S(this,jt).remove(this))}continue(){var t;return((t=S(this,ui))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,l,u,c,f,p,v,C,g,x,h,m,y,E,R,b,k;const n=()=>(z(this,ui,bv({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(L,N)=>{ae(this,Tn,lr).call(this,{type:"failed",failureCount:L,error:N})},onPause:()=>{ae(this,Tn,lr).call(this,{type:"pause"})},onContinue:()=>{ae(this,Tn,lr).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),S(this,ui).promise),r=this.state.status==="pending";try{if(!r){ae(this,Tn,lr).call(this,{type:"pending",variables:t}),await((i=(o=S(this,jt).config).onMutate)==null?void 0:i.call(o,t,this));const N=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));N!==this.state.context&&ae(this,Tn,lr).call(this,{type:"pending",context:N,variables:t})}const L=await n();return await((u=(l=S(this,jt).config).onSuccess)==null?void 0:u.call(l,L,t,this.state.context,this)),await((f=(c=this.options).onSuccess)==null?void 0:f.call(c,L,t,this.state.context)),await((v=(p=S(this,jt).config).onSettled)==null?void 0:v.call(p,L,null,this.state.variables,this.state.context,this)),await((g=(C=this.options).onSettled)==null?void 0:g.call(C,L,null,t,this.state.context)),ae(this,Tn,lr).call(this,{type:"success",data:L}),L}catch(L){try{throw await((h=(x=S(this,jt).config).onError)==null?void 0:h.call(x,L,t,this.state.context,this)),await((y=(m=this.options).onError)==null?void 0:y.call(m,L,t,this.state.context)),await((R=(E=S(this,jt).config).onSettled)==null?void 0:R.call(E,void 0,L,this.state.variables,this.state.context,this)),await((k=(b=this.options).onSettled)==null?void 0:k.call(b,void 0,L,t,this.state.context)),L}finally{ae(this,Tn,lr).call(this,{type:"error",error:L})}}}},Ln=new WeakMap,Ha=new WeakMap,jt=new WeakMap,ui=new WeakMap,Tn=new WeakSet,lr=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!bu(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Je.batch(()=>{S(this,Ln).forEach(r=>{r.onMutationUpdate(t)}),S(this,jt).notify({mutation:this,type:"updated",action:t})})},i0);function Sv(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Yt,Ka,oo,a0,U7=(a0=class extends Mi{constructor(t={}){super();H(this,Yt,void 0);H(this,Ka,void 0);H(this,oo,void 0);this.config=t,z(this,Yt,[]),z(this,Ka,0)}build(t,n,r){const o=new z7({mutationCache:this,mutationId:++gs(this,Ka)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){S(this,Yt).push(t),this.notify({type:"added",mutation:t})}remove(t){z(this,Yt,S(this,Yt).filter(n=>n!==t)),this.notify({type:"removed",mutation:t})}clear(){Je.batch(()=>{S(this,Yt).forEach(t=>{this.remove(t)})})}getAll(){return S(this,Yt)}find(t){const n={exact:!0,...t};return S(this,Yt).find(r=>lh(n,r))}findAll(t={}){return S(this,Yt).filter(n=>lh(t,n))}notify(t){Je.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){return z(this,oo,(S(this,oo)??Promise.resolve()).then(()=>{const t=S(this,Yt).filter(n=>n.state.isPaused);return Je.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Xt)),Promise.resolve()))}).then(()=>{z(this,oo,void 0)})),S(this,oo)}},Yt=new WeakMap,Ka=new WeakMap,oo=new WeakMap,a0);function B7(e){return{onFetch:(t,n)=>{const r=async()=>{var C,g,x,h,m;const o=t.options,i=(x=(g=(C=t.fetchOptions)==null?void 0:C.meta)==null?void 0:g.fetchMore)==null?void 0:x.direction,a=((h=t.state.data)==null?void 0:h.pages)||[],s=((m=t.state.data)==null?void 0:m.pageParams)||[],l={pages:[],pageParams:[]};let u=!1;const c=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),p=async(y,E,R)=>{if(u)return Promise.reject();if(E==null&&y.pages.length)return Promise.resolve(y);const b={queryKey:t.queryKey,pageParam:E,direction:R?"backward":"forward",meta:t.options.meta};c(b);const k=await f(b),{maxPages:L}=t.options,N=R?_7:$7;return{pages:N(y.pages,k,L),pageParams:N(y.pageParams,E,L)}};let v;if(i&&a.length){const y=i==="backward",E=y?V7:dh,R={pages:a,pageParams:s},b=E(o,R);v=await p(R,b,y)}else{v=await p(l,s[0]??o.initialPageParam);const y=e??a.length;for(let E=1;E{var o,i;return(i=(o=t.options).persister)==null?void 0:i.call(o,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}function dh(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}function V7(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}var Xe,gr,yr,ci,di,wr,fi,pi,s0,W7=(s0=class{constructor(e={}){H(this,Xe,void 0);H(this,gr,void 0);H(this,yr,void 0);H(this,ci,void 0);H(this,di,void 0);H(this,wr,void 0);H(this,fi,void 0);H(this,pi,void 0);z(this,Xe,e.queryCache||new F7),z(this,gr,e.mutationCache||new U7),z(this,yr,e.defaultOptions||{}),z(this,ci,new Map),z(this,di,new Map),z(this,wr,0)}mount(){gs(this,wr)._++,S(this,wr)===1&&(z(this,fi,Vl.subscribe(()=>{Vl.isFocused()&&(this.resumePausedMutations(),S(this,Xe).onFocus())})),z(this,pi,Wl.subscribe(()=>{Wl.isOnline()&&(this.resumePausedMutations(),S(this,Xe).onOnline())})))}unmount(){var e,t;gs(this,wr)._--,S(this,wr)===0&&((e=S(this,fi))==null||e.call(this),z(this,fi,void 0),(t=S(this,pi))==null||t.call(this),z(this,pi,void 0))}isFetching(e){return S(this,Xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return S(this,gr).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);return t!==void 0?Promise.resolve(t):this.fetchQuery(e)}getQueriesData(e){return this.getQueryCache().findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=S(this,Xe).get(r.queryHash),i=o==null?void 0:o.state.data,a=T7(t,i);if(!(typeof a>"u"))return S(this,Xe).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Je.batch(()=>this.getQueryCache().findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=S(this,Xe);Je.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=S(this,Xe),r={type:"active",...e};return Je.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Je.batch(()=>S(this,Xe).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Xt).catch(Xt)}invalidateQueries(e={},t={}){return Je.batch(()=>{if(S(this,Xe).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Je.batch(()=>S(this,Xe).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Xt)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Xt)}fetchQuery(e){const t=this.defaultQueryOptions(e);typeof t.retry>"u"&&(t.retry=!1);const n=S(this,Xe).build(this,t);return n.isStaleByTime(t.staleTime)?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xt).catch(Xt)}fetchInfiniteQuery(e){return e.behavior=B7(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xt).catch(Xt)}resumePausedMutations(){return S(this,gr).resumePausedMutations()}getQueryCache(){return S(this,Xe)}getMutationCache(){return S(this,gr)}getDefaultOptions(){return S(this,yr)}setDefaultOptions(e){z(this,yr,e)}setQueryDefaults(e,t){S(this,ci).set(bo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...S(this,ci).values()];let n={};return t.forEach(r=>{Ua(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){S(this,di).set(bo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...S(this,di).values()];let n={};return t.forEach(r=>{Ua(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...S(this,yr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=u1(t.queryKey,t)),typeof t.refetchOnReconnect>"u"&&(t.refetchOnReconnect=t.networkMode!=="always"),typeof t.throwOnError>"u"&&(t.throwOnError=!!t.suspense),typeof t.networkMode>"u"&&t.persister&&(t.networkMode="offlineFirst"),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...S(this,yr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){S(this,Xe).clear(),S(this,gr).clear()}},Xe=new WeakMap,gr=new WeakMap,yr=new WeakMap,ci=new WeakMap,di=new WeakMap,wr=new WeakMap,fi=new WeakMap,pi=new WeakMap,s0),Lt,Te,Qa,xt,io,hi,Nn,Ga,mi,vi,ao,so,Cr,gi,lo,ra,Ya,Od,qa,Dd,Xa,Md,Za,jd,Ja,Ad,es,Id,ts,Fd,Xl,Rv,l0,H7=(l0=class extends Mi{constructor(t,n){super();H(this,lo);H(this,Ya);H(this,qa);H(this,Xa);H(this,Za);H(this,Ja);H(this,es);H(this,ts);H(this,Xl);H(this,Lt,void 0);H(this,Te,void 0);H(this,Qa,void 0);H(this,xt,void 0);H(this,io,void 0);H(this,hi,void 0);H(this,Nn,void 0);H(this,Ga,void 0);H(this,mi,void 0);H(this,vi,void 0);H(this,ao,void 0);H(this,so,void 0);H(this,Cr,void 0);H(this,gi,new Set);this.options=n,z(this,Lt,t),z(this,Nn,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(S(this,Te).addObserver(this),fh(S(this,Te),this.options)?ae(this,lo,ra).call(this):this.updateResult(),ae(this,Za,jd).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return zd(S(this,Te),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return zd(S(this,Te),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ae(this,Ja,Ad).call(this),ae(this,es,Id).call(this),S(this,Te).removeObserver(this)}setOptions(t,n){const r=this.options,o=S(this,Te);if(this.options=S(this,Lt).defaultQueryOptions(t),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");ae(this,ts,Fd).call(this),Bl(this.options,r)||S(this,Lt).getQueryCache().notify({type:"observerOptionsUpdated",query:S(this,Te),observer:this});const i=this.hasListeners();i&&ph(S(this,Te),o,this.options,r)&&ae(this,lo,ra).call(this),this.updateResult(n),i&&(S(this,Te)!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&ae(this,Ya,Od).call(this);const a=ae(this,qa,Dd).call(this);i&&(S(this,Te)!==o||this.options.enabled!==r.enabled||a!==S(this,Cr))&&ae(this,Xa,Md).call(this,a)}getOptimisticResult(t){const n=S(this,Lt).getQueryCache().build(S(this,Lt),t),r=this.createResult(n,t);return Q7(this,r)&&(z(this,xt,r),z(this,hi,this.options),z(this,io,S(this,Te).state)),r}getCurrentResult(){return S(this,xt)}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(S(this,gi).add(r),t[r])})}),n}getCurrentQuery(){return S(this,Te)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=S(this,Lt).defaultQueryOptions(t),r=S(this,Lt).getQueryCache().build(S(this,Lt),n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ae(this,lo,ra).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),S(this,xt)))}createResult(t,n){var b;const r=S(this,Te),o=this.options,i=S(this,xt),a=S(this,io),s=S(this,hi),u=t!==r?t.state:S(this,Qa),{state:c}=t;let{error:f,errorUpdatedAt:p,fetchStatus:v,status:C}=c,g=!1,x;if(n._optimisticResults){const k=this.hasListeners(),L=!k&&fh(t,n),N=k&&ph(t,r,n,o);(L||N)&&(v=bu(t.options.networkMode)?"fetching":"paused",c.dataUpdatedAt||(C="pending")),n._optimisticResults==="isRestoring"&&(v="idle")}if(n.select&&typeof c.data<"u")if(i&&c.data===(a==null?void 0:a.data)&&n.select===S(this,Ga))x=S(this,mi);else try{z(this,Ga,n.select),x=n.select(c.data),x=_d(i==null?void 0:i.data,x,n),z(this,mi,x),z(this,Nn,null)}catch(k){z(this,Nn,k)}else x=c.data;if(typeof n.placeholderData<"u"&&typeof x>"u"&&C==="pending"){let k;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))k=i.data;else if(k=typeof n.placeholderData=="function"?n.placeholderData((b=S(this,vi))==null?void 0:b.state.data,S(this,vi)):n.placeholderData,n.select&&typeof k<"u")try{k=n.select(k),z(this,Nn,null)}catch(L){z(this,Nn,L)}typeof k<"u"&&(C="success",x=_d(i==null?void 0:i.data,k,n),g=!0)}S(this,Nn)&&(f=S(this,Nn),x=S(this,mi),p=Date.now(),C="error");const h=v==="fetching",m=C==="pending",y=C==="error",E=m&&h;return{status:C,fetchStatus:v,isPending:m,isSuccess:C==="success",isError:y,isInitialLoading:E,isLoading:E,data:x,dataUpdatedAt:c.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:h,isRefetching:h&&!m,isLoadingError:y&&c.dataUpdatedAt===0,isPaused:v==="paused",isPlaceholderData:g,isRefetchError:y&&c.dataUpdatedAt!==0,isStale:c1(t,n),refetch:this.refetch}}updateResult(t){const n=S(this,xt),r=this.createResult(S(this,Te),this.options);if(z(this,io,S(this,Te).state),z(this,hi,this.options),S(this,io).data!==void 0&&z(this,vi,S(this,Te)),Bl(r,n))return;z(this,xt,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!S(this,gi).size)return!0;const l=new Set(s??S(this,gi));return this.options.throwOnError&&l.add("error"),Object.keys(S(this,xt)).some(u=>{const c=u;return S(this,xt)[c]!==n[c]&&l.has(c)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),ae(this,Xl,Rv).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ae(this,Za,jd).call(this)}},Lt=new WeakMap,Te=new WeakMap,Qa=new WeakMap,xt=new WeakMap,io=new WeakMap,hi=new WeakMap,Nn=new WeakMap,Ga=new WeakMap,mi=new WeakMap,vi=new WeakMap,ao=new WeakMap,so=new WeakMap,Cr=new WeakMap,gi=new WeakMap,lo=new WeakSet,ra=function(t){ae(this,ts,Fd).call(this);let n=S(this,Te).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Xt)),n},Ya=new WeakSet,Od=function(){if(ae(this,Ja,Ad).call(this),Li||S(this,xt).isStale||!Nd(this.options.staleTime))return;const n=wv(S(this,xt).dataUpdatedAt,this.options.staleTime)+1;z(this,ao,setTimeout(()=>{S(this,xt).isStale||this.updateResult()},n))},qa=new WeakSet,Dd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(S(this,Te)):this.options.refetchInterval)??!1},Xa=new WeakSet,Md=function(t){ae(this,es,Id).call(this),z(this,Cr,t),!(Li||this.options.enabled===!1||!Nd(S(this,Cr))||S(this,Cr)===0)&&z(this,so,setInterval(()=>{(this.options.refetchIntervalInBackground||Vl.isFocused())&&ae(this,lo,ra).call(this)},S(this,Cr)))},Za=new WeakSet,jd=function(){ae(this,Ya,Od).call(this),ae(this,Xa,Md).call(this,ae(this,qa,Dd).call(this))},Ja=new WeakSet,Ad=function(){S(this,ao)&&(clearTimeout(S(this,ao)),z(this,ao,void 0))},es=new WeakSet,Id=function(){S(this,so)&&(clearInterval(S(this,so)),z(this,so,void 0))},ts=new WeakSet,Fd=function(){const t=S(this,Lt).getQueryCache().build(S(this,Lt),this.options);if(t===S(this,Te))return;const n=S(this,Te);z(this,Te,t),z(this,Qa,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},Xl=new WeakSet,Rv=function(t){Je.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(S(this,xt))}),S(this,Lt).getQueryCache().notify({query:S(this,Te),type:"observerResultsUpdated"})})},l0);function K7(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function fh(e,t){return K7(e,t)||e.state.dataUpdatedAt>0&&zd(e,t,t.refetchOnMount)}function zd(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&c1(e,t)}return!1}function ph(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&c1(e,n)}function c1(e,t){return e.isStaleByTime(t.staleTime)}function Q7(e,t){return!Bl(e.getCurrentResult(),t)}var xr,br,At,Vn,yi,ll,ns,Ud,u0,G7=(u0=class extends Mi{constructor(n,r){super();H(this,yi);H(this,ns);H(this,xr,void 0);H(this,br,void 0);H(this,At,void 0);H(this,Vn,void 0);z(this,xr,n),this.setOptions(r),this.bindMethods(),ae(this,yi,ll).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=S(this,xr).defaultMutationOptions(n),Bl(this.options,r)||S(this,xr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:S(this,At),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&bo(r.mutationKey)!==bo(this.options.mutationKey)?this.reset():(o=S(this,At))==null||o.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=S(this,At))==null||n.removeObserver(this)}onMutationUpdate(n){ae(this,yi,ll).call(this),ae(this,ns,Ud).call(this,n)}getCurrentResult(){return S(this,br)}reset(){var n;(n=S(this,At))==null||n.removeObserver(this),z(this,At,void 0),ae(this,yi,ll).call(this),ae(this,ns,Ud).call(this)}mutate(n,r){var o;return z(this,Vn,r),(o=S(this,At))==null||o.removeObserver(this),z(this,At,S(this,xr).getMutationCache().build(S(this,xr),this.options)),S(this,At).addObserver(this),S(this,At).execute(n)}},xr=new WeakMap,br=new WeakMap,At=new WeakMap,Vn=new WeakMap,yi=new WeakSet,ll=function(){var r;const n=((r=S(this,At))==null?void 0:r.state)??Sv();z(this,br,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},ns=new WeakSet,Ud=function(n){Je.batch(()=>{var r,o,i,a,s,l,u,c;if(S(this,Vn)&&this.hasListeners()){const f=S(this,br).variables,p=S(this,br).context;(n==null?void 0:n.type)==="success"?((o=(r=S(this,Vn)).onSuccess)==null||o.call(r,n.data,f,p),(a=(i=S(this,Vn)).onSettled)==null||a.call(i,n.data,null,f,p)):(n==null?void 0:n.type)==="error"&&((l=(s=S(this,Vn)).onError)==null||l.call(s,n.error,f,p),(c=(u=S(this,Vn)).onSettled)==null||c.call(u,void 0,n.error,f,p))}this.listeners.forEach(f=>{f(S(this,br))})})},u0),Pv=d.createContext(void 0),ps=e=>{const t=d.useContext(Pv);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Y7=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),w.jsx(Pv.Provider,{value:e,children:t})),kv=d.createContext(!1),q7=()=>d.useContext(kv);kv.Provider;function X7(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Z7=d.createContext(X7()),J7=()=>d.useContext(Z7);function Lv(e,t){return typeof e=="function"?e(...t):!!e}var e9=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},t9=e=>{d.useEffect(()=>{e.clearReset()},[e])},n9=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&Lv(n,[e.error,r]),r9=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},o9=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,i9=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function a9(e,t,n){const r=ps(n),o=q7(),i=J7(),a=r.defaultQueryOptions(e);a._optimisticResults=o?"isRestoring":"optimistic",r9(a),e9(a,i),t9(i);const[s]=d.useState(()=>new t(r,a)),l=s.getOptimisticResult(a);if(d.useSyncExternalStore(d.useCallback(u=>{const c=o?()=>{}:s.subscribe(Je.batchCalls(u));return s.updateResult(),c},[s,o]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),d.useEffect(()=>{s.setOptions(a,{listeners:!1})},[a,s]),o9(a,l))throw i9(a,s,i);if(n9({result:l,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw l.error;return a.notifyOnChangeProps?l:s.trackResult(l)}function Tv(e,t){return a9(e,H7,t)}function Dr(e,t){const n=ps(t),[r]=d.useState(()=>new G7(n,e));d.useEffect(()=>{r.setOptions(e)},[r,e]);const o=d.useSyncExternalStore(d.useCallback(a=>r.subscribe(Je.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=d.useCallback((a,s)=>{r.mutate(a,s).catch(s9)},[r]);if(o.error&&Lv(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}function s9(){}const vt=0,Oe=1,l9=2,u9=0,Bd=1;function c9(e,t,n){let r=e.list,o;for(;r;){if(r.index===n)return!1;if(t>r.high)break;o=r,r=r.next}return o||(e.list={index:n,high:t,next:r}),o&&(o.next={index:n,high:t,next:o.next}),!0}function d9(e,t){let n=e.list;if(n.index===t)return n.next===null?u9:(e.list=n.next,Bd);let r=n;for(n=n.next;n!==null;){if(n.index===t)return r.next=n.next,Bd;r=n,n=n.next}}const ye={low:0,max:0,high:0,C:l9,P:void 0,R:void 0,L:void 0,list:void 0};ye.P=ye;ye.L=ye;ye.R=ye;function Mr(e){const t=e.high;e.L===ye&&e.R===ye?e.max=t:e.L===ye?e.max=Math.max(e.R.max,t):e.R===ye?e.max=Math.max(e.L.max,t):e.max=Math.max(Math.max(e.L.max,e.R.max),t)}function As(e){let t=e;for(;t.P!==ye;)Mr(t.P),t=t.P}function ma(e,t){if(t.R===ye)return;const n=t.R;t.R=n.L,n.L!==ye&&(n.L.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.L=t,t.P=n,Mr(t),Mr(n)}function va(e,t){if(t.L===ye)return;const n=t.L;t.L=n.R,n.R!==ye&&(n.R.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.R?t.P.R=n:t.P.L=n,n.R=t,t.P=n,Mr(t),Mr(n)}function Is(e,t,n){t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.P=t.P}function f9(e,t){let n;for(;t!==ye&&t.C===Oe;)t===t.P.L?(n=t.P.R,n.C===vt&&(n.C=Oe,t.P.C=vt,ma(e,t.P),n=t.P.R),n.L.C===Oe&&n.R.C===Oe?(n.C=vt,t=t.P):(n.R.C===Oe&&(n.L.C=Oe,n.C=vt,va(e,n),n=t.P.R),n.C=t.P.C,t.P.C=Oe,n.R.C=Oe,ma(e,t.P),t=e.root)):(n=t.P.L,n.C===vt&&(n.C=Oe,t.P.C=vt,va(e,t.P),n=t.P.L),n.R.C===Oe&&n.L.C===Oe?(n.C=vt,t=t.P):(n.L.C===Oe&&(n.R.C=Oe,n.C=vt,ma(e,n),n=t.P.L),n.C=t.P.C,t.P.C=Oe,n.L.C=Oe,va(e,t.P),t=e.root));t.C=Oe}function p9(e){for(;e.L!==ye;)e=e.L;return e}function h9(e,t){let n;for(;t.P.C===vt;)t.P===t.P.P.L?(n=t.P.P.R,n.C===vt?(t.P.C=Oe,n.C=Oe,t.P.P.C=vt,t=t.P.P):(t===t.P.R&&(t=t.P,ma(e,t)),t.P.C=Oe,t.P.P.C=vt,va(e,t.P.P))):(n=t.P.P.L,n.C===vt?(t.P.C=Oe,n.C=Oe,t.P.P.C=vt,t=t.P.P):(t===t.P.L&&(t=t.P,va(e,t)),t.P.C=Oe,t.P.P.C=vt,ma(e,t.P.P)));e.root.C=Oe}function m9(){const e={root:ye,size:0},t={};return{insert(n,r,o){let i=e.root,a=ye;for(;i!==ye&&(a=i,n!==a.low);)na.max)&&(a.L!==ye&&i.push(a.L),a.R!==ye&&i.push(a.R),a.low<=r&&a.high>=n)){let s=a.list;for(;s!==null;)s.high>=n&&o(s.index,a.low),s=s.next}}},get size(){return e.size}}}const Eu=e=>{const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),t},v9=(e,t=100,n=!1)=>{const r=Eu(e),o=d.useRef(),i=[t,n,r];function a(){o.current&&clearTimeout(o.current),o.current=void 0}d.useEffect(()=>a,i);function s(){o.current=void 0}return d.useCallback(function(){const l=arguments,{current:u}=o;if(u===void 0&&n)return o.current=setTimeout(s,t),r.current.apply(null,l);u&&clearTimeout(u),o.current=setTimeout(()=>{o.current=void 0,r.current.apply(null,l)},t)},i)},g9=(e,t,n)=>{const r=d.useState(e);return[r[0],v9(r[1],t,n)]};function ga(e,t,n,r){const o=d.useRef(n),i=d.useRef(r);d.useEffect(()=>{o.current=n,i.current=r}),d.useEffect(()=>{const a=e&&"current"in e?e.current:e;if(!a)return;let s=0;function l(...c){s||o.current.apply(this,c)}a.addEventListener(t,l);const u=i.current;return()=>{s=1,a.removeEventListener(t,l),u&&u()}},[e,t])}const y9={},ya=typeof window>"u"?null:window,w9=ya&&typeof ya.visualViewport<"u"?ya.visualViewport:null,hh=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],C9=function(e){e===void 0&&(e=y9);const{wait:t,leading:n,initialWidth:r=0,initialHeight:o=0}=e,[i,a]=g9(typeof document>"u"?[r,o]:hh,t,n),s=()=>a(hh);return ga(ya,"resize",s),ga(w9,"resize",s),ga(ya,"orientationchange",s),i},Su=(e,t)=>{const n=t||x9;let r,o;return function(){return r&&n(arguments,r)?o:o=e.apply(null,r=arguments)}},x9=(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3];class b9{constructor(){this.set=void 0,this.get=void 0;let t,n;this.get=r=>r===t?n:void 0,this.set=(r,o)=>{t=r,n=o}}}const mh=b9,fc=e=>{try{return new e}catch{const n={};return{set(r,o){n[r]=o},get(r){return n[r]}}}},E9=e=>{const t=e.length,n=fc(e[0]);let r,o,i,a;const s=t===1,l=p=>(r=n.get(p[0]))===void 0||s?r:r.get(p[1]),u=(p,v)=>(s?n.set(p[0],v):(r=n.get(p[0]))===void 0?(o=fc(e[1]),o.set(p[1],v),n.set(p[0],o)):r.set(p[1],v),v),c=p=>{for(a=n,i=0;i{for(a=n,i=0;i{let n;const{g:r,s:o}=E9(e);return function(){return(n=r(arguments))===void 0?o(arguments,t.apply(null,arguments)):n}},Vd=new WeakMap;function $v(){const e=d.useState(S9)[1];return d.useRef(()=>e({})).current}const S9={},ul=d.createElement;function R9(e){let{positioner:t,resizeObserver:n,items:r,as:o="div",id:i,className:a,style:s,role:l="grid",tabIndex:u=0,containerRef:c,itemAs:f="div",itemStyle:p,itemHeightEstimate:v=300,itemKey:C=L9,overscanBy:g=2,scrollTop:x,isScrolling:h,height:m,render:y,onRender:E}=e,R=0,b;const k=$v(),L=N9(t,n),N=r.length,{columnWidth:j,columnCount:K,range:V,estimateHeight:le,size:q,shortestColumn:U}=t,ue=q(),J=U(),_=[],M=l==="list"?"listitem":l==="grid"?"gridcell":void 0,W=Eu(E);g=m*g;const F=x+g,G=J{const He=r[ee],wt=C(He,ee),Wt={top:te,left:me,width:j,writingMode:"horizontal-tb",position:"absolute"};typeof process<"u",_.push(ul(f,{key:wt,ref:L(ee),role:M,style:typeof p=="object"&&p!==null?Object.assign({},Wt,p):Wt},gh(y,ee,He,j))),b===void 0?(R=ee,b=ee):(R=Math.min(R,ee),b=Math.max(b,ee))}),G){const ee=Math.min(N-ue,Math.ceil((x+g-J)/v*K));let me=ue;const te=T9(j);for(;me{typeof W.current=="function"&&b!==void 0&&W.current(R,b,r),vh="1"},[R,b,r,W]),d.useEffect(()=>{G&&k()},[G,t]);const oe=P9(h,le(N,v));return ul(o,{ref:c,key:vh,id:i,role:l,className:a,tabIndex:u,style:typeof s=="object"?k9(oe,s):oe,children:_})}let vh="0";const gh=Nv([mh,{},WeakMap,mh],(e,t,n,r)=>ul(e,{index:t,data:n,width:r})),P9=Su((e,t)=>({position:"relative",width:"100%",maxWidth:"100%",height:Math.ceil(t),maxHeight:Math.ceil(t),willChange:e?"contents":void 0,pointerEvents:e?"none":void 0})),_v=(e,t)=>e[0]===t[0]&&e[1]===t[1],k9=Su((e,t)=>Object.assign({},e,t),_v);function L9(e,t){return t}const T9=Su(e=>({width:e,zIndex:-1e3,visibility:"hidden",position:"absolute",writingMode:"horizontal-tb"}),(e,t)=>e[0]===t[0]),N9=Su((e,t)=>n=>r=>{r!==null&&(t&&(t.observe(r),Vd.set(r,n)),e.get(n)===void 0&&e.set(n,r.offsetHeight))},_v);let Ov="undefined",ei=typeof window!==Ov?window:{},$9=typeof performance!==Ov?performance:Date,Wd=()=>$9.now(),Dv="AnimationFrame",yh="cancel"+Dv,wh="request"+Dv,Hl=ei[wh]&&ei[wh].bind(ei),Hd=ei[yh]&&ei[yh].bind(ei);function _9(e){return clearTimeout(e)}if(!Hl||!Hd){let e=0;Hl=t=>{let n=Wd(),r=Math.max(e+1e3/60,n);return setTimeout(()=>{t(e=r)},r-n)},Hd=_9}const O9=e=>{Hd(e.v||-1)},D9=(e,t)=>{const n=Wd(),r={},o=()=>{Wd()-n>=t?e.call(null):r.v=Hl(o)};return r.v=Hl(o),r},M9=typeof performance<"u"?performance:Date,j9=()=>M9.now();function Mv(e,t=30,n=!1){const r=Eu(e),o=1e3/t,i=d.useRef(0),a=d.useRef(),s=()=>a.current&&clearTimeout(a.current),l=[t,n,r];function u(){i.current=0,s()}return d.useEffect(()=>u,l),d.useCallback(function(){const c=arguments,f=j9(),p=()=>{i.current=f,s(),r.current.apply(null,c)},v=i.current;if(n&&v===0)return p();if(f-v>o){if(v>0)return p();i.current=f}s(),a.current=setTimeout(()=>{p(),i.current=0},o)},l)}function A9(e,t,n){const r=d.useState(e);return[r[0],Mv(r[1],t,n)]}const oa=typeof window>"u"?null:window,Ch=()=>oa.scrollY!==void 0?oa.scrollY:oa.pageYOffset===void 0?0:oa.pageYOffset,I9=(e=30)=>{const t=A9(typeof window>"u"?0:Ch,e,!0);return ga(oa,"scroll",()=>t[1](Ch())),t[0]};function F9(e,t){e===void 0&&(e=0),t===void 0&&(t=12);const n=I9(t),[r,o]=d.useState(!1),i=d.useRef(0);return d.useEffect(()=>{i.current===1&&o(!0);let a=!1;const s=D9(()=>{a||o(!1)},40+1e3/t);return i.current=1,()=>{a=!0,O9(s)}},[t,n]),{scrollTop:Math.max(0,n-e),isScrolling:r}}function z9(e){const{scrollTop:t,isScrolling:n}=F9(e.offset,e.scrollFps);return R9({scrollTop:t,isScrolling:n,positioner:e.positioner,resizeObserver:e.resizeObserver,items:e.items,onRender:e.onRender,as:e.as,id:e.id,className:e.className,style:e.style,role:e.role,tabIndex:e.tabIndex,containerRef:e.containerRef,itemAs:e.itemAs,itemStyle:e.itemStyle,itemHeightEstimate:e.itemHeightEstimate,itemKey:e.itemKey,overscanBy:e.overscanBy,height:e.height,render:e.render})}const U9=O[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"];function B9(e,t){t===void 0&&(t=V9);const[n,r]=d.useState({offset:0,width:0});return U9(()=>{const{current:o}=e;if(o!==null){let i=0,a=o;do i+=a.offsetTop||0,a=a.offsetParent;while(a);(i!==n.offset||o.offsetWidth!==n.width)&&r({offset:i,width:o.offsetWidth})}},t),n}const V9=[];function W9(e,t){let{width:n,columnWidth:r=200,columnGutter:o=0,rowGutter:i,columnCount:a,maxColumnCount:s}=e;t===void 0&&(t=G9);const l=()=>{const[C,g]=Q9(n,r,o,a,s);return H9(g,C,o,i??o)},u=d.useRef();u.current===void 0&&(u.current=l());const c=d.useRef(t),f=[n,r,o,i,a,s],p=d.useRef(f),v=!f.every((C,g)=>p.current[g]===C);if(typeof process<"u",v||!t.every((C,g)=>c.current[g]===C)){const C=u.current,g=l();if(c.current=t,p.current=f,v){const x=C.size();for(let h=0;ha[l],update:l=>{const u=new Array(e);let c=0,f=0;for(;co.search(l,u,(f,p)=>c(f,a[f].left,p)),estimateHeight:(l,u)=>{const c=Math.max(0,Math.max.apply(null,i));return l===o.size?c:c+Math.ceil((l-o.size)/e)*u},shortestColumn:()=>i.length>1?Math.min.apply(null,i):i[0]||0,size(){return o.size},all(){return a}}},K9=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){const o=n+r>>>1,i=e[o];if(i===t)return o;i<=t?n=o+1:r=o-1}return-1},Q9=function(e,t,n,r,o){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=8),r=r||Math.min(Math.floor((e+n)/(t+n)),o||1/0)||1,[Math.floor((e-n*(r-1))/r),r]},G9=[];var fo=[],Y9=function(){return fo.some(function(e){return e.activeTargets.length>0})},q9=function(){return fo.some(function(e){return e.skippedTargets.length>0})},xh="ResizeObserver loop completed with undelivered notifications.",X9=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:xh}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=xh),window.dispatchEvent(e)},Ba;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Ba||(Ba={}));var po=function(e){return Object.freeze(e)},Z9=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,po(this)}return e}(),jv=function(){function e(t,n,r,o){return this.x=t,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,po(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,r=t.y,o=t.top,i=t.right,a=t.bottom,s=t.left,l=t.width,u=t.height;return{x:n,y:r,top:o,right:i,bottom:a,left:s,width:l,height:u}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),d1=function(e){return e instanceof SVGElement&&"getBBox"in e},Av=function(e){if(d1(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,a=o.offsetHeight;return!(i||a||e.getClientRects().length)},bh=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},J9=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},wa=typeof window<"u"?window:{},Fs=new WeakMap,Eh=/auto|scroll/,e6=/^tb|vertical/,t6=/msie|trident/i.test(wa.navigator&&wa.navigator.userAgent),Sn=function(e){return parseFloat(e||"0")},ti=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new Z9((n?t:e)||0,(n?e:t)||0)},Sh=po({devicePixelContentBoxSize:ti(),borderBoxSize:ti(),contentBoxSize:ti(),contentRect:new jv(0,0,0,0)}),Iv=function(e,t){if(t===void 0&&(t=!1),Fs.has(e)&&!t)return Fs.get(e);if(Av(e))return Fs.set(e,Sh),Sh;var n=getComputedStyle(e),r=d1(e)&&e.ownerSVGElement&&e.getBBox(),o=!t6&&n.boxSizing==="border-box",i=e6.test(n.writingMode||""),a=!r&&Eh.test(n.overflowY||""),s=!r&&Eh.test(n.overflowX||""),l=r?0:Sn(n.paddingTop),u=r?0:Sn(n.paddingRight),c=r?0:Sn(n.paddingBottom),f=r?0:Sn(n.paddingLeft),p=r?0:Sn(n.borderTopWidth),v=r?0:Sn(n.borderRightWidth),C=r?0:Sn(n.borderBottomWidth),g=r?0:Sn(n.borderLeftWidth),x=f+u,h=l+c,m=g+v,y=p+C,E=s?e.offsetHeight-y-e.clientHeight:0,R=a?e.offsetWidth-m-e.clientWidth:0,b=o?x+m:0,k=o?h+y:0,L=r?r.width:Sn(n.width)-b-R,N=r?r.height:Sn(n.height)-k-E,j=L+x+R+m,K=N+h+E+y,V=po({devicePixelContentBoxSize:ti(Math.round(L*devicePixelRatio),Math.round(N*devicePixelRatio),i),borderBoxSize:ti(j,K,i),contentBoxSize:ti(L,N,i),contentRect:new jv(f,l,L,N)});return Fs.set(e,V),V},Fv=function(e,t,n){var r=Iv(e,n),o=r.borderBoxSize,i=r.contentBoxSize,a=r.devicePixelContentBoxSize;switch(t){case Ba.DEVICE_PIXEL_CONTENT_BOX:return a;case Ba.BORDER_BOX:return o;default:return i}},n6=function(){function e(t){var n=Iv(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=po([n.borderBoxSize]),this.contentBoxSize=po([n.contentBoxSize]),this.devicePixelContentBoxSize=po([n.devicePixelContentBoxSize])}return e}(),zv=function(e){if(Av(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},r6=function(){var e=1/0,t=[];fo.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(u){var c=new n6(u.target),f=zv(u.target);s.push(c),u.lastReportedSize=Fv(u.target,u.observedBox),fe?n.activeTargets.push(o):n.skippedTargets.push(o))})})},o6=function(){var e=0;for(Rh(e);Y9();)e=r6(),Rh(e);return q9()&&X9(),e>0},pc,Uv=[],i6=function(){return Uv.splice(0).forEach(function(e){return e()})},a6=function(e){if(!pc){var t=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return i6()}).observe(n,r),pc=function(){n.textContent="".concat(t?t--:t++)}}Uv.push(e),pc()},s6=function(e){a6(function(){requestAnimationFrame(e)})},cl=0,l6=function(){return!!cl},u6=250,c6={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ph=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],kh=function(e){return e===void 0&&(e=0),Date.now()+e},hc=!1,d6=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=u6),!hc){hc=!0;var r=kh(t);s6(function(){var o=!1;try{o=o6()}finally{if(hc=!1,t=r-kh(),!l6())return;o?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,c6)};document.body?n():wa.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ph.forEach(function(n){return wa.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),Ph.forEach(function(n){return wa.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),Kd=new d6,Lh=function(e){!cl&&e>0&&Kd.start(),cl+=e,!cl&&Kd.stop()},f6=function(e){return!d1(e)&&!J9(e)&&getComputedStyle(e).display==="inline"},p6=function(){function e(t,n){this.target=t,this.observedBox=n||Ba.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=Fv(this.target,this.observedBox,!0);return f6(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),h6=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),zs=new WeakMap,Th=function(e,t){for(var n=0;n=0&&(i&&fo.splice(fo.indexOf(r),1),r.observationTargets.splice(o,1),Lh(-1))},e.disconnect=function(t){var n=this,r=zs.get(t);r.observationTargets.slice().forEach(function(o){return n.unobserve(t,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},e}(),m6=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Us.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!bh(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Us.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!bh(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Us.unobserve(this,t)},e.prototype.disconnect=function(){Us.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),Nh=function(t){var n=[],r=null,o=function(){for(var a=arguments.length,s=new Array(a),l=0;lr,[n]),n}function y6(e){e.cancel()}const w6=Nv([WeakMap],(e,t)=>{const n=[],r=Nh(()=>{n.length>0&&(e.update(n),t(n)),n.length=0}),o=u=>{const c=u.offsetHeight;if(c>0){const f=Vd.get(u);if(f!==void 0){const p=e.get(f);p!==void 0&&c!==p.height&&n.push(f,c)}}r()},i=new Map,a=u=>{let c=0;for(;c{l(),i.forEach(y6)},s});function C6(e,t){var n;const{align:r="top",element:o=typeof window<"u"&&window,offset:i=0,height:a=typeof window<"u"?window.innerHeight:0}=t,s=Eu({positioner:e,element:o,align:r,offset:i,height:a}),l=d.useRef(()=>{const v=s.current.element;return v&&"current"in v?v.current:v}).current,[u,c]=d.useReducer((v,C)=>{const g={position:v.position,index:v.index,prevTop:v.prevTop};if(C.type==="scrollToIndex"){var x;return{position:s.current.positioner.get((x=C.value)!==null&&x!==void 0?x:-1),index:C.value,prevTop:void 0}}else if(C.type==="setPosition")g.position=C.value;else if(C.type==="setPrevTop")g.prevTop=C.value;else if(C.type==="reset")return $h;return g},$h),f=Mv(c,15);ga(l(),"scroll",()=>{if(!u.position&&u.index){const v=s.current.positioner.get(u.index);v&&c({type:"setPosition",value:v})}});const p=u.index!==void 0&&((n=s.current.positioner.get(u.index))===null||n===void 0?void 0:n.top);return d.useEffect(()=>{const v=l();if(!v)return;const{height:C,align:g,offset:x,positioner:h}=s.current;if(u.position){let m=u.position.top;g==="bottom"?m=m-C+u.position.height:g==="center"&&(m-=(C-u.position.height)/2),v.scrollTo(0,Math.max(0,m+=x));let y=!1;const E=setTimeout(()=>!y&&c({type:"reset"}),400);return()=>{y=!0,clearTimeout(E)}}else if(u.index!==void 0){let m=h.shortestColumn()/h.size()*u.index;u.prevTop&&(m=Math.max(m,u.prevTop+C)),v.scrollTo(0,m),f({type:"setPrevTop",value:m})}},[p,u,s,l,f]),d.useRef(v=>{c({type:"scrollToIndex",value:v})}).current}const $h={index:void 0,position:void 0,prevTop:void 0},x6=d.createElement;function Bv(e){const t=d.useRef(null),n=C9({initialWidth:e.ssrWidth,initialHeight:e.ssrHeight}),r=B9(t,n),o=Object.assign({offset:r.offset,width:r.width||n[0],height:n[1],containerRef:t},e);o.positioner=W9(o),o.resizeObserver=g6(o.positioner);const i=C6(o.positioner,{height:o.height,offset:r.offset,align:typeof e.scrollToIndex=="object"?e.scrollToIndex.align:void 0}),a=e.scrollToIndex&&(typeof e.scrollToIndex=="number"?e.scrollToIndex:e.scrollToIndex.index);return d.useEffect(()=>{a!==void 0&&i(a)},[a,i]),x6(z9,o)}const f1=wu("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Et=d.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const a=r?ki:"button";return w.jsx(a,{className:we(f1({variant:t,size:n,className:e})),ref:i,...o})});Et.displayName="Button";const mc="focusScope.autoFocusOnMount",vc="focusScope.autoFocusOnUnmount",_h={bubbles:!1,cancelable:!0},b6=d.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[s,l]=d.useState(null),u=Nt(o),c=Nt(i),f=d.useRef(null),p=Rt(t,g=>l(g)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(r){let m=function(b){if(v.paused||!s)return;const k=b.target;s.contains(k)?f.current=k:ur(f.current,{select:!0})},y=function(b){if(v.paused||!s)return;const k=b.relatedTarget;k!==null&&(s.contains(k)||ur(f.current,{select:!0}))},E=function(b){if(document.activeElement===document.body)for(const L of b)L.removedNodes.length>0&&ur(s)};var g=m,x=y,h=E;document.addEventListener("focusin",m),document.addEventListener("focusout",y);const R=new MutationObserver(E);return s&&R.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",y),R.disconnect()}}},[r,s,v.paused]),d.useEffect(()=>{if(s){Dh.add(v);const g=document.activeElement;if(!s.contains(g)){const h=new CustomEvent(mc,_h);s.addEventListener(mc,u),s.dispatchEvent(h),h.defaultPrevented||(E6(L6(Vv(s)),{select:!0}),document.activeElement===g&&ur(s))}return()=>{s.removeEventListener(mc,u),setTimeout(()=>{const h=new CustomEvent(vc,_h);s.addEventListener(vc,c),s.dispatchEvent(h),h.defaultPrevented||ur(g??document.body,{select:!0}),s.removeEventListener(vc,c),Dh.remove(v)},0)}}},[s,u,c,v]);const C=d.useCallback(g=>{if(!n&&!r||v.paused)return;const x=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,h=document.activeElement;if(x&&h){const m=g.currentTarget,[y,E]=S6(m);y&&E?!g.shiftKey&&h===E?(g.preventDefault(),n&&ur(y,{select:!0})):g.shiftKey&&h===y&&(g.preventDefault(),n&&ur(E,{select:!0})):h===m&&g.preventDefault()}},[n,r,v.paused]);return d.createElement(Ue.div,re({tabIndex:-1},a,{ref:p,onKeyDown:C}))});function E6(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(ur(r,{select:t}),document.activeElement!==n)return}function S6(e){const t=Vv(e),n=Oh(t,e),r=Oh(t.reverse(),e);return[n,r]}function Vv(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Oh(e,t){for(const n of e)if(!R6(n,{upTo:t}))return n}function R6(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function P6(e){return e instanceof HTMLInputElement&&"select"in e}function ur(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&P6(e)&&t&&e.select()}}const Dh=k6();function k6(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Mh(e,t),e.unshift(t)},remove(t){var n;e=Mh(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Mh(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function L6(e){return e.filter(t=>t.tagName!=="A")}const T6=d.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?hu.createPortal(d.createElement(Ue.div,re({},o,{ref:t})),r):null});let gc=0;function N6(){d.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:jh()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:jh()),gc++,()=>{gc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),gc--}},[])}function jh(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var _n=function(){return _n=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]0)&&!(o=r.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}function Qd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r"u")return H6;var t=K6(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},G6=Qv(),Kl="data-scroll-locked",Y6=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` .`.concat($6,` { overflow: hidden `).concat(r,`; padding-right: `).concat(s,"px ").concat(r,`; @@ -169,9 +169,9 @@ Error generating stack: `+i.message+` In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function gC(e){if(Array.isArray(e))return Zd(e)}function Hh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Kh(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,Qh(n)];if(e.sizen)return[!1,Qh(n)]}return[!0,null]}function Gr(e){return e!=null}function kC(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles,s=e.validator;return!i&&t.length>1||i&&a>=1&&t.length>a?!1:t.every(function(l){var u=_g(l,n),c=Va(u,1),f=c[0],p=Og(l,r,o),v=Va(p,1),C=v[0],g=s?s(l):null;return f&&C&&!g})}function Yl(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Ks(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function Yh(e){e.preventDefault()}function LC(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function TC(e){return e.indexOf("Edge/")!==-1}function NC(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return LC(e)||TC(e)}function Rn(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function QC(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var w1=d.forwardRef(function(e,t){var n=e.children,r=ql(e,jC),o=Ig(r),i=o.open,a=ql(o,AC);return d.useImperativeHandle(t,function(){return{open:i}},[i]),O.createElement(d.Fragment,null,n(Ae(Ae({},a),{},{open:i})))});w1.displayName="Dropzone";var Ag={disabled:!1,getFilesFromEvent:iC,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};w1.defaultProps=Ag;w1.propTypes={children:Ee.func,accept:Ee.objectOf(Ee.arrayOf(Ee.string)),multiple:Ee.bool,preventDropOnDocument:Ee.bool,noClick:Ee.bool,noKeyboard:Ee.bool,noDrag:Ee.bool,noDragEventsBubbling:Ee.bool,minSize:Ee.number,maxSize:Ee.number,maxFiles:Ee.number,disabled:Ee.bool,getFilesFromEvent:Ee.func,onFileDialogCancel:Ee.func,onFileDialogOpen:Ee.func,useFsAccessApi:Ee.bool,autoFocus:Ee.bool,onDragEnter:Ee.func,onDragLeave:Ee.func,onDragOver:Ee.func,onDrop:Ee.func,onDropAccepted:Ee.func,onDropRejected:Ee.func,onError:Ee.func,validator:Ee.func};var tf={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Ig(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Ae(Ae({},Ag),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,c=t.onDragLeave,f=t.onDragOver,p=t.onDrop,v=t.onDropAccepted,C=t.onDropRejected,g=t.onFileDialogCancel,x=t.onFileDialogOpen,h=t.useFsAccessApi,m=t.autoFocus,y=t.preventDropOnDocument,E=t.noClick,R=t.noKeyboard,b=t.noDrag,k=t.noDragEventsBubbling,L=t.onError,N=t.validator,j=d.useMemo(function(){return OC(n)},[n]),K=d.useMemo(function(){return _C(n)},[n]),V=d.useMemo(function(){return typeof x=="function"?x:Xh},[x]),le=d.useMemo(function(){return typeof g=="function"?g:Xh},[g]),q=d.useRef(null),U=d.useRef(null),ue=d.useReducer(GC,tf),Z=bc(ue,2),_=Z[0],M=Z[1],W=_.isFocused,F=_.isFileDialogActive,G=d.useRef(typeof window<"u"&&window.isSecureContext&&h&&$C()),oe=function(){!G.current&&F&&setTimeout(function(){if(U.current){var Q=U.current.files;Q.length||(M({type:"closeDialog"}),le())}},300)};d.useEffect(function(){return window.addEventListener("focus",oe,!1),function(){window.removeEventListener("focus",oe,!1)}},[U,F,le,G]);var ee=d.useRef([]),me=function(Q){q.current&&q.current.contains(Q.target)||(Q.preventDefault(),ee.current=[])};d.useEffect(function(){return y&&(document.addEventListener("dragover",Yh,!1),document.addEventListener("drop",me,!1)),function(){y&&(document.removeEventListener("dragover",Yh),document.removeEventListener("drop",me))}},[q,y]),d.useEffect(function(){return!r&&m&&q.current&&q.current.focus(),function(){}},[q,m,r]);var te=d.useCallback(function(A){L?L(A):console.error(A)},[L]),He=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A),ee.current=[].concat(zC(ee.current),[A.target]),Ks(A)&&Promise.resolve(o(A)).then(function(Q){if(!(Yl(A)&&!k)){var Se=Q.length,$e=Se>0&&kC({files:Q,accept:j,minSize:a,maxSize:i,multiple:s,maxFiles:l,validator:N}),tt=Se>0&&!$e;M({isDragAccept:$e,isDragReject:tt,isDragActive:!0,type:"setDraggedFiles"}),u&&u(A)}}).catch(function(Q){return te(Q)})},[o,u,te,k,j,a,i,s,l,N]),wt=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A);var Q=Ks(A);if(Q&&A.dataTransfer)try{A.dataTransfer.dropEffect="copy"}catch{}return Q&&f&&f(A),!1},[f,k]),Wt=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A);var Q=ee.current.filter(function($e){return q.current&&q.current.contains($e)}),Se=Q.indexOf(A.target);Se!==-1&&Q.splice(Se,1),ee.current=Q,!(Q.length>0)&&(M({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Ks(A)&&c&&c(A))},[q,c,k]),Mt=d.useCallback(function(A,Q){var Se=[],$e=[];A.forEach(function(tt){var lt=_g(tt,j),sn=bc(lt,2),xn=sn[0],Ct=sn[1],Wr=Og(tt,a,i),J=bc(Wr,2),ve=J[0],xe=J[1],nt=N?N(tt):null;if(xn&&ve&&!nt)Se.push(tt);else{var pt=[Ct,xe];nt&&(pt=pt.concat(nt)),$e.push({file:tt,errors:pt.filter(function(An){return An})})}}),(!s&&Se.length>1||s&&l>=1&&Se.length>l)&&(Se.forEach(function(tt){$e.push({file:tt,errors:[PC]})}),Se.splice(0)),M({acceptedFiles:Se,fileRejections:$e,type:"setFiles"}),p&&p(Se,$e,Q),$e.length>0&&C&&C($e,Q),Se.length>0&&v&&v(Se,Q)},[M,s,j,a,i,l,p,v,C,N]),Ke=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A),ee.current=[],Ks(A)&&Promise.resolve(o(A)).then(function(Q){Yl(A)&&!k||Mt(Q,A)}).catch(function(Q){return te(Q)}),M({type:"reset"})},[o,Mt,te,k]),qe=d.useCallback(function(){if(G.current){M({type:"openDialog"}),V();var A={multiple:s,types:K};window.showOpenFilePicker(A).then(function(Q){return o(Q)}).then(function(Q){Mt(Q,null),M({type:"closeDialog"})}).catch(function(Q){DC(Q)?(le(Q),M({type:"closeDialog"})):MC(Q)?(G.current=!1,U.current?(U.current.value=null,U.current.click()):te(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):te(Q)});return}U.current&&(M({type:"openDialog"}),V(),U.current.value=null,U.current.click())},[M,V,le,h,Mt,te,K,s]),Br=d.useCallback(function(A){!q.current||!q.current.isEqualNode(A.target)||(A.key===" "||A.key==="Enter"||A.keyCode===32||A.keyCode===13)&&(A.preventDefault(),qe())},[q,qe]),Ro=d.useCallback(function(){M({type:"focus"})},[]),je=d.useCallback(function(){M({type:"blur"})},[]),on=d.useCallback(function(){E||(NC()?setTimeout(qe,0):qe())},[E,qe]),wn=function(Q){return r?null:Q},Vr=function(Q){return R?null:wn(Q)},an=function(Q){return b?null:wn(Q)},tr=function(Q){k&&Q.stopPropagation()},Cn=d.useMemo(function(){return function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Q=A.refKey,Se=Q===void 0?"ref":Q,$e=A.role,tt=A.onKeyDown,lt=A.onFocus,sn=A.onBlur,xn=A.onClick,Ct=A.onDragEnter,Wr=A.onDragOver,J=A.onDragLeave,ve=A.onDrop,xe=ql(A,IC);return Ae(Ae(ef({onKeyDown:Vr(Rn(tt,Br)),onFocus:Vr(Rn(lt,Ro)),onBlur:Vr(Rn(sn,je)),onClick:wn(Rn(xn,on)),onDragEnter:an(Rn(Ct,He)),onDragOver:an(Rn(Wr,wt)),onDragLeave:an(Rn(J,Wt)),onDrop:an(Rn(ve,Ke)),role:typeof $e=="string"&&$e!==""?$e:"presentation"},Se,q),!r&&!R?{tabIndex:0}:{}),xe)}},[q,Br,Ro,je,on,He,wt,Wt,Ke,R,b,r]),nr=d.useCallback(function(A){A.stopPropagation()},[]),Ht=d.useMemo(function(){return function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Q=A.refKey,Se=Q===void 0?"ref":Q,$e=A.onChange,tt=A.onClick,lt=ql(A,FC),sn=ef({accept:j,multiple:s,type:"file",style:{display:"none"},onChange:wn(Rn($e,Ke)),onClick:wn(Rn(tt,nr)),tabIndex:-1},Se,U);return Ae(Ae({},sn),lt)}},[U,n,s,Ke,r]);return Ae(Ae({},_),{},{isFocused:W&&!r,getRootProps:Cn,getInputProps:Ht,rootRef:q,inputRef:U,open:wn(qe)})}function GC(e,t){switch(t.type){case"focus":return Ae(Ae({},e),{},{isFocused:!0});case"blur":return Ae(Ae({},e),{},{isFocused:!1});case"openDialog":return Ae(Ae({},tf),{},{isFileDialogActive:!0});case"closeDialog":return Ae(Ae({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Ae(Ae({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Ae(Ae({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Ae({},tf);default:return e}}function Xh(){}const Pu=d.forwardRef(({className:e,type:t,...n},r)=>w.jsx("input",{type:t,className:we("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));Pu.displayName="Input";const Fg=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Fg.displayName="Card";const zg=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("flex flex-col space-y-1.5 p-6",e),...t}));zg.displayName="CardHeader";const Ug=d.forwardRef(({className:e,...t},n)=>w.jsx("h3",{ref:n,className:we("text-2xl font-semibold leading-none tracking-tight",e),...t}));Ug.displayName="CardTitle";const Bg=d.forwardRef(({className:e,...t},n)=>w.jsx("p",{ref:n,className:we("text-sm text-muted-foreground",e),...t}));Bg.displayName="CardDescription";const Vg=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("p-6 pt-0",e),...t}));Vg.displayName="CardContent";const YC=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("flex items-center p-6 pt-0",e),...t}));YC.displayName="CardFooter";const qC=d.forwardRef((e,t)=>d.createElement(Ue.label,re({},e,{ref:t,onMouseDown:n=>{var r;(r=e.onMouseDown)===null||r===void 0||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault()}}))),Wg=qC,XC=wu("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ku=d.forwardRef(({className:e,...t},n)=>w.jsx(Wg,{ref:n,className:we(XC(),e),...t}));ku.displayName=Wg.displayName;function ZC(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}ZC(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} -`);var JC=e=>{switch(e){case"success":return nx;case"info":return ox;case"warning":return rx;case"error":return ix;default:return null}},ex=Array(12).fill(0),tx=({visible:e})=>O.createElement("div",{className:"sonner-loading-wrapper","data-visible":e},O.createElement("div",{className:"sonner-spinner"},ex.map((t,n)=>O.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),nx=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),rx=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),ox=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),ix=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),ax=()=>{let[e,t]=O.useState(!1);return O.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},nf=1,sx=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:nf++,i=this.toasts.find(s=>s.id===o),a=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...e,id:o,title:n}),{...s,...e,id:o,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0;return r.then(i=>{if(i&&typeof i.ok=="boolean"&&!i.ok){o=!1;let a=typeof t.error=="function"?t.error(`HTTP error! status: ${i.status}`):t.error,s=typeof t.description=="function"?t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:n,type:"error",message:a,description:s})}else if(t.success!==void 0){o=!1;let a=typeof t.success=="function"?t.success(i):t.success,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"success",message:a,description:s})}}).catch(i=>{if(t.error!==void 0){o=!1;let a=typeof t.error=="function"?t.error(i):t.error,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"error",message:a,description:s})}}).finally(()=>{var i;o&&(this.dismiss(n),n=void 0),(i=t.finally)==null||i.call(t)}),n},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||nf++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},un=new sx,lx=(e,t)=>{let n=(t==null?void 0:t.id)||nf++;return un.addToast({title:e,...t,id:n}),n},ux=lx,Un=Object.assign(ux,{success:un.success,info:un.info,warning:un.warning,error:un.error,custom:un.custom,message:un.message,promise:un.promise,dismiss:un.dismiss,loading:un.loading}),cx=3,dx="32px",fx=4e3,px=356,Hg=14,hx=20,mx=200;function vx(...e){return e.filter(Boolean).join(" ")}var gx=e=>{var t,n,r,o,i,a,s;let{invert:l,toast:u,unstyled:c,interacting:f,setHeights:p,visibleToasts:v,heights:C,index:g,toasts:x,expanded:h,removeToast:m,closeButton:y,style:E,cancelButtonStyle:R,actionButtonStyle:b,className:k="",descriptionClassName:L="",duration:N,position:j,gap:K=Hg,loadingIcon:V,expandByDefault:le,classNames:q,icons:U,closeButtonAriaLabel:ue="Close toast",pauseWhenPageIsHidden:Z,cn:_}=e,[M,W]=O.useState(!1),[F,G]=O.useState(!1),[oe,ee]=O.useState(!1),[me,te]=O.useState(!1),[He,wt]=O.useState(0),[Wt,Mt]=O.useState(0),Ke=O.useRef(null),qe=O.useRef(null),Br=g===0,Ro=g+1<=v,je=u.type,on=u.dismissible!==!1,wn=u.className||"",Vr=u.descriptionClassName||"",an=O.useMemo(()=>C.findIndex(J=>J.toastId===u.id)||0,[C,u.id]),tr=O.useMemo(()=>{var J;return(J=u.closeButton)!=null?J:y},[u.closeButton,y]),Cn=O.useMemo(()=>u.duration||N||fx,[u.duration,N]),nr=O.useRef(0),Ht=O.useRef(0),A=O.useRef(0),Q=O.useRef(null),[Se,$e]=j.split("-"),tt=O.useMemo(()=>C.reduce((J,ve,xe)=>xe>=an?J:J+ve.height,0),[C,an]),lt=ax(),sn=u.invert||l,xn=je==="loading";Ht.current=O.useMemo(()=>an*K+tt,[an,tt]),O.useEffect(()=>{W(!0)},[]),O.useLayoutEffect(()=>{if(!M)return;let J=qe.current,ve=J.style.height;J.style.height="auto";let xe=J.getBoundingClientRect().height;J.style.height=ve,Mt(xe),p(nt=>nt.find(pt=>pt.toastId===u.id)?nt.map(pt=>pt.toastId===u.id?{...pt,height:xe}:pt):[{toastId:u.id,height:xe,position:u.position},...nt])},[M,u.title,u.description,p,u.id]);let Ct=O.useCallback(()=>{G(!0),wt(Ht.current),p(J=>J.filter(ve=>ve.toastId!==u.id)),setTimeout(()=>{m(u)},mx)},[u,m,p,Ht]);O.useEffect(()=>{if(u.promise&&je==="loading"||u.duration===1/0||u.type==="loading")return;let J,ve=Cn;return h||f||Z&<?(()=>{if(A.current{var xe;(xe=u.onAutoClose)==null||xe.call(u,u),Ct()},ve)),()=>clearTimeout(J)},[h,f,le,u,Cn,Ct,u.promise,je,Z,lt]),O.useEffect(()=>{let J=qe.current;if(J){let ve=J.getBoundingClientRect().height;return Mt(ve),p(xe=>[{toastId:u.id,height:ve,position:u.position},...xe]),()=>p(xe=>xe.filter(nt=>nt.toastId!==u.id))}},[p,u.id]),O.useEffect(()=>{u.delete&&Ct()},[Ct,u.delete]);function Wr(){return U!=null&&U.loading?O.createElement("div",{className:"loader","data-visible":je==="loading"},U.loading):V?O.createElement("div",{className:"sonner-loader","data-visible":je==="loading"},V):O.createElement(tx,{visible:je==="loading"})}return O.createElement("li",{"aria-live":u.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:qe,className:_(k,wn,q==null?void 0:q.toast,(t=u==null?void 0:u.classNames)==null?void 0:t.toast,q==null?void 0:q.default,q==null?void 0:q[je],(n=u==null?void 0:u.classNames)==null?void 0:n[je]),"data-sonner-toast":"","data-styled":!(u.jsx||u.unstyled||c),"data-mounted":M,"data-promise":!!u.promise,"data-removed":F,"data-visible":Ro,"data-y-position":Se,"data-x-position":$e,"data-index":g,"data-front":Br,"data-swiping":oe,"data-dismissible":on,"data-type":je,"data-invert":sn,"data-swipe-out":me,"data-expanded":!!(h||le&&M),style:{"--index":g,"--toasts-before":g,"--z-index":x.length-g,"--offset":`${F?He:Ht.current}px`,"--initial-height":le?"auto":`${Wt}px`,...E,...u.style},onPointerDown:J=>{xn||!on||(Ke.current=new Date,wt(Ht.current),J.target.setPointerCapture(J.pointerId),J.target.tagName!=="BUTTON"&&(ee(!0),Q.current={x:J.clientX,y:J.clientY}))},onPointerUp:()=>{var J,ve,xe,nt;if(me||!on)return;Q.current=null;let pt=Number(((J=qe.current)==null?void 0:J.style.getPropertyValue("--swipe-amount").replace("px",""))||0),An=new Date().getTime()-((ve=Ke.current)==null?void 0:ve.getTime()),Lu=Math.abs(pt)/An;if(Math.abs(pt)>=hx||Lu>.11){wt(Ht.current),(xe=u.onDismiss)==null||xe.call(u,u),Ct(),te(!0);return}(nt=qe.current)==null||nt.style.setProperty("--swipe-amount","0px"),ee(!1)},onPointerMove:J=>{var ve;if(!Q.current||!on)return;let xe=J.clientY-Q.current.y,nt=J.clientX-Q.current.x,pt=(Se==="top"?Math.min:Math.max)(0,xe),An=J.pointerType==="touch"?10:2;Math.abs(pt)>An?(ve=qe.current)==null||ve.style.setProperty("--swipe-amount",`${xe}px`):Math.abs(nt)>An&&(Q.current=null)}},tr&&!u.jsx?O.createElement("button",{"aria-label":ue,"data-disabled":xn,"data-close-button":!0,onClick:xn||!on?()=>{}:()=>{var J;Ct(),(J=u.onDismiss)==null||J.call(u,u)},className:_(q==null?void 0:q.closeButton,(r=u==null?void 0:u.classNames)==null?void 0:r.closeButton)},O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},O.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),O.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,u.jsx||O.isValidElement(u.title)?u.jsx||u.title:O.createElement(O.Fragment,null,je||u.icon||u.promise?O.createElement("div",{"data-icon":""},u.promise||u.type==="loading"&&!u.icon?u.icon||(U==null?void 0:U.loading)||Wr():null,u.type!=="loading"?u.icon||(U==null?void 0:U[je])||JC(je):null):null,O.createElement("div",{"data-content":""},O.createElement("div",{"data-title":"",className:_(q==null?void 0:q.title,(o=u==null?void 0:u.classNames)==null?void 0:o.title)},u.title),u.description?O.createElement("div",{"data-description":"",className:_(L,Vr,q==null?void 0:q.description,(i=u==null?void 0:u.classNames)==null?void 0:i.description)},u.description):null),u.cancel?O.createElement("button",{"data-button":!0,"data-cancel":!0,style:u.cancelButtonStyle||R,onClick:J=>{var ve;on&&(Ct(),(ve=u.cancel)!=null&&ve.onClick&&u.cancel.onClick(J))},className:_(q==null?void 0:q.cancelButton,(a=u==null?void 0:u.classNames)==null?void 0:a.cancelButton)},u.cancel.label):null,u.action?O.createElement("button",{"data-button":"",style:u.actionButtonStyle||b,onClick:J=>{var ve;(ve=u.action)==null||ve.onClick(J),!J.defaultPrevented&&Ct()},className:_(q==null?void 0:q.actionButton,(s=u==null?void 0:u.classNames)==null?void 0:s.actionButton)},u.action.label):null))};function Zh(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var yx=e=>{let{invert:t,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:i,className:a,offset:s,theme:l="light",richColors:u,duration:c,style:f,visibleToasts:p=cx,toastOptions:v,dir:C=Zh(),gap:g,loadingIcon:x,icons:h,containerAriaLabel:m="Notifications",pauseWhenPageIsHidden:y,cn:E=vx}=e,[R,b]=O.useState([]),k=O.useMemo(()=>Array.from(new Set([n].concat(R.filter(F=>F.position).map(F=>F.position)))),[R,n]),[L,N]=O.useState([]),[j,K]=O.useState(!1),[V,le]=O.useState(!1),[q,U]=O.useState(l!=="system"?l:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ue=O.useRef(null),Z=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),_=O.useRef(null),M=O.useRef(!1),W=O.useCallback(F=>b(G=>G.filter(({id:oe})=>oe!==F.id)),[]);return O.useEffect(()=>un.subscribe(F=>{if(F.dismiss){b(G=>G.map(oe=>oe.id===F.id?{...oe,delete:!0}:oe));return}setTimeout(()=>{hu.flushSync(()=>{b(G=>{let oe=G.findIndex(ee=>ee.id===F.id);return oe!==-1?[...G.slice(0,oe),{...G[oe],...F},...G.slice(oe+1)]:[F,...G]})})})}),[]),O.useEffect(()=>{if(l!=="system"){U(l);return}l==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?U("dark"):U("light")),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:F})=>{U(F?"dark":"light")})},[l]),O.useEffect(()=>{R.length<=1&&K(!1)},[R]),O.useEffect(()=>{let F=G=>{var oe,ee;r.every(me=>G[me]||G.code===me)&&(K(!0),(oe=ue.current)==null||oe.focus()),G.code==="Escape"&&(document.activeElement===ue.current||(ee=ue.current)!=null&&ee.contains(document.activeElement))&&K(!1)};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[r]),O.useEffect(()=>{if(ue.current)return()=>{_.current&&(_.current.focus({preventScroll:!0}),_.current=null,M.current=!1)}},[ue.current]),R.length?O.createElement("section",{"aria-label":`${m} ${Z}`,tabIndex:-1},k.map((F,G)=>{var oe;let[ee,me]=F.split("-");return O.createElement("ol",{key:F,dir:C==="auto"?Zh():C,tabIndex:-1,ref:ue,className:a,"data-sonner-toaster":!0,"data-theme":q,"data-rich-colors":u,"data-y-position":ee,"data-x-position":me,style:{"--front-toast-height":`${((oe=L[0])==null?void 0:oe.height)||0}px`,"--offset":typeof s=="number"?`${s}px`:s||dx,"--width":`${px}px`,"--gap":`${Hg}px`,...f},onBlur:te=>{M.current&&!te.currentTarget.contains(te.relatedTarget)&&(M.current=!1,_.current&&(_.current.focus({preventScroll:!0}),_.current=null))},onFocus:te=>{te.target instanceof HTMLElement&&te.target.dataset.dismissible==="false"||M.current||(M.current=!0,_.current=te.relatedTarget)},onMouseEnter:()=>K(!0),onMouseMove:()=>K(!0),onMouseLeave:()=>{V||K(!1)},onPointerDown:te=>{te.target instanceof HTMLElement&&te.target.dataset.dismissible==="false"||le(!0)},onPointerUp:()=>le(!1)},R.filter(te=>!te.position&&G===0||te.position===F).map((te,He)=>{var wt,Wt;return O.createElement(gx,{key:te.id,icons:h,index:He,toast:te,duration:(wt=v==null?void 0:v.duration)!=null?wt:c,className:v==null?void 0:v.className,descriptionClassName:v==null?void 0:v.descriptionClassName,invert:t,visibleToasts:p,closeButton:(Wt=v==null?void 0:v.closeButton)!=null?Wt:i,interacting:V,position:F,style:v==null?void 0:v.style,unstyled:v==null?void 0:v.unstyled,classNames:v==null?void 0:v.classNames,cancelButtonStyle:v==null?void 0:v.cancelButtonStyle,actionButtonStyle:v==null?void 0:v.actionButtonStyle,removeToast:W,toasts:R.filter(Mt=>Mt.position==te.position),heights:L.filter(Mt=>Mt.position==te.position),setHeights:N,expandByDefault:o,gap:g,loadingIcon:x,expanded:j,pauseWhenPageIsHidden:y,cn:E})}))})):null};const rf="horizontal",wx=["horizontal","vertical"],Kg=d.forwardRef((e,t)=>{const{decorative:n,orientation:r=rf,...o}=e,i=Qg(r)?r:rf,s=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return d.createElement(Ue.div,re({"data-orientation":i},s,o,{ref:t}))});Kg.propTypes={orientation(e,t,n){const r=e[t],o=String(r);return r&&!Qg(r)?new Error(Cx(o,n)):null}};function Cx(e,t){return`Invalid prop \`orientation\` of value \`${e}\` supplied to \`${t}\`, expected one of: +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jg(e,t){if(e){if(typeof e=="string")return Jd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jd(e,t)}}function Jd(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function QC(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var w1=d.forwardRef(function(e,t){var n=e.children,r=ql(e,jC),o=Ig(r),i=o.open,a=ql(o,AC);return d.useImperativeHandle(t,function(){return{open:i}},[i]),O.createElement(d.Fragment,null,n(Ae(Ae({},a),{},{open:i})))});w1.displayName="Dropzone";var Ag={disabled:!1,getFilesFromEvent:iC,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};w1.defaultProps=Ag;w1.propTypes={children:Ee.func,accept:Ee.objectOf(Ee.arrayOf(Ee.string)),multiple:Ee.bool,preventDropOnDocument:Ee.bool,noClick:Ee.bool,noKeyboard:Ee.bool,noDrag:Ee.bool,noDragEventsBubbling:Ee.bool,minSize:Ee.number,maxSize:Ee.number,maxFiles:Ee.number,disabled:Ee.bool,getFilesFromEvent:Ee.func,onFileDialogCancel:Ee.func,onFileDialogOpen:Ee.func,useFsAccessApi:Ee.bool,autoFocus:Ee.bool,onDragEnter:Ee.func,onDragLeave:Ee.func,onDragOver:Ee.func,onDrop:Ee.func,onDropAccepted:Ee.func,onDropRejected:Ee.func,onError:Ee.func,validator:Ee.func};var tf={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Ig(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Ae(Ae({},Ag),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,c=t.onDragLeave,f=t.onDragOver,p=t.onDrop,v=t.onDropAccepted,C=t.onDropRejected,g=t.onFileDialogCancel,x=t.onFileDialogOpen,h=t.useFsAccessApi,m=t.autoFocus,y=t.preventDropOnDocument,E=t.noClick,R=t.noKeyboard,b=t.noDrag,k=t.noDragEventsBubbling,L=t.onError,N=t.validator,j=d.useMemo(function(){return OC(n)},[n]),K=d.useMemo(function(){return _C(n)},[n]),V=d.useMemo(function(){return typeof x=="function"?x:Xh},[x]),le=d.useMemo(function(){return typeof g=="function"?g:Xh},[g]),q=d.useRef(null),U=d.useRef(null),ue=d.useReducer(GC,tf),J=bc(ue,2),_=J[0],M=J[1],W=_.isFocused,F=_.isFileDialogActive,G=d.useRef(typeof window<"u"&&window.isSecureContext&&h&&$C()),oe=function(){!G.current&&F&&setTimeout(function(){if(U.current){var Q=U.current.files;Q.length||(M({type:"closeDialog"}),le())}},300)};d.useEffect(function(){return window.addEventListener("focus",oe,!1),function(){window.removeEventListener("focus",oe,!1)}},[U,F,le,G]);var ee=d.useRef([]),me=function(Q){q.current&&q.current.contains(Q.target)||(Q.preventDefault(),ee.current=[])};d.useEffect(function(){return y&&(document.addEventListener("dragover",Yh,!1),document.addEventListener("drop",me,!1)),function(){y&&(document.removeEventListener("dragover",Yh),document.removeEventListener("drop",me))}},[q,y]),d.useEffect(function(){return!r&&m&&q.current&&q.current.focus(),function(){}},[q,m,r]);var te=d.useCallback(function(A){L?L(A):console.error(A)},[L]),He=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A),ee.current=[].concat(zC(ee.current),[A.target]),Ks(A)&&Promise.resolve(o(A)).then(function(Q){if(!(Yl(A)&&!k)){var Se=Q.length,$e=Se>0&&kC({files:Q,accept:j,minSize:a,maxSize:i,multiple:s,maxFiles:l,validator:N}),tt=Se>0&&!$e;M({isDragAccept:$e,isDragReject:tt,isDragActive:!0,type:"setDraggedFiles"}),u&&u(A)}}).catch(function(Q){return te(Q)})},[o,u,te,k,j,a,i,s,l,N]),wt=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A);var Q=Ks(A);if(Q&&A.dataTransfer)try{A.dataTransfer.dropEffect="copy"}catch{}return Q&&f&&f(A),!1},[f,k]),Wt=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A);var Q=ee.current.filter(function($e){return q.current&&q.current.contains($e)}),Se=Q.indexOf(A.target);Se!==-1&&Q.splice(Se,1),ee.current=Q,!(Q.length>0)&&(M({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Ks(A)&&c&&c(A))},[q,c,k]),Mt=d.useCallback(function(A,Q){var Se=[],$e=[];A.forEach(function(tt){var lt=_g(tt,j),sn=bc(lt,2),xn=sn[0],Ct=sn[1],Wr=Og(tt,a,i),Z=bc(Wr,2),ve=Z[0],xe=Z[1],nt=N?N(tt):null;if(xn&&ve&&!nt)Se.push(tt);else{var pt=[Ct,xe];nt&&(pt=pt.concat(nt)),$e.push({file:tt,errors:pt.filter(function(An){return An})})}}),(!s&&Se.length>1||s&&l>=1&&Se.length>l)&&(Se.forEach(function(tt){$e.push({file:tt,errors:[PC]})}),Se.splice(0)),M({acceptedFiles:Se,fileRejections:$e,type:"setFiles"}),p&&p(Se,$e,Q),$e.length>0&&C&&C($e,Q),Se.length>0&&v&&v(Se,Q)},[M,s,j,a,i,l,p,v,C,N]),Ke=d.useCallback(function(A){A.preventDefault(),A.persist(),tr(A),ee.current=[],Ks(A)&&Promise.resolve(o(A)).then(function(Q){Yl(A)&&!k||Mt(Q,A)}).catch(function(Q){return te(Q)}),M({type:"reset"})},[o,Mt,te,k]),qe=d.useCallback(function(){if(G.current){M({type:"openDialog"}),V();var A={multiple:s,types:K};window.showOpenFilePicker(A).then(function(Q){return o(Q)}).then(function(Q){Mt(Q,null),M({type:"closeDialog"})}).catch(function(Q){DC(Q)?(le(Q),M({type:"closeDialog"})):MC(Q)?(G.current=!1,U.current?(U.current.value=null,U.current.click()):te(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):te(Q)});return}U.current&&(M({type:"openDialog"}),V(),U.current.value=null,U.current.click())},[M,V,le,h,Mt,te,K,s]),Br=d.useCallback(function(A){!q.current||!q.current.isEqualNode(A.target)||(A.key===" "||A.key==="Enter"||A.keyCode===32||A.keyCode===13)&&(A.preventDefault(),qe())},[q,qe]),Ro=d.useCallback(function(){M({type:"focus"})},[]),je=d.useCallback(function(){M({type:"blur"})},[]),on=d.useCallback(function(){E||(NC()?setTimeout(qe,0):qe())},[E,qe]),wn=function(Q){return r?null:Q},Vr=function(Q){return R?null:wn(Q)},an=function(Q){return b?null:wn(Q)},tr=function(Q){k&&Q.stopPropagation()},Cn=d.useMemo(function(){return function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Q=A.refKey,Se=Q===void 0?"ref":Q,$e=A.role,tt=A.onKeyDown,lt=A.onFocus,sn=A.onBlur,xn=A.onClick,Ct=A.onDragEnter,Wr=A.onDragOver,Z=A.onDragLeave,ve=A.onDrop,xe=ql(A,IC);return Ae(Ae(ef({onKeyDown:Vr(Rn(tt,Br)),onFocus:Vr(Rn(lt,Ro)),onBlur:Vr(Rn(sn,je)),onClick:wn(Rn(xn,on)),onDragEnter:an(Rn(Ct,He)),onDragOver:an(Rn(Wr,wt)),onDragLeave:an(Rn(Z,Wt)),onDrop:an(Rn(ve,Ke)),role:typeof $e=="string"&&$e!==""?$e:"presentation"},Se,q),!r&&!R?{tabIndex:0}:{}),xe)}},[q,Br,Ro,je,on,He,wt,Wt,Ke,R,b,r]),nr=d.useCallback(function(A){A.stopPropagation()},[]),Ht=d.useMemo(function(){return function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Q=A.refKey,Se=Q===void 0?"ref":Q,$e=A.onChange,tt=A.onClick,lt=ql(A,FC),sn=ef({accept:j,multiple:s,type:"file",style:{display:"none"},onChange:wn(Rn($e,Ke)),onClick:wn(Rn(tt,nr)),tabIndex:-1},Se,U);return Ae(Ae({},sn),lt)}},[U,n,s,Ke,r]);return Ae(Ae({},_),{},{isFocused:W&&!r,getRootProps:Cn,getInputProps:Ht,rootRef:q,inputRef:U,open:wn(qe)})}function GC(e,t){switch(t.type){case"focus":return Ae(Ae({},e),{},{isFocused:!0});case"blur":return Ae(Ae({},e),{},{isFocused:!1});case"openDialog":return Ae(Ae({},tf),{},{isFileDialogActive:!0});case"closeDialog":return Ae(Ae({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Ae(Ae({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Ae(Ae({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Ae({},tf);default:return e}}function Xh(){}const Pu=d.forwardRef(({className:e,type:t,...n},r)=>w.jsx("input",{type:t,className:we("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));Pu.displayName="Input";const Fg=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Fg.displayName="Card";const zg=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("flex flex-col space-y-1.5 p-6",e),...t}));zg.displayName="CardHeader";const Ug=d.forwardRef(({className:e,...t},n)=>w.jsx("h3",{ref:n,className:we("text-2xl font-semibold leading-none tracking-tight",e),...t}));Ug.displayName="CardTitle";const Bg=d.forwardRef(({className:e,...t},n)=>w.jsx("p",{ref:n,className:we("text-sm text-muted-foreground",e),...t}));Bg.displayName="CardDescription";const Vg=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("p-6 pt-0",e),...t}));Vg.displayName="CardContent";const YC=d.forwardRef(({className:e,...t},n)=>w.jsx("div",{ref:n,className:we("flex items-center p-6 pt-0",e),...t}));YC.displayName="CardFooter";const qC=d.forwardRef((e,t)=>d.createElement(Ue.label,re({},e,{ref:t,onMouseDown:n=>{var r;(r=e.onMouseDown)===null||r===void 0||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault()}}))),Wg=qC,XC=wu("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ku=d.forwardRef(({className:e,...t},n)=>w.jsx(Wg,{ref:n,className:we(XC(),e),...t}));ku.displayName=Wg.displayName;function ZC(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}ZC(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +`);var JC=e=>{switch(e){case"success":return nx;case"info":return ox;case"warning":return rx;case"error":return ix;default:return null}},ex=Array(12).fill(0),tx=({visible:e})=>O.createElement("div",{className:"sonner-loading-wrapper","data-visible":e},O.createElement("div",{className:"sonner-spinner"},ex.map((t,n)=>O.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),nx=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),rx=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),ox=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),ix=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),ax=()=>{let[e,t]=O.useState(!1);return O.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},nf=1,sx=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:nf++,i=this.toasts.find(s=>s.id===o),a=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...e,id:o,title:n}),{...s,...e,id:o,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0;return r.then(i=>{if(i&&typeof i.ok=="boolean"&&!i.ok){o=!1;let a=typeof t.error=="function"?t.error(`HTTP error! status: ${i.status}`):t.error,s=typeof t.description=="function"?t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:n,type:"error",message:a,description:s})}else if(t.success!==void 0){o=!1;let a=typeof t.success=="function"?t.success(i):t.success,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"success",message:a,description:s})}}).catch(i=>{if(t.error!==void 0){o=!1;let a=typeof t.error=="function"?t.error(i):t.error,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"error",message:a,description:s})}}).finally(()=>{var i;o&&(this.dismiss(n),n=void 0),(i=t.finally)==null||i.call(t)}),n},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||nf++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},un=new sx,lx=(e,t)=>{let n=(t==null?void 0:t.id)||nf++;return un.addToast({title:e,...t,id:n}),n},ux=lx,Un=Object.assign(ux,{success:un.success,info:un.info,warning:un.warning,error:un.error,custom:un.custom,message:un.message,promise:un.promise,dismiss:un.dismiss,loading:un.loading}),cx=3,dx="32px",fx=4e3,px=356,Hg=14,hx=20,mx=200;function vx(...e){return e.filter(Boolean).join(" ")}var gx=e=>{var t,n,r,o,i,a,s;let{invert:l,toast:u,unstyled:c,interacting:f,setHeights:p,visibleToasts:v,heights:C,index:g,toasts:x,expanded:h,removeToast:m,closeButton:y,style:E,cancelButtonStyle:R,actionButtonStyle:b,className:k="",descriptionClassName:L="",duration:N,position:j,gap:K=Hg,loadingIcon:V,expandByDefault:le,classNames:q,icons:U,closeButtonAriaLabel:ue="Close toast",pauseWhenPageIsHidden:J,cn:_}=e,[M,W]=O.useState(!1),[F,G]=O.useState(!1),[oe,ee]=O.useState(!1),[me,te]=O.useState(!1),[He,wt]=O.useState(0),[Wt,Mt]=O.useState(0),Ke=O.useRef(null),qe=O.useRef(null),Br=g===0,Ro=g+1<=v,je=u.type,on=u.dismissible!==!1,wn=u.className||"",Vr=u.descriptionClassName||"",an=O.useMemo(()=>C.findIndex(Z=>Z.toastId===u.id)||0,[C,u.id]),tr=O.useMemo(()=>{var Z;return(Z=u.closeButton)!=null?Z:y},[u.closeButton,y]),Cn=O.useMemo(()=>u.duration||N||fx,[u.duration,N]),nr=O.useRef(0),Ht=O.useRef(0),A=O.useRef(0),Q=O.useRef(null),[Se,$e]=j.split("-"),tt=O.useMemo(()=>C.reduce((Z,ve,xe)=>xe>=an?Z:Z+ve.height,0),[C,an]),lt=ax(),sn=u.invert||l,xn=je==="loading";Ht.current=O.useMemo(()=>an*K+tt,[an,tt]),O.useEffect(()=>{W(!0)},[]),O.useLayoutEffect(()=>{if(!M)return;let Z=qe.current,ve=Z.style.height;Z.style.height="auto";let xe=Z.getBoundingClientRect().height;Z.style.height=ve,Mt(xe),p(nt=>nt.find(pt=>pt.toastId===u.id)?nt.map(pt=>pt.toastId===u.id?{...pt,height:xe}:pt):[{toastId:u.id,height:xe,position:u.position},...nt])},[M,u.title,u.description,p,u.id]);let Ct=O.useCallback(()=>{G(!0),wt(Ht.current),p(Z=>Z.filter(ve=>ve.toastId!==u.id)),setTimeout(()=>{m(u)},mx)},[u,m,p,Ht]);O.useEffect(()=>{if(u.promise&&je==="loading"||u.duration===1/0||u.type==="loading")return;let Z,ve=Cn;return h||f||J&<?(()=>{if(A.current{var xe;(xe=u.onAutoClose)==null||xe.call(u,u),Ct()},ve)),()=>clearTimeout(Z)},[h,f,le,u,Cn,Ct,u.promise,je,J,lt]),O.useEffect(()=>{let Z=qe.current;if(Z){let ve=Z.getBoundingClientRect().height;return Mt(ve),p(xe=>[{toastId:u.id,height:ve,position:u.position},...xe]),()=>p(xe=>xe.filter(nt=>nt.toastId!==u.id))}},[p,u.id]),O.useEffect(()=>{u.delete&&Ct()},[Ct,u.delete]);function Wr(){return U!=null&&U.loading?O.createElement("div",{className:"loader","data-visible":je==="loading"},U.loading):V?O.createElement("div",{className:"sonner-loader","data-visible":je==="loading"},V):O.createElement(tx,{visible:je==="loading"})}return O.createElement("li",{"aria-live":u.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:qe,className:_(k,wn,q==null?void 0:q.toast,(t=u==null?void 0:u.classNames)==null?void 0:t.toast,q==null?void 0:q.default,q==null?void 0:q[je],(n=u==null?void 0:u.classNames)==null?void 0:n[je]),"data-sonner-toast":"","data-styled":!(u.jsx||u.unstyled||c),"data-mounted":M,"data-promise":!!u.promise,"data-removed":F,"data-visible":Ro,"data-y-position":Se,"data-x-position":$e,"data-index":g,"data-front":Br,"data-swiping":oe,"data-dismissible":on,"data-type":je,"data-invert":sn,"data-swipe-out":me,"data-expanded":!!(h||le&&M),style:{"--index":g,"--toasts-before":g,"--z-index":x.length-g,"--offset":`${F?He:Ht.current}px`,"--initial-height":le?"auto":`${Wt}px`,...E,...u.style},onPointerDown:Z=>{xn||!on||(Ke.current=new Date,wt(Ht.current),Z.target.setPointerCapture(Z.pointerId),Z.target.tagName!=="BUTTON"&&(ee(!0),Q.current={x:Z.clientX,y:Z.clientY}))},onPointerUp:()=>{var Z,ve,xe,nt;if(me||!on)return;Q.current=null;let pt=Number(((Z=qe.current)==null?void 0:Z.style.getPropertyValue("--swipe-amount").replace("px",""))||0),An=new Date().getTime()-((ve=Ke.current)==null?void 0:ve.getTime()),Lu=Math.abs(pt)/An;if(Math.abs(pt)>=hx||Lu>.11){wt(Ht.current),(xe=u.onDismiss)==null||xe.call(u,u),Ct(),te(!0);return}(nt=qe.current)==null||nt.style.setProperty("--swipe-amount","0px"),ee(!1)},onPointerMove:Z=>{var ve;if(!Q.current||!on)return;let xe=Z.clientY-Q.current.y,nt=Z.clientX-Q.current.x,pt=(Se==="top"?Math.min:Math.max)(0,xe),An=Z.pointerType==="touch"?10:2;Math.abs(pt)>An?(ve=qe.current)==null||ve.style.setProperty("--swipe-amount",`${xe}px`):Math.abs(nt)>An&&(Q.current=null)}},tr&&!u.jsx?O.createElement("button",{"aria-label":ue,"data-disabled":xn,"data-close-button":!0,onClick:xn||!on?()=>{}:()=>{var Z;Ct(),(Z=u.onDismiss)==null||Z.call(u,u)},className:_(q==null?void 0:q.closeButton,(r=u==null?void 0:u.classNames)==null?void 0:r.closeButton)},O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},O.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),O.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,u.jsx||O.isValidElement(u.title)?u.jsx||u.title:O.createElement(O.Fragment,null,je||u.icon||u.promise?O.createElement("div",{"data-icon":""},u.promise||u.type==="loading"&&!u.icon?u.icon||(U==null?void 0:U.loading)||Wr():null,u.type!=="loading"?u.icon||(U==null?void 0:U[je])||JC(je):null):null,O.createElement("div",{"data-content":""},O.createElement("div",{"data-title":"",className:_(q==null?void 0:q.title,(o=u==null?void 0:u.classNames)==null?void 0:o.title)},u.title),u.description?O.createElement("div",{"data-description":"",className:_(L,Vr,q==null?void 0:q.description,(i=u==null?void 0:u.classNames)==null?void 0:i.description)},u.description):null),u.cancel?O.createElement("button",{"data-button":!0,"data-cancel":!0,style:u.cancelButtonStyle||R,onClick:Z=>{var ve;on&&(Ct(),(ve=u.cancel)!=null&&ve.onClick&&u.cancel.onClick(Z))},className:_(q==null?void 0:q.cancelButton,(a=u==null?void 0:u.classNames)==null?void 0:a.cancelButton)},u.cancel.label):null,u.action?O.createElement("button",{"data-button":"",style:u.actionButtonStyle||b,onClick:Z=>{var ve;(ve=u.action)==null||ve.onClick(Z),!Z.defaultPrevented&&Ct()},className:_(q==null?void 0:q.actionButton,(s=u==null?void 0:u.classNames)==null?void 0:s.actionButton)},u.action.label):null))};function Zh(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var yx=e=>{let{invert:t,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:i,className:a,offset:s,theme:l="light",richColors:u,duration:c,style:f,visibleToasts:p=cx,toastOptions:v,dir:C=Zh(),gap:g,loadingIcon:x,icons:h,containerAriaLabel:m="Notifications",pauseWhenPageIsHidden:y,cn:E=vx}=e,[R,b]=O.useState([]),k=O.useMemo(()=>Array.from(new Set([n].concat(R.filter(F=>F.position).map(F=>F.position)))),[R,n]),[L,N]=O.useState([]),[j,K]=O.useState(!1),[V,le]=O.useState(!1),[q,U]=O.useState(l!=="system"?l:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ue=O.useRef(null),J=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),_=O.useRef(null),M=O.useRef(!1),W=O.useCallback(F=>b(G=>G.filter(({id:oe})=>oe!==F.id)),[]);return O.useEffect(()=>un.subscribe(F=>{if(F.dismiss){b(G=>G.map(oe=>oe.id===F.id?{...oe,delete:!0}:oe));return}setTimeout(()=>{hu.flushSync(()=>{b(G=>{let oe=G.findIndex(ee=>ee.id===F.id);return oe!==-1?[...G.slice(0,oe),{...G[oe],...F},...G.slice(oe+1)]:[F,...G]})})})}),[]),O.useEffect(()=>{if(l!=="system"){U(l);return}l==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?U("dark"):U("light")),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:F})=>{U(F?"dark":"light")})},[l]),O.useEffect(()=>{R.length<=1&&K(!1)},[R]),O.useEffect(()=>{let F=G=>{var oe,ee;r.every(me=>G[me]||G.code===me)&&(K(!0),(oe=ue.current)==null||oe.focus()),G.code==="Escape"&&(document.activeElement===ue.current||(ee=ue.current)!=null&&ee.contains(document.activeElement))&&K(!1)};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[r]),O.useEffect(()=>{if(ue.current)return()=>{_.current&&(_.current.focus({preventScroll:!0}),_.current=null,M.current=!1)}},[ue.current]),R.length?O.createElement("section",{"aria-label":`${m} ${J}`,tabIndex:-1},k.map((F,G)=>{var oe;let[ee,me]=F.split("-");return O.createElement("ol",{key:F,dir:C==="auto"?Zh():C,tabIndex:-1,ref:ue,className:a,"data-sonner-toaster":!0,"data-theme":q,"data-rich-colors":u,"data-y-position":ee,"data-x-position":me,style:{"--front-toast-height":`${((oe=L[0])==null?void 0:oe.height)||0}px`,"--offset":typeof s=="number"?`${s}px`:s||dx,"--width":`${px}px`,"--gap":`${Hg}px`,...f},onBlur:te=>{M.current&&!te.currentTarget.contains(te.relatedTarget)&&(M.current=!1,_.current&&(_.current.focus({preventScroll:!0}),_.current=null))},onFocus:te=>{te.target instanceof HTMLElement&&te.target.dataset.dismissible==="false"||M.current||(M.current=!0,_.current=te.relatedTarget)},onMouseEnter:()=>K(!0),onMouseMove:()=>K(!0),onMouseLeave:()=>{V||K(!1)},onPointerDown:te=>{te.target instanceof HTMLElement&&te.target.dataset.dismissible==="false"||le(!0)},onPointerUp:()=>le(!1)},R.filter(te=>!te.position&&G===0||te.position===F).map((te,He)=>{var wt,Wt;return O.createElement(gx,{key:te.id,icons:h,index:He,toast:te,duration:(wt=v==null?void 0:v.duration)!=null?wt:c,className:v==null?void 0:v.className,descriptionClassName:v==null?void 0:v.descriptionClassName,invert:t,visibleToasts:p,closeButton:(Wt=v==null?void 0:v.closeButton)!=null?Wt:i,interacting:V,position:F,style:v==null?void 0:v.style,unstyled:v==null?void 0:v.unstyled,classNames:v==null?void 0:v.classNames,cancelButtonStyle:v==null?void 0:v.cancelButtonStyle,actionButtonStyle:v==null?void 0:v.actionButtonStyle,removeToast:W,toasts:R.filter(Mt=>Mt.position==te.position),heights:L.filter(Mt=>Mt.position==te.position),setHeights:N,expandByDefault:o,gap:g,loadingIcon:x,expanded:j,pauseWhenPageIsHidden:y,cn:E})}))})):null};const rf="horizontal",wx=["horizontal","vertical"],Kg=d.forwardRef((e,t)=>{const{decorative:n,orientation:r=rf,...o}=e,i=Qg(r)?r:rf,s=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return d.createElement(Ue.div,re({"data-orientation":i},s,o,{ref:t}))});Kg.propTypes={orientation(e,t,n){const r=e[t],o=String(r);return r&&!Qg(r)?new Error(Cx(o,n)):null}};function Cx(e,t){return`Invalid prop \`orientation\` of value \`${e}\` supplied to \`${t}\`, expected one of: - horizontal - vertical -Defaulting to \`${rf}\`.`}function Qg(e){return wx.includes(e)}const Gg=Kg,Yg=d.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>w.jsx(Gg,{ref:o,decorative:n,orientation:t,className:we("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Yg.displayName=Gg.displayName;const xx=wu("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ec({className:e,variant:t,...n}){return w.jsx("div",{className:we(xx({variant:t}),e),...n})}function bx({className:e}){return w.jsxs("svg",{className:e,width:"256",height:"256",viewBox:"0 0 256 256",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("path",{d:"M230.721 172.7C230.183 170.673 229.313 168.75 228.146 167.008C228.396 166.091 228.587 165.159 228.714 164.217C229.543 158.241 227.471 152.77 223.567 148.537C221.452 146.225 219.185 144.698 216.784 143.761C218.36 137.018 219.157 130.117 219.161 123.193C219.161 120.03 218.982 116.932 218.682 113.88C218.526 112.356 218.337 110.836 218.115 109.32C217.428 104.847 216.408 100.431 215.064 96.11C214.183 93.2707 213.164 90.476 212.01 87.736C210.281 83.6782 208.262 79.75 205.969 75.982C204.465 73.475 202.827 71.0508 201.062 68.72C200.197 67.543 199.296 66.3938 198.358 65.274C195.58 61.898 192.561 58.7277 189.325 55.788C188.25 54.7997 187.145 53.8453 186.01 52.926C184.893 51.9943 183.751 51.0927 182.586 50.222C180.241 48.4766 177.818 46.8392 175.324 45.315C161.543 36.945 145.382 32.145 128.109 32.145C77.817 32.145 37.057 72.907 37.057 123.196C37.055 130.208 37.867 137.196 39.477 144.02C37.317 144.958 35.247 146.42 33.327 148.535C29.424 152.766 27.351 158.217 28.18 164.193C28.306 165.142 28.495 166.082 28.747 167.006C27.5811 168.749 26.7117 170.673 26.174 172.7C24.974 177.261 25.369 181.374 26.894 184.978C25.236 189.688 25.65 194.704 27.809 199.065C29.379 202.25 31.626 204.714 34.396 206.916C37.689 209.534 41.811 211.758 46.783 213.892C52.715 216.422 59.956 218.799 63.249 219.671C71.755 221.873 79.911 223.269 88.177 223.337C99.954 223.446 110.096 220.677 117.357 213.59C120.924 214.027 124.515 214.246 128.109 214.244C131.906 214.236 135.699 213.997 139.467 213.529C146.711 220.661 156.892 223.455 168.712 223.343C176.977 223.277 185.133 221.881 193.617 219.676C196.932 218.804 204.17 216.427 210.105 213.897C215.077 211.76 219.199 209.536 222.514 206.922C225.263 204.719 227.508 202.256 229.079 199.071C231.26 194.709 231.652 189.693 230.017 184.983C231.527 181.379 231.92 177.257 230.721 172.7ZM222.281 184.673C223.952 187.844 224.059 191.427 222.585 194.764C220.349 199.821 214.795 203.805 204.008 208.082C197.3 210.742 191.158 212.443 191.104 212.458C182.232 214.759 174.208 215.928 167.262 215.928C155.76 215.928 147.201 212.754 141.773 206.486C132.594 208.05 123.222 208.103 114.026 206.644C108.591 212.808 100.081 215.928 88.676 215.928C81.729 215.928 73.706 214.759 64.833 212.458C64.779 212.443 58.639 210.742 51.929 208.082C41.143 203.805 35.587 199.824 33.352 194.764C31.878 191.427 31.985 187.844 33.656 184.673C33.81 184.378 33.976 184.091 34.153 183.813C33.1516 182.309 32.4799 180.61 32.182 178.827C31.8842 177.045 31.967 175.22 32.425 173.472C33.089 170.949 34.46 168.851 36.322 167.344C35.425 165.87 34.8365 164.23 34.592 162.522C34.056 158.808 35.289 155.1 38.062 152.076C40.222 149.723 43.275 148.428 46.655 148.428H46.745C44.1965 140.259 42.9044 131.75 42.913 123.193C42.913 76.522 80.749 38.683 127.427 38.683C174.104 38.683 211.94 76.518 211.94 123.193C211.947 131.773 210.646 140.304 208.081 148.492C208.489 148.452 208.889 148.432 209.282 148.431C212.662 148.431 215.716 149.726 217.874 152.079C220.647 155.1 221.881 158.811 221.344 162.525C221.1 164.233 220.511 165.873 219.615 167.347C221.477 168.854 222.849 170.952 223.512 173.475C223.97 175.223 224.053 177.048 223.755 178.831C223.458 180.613 222.786 182.312 221.784 183.816C221.961 184.091 222.129 184.378 222.281 184.673Z",fill:"white"}),w.jsx("path",{d:"M221.784 183.816C222.786 182.312 223.458 180.613 223.756 178.831C224.053 177.048 223.97 175.223 223.512 173.475C222.848 170.952 221.476 168.854 219.615 167.347C220.512 165.873 221.1 164.233 221.344 162.525C221.881 158.811 220.648 155.103 217.874 152.079C215.716 149.726 212.662 148.431 209.282 148.431C208.889 148.431 208.489 148.452 208.081 148.492C210.643 140.304 211.942 131.774 211.933 123.195C211.933 76.5231 174.097 38.6851 127.424 38.6851C80.75 38.6851 42.9099 76.5191 42.9099 123.195C42.9015 131.752 44.1936 140.261 46.742 148.43H46.6519C43.2719 148.43 40.219 149.724 38.06 152.077C35.287 155.098 34.0529 158.81 34.5899 162.523C34.8346 164.231 35.4231 165.872 36.3199 167.346C34.4579 168.852 33.086 170.95 32.422 173.473C31.9642 175.222 31.8817 177.047 32.1799 178.83C32.4781 180.612 33.1501 182.312 34.1519 183.816C33.9739 184.094 33.8099 184.381 33.6549 184.676C31.9849 187.847 31.877 191.43 33.352 194.767C35.588 199.824 41.1419 203.808 51.9289 208.085C58.6359 210.745 64.779 212.446 64.833 212.461C73.705 214.762 81.729 215.931 88.675 215.931C100.081 215.931 108.591 212.811 114.026 206.647C123.222 208.106 132.594 208.052 141.773 206.489C147.201 212.757 155.76 215.931 167.262 215.931C174.208 215.931 182.232 214.762 191.103 212.461C191.158 212.446 197.298 210.745 204.008 208.085C214.795 203.808 220.35 199.824 222.585 194.767C224.059 191.43 223.952 187.847 222.281 184.676C222.129 184.379 221.961 184.091 221.784 183.816ZM110.137 196.997C109.669 197.815 109.168 198.614 108.635 199.391C107.23 201.448 105.382 203.02 103.237 204.188C99.1369 206.424 93.947 207.205 88.675 207.205C80.346 207.205 71.808 205.256 67.023 204.015C66.787 203.954 37.689 195.735 41.373 188.739C41.993 187.562 43.0129 187.092 44.2979 187.092C49.4849 187.092 58.9299 194.816 62.9889 194.816C63.8959 194.816 64.5359 194.43 64.7969 193.488C66.5269 187.284 38.5039 184.676 40.8639 175.692C41.2799 174.102 42.41 173.456 43.998 173.456C50.856 173.455 66.248 185.516 69.467 185.516C69.714 185.516 69.8909 185.443 69.9869 185.291C70.0009 185.268 70.015 185.246 70.028 185.222C71.539 182.727 70.6719 180.913 60.3209 174.573L59.3269 173.968C47.9359 167.074 39.9409 162.925 44.4879 157.975C45.0109 157.404 45.7529 157.151 46.6539 157.151C47.7219 157.151 49.0149 157.508 50.4389 158.108C56.4549 160.645 64.793 167.564 68.276 170.581C68.8239 171.057 69.3683 171.538 69.9089 172.022C69.9089 172.022 74.319 176.608 76.985 176.608C77.599 176.608 78.1199 176.366 78.4729 175.768C80.364 172.58 60.9099 157.838 59.8129 151.755C59.0689 147.634 60.3349 145.546 62.6749 145.546C63.7879 145.546 65.1459 146.02 66.6449 146.971C71.2949 149.922 80.2729 165.35 83.5599 171.352C84.6619 173.363 86.5429 174.213 88.2379 174.213C91.6009 174.213 94.2299 170.87 88.5459 166.622C80.0029 160.23 83.001 149.782 87.078 149.139C87.252 149.111 87.4279 149.097 87.6029 149.097C91.3109 149.097 92.9459 155.486 92.9459 155.486C92.9459 155.486 97.7399 167.524 105.975 175.753C113.447 183.222 114.491 189.351 110.137 196.997ZM136.766 198.407L136.339 198.458L135.611 198.541C135.228 198.581 134.844 198.619 134.459 198.654L134.084 198.688L133.741 198.717L133.255 198.756L132.718 198.795L132.182 198.83L132.063 198.838C131.923 198.846 131.783 198.855 131.641 198.862L131.462 198.872C131.296 198.881 131.13 198.889 130.962 198.896L130.381 198.921L129.854 198.939L129.502 198.949H129.323C129.213 198.949 129.104 198.955 128.994 198.956H128.82C128.71 198.956 128.601 198.956 128.491 198.961L128.043 198.967H127.418C126.927 198.967 126.437 198.962 125.949 198.952L125.553 198.943C125.44 198.943 125.327 198.938 125.216 198.934L124.796 198.922L124.275 198.902L123.805 198.881L123.684 198.876L123.237 198.853C123.112 198.846 122.989 198.84 122.865 198.831L122.576 198.814C122.213 198.791 121.85 198.766 121.487 198.738L121.107 198.707C120.947 198.695 120.787 198.68 120.628 198.666C120.441 198.65 120.254 198.632 120.067 198.614C119.754 198.585 119.441 198.553 119.128 198.519H119.113C123.683 188.324 121.372 178.802 112.137 169.575C106.08 163.526 102.051 154.594 101.215 152.633C99.5229 146.828 95.045 140.375 87.608 140.375C86.979 140.375 86.351 140.425 85.73 140.523C82.472 141.036 79.624 142.911 77.592 145.733C75.396 143.002 73.262 140.831 71.332 139.605C68.422 137.76 65.5179 136.824 62.6889 136.824C59.1579 136.824 56.0019 138.274 53.8019 140.904L53.7459 140.971C53.7039 140.798 53.6639 140.625 53.6229 140.451L53.6179 140.428C53.1992 138.638 52.8477 136.833 52.5639 135.016C52.5639 135.004 52.5639 134.992 52.5579 134.98C52.5359 134.843 52.5159 134.705 52.4949 134.568C52.4334 134.162 52.3757 133.755 52.3219 133.348C52.2979 133.163 52.2719 132.978 52.2489 132.793L52.1809 132.238C52.1589 132.053 52.1409 131.885 52.1209 131.709L52.115 131.665C52.0351 130.945 51.9651 130.225 51.9049 129.503L51.8829 129.226L51.8479 128.754C51.8379 128.625 51.8279 128.495 51.8209 128.365C51.8209 128.334 51.8159 128.304 51.8149 128.275C51.7895 127.913 51.7678 127.55 51.7499 127.187C51.7399 126.998 51.7299 126.81 51.7219 126.62L51.7019 126.124L51.6969 125.974L51.6809 125.517L51.6709 125.128C51.6709 124.973 51.6629 124.818 51.6609 124.663C51.6579 124.508 51.6539 124.338 51.6529 124.174C51.6509 124.01 51.6529 123.848 51.6479 123.685C51.6439 123.521 51.6479 123.358 51.6479 123.195C51.6479 81.3421 85.5789 47.4111 127.436 47.4111C169.292 47.4111 203.222 81.3411 203.222 123.195V124.174C203.222 124.337 203.217 124.501 203.214 124.663C203.214 124.798 203.208 124.931 203.204 125.068C203.204 125.188 203.199 125.309 203.195 125.425C203.195 125.578 203.186 125.731 203.181 125.884V125.896L203.16 126.427C203.153 126.582 203.147 126.738 203.139 126.893L203.134 127.003L203.107 127.499C203.048 128.562 202.967 129.623 202.866 130.683V130.696C202.849 130.87 202.832 131.044 202.813 131.218L202.768 131.629L202.679 132.433L202.628 132.84L202.565 133.319C202.542 133.493 202.519 133.668 202.493 133.841C202.467 134.036 202.438 134.23 202.409 134.424L202.34 134.883L202.258 135.403C202.23 135.576 202.2 135.748 202.168 135.92C202.135 136.093 202.109 136.265 202.079 136.437C202.019 136.781 201.956 137.125 201.89 137.468C201.789 137.981 201.686 138.493 201.58 139.005L201.47 139.512C201.434 139.681 201.395 139.851 201.357 140.02C199.224 137.947 196.399 136.818 193.284 136.818C190.457 136.818 187.55 137.753 184.641 139.598C182.711 140.824 180.578 142.996 178.381 145.726C176.346 142.904 173.498 141.029 170.242 140.516C169.621 140.418 168.993 140.368 168.364 140.368C160.925 140.368 156.45 146.821 154.757 152.626C153.917 154.587 149.887 163.519 143.825 169.577C134.596 178.775 132.268 188.254 136.766 198.407ZM215.007 177.998L214.977 178.087C214.901 178.288 214.813 178.484 214.714 178.674C214.639 178.814 214.558 178.95 214.47 179.082C214.303 179.331 214.12 179.569 213.921 179.793C213.875 179.845 213.831 179.897 213.779 179.948C213.707 180.025 213.634 180.101 213.559 180.175C212.213 181.509 210.161 182.679 207.841 183.752C207.578 183.871 207.311 183.99 207.042 184.11L206.774 184.229C206.595 184.308 206.416 184.386 206.228 184.463C206.049 184.541 205.863 184.619 205.677 184.695L205.119 184.925C203.814 185.462 202.477 185.974 201.173 186.479L200.615 186.696L200.064 186.912C199.697 187.055 199.335 187.198 198.979 187.341L198.448 187.555L197.926 187.768L197.67 187.876C197.499 187.947 197.332 188.018 197.165 188.089C193.328 189.736 190.567 191.411 191.147 193.489C191.163 193.548 191.181 193.604 191.201 193.659C191.253 193.813 191.324 193.958 191.413 194.095C191.465 194.176 191.525 194.253 191.592 194.323C192.274 195.032 193.515 194.92 195.08 194.357C195.3 194.276 195.519 194.192 195.736 194.104L195.872 194.048C196.23 193.896 196.609 193.726 196.996 193.542C197.093 193.496 197.191 193.452 197.289 193.401C199.203 192.465 201.372 191.205 203.524 190.058C204.385 189.593 205.258 189.152 206.142 188.733C208.18 187.774 210.096 187.094 211.636 187.094C212.359 187.094 212.997 187.242 213.529 187.582L213.618 187.641C213.952 187.876 214.232 188.178 214.441 188.528C214.482 188.595 214.522 188.666 214.561 188.739C215.322 190.184 214.685 191.68 213.194 193.147C211.763 194.556 209.537 195.937 207.007 197.215C206.819 197.31 206.631 197.405 206.44 197.498C198.91 201.196 189.049 203.981 188.912 204.016C186.284 204.697 182.526 205.591 178.292 206.26L177.666 206.358L177.563 206.373C177.089 206.445 176.614 206.512 176.138 206.574C175.655 206.639 175.167 206.698 174.676 206.753L174.586 206.763C172.806 206.968 171.019 207.104 169.228 207.169H169.202C168.554 207.192 167.907 207.204 167.259 207.204H166.512C165.524 207.191 164.538 207.146 163.553 207.07C163.53 207.07 163.505 207.07 163.482 207.064C163.129 207.037 162.777 207.004 162.425 206.965C162.06 206.926 161.696 206.882 161.333 206.833C161.094 206.801 160.856 206.765 160.618 206.726C160.376 206.687 160.134 206.647 159.893 206.605L159.564 206.543L159.539 206.538C159.192 206.472 158.847 206.399 158.503 206.319C158.303 206.274 158.104 206.23 157.907 206.176L157.788 206.146C157.69 206.122 157.595 206.096 157.498 206.07L157.445 206.056L157.137 205.966C157.025 205.935 156.913 205.901 156.801 205.868L156.762 205.857L156.471 205.768C156.361 205.734 156.251 205.698 156.142 205.662L155.874 205.573L155.677 205.504C155.487 205.437 155.298 205.368 155.111 205.296L154.933 205.226L154.786 205.168C154.502 205.054 154.22 204.935 153.941 204.81L153.756 204.72L153.725 204.706C153.659 204.675 153.594 204.644 153.528 204.617C153.399 204.555 153.271 204.491 153.144 204.426L153.105 204.407L152.921 204.31C152.594 204.139 152.274 203.957 151.96 203.764L151.788 203.658C151.702 203.605 151.616 203.55 151.532 203.494L151.308 203.346L151.067 203.18L150.923 203.077C150.771 202.969 150.622 202.857 150.476 202.742L150.243 202.563C150.15 202.488 150.058 202.412 149.967 202.335C149.89 202.272 149.815 202.206 149.74 202.14L149.734 202.135C149.653 202.064 149.574 201.993 149.495 201.92C149.417 201.849 149.339 201.777 149.263 201.704L149.254 201.695C149.174 201.619 149.096 201.542 149.019 201.463C148.942 201.385 148.863 201.307 148.788 201.227C148.713 201.148 148.636 201.067 148.562 200.984C148.488 200.902 148.42 200.827 148.35 200.746L148.327 200.719C148.259 200.641 148.192 200.562 148.126 200.481C147.983 200.31 147.844 200.135 147.71 199.956C147.575 199.776 147.443 199.592 147.314 199.405L147.191 199.221C147.027 198.981 146.867 198.739 146.712 198.493C146.596 198.316 146.483 198.138 146.373 197.957C146.302 197.844 146.234 197.73 146.166 197.618L146.138 197.572C146.073 197.462 146.009 197.354 145.947 197.245C145.911 197.186 145.877 197.127 145.845 197.066C145.812 197.004 145.774 196.941 145.739 196.878L145.682 196.779L145.647 196.715C145.58 196.595 145.514 196.474 145.45 196.352C145.42 196.298 145.391 196.244 145.36 196.192L145.271 196.019L145.181 195.848C144.956 195.398 144.743 194.942 144.543 194.48L144.472 194.311C144.426 194.198 144.383 194.086 144.337 193.975C144.315 193.921 144.293 193.868 144.274 193.814C144.167 193.537 144.067 193.257 143.975 192.975C143.942 192.874 143.91 192.775 143.88 192.675C143.808 192.448 143.743 192.219 143.685 191.988C143.614 191.719 143.551 191.448 143.498 191.175C143.487 191.12 143.476 191.065 143.467 191.012C143.415 190.745 143.373 190.476 143.34 190.206C143.332 190.153 143.326 190.1 143.32 190.047L143.303 189.885C143.281 189.673 143.264 189.46 143.254 189.247C143.254 189.193 143.249 189.139 143.247 189.087C143.242 188.981 143.24 188.875 143.239 188.769C143.183 184.496 145.345 180.388 149.968 175.767C158.203 167.54 162.997 155.501 162.997 155.501C162.997 155.501 163.126 154.996 163.394 154.269C163.431 154.168 163.47 154.064 163.514 153.955C163.67 153.548 163.846 153.148 164.041 152.758L164.08 152.683C164.246 152.351 164.428 152.027 164.624 151.712C164.67 151.639 164.714 151.567 164.765 151.494C164.912 151.277 165.067 151.065 165.23 150.86C165.319 150.749 165.416 150.639 165.513 150.532C165.552 150.49 165.59 150.448 165.631 150.408C166.108 149.915 166.653 149.513 167.27 149.299L167.348 149.273C167.4 149.256 167.452 149.24 167.505 149.225C167.566 149.209 167.627 149.195 167.69 149.182L167.719 149.176C167.849 149.15 167.981 149.133 168.114 149.124H168.125C168.194 149.124 168.264 149.117 168.335 149.117C168.424 149.117 168.507 149.117 168.594 149.126C168.684 149.134 168.773 149.144 168.863 149.158C169.605 149.276 170.311 149.718 170.919 150.4C171.15 150.66 171.358 150.94 171.54 151.236C171.66 151.428 171.773 151.631 171.88 151.845C171.923 151.934 171.964 152.016 172.004 152.104C172.108 152.33 172.202 152.56 172.284 152.795C172.479 153.345 172.626 153.911 172.723 154.487C172.807 154.992 172.857 155.502 172.873 156.013C172.881 156.286 172.881 156.563 172.873 156.842C172.819 158.14 172.553 159.421 172.086 160.634C172.044 160.745 171.997 160.857 171.952 160.969C171.86 161.195 171.759 161.417 171.65 161.634C171.569 161.799 171.484 161.965 171.392 162.13C171.332 162.24 171.269 162.35 171.206 162.46C171.045 162.734 170.871 163.006 170.684 163.277L170.571 163.439C170.129 164.055 169.637 164.633 169.099 165.167C168.569 165.698 168.001 166.189 167.4 166.637C166.798 167.083 166.233 167.577 165.711 168.114C164.208 169.691 163.858 171.083 164.196 172.138C164.25 172.304 164.321 172.465 164.407 172.617C164.508 172.791 164.628 172.951 164.764 173.097L164.817 173.152L164.871 173.206C164.925 173.258 164.982 173.309 165.043 173.359L165.103 173.407C165.248 173.519 165.402 173.619 165.563 173.707C165.61 173.732 165.652 173.757 165.705 173.781C165.879 173.866 166.058 173.939 166.242 173.998C166.293 174.015 166.344 174.03 166.396 174.046L166.461 174.063L166.551 174.087L166.628 174.106L166.712 174.124L166.795 174.141L166.874 174.154C166.932 174.164 166.992 174.174 167.052 174.181L167.109 174.19L167.213 174.2L167.277 174.207L167.382 174.214H167.444L167.554 174.22H167.9L167.999 174.214L168.113 174.207L168.252 174.194L168.382 174.179C168.412 174.179 168.442 174.171 168.472 174.165C168.872 174.107 169.264 174.001 169.639 173.849L169.798 173.782C169.887 173.743 169.977 173.702 170.059 173.658C170.235 173.57 170.406 173.47 170.57 173.361C170.799 173.211 171.015 173.043 171.217 172.858C171.265 172.815 171.312 172.769 171.358 172.725C171.381 172.703 171.403 172.682 171.425 172.658C171.469 172.613 171.514 172.569 171.558 172.52C171.878 172.168 172.155 171.78 172.383 171.363C174.34 167.804 176.391 164.298 178.534 160.849L178.828 160.378L179.125 159.907C179.273 159.668 179.423 159.433 179.572 159.199L179.722 158.965C180.22 158.185 180.726 157.41 181.241 156.641L181.546 156.185C182.158 155.278 182.768 154.396 183.373 153.558L183.674 153.143C184.332 152.236 185.017 151.348 185.728 150.482L186.01 150.144C186.057 150.088 186.1 150.032 186.151 149.978C186.244 149.868 186.337 149.761 186.428 149.657C186.474 149.604 186.517 149.552 186.566 149.5L186.834 149.198L186.968 149.051C187.103 148.906 187.235 148.767 187.365 148.634C187.455 148.544 187.538 148.455 187.624 148.371C188.131 147.853 188.69 147.388 189.293 146.985L189.433 146.895C189.567 146.805 189.706 146.721 189.848 146.645C192.212 145.303 194.169 145.204 195.296 146.331C195.978 147.013 196.356 148.144 196.335 149.718C196.335 149.787 196.335 149.857 196.33 149.929V150.006C196.33 150.078 196.324 150.15 196.318 150.223C196.318 150.313 196.308 150.402 196.299 150.492C196.29 150.581 196.285 150.649 196.276 150.729C196.276 150.751 196.272 150.774 196.268 150.798C196.262 150.867 196.253 150.938 196.243 151.009C196.243 151.03 196.243 151.052 196.235 151.074C196.224 151.169 196.21 151.263 196.194 151.357C196.183 151.447 196.168 151.531 196.152 151.619L196.126 151.768C196.1 151.91 196.067 152.05 196.026 152.188C195.948 152.447 195.854 152.7 195.743 152.946C195.588 153.284 195.417 153.613 195.229 153.933C195.125 154.111 195.018 154.286 194.907 154.459C194.793 154.638 194.673 154.819 194.549 155.002C194.233 155.454 193.905 155.897 193.564 156.33L193.408 156.527C192.852 157.22 192.278 157.899 191.686 158.562L191.499 158.772C191.247 159.053 190.991 159.336 190.729 159.62L190.532 159.834C190.401 159.977 190.264 160.12 190.132 160.264C190.001 160.407 189.864 160.552 189.726 160.697L189.315 161.13L188.898 161.566L188.478 162.002C188.196 162.294 187.913 162.586 187.628 162.878C183.573 167.037 179.301 171.182 177.855 173.766C177.758 173.934 177.671 174.108 177.593 174.285C177.387 174.755 177.301 175.157 177.36 175.482C177.379 175.589 177.416 175.691 177.471 175.785C177.552 175.926 177.651 176.056 177.766 176.172C177.819 176.224 177.875 176.272 177.934 176.316C178.232 176.528 178.591 176.637 178.957 176.627H179.071L179.188 176.618L179.305 176.605L179.402 176.591C179.415 176.589 179.429 176.587 179.442 176.583L179.531 176.566L179.554 176.561L179.653 176.54L179.688 176.531C179.723 176.522 179.757 176.513 179.792 176.503C179.827 176.493 179.875 176.48 179.917 176.466C180.093 176.413 180.265 176.35 180.434 176.278C180.523 176.242 180.61 176.203 180.696 176.161C180.741 176.141 180.786 176.12 180.828 176.098L180.962 176.032C181.282 175.866 181.594 175.685 181.898 175.491L182.031 175.401C182.076 175.373 182.121 175.344 182.164 175.312L182.297 175.223L182.368 175.174L182.56 175.039C182.739 174.916 182.906 174.789 183.075 174.66L183.09 174.648L183.359 174.44C183.726 174.15 184.074 173.858 184.39 173.583L184.6 173.399L184.619 173.381L184.729 173.284C184.987 173.052 185.217 172.836 185.408 172.658L185.487 172.581C185.556 172.516 185.619 172.455 185.676 172.403L185.788 172.292L185.828 172.253L185.839 172.242L185.956 172.125L186.03 172.048L186.039 172.041L186.074 172.009L186.118 171.969L186.132 171.956L186.169 171.922L186.373 171.743L186.487 171.641C186.548 171.588 186.607 171.534 186.666 171.479L186.802 171.358C186.827 171.338 186.851 171.316 186.876 171.294L187.019 171.169L187.229 170.984L187.341 170.887C187.776 170.509 188.305 170.052 188.913 169.537L189.162 169.326L189.573 168.981L189.994 168.63C190.544 168.173 191.136 167.688 191.762 167.185L192.173 166.855C192.523 166.576 192.882 166.292 193.246 166.006C193.393 165.891 193.542 165.776 193.694 165.662C194.066 165.373 194.44 165.086 194.817 164.803C195.675 164.155 196.56 163.506 197.456 162.874L197.84 162.606C198.109 162.421 198.377 162.235 198.645 162.054L198.888 161.89C199.367 161.565 199.853 161.248 200.343 160.939L200.586 160.786L200.827 160.636C201.069 160.486 201.309 160.339 201.548 160.196L201.787 160.053L202.265 159.775L202.734 159.506L202.829 159.454L203.2 159.25C203.355 159.166 203.509 159.085 203.663 159.006L203.892 158.888L204.115 158.776C204.193 158.739 204.27 158.7 204.346 158.663C204.848 158.415 205.36 158.187 205.88 157.979C206.021 157.919 206.161 157.865 206.3 157.818L206.71 157.674C206.833 157.633 206.953 157.594 207.068 157.559L207.108 157.547C207.17 157.527 207.232 157.509 207.293 157.493L207.311 157.488C207.439 157.451 207.566 157.419 207.691 157.389H207.7C208.054 157.304 208.414 157.243 208.777 157.206C208.944 157.189 209.111 157.18 209.279 157.181H209.363C209.475 157.181 209.583 157.188 209.69 157.199C209.739 157.199 209.788 157.209 209.836 157.215H209.856C209.904 157.221 209.952 157.228 210 157.239C210.047 157.248 210.095 157.256 210.141 157.267H210.156C210.203 157.277 210.245 157.289 210.294 157.303C210.548 157.374 210.79 157.484 211.012 157.628C211.121 157.699 211.223 157.779 211.317 157.868L211.344 157.894C211.362 157.91 211.379 157.927 211.395 157.944L211.444 157.997C211.846 158.418 212.178 158.901 212.428 159.427L212.466 159.517C212.551 159.717 212.618 159.924 212.666 160.135C212.808 160.781 212.753 161.455 212.508 162.07C212.415 162.318 212.302 162.557 212.169 162.785C211.858 163.309 211.489 163.796 211.07 164.237L210.981 164.332C210.848 164.472 210.71 164.612 210.565 164.752C210.501 164.815 210.434 164.877 210.367 164.94L210.162 165.129L210.055 165.224C209.797 165.454 209.532 165.677 209.263 165.893C209.1 166.025 208.936 166.154 208.77 166.281C208.184 166.729 207.587 167.161 206.979 167.578C206.612 167.83 206.242 168.077 205.869 168.321C204.95 168.924 204.021 169.512 203.083 170.084C201.115 171.294 198.934 172.588 196.609 173.995L196.007 174.36C195.348 174.762 194.726 175.146 194.14 175.512L193.845 175.697L193.287 176.055C192.917 176.292 192.548 176.531 192.179 176.77L191.882 176.966C191.737 177.06 191.593 177.156 191.449 177.252L191.308 177.342L190.876 177.633L190.647 177.79L190.379 177.976L190.13 178.149C189.713 178.444 189.325 178.725 188.968 178.992L188.834 179.094C188.624 179.253 188.416 179.415 188.211 179.58C187.902 179.829 187.62 180.067 187.367 180.296L187.243 180.409C187.172 180.474 187.102 180.539 187.035 180.603C186.989 180.648 186.946 180.693 186.898 180.736L186.834 180.8C186.691 180.944 186.551 181.091 186.416 181.242L186.35 181.318C186.203 181.488 186.075 181.651 185.963 181.81L185.913 181.881C185.825 182.009 185.744 182.141 185.671 182.277C185.652 182.311 185.635 182.345 185.618 182.379L185.569 182.481L185.536 182.555L185.515 182.605L185.498 182.65L185.475 182.711C185.413 182.88 185.37 183.056 185.345 183.234L185.337 183.296L185.331 183.354V183.669C185.331 183.695 185.331 183.721 185.338 183.749L185.343 183.797C185.343 183.823 185.349 183.848 185.353 183.876C185.357 183.902 185.364 183.949 185.372 183.986V183.991C185.379 184.026 185.386 184.06 185.395 184.095C185.404 184.13 185.413 184.17 185.424 184.206C185.443 184.277 185.467 184.347 185.492 184.417C185.508 184.459 185.523 184.5 185.54 184.541C185.54 184.549 185.546 184.558 185.55 184.566L185.586 184.647L185.636 184.758C185.69 184.873 185.749 184.985 185.813 185.094L185.879 185.208L185.947 185.322C185.959 185.341 185.973 185.359 185.988 185.376L186.01 185.399L186.035 185.422L186.061 185.442C186.099 185.469 186.14 185.49 186.183 185.505C186.206 185.513 186.23 185.519 186.254 185.525C186.831 185.655 188.017 185.178 189.593 184.346C189.682 184.298 189.78 184.248 189.875 184.196L190.355 183.934L190.589 183.804C190.756 183.715 190.926 183.614 191.1 183.515L191.417 183.336C193.5 182.137 195.988 180.597 198.56 179.093C198.801 178.952 199.043 178.811 199.285 178.672L199.771 178.361C200.335 178.038 200.902 177.719 201.471 177.404C202.188 177.01 202.91 176.626 203.639 176.254L204.115 176.013C204.431 175.857 204.744 175.705 205.053 175.557C205.651 175.273 206.256 175.003 206.868 174.748L207.203 174.612L207.243 174.596C209.018 173.893 210.627 173.459 211.929 173.459C212.21 173.456 212.492 173.48 212.769 173.528H212.778C212.867 173.544 212.948 173.562 213.031 173.582H213.046C213.259 173.636 213.466 173.713 213.662 173.812C213.937 173.954 214.184 174.143 214.393 174.371C214.489 174.477 214.574 174.592 214.649 174.714C214.789 174.929 214.899 175.162 214.978 175.406C215.01 175.501 215.038 175.594 215.067 175.693C215.278 176.45 215.257 177.253 215.007 177.998Z",fill:"#FF9D00"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M203.21 123.685V123.194C203.21 81.34 169.292 47.411 127.435 47.411C85.5791 47.411 51.648 81.342 51.648 123.194V123.358C51.646 123.467 51.645 123.576 51.648 123.685C51.6529 123.848 51.6546 124.011 51.653 124.174L51.6581 124.534L51.661 124.663C51.661 124.723 51.6631 124.782 51.6651 124.842C51.6681 124.937 51.67 125.033 51.67 125.128L51.681 125.517L51.697 125.974L51.702 126.124L51.722 126.597V126.62C51.73 126.805 51.7401 126.989 51.7491 127.173L51.75 127.187C51.76 127.375 51.7701 127.564 51.7821 127.753C51.7921 127.927 51.802 128.101 51.815 128.275L51.8171 128.306C51.8258 128.455 51.8358 128.605 51.847 128.754L51.85 128.794L51.883 129.226L51.8861 129.254C51.8921 129.338 51.898 129.422 51.906 129.503C51.9658 130.224 52.0355 130.945 52.1151 131.664L52.12 131.709L52.181 132.238L52.2491 132.793L52.299 133.17L52.322 133.347C52.3753 133.755 52.433 134.162 52.495 134.568L52.4991 134.595L52.558 134.979C52.8435 136.808 53.1971 138.626 53.618 140.429L53.6231 140.451L53.655 140.586L53.746 140.971L53.802 140.904C56.002 138.274 59.158 136.824 62.689 136.824C65.519 136.824 68.4221 137.76 71.3321 139.605C73.2621 140.831 75.3961 143.002 77.5921 145.733C79.6241 142.911 82.4721 141.035 85.7301 140.523C86.3513 140.425 86.9792 140.376 87.6081 140.375C95.0441 140.375 99.523 146.828 101.215 152.633C102.051 154.594 106.08 163.526 112.156 169.568C121.392 178.795 123.703 188.316 119.132 198.511H119.148C119.459 198.546 119.772 198.578 120.087 198.607C120.274 198.625 120.46 198.643 120.648 198.659L120.714 198.665L121.127 198.7L121.507 198.73C121.869 198.758 122.232 198.784 122.596 198.807L122.885 198.824L123.114 198.838L123.256 198.846L123.703 198.869L123.825 198.874L124.294 198.895L124.816 198.915L125.235 198.927L125.305 198.929C125.394 198.933 125.483 198.936 125.572 198.936L125.668 198.939C126.258 198.953 126.847 198.96 127.437 198.959H128.063L128.51 198.954C128.62 198.949 128.729 198.949 128.84 198.949H129.014L129.165 198.945C129.224 198.943 129.283 198.941 129.343 198.941H129.522L129.873 198.932L130.401 198.914L130.982 198.888C131.15 198.882 131.316 198.873 131.482 198.865L131.661 198.854L131.927 198.84L132.083 198.831L132.201 198.823L132.738 198.788L133.274 198.749L133.761 198.71L134.103 198.681L134.479 198.647C135.107 198.591 135.733 198.525 136.359 198.45L136.786 198.399C132.287 188.247 134.616 178.767 143.813 169.577C149.876 163.519 153.905 154.587 154.745 152.625C156.438 146.821 160.914 140.368 168.352 140.368C168.981 140.368 169.61 140.418 170.231 140.516C173.486 141.028 176.334 142.904 178.369 145.726C180.566 142.996 182.699 140.823 184.63 139.597C187.539 137.753 190.445 136.817 193.272 136.817C196.388 136.817 199.212 137.947 201.345 140.02C201.384 139.851 201.422 139.682 201.459 139.512L201.568 139.006C201.607 138.821 201.646 138.636 201.683 138.451C201.749 138.124 201.815 137.797 201.878 137.467C201.944 137.125 202.007 136.781 202.067 136.437L202.098 136.251C202.117 136.141 202.135 136.031 202.156 135.92C202.19 135.748 202.218 135.576 202.246 135.402L202.257 135.336L202.328 134.883L202.398 134.424V134.42C202.449 134.081 202.497 133.742 202.542 133.403L202.553 133.319L202.616 132.841L202.667 132.433L202.757 131.629L202.792 131.306L202.801 131.218C202.82 131.044 202.838 130.87 202.854 130.696V130.682C202.867 130.544 202.881 130.405 202.893 130.266C202.964 129.478 203.024 128.686 203.072 127.891C203.081 127.761 203.088 127.63 203.096 127.499V127.493L203.122 127.002L203.128 126.892C203.144 126.56 203.158 126.228 203.169 125.896V125.884L203.174 125.754C203.179 125.645 203.183 125.535 203.183 125.425L203.185 125.381C203.189 125.278 203.193 125.172 203.193 125.067L203.196 124.977C203.199 124.872 203.202 124.768 203.202 124.663L203.204 124.574C203.207 124.441 203.21 124.307 203.21 124.174V123.685ZM108.638 199.391C114.64 190.59 114.214 183.984 105.98 175.754C97.7441 167.523 92.951 155.487 92.951 155.487C92.951 155.487 91.1621 148.496 87.0821 149.138C83.0021 149.78 80.0091 160.227 88.5521 166.622C97.0941 173.017 86.8521 177.353 83.5641 171.352C80.2761 165.35 71.299 149.923 66.645 146.972C61.991 144.021 58.718 145.675 59.815 151.757C60.36 154.776 65.4281 159.929 70.1631 164.743C74.9671 169.627 79.428 174.163 78.474 175.768C76.581 178.955 69.9141 172.023 69.9141 172.023C69.9141 172.023 49.038 153.025 44.494 157.976C40.304 162.539 46.765 166.418 56.7211 172.397C57.5671 172.905 58.4391 173.429 59.3321 173.969C70.7231 180.865 71.609 182.684 69.992 185.293C69.395 186.257 65.582 183.968 60.892 181.153C52.897 176.352 42.3551 170.023 40.8661 175.688C39.5781 180.591 47.334 183.595 54.368 186.32C60.228 188.59 65.5881 190.666 64.7991 193.484C63.9821 196.406 59.5531 193.969 54.7121 191.305C49.2771 188.314 43.3221 185.038 41.3731 188.735C37.6901 195.725 66.7831 203.954 67.0231 204.015C76.4231 206.453 100.295 211.619 108.638 199.391ZM147.303 199.391C141.301 190.59 141.727 183.984 149.962 175.754C158.197 167.523 162.99 155.487 162.99 155.487C162.99 155.487 164.779 148.496 168.859 149.138C172.939 149.78 175.932 160.227 167.39 166.622C158.847 173.017 169.089 177.353 172.377 171.352C175.666 165.35 184.637 149.923 189.291 146.972C193.945 144.021 197.22 145.675 196.122 151.757C195.578 154.776 190.509 159.929 185.774 164.744C180.97 169.628 176.509 174.163 177.462 175.768C179.355 178.955 186.027 172.019 186.027 172.019C186.027 172.019 206.902 153.022 211.448 157.973C215.637 162.535 209.176 166.415 199.219 172.394C198.348 172.917 197.478 173.441 196.609 173.966C185.218 180.862 184.332 182.681 185.948 185.289C186.546 186.254 190.359 183.964 195.048 181.149C203.044 176.349 213.586 170.019 215.075 175.685C216.364 180.588 208.607 183.592 201.573 186.317C195.713 188.587 190.353 190.663 191.141 193.481C191.957 196.402 196.385 193.965 201.225 191.301C206.66 188.31 212.616 185.032 214.564 188.732C218.248 195.726 189.15 203.947 188.915 204.007C179.515 206.453 155.643 211.619 147.303 199.391Z",fill:"#FFD21E"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M152.047 102.567C153.229 102.985 154.108 104.257 154.944 105.468C156.074 107.104 157.126 108.627 158.74 107.769C160.644 106.756 162.205 105.202 163.225 103.302C164.246 101.402 164.681 99.2427 164.475 97.096C164.321 95.4908 163.813 93.9398 162.987 92.5548C162.161 91.1697 161.038 89.985 159.7 89.0862C158.361 88.1874 156.839 87.5968 155.245 87.3569C153.65 87.117 152.022 87.2339 150.478 87.699C148.934 88.1639 147.513 88.9653 146.316 90.0455C145.119 91.1257 144.176 92.4578 143.556 93.946C142.936 95.4342 142.653 97.0415 142.728 98.652C142.804 100.263 143.235 101.836 143.992 103.26C144.74 104.667 146.4 104.003 148.152 103.302C149.525 102.753 150.956 102.181 152.047 102.567ZM100.672 102.567C99.49 102.985 98.611 104.258 97.775 105.468C96.645 107.105 95.592 108.627 93.979 107.769C91.5845 106.501 89.7482 104.386 88.8278 101.838C87.9075 99.2895 87.9692 96.4896 89.0008 93.9841C90.0324 91.4786 91.9601 89.4471 94.408 88.2855C96.856 87.1239 99.6488 86.9156 102.242 87.701C104.307 88.3228 106.141 89.5427 107.513 91.2065C108.885 92.8704 109.732 94.9035 109.949 97.049C110.165 99.1945 109.74 101.356 108.728 103.26C107.979 104.667 106.319 104.003 104.567 103.303C103.193 102.753 101.764 102.181 100.672 102.567ZM144.099 149.318C152.242 142.903 155.233 132.429 155.233 125.977C155.233 120.877 151.802 122.482 146.309 125.202L145.999 125.355C140.957 127.852 134.245 131.177 126.877 131.177C119.508 131.177 112.796 127.852 107.755 125.354C102.084 122.545 98.527 120.783 98.527 125.978C98.527 132.634 101.709 143.563 110.443 149.912C111.596 147.573 113.219 145.497 115.211 143.813C117.202 142.129 119.52 140.874 122.018 140.126C122.89 139.866 123.788 141.367 124.707 142.904C125.594 144.386 126.501 145.902 127.423 145.902C128.406 145.902 129.371 144.408 130.314 142.95C131.299 141.425 132.26 139.94 133.189 140.237C137.864 141.738 141.775 144.993 144.099 149.318Z",fill:"#32343D"}),w.jsx("path",{d:"M144.097 149.317C139.856 152.659 134.219 154.9 126.878 154.9C119.981 154.9 114.587 152.922 110.443 149.911C111.596 147.572 113.219 145.495 115.211 143.812C117.202 142.128 119.52 140.873 122.018 140.125C123.73 139.614 125.545 145.901 127.423 145.901C129.433 145.901 131.37 139.655 133.189 140.236C137.863 141.738 141.773 144.993 144.097 149.317Z",fill:"#FF323D"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M81.2 111.64C80.2312 112.288 79.1173 112.687 77.9572 112.801C76.7971 112.916 75.6267 112.742 74.55 112.295C73.6893 111.94 72.9072 111.418 72.2488 110.759C71.5903 110.101 71.0684 109.319 70.713 108.458C70.267 107.381 70.0935 106.211 70.2082 105.051C70.3228 103.891 70.7219 102.777 71.37 101.808C72.1488 100.642 73.2558 99.7333 74.5512 99.1967C75.8466 98.6601 77.272 98.5197 78.6471 98.7935C80.0223 99.0672 81.2853 99.7427 82.2764 100.734C83.2675 101.726 83.9422 102.99 84.215 104.365C84.4883 105.74 84.3477 107.165 83.8113 108.46C83.2748 109.755 82.3654 110.861 81.2 111.64ZM182.613 111.64C181.644 112.288 180.53 112.687 179.37 112.801C178.209 112.916 177.039 112.742 175.962 112.295C175.101 111.939 174.319 111.418 173.661 110.759C173.003 110.101 172.481 109.319 172.125 108.458C171.68 107.381 171.507 106.211 171.621 105.051C171.736 103.891 172.135 102.777 172.782 101.808C173.364 100.936 174.133 100.205 175.032 99.6658C175.931 99.1269 176.938 98.7942 177.981 98.6917C179.025 98.5891 180.078 98.7193 181.064 99.0728C182.051 99.4264 182.947 99.9944 183.688 100.736C184.68 101.727 185.355 102.99 185.628 104.365C185.902 105.74 185.761 107.165 185.224 108.46C184.687 109.755 183.779 110.861 182.613 111.64Z",fill:"#FFAD03"})]})}const qg="Collapsible",[Ex,vb]=ds(qg),[Sx,C1]=Ex(qg),Rx=d.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:i,onOpenChange:a,...s}=e,[l=!1,u]=r1({prop:r,defaultProp:o,onChange:a});return d.createElement(Sx,{scope:n,disabled:i,contentId:Jo(),open:l,onOpenToggle:d.useCallback(()=>u(c=>!c),[u])},d.createElement(Ue.div,re({"data-state":x1(l),"data-disabled":i?"":void 0},s,{ref:t})))}),Px="CollapsibleTrigger",kx=d.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=C1(Px,n);return d.createElement(Ue.button,re({type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":x1(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled},r,{ref:t,onClick:Me(e.onClick,o.onOpenToggle)}))}),Xg="CollapsibleContent",Lx=d.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=C1(Xg,e.__scopeCollapsible);return d.createElement(er,{present:n||o.open},({present:i})=>d.createElement(Tx,re({},r,{ref:t,present:i})))}),Tx=d.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...i}=e,a=C1(Xg,n),[s,l]=d.useState(r),u=d.useRef(null),c=Rt(t,u),f=d.useRef(0),p=f.current,v=d.useRef(0),C=v.current,g=a.open||s,x=d.useRef(g),h=d.useRef();return d.useEffect(()=>{const m=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(m)},[]),xo(()=>{const m=u.current;if(m){h.current=h.current||{transitionDuration:m.style.transitionDuration,animationName:m.style.animationName},m.style.transitionDuration="0s",m.style.animationName="none";const y=m.getBoundingClientRect();f.current=y.height,v.current=y.width,x.current||(m.style.transitionDuration=h.current.transitionDuration,m.style.animationName=h.current.animationName),l(r)}},[a.open,r]),d.createElement(Ue.div,re({"data-state":x1(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!g},i,{ref:c,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":C?`${C}px`:void 0,...e.style}}),g&&o)});function x1(e){return e?"open":"closed"}const Nx=Rx,$x=Nx,_x=kx,Ox=Lx;function Dx({missingModel:e,resolveMutationToUse:t,unResolveMutationToUse:n}){const[r,o]=d.useState(!1),[i,a]=d.useState(!1),[s,l]=d.useState(""),[u,c]=d.useState(!0);return i?w.jsxs("div",{className:"w-full flex flex-row items-center justify-between",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(z3,{className:"w-4 h-4 text-green-400"}),w.jsx("h3",{className:"text-white font-bold",children:s}),w.jsx("h3",{className:"text-[#999] font-bold line-through ml-2",children:e.filename})]}),w.jsx(Et,{size:"sm",onClick:async f=>{f.preventDefault(),o(!0);try{const p=await n.mutateAsync({filename:e.filename});console.log("mutation:",p),a(!1),l("")}catch{Un.error("something went wrong when attempting to edit your model. please try again.")}finally{o(!1)}},children:"Edit"})]}):w.jsxs($x,{open:u,onOpenChange:c,className:"w-full flex flex-col items-start space-y-4",children:[w.jsxs("div",{className:"w-full flex items-center justify-between space-x-4",children:[w.jsx("div",{className:"w-full flex flex-row items-center justify-between",children:w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[r?w.jsx(Cu,{className:" text-orange-500 animate-spin w-5 h-5"}):w.jsx(F3,{className:"w-5 h-5 text-red-500"}),w.jsx("h3",{className:"text-white text-lg font-bold",children:e.filename}),w.jsxs(Ec,{className:"flex flex-row items-center gap-2",children:[w.jsx(oh,{className:"w-4 h-4"}),e.node_type]})]})}),w.jsx(_x,{asChild:!0,children:w.jsxs(Et,{className:"flex flex-row items-center gap-2",children:[w.jsx(B3,{className:"h-4 w-4"}),u?"hide suggestions":"show suggestions",w.jsx("span",{className:"sr-only",children:"Toggle"})]})})]}),w.jsx(Ox,{className:"space-y-2 w-full",children:w.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[w.jsx("div",{className:"w-full flex flex-col items-start gap-4",children:w.jsxs("div",{className:"w-full flex flex-col items-start gap-",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(H3,{className:"w-4 h-4 text-green-400"}),w.jsx("h4",{className:"text-white text-md font-semibold",children:"Replace with"})]}),e.suggestions.map(f=>{var p;return w.jsxs("div",{className:"w-full flex flex-row items-center justify-between my-1",children:[w.jsxs("div",{className:"flex flex-row items-center space-x-2",children:[f.source==="civitai"?w.jsx("img",{alt:`civitai logo for model ${f.filename}`,src:"/civitai-logo-github.png",className:"ph-no-capture w-5 h-5"}):w.jsx(bx,{className:"w-5 h-5"}),w.jsx("a",{href:f.url,target:"_blank",children:w.jsx("p",{className:"text-white text-sm font-medium underline decoration-dotted",children:f.filename})}),w.jsxs(Ec,{className:"flex flex-row items-center gap-2",children:[w.jsx(oh,{className:"w-4 h-4"}),f.node_type]}),f.sha256_checksum&&w.jsxs(Ec,{className:"flex flex-row items-center gap-2",children:[w.jsx(W3,{className:"w-4 h-4"}),`sha256: ${(p=f.sha256_checksum)==null?void 0:p.slice(0,6)}...`]})]}),w.jsx("div",{className:"flex flex-row items-center gap-2",children:w.jsx(Et,{size:"sm",className:"border border-[#222] shadow-sm shadow-[#fff]",onClick:async v=>{v.preventDefault(),o(!0);try{const C=await t.mutateAsync({filename:e.filename,node_type:e.node_type,source:{type:f.civitai_file_id?"civitai":"hf",file_id:f.hf_file_id||f.civitai_file_id,url:null}});console.log("mutation:",C),l(f.filename),a(!0)}catch{Un.error("there was an error when selecting the suggestion, please try again!")}finally{o(!1)}},children:"Select"})})]},`${f.civitai_file_id}_${f.hf_file_id}`)})]})}),w.jsx(Yg,{className:"bg-[#444]"})]})})]})}const Mx={flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out"},jx={borderColor:"#2196f3"},Ax={borderColor:"#00e676"},Ix={borderColor:"#ff1744"};function Fx(){const[e,t]=O.useState(!0),[n,r]=O.useState(),o=ps(),i=U2();O.useEffect(()=>{t(!1)},[]);const[a,s]=O.useState(""),[l,u]=O.useState(!1),[c,f]=O.useState(!1),[p,v]=O.useState([]),[C,g]=O.useState([]),[x,h]=d.useState(!1),[m,y]=d.useState(!1),E=Dr({mutationFn:async({import_json:U,name:ue,partiallyResolved:Z})=>{var ee;console.log("importProjectMutation. entered function!");const _=JSON.parse(U),M=new Set,W=C.filter(me=>M.has(me.filename)?!1:(M.add(me.filename),!0));console.log("importProjectMutation final_import_json:",_),console.log("importProjectMutation uniqueResolvedMissingModels:",W),console.log("importProjectMutation name:",ue);const F=!!Z;console.log("importProjectMutation partiallyResolvedBool:",F);const oe=await(await fetch("/api/import_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({import_json:_,resolved_missing_models:W,skipping_model_validation:F,name:ue})})).json();return console.log("DATA:",oe),!oe.success&&((ee=oe.missing_models)==null?void 0:ee.length)>0?(console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${oe.success}. data.missing_models: ${oe.missing_models}`),Un.error(oe.error),v(oe.missing_models)):!oe.success&&oe.error?Un.error(oe.error):i("/"),oe},onSuccess:async()=>{await o.invalidateQueries({queryKey:["projects"]})}}),R=Dr({mutationFn:async({filename:U,node_type:ue,source:Z})=>{if(!U||!ue||!Z){Un.error("something went wrong when resolving your model. please try again.");return}try{g([...C,{filename:U,node_type:ue,source:Z}])}catch{Un.error("something went wrong when resolving your model. please try again.");return}Un.success("successfully resolved")}}),b=Dr({mutationFn:async({filename:U})=>{if(!U){Un.error("something went wrong when attempting to edit your model. please try again.");return}try{g(C.filter(ue=>ue.filename!==U))}catch{Un.error("something went wrong when attempting to edit your model. please try again.");return}}});d.useEffect(()=>{p.length>0&&C.length>0&&p.length===C.length?(console.log("RESOLVED all missing models"),h(!0)):(console.log("HAVE NOT RESOLVED all missing models"),h(!1))},[p,C]),d.useEffect(()=>{f(E.isPending)},[E.isPending]);const k=d.useCallback(U=>{if(U.length===0){r(void 0);return}U.slice(0,1).forEach(ue=>{const Z=new FileReader;Z.onabort=()=>console.log("file reading was aborted"),Z.onerror=()=>console.log("file reading has failed"),Z.onload=()=>{const _=Z.result;if(!_){r(void 0);return}if(typeof _=="string")r(_);else{const W=new Uint8Array(_),F=[];for(var M=0;M({...Mx,...K?jx:{},...V?Ax:{},...le?Ix:{}}),[K,V,le]);if(!e)return w.jsxs(w.Fragment,{children:[w.jsx(ni,{onOpenChange:U=>u(U),open:l,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsx(mo,{children:w.jsx(Qn,{children:"Import project"})}),w.jsx("div",{className:"grid gap-4 py-4",children:w.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[w.jsx(ku,{htmlFor:"name",className:"text-right",children:"Name"}),w.jsx(Pu,{id:"name",placeholder:"",className:"col-span-3",value:a,onChange:U=>s(U.target.value)})]})}),w.jsx(Ql,{children:w.jsx(Et,{type:"submit",onClick:U=>{U.preventDefault(),n&&(E.mutate({import_json:n,name:a}),u(!1))},children:"Import"})})]})}),w.jsx(ni,{onOpenChange:U=>f(U),open:c,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsxs(mo,{children:[w.jsx(Qn,{children:"Importing project..."}),w.jsx(qd,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Cu,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsx(ni,{onOpenChange:U=>y(U),open:m,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsxs(mo,{children:[w.jsx(Qn,{children:"You've only partially resolved the missing models, are you sure you want to skip resolving all models?"}),w.jsx(qd,{children:"You will probably face errors when running the workflow in ComfyUI and might have to upload replacement models to run the workflow."})]}),w.jsxs(Ql,{children:[w.jsx(Et,{onClick:U=>{U.preventDefault(),y(!1)},children:"Cancel"}),w.jsx(Et,{onClick:U=>{U.preventDefault(),n&&E.mutate({import_json:n,name:a,partiallyResolved:!0})},children:"Yes, skip"})]})]})}),w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-3xl font-semibold",children:"Import workflow"}),w.jsxs("p",{className:"mt-5 font-medium text-gray-700",children:["Drag & drop a ",w.jsx("b",{children:"ComfyUI workflow json file"})," or ",w.jsx("b",{children:"ComfyUI Launcher json file"})," to run it with ",w.jsx("b",{children:"ZERO setup"}),"."]})]}),w.jsxs("div",{className:"flex flex-col mt-10",children:[w.jsxs("div",{className:"cursor-pointer",...N({style:q}),children:[w.jsx("input",{...j()}),w.jsx("p",{children:"Drag & drop your json file here"})]}),w.jsx("aside",{className:"mt-4",children:w.jsx("ul",{children:L.slice(0,1).map(U=>w.jsxs("li",{className:"font-medium text-sm",children:[U.name," - ",U.size," bytes"]},U.name))})})]}),p.length>0&&w.jsxs(Fg,{className:"bg-[#0a0a0a] backdrop-blur-xl border-2 border-[#444] w-full",children:[w.jsxs(zg,{children:[w.jsx(Ug,{className:"text-white",children:x?"All unrecognized models have been resolved.":"These models were not recognized"}),w.jsx(Bg,{className:"text-[#999]",children:x?"Please try importing again.":"Replace missing models with the models that are available to avoid getting errors."})]}),w.jsx(Vg,{className:"flex flex-col gap-6 space-y-5",children:p.map(U=>w.jsx(Dx,{missingModel:U,resolveMutationToUse:R,unResolveMutationToUse:b},`${U.filename}_${U.node_type}_${U.dest_relative_path}`))})]}),w.jsx("div",{className:"mt-5",children:w.jsx(Et,{variant:"default",disabled:!n,onClick:U=>{U.preventDefault(),n&&(p.length>0&&!x?y(!0):u(!0))},children:"Import"})})]})]})}function zx(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(xu,{})}),w.jsx(Fx,{})]})}function Ux({item:{id:e,title:t,description:n,thumbnail:r,isThumbnailVideo:o,credits:i}}){const a=ps(),s=U2(),l=Dr({mutationFn:async({template_id:g,name:x})=>await(await fetch("/api/create_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template_id:g,name:x})})).json(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),s("/")}}),[u,c]=O.useState(""),[f,p]=O.useState(!1),[v,C]=O.useState(!1);return d.useEffect(()=>{C(l.isPending)},[l.isPending]),w.jsxs(w.Fragment,{children:[w.jsx(ni,{onOpenChange:g=>p(g),open:f,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsx(mo,{children:w.jsx(Qn,{children:"Create project"})}),w.jsx("div",{className:"grid gap-4 py-4",children:w.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[w.jsx(ku,{htmlFor:"name",className:"text-right",children:"Name"}),w.jsx(Pu,{id:"name",placeholder:"",className:"col-span-3",value:u,onChange:g=>c(g.target.value)})]})}),w.jsx(Ql,{children:w.jsx(Et,{type:"submit",onClick:g=>{g.preventDefault(),l.mutate({template_id:e,name:u}),p(!1)},children:"Create"})})]})}),w.jsx(ni,{onOpenChange:g=>C(g),open:v,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsxs(mo,{children:[w.jsx(Qn,{children:"Creating project..."}),w.jsx(p1,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Cu,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsxs("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:[w.jsxs("div",{className:"flex flex-row justify-between space-x-5",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-lg font-semibold",children:t}),w.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:n})]}),w.jsx("div",{className:"flex flex-col",children:w.jsx(Et,{onClick:g=>{g.preventDefault(),p(!0)},variant:"default",children:"Create"})})]}),r&&!o&&w.jsx("img",{src:r,className:"mt-4 w-full rounded-md"}),r&&o&&w.jsx("video",{muted:!0,loop:!0,autoPlay:!0,src:r,className:"mt-4 w-full rounded-md"}),i&&w.jsx("a",{href:i,target:"_blank",children:w.jsxs("div",{className:"mt-5 text-xs font-medium text-gray-500 flex items-center",children:["Credits ",w.jsx(V3,{className:"ml-1 w-3 h-3"})]})})]})]})}const Bx="/assets/thumbnail-C9PpGAWR.webp",Vx="/assets/thumbnail-D5odPwq0.webp",Wx="/assets/thumbnail-eWYeQc2f.webp",Hx="/assets/thumbnail-B-W0ErKu.webp",Kx="/assets/thumbnail-CLQIOTWC.mp4",Qx="/assets/thumbnail-DvLaklfj.webp",Gx=[{id:"empty",title:"Empty",description:"Blank new ComfyUI project",thumbnail:""},{id:"animate_diff",title:"AnimateDiff",description:"Create animations from a prompt",thumbnail:Bx,credits:"https://comfyworkflows.com/workflows/cc4b1b3f-735a-4e22-b241-148606544301"},{id:"svd",title:"Stable Video Diffusion",description:"Create videos from a prompt",thumbnail:Vx,credits:"https://comfyworkflows.com/workflows/ae9275b2-c303-48fb-a539-13451dd93808"},{id:"upscale",title:"Upscaling",description:"Upscale images with high quality",thumbnail:Wx,credits:"https://comfyworkflows.com/workflows/810e1c6e-12ad-4487-8dc3-d54fadf8319f"},{id:"img2img",title:"Image to Image (img2img)",description:"Stylize any input image (e.g. cartoon)",thumbnail:Hx,credits:"https://comfyworkflows.com/workflows/e20d73bf-116a-49e1-a869-b7f47b0056e8"},{id:"vid2vid",title:"Video to Video (vid2vid)",description:"Stylize any input video (e.g. anime style)",thumbnail:Kx,isThumbnailVideo:!0,credits:"https://comfyworkflows.com/workflows/84e00774-4a21-4555-b4dd-063eec3e604a"},{id:"img2vid",title:"Image to Video (img2vid)",description:"Create videos from an input image using Stable Video Diffusion",thumbnail:Qx,credits:"https://comfyworkflows.com/workflows/14e821f5-8111-4178-8d6e-c43ab02d8376"}];function Yx(){return w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsx("div",{children:w.jsx("h1",{className:"text-3xl font-semibold",children:"New workflow"})}),w.jsx("div",{className:"flex flex-col mt-10",children:w.jsx("div",{children:w.jsx(Bv,{itemKey:e=>e.id,columnGutter:20,columnWidth:350,items:Gx,render:e=>w.jsx(Ux,{item:e.data})})})})]})}function qx(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(xu,{})}),w.jsx(Yx,{})]})}const Xx=1,Zx=1e6;let Sc=0;function Jx(){return Sc=(Sc+1)%Number.MAX_SAFE_INTEGER,Sc.toString()}const Rc=new Map,Jh=e=>{if(Rc.has(e))return;const t=setTimeout(()=>{Rc.delete(e),Ca({type:"REMOVE_TOAST",toastId:e})},Zx);Rc.set(e,t)},eb=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,Xx)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?Jh(n):e.toasts.forEach(r=>{Jh(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},pl=[];let hl={toasts:[]};function Ca(e){hl=eb(hl,e),pl.forEach(t=>{t(hl)})}function tb({...e}){const t=Jx(),n=o=>Ca({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>Ca({type:"DISMISS_TOAST",toastId:t});return Ca({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function nb(){const[e,t]=d.useState(hl);return d.useEffect(()=>(pl.push(t),()=>{const n=pl.indexOf(t);n>-1&&pl.splice(n,1)}),[e]),{...e,toast:tb,dismiss:n=>Ca({type:"DISMISS_TOAST",toastId:n})}}function rb(){const[e,t]=O.useState(),n=Tv({queryKey:["settings"],queryFn:async()=>await(await fetch("/api/get_config")).json(),enabled:!e});d.useEffect(()=>{n.data&&t(n.data.credentials.civitai.apikey)},[n.data]);const{toast:r}=nb(),o=Dr({mutationFn:async({civitai_api_key:i})=>await(await fetch("/api/update_config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({credentials:{civitai:{apikey:i}}})})).json(),onSuccess:async()=>{r({title:"Saved your settings!"})}});return n.isLoading?w.jsx("div",{children:"Loading..."}):w.jsx(w.Fragment,{children:w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsxs("div",{className:"flex flex-col space-y-2",children:[w.jsx(ku,{htmlFor:"name",className:"text-left",children:"CivitAI API Key"}),w.jsx(Pu,{id:"name",placeholder:"Your CivitAI API key",className:"w-fit",value:e,required:!0,onChange:i=>t(i.target.value)}),w.jsxs("p",{className:"text-xs font-medium text-gray-600",children:["You can get your CivitAI API key from your ",w.jsx("a",{href:"https://civitai.com/user/account",target:"_blank",rel:"noreferrer",children:"CivitAI account settings page"}),".",w.jsx("br",{}),'Scroll to the bottom of the page to the section titled "API Keys", and create one.',w.jsx("br",{}),w.jsx("br",{}),"This key is saved locally and ONLY used to download missing models directly from CivitAI. It is NEVER sent anywhere else."]})]}),w.jsx("div",{children:w.jsx(Et,{onClick:i=>{i.preventDefault(),o.mutate({civitai_api_key:e||""})},variant:"default",className:"mt-5",children:o.isPending?"Saving...":"Save"})})]})})}function ob(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(xu,{})}),w.jsx(rb,{})]})}const ib=d.createContext(void 0),ab={setTheme:e=>{},themes:[]},sb=()=>{var e;return(e=d.useContext(ib))!==null&&e!==void 0?e:ab},lb=({...e})=>{const{theme:t="system"}=sb();return w.jsx(yx,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},ub=new W7,cb=$y([{path:"/",element:w.jsx(qw,{})},{path:"/import",element:w.jsx(zx,{})},{path:"/new",element:w.jsx(qx,{})},{path:"/settings",element:w.jsx(ob,{})}]);Pc.createRoot(document.getElementById("root")).render(w.jsx(O.StrictMode,{children:w.jsxs(Y7,{client:ub,children:[w.jsx(zy,{router:cb}),w.jsx(lb,{})]})})); +Defaulting to \`${rf}\`.`}function Qg(e){return wx.includes(e)}const Gg=Kg,Yg=d.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>w.jsx(Gg,{ref:o,decorative:n,orientation:t,className:we("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));Yg.displayName=Gg.displayName;const xx=wu("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ec({className:e,variant:t,...n}){return w.jsx("div",{className:we(xx({variant:t}),e),...n})}function bx({className:e}){return w.jsxs("svg",{className:e,width:"256",height:"256",viewBox:"0 0 256 256",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("path",{d:"M230.721 172.7C230.183 170.673 229.313 168.75 228.146 167.008C228.396 166.091 228.587 165.159 228.714 164.217C229.543 158.241 227.471 152.77 223.567 148.537C221.452 146.225 219.185 144.698 216.784 143.761C218.36 137.018 219.157 130.117 219.161 123.193C219.161 120.03 218.982 116.932 218.682 113.88C218.526 112.356 218.337 110.836 218.115 109.32C217.428 104.847 216.408 100.431 215.064 96.11C214.183 93.2707 213.164 90.476 212.01 87.736C210.281 83.6782 208.262 79.75 205.969 75.982C204.465 73.475 202.827 71.0508 201.062 68.72C200.197 67.543 199.296 66.3938 198.358 65.274C195.58 61.898 192.561 58.7277 189.325 55.788C188.25 54.7997 187.145 53.8453 186.01 52.926C184.893 51.9943 183.751 51.0927 182.586 50.222C180.241 48.4766 177.818 46.8392 175.324 45.315C161.543 36.945 145.382 32.145 128.109 32.145C77.817 32.145 37.057 72.907 37.057 123.196C37.055 130.208 37.867 137.196 39.477 144.02C37.317 144.958 35.247 146.42 33.327 148.535C29.424 152.766 27.351 158.217 28.18 164.193C28.306 165.142 28.495 166.082 28.747 167.006C27.5811 168.749 26.7117 170.673 26.174 172.7C24.974 177.261 25.369 181.374 26.894 184.978C25.236 189.688 25.65 194.704 27.809 199.065C29.379 202.25 31.626 204.714 34.396 206.916C37.689 209.534 41.811 211.758 46.783 213.892C52.715 216.422 59.956 218.799 63.249 219.671C71.755 221.873 79.911 223.269 88.177 223.337C99.954 223.446 110.096 220.677 117.357 213.59C120.924 214.027 124.515 214.246 128.109 214.244C131.906 214.236 135.699 213.997 139.467 213.529C146.711 220.661 156.892 223.455 168.712 223.343C176.977 223.277 185.133 221.881 193.617 219.676C196.932 218.804 204.17 216.427 210.105 213.897C215.077 211.76 219.199 209.536 222.514 206.922C225.263 204.719 227.508 202.256 229.079 199.071C231.26 194.709 231.652 189.693 230.017 184.983C231.527 181.379 231.92 177.257 230.721 172.7ZM222.281 184.673C223.952 187.844 224.059 191.427 222.585 194.764C220.349 199.821 214.795 203.805 204.008 208.082C197.3 210.742 191.158 212.443 191.104 212.458C182.232 214.759 174.208 215.928 167.262 215.928C155.76 215.928 147.201 212.754 141.773 206.486C132.594 208.05 123.222 208.103 114.026 206.644C108.591 212.808 100.081 215.928 88.676 215.928C81.729 215.928 73.706 214.759 64.833 212.458C64.779 212.443 58.639 210.742 51.929 208.082C41.143 203.805 35.587 199.824 33.352 194.764C31.878 191.427 31.985 187.844 33.656 184.673C33.81 184.378 33.976 184.091 34.153 183.813C33.1516 182.309 32.4799 180.61 32.182 178.827C31.8842 177.045 31.967 175.22 32.425 173.472C33.089 170.949 34.46 168.851 36.322 167.344C35.425 165.87 34.8365 164.23 34.592 162.522C34.056 158.808 35.289 155.1 38.062 152.076C40.222 149.723 43.275 148.428 46.655 148.428H46.745C44.1965 140.259 42.9044 131.75 42.913 123.193C42.913 76.522 80.749 38.683 127.427 38.683C174.104 38.683 211.94 76.518 211.94 123.193C211.947 131.773 210.646 140.304 208.081 148.492C208.489 148.452 208.889 148.432 209.282 148.431C212.662 148.431 215.716 149.726 217.874 152.079C220.647 155.1 221.881 158.811 221.344 162.525C221.1 164.233 220.511 165.873 219.615 167.347C221.477 168.854 222.849 170.952 223.512 173.475C223.97 175.223 224.053 177.048 223.755 178.831C223.458 180.613 222.786 182.312 221.784 183.816C221.961 184.091 222.129 184.378 222.281 184.673Z",fill:"white"}),w.jsx("path",{d:"M221.784 183.816C222.786 182.312 223.458 180.613 223.756 178.831C224.053 177.048 223.97 175.223 223.512 173.475C222.848 170.952 221.476 168.854 219.615 167.347C220.512 165.873 221.1 164.233 221.344 162.525C221.881 158.811 220.648 155.103 217.874 152.079C215.716 149.726 212.662 148.431 209.282 148.431C208.889 148.431 208.489 148.452 208.081 148.492C210.643 140.304 211.942 131.774 211.933 123.195C211.933 76.5231 174.097 38.6851 127.424 38.6851C80.75 38.6851 42.9099 76.5191 42.9099 123.195C42.9015 131.752 44.1936 140.261 46.742 148.43H46.6519C43.2719 148.43 40.219 149.724 38.06 152.077C35.287 155.098 34.0529 158.81 34.5899 162.523C34.8346 164.231 35.4231 165.872 36.3199 167.346C34.4579 168.852 33.086 170.95 32.422 173.473C31.9642 175.222 31.8817 177.047 32.1799 178.83C32.4781 180.612 33.1501 182.312 34.1519 183.816C33.9739 184.094 33.8099 184.381 33.6549 184.676C31.9849 187.847 31.877 191.43 33.352 194.767C35.588 199.824 41.1419 203.808 51.9289 208.085C58.6359 210.745 64.779 212.446 64.833 212.461C73.705 214.762 81.729 215.931 88.675 215.931C100.081 215.931 108.591 212.811 114.026 206.647C123.222 208.106 132.594 208.052 141.773 206.489C147.201 212.757 155.76 215.931 167.262 215.931C174.208 215.931 182.232 214.762 191.103 212.461C191.158 212.446 197.298 210.745 204.008 208.085C214.795 203.808 220.35 199.824 222.585 194.767C224.059 191.43 223.952 187.847 222.281 184.676C222.129 184.379 221.961 184.091 221.784 183.816ZM110.137 196.997C109.669 197.815 109.168 198.614 108.635 199.391C107.23 201.448 105.382 203.02 103.237 204.188C99.1369 206.424 93.947 207.205 88.675 207.205C80.346 207.205 71.808 205.256 67.023 204.015C66.787 203.954 37.689 195.735 41.373 188.739C41.993 187.562 43.0129 187.092 44.2979 187.092C49.4849 187.092 58.9299 194.816 62.9889 194.816C63.8959 194.816 64.5359 194.43 64.7969 193.488C66.5269 187.284 38.5039 184.676 40.8639 175.692C41.2799 174.102 42.41 173.456 43.998 173.456C50.856 173.455 66.248 185.516 69.467 185.516C69.714 185.516 69.8909 185.443 69.9869 185.291C70.0009 185.268 70.015 185.246 70.028 185.222C71.539 182.727 70.6719 180.913 60.3209 174.573L59.3269 173.968C47.9359 167.074 39.9409 162.925 44.4879 157.975C45.0109 157.404 45.7529 157.151 46.6539 157.151C47.7219 157.151 49.0149 157.508 50.4389 158.108C56.4549 160.645 64.793 167.564 68.276 170.581C68.8239 171.057 69.3683 171.538 69.9089 172.022C69.9089 172.022 74.319 176.608 76.985 176.608C77.599 176.608 78.1199 176.366 78.4729 175.768C80.364 172.58 60.9099 157.838 59.8129 151.755C59.0689 147.634 60.3349 145.546 62.6749 145.546C63.7879 145.546 65.1459 146.02 66.6449 146.971C71.2949 149.922 80.2729 165.35 83.5599 171.352C84.6619 173.363 86.5429 174.213 88.2379 174.213C91.6009 174.213 94.2299 170.87 88.5459 166.622C80.0029 160.23 83.001 149.782 87.078 149.139C87.252 149.111 87.4279 149.097 87.6029 149.097C91.3109 149.097 92.9459 155.486 92.9459 155.486C92.9459 155.486 97.7399 167.524 105.975 175.753C113.447 183.222 114.491 189.351 110.137 196.997ZM136.766 198.407L136.339 198.458L135.611 198.541C135.228 198.581 134.844 198.619 134.459 198.654L134.084 198.688L133.741 198.717L133.255 198.756L132.718 198.795L132.182 198.83L132.063 198.838C131.923 198.846 131.783 198.855 131.641 198.862L131.462 198.872C131.296 198.881 131.13 198.889 130.962 198.896L130.381 198.921L129.854 198.939L129.502 198.949H129.323C129.213 198.949 129.104 198.955 128.994 198.956H128.82C128.71 198.956 128.601 198.956 128.491 198.961L128.043 198.967H127.418C126.927 198.967 126.437 198.962 125.949 198.952L125.553 198.943C125.44 198.943 125.327 198.938 125.216 198.934L124.796 198.922L124.275 198.902L123.805 198.881L123.684 198.876L123.237 198.853C123.112 198.846 122.989 198.84 122.865 198.831L122.576 198.814C122.213 198.791 121.85 198.766 121.487 198.738L121.107 198.707C120.947 198.695 120.787 198.68 120.628 198.666C120.441 198.65 120.254 198.632 120.067 198.614C119.754 198.585 119.441 198.553 119.128 198.519H119.113C123.683 188.324 121.372 178.802 112.137 169.575C106.08 163.526 102.051 154.594 101.215 152.633C99.5229 146.828 95.045 140.375 87.608 140.375C86.979 140.375 86.351 140.425 85.73 140.523C82.472 141.036 79.624 142.911 77.592 145.733C75.396 143.002 73.262 140.831 71.332 139.605C68.422 137.76 65.5179 136.824 62.6889 136.824C59.1579 136.824 56.0019 138.274 53.8019 140.904L53.7459 140.971C53.7039 140.798 53.6639 140.625 53.6229 140.451L53.6179 140.428C53.1992 138.638 52.8477 136.833 52.5639 135.016C52.5639 135.004 52.5639 134.992 52.5579 134.98C52.5359 134.843 52.5159 134.705 52.4949 134.568C52.4334 134.162 52.3757 133.755 52.3219 133.348C52.2979 133.163 52.2719 132.978 52.2489 132.793L52.1809 132.238C52.1589 132.053 52.1409 131.885 52.1209 131.709L52.115 131.665C52.0351 130.945 51.9651 130.225 51.9049 129.503L51.8829 129.226L51.8479 128.754C51.8379 128.625 51.8279 128.495 51.8209 128.365C51.8209 128.334 51.8159 128.304 51.8149 128.275C51.7895 127.913 51.7678 127.55 51.7499 127.187C51.7399 126.998 51.7299 126.81 51.7219 126.62L51.7019 126.124L51.6969 125.974L51.6809 125.517L51.6709 125.128C51.6709 124.973 51.6629 124.818 51.6609 124.663C51.6579 124.508 51.6539 124.338 51.6529 124.174C51.6509 124.01 51.6529 123.848 51.6479 123.685C51.6439 123.521 51.6479 123.358 51.6479 123.195C51.6479 81.3421 85.5789 47.4111 127.436 47.4111C169.292 47.4111 203.222 81.3411 203.222 123.195V124.174C203.222 124.337 203.217 124.501 203.214 124.663C203.214 124.798 203.208 124.931 203.204 125.068C203.204 125.188 203.199 125.309 203.195 125.425C203.195 125.578 203.186 125.731 203.181 125.884V125.896L203.16 126.427C203.153 126.582 203.147 126.738 203.139 126.893L203.134 127.003L203.107 127.499C203.048 128.562 202.967 129.623 202.866 130.683V130.696C202.849 130.87 202.832 131.044 202.813 131.218L202.768 131.629L202.679 132.433L202.628 132.84L202.565 133.319C202.542 133.493 202.519 133.668 202.493 133.841C202.467 134.036 202.438 134.23 202.409 134.424L202.34 134.883L202.258 135.403C202.23 135.576 202.2 135.748 202.168 135.92C202.135 136.093 202.109 136.265 202.079 136.437C202.019 136.781 201.956 137.125 201.89 137.468C201.789 137.981 201.686 138.493 201.58 139.005L201.47 139.512C201.434 139.681 201.395 139.851 201.357 140.02C199.224 137.947 196.399 136.818 193.284 136.818C190.457 136.818 187.55 137.753 184.641 139.598C182.711 140.824 180.578 142.996 178.381 145.726C176.346 142.904 173.498 141.029 170.242 140.516C169.621 140.418 168.993 140.368 168.364 140.368C160.925 140.368 156.45 146.821 154.757 152.626C153.917 154.587 149.887 163.519 143.825 169.577C134.596 178.775 132.268 188.254 136.766 198.407ZM215.007 177.998L214.977 178.087C214.901 178.288 214.813 178.484 214.714 178.674C214.639 178.814 214.558 178.95 214.47 179.082C214.303 179.331 214.12 179.569 213.921 179.793C213.875 179.845 213.831 179.897 213.779 179.948C213.707 180.025 213.634 180.101 213.559 180.175C212.213 181.509 210.161 182.679 207.841 183.752C207.578 183.871 207.311 183.99 207.042 184.11L206.774 184.229C206.595 184.308 206.416 184.386 206.228 184.463C206.049 184.541 205.863 184.619 205.677 184.695L205.119 184.925C203.814 185.462 202.477 185.974 201.173 186.479L200.615 186.696L200.064 186.912C199.697 187.055 199.335 187.198 198.979 187.341L198.448 187.555L197.926 187.768L197.67 187.876C197.499 187.947 197.332 188.018 197.165 188.089C193.328 189.736 190.567 191.411 191.147 193.489C191.163 193.548 191.181 193.604 191.201 193.659C191.253 193.813 191.324 193.958 191.413 194.095C191.465 194.176 191.525 194.253 191.592 194.323C192.274 195.032 193.515 194.92 195.08 194.357C195.3 194.276 195.519 194.192 195.736 194.104L195.872 194.048C196.23 193.896 196.609 193.726 196.996 193.542C197.093 193.496 197.191 193.452 197.289 193.401C199.203 192.465 201.372 191.205 203.524 190.058C204.385 189.593 205.258 189.152 206.142 188.733C208.18 187.774 210.096 187.094 211.636 187.094C212.359 187.094 212.997 187.242 213.529 187.582L213.618 187.641C213.952 187.876 214.232 188.178 214.441 188.528C214.482 188.595 214.522 188.666 214.561 188.739C215.322 190.184 214.685 191.68 213.194 193.147C211.763 194.556 209.537 195.937 207.007 197.215C206.819 197.31 206.631 197.405 206.44 197.498C198.91 201.196 189.049 203.981 188.912 204.016C186.284 204.697 182.526 205.591 178.292 206.26L177.666 206.358L177.563 206.373C177.089 206.445 176.614 206.512 176.138 206.574C175.655 206.639 175.167 206.698 174.676 206.753L174.586 206.763C172.806 206.968 171.019 207.104 169.228 207.169H169.202C168.554 207.192 167.907 207.204 167.259 207.204H166.512C165.524 207.191 164.538 207.146 163.553 207.07C163.53 207.07 163.505 207.07 163.482 207.064C163.129 207.037 162.777 207.004 162.425 206.965C162.06 206.926 161.696 206.882 161.333 206.833C161.094 206.801 160.856 206.765 160.618 206.726C160.376 206.687 160.134 206.647 159.893 206.605L159.564 206.543L159.539 206.538C159.192 206.472 158.847 206.399 158.503 206.319C158.303 206.274 158.104 206.23 157.907 206.176L157.788 206.146C157.69 206.122 157.595 206.096 157.498 206.07L157.445 206.056L157.137 205.966C157.025 205.935 156.913 205.901 156.801 205.868L156.762 205.857L156.471 205.768C156.361 205.734 156.251 205.698 156.142 205.662L155.874 205.573L155.677 205.504C155.487 205.437 155.298 205.368 155.111 205.296L154.933 205.226L154.786 205.168C154.502 205.054 154.22 204.935 153.941 204.81L153.756 204.72L153.725 204.706C153.659 204.675 153.594 204.644 153.528 204.617C153.399 204.555 153.271 204.491 153.144 204.426L153.105 204.407L152.921 204.31C152.594 204.139 152.274 203.957 151.96 203.764L151.788 203.658C151.702 203.605 151.616 203.55 151.532 203.494L151.308 203.346L151.067 203.18L150.923 203.077C150.771 202.969 150.622 202.857 150.476 202.742L150.243 202.563C150.15 202.488 150.058 202.412 149.967 202.335C149.89 202.272 149.815 202.206 149.74 202.14L149.734 202.135C149.653 202.064 149.574 201.993 149.495 201.92C149.417 201.849 149.339 201.777 149.263 201.704L149.254 201.695C149.174 201.619 149.096 201.542 149.019 201.463C148.942 201.385 148.863 201.307 148.788 201.227C148.713 201.148 148.636 201.067 148.562 200.984C148.488 200.902 148.42 200.827 148.35 200.746L148.327 200.719C148.259 200.641 148.192 200.562 148.126 200.481C147.983 200.31 147.844 200.135 147.71 199.956C147.575 199.776 147.443 199.592 147.314 199.405L147.191 199.221C147.027 198.981 146.867 198.739 146.712 198.493C146.596 198.316 146.483 198.138 146.373 197.957C146.302 197.844 146.234 197.73 146.166 197.618L146.138 197.572C146.073 197.462 146.009 197.354 145.947 197.245C145.911 197.186 145.877 197.127 145.845 197.066C145.812 197.004 145.774 196.941 145.739 196.878L145.682 196.779L145.647 196.715C145.58 196.595 145.514 196.474 145.45 196.352C145.42 196.298 145.391 196.244 145.36 196.192L145.271 196.019L145.181 195.848C144.956 195.398 144.743 194.942 144.543 194.48L144.472 194.311C144.426 194.198 144.383 194.086 144.337 193.975C144.315 193.921 144.293 193.868 144.274 193.814C144.167 193.537 144.067 193.257 143.975 192.975C143.942 192.874 143.91 192.775 143.88 192.675C143.808 192.448 143.743 192.219 143.685 191.988C143.614 191.719 143.551 191.448 143.498 191.175C143.487 191.12 143.476 191.065 143.467 191.012C143.415 190.745 143.373 190.476 143.34 190.206C143.332 190.153 143.326 190.1 143.32 190.047L143.303 189.885C143.281 189.673 143.264 189.46 143.254 189.247C143.254 189.193 143.249 189.139 143.247 189.087C143.242 188.981 143.24 188.875 143.239 188.769C143.183 184.496 145.345 180.388 149.968 175.767C158.203 167.54 162.997 155.501 162.997 155.501C162.997 155.501 163.126 154.996 163.394 154.269C163.431 154.168 163.47 154.064 163.514 153.955C163.67 153.548 163.846 153.148 164.041 152.758L164.08 152.683C164.246 152.351 164.428 152.027 164.624 151.712C164.67 151.639 164.714 151.567 164.765 151.494C164.912 151.277 165.067 151.065 165.23 150.86C165.319 150.749 165.416 150.639 165.513 150.532C165.552 150.49 165.59 150.448 165.631 150.408C166.108 149.915 166.653 149.513 167.27 149.299L167.348 149.273C167.4 149.256 167.452 149.24 167.505 149.225C167.566 149.209 167.627 149.195 167.69 149.182L167.719 149.176C167.849 149.15 167.981 149.133 168.114 149.124H168.125C168.194 149.124 168.264 149.117 168.335 149.117C168.424 149.117 168.507 149.117 168.594 149.126C168.684 149.134 168.773 149.144 168.863 149.158C169.605 149.276 170.311 149.718 170.919 150.4C171.15 150.66 171.358 150.94 171.54 151.236C171.66 151.428 171.773 151.631 171.88 151.845C171.923 151.934 171.964 152.016 172.004 152.104C172.108 152.33 172.202 152.56 172.284 152.795C172.479 153.345 172.626 153.911 172.723 154.487C172.807 154.992 172.857 155.502 172.873 156.013C172.881 156.286 172.881 156.563 172.873 156.842C172.819 158.14 172.553 159.421 172.086 160.634C172.044 160.745 171.997 160.857 171.952 160.969C171.86 161.195 171.759 161.417 171.65 161.634C171.569 161.799 171.484 161.965 171.392 162.13C171.332 162.24 171.269 162.35 171.206 162.46C171.045 162.734 170.871 163.006 170.684 163.277L170.571 163.439C170.129 164.055 169.637 164.633 169.099 165.167C168.569 165.698 168.001 166.189 167.4 166.637C166.798 167.083 166.233 167.577 165.711 168.114C164.208 169.691 163.858 171.083 164.196 172.138C164.25 172.304 164.321 172.465 164.407 172.617C164.508 172.791 164.628 172.951 164.764 173.097L164.817 173.152L164.871 173.206C164.925 173.258 164.982 173.309 165.043 173.359L165.103 173.407C165.248 173.519 165.402 173.619 165.563 173.707C165.61 173.732 165.652 173.757 165.705 173.781C165.879 173.866 166.058 173.939 166.242 173.998C166.293 174.015 166.344 174.03 166.396 174.046L166.461 174.063L166.551 174.087L166.628 174.106L166.712 174.124L166.795 174.141L166.874 174.154C166.932 174.164 166.992 174.174 167.052 174.181L167.109 174.19L167.213 174.2L167.277 174.207L167.382 174.214H167.444L167.554 174.22H167.9L167.999 174.214L168.113 174.207L168.252 174.194L168.382 174.179C168.412 174.179 168.442 174.171 168.472 174.165C168.872 174.107 169.264 174.001 169.639 173.849L169.798 173.782C169.887 173.743 169.977 173.702 170.059 173.658C170.235 173.57 170.406 173.47 170.57 173.361C170.799 173.211 171.015 173.043 171.217 172.858C171.265 172.815 171.312 172.769 171.358 172.725C171.381 172.703 171.403 172.682 171.425 172.658C171.469 172.613 171.514 172.569 171.558 172.52C171.878 172.168 172.155 171.78 172.383 171.363C174.34 167.804 176.391 164.298 178.534 160.849L178.828 160.378L179.125 159.907C179.273 159.668 179.423 159.433 179.572 159.199L179.722 158.965C180.22 158.185 180.726 157.41 181.241 156.641L181.546 156.185C182.158 155.278 182.768 154.396 183.373 153.558L183.674 153.143C184.332 152.236 185.017 151.348 185.728 150.482L186.01 150.144C186.057 150.088 186.1 150.032 186.151 149.978C186.244 149.868 186.337 149.761 186.428 149.657C186.474 149.604 186.517 149.552 186.566 149.5L186.834 149.198L186.968 149.051C187.103 148.906 187.235 148.767 187.365 148.634C187.455 148.544 187.538 148.455 187.624 148.371C188.131 147.853 188.69 147.388 189.293 146.985L189.433 146.895C189.567 146.805 189.706 146.721 189.848 146.645C192.212 145.303 194.169 145.204 195.296 146.331C195.978 147.013 196.356 148.144 196.335 149.718C196.335 149.787 196.335 149.857 196.33 149.929V150.006C196.33 150.078 196.324 150.15 196.318 150.223C196.318 150.313 196.308 150.402 196.299 150.492C196.29 150.581 196.285 150.649 196.276 150.729C196.276 150.751 196.272 150.774 196.268 150.798C196.262 150.867 196.253 150.938 196.243 151.009C196.243 151.03 196.243 151.052 196.235 151.074C196.224 151.169 196.21 151.263 196.194 151.357C196.183 151.447 196.168 151.531 196.152 151.619L196.126 151.768C196.1 151.91 196.067 152.05 196.026 152.188C195.948 152.447 195.854 152.7 195.743 152.946C195.588 153.284 195.417 153.613 195.229 153.933C195.125 154.111 195.018 154.286 194.907 154.459C194.793 154.638 194.673 154.819 194.549 155.002C194.233 155.454 193.905 155.897 193.564 156.33L193.408 156.527C192.852 157.22 192.278 157.899 191.686 158.562L191.499 158.772C191.247 159.053 190.991 159.336 190.729 159.62L190.532 159.834C190.401 159.977 190.264 160.12 190.132 160.264C190.001 160.407 189.864 160.552 189.726 160.697L189.315 161.13L188.898 161.566L188.478 162.002C188.196 162.294 187.913 162.586 187.628 162.878C183.573 167.037 179.301 171.182 177.855 173.766C177.758 173.934 177.671 174.108 177.593 174.285C177.387 174.755 177.301 175.157 177.36 175.482C177.379 175.589 177.416 175.691 177.471 175.785C177.552 175.926 177.651 176.056 177.766 176.172C177.819 176.224 177.875 176.272 177.934 176.316C178.232 176.528 178.591 176.637 178.957 176.627H179.071L179.188 176.618L179.305 176.605L179.402 176.591C179.415 176.589 179.429 176.587 179.442 176.583L179.531 176.566L179.554 176.561L179.653 176.54L179.688 176.531C179.723 176.522 179.757 176.513 179.792 176.503C179.827 176.493 179.875 176.48 179.917 176.466C180.093 176.413 180.265 176.35 180.434 176.278C180.523 176.242 180.61 176.203 180.696 176.161C180.741 176.141 180.786 176.12 180.828 176.098L180.962 176.032C181.282 175.866 181.594 175.685 181.898 175.491L182.031 175.401C182.076 175.373 182.121 175.344 182.164 175.312L182.297 175.223L182.368 175.174L182.56 175.039C182.739 174.916 182.906 174.789 183.075 174.66L183.09 174.648L183.359 174.44C183.726 174.15 184.074 173.858 184.39 173.583L184.6 173.399L184.619 173.381L184.729 173.284C184.987 173.052 185.217 172.836 185.408 172.658L185.487 172.581C185.556 172.516 185.619 172.455 185.676 172.403L185.788 172.292L185.828 172.253L185.839 172.242L185.956 172.125L186.03 172.048L186.039 172.041L186.074 172.009L186.118 171.969L186.132 171.956L186.169 171.922L186.373 171.743L186.487 171.641C186.548 171.588 186.607 171.534 186.666 171.479L186.802 171.358C186.827 171.338 186.851 171.316 186.876 171.294L187.019 171.169L187.229 170.984L187.341 170.887C187.776 170.509 188.305 170.052 188.913 169.537L189.162 169.326L189.573 168.981L189.994 168.63C190.544 168.173 191.136 167.688 191.762 167.185L192.173 166.855C192.523 166.576 192.882 166.292 193.246 166.006C193.393 165.891 193.542 165.776 193.694 165.662C194.066 165.373 194.44 165.086 194.817 164.803C195.675 164.155 196.56 163.506 197.456 162.874L197.84 162.606C198.109 162.421 198.377 162.235 198.645 162.054L198.888 161.89C199.367 161.565 199.853 161.248 200.343 160.939L200.586 160.786L200.827 160.636C201.069 160.486 201.309 160.339 201.548 160.196L201.787 160.053L202.265 159.775L202.734 159.506L202.829 159.454L203.2 159.25C203.355 159.166 203.509 159.085 203.663 159.006L203.892 158.888L204.115 158.776C204.193 158.739 204.27 158.7 204.346 158.663C204.848 158.415 205.36 158.187 205.88 157.979C206.021 157.919 206.161 157.865 206.3 157.818L206.71 157.674C206.833 157.633 206.953 157.594 207.068 157.559L207.108 157.547C207.17 157.527 207.232 157.509 207.293 157.493L207.311 157.488C207.439 157.451 207.566 157.419 207.691 157.389H207.7C208.054 157.304 208.414 157.243 208.777 157.206C208.944 157.189 209.111 157.18 209.279 157.181H209.363C209.475 157.181 209.583 157.188 209.69 157.199C209.739 157.199 209.788 157.209 209.836 157.215H209.856C209.904 157.221 209.952 157.228 210 157.239C210.047 157.248 210.095 157.256 210.141 157.267H210.156C210.203 157.277 210.245 157.289 210.294 157.303C210.548 157.374 210.79 157.484 211.012 157.628C211.121 157.699 211.223 157.779 211.317 157.868L211.344 157.894C211.362 157.91 211.379 157.927 211.395 157.944L211.444 157.997C211.846 158.418 212.178 158.901 212.428 159.427L212.466 159.517C212.551 159.717 212.618 159.924 212.666 160.135C212.808 160.781 212.753 161.455 212.508 162.07C212.415 162.318 212.302 162.557 212.169 162.785C211.858 163.309 211.489 163.796 211.07 164.237L210.981 164.332C210.848 164.472 210.71 164.612 210.565 164.752C210.501 164.815 210.434 164.877 210.367 164.94L210.162 165.129L210.055 165.224C209.797 165.454 209.532 165.677 209.263 165.893C209.1 166.025 208.936 166.154 208.77 166.281C208.184 166.729 207.587 167.161 206.979 167.578C206.612 167.83 206.242 168.077 205.869 168.321C204.95 168.924 204.021 169.512 203.083 170.084C201.115 171.294 198.934 172.588 196.609 173.995L196.007 174.36C195.348 174.762 194.726 175.146 194.14 175.512L193.845 175.697L193.287 176.055C192.917 176.292 192.548 176.531 192.179 176.77L191.882 176.966C191.737 177.06 191.593 177.156 191.449 177.252L191.308 177.342L190.876 177.633L190.647 177.79L190.379 177.976L190.13 178.149C189.713 178.444 189.325 178.725 188.968 178.992L188.834 179.094C188.624 179.253 188.416 179.415 188.211 179.58C187.902 179.829 187.62 180.067 187.367 180.296L187.243 180.409C187.172 180.474 187.102 180.539 187.035 180.603C186.989 180.648 186.946 180.693 186.898 180.736L186.834 180.8C186.691 180.944 186.551 181.091 186.416 181.242L186.35 181.318C186.203 181.488 186.075 181.651 185.963 181.81L185.913 181.881C185.825 182.009 185.744 182.141 185.671 182.277C185.652 182.311 185.635 182.345 185.618 182.379L185.569 182.481L185.536 182.555L185.515 182.605L185.498 182.65L185.475 182.711C185.413 182.88 185.37 183.056 185.345 183.234L185.337 183.296L185.331 183.354V183.669C185.331 183.695 185.331 183.721 185.338 183.749L185.343 183.797C185.343 183.823 185.349 183.848 185.353 183.876C185.357 183.902 185.364 183.949 185.372 183.986V183.991C185.379 184.026 185.386 184.06 185.395 184.095C185.404 184.13 185.413 184.17 185.424 184.206C185.443 184.277 185.467 184.347 185.492 184.417C185.508 184.459 185.523 184.5 185.54 184.541C185.54 184.549 185.546 184.558 185.55 184.566L185.586 184.647L185.636 184.758C185.69 184.873 185.749 184.985 185.813 185.094L185.879 185.208L185.947 185.322C185.959 185.341 185.973 185.359 185.988 185.376L186.01 185.399L186.035 185.422L186.061 185.442C186.099 185.469 186.14 185.49 186.183 185.505C186.206 185.513 186.23 185.519 186.254 185.525C186.831 185.655 188.017 185.178 189.593 184.346C189.682 184.298 189.78 184.248 189.875 184.196L190.355 183.934L190.589 183.804C190.756 183.715 190.926 183.614 191.1 183.515L191.417 183.336C193.5 182.137 195.988 180.597 198.56 179.093C198.801 178.952 199.043 178.811 199.285 178.672L199.771 178.361C200.335 178.038 200.902 177.719 201.471 177.404C202.188 177.01 202.91 176.626 203.639 176.254L204.115 176.013C204.431 175.857 204.744 175.705 205.053 175.557C205.651 175.273 206.256 175.003 206.868 174.748L207.203 174.612L207.243 174.596C209.018 173.893 210.627 173.459 211.929 173.459C212.21 173.456 212.492 173.48 212.769 173.528H212.778C212.867 173.544 212.948 173.562 213.031 173.582H213.046C213.259 173.636 213.466 173.713 213.662 173.812C213.937 173.954 214.184 174.143 214.393 174.371C214.489 174.477 214.574 174.592 214.649 174.714C214.789 174.929 214.899 175.162 214.978 175.406C215.01 175.501 215.038 175.594 215.067 175.693C215.278 176.45 215.257 177.253 215.007 177.998Z",fill:"#FF9D00"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M203.21 123.685V123.194C203.21 81.34 169.292 47.411 127.435 47.411C85.5791 47.411 51.648 81.342 51.648 123.194V123.358C51.646 123.467 51.645 123.576 51.648 123.685C51.6529 123.848 51.6546 124.011 51.653 124.174L51.6581 124.534L51.661 124.663C51.661 124.723 51.6631 124.782 51.6651 124.842C51.6681 124.937 51.67 125.033 51.67 125.128L51.681 125.517L51.697 125.974L51.702 126.124L51.722 126.597V126.62C51.73 126.805 51.7401 126.989 51.7491 127.173L51.75 127.187C51.76 127.375 51.7701 127.564 51.7821 127.753C51.7921 127.927 51.802 128.101 51.815 128.275L51.8171 128.306C51.8258 128.455 51.8358 128.605 51.847 128.754L51.85 128.794L51.883 129.226L51.8861 129.254C51.8921 129.338 51.898 129.422 51.906 129.503C51.9658 130.224 52.0355 130.945 52.1151 131.664L52.12 131.709L52.181 132.238L52.2491 132.793L52.299 133.17L52.322 133.347C52.3753 133.755 52.433 134.162 52.495 134.568L52.4991 134.595L52.558 134.979C52.8435 136.808 53.1971 138.626 53.618 140.429L53.6231 140.451L53.655 140.586L53.746 140.971L53.802 140.904C56.002 138.274 59.158 136.824 62.689 136.824C65.519 136.824 68.4221 137.76 71.3321 139.605C73.2621 140.831 75.3961 143.002 77.5921 145.733C79.6241 142.911 82.4721 141.035 85.7301 140.523C86.3513 140.425 86.9792 140.376 87.6081 140.375C95.0441 140.375 99.523 146.828 101.215 152.633C102.051 154.594 106.08 163.526 112.156 169.568C121.392 178.795 123.703 188.316 119.132 198.511H119.148C119.459 198.546 119.772 198.578 120.087 198.607C120.274 198.625 120.46 198.643 120.648 198.659L120.714 198.665L121.127 198.7L121.507 198.73C121.869 198.758 122.232 198.784 122.596 198.807L122.885 198.824L123.114 198.838L123.256 198.846L123.703 198.869L123.825 198.874L124.294 198.895L124.816 198.915L125.235 198.927L125.305 198.929C125.394 198.933 125.483 198.936 125.572 198.936L125.668 198.939C126.258 198.953 126.847 198.96 127.437 198.959H128.063L128.51 198.954C128.62 198.949 128.729 198.949 128.84 198.949H129.014L129.165 198.945C129.224 198.943 129.283 198.941 129.343 198.941H129.522L129.873 198.932L130.401 198.914L130.982 198.888C131.15 198.882 131.316 198.873 131.482 198.865L131.661 198.854L131.927 198.84L132.083 198.831L132.201 198.823L132.738 198.788L133.274 198.749L133.761 198.71L134.103 198.681L134.479 198.647C135.107 198.591 135.733 198.525 136.359 198.45L136.786 198.399C132.287 188.247 134.616 178.767 143.813 169.577C149.876 163.519 153.905 154.587 154.745 152.625C156.438 146.821 160.914 140.368 168.352 140.368C168.981 140.368 169.61 140.418 170.231 140.516C173.486 141.028 176.334 142.904 178.369 145.726C180.566 142.996 182.699 140.823 184.63 139.597C187.539 137.753 190.445 136.817 193.272 136.817C196.388 136.817 199.212 137.947 201.345 140.02C201.384 139.851 201.422 139.682 201.459 139.512L201.568 139.006C201.607 138.821 201.646 138.636 201.683 138.451C201.749 138.124 201.815 137.797 201.878 137.467C201.944 137.125 202.007 136.781 202.067 136.437L202.098 136.251C202.117 136.141 202.135 136.031 202.156 135.92C202.19 135.748 202.218 135.576 202.246 135.402L202.257 135.336L202.328 134.883L202.398 134.424V134.42C202.449 134.081 202.497 133.742 202.542 133.403L202.553 133.319L202.616 132.841L202.667 132.433L202.757 131.629L202.792 131.306L202.801 131.218C202.82 131.044 202.838 130.87 202.854 130.696V130.682C202.867 130.544 202.881 130.405 202.893 130.266C202.964 129.478 203.024 128.686 203.072 127.891C203.081 127.761 203.088 127.63 203.096 127.499V127.493L203.122 127.002L203.128 126.892C203.144 126.56 203.158 126.228 203.169 125.896V125.884L203.174 125.754C203.179 125.645 203.183 125.535 203.183 125.425L203.185 125.381C203.189 125.278 203.193 125.172 203.193 125.067L203.196 124.977C203.199 124.872 203.202 124.768 203.202 124.663L203.204 124.574C203.207 124.441 203.21 124.307 203.21 124.174V123.685ZM108.638 199.391C114.64 190.59 114.214 183.984 105.98 175.754C97.7441 167.523 92.951 155.487 92.951 155.487C92.951 155.487 91.1621 148.496 87.0821 149.138C83.0021 149.78 80.0091 160.227 88.5521 166.622C97.0941 173.017 86.8521 177.353 83.5641 171.352C80.2761 165.35 71.299 149.923 66.645 146.972C61.991 144.021 58.718 145.675 59.815 151.757C60.36 154.776 65.4281 159.929 70.1631 164.743C74.9671 169.627 79.428 174.163 78.474 175.768C76.581 178.955 69.9141 172.023 69.9141 172.023C69.9141 172.023 49.038 153.025 44.494 157.976C40.304 162.539 46.765 166.418 56.7211 172.397C57.5671 172.905 58.4391 173.429 59.3321 173.969C70.7231 180.865 71.609 182.684 69.992 185.293C69.395 186.257 65.582 183.968 60.892 181.153C52.897 176.352 42.3551 170.023 40.8661 175.688C39.5781 180.591 47.334 183.595 54.368 186.32C60.228 188.59 65.5881 190.666 64.7991 193.484C63.9821 196.406 59.5531 193.969 54.7121 191.305C49.2771 188.314 43.3221 185.038 41.3731 188.735C37.6901 195.725 66.7831 203.954 67.0231 204.015C76.4231 206.453 100.295 211.619 108.638 199.391ZM147.303 199.391C141.301 190.59 141.727 183.984 149.962 175.754C158.197 167.523 162.99 155.487 162.99 155.487C162.99 155.487 164.779 148.496 168.859 149.138C172.939 149.78 175.932 160.227 167.39 166.622C158.847 173.017 169.089 177.353 172.377 171.352C175.666 165.35 184.637 149.923 189.291 146.972C193.945 144.021 197.22 145.675 196.122 151.757C195.578 154.776 190.509 159.929 185.774 164.744C180.97 169.628 176.509 174.163 177.462 175.768C179.355 178.955 186.027 172.019 186.027 172.019C186.027 172.019 206.902 153.022 211.448 157.973C215.637 162.535 209.176 166.415 199.219 172.394C198.348 172.917 197.478 173.441 196.609 173.966C185.218 180.862 184.332 182.681 185.948 185.289C186.546 186.254 190.359 183.964 195.048 181.149C203.044 176.349 213.586 170.019 215.075 175.685C216.364 180.588 208.607 183.592 201.573 186.317C195.713 188.587 190.353 190.663 191.141 193.481C191.957 196.402 196.385 193.965 201.225 191.301C206.66 188.31 212.616 185.032 214.564 188.732C218.248 195.726 189.15 203.947 188.915 204.007C179.515 206.453 155.643 211.619 147.303 199.391Z",fill:"#FFD21E"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M152.047 102.567C153.229 102.985 154.108 104.257 154.944 105.468C156.074 107.104 157.126 108.627 158.74 107.769C160.644 106.756 162.205 105.202 163.225 103.302C164.246 101.402 164.681 99.2427 164.475 97.096C164.321 95.4908 163.813 93.9398 162.987 92.5548C162.161 91.1697 161.038 89.985 159.7 89.0862C158.361 88.1874 156.839 87.5968 155.245 87.3569C153.65 87.117 152.022 87.2339 150.478 87.699C148.934 88.1639 147.513 88.9653 146.316 90.0455C145.119 91.1257 144.176 92.4578 143.556 93.946C142.936 95.4342 142.653 97.0415 142.728 98.652C142.804 100.263 143.235 101.836 143.992 103.26C144.74 104.667 146.4 104.003 148.152 103.302C149.525 102.753 150.956 102.181 152.047 102.567ZM100.672 102.567C99.49 102.985 98.611 104.258 97.775 105.468C96.645 107.105 95.592 108.627 93.979 107.769C91.5845 106.501 89.7482 104.386 88.8278 101.838C87.9075 99.2895 87.9692 96.4896 89.0008 93.9841C90.0324 91.4786 91.9601 89.4471 94.408 88.2855C96.856 87.1239 99.6488 86.9156 102.242 87.701C104.307 88.3228 106.141 89.5427 107.513 91.2065C108.885 92.8704 109.732 94.9035 109.949 97.049C110.165 99.1945 109.74 101.356 108.728 103.26C107.979 104.667 106.319 104.003 104.567 103.303C103.193 102.753 101.764 102.181 100.672 102.567ZM144.099 149.318C152.242 142.903 155.233 132.429 155.233 125.977C155.233 120.877 151.802 122.482 146.309 125.202L145.999 125.355C140.957 127.852 134.245 131.177 126.877 131.177C119.508 131.177 112.796 127.852 107.755 125.354C102.084 122.545 98.527 120.783 98.527 125.978C98.527 132.634 101.709 143.563 110.443 149.912C111.596 147.573 113.219 145.497 115.211 143.813C117.202 142.129 119.52 140.874 122.018 140.126C122.89 139.866 123.788 141.367 124.707 142.904C125.594 144.386 126.501 145.902 127.423 145.902C128.406 145.902 129.371 144.408 130.314 142.95C131.299 141.425 132.26 139.94 133.189 140.237C137.864 141.738 141.775 144.993 144.099 149.318Z",fill:"#32343D"}),w.jsx("path",{d:"M144.097 149.317C139.856 152.659 134.219 154.9 126.878 154.9C119.981 154.9 114.587 152.922 110.443 149.911C111.596 147.572 113.219 145.495 115.211 143.812C117.202 142.128 119.52 140.873 122.018 140.125C123.73 139.614 125.545 145.901 127.423 145.901C129.433 145.901 131.37 139.655 133.189 140.236C137.863 141.738 141.773 144.993 144.097 149.317Z",fill:"#FF323D"}),w.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M81.2 111.64C80.2312 112.288 79.1173 112.687 77.9572 112.801C76.7971 112.916 75.6267 112.742 74.55 112.295C73.6893 111.94 72.9072 111.418 72.2488 110.759C71.5903 110.101 71.0684 109.319 70.713 108.458C70.267 107.381 70.0935 106.211 70.2082 105.051C70.3228 103.891 70.7219 102.777 71.37 101.808C72.1488 100.642 73.2558 99.7333 74.5512 99.1967C75.8466 98.6601 77.272 98.5197 78.6471 98.7935C80.0223 99.0672 81.2853 99.7427 82.2764 100.734C83.2675 101.726 83.9422 102.99 84.215 104.365C84.4883 105.74 84.3477 107.165 83.8113 108.46C83.2748 109.755 82.3654 110.861 81.2 111.64ZM182.613 111.64C181.644 112.288 180.53 112.687 179.37 112.801C178.209 112.916 177.039 112.742 175.962 112.295C175.101 111.939 174.319 111.418 173.661 110.759C173.003 110.101 172.481 109.319 172.125 108.458C171.68 107.381 171.507 106.211 171.621 105.051C171.736 103.891 172.135 102.777 172.782 101.808C173.364 100.936 174.133 100.205 175.032 99.6658C175.931 99.1269 176.938 98.7942 177.981 98.6917C179.025 98.5891 180.078 98.7193 181.064 99.0728C182.051 99.4264 182.947 99.9944 183.688 100.736C184.68 101.727 185.355 102.99 185.628 104.365C185.902 105.74 185.761 107.165 185.224 108.46C184.687 109.755 183.779 110.861 182.613 111.64Z",fill:"#FFAD03"})]})}const qg="Collapsible",[Ex,vb]=ds(qg),[Sx,C1]=Ex(qg),Rx=d.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:i,onOpenChange:a,...s}=e,[l=!1,u]=r1({prop:r,defaultProp:o,onChange:a});return d.createElement(Sx,{scope:n,disabled:i,contentId:Jo(),open:l,onOpenToggle:d.useCallback(()=>u(c=>!c),[u])},d.createElement(Ue.div,re({"data-state":x1(l),"data-disabled":i?"":void 0},s,{ref:t})))}),Px="CollapsibleTrigger",kx=d.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=C1(Px,n);return d.createElement(Ue.button,re({type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":x1(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled},r,{ref:t,onClick:Me(e.onClick,o.onOpenToggle)}))}),Xg="CollapsibleContent",Lx=d.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=C1(Xg,e.__scopeCollapsible);return d.createElement(er,{present:n||o.open},({present:i})=>d.createElement(Tx,re({},r,{ref:t,present:i})))}),Tx=d.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...i}=e,a=C1(Xg,n),[s,l]=d.useState(r),u=d.useRef(null),c=Rt(t,u),f=d.useRef(0),p=f.current,v=d.useRef(0),C=v.current,g=a.open||s,x=d.useRef(g),h=d.useRef();return d.useEffect(()=>{const m=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(m)},[]),xo(()=>{const m=u.current;if(m){h.current=h.current||{transitionDuration:m.style.transitionDuration,animationName:m.style.animationName},m.style.transitionDuration="0s",m.style.animationName="none";const y=m.getBoundingClientRect();f.current=y.height,v.current=y.width,x.current||(m.style.transitionDuration=h.current.transitionDuration,m.style.animationName=h.current.animationName),l(r)}},[a.open,r]),d.createElement(Ue.div,re({"data-state":x1(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!g},i,{ref:c,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":C?`${C}px`:void 0,...e.style}}),g&&o)});function x1(e){return e?"open":"closed"}const Nx=Rx,$x=Nx,_x=kx,Ox=Lx;function Dx({missingModel:e,resolveMutationToUse:t,unResolveMutationToUse:n}){const[r,o]=d.useState(!1),[i,a]=d.useState(!1),[s,l]=d.useState(""),[u,c]=d.useState(!0);return i?w.jsxs("div",{className:"w-full flex flex-row items-center justify-between",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(z3,{className:"w-4 h-4 text-green-400"}),w.jsx("h3",{className:"text-white font-bold",children:s}),w.jsx("h3",{className:"text-[#999] font-bold line-through ml-2",children:e.filename})]}),w.jsx(Et,{size:"sm",onClick:async f=>{f.preventDefault(),o(!0);try{const p=await n.mutateAsync({filename:e.filename});console.log("mutation:",p),a(!1),l("")}catch{Un.error("something went wrong when attempting to edit your model. please try again.")}finally{o(!1)}},children:"Edit"})]}):w.jsxs($x,{open:u,onOpenChange:c,className:"w-full flex flex-col items-start space-y-4",children:[w.jsxs("div",{className:"w-full flex items-center justify-between space-x-4",children:[w.jsx("div",{className:"w-full flex flex-row items-center justify-between",children:w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[r?w.jsx(Cu,{className:" text-orange-500 animate-spin w-5 h-5"}):w.jsx(F3,{className:"w-5 h-5 text-red-500"}),w.jsx("h3",{className:"text-white text-lg font-bold",children:e.filename}),w.jsxs(Ec,{className:"flex flex-row items-center gap-2",children:[w.jsx(oh,{className:"w-4 h-4"}),e.node_type]})]})}),w.jsx(_x,{asChild:!0,children:w.jsxs(Et,{className:"flex flex-row items-center gap-2",children:[w.jsx(B3,{className:"h-4 w-4"}),u?"hide suggestions":"show suggestions",w.jsx("span",{className:"sr-only",children:"Toggle"})]})})]}),w.jsx(Ox,{className:"space-y-2 w-full",children:w.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[w.jsx("div",{className:"w-full flex flex-col items-start gap-4",children:w.jsxs("div",{className:"w-full flex flex-col items-start gap-",children:[w.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w.jsx(H3,{className:"w-4 h-4 text-green-400"}),w.jsx("h4",{className:"text-white text-md font-semibold",children:"Replace with"})]}),e.suggestions.map(f=>{var p;return w.jsxs("div",{className:"w-full flex flex-row items-center justify-between my-1",children:[w.jsxs("div",{className:"flex flex-row items-center space-x-2",children:[f.source==="civitai"?w.jsx("img",{alt:`civitai logo for model ${f.filename}`,src:"/civitai-logo-github.png",className:"ph-no-capture w-5 h-5"}):w.jsx(bx,{className:"w-5 h-5"}),w.jsx("a",{href:f.url,target:"_blank",children:w.jsx("p",{className:"text-white text-sm font-medium underline decoration-dotted",children:f.filename})}),w.jsxs(Ec,{className:"flex flex-row items-center gap-2",children:[w.jsx(oh,{className:"w-4 h-4"}),f.node_type]}),f.sha256_checksum&&w.jsxs(Ec,{className:"flex flex-row items-center gap-2",children:[w.jsx(W3,{className:"w-4 h-4"}),`sha256: ${(p=f.sha256_checksum)==null?void 0:p.slice(0,6)}...`]})]}),w.jsx("div",{className:"flex flex-row items-center gap-2",children:w.jsx(Et,{size:"sm",className:"border border-[#222] shadow-sm shadow-[#fff]",onClick:async v=>{v.preventDefault(),o(!0);try{const C=await t.mutateAsync({filename:e.filename,node_type:e.node_type,dest_relative_path:e.dest_relative_path,source:{type:f.civitai_file_id?"civitai":"hf",file_id:f.hf_file_id||f.civitai_file_id,url:null}});console.log("mutation:",C),l(f.filename),a(!0)}catch{Un.error("there was an error when selecting the suggestion, please try again!")}finally{o(!1)}},children:"Select"})})]},`${f.civitai_file_id}_${f.hf_file_id}`)})]})}),w.jsx(Yg,{className:"bg-[#444]"})]})})]})}const Mx={flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out"},jx={borderColor:"#2196f3"},Ax={borderColor:"#00e676"},Ix={borderColor:"#ff1744"};function Fx(){const[e,t]=O.useState(!0),[n,r]=O.useState(),o=ps(),i=U2();O.useEffect(()=>{t(!1)},[]);const[a,s]=O.useState(""),[l,u]=O.useState(!1),[c,f]=O.useState(!1),[p,v]=O.useState([]),[C,g]=O.useState([]),[x,h]=d.useState(!1),[m,y]=d.useState(!1),E=Dr({mutationFn:async({import_json:U,name:ue,partiallyResolved:J})=>{var ee;console.log("importProjectMutation. entered function!");const _=JSON.parse(U),M=new Set,W=C.filter(me=>M.has(me.filename)?!1:(M.add(me.filename),!0));console.log("importProjectMutation final_import_json:",_),console.log("importProjectMutation uniqueResolvedMissingModels:",W),console.log("importProjectMutation name:",ue);const F=!!J;console.log("importProjectMutation partiallyResolvedBool:",F);const oe=await(await fetch("/api/import_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({import_json:_,resolved_missing_models:W,skipping_model_validation:F,name:ue})})).json();return console.log("DATA:",oe),!oe.success&&((ee=oe.missing_models)==null?void 0:ee.length)>0?(console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${oe.success}. data.missing_models: ${oe.missing_models}`),Un.error(oe.error),v(oe.missing_models)):!oe.success&&oe.error?Un.error(oe.error):i("/"),oe},onSuccess:async()=>{await o.invalidateQueries({queryKey:["projects"]})}}),R=Dr({mutationFn:async({filename:U,node_type:ue,dest_relative_path:J,source:_})=>{if(!U||!ue||!_){Un.error("something went wrong when resolving your model. please try again.");return}try{g([...C,{filename:U,node_type:ue,dest_relative_path:J,source:_}])}catch{Un.error("something went wrong when resolving your model. please try again.");return}Un.success("successfully resolved")}}),b=Dr({mutationFn:async({filename:U})=>{if(!U){Un.error("something went wrong when attempting to edit your model. please try again.");return}try{g(C.filter(ue=>ue.filename!==U))}catch{Un.error("something went wrong when attempting to edit your model. please try again.");return}}});d.useEffect(()=>{p.length>0&&C.length>0&&p.length===C.length?(console.log("RESOLVED all missing models"),h(!0)):(console.log("HAVE NOT RESOLVED all missing models"),h(!1))},[p,C]),d.useEffect(()=>{f(E.isPending)},[E.isPending]);const k=d.useCallback(U=>{if(U.length===0){r(void 0);return}U.slice(0,1).forEach(ue=>{const J=new FileReader;J.onabort=()=>console.log("file reading was aborted"),J.onerror=()=>console.log("file reading has failed"),J.onload=()=>{const _=J.result;if(!_){r(void 0);return}if(typeof _=="string")r(_);else{const W=new Uint8Array(_),F=[];for(var M=0;M({...Mx,...K?jx:{},...V?Ax:{},...le?Ix:{}}),[K,V,le]);if(!e)return w.jsxs(w.Fragment,{children:[w.jsx(ni,{onOpenChange:U=>u(U),open:l,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsx(mo,{children:w.jsx(Qn,{children:"Import project"})}),w.jsx("div",{className:"grid gap-4 py-4",children:w.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[w.jsx(ku,{htmlFor:"name",className:"text-right",children:"Name"}),w.jsx(Pu,{id:"name",placeholder:"",className:"col-span-3",value:a,onChange:U=>s(U.target.value)})]})}),w.jsx(Ql,{children:w.jsx(Et,{type:"submit",onClick:U=>{U.preventDefault(),n&&(E.mutate({import_json:n,name:a}),u(!1))},children:"Import"})})]})}),w.jsx(ni,{onOpenChange:U=>f(U),open:c,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsxs(mo,{children:[w.jsx(Qn,{children:"Importing project..."}),w.jsx(qd,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Cu,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsx(ni,{onOpenChange:U=>y(U),open:m,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsxs(mo,{children:[w.jsx(Qn,{children:"Are you sure you want to skip resolving all models?"}),w.jsx(qd,{children:"You will probably face errors when running the workflow in ComfyUI and might have to upload replacement models to run the workflow."})]}),w.jsxs(Ql,{children:[w.jsx(Et,{onClick:U=>{U.preventDefault(),y(!1)},children:"Cancel"}),w.jsx(Et,{onClick:U=>{U.preventDefault(),n&&E.mutate({import_json:n,name:a,partiallyResolved:!0})},children:"Yes, skip"})]})]})}),w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-3xl font-semibold",children:"Import workflow"}),w.jsxs("p",{className:"mt-5 font-medium text-gray-700",children:["Drag & drop a ",w.jsx("b",{children:"ComfyUI workflow json file"})," or ",w.jsx("b",{children:"ComfyUI Launcher json file"})," to run it with ",w.jsx("b",{children:"ZERO setup"}),"."]})]}),w.jsxs("div",{className:"flex flex-col mt-10",children:[w.jsxs("div",{className:"cursor-pointer",...N({style:q}),children:[w.jsx("input",{...j()}),w.jsx("p",{children:"Drag & drop your json file here"})]}),w.jsx("aside",{className:"mt-4",children:w.jsx("ul",{children:L.slice(0,1).map(U=>w.jsxs("li",{className:"font-medium text-sm",children:[U.name," - ",U.size," bytes"]},U.name))})})]}),p.length>0&&w.jsxs(Fg,{className:"bg-[#0a0a0a] backdrop-blur-xl border-2 border-[#444] w-full",children:[w.jsxs(zg,{children:[w.jsx(Ug,{className:"text-white",children:x?"All unrecognized models have been resolved.":"These models were not recognized"}),w.jsx(Bg,{className:"text-[#999]",children:x?"Please try importing again.":"Replace missing models with the models that are available to avoid getting errors."})]}),w.jsx(Vg,{className:"flex flex-col gap-6 space-y-5",children:p.map(U=>w.jsx(Dx,{missingModel:U,resolveMutationToUse:R,unResolveMutationToUse:b},`${U.filename}_${U.node_type}_${U.dest_relative_path}`))})]}),w.jsx("div",{className:"mt-5",children:w.jsx(Et,{variant:"default",disabled:!n,onClick:U=>{U.preventDefault(),n&&(p.length>0&&!x?y(!0):u(!0))},children:"Import"})})]})]})}function zx(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(xu,{})}),w.jsx(Fx,{})]})}function Ux({item:{id:e,title:t,description:n,thumbnail:r,isThumbnailVideo:o,credits:i}}){const a=ps(),s=U2(),l=Dr({mutationFn:async({template_id:g,name:x})=>await(await fetch("/api/create_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template_id:g,name:x})})).json(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),s("/")}}),[u,c]=O.useState(""),[f,p]=O.useState(!1),[v,C]=O.useState(!1);return d.useEffect(()=>{C(l.isPending)},[l.isPending]),w.jsxs(w.Fragment,{children:[w.jsx(ni,{onOpenChange:g=>p(g),open:f,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsx(mo,{children:w.jsx(Qn,{children:"Create project"})}),w.jsx("div",{className:"grid gap-4 py-4",children:w.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[w.jsx(ku,{htmlFor:"name",className:"text-right",children:"Name"}),w.jsx(Pu,{id:"name",placeholder:"",className:"col-span-3",value:u,onChange:g=>c(g.target.value)})]})}),w.jsx(Ql,{children:w.jsx(Et,{type:"submit",onClick:g=>{g.preventDefault(),l.mutate({template_id:e,name:u}),p(!1)},children:"Create"})})]})}),w.jsx(ni,{onOpenChange:g=>C(g),open:v,children:w.jsxs(ho,{className:"sm:max-w-[425px]",children:[w.jsxs(mo,{children:[w.jsx(Qn,{children:"Creating project..."}),w.jsx(p1,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),w.jsx("div",{className:"flex justify-center items-center",children:w.jsx(Cu,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),w.jsxs("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:[w.jsxs("div",{className:"flex flex-row justify-between space-x-5",children:[w.jsxs("div",{className:"flex flex-col",children:[w.jsx("h1",{className:"text-lg font-semibold",children:t}),w.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:n})]}),w.jsx("div",{className:"flex flex-col",children:w.jsx(Et,{onClick:g=>{g.preventDefault(),p(!0)},variant:"default",children:"Create"})})]}),r&&!o&&w.jsx("img",{src:r,className:"mt-4 w-full rounded-md"}),r&&o&&w.jsx("video",{muted:!0,loop:!0,autoPlay:!0,src:r,className:"mt-4 w-full rounded-md"}),i&&w.jsx("a",{href:i,target:"_blank",children:w.jsxs("div",{className:"mt-5 text-xs font-medium text-gray-500 flex items-center",children:["Credits ",w.jsx(V3,{className:"ml-1 w-3 h-3"})]})})]})]})}const Bx="/assets/thumbnail-C9PpGAWR.webp",Vx="/assets/thumbnail-D5odPwq0.webp",Wx="/assets/thumbnail-eWYeQc2f.webp",Hx="/assets/thumbnail-B-W0ErKu.webp",Kx="/assets/thumbnail-CLQIOTWC.mp4",Qx="/assets/thumbnail-DvLaklfj.webp",Gx=[{id:"empty",title:"Empty",description:"Blank new ComfyUI project",thumbnail:""},{id:"animate_diff",title:"AnimateDiff",description:"Create animations from a prompt",thumbnail:Bx,credits:"https://comfyworkflows.com/workflows/cc4b1b3f-735a-4e22-b241-148606544301"},{id:"svd",title:"Stable Video Diffusion",description:"Create videos from a prompt",thumbnail:Vx,credits:"https://comfyworkflows.com/workflows/ae9275b2-c303-48fb-a539-13451dd93808"},{id:"upscale",title:"Upscaling",description:"Upscale images with high quality",thumbnail:Wx,credits:"https://comfyworkflows.com/workflows/810e1c6e-12ad-4487-8dc3-d54fadf8319f"},{id:"img2img",title:"Image to Image (img2img)",description:"Stylize any input image (e.g. cartoon)",thumbnail:Hx,credits:"https://comfyworkflows.com/workflows/e20d73bf-116a-49e1-a869-b7f47b0056e8"},{id:"vid2vid",title:"Video to Video (vid2vid)",description:"Stylize any input video (e.g. anime style)",thumbnail:Kx,isThumbnailVideo:!0,credits:"https://comfyworkflows.com/workflows/84e00774-4a21-4555-b4dd-063eec3e604a"},{id:"img2vid",title:"Image to Video (img2vid)",description:"Create videos from an input image using Stable Video Diffusion",thumbnail:Qx,credits:"https://comfyworkflows.com/workflows/14e821f5-8111-4178-8d6e-c43ab02d8376"}];function Yx(){return w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsx("div",{children:w.jsx("h1",{className:"text-3xl font-semibold",children:"New workflow"})}),w.jsx("div",{className:"flex flex-col mt-10",children:w.jsx("div",{children:w.jsx(Bv,{itemKey:e=>e.id,columnGutter:20,columnWidth:350,items:Gx,render:e=>w.jsx(Ux,{item:e.data})})})})]})}function qx(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(xu,{})}),w.jsx(Yx,{})]})}const Xx=1,Zx=1e6;let Sc=0;function Jx(){return Sc=(Sc+1)%Number.MAX_SAFE_INTEGER,Sc.toString()}const Rc=new Map,Jh=e=>{if(Rc.has(e))return;const t=setTimeout(()=>{Rc.delete(e),Ca({type:"REMOVE_TOAST",toastId:e})},Zx);Rc.set(e,t)},eb=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,Xx)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?Jh(n):e.toasts.forEach(r=>{Jh(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},pl=[];let hl={toasts:[]};function Ca(e){hl=eb(hl,e),pl.forEach(t=>{t(hl)})}function tb({...e}){const t=Jx(),n=o=>Ca({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>Ca({type:"DISMISS_TOAST",toastId:t});return Ca({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function nb(){const[e,t]=d.useState(hl);return d.useEffect(()=>(pl.push(t),()=>{const n=pl.indexOf(t);n>-1&&pl.splice(n,1)}),[e]),{...e,toast:tb,dismiss:n=>Ca({type:"DISMISS_TOAST",toastId:n})}}function rb(){const[e,t]=O.useState(),n=Tv({queryKey:["settings"],queryFn:async()=>await(await fetch("/api/get_config")).json(),enabled:!e});d.useEffect(()=>{n.data&&t(n.data.credentials.civitai.apikey)},[n.data]);const{toast:r}=nb(),o=Dr({mutationFn:async({civitai_api_key:i})=>await(await fetch("/api/update_config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({credentials:{civitai:{apikey:i}}})})).json(),onSuccess:async()=>{r({title:"Saved your settings!"})}});return n.isLoading?w.jsx("div",{children:"Loading..."}):w.jsx(w.Fragment,{children:w.jsxs("div",{className:"flex flex-col p-10",children:[w.jsxs("div",{className:"flex flex-col space-y-2",children:[w.jsx(ku,{htmlFor:"name",className:"text-left",children:"CivitAI API Key"}),w.jsx(Pu,{id:"name",placeholder:"Your CivitAI API key",className:"w-fit",value:e,required:!0,onChange:i=>t(i.target.value)}),w.jsxs("p",{className:"text-xs font-medium text-gray-600",children:["You can get your CivitAI API key from your ",w.jsx("a",{href:"https://civitai.com/user/account",target:"_blank",rel:"noreferrer",children:"CivitAI account settings page"}),".",w.jsx("br",{}),'Scroll to the bottom of the page to the section titled "API Keys", and create one.',w.jsx("br",{}),w.jsx("br",{}),"This key is saved locally and ONLY used to download missing models directly from CivitAI. It is NEVER sent anywhere else."]})]}),w.jsx("div",{children:w.jsx(Et,{onClick:i=>{i.preventDefault(),o.mutate({civitai_api_key:e||""})},variant:"default",className:"mt-5",children:o.isPending?"Saving...":"Save"})})]})})}function ob(){return w.jsxs("main",{className:"flex min-h-screen flex-col",children:[w.jsx("div",{children:w.jsx(xu,{})}),w.jsx(rb,{})]})}const ib=d.createContext(void 0),ab={setTheme:e=>{},themes:[]},sb=()=>{var e;return(e=d.useContext(ib))!==null&&e!==void 0?e:ab},lb=({...e})=>{const{theme:t="system"}=sb();return w.jsx(yx,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},ub=new W7,cb=$y([{path:"/",element:w.jsx(qw,{})},{path:"/import",element:w.jsx(zx,{})},{path:"/new",element:w.jsx(qx,{})},{path:"/settings",element:w.jsx(ob,{})}]);Pc.createRoot(document.getElementById("root")).render(w.jsx(O.StrictMode,{children:w.jsxs(Y7,{client:ub,children:[w.jsx(zy,{router:cb}),w.jsx(lb,{})]})})); diff --git a/web/dist/index.html b/web/dist/index.html index d1ae14f..5db61cf 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -5,7 +5,7 @@ ComfyUI Launcher - + diff --git a/web/src/components/ImportWorkflowUI.tsx b/web/src/components/ImportWorkflowUI.tsx index 8e0da06..a4844c0 100644 --- a/web/src/components/ImportWorkflowUI.tsx +++ b/web/src/components/ImportWorkflowUI.tsx @@ -114,7 +114,7 @@ function ImportWorkflowUI() { }) const resolveMissingModelMutationWithSuggestion = useMutation({ - mutationFn: async ({ filename, node_type, source }: { filename: string, node_type: string, source: Source }) => { + mutationFn: async ({ filename, node_type, dest_relative_path, source }: { filename: string, node_type: string, dest_relative_path: string, source: Source }) => { if (!filename || !node_type || !source) { toast.error("something went wrong when resolving your model. please try again."); return; @@ -125,7 +125,7 @@ function ImportWorkflowUI() { // const newSet = new Set(resolvedMissingModels); // newSet.add(newItem); // setResolvedMissingModels(newSet); - setResolvedMissingModels([...resolvedMissingModels, { filename: filename, node_type: node_type, source: source }]); + setResolvedMissingModels([...resolvedMissingModels, { filename: filename, node_type: node_type, dest_relative_path: dest_relative_path, source: source }]); } catch (error: unknown) { toast.error("something went wrong when resolving your model. please try again."); return; @@ -278,7 +278,7 @@ function ImportWorkflowUI() { setConfirmOnlyPartiallyResolvingOpen(open)} open={confirmOnlyPartiallyResolvingOpen}> - You've only partially resolved the missing models, are you sure you want to skip resolving all models? + Are you sure you want to skip resolving all models? You will probably face errors when running the workflow in ComfyUI and might have to upload replacement models to run the workflow. diff --git a/web/src/components/MissingModelItem.tsx b/web/src/components/MissingModelItem.tsx index f27a830..6819dcc 100644 --- a/web/src/components/MissingModelItem.tsx +++ b/web/src/components/MissingModelItem.tsx @@ -15,7 +15,7 @@ import { CollapsibleTrigger, } from "@/components/ui/collapsible" -function MissingModelItem({ missingModel, resolveMutationToUse, unResolveMutationToUse }: { missingModel: MissingModel, resolveMutationToUse: UseMutationResult, unResolveMutationToUse: UseMutationResult}) { +function MissingModelItem({ missingModel, resolveMutationToUse, unResolveMutationToUse }: { missingModel: MissingModel, resolveMutationToUse: UseMutationResult, unResolveMutationToUse: UseMutationResult}) { const [loading, setLoading] = useState(false); const [resolved, setResolved] = useState(false); const [newFileName, setNewFileName] = useState(""); @@ -83,7 +83,7 @@ function MissingModelItem({ missingModel, resolveMutationToUse, unResolveMutatio e.preventDefault(); setLoading(true); try { - const mutation = await resolveMutationToUse.mutateAsync({ filename: missingModel.filename, node_type: missingModel.node_type, source: { type: suggestion.civitai_file_id ? "civitai" : "hf", file_id: suggestion.hf_file_id || suggestion.civitai_file_id, url: null } }) + const mutation = await resolveMutationToUse.mutateAsync({ filename: missingModel.filename, node_type: missingModel.node_type, dest_relative_path: missingModel.dest_relative_path, source: { type: suggestion.civitai_file_id ? "civitai" : "hf", file_id: suggestion.hf_file_id || suggestion.civitai_file_id, url: null } }) // resolveMutationToUse.mutate({ filename: missingModel.filename, node_type: missingModel.node_type, source: { type: suggestion.civitai_file_id ? "civitai" : "hf", file_id: suggestion.hf_file_id || suggestion.civitai_file_id, url: null } }) console.log("mutation:", mutation); setNewFileName(suggestion.filename); diff --git a/web/src/lib/types.ts b/web/src/lib/types.ts index 8301a9b..0968005 100644 --- a/web/src/lib/types.ts +++ b/web/src/lib/types.ts @@ -64,5 +64,6 @@ export type MissingModel = { export type ResolvedMissingModelFile = { filename: string, node_type: string, + dest_relative_path: string, source: Source } \ No newline at end of file From e8c6fea53307ffb68cd8941dc9c933c84c88a540 Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 10:49:34 -0800 Subject: [PATCH 17/26] wip --- server/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/utils.py b/server/utils.py index df522b3..bff195b 100644 --- a/server/utils.py +++ b/server/utils.py @@ -239,7 +239,7 @@ def compute_sha256_checksum(file_path): if not data: break sha256.update(data) - return sha256.hexdigest() + return sha256.hexdigest().lower() def get_config(): with open(CONFIG_FILEPATH, "r") as f: @@ -271,7 +271,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): break download_url = file_info["download_url"] dest_relative_path = file_info["dest_relative_path"] - sha256_checksum = file_info["sha256_checksum"] + sha256_checksum = file_info["sha256_checksum"].lower() if not download_url: print(f"WARNING: Could not find download URL for: {dest_relative_path}") From 998ff8582b854ea044650d1035f92dff961c2932 Mon Sep 17 00:00:00 2001 From: dylanintech Date: Thu, 7 Mar 2024 00:23:38 +0000 Subject: [PATCH 18/26] added bore as cw endpoint for local testing and added chesksum logs --- server/server.py | 2 +- server/utils.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/server.py b/server/server.py index c047aaf..ea99601 100644 --- a/server/server.py +++ b/server/server.py @@ -27,7 +27,7 @@ check_url_structure ) -CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "https://comfyworkflows.com") +CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "http://bore.pub:24819/") app = Flask( __name__, static_url_path="", static_folder="../web/dist", template_folder="../web/dist" diff --git a/server/utils.py b/server/utils.py index bff195b..540c594 100644 --- a/server/utils.py +++ b/server/utils.py @@ -47,7 +47,7 @@ def slugify(value, allow_unicode=False): CUSTOM_NODES_TO_IGNORE_FROM_SNAPSHOTS = ["ComfyUI-ComfyWorkflows", "ComfyUI-Manager"] -CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "https://comfyworkflows.com/") +CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "http://bore.pub:24819/") CONFIG_FILEPATH = "./config.json" @@ -320,7 +320,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): pb.update(len(chunk)) if chunk: f.write(chunk) - + print(f"({dest_path}) expected checksum: {sha256_checksum}.computed checksum: {compute_sha256_checksum(dest_path)}") if compute_sha256_checksum(dest_path) == sha256_checksum: print(f"computed checksum: {compute_sha256_checksum(dest_path)} equals key: {sha256_checksum} for relative path: {dest_relative_path}") download_successful = True From f88503f0eef6bbb1ca691935d4cf11b507b4c3de Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 16:24:26 -0800 Subject: [PATCH 19/26] wip --- server/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/utils.py b/server/utils.py index bff195b..8298675 100644 --- a/server/utils.py +++ b/server/utils.py @@ -45,6 +45,8 @@ def slugify(value, allow_unicode=False): MAX_DOWNLOAD_ATTEMPTS = 3 +MAX_NUM_ALTERNATIVE_DOWNLOADS_TO_ATTEMPT = 3 # when the requested file is not found, we will attempt to download the same file from a different source + CUSTOM_NODES_TO_IGNORE_FROM_SNAPSHOTS = ["ComfyUI-ComfyWorkflows", "ComfyUI-Manager"] CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "https://comfyworkflows.com/") From 19bf145cd6a7a845d3a5602f5ab445cfbcc14982 Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 16:34:39 -0800 Subject: [PATCH 20/26] auto-renaming for model files that already exist but with different content --- server/utils.py | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/server/utils.py b/server/utils.py index c7d1d11..d062312 100644 --- a/server/utils.py +++ b/server/utils.py @@ -282,12 +282,18 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): dest_path = os.path.join(project_folder_path, "comfyui", dest_relative_path) if os.path.exists(dest_path): - assert ( - compute_sha256_checksum(dest_path) == sha256_checksum - ), f"File already exists at {dest_path} but has different checksum" - print(f"the following destination path already exists: {dest_path}") - downloaded_file = True - break + if compute_sha256_checksum(dest_path) != sha256_checksum: + old_dest_filename = os.path.basename(dest_path) + new_dest_path = generate_incrementing_filename(dest_path) + print(f"WARNING: File '{dest_relative_path}' already exists and has a different checksum, so renaming new file to: {new_dest_path}") + dest_path = new_dest_path + new_dest_filename = os.path.basename(new_dest_path) + # we auto-rename the file in the launcher json to match the new filename, so that the user doesn't have to manually update the launcher/workflow json + rename_file_in_launcher_json(launcher_json, old_dest_filename, new_dest_filename) + else: + print(f"File already exists: {dest_path}, so skipping download.") + downloaded_file = True + break os.makedirs(os.path.dirname(dest_path), exist_ok=True) @@ -367,6 +373,26 @@ def get_launcher_json_for_workflow_json(workflow_json, resolved_missing_models, ), f"Failed to get launcher json for workflow json: {workflow_json}" return response.json() +def generate_incrementing_filename(filepath): + filename, file_extension = os.path.splitext(filepath) + counter = 1 + while os.path.exists(filepath): + filepath = f"{filename} ({counter}){file_extension}" + counter += 1 + return filepath + +def rename_file_in_workflow_json(workflow_json, old_filename, new_filename): + workflow_json_str = json.dumps(workflow_json) + workflow_json_str = workflow_json_str.replace(old_filename, new_filename) + return json.loads(workflow_json_str) + +def rename_file_in_launcher_json(launcher_json, old_filename, new_filename): + workflow_json = launcher_json["workflow_json"] + workflow_json_str = json.dumps(workflow_json) + workflow_json_str = workflow_json_str.replace(old_filename, new_filename) + workflow_json = json.loads(workflow_json_str) + launcher_json["workflow_json"] = workflow_json + def set_default_workflow_from_launcher_json(project_folder_path, launcher_json): if not launcher_json: From 0f164978fdb905feec1cb532e978995c19b7b13c Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 19:54:59 -0800 Subject: [PATCH 21/26] wip --- server/utils.py | 251 +++++++++++++++++++++++++----------------------- 1 file changed, 129 insertions(+), 122 deletions(-) diff --git a/server/utils.py b/server/utils.py index d062312..fec7529 100644 --- a/server/utils.py +++ b/server/utils.py @@ -45,8 +45,6 @@ def slugify(value, allow_unicode=False): MAX_DOWNLOAD_ATTEMPTS = 3 -MAX_NUM_ALTERNATIVE_DOWNLOADS_TO_ATTEMPT = 3 # when the requested file is not found, we will attempt to download the same file from a different source - CUSTOM_NODES_TO_IGNORE_FROM_SNAPSHOTS = ["ComfyUI-ComfyWorkflows", "ComfyUI-Manager"] CW_ENDPOINT = os.environ.get("CW_ENDPOINT", "http://bore.pub:24819/") @@ -268,14 +266,15 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): # download all necessary files for file_infos in launcher_json["files"]: downloaded_file = False + # try each source for the file until one works for file_info in file_infos: if downloaded_file: break - download_url = file_info["download_url"] + cw_file_download_url = file_info["download_url"] dest_relative_path = file_info["dest_relative_path"] sha256_checksum = file_info["sha256_checksum"].lower() - if not download_url: + if not cw_file_download_url: print(f"WARNING: Could not find download URL for: {dest_relative_path}") missing_download_files.add(dest_relative_path) continue @@ -300,53 +299,56 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): num_attempts = 0 download_successful = False - print(f"Downloading {download_url} to {dest_path}") + print(f"Downloading file for: {dest_path}") - while num_attempts < MAX_DOWNLOAD_ATTEMPTS: - try: - response = requests.head(download_url, allow_redirects=False) - response.raise_for_status() + if "/comfyui-launcher/" in cw_file_download_url: + response = requests.get(cw_file_download_url) + response.raise_for_status() + response_json = response.json() + download_urls = response_json["urls"] + else: + download_urls = [cw_file_download_url,] - headers = {} + for download_url in download_urls: + if download_successful: + break + while num_attempts < MAX_DOWNLOAD_ATTEMPTS: + try: + headers = {} - if 300 < response.status_code < 400: - url = response.headers.get('Location') - assert url, f"Failed to get redirect location for {download_url}" # parse the url to get the host using - hostname = urlparse(url).hostname + hostname = urlparse(download_url).hostname if hostname == "civitai.com": headers["Authorization"] = f"Bearer {config['credentials']['civitai']['apikey']}" - download_url = url - - with requests.get( - download_url, headers=headers, allow_redirects=True, stream=True - ) as response: - total_size = int(response.headers.get("content-length", 0)) - with tqdm(total=total_size, unit="B", unit_scale=True) as pb: - with open(dest_path, "wb") as f: - for chunk in response.iter_content(chunk_size=10 * 1024): - pb.update(len(chunk)) - if chunk: - f.write(chunk) - print(f"({dest_path}) expected checksum: {sha256_checksum}.computed checksum: {compute_sha256_checksum(dest_path)}") - if compute_sha256_checksum(dest_path) == sha256_checksum: - print(f"computed checksum: {compute_sha256_checksum(dest_path)} equals key: {sha256_checksum} for relative path: {dest_relative_path}") - download_successful = True - if dest_relative_path in missing_download_files: - missing_download_files.remove(dest_relative_path) - break - if os.path.exists(dest_path): - os.remove(dest_path) - except Exception as e: - import traceback - traceback.print_exc() - if os.path.exists(dest_path): - os.remove(dest_path) - num_attempts += 1 + + with requests.get( + download_url, headers=headers, allow_redirects=True, stream=True + ) as response: + total_size = int(response.headers.get("content-length", 0)) + with tqdm(total=total_size, unit="B", unit_scale=True) as pb: + with open(dest_path, "wb") as f: + for chunk in response.iter_content(chunk_size=10 * 1024): + pb.update(len(chunk)) + if chunk: + f.write(chunk) + print(f"({dest_path}) expected checksum: {sha256_checksum} | computed checksum: {compute_sha256_checksum(dest_path)}") + if compute_sha256_checksum(dest_path) == sha256_checksum: + print(f"computed checksum: {compute_sha256_checksum(dest_path)} equals key: {sha256_checksum} for relative path: {dest_relative_path}") + download_successful = True + if dest_relative_path in missing_download_files: + missing_download_files.remove(dest_relative_path) + break + if os.path.exists(dest_path): + os.remove(dest_path) + except Exception as e: + import traceback + traceback.print_exc() + if os.path.exists(dest_path): + os.remove(dest_path) + num_attempts += 1 if not download_successful: - # print(f"WARNING: Failed to download file: {download_url}") - print(f"download was not successful for relative path: {dest_relative_path}") + print(f"WARNING: Failed to download file for: {dest_relative_path}") missing_download_files.add(dest_relative_path) continue @@ -357,8 +359,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): print(f"WARNING: Failed to download file: {dest_relative_path}") missing_download_files.add(dest_relative_path) else: - print(f"Downloaded {dest_relative_path}") - # assert downloaded_file, f"Failed to download file: {dest_relative_path}" + print(f"SUCCESS: Downloaded: {dest_relative_path}") return missing_download_files @@ -458,102 +459,108 @@ def create_comfyui_project( project_folder_path, models_folder_path, id, name, launcher_json=None ): project_folder_path = os.path.abspath(project_folder_path) - models_folder_path = os.path.abspath(models_folder_path) - assert not os.path.exists( - project_folder_path - ), f"Project folder already exists: {project_folder_path}" - os.makedirs(project_folder_path) + try: + models_folder_path = os.path.abspath(models_folder_path) - set_launcher_state_data( - project_folder_path, - {"id":id,"name":name, "status_message": "Downloading ComfyUI...", "state": "download_comfyui"}, - ) - # Modify the subprocess.run calls to capture and log the stdout - run_command( - ["git", "clone", COMFYUI_REPO_URL, os.path.join(project_folder_path, 'comfyui')], - ) + assert not os.path.exists( + project_folder_path + ), f"Project folder already exists: {project_folder_path}" + os.makedirs(project_folder_path) - if launcher_json: - comfyui_commit_hash = launcher_json["snapshot_json"]["comfyui"] - if comfyui_commit_hash: - run_command( - ["git", "checkout", comfyui_commit_hash], - cwd=os.path.join(project_folder_path, 'comfyui'), - ) - launcher_json['workflow_json'] = normalize_model_filepaths_in_workflow_json(launcher_json['workflow_json']) + set_launcher_state_data( + project_folder_path, + {"id":id,"name":name, "status_message": "Downloading ComfyUI...", "state": "download_comfyui"}, + ) + # Modify the subprocess.run calls to capture and log the stdout + run_command( + ["git", "clone", COMFYUI_REPO_URL, os.path.join(project_folder_path, 'comfyui')], + ) - - # move the comfyui/web/index.html file to comfyui/web/comfyui_index.html - os.rename( - os.path.join(project_folder_path, "comfyui", "web", "index.html"), - os.path.join(project_folder_path, "comfyui", "web", "comfyui_index.html"), - ) + if launcher_json: + comfyui_commit_hash = launcher_json["snapshot_json"]["comfyui"] + if comfyui_commit_hash: + run_command( + ["git", "checkout", comfyui_commit_hash], + cwd=os.path.join(project_folder_path, 'comfyui'), + ) + launcher_json['workflow_json'] = normalize_model_filepaths_in_workflow_json(launcher_json['workflow_json']) - # copy the web/comfy_frame.html file to comfyui/web/index.html - shutil.copy( - os.path.join("web", "comfy_frame.html"), - os.path.join(project_folder_path, "comfyui", "web", "index.html"), - ) + + # move the comfyui/web/index.html file to comfyui/web/comfyui_index.html + os.rename( + os.path.join(project_folder_path, "comfyui", "web", "index.html"), + os.path.join(project_folder_path, "comfyui", "web", "comfyui_index.html"), + ) - # remove the models folder that exists in comfyui and symlink the shared_models folder as models - if os.path.exists(os.path.join(project_folder_path, "comfyui", "models")): - shutil.rmtree( - os.path.join(project_folder_path, "comfyui", "models"), ignore_errors=True + # copy the web/comfy_frame.html file to comfyui/web/index.html + shutil.copy( + os.path.join("web", "comfy_frame.html"), + os.path.join(project_folder_path, "comfyui", "web", "index.html"), ) - if not os.path.exists(models_folder_path): - setup_initial_models_folder(models_folder_path) + # remove the models folder that exists in comfyui and symlink the shared_models folder as models + if os.path.exists(os.path.join(project_folder_path, "comfyui", "models")): + shutil.rmtree( + os.path.join(project_folder_path, "comfyui", "models"), ignore_errors=True + ) - # create a folder in project folder/comfyui/models that is a symlink to the models folder - create_symlink(models_folder_path, os.path.join(project_folder_path, "comfyui", "models")) + if not os.path.exists(models_folder_path): + setup_initial_models_folder(models_folder_path) - set_launcher_state_data( - project_folder_path, - {"status_message": "Installing ComfyUI...", "state": "install_comfyui"}, - ) + # create a folder in project folder/comfyui/models that is a symlink to the models folder + create_symlink(models_folder_path, os.path.join(project_folder_path, "comfyui", "models")) - # create a new virtualenv in project folder/venv - create_virtualenv(os.path.join(project_folder_path, 'venv')) + set_launcher_state_data( + project_folder_path, + {"status_message": "Installing ComfyUI...", "state": "install_comfyui"}, + ) - # activate the virtualenv + install comfyui requirements - run_command_in_project_venv( - project_folder_path, - f"pip install -r {os.path.join(project_folder_path, 'comfyui', 'requirements.txt')}", - ) + # create a new virtualenv in project folder/venv + create_virtualenv(os.path.join(project_folder_path, 'venv')) - set_launcher_state_data( - project_folder_path, - { - "status_message": "Installing custom nodes...", - "state": "install_custom_nodes", - }, - ) + # activate the virtualenv + install comfyui requirements + run_command_in_project_venv( + project_folder_path, + f"pip install -r {os.path.join(project_folder_path, 'comfyui', 'requirements.txt')}", + ) - # install default custom nodes - install_default_custom_nodes(project_folder_path, launcher_json) + set_launcher_state_data( + project_folder_path, + { + "status_message": "Installing custom nodes...", + "state": "install_custom_nodes", + }, + ) - setup_custom_nodes_from_snapshot(project_folder_path, launcher_json) + # install default custom nodes + install_default_custom_nodes(project_folder_path, launcher_json) - # install pip requirements - if launcher_json and "pip_requirements" in launcher_json: - install_pip_reqs(project_folder_path, launcher_json["pip_requirements"]) + setup_custom_nodes_from_snapshot(project_folder_path, launcher_json) - # download all necessary files - set_launcher_state_data( - project_folder_path, - { - "status_message": "Downloading models & other files...", - "state": "download_files", - }, - ) + # install pip requirements + if launcher_json and "pip_requirements" in launcher_json: + install_pip_reqs(project_folder_path, launcher_json["pip_requirements"]) - setup_files_from_launcher_json(project_folder_path, launcher_json) - set_default_workflow_from_launcher_json(project_folder_path, launcher_json) + # download all necessary files + set_launcher_state_data( + project_folder_path, + { + "status_message": "Downloading models & other files...", + "state": "download_files", + }, + ) - set_launcher_state_data( - project_folder_path, {"status_message": "Ready", "state": "ready"} - ) + setup_files_from_launcher_json(project_folder_path, launcher_json) + set_default_workflow_from_launcher_json(project_folder_path, launcher_json) + + set_launcher_state_data( + project_folder_path, {"status_message": "Ready", "state": "ready"} + ) + except: + # remove the project folder if an error occurs + shutil.rmtree(project_folder_path, ignore_errors=True) + raise def is_port_in_use(port: int) -> bool: import socket From 24e33712eec50784736c7d6d1536542b35ba5453 Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 19:56:19 -0800 Subject: [PATCH 22/26] wip --- server/utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server/utils.py b/server/utils.py index fec7529..40bec4e 100644 --- a/server/utils.py +++ b/server/utils.py @@ -288,6 +288,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): dest_path = new_dest_path new_dest_filename = os.path.basename(new_dest_path) # we auto-rename the file in the launcher json to match the new filename, so that the user doesn't have to manually update the launcher/workflow json + # TODO: Later, we need to update this to only replace the filename within its specific node type (since multiple nodes can refer to a common filename, but they would be different files) rename_file_in_launcher_json(launcher_json, old_dest_filename, new_dest_filename) else: print(f"File already exists: {dest_path}, so skipping download.") From 44dc4738cb6bc6b0e69412863c3bf21abe44abfc Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 20:05:38 -0800 Subject: [PATCH 23/26] wip --- server/utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/utils.py b/server/utils.py index 40bec4e..6d40296 100644 --- a/server/utils.py +++ b/server/utils.py @@ -555,6 +555,10 @@ def create_comfyui_project( setup_files_from_launcher_json(project_folder_path, launcher_json) set_default_workflow_from_launcher_json(project_folder_path, launcher_json) + if launcher_json: + with open(os.path.join(project_folder_path, "launcher.json"), "w") as f: + json.dump(launcher_json, f) + set_launcher_state_data( project_folder_path, {"status_message": "Ready", "state": "ready"} ) From 19536c08b62e70e7146e6bd081bcca3cc6bfcebd Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 20:39:43 -0800 Subject: [PATCH 24/26] wip --- server/utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server/utils.py b/server/utils.py index 6d40296..4fe1629 100644 --- a/server/utils.py +++ b/server/utils.py @@ -313,6 +313,7 @@ def setup_files_from_launcher_json(project_folder_path, launcher_json): for download_url in download_urls: if download_successful: break + num_attempts = 0 while num_attempts < MAX_DOWNLOAD_ATTEMPTS: try: headers = {} From 95ac469e38fcbcca1f0d38479c795407dfb97f4e Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Wed, 6 Mar 2024 21:39:13 -0800 Subject: [PATCH 25/26] fixed bug with creating blank project --- server/server.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/server.py b/server/server.py index ea99601..e6cab2c 100644 --- a/server/server.py +++ b/server/server.py @@ -124,7 +124,12 @@ def create_project(): if os.path.exists(template_workflow_json_fp): with open(template_workflow_json_fp, "r") as f: template_workflow_json = json.load(f) - launcher_json = get_launcher_json_for_workflow_json(template_workflow_json) + res = get_launcher_json_for_workflow_json(template_workflow_json) + if (res["success"] and res["launcher_json"]): + launcher_json = res["launcher_json"] + else: + return jsonify({ "success": False, "missing_models": [], "error": res["error"] }) + create_comfyui_project( project_path, models_path, id=id, name=name, launcher_json=launcher_json ) From b303a7823da7ab158d2758213dccc4d13fe67956 Mon Sep 17 00:00:00 2001 From: dylanintech Date: Thu, 7 Mar 2024 06:15:50 +0000 Subject: [PATCH 26/26] fixed partially resolved modal bug, added error log, etc. --- web/src/components/ImportWorkflowUI.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/web/src/components/ImportWorkflowUI.tsx b/web/src/components/ImportWorkflowUI.tsx index a4844c0..e74b370 100644 --- a/web/src/components/ImportWorkflowUI.tsx +++ b/web/src/components/ImportWorkflowUI.tsx @@ -99,9 +99,9 @@ function ImportWorkflowUI() { console.log("DATA:", data); if (!data.success && data.missing_models?.length > 0) { console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${data.success}. data.missing_models: ${data.missing_models}`) - toast.error(data.error); setMissingModels(data.missing_models); } else if (!data.success && !!data.error) { + console.error("error in import workflow mut:", data.error); toast.error(data.error); } else { navigate('/') @@ -172,6 +172,9 @@ function ImportWorkflowUI() { useEffect(() => { setProjectStatusDialogOpen(importProjectMutation.isPending); + if (importProjectMutation.isPending) { + setConfirmOnlyPartiallyResolvingOpen(false); + } }, [importProjectMutation.isPending]) @@ -267,7 +270,7 @@ function ImportWorkflowUI() { Importing project... - Setting up ComfyUI, installing custom nodes, downloading models + Setting up ComfyUI, installing custom nodes, downloading models. This might take a few minutes. Do not close this page.
@@ -202,8 +420,107 @@ function ImportWorkflowUI() {
+ {missingModels.length > 0 && !skippedMissingModels && + + + {resolvedAllModels ? 'All unrecognized models have been resolved.' : 'These models were not recognized'} + {resolvedAllModels ? 'Please try importing again.' : 'We could not find the folloiwng models from the workflow you tried to import. Replace missing models with the models that are available to avoid getting errors.'} + + + {missingModels.map((failed_model) => { //iterate through missingModels instead + if (!failed_model.resolved) { + return ( +
+
+
+ {resolvingModelWithID === failed_model.id ? : } +

{failed_model.file_name}

+
+
+
+
+
+ +

Replace with

+
+ {failed_model.backup_models.map((backup_model) => { + return ( +
+
+ +

{backup_model.file_name}

+
+
+ + + + +
+
+ ) + })} +
+ +
+ +
+ ) + } else { + return ( +
+
+ +

{failed_model.new_file_name}

+

{failed_model.file_name}

+
+ +
+ ) + } + })} + + {!resolvedAllModels && + + + } + } + +
- -
- +

3$^ZdoL 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 z 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 literal 0 HcmV?d00001 diff --git a/server/tests.py b/server/tests.py index 551d9a6..e5bd588 100644 --- a/server/tests.py +++ b/server/tests.py @@ -1,19 +1,21 @@ +### PSEUDOCODE + # takes in an argument: the endpoint of the launcher server # num_total_tests = len(files) # passed_tests = [] # failed_tests = [] -# for each input json file: +# for each input json file in both /templates directory and /test_workflows directory (recursive search, json files might be in sub-folders) # load the contents of the json file into memory # for each json object in memory, replace image filepaths with our testing image filepath # do the same for videeo filepaths in the json file -# /import_project name= import_json= +# fetch to /import_project name= import_json= # returns an id -# /projects//start +# fetch to /projects//start # returns a port # use selenium navigate to http://localhost: @@ -53,4 +55,188 @@ make POST request to /projects//delete """ -# at the end, print out the number of tests that passed and the number of tests that failed \ No newline at end of file +# at the end, print out the number of tests that passed and the number of tests that failed + +### SCRIPT +import os +import json +import requests +import sys +import websocket +import time +from selenium import webdriver +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +import uuid + +def load_json_files(directory): + print(f"load_json_files 1. loading json files for dir: {directory}") + json_files = [] + for root, _, files in os.walk(directory): + print(f"load_json_files 2. FILEs in dir: {files}") + for file in files: + print(f"load_json_files 3. FILE in dir: {files}") + if file.endswith('.json'): + print(f"load_json_files 3. FILE ends w/ json, opening.") + with open(os.path.join(root, file), 'r') as f: + json_data = json.load(f) + json_files.append((os.path.join(root, file), json_data)) + return json_files + +# def replace_filepaths(json_obj): +# for node in json_obj["nodes"]: +# for input_obj in node.get("inputs", []): +# if input_obj["type"] == "IMAGE" or input_obj["type"] == "VIDEO": +# for widget_value in node.get("widgets_values", []): +# if isinstance(widget_value, dict) and "params" in widget_value: +# if widget_value["params"].get("type") == "output": +# if widget_value["params"]["format"] == "image/gif": +# widget_value["params"]["filename"] = "./example.gif" +# elif widget_value["params"]["format"] == "image/png": +# widget_value["params"]["filename"] = "./example.png" +# elif widget_value["params"]["format"] == "image/jpeg": +# widget_value["params"]["filename"] = "./example.jpeg" +# elif widget_value["params"]["format"] == "video/mp4": +# widget_value["params"]["filename"] = "./example.mp4" +# return json_obj + +def replace_filepaths(json_obj): + print(f"replace_filepaths 1. replacing for json_obj.") + for node in json_obj["nodes"]: + print(f"replace_filepaths 2. replacing for node: {node}") + if node["type"] == "VHS_LoadVideo": + print(f"replace_filepaths 3a. node is of type VHS_LoadVideo") + if "widgets_values" in node and "video" in node["widgets_values"]: + print(f"replace_filepaths 4. widgets_values is in node and video is in widgets_values") + node["widgets_values"]["video"] = "./server/example.mp4" + elif node["type"] == "LoadImage": + print(f"replace_filepaths 3b. node is of type LoadImage") + if "widgets_values" in node and len(node["widgets_values"]) > 0: + print(f"replace_filepaths 4. widgets_values is in node and the len of widgets_values is > 0") + node["widgets_values"][0] = "./server/example.png" + return json_obj + + +def run_tests(server_url): + print(f"run_tests 1. entered fn w/ server_url: {server_url}") + passed_tests = [] + failed_tests = [] + + templates_dir = './server/templates' + # testworkflows_dir = './test_workflows' + + templates_json = load_json_files(templates_dir) + # testworkflows_json = load_json_files(testworkflows_dir) + print(f"run_tests 2. templates_json length: {len(templates_json)}.") + + # all_json = templates_json + testworkflows_json + + for file_path, json_obj in templates_json: #all_json + NAME = str(uuid.uuid4()) + print(f"run_tests 3. entered for loop for file_path: {file_path} and generated name: {NAME}") + replaced_json_obj = replace_filepaths(json_obj) + print(f"run_tests 3WW. successfylly replaced filepaths fr.") + + ## Fetch to /import_project + # response = requests.post(f"{server_url}/import_project", json=json_obj) + import_project_payload = { + "name": NAME, + "import_json": replaced_json_obj #json_obj + } + import_project_headers = { + "Content-Type": "application/json" + } + + response = requests.request("POST", f"{server_url}/api/import_project", json=import_project_payload, headers=import_project_headers) + project_id = response.json()['id'] + print(f"run_tests 4. got response from /import_project: {response}. and got project_id: {project_id}") + + # Fetch to /projects//start + response = requests.post(f"{server_url}/api/projects/{project_id}/start") + port = response.json()['port'] + print(f"run_tests 5. got response from /projects/{project_id}/start: {response}. and got port: {port}") + + # Use selenium + driver = webdriver.Chrome() + driver.get(f"http://localhost:{port}") + WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.ID, 'queue-button'))) + driver.find_element_by_id('queue-button').click() + time.sleep(5) + driver.quit() + + # Get request to http://localhost:/queue + response = requests.get(f"http://localhost:{port}/queue") + print(f"run_tests 6. made request to comfyui queue got response from http://localhost:{port}/queue: {response}.") + queue_data = response.json() + print(f"run_tests 7. queue_data from http://localhost:{port}/queue: {queue_data}.") + client_id = queue_data.get("queue_running", {})[3].get("client_id") + print(f"run_tests 8. client_id from http://localhost:{port}/queue: {client_id}.") + prompt_id = queue_data.get("queue_running", {})[1] + print(f"run_tests 9. prompt_id from http://localhost:{port}/queue: {prompt_id}.") + + if not client_id or not prompt_id: + print(f"run_tests F. either prompt_id ({prompt_id}) or client_id({client_id}) is null!") + failed_tests.append(file_path) + continue + + # WebSocket connection + ws = websocket.WebSocket() + ws.connect(f"ws://localhost:{port}/ws?clientId={client_id}") + print(f"run_tests 11. connected websocket: {ws}") + + is_success = False + while True: + print(f"run_tests 12. ws while loop, entered websocket while loop!") + out = ws.recv() + print(f"run_tests 13. ws while loop, got out value: {out}") + if isinstance(out, str): + message = json.loads(out) + print(f"run_tests 14. ws while loop, got message value: {message}") + if message['type'] == 'executing': + print(f"run_tests 15. ws while loop, in the if block for when msg is executing fr.") + data = message['data'] + print(f"run_tests 16. ws while loop, in the if block for when msg is executing fr. got data: {data}") + if data['node'] is None and data['prompt_id'] == prompt_id: + print(f"run_tests 16. ws while loop, in the if block for when msg is executing fr. setting is_success to true since node is null and prompt id is equal to prompt id!") + is_success = True + break + elif message['type'] == 'execution_error': + print(f"run_tests 17. ws while loop, in the if block for when msg got EXEC ERROR fr.") + is_success = False + break + else: + continue + + if is_success: + print(f"run_tests 18. pushing to is_success: {is_success}") + passed_tests.append(file_path) + else: + print(f"run_tests 19. pushing to failed_tests: {failed_tests}") + failed_tests.append(file_path) + ws.close() + + # Make POST request to /projects//delete + requests.post(f"{server_url}/api/projects/{project_id}/delete") + print(f"run_tests 20. deleted proj!") + + return passed_tests, failed_tests + +def main(): + if len(sys.argv) != 2: + print("Usage: python tests.py ") + sys.exit(1) + + server_url = sys.argv[1] + + passed, failed = run_tests(server_url) + + print(f"Number of tests passed: {len(passed)}") + print(f"Number of tests failed: {len(failed)}") + print("Failed tests:") + for fail in failed: + print(fail) + +if __name__ == "__main__": + main() From 03dd5afe0bc772ab2227ed72f0a82cd2fda62e50 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 26 Feb 2024 12:45:47 -0600 Subject: [PATCH 02/26] fixed selenium bugs in test scripts, incorrectly trying to access client and prompt ids from comfyui server (next to fix) --- .../test-workflow-1-edit-2.json | 366 ++++++++++++++++++ server/tests.py | 41 +- 2 files changed, 401 insertions(+), 6 deletions(-) create mode 100644 server/test-workflows/test-workflow-1/test-workflow-1-edit-2.json diff --git a/server/test-workflows/test-workflow-1/test-workflow-1-edit-2.json b/server/test-workflows/test-workflow-1/test-workflow-1-edit-2.json new file mode 100644 index 0000000..c046d10 --- /dev/null +++ b/server/test-workflows/test-workflow-1/test-workflow-1-edit-2.json @@ -0,0 +1,366 @@ +{ + "last_node_id": 9, + "last_link_id": 9, + "nodes": [ + { + "id": 3, + "type": "KSampler", + "pos": [ + 863, + 186 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 576888366236087, + "randomize", + 20, + 8, + "euler", + "normal", + 1 + ] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1209, + 188 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 8 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1451, + 189 + ], + "size": [ + 210, + 270 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 415, + 186 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 4 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "cyberpunk city skyline. optimistic future style." + ] + }, + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 413, + 389 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 5 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "text, watermark" + ] + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + 473, + 609 + ], + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 512, + 1 + ] + }, + { + "id": 4, + "type": "CheckpointLoaderSimple", + "pos": [ + 30, + 470 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 3, + 5 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 8 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "v1-5-pruned-emaonly.safetensors" + ] + } + ], + "links": [ + [ + 1, + 4, + 0, + 3, + 0, + "MODEL" + ], + [ + 2, + 5, + 0, + 3, + 3, + "LATENT" + ], + [ + 3, + 4, + 1, + 6, + 0, + "CLIP" + ], + [ + 4, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 5, + 4, + 1, + 7, + 0, + "CLIP" + ], + [ + 6, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 8, + 4, + 2, + 8, + 1, + "VAE" + ], + [ + 9, + 8, + 0, + 9, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/tests.py b/server/tests.py index e5bd588..9df4375 100644 --- a/server/tests.py +++ b/server/tests.py @@ -125,15 +125,16 @@ def run_tests(server_url): failed_tests = [] templates_dir = './server/templates' - # testworkflows_dir = './test_workflows' + test_workflows_dir = './server/test-workflows' - templates_json = load_json_files(templates_dir) - # testworkflows_json = load_json_files(testworkflows_dir) - print(f"run_tests 2. templates_json length: {len(templates_json)}.") + # templates_json = load_json_files(templates_dir) + test_workflows_json = load_json_files(test_workflows_dir) + # print(f"run_tests 2. templates_json length: {len(templates_json)}.") + print(f"run_tests 2. test_workflows_json length: {len(test_workflows_json)}.") # all_json = templates_json + testworkflows_json - for file_path, json_obj in templates_json: #all_json + for file_path, json_obj in test_workflows_json: #all_json NAME = str(uuid.uuid4()) print(f"run_tests 3. entered for loop for file_path: {file_path} and generated name: {NAME}") replaced_json_obj = replace_filepaths(json_obj) @@ -158,13 +159,41 @@ def run_tests(server_url): port = response.json()['port'] print(f"run_tests 5. got response from /projects/{project_id}/start: {response}. and got port: {port}") + # Use selenium + # driver = webdriver.Chrome() + # driver.get(f"http://localhost:{port}") + # WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.ID, 'queue-button'))) + # driver.find_element_by_id('queue-button').click() + # time.sleep(5) + # driver.quit() + # Use selenium driver = webdriver.Chrome() + print(f"run_tests SELENIUM 1. driver instantiated!") + driver.get(f"http://localhost:{port}") + print(f"run_tests SELENIUM 2. driver got to http://localhost:{port}") + + # Wait for the document to be in a ready state + WebDriverWait(driver, 15).until(lambda driver: driver.execute_script('return document.readyState') == 'complete') + print(f"run_tests SELENIUM 3. driver got to http://localhost:{port} and is in ready state.") + + # Switch to the iframe + iframe = driver.find_element(By.TAG_NAME, 'iframe') + driver.switch_to.frame(iframe) + print("run_tests SELENIUM 4. Switched to iframe.") + + # Wait for the presence of the 'queue-button' element inside the iframe WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.ID, 'queue-button'))) - driver.find_element_by_id('queue-button').click() + print(f"run_tests SELENIUM 5. driver found queue-button element inside the iframe.") + + # Click on the 'queue-button' element inside the iframe + driver.find_element(By.ID, 'queue-button').click() + print(f"run_tests SELENIUM 6. driver clicked queue-button element inside the iframe.") + time.sleep(5) driver.quit() + print(f"run_tests SELENIUM 7 (quit selenium driver).") # Get request to http://localhost:/queue response = requests.get(f"http://localhost:{port}/queue") From 18d7c1ee13bbabec1f94ec75b05f444ba6741153 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 26 Feb 2024 12:48:39 -0600 Subject: [PATCH 03/26] wip fixing the way client and prompt ids are accessed from comfyui queue data, but prompt id does not seem to be present in data? --- server/tests.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/server/tests.py b/server/tests.py index 9df4375..a4bb2fd 100644 --- a/server/tests.py +++ b/server/tests.py @@ -194,17 +194,27 @@ def run_tests(server_url): time.sleep(5) driver.quit() print(f"run_tests SELENIUM 7 (quit selenium driver).") - + # Get request to http://localhost:/queue response = requests.get(f"http://localhost:{port}/queue") print(f"run_tests 6. made request to comfyui queue got response from http://localhost:{port}/queue: {response}.") queue_data = response.json() print(f"run_tests 7. queue_data from http://localhost:{port}/queue: {queue_data}.") - client_id = queue_data.get("queue_running", {})[3].get("client_id") + + queue_running = queue_data.get("queue_running", []) + + client_id = None + prompt_id = None + + for item in queue_running: + # Assuming the client_id is the second element in each item tuple + client_id = item[1].get("client_id") + prompt_id = item[1].get("prompt_id") + break # Assuming you only want the first item + print(f"run_tests 8. client_id from http://localhost:{port}/queue: {client_id}.") - prompt_id = queue_data.get("queue_running", {})[1] print(f"run_tests 9. prompt_id from http://localhost:{port}/queue: {prompt_id}.") - + if not client_id or not prompt_id: print(f"run_tests F. either prompt_id ({prompt_id}) or client_id({client_id}) is null!") failed_tests.append(file_path) From 8a4acf9a58ecf4d48b4852b84c362d998e364f4d Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 26 Feb 2024 15:50:29 -0600 Subject: [PATCH 04/26] tests script is working! (only tested on the default ComfyUI workflow, will test on more complex ones) --- server/tests.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/server/tests.py b/server/tests.py index a4bb2fd..1a8a54a 100644 --- a/server/tests.py +++ b/server/tests.py @@ -202,18 +202,23 @@ def run_tests(server_url): print(f"run_tests 7. queue_data from http://localhost:{port}/queue: {queue_data}.") queue_running = queue_data.get("queue_running", []) + print(f"run_tests 8. queue_running from http://localhost:{port}/queue: {queue_running}.") client_id = None prompt_id = None - for item in queue_running: - # Assuming the client_id is the second element in each item tuple - client_id = item[1].get("client_id") - prompt_id = item[1].get("prompt_id") - break # Assuming you only want the first item - - print(f"run_tests 8. client_id from http://localhost:{port}/queue: {client_id}.") - print(f"run_tests 9. prompt_id from http://localhost:{port}/queue: {prompt_id}.") + if queue_running: + print(f"run_tests 9. queue_running is not empty!") + prompt_id = queue_running[0][1] + client_id = queue_running[0][3].get("client_id") + print(f"run_tests 10. got client_id from http://localhost:{port}/queue:: {client_id}") + print(f"run_tests 11. got prompt_id from http://localhost:{port}/queue:: {prompt_id}") + + # for item in queue_running: + # # Assuming the client_id is the second element in each item tuple + # client_id = item[1].get("client_id") + # prompt_id = item[1].get("prompt_id") + # break # Assuming you only want the first item if not client_id or not prompt_id: print(f"run_tests F. either prompt_id ({prompt_id}) or client_id({client_id}) is null!") From b29853691a85ebc6f6acef7244ee2821572423e9 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:06:26 -0600 Subject: [PATCH 05/26] tests.py script works for workflows that require media to load as well (loadimage and vhs load video). fixed replace_filepaths function (will have to make these paths map to assets in the cloud for prod testing) --- .../test-workflow-2/test-workflow-2.json | 443 ++++++++++++++++++ server/tests.py | 4 +- 2 files changed, 445 insertions(+), 2 deletions(-) create mode 100644 server/test-workflows/test-workflow-2/test-workflow-2.json diff --git a/server/test-workflows/test-workflow-2/test-workflow-2.json b/server/test-workflows/test-workflow-2/test-workflow-2.json new file mode 100644 index 0000000..7cd1c44 --- /dev/null +++ b/server/test-workflows/test-workflow-2/test-workflow-2.json @@ -0,0 +1,443 @@ +{ + "last_node_id": 14, + "last_link_id": 17, + "nodes": [ + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 413, + 389 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 15 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "watermark, text\n" + ] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1209, + 188 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 17 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 12, + "type": "VAEEncode", + "pos": [ + 614.979959716797, + 707.6800268554688 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 10 + }, + { + "name": "vae", + "type": "VAE", + "link": 16 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 11 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + } + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 863, + 186 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 13 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 11 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 549148935232332, + "randomize", + 20, + 8, + "dpmpp_2m", + "normal", + 0.8700000000000001 + ] + }, + { + "id": 14, + "type": "CheckpointLoaderSimple", + "pos": [ + 19, + 433 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 13 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 14, + 15 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 16, + 17 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "v1-5-pruned-emaonly.safetensors" + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 415, + 186 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 14 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 4 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "utopian cyberpunk corporate building, neon, powerful company, techo-optimism." + ] + }, + { + "id": 10, + "type": "LoadImage", + "pos": [ + 215.9799597167969, + 703.6800268554688 + ], + "size": { + "0": 315, + "1": 314.0000305175781 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 10 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "comfyworkflowcityagain.png", + "image" + ] + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1451, + 189 + ], + "size": [ + 210, + 270 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + } + ], + "links": [ + [ + 4, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 6, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 9, + 8, + 0, + 9, + 0, + "IMAGE" + ], + [ + 10, + 10, + 0, + 12, + 0, + "IMAGE" + ], + [ + 11, + 12, + 0, + 3, + 3, + "LATENT" + ], + [ + 13, + 14, + 0, + 3, + 0, + "MODEL" + ], + [ + 14, + 14, + 1, + 6, + 0, + "CLIP" + ], + [ + 15, + 14, + 1, + 7, + 0, + "CLIP" + ], + [ + 16, + 14, + 2, + 12, + 1, + "VAE" + ], + [ + 17, + 14, + 2, + 8, + 1, + "VAE" + ] + ], + "groups": [ + { + "title": "Loading images", + "bounding": [ + 150, + 630, + 726, + 171 + ], + "color": "#3f789e", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/tests.py b/server/tests.py index 1a8a54a..6327849 100644 --- a/server/tests.py +++ b/server/tests.py @@ -110,12 +110,12 @@ def replace_filepaths(json_obj): print(f"replace_filepaths 3a. node is of type VHS_LoadVideo") if "widgets_values" in node and "video" in node["widgets_values"]: print(f"replace_filepaths 4. widgets_values is in node and video is in widgets_values") - node["widgets_values"]["video"] = "./server/example.mp4" + node["widgets_values"]["video"] = "/Users/dylan/launcher/server/example.mp4" elif node["type"] == "LoadImage": print(f"replace_filepaths 3b. node is of type LoadImage") if "widgets_values" in node and len(node["widgets_values"]) > 0: print(f"replace_filepaths 4. widgets_values is in node and the len of widgets_values is > 0") - node["widgets_values"][0] = "./server/example.png" + node["widgets_values"][0] = "/Users/dylan/launcher/server/example.png" return json_obj From 468f04e61c1f9110b3b50cb9d9fa6406b2372df0 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:54:25 -0600 Subject: [PATCH 06/26] testing works on global machines. made replace filepaths fn dynamic so it works on any machine and cleaned up script. --- server/tests.py | 109 +++++------------------------------------------- 1 file changed, 10 insertions(+), 99 deletions(-) diff --git a/server/tests.py b/server/tests.py index 6327849..1d74c3b 100644 --- a/server/tests.py +++ b/server/tests.py @@ -1,63 +1,3 @@ -### PSEUDOCODE - -# takes in an argument: the endpoint of the launcher server - -# num_total_tests = len(files) -# passed_tests = [] -# failed_tests = [] - -# for each input json file in both /templates directory and /test_workflows directory (recursive search, json files might be in sub-folders) -# load the contents of the json file into memory - -# for each json object in memory, replace image filepaths with our testing image filepath -# do the same for videeo filepaths in the json file - -# fetch to /import_project name= import_json= -# returns an id - -# fetch to /projects//start -# returns a port - -# use selenium navigate to http://localhost: -# wait 15s for the page to load -# click on Queue prompt button -# wait 5s -# stop selenium - -# get request to http://localhost:/queue -# find the client_id and the prompt_id for the prompt we just created in the resopnse above (via selenium) - -""" -ws = websocket.WebSocket() -ws.connect("ws://{}/ws?clientId={}".format("localhost:", client_id)) - -is_success = False -while True: - out = ws.recv() - if isinstance(out, str): - message = json.loads(out) - if message['type'] == 'executing': - data = message['data'] - if data['node'] is None and data['prompt_id'] == prompt_id: - is_success = True - break #Execution is done - elif message['type'] == 'execution_error': - is_success = False - break - else: - continue #previews are binary data - -if is_success - passed_tests.append(json_file) -else: - failed_tests.append(json_file) -ws.close() -make POST request to /projects//delete -""" - -# at the end, print out the number of tests that passed and the number of tests that failed - -### SCRIPT import os import json import requests @@ -85,37 +25,22 @@ def load_json_files(directory): json_files.append((os.path.join(root, file), json_data)) return json_files -# def replace_filepaths(json_obj): -# for node in json_obj["nodes"]: -# for input_obj in node.get("inputs", []): -# if input_obj["type"] == "IMAGE" or input_obj["type"] == "VIDEO": -# for widget_value in node.get("widgets_values", []): -# if isinstance(widget_value, dict) and "params" in widget_value: -# if widget_value["params"].get("type") == "output": -# if widget_value["params"]["format"] == "image/gif": -# widget_value["params"]["filename"] = "./example.gif" -# elif widget_value["params"]["format"] == "image/png": -# widget_value["params"]["filename"] = "./example.png" -# elif widget_value["params"]["format"] == "image/jpeg": -# widget_value["params"]["filename"] = "./example.jpeg" -# elif widget_value["params"]["format"] == "video/mp4": -# widget_value["params"]["filename"] = "./example.mp4" -# return json_obj - def replace_filepaths(json_obj): - print(f"replace_filepaths 1. replacing for json_obj.") + script_dir = os.path.dirname(__file__) + print(f"replace_filepaths 1. script_dir: {script_dir}") + print(f"replace_filepaths 3. replacing for json_obj.") for node in json_obj["nodes"]: - print(f"replace_filepaths 2. replacing for node: {node}") + print(f"replace_filepaths 4. replacing for node: {node}") if node["type"] == "VHS_LoadVideo": - print(f"replace_filepaths 3a. node is of type VHS_LoadVideo") + print(f"replace_filepaths 5a. node is of type VHS_LoadVideo") if "widgets_values" in node and "video" in node["widgets_values"]: - print(f"replace_filepaths 4. widgets_values is in node and video is in widgets_values") - node["widgets_values"]["video"] = "/Users/dylan/launcher/server/example.mp4" + print(f"replace_filepaths 6. widgets_values is in node and video is in widgets_values. SETTING video to {os.path.join(script_dir, 'example.mp4')}") + node["widgets_values"]["video"] = os.path.join(script_dir, "example.mp4") elif node["type"] == "LoadImage": - print(f"replace_filepaths 3b. node is of type LoadImage") + print(f"replace_filepaths 5b. node is of type LoadImage") if "widgets_values" in node and len(node["widgets_values"]) > 0: - print(f"replace_filepaths 4. widgets_values is in node and the len of widgets_values is > 0") - node["widgets_values"][0] = "/Users/dylan/launcher/server/example.png" + print(f"replace_filepaths 6. widgets_values is in node and the len of widgets_values is > 0. SETTING image to {os.path.join(script_dir, 'example.png')}") + node["widgets_values"][0] = os.path.join(script_dir, "example.png") return json_obj @@ -158,14 +83,6 @@ def run_tests(server_url): response = requests.post(f"{server_url}/api/projects/{project_id}/start") port = response.json()['port'] print(f"run_tests 5. got response from /projects/{project_id}/start: {response}. and got port: {port}") - - # Use selenium - # driver = webdriver.Chrome() - # driver.get(f"http://localhost:{port}") - # WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.ID, 'queue-button'))) - # driver.find_element_by_id('queue-button').click() - # time.sleep(5) - # driver.quit() # Use selenium driver = webdriver.Chrome() @@ -214,12 +131,6 @@ def run_tests(server_url): print(f"run_tests 10. got client_id from http://localhost:{port}/queue:: {client_id}") print(f"run_tests 11. got prompt_id from http://localhost:{port}/queue:: {prompt_id}") - # for item in queue_running: - # # Assuming the client_id is the second element in each item tuple - # client_id = item[1].get("client_id") - # prompt_id = item[1].get("prompt_id") - # break # Assuming you only want the first item - if not client_id or not prompt_id: print(f"run_tests F. either prompt_id ({prompt_id}) or client_id({client_id}) is null!") failed_tests.append(file_path) From 7a2dfaa149b2b9ea07236cfbd00c398e87700bb8 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Tue, 27 Feb 2024 00:00:37 -0600 Subject: [PATCH 07/26] edited driver selenium web driver to work headlessly and added another test workflow (need to copy over 9 more) --- ...ascade_simple_workflow_comfyworkflows.json | 719 ++++++++++++++++++ server/tests.py | 29 +- 2 files changed, 742 insertions(+), 6 deletions(-) create mode 100644 server/test-workflows/site-stable-cascade/howdo__stable_cascade_simple_workflow_comfyworkflows.json diff --git a/server/test-workflows/site-stable-cascade/howdo__stable_cascade_simple_workflow_comfyworkflows.json b/server/test-workflows/site-stable-cascade/howdo__stable_cascade_simple_workflow_comfyworkflows.json new file mode 100644 index 0000000..f5f2c51 --- /dev/null +++ b/server/test-workflows/site-stable-cascade/howdo__stable_cascade_simple_workflow_comfyworkflows.json @@ -0,0 +1,719 @@ +{ + "last_node_id": 44, + "last_link_id": 115, + "nodes": [ + { + "id": 36, + "type": "StableCascade_StageB_Conditioning", + "pos": [ + 1930, + 360 + ], + "size": { + "0": 277.20001220703125, + "1": 46 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "link": 105, + "name": "conditioning", + "type": "CONDITIONING" + }, + { + "link": 88, + "name": "stage_c", + "type": "LATENT" + } + ], + "outputs": [ + { + "links": [ + 86 + ], + "name": "CONDITIONING", + "shape": 3, + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "StableCascade_StageB_Conditioning" + } + }, + { + "id": 40, + "type": "ConditioningZeroOut", + "pos": [ + 1930, + 300 + ], + "size": { + "0": 211.60000610351562, + "1": 26 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "link": 109, + "name": "conditioning", + "type": "CONDITIONING" + } + ], + "outputs": [ + { + "links": [ + 104, + 105 + ], + "name": "CONDITIONING", + "shape": 3, + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + } + }, + { + "id": 42, + "type": "ModelSamplingStableCascade", + "pos": [ + 1160, + 350 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 110 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 111 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ModelSamplingStableCascade" + }, + "widgets_values": [ + 2 + ] + }, + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 1160, + 640 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "link": 94, + "name": "clip", + "type": "CLIP" + } + ], + "outputs": [ + { + "links": [ + 108 + ], + "name": "CONDITIONING", + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "title": "Prompt (Negative)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 2040, + 840 + ], + "size": [ + 200, + 50 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "link": 98, + "name": "samples", + "type": "LATENT" + }, + { + "link": 68, + "name": "vae", + "slot_index": 1, + "type": "VAE" + } + ], + "outputs": [ + { + "links": [ + 115 + ], + "name": "IMAGE", + "slot_index": 0, + "type": "IMAGE" + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 34, + "type": "StableCascade_EmptyLatentImage", + "pos": [ + 1270, + 860 + ], + "size": { + "0": 315, + "1": 150 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "links": [ + 82 + ], + "name": "stage_c", + "shape": 3, + "slot_index": 0, + "type": "LATENT" + }, + { + "links": [ + 83 + ], + "name": "stage_b", + "shape": 3, + "slot_index": 1, + "type": "LATENT" + } + ], + "properties": { + "Node name for S&R": "StableCascade_EmptyLatentImage" + }, + "widgets_values": [ + 1280, + 1280, + 42, + 4 + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 1160, + 440 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "link": 93, + "name": "clip", + "type": "CLIP" + } + ], + "outputs": [ + { + "links": [ + 107, + 109 + ], + "name": "CONDITIONING", + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "title": "Prompt", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "a happy panda holding a sign that says \"Hello\"" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 32, + "type": "UNETLoader", + "pos": [ + 840, + 260 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "links": [ + 114 + ], + "name": "MODEL", + "shape": 3, + "slot_index": 0, + "type": "MODEL" + } + ], + "title": "UNETLoader (Stage B)", + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "stage_b_bf16.safetensors" + ] + }, + { + "id": 30, + "type": "UNETLoader", + "pos": [ + 840, + 350 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "links": [ + 110 + ], + "name": "MODEL", + "shape": 3, + "slot_index": 0, + "type": "MODEL" + } + ], + "title": "UNETLoader (Stage C)", + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "stage_c_bf16.safetensors" + ] + }, + { + "id": 37, + "type": "CLIPLoader", + "pos": [ + 840, + 440 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "links": [ + 93, + 94 + ], + "name": "CLIP", + "shape": 3, + "slot_index": 0, + "type": "CLIP" + } + ], + "title": "Load CLIP (Text Encoder)", + "properties": { + "Node name for S&R": "CLIPLoader" + }, + "widgets_values": [ + "model.safetensors", + "stable_cascade" + ] + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 1600, + 440 + ], + "size": [ + 310, + 260 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "link": 111, + "name": "model", + "slot_index": 0, + "type": "MODEL" + }, + { + "link": 107, + "name": "positive", + "type": "CONDITIONING" + }, + { + "link": 108, + "name": "negative", + "type": "CONDITIONING" + }, + { + "link": 82, + "name": "latent_image", + "type": "LATENT" + } + ], + "outputs": [ + { + "links": [ + 88 + ], + "name": "LATENT", + "slot_index": 0, + "type": "LATENT" + } + ], + "title": "KSampler (Stage C)", + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 1337, + "fixed", + 20, + 4, + "euler_ancestral", + "simple", + 1 + ] + }, + { + "id": 33, + "type": "KSampler", + "pos": [ + 1930, + 440 + ], + "size": [ + 310, + 260 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "link": 114, + "name": "model", + "slot_index": 0, + "type": "MODEL" + }, + { + "link": 86, + "name": "positive", + "type": "CONDITIONING" + }, + { + "link": 104, + "name": "negative", + "type": "CONDITIONING" + }, + { + "link": 83, + "name": "latent_image", + "type": "LATENT" + } + ], + "outputs": [ + { + "links": [ + 98 + ], + "name": "LATENT", + "slot_index": 0, + "type": "LATENT" + } + ], + "title": "KSampler (Stage B)", + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 1337, + "fixed", + 10, + 1.1, + "euler_ancestral", + "simple", + 1 + ] + }, + { + "id": 29, + "type": "VAELoader", + "pos": [ + 1930, + 740 + ], + "size": [ + 310, + 60 + ], + "flags": {}, + "order": 4, + "mode": 0, + "outputs": [ + { + "links": [ + 68 + ], + "name": "VAE", + "shape": 3, + "type": "VAE" + } + ], + "title": "Load VAE (Stage A)", + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "stage_a.safetensors" + ] + }, + { + "id": 44, + "type": "PreviewImage", + "pos": [ + 2250, + 350 + ], + "size": [ + 510, + 540 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 115 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + } + ], + "links": [ + [ + 68, + 29, + 0, + 8, + 1, + "VAE" + ], + [ + 82, + 34, + 0, + 3, + 3, + "LATENT" + ], + [ + 83, + 34, + 1, + 33, + 3, + "LATENT" + ], + [ + 86, + 36, + 0, + 33, + 1, + "CONDITIONING" + ], + [ + 88, + 3, + 0, + 36, + 1, + "LATENT" + ], + [ + 93, + 37, + 0, + 6, + 0, + "CLIP" + ], + [ + 94, + 37, + 0, + 7, + 0, + "CLIP" + ], + [ + 98, + 33, + 0, + 8, + 0, + "LATENT" + ], + [ + 104, + 40, + 0, + 33, + 2, + "CONDITIONING" + ], + [ + 105, + 40, + 0, + 36, + 0, + "CONDITIONING" + ], + [ + 107, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 108, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 109, + 6, + 0, + 40, + 0, + "CONDITIONING" + ], + [ + 110, + 30, + 0, + 42, + 0, + "MODEL" + ], + [ + 111, + 42, + 0, + 3, + 0, + "MODEL" + ], + [ + 114, + 32, + 0, + 33, + 0, + "MODEL" + ], + [ + 115, + 8, + 0, + 44, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "0246.VERSION": [ + 0, + 0, + 4 + ] + }, + "version": 0.4 +} \ No newline at end of file diff --git a/server/tests.py b/server/tests.py index 1d74c3b..b2fad20 100644 --- a/server/tests.py +++ b/server/tests.py @@ -5,6 +5,8 @@ import websocket import time from selenium import webdriver +from selenium.webdriver.chrome.options import Options +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait @@ -52,14 +54,14 @@ def run_tests(server_url): templates_dir = './server/templates' test_workflows_dir = './server/test-workflows' - # templates_json = load_json_files(templates_dir) test_workflows_json = load_json_files(test_workflows_dir) - # print(f"run_tests 2. templates_json length: {len(templates_json)}.") - print(f"run_tests 2. test_workflows_json length: {len(test_workflows_json)}.") + templates_json = load_json_files(templates_dir) + print(f"run_tests 2b. test_workflows_json length: {len(test_workflows_json)}.") + print(f"run_tests 2a. templates_json length: {len(templates_json)}.") - # all_json = templates_json + testworkflows_json + all_json = test_workflows_json + templates_json - for file_path, json_obj in test_workflows_json: #all_json + for file_path, json_obj in all_json: #all_json NAME = str(uuid.uuid4()) print(f"run_tests 3. entered for loop for file_path: {file_path} and generated name: {NAME}") replaced_json_obj = replace_filepaths(json_obj) @@ -85,7 +87,22 @@ def run_tests(server_url): print(f"run_tests 5. got response from /projects/{project_id}/start: {response}. and got port: {port}") # Use selenium - driver = webdriver.Chrome() + # URL of the Selenium Grid hub + # hub_url = "http://localhost:4444/wd/hub" + + # Set Chrome options + + # driver = webdriver.Chrome(options=chrome_options) + # Initialize the WebDriver with remote connection to the Selenium Grid hub + # driver = webdriver.Remote(command_executor=hub_url, options=chrome_options) + + chrome_options = Options() + # chrome_options.add_argument('--headless') # Run Chrome in headless mode + chrome_options.add_argument("--no-sandbox") # linux only + chrome_options.add_argument("--headless=new") # for Chrome >= 109 + chrome_options.add_argument('--disable-dev-shm-usage') + chrome_options.add_argument('--no-options.addArguments') + driver = webdriver.Chrome(options=chrome_options) print(f"run_tests SELENIUM 1. driver instantiated!") driver.get(f"http://localhost:{port}") From 3b7ce6a467072220f0b8dbc5bfd7ab5aa3c0fb63 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Tue, 27 Feb 2024 13:07:06 -0600 Subject: [PATCH 08/26] added cleared workflow output boundary to test script and copied over the rest of the 9 test workflows --- ...ace_abstractnoodlesoup_comfyworkflows.json | 1802 +++++ ...olnet_ipadapter________comfyworkflows.json | 2251 +++++++ ...r_maker__comics_strip__comfyworkflows.json | 6000 +++++++++++++++++ ...actframes__if_animator_comfyworkflows.json | 5948 ++++++++++++++++ ...c101_instant_id_ult____comfyworkflows.json | 1523 +++++ ...terior_design_workflow_comfyworkflows.json | 981 +++ ...ny_image_with_any_pose_comfyworkflows.json | 295 + ...grounding_dino_support_comfyworkflows.json | 3883 +++++++++++ ...neration_with_high_fps_comfyworkflows.json | 324 + server/tests.py | 2 +- 10 files changed, 23008 insertions(+), 1 deletion(-) create mode 100644 server/test-workflows/site-abstract-noodle-soup/latentspace_abstractnoodlesoup_comfyworkflows.json create mode 100644 server/test-workflows/site-comfyui-animate-controlnet-ipadapter/daniel_xiong_comfyui_animatediff_controlnet_ipadapter________comfyworkflows.json create mode 100644 server/test-workflows/site-consistent-characters/dominic_richer_consistent_character_maker__comics_strip__comfyworkflows.json create mode 100644 server/test-workflows/site-if-animator/impactframes__if_animator_comfyworkflows.json create mode 100644 server/test-workflows/site-instant-id/aigc101_instant_id_ult____comfyworkflows.json create mode 100644 server/test-workflows/site-living-style-interior-design/subby_ramesh_living_style_interior_design_workflow_comfyworkflows.json create mode 100644 server/test-workflows/site-magic-animate/subby_ramesh_magicanimate__animate_any_image_with_any_pose_comfyworkflows.json create mode 100644 server/test-workflows/site-motion-brush/thismodernday_motion_brush_replica_with_grounding_dino_support_comfyworkflows.json create mode 100644 server/test-workflows/site-stable-video-diffusion/subby_ramesh_stable_video_diffusion__svd____image_to_video_generation_with_high_fps_comfyworkflows.json diff --git a/server/test-workflows/site-abstract-noodle-soup/latentspace_abstractnoodlesoup_comfyworkflows.json b/server/test-workflows/site-abstract-noodle-soup/latentspace_abstractnoodlesoup_comfyworkflows.json new file mode 100644 index 0000000..a299f21 --- /dev/null +++ b/server/test-workflows/site-abstract-noodle-soup/latentspace_abstractnoodlesoup_comfyworkflows.json @@ -0,0 +1,1802 @@ +{ + "last_node_id": 171, + "last_link_id": 410, + "nodes": [ + { + "id": 2, + "type": "VAELoader", + "pos": [ + -1239, + 41 + ], + "size": { + "0": 385.8948669433594, + "1": 58 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 10, + 381 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "vae-ft-mse-840000-ema-pruned.safetensors" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 140, + "type": "VAEDecode", + "pos": [ + 163.15301868042033, + 202.67721881134034 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 27, + "mode": 2, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 321 + }, + { + "name": "vae", + "type": "VAE", + "link": 364 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 315 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 94, + "type": "ADE_AnimateDiffUniformContextOptions", + "pos": [ + -192.71275114624024, + -994.9521706726074 + ], + "size": { + "0": 315, + "1": 154 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "CONTEXT_OPTIONS", + "type": "CONTEXT_OPTIONS", + "links": [ + 206 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffUniformContextOptions" + }, + "widgets_values": [ + 16, + 1, + 7, + "uniform", + false + ] + }, + { + "id": 10, + "type": "VAEDecode", + "pos": [ + 210, + -680 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 379 + }, + { + "name": "vae", + "type": "VAE", + "link": 10 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 347, + 348, + 351 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 129, + "type": "UpscaleModelLoader", + "pos": [ + -201.84698131958018, + -33.322781188660024 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 2, + "mode": 2, + "outputs": [ + { + "name": "UPSCALE_MODEL", + "type": "UPSCALE_MODEL", + "links": [ + 282 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "UpscaleModelLoader" + }, + "widgets_values": [ + "4x-UltraSharp.pth" + ] + }, + { + "id": 158, + "type": "Reroute", + "pos": [ + -196.84698131958018, + 62.67721881134037 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 381 + } + ], + "outputs": [ + { + "name": "", + "type": "VAE", + "links": [ + 364, + 365 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 139, + "type": "VAEEncode", + "pos": [ + -196.84698131958018, + 72.6772188113404 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 25, + "mode": 2, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 306 + }, + { + "name": "vae", + "type": "VAE", + "link": 365 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 320 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + } + }, + { + "id": 128, + "type": "ImageUpscaleWithModel", + "pos": [ + 133.15301868042022, + -27.32278118866003 + ], + "size": { + "0": 241.79998779296875, + "1": 46 + }, + "flags": {}, + "order": 22, + "mode": 2, + "inputs": [ + { + "name": "upscale_model", + "type": "UPSCALE_MODEL", + "link": 282, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "link": 351 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 285 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageUpscaleWithModel" + } + }, + { + "id": 143, + "type": "KSampler", + "pos": [ + 110.15301868042019, + 203.67721881134034 + ], + "size": { + "0": 315, + "1": 446 + }, + "flags": {}, + "order": 26, + "mode": 2, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 332 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 407 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 410 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 320 + }, + { + "name": "seed", + "type": "INT", + "link": 403, + "widget": { + "name": "seed" + }, + "slot_index": 4 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 321 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 663942552558207, + "randomize", + 20, + 15.030000000000001, + "euler", + "normal", + 0.2 + ] + }, + { + "id": 131, + "type": "ImageScaleBy", + "pos": [ + 101.15301868042019, + 84.67721881134045 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 24, + "mode": 2, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 285 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 306 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageScaleBy" + }, + "widgets_values": [ + "nearest-exact", + 0.5 + ] + }, + { + "id": 12, + "type": "SaveImage", + "pos": [ + 592.1498216680911, + -999 + ], + "size": { + "0": 315, + "1": 270 + }, + "flags": { + "collapsed": true + }, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 347 + } + ], + "properties": {}, + "widgets_values": [ + "Images\\image" + ] + }, + { + "id": 100, + "type": "ADE_EmptyLatentImageLarge", + "pos": [ + -1053, + -476 + ], + "size": { + "0": 310.79998779296875, + "1": 101.07666778564453 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 401, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 402, + "widget": { + "name": "height" + } + }, + { + "name": "batch_size", + "type": "INT", + "link": 400, + "widget": { + "name": "batch_size" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 375 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_EmptyLatentImageLarge" + }, + "widgets_values": [ + 512, + 768, + 128 + ] + }, + { + "id": 142, + "type": "VHS_VideoCombine", + "pos": [ + 599.1498216680911, + 120 + ], + "size": [ + 393.0190734863281, + 516.0127156575521 + ], + "flags": {}, + "order": 29, + "mode": 2, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 316 + }, + { + "name": "audio", + "type": "VHS_AUDIO", + "link": null + } + ], + "outputs": [ + { + "name": "Filenames", + "type": "VHS_FILENAMES", + "links": null, + "shape": 3 + } + ], + "title": "Upscaled", + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 24, + "loop_count": 0, + "filename_prefix": "AnimateDiff", + "format": "video/h264-mp4", + "pix_fmt": "yuv420p", + "crf": 20, + "save_metadata": true, + "pingpong": false, + "save_output": true, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "AnimateDiff_00616.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4" + } + } + } + }, + { + "id": 141, + "type": "FILM VFI", + "pos": [ + 588.1498216680911, + -77 + ], + "size": { + "0": 429.2193603515625, + "1": 150 + }, + "flags": {}, + "order": 28, + "mode": 2, + "inputs": [ + { + "name": "frames", + "type": "IMAGE", + "link": 315 + }, + { + "name": "optional_interpolation_states", + "type": "INTERPOLATION_STATES", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 316 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "FILM VFI" + }, + "widgets_values": [ + "film_net_fp32.pt", + 10, + 3, + true + ] + }, + { + "id": 147, + "type": "FILM VFI", + "pos": [ + 592.1498216680911, + -950 + ], + "size": { + "0": 419.9756774902344, + "1": 150 + }, + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "frames", + "type": "IMAGE", + "link": 348 + }, + { + "name": "optional_interpolation_states", + "type": "INTERPOLATION_STATES", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 325 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "FILM VFI" + }, + "widgets_values": [ + "film_net_fp32.pt", + 10, + 3, + true + ] + }, + { + "id": 157, + "type": "DynamicThresholdingSimple", + "pos": [ + -167, + -719 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 17, + "mode": 4, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 356 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 378 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DynamicThresholdingSimple" + }, + "widgets_values": [ + 3, + 1 + ] + }, + { + "id": 93, + "type": "ADE_AnimateDiffLoaderWithContext", + "pos": [ + 213, + -1000 + ], + "size": { + "0": 315, + "1": 210 + }, + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 397 + }, + { + "name": "context_options", + "type": "CONTEXT_OPTIONS", + "link": 206, + "slot_index": 1 + }, + { + "name": "motion_lora", + "type": "MOTION_LORA", + "link": null + }, + { + "name": "motion_model_settings", + "type": "MOTION_MODEL_SETTINGS", + "link": null + }, + { + "name": "sample_settings", + "type": "sample_settings", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 332, + 356 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoaderWithContext" + }, + "widgets_values": [ + "v3_sd15_mm.ckpt", + "sqrt_linear (AnimateDiff)", + 1, + true + ] + }, + { + "id": 102, + "type": "CheckpointLoaderSimple", + "pos": [ + -1328, + -974 + ], + "size": { + "0": 388.18182373046875, + "1": 98 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 393 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 404 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "sd-1.5\\sd-1.5_checkpoints\\nooshpere_4.7.safetensors" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 165, + "type": "PrimitiveNode", + "pos": [ + -1291, + -652 + ], + "size": { + "0": 210, + "1": 82 + }, + "flags": {}, + "order": 4, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 400 + ], + "slot_index": 0, + "widget": { + "name": "batch_size" + } + } + ], + "title": "Number of Frames", + "properties": { + "Run widget replace on values": false + }, + "widgets_values": [ + 128, + "fixed" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 148, + "type": "VHS_VideoCombine", + "pos": [ + 587.1498216680911, + -758 + ], + "size": [ + 430, + 540.6666666666667 + ], + "flags": {}, + "order": 23, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 325 + }, + { + "name": "audio", + "type": "VHS_AUDIO", + "link": null + } + ], + "outputs": [ + { + "name": "Filenames", + "type": "VHS_FILENAMES", + "links": null, + "shape": 3 + } + ], + "title": "Video Combine 🎥🅥🅗🅢sd ultimate upscale", + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 24, + "loop_count": 0, + "filename_prefix": "AnimateDiff", + "format": "video/h264-mp4", + "pix_fmt": "yuv420p", + "crf": 20, + "save_metadata": true, + "pingpong": false, + "save_output": true, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "AnimateDiff_01351.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4" + } + } + } + }, + { + "id": 164, + "type": "LoraLoader", + "pos": [ + -720, + -738 + ], + "size": { + "0": 497.2552490234375, + "1": 126 + }, + "flags": {}, + "order": 12, + "mode": 4, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 387 + }, + { + "name": "clip", + "type": "CLIP", + "link": 388 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 382 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 383 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoraLoader" + }, + "widgets_values": [ + "sd-1.5\\epiNoiseoffset_v2-pynoise.safetensors", + -0.5, + 1 + ] + }, + { + "id": 171, + "type": "BNK_CLIPTextEncodeAdvanced", + "pos": [ + -677, + -23 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 408 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 409, + 410 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "BNK_CLIPTextEncodeAdvanced" + }, + "widgets_values": [ + "(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,normal quality,(monochrome),(grayscale),(text, font, logo, copyright, watermark),embedding:easynegative,", + "mean", + "A1111" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 170, + "type": "BNK_CLIPTextEncodeAdvanced", + "pos": [ + -677, + -334 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 405 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 406, + 407 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "BNK_CLIPTextEncodeAdvanced" + }, + "widgets_values": [ + ", arafed image of a cell with many cells in it,award-winning fantasy art,still from the movie the arrival,detailed cover artwork,necrosis,blue brain,tumors,by jim manley,cgsociety - w 1 0 2 4 - n 8 - i,on the surface of the moon,virus,microscopic picture,samorost,", + "mean", + "A1111" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 118, + "type": "Seed (rgthree)", + "pos": [ + -1297, + -257 + ], + "size": { + "0": 210, + "1": 130 + }, + "flags": {}, + "order": 5, + "mode": 0, + "outputs": [ + { + "name": "SEED", + "type": "INT", + "links": [ + 374, + 403 + ], + "shape": 3, + "dir": 4, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Seed (rgthree)" + }, + "widgets_values": [ + 436523871268003, + null, + null, + null + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 163, + "type": "LoraLoader", + "pos": [ + -709, + -900 + ], + "size": { + "0": 469.38873291015625, + "1": 126 + }, + "flags": {}, + "order": 11, + "mode": 4, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 393 + }, + { + "name": "clip", + "type": "CLIP", + "link": 394 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 387 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 388 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoraLoader" + }, + "widgets_values": [ + "sd-1.5\\add_detail.safetensors", + 1, + 1 + ] + }, + { + "id": 161, + "type": "LoraLoader", + "pos": [ + -710, + -577 + ], + "size": { + "0": 471.41461181640625, + "1": 132.47381591796875 + }, + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 382 + }, + { + "name": "clip", + "type": "CLIP", + "link": 383 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 397 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 405, + 408 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoraLoader" + }, + "widgets_values": [ + "sd-1.5\\epi_noiseoffset2.safetensors", + 0, + 0 + ] + }, + { + "id": 160, + "type": "KSampler", + "pos": [ + -195, + -572 + ], + "size": { + "0": 305.818115234375, + "1": 446 + }, + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 378 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 406 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 409 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 375 + }, + { + "name": "seed", + "type": "INT", + "link": 374, + "widget": { + "name": "seed" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 379 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 354721472077128, + "randomize", + 35, + 8, + "dpmpp_2m", + "karras", + 1 + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 162, + "type": "CLIPSetLastLayer", + "pos": [ + -702, + -1007 + ], + "size": { + "0": 471.08673095703125, + "1": 72.70481872558594 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 404 + } + ], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 394 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPSetLastLayer" + }, + "widgets_values": [ + -3 + ] + }, + { + "id": 166, + "type": "PrimitiveNode", + "pos": [ + -1289, + -512 + ], + "size": { + "0": 210, + "1": 82 + }, + "flags": {}, + "order": 6, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 401 + ], + "slot_index": 0, + "widget": { + "name": "width" + } + } + ], + "title": "Width", + "properties": { + "Run widget replace on values": false + }, + "widgets_values": [ + 512, + "fixed" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 167, + "type": "PrimitiveNode", + "pos": [ + -1300, + -390 + ], + "size": { + "0": 210, + "1": 82 + }, + "flags": {}, + "order": 7, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 402 + ], + "slot_index": 0, + "widget": { + "name": "height" + } + } + ], + "title": "Height", + "properties": { + "Run widget replace on values": false + }, + "widgets_values": [ + 768, + "fixed" + ], + "color": "#332922", + "bgcolor": "#593930" + } + ], + "links": [ + [ + 10, + 2, + 0, + 10, + 1, + "VAE" + ], + [ + 206, + 94, + 0, + 93, + 1, + "CONTEXT_OPTIONS" + ], + [ + 282, + 129, + 0, + 128, + 0, + "UPSCALE_MODEL" + ], + [ + 285, + 128, + 0, + 131, + 0, + "IMAGE" + ], + [ + 306, + 131, + 0, + 139, + 0, + "IMAGE" + ], + [ + 315, + 140, + 0, + 141, + 0, + "IMAGE" + ], + [ + 316, + 141, + 0, + 142, + 0, + "IMAGE" + ], + [ + 320, + 139, + 0, + 143, + 3, + "LATENT" + ], + [ + 321, + 143, + 0, + 140, + 0, + "LATENT" + ], + [ + 325, + 147, + 0, + 148, + 0, + "IMAGE" + ], + [ + 332, + 93, + 0, + 143, + 0, + "MODEL" + ], + [ + 347, + 10, + 0, + 12, + 0, + "IMAGE" + ], + [ + 348, + 10, + 0, + 147, + 0, + "IMAGE" + ], + [ + 351, + 10, + 0, + 128, + 1, + "IMAGE" + ], + [ + 356, + 93, + 0, + 157, + 0, + "MODEL" + ], + [ + 364, + 158, + 0, + 140, + 1, + "VAE" + ], + [ + 365, + 158, + 0, + 139, + 1, + "VAE" + ], + [ + 374, + 118, + 0, + 160, + 4, + "INT" + ], + [ + 375, + 100, + 0, + 160, + 3, + "LATENT" + ], + [ + 378, + 157, + 0, + 160, + 0, + "MODEL" + ], + [ + 379, + 160, + 0, + 10, + 0, + "LATENT" + ], + [ + 381, + 2, + 0, + 158, + 0, + "*" + ], + [ + 382, + 164, + 0, + 161, + 0, + "MODEL" + ], + [ + 383, + 164, + 1, + 161, + 1, + "CLIP" + ], + [ + 387, + 163, + 0, + 164, + 0, + "MODEL" + ], + [ + 388, + 163, + 1, + 164, + 1, + "CLIP" + ], + [ + 393, + 102, + 0, + 163, + 0, + "MODEL" + ], + [ + 394, + 162, + 0, + 163, + 1, + "CLIP" + ], + [ + 397, + 161, + 0, + 93, + 0, + "MODEL" + ], + [ + 400, + 165, + 0, + 100, + 2, + "INT" + ], + [ + 401, + 166, + 0, + 100, + 0, + "INT" + ], + [ + 402, + 167, + 0, + 100, + 1, + "INT" + ], + [ + 403, + 118, + 0, + 143, + 4, + "INT" + ], + [ + 404, + 102, + 1, + 162, + 0, + "CLIP" + ], + [ + 405, + 161, + 1, + 170, + 0, + "CLIP" + ], + [ + 406, + 170, + 0, + 160, + 1, + "CONDITIONING" + ], + [ + 407, + 170, + 0, + 143, + 1, + "CONDITIONING" + ], + [ + 408, + 161, + 1, + 171, + 0, + "CLIP" + ], + [ + 409, + 171, + 0, + 160, + 2, + "CONDITIONING" + ], + [ + 410, + 171, + 0, + 143, + 2, + "CONDITIONING" + ] + ], + "groups": [ + { + "title": "Inputs", + "bounding": [ + -1403, + -1082, + 678, + 1779 + ], + "color": "#8A8", + "font_size": 24, + "locked": false + }, + { + "title": "Outputs", + "bounding": [ + 576, + -1077, + 455, + 1773 + ], + "color": "#8AA", + "font_size": 24, + "locked": false + }, + { + "title": "Prompt", + "bounding": [ + -714, + -441, + 490, + 1138 + ], + "color": "#a1309b", + "font_size": 24, + "locked": false + }, + { + "title": "Animate Diff Nodes", + "bounding": [ + -215, + -1078, + 781, + 281 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Lora", + "bounding": [ + -712, + -1079, + 488, + 629 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Upscale", + "bounding": [ + -215, + -109, + 781, + 806 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Ksampler", + "bounding": [ + -215, + -788, + 781, + 673 + ], + "color": "#b58b2a", + "font_size": 24, + "locked": false + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-comfyui-animate-controlnet-ipadapter/daniel_xiong_comfyui_animatediff_controlnet_ipadapter________comfyworkflows.json b/server/test-workflows/site-comfyui-animate-controlnet-ipadapter/daniel_xiong_comfyui_animatediff_controlnet_ipadapter________comfyworkflows.json new file mode 100644 index 0000000..a5cf0d6 --- /dev/null +++ b/server/test-workflows/site-comfyui-animate-controlnet-ipadapter/daniel_xiong_comfyui_animatediff_controlnet_ipadapter________comfyworkflows.json @@ -0,0 +1,2251 @@ +{ + "last_node_id": 474, + "last_link_id": 787, + "nodes": [ + { + "id": 460, + "type": "SaveImage", + "pos": [ + 5395.194415986616, + -579.7180352144421 + ], + "size": { + "0": 428.62939453125, + "1": 363.686767578125 + }, + "flags": {}, + "order": 37, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 759 + } + ], + "title": "Save Hires.fix Images", + "properties": {}, + "widgets_values": [ + "Highres/Highresframes" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 461, + "type": "VAEEncode", + "pos": [ + 4455.194415986618, + -442.71803521444224 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 34, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 760 + }, + { + "name": "vae", + "type": "VAE", + "link": 761, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 766 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 462, + "type": "VAEDecode", + "pos": [ + 5099.194415986616, + -499.7180352144423 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": { + "collapsed": false + }, + "order": 36, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 762 + }, + { + "name": "vae", + "type": "VAE", + "link": 763, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 759, + 767, + 769 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 463, + "type": "UpscaleModelLoader", + "pos": [ + 3775.1944159866193, + -345.7180352144423 + ], + "size": { + "0": 309.73345947265625, + "1": 62.243003845214844 + }, + "flags": { + "collapsed": false + }, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "UPSCALE_MODEL", + "type": "UPSCALE_MODEL", + "links": [ + 764 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UpscaleModelLoader" + }, + "widgets_values": [ + "4x-UltraSharp.pth" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 464, + "type": "ImageUpscaleWithModel", + "pos": [ + 3805.1944159866193, + -443.71803521444224 + ], + "size": { + "0": 226.8000030517578, + "1": 46 + }, + "flags": {}, + "order": 32, + "mode": 0, + "inputs": [ + { + "name": "upscale_model", + "type": "UPSCALE_MODEL", + "link": 764 + }, + { + "name": "image", + "type": "IMAGE", + "link": 770, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 765 + ], + "slot_index": 0 + } + ], + "title": "ImageUpscaleWithModel", + "properties": { + "Node name for S&R": "ImageUpscaleWithModel" + }, + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 465, + "type": "ImageScaleBy", + "pos": [ + 4124.194415986619, + -442.71803521444224 + ], + "size": { + "0": 257.40069580078125, + "1": 82 + }, + "flags": {}, + "order": 33, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 765, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 760 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "ImageScaleBy", + "properties": { + "Node name for S&R": "ImageScaleBy" + }, + "widgets_values": [ + "nearest-exact", + 0.35000000000000003 + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 467, + "type": "KSamplerAdvanced", + "pos": [ + 4761.194415986616, + -502.7180352144423 + ], + "size": { + "0": 315, + "1": 334 + }, + "flags": {}, + "order": 35, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 771 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 772 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 773 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 766, + "slot_index": 3 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 762 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSamplerAdvanced" + }, + "widgets_values": [ + "enable", + 846050787870900, + "fixed", + 25, + 7, + "euler_ancestral", + "ddim_uniform", + 0, + 10000, + "disable" + ] + }, + { + "id": 468, + "type": "RIFE VFI", + "pos": [ + 5853.19441598662, + -476.7180352144422 + ], + "size": { + "0": 443.4000244140625, + "1": 198 + }, + "flags": {}, + "order": 38, + "mode": 0, + "inputs": [ + { + "name": "frames", + "type": "IMAGE", + "link": 767 + }, + { + "name": "optional_interpolation_states", + "type": "INTERPOLATION_STATES", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 768 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "RIFE VFI" + }, + "widgets_values": [ + "rife46.pth", + 10, + 2, + true, + true, + 1 + ] + }, + { + "id": 470, + "type": "VHS_VideoCombine", + "pos": [ + 5370.194415986616, + -161.71803521444278 + ], + "size": [ + 475.004150390625, + 202 + ], + "flags": {}, + "order": 39, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 769 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 40, + "loop_count": 0, + "filename_prefix": "Upscaled", + "format": "video/h264-mp4", + "pingpong": false, + "save_image": true, + "crf": 20, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "Upscaled_00002.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4" + } + } + } + }, + { + "id": 466, + "type": "VAELoader", + "pos": [ + 4414.194415986617, + -351.7180352144426 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 761, + 763 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "kl-f8-anime2.ckpt" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 243, + "type": "CLIPTextEncode", + "pos": [ + 1471, + -1299 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 581 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 758 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "masterpiece, high quality, 1girl, beautiful face, high heels" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 457, + "type": "IPAdapterApply", + "pos": [ + 1067, + -1601 + ], + "size": { + "0": 315, + "1": 186 + }, + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 750, + "slot_index": 0 + }, + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 752, + "slot_index": 1 + }, + { + "name": "image", + "type": "IMAGE", + "link": 751, + "slot_index": 2 + }, + { + "name": "model", + "type": "MODEL", + "link": 774, + "slot_index": 3 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 748 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApply" + }, + "widgets_values": [ + 0.9500000000000001, + 0, + "original" + ] + }, + { + "id": 324, + "type": "TilePreprocessor", + "pos": [ + -115, + -741 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 777 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 521, + 567 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "TilePreprocessor" + }, + "widgets_values": [ + 1, + 512 + ] + }, + { + "id": 459, + "type": "LineArtPreprocessor", + "pos": [ + 272, + -743 + ], + "size": { + "0": 332.7837829589844, + "1": 83.13224792480469 + }, + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 781 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 782, + 785 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LineArtPreprocessor" + }, + "widgets_values": [ + "disable", + 512 + ] + }, + { + "id": 241, + "type": "KSamplerAdvanced", + "pos": [ + 2771, + -1604 + ], + "size": { + "0": 315, + "1": 334 + }, + "flags": {}, + "order": 28, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 578 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 532 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 533 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 445 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 381 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSamplerAdvanced" + }, + "widgets_values": [ + "enable", + 232526281139441, + "fixed", + 25, + 8, + "euler", + "normal", + 0, + 30, + "enable" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 239, + "type": "VAEDecode", + "pos": [ + 3339, + -1605 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 29, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 381 + }, + { + "name": "vae", + "type": "VAE", + "link": 382 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 383, + 443, + 770 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 351, + "type": "CLIPSetLastLayer", + "pos": [ + 1047, + -1220 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 775 + } + ], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 581, + 582 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPSetLastLayer" + }, + "widgets_values": [ + -2 + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 469, + "type": "VHS_VideoCombine", + "pos": [ + 5878, + -157 + ], + "size": [ + 475.004150390625, + 202 + ], + "flags": {}, + "order": 40, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 768 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 20, + "loop_count": 0, + "filename_prefix": "UpscaledAndInterpolated", + "format": "video/h264-mp4", + "pingpong": false, + "save_image": true, + "crf": 20, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "UpscaledAndInterpolated_00002.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4" + } + } + } + }, + { + "id": 471, + "type": "VHS_LoadVideo", + "pos": [ + -667, + -743 + ], + "size": [ + 368.7261047363281, + 222 + ], + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 776, + 777, + 780, + 781, + 783 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "frame_count", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VHS_LoadVideo" + }, + "widgets_values": { + "video": "1700299396.mp4", + "force_rate": 0, + "force_size": "Disabled", + "custom_width": 512, + "custom_height": 512, + "frame_load_cap": 0, + "skip_first_frames": 0, + "select_every_nth": 1, + "choose video to upload": "image", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "1700299396.mp4", + "type": "input", + "format": "video" + } + } + } + }, + { + "id": 347, + "type": "PreviewImage", + "pos": [ + -650, + 155 + ], + "size": { + "0": 368.825439453125, + "1": 426.9151611328125 + }, + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 776 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 242, + "type": "CheckpointLoaderSimple", + "pos": [ + -670, + -1216 + ], + "size": { + "0": 379.5515441894531, + "1": 99.41497039794922 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 774 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 775 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "3Dmeinamix_meinaV11.safetensors" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 432, + "type": "LoadImage", + "pos": [ + 603, + -1565 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 4, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 751 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "new_ComfyUI_temp_nhmcd_00001_.png", + "image" + ] + }, + { + "id": 263, + "type": "CLIPVisionLoader", + "pos": [ + 599, + -1698 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 5, + "mode": 0, + "outputs": [ + { + "name": "CLIP_VISION", + "type": "CLIP_VISION", + "links": [ + 752 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPVisionLoader" + }, + "widgets_values": [ + "ip_adapter_image_encoder_pytorch_model.bin" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 458, + "type": "IPAdapterModelLoader", + "pos": [ + 607, + -1814 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 6, + "mode": 0, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 750 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter_sd15.bin" + ] + }, + { + "id": 245, + "type": "ControlNetApplyAdvanced", + "pos": [ + 1441, + -819 + ], + "size": { + "0": 315, + "1": 166 + }, + "flags": {}, + "order": 25, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 758 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 391 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 424 + }, + { + "name": "image", + "type": "IMAGE", + "link": 521 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 394 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 395 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ControlNetApplyAdvanced" + }, + "widgets_values": [ + 0.5, + 0, + 0.9 + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 273, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 1433, + -567 + ], + "size": { + "0": 351.6501159667969, + "1": 67.26359558105469 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": null + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 424 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "control_v11f1e_sd15_tile.pth" + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 276, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 1812, + -566 + ], + "size": { + "0": 367.79998779296875, + "1": 58 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": null + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 427 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "control_v11p_sd15_lineart.pth" + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 328, + "type": "ControlNetApplyAdvanced", + "pos": [ + 2220, + -818 + ], + "size": { + "0": 315, + "1": 166 + }, + "flags": {}, + "order": 27, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 530 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 531 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 540 + }, + { + "name": "image", + "type": "IMAGE", + "link": 786 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 532, + 772 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 533, + 773 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ControlNetApplyAdvanced" + }, + "widgets_values": [ + 0.5, + 0, + 1 + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 334, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 2221, + -565 + ], + "size": { + "0": 367.79998779296875, + "1": 58 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": null + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 540 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "control_v11p_sd15_openpose.pth" + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 248, + "type": "ControlNetApplyAdvanced", + "pos": [ + 1818, + -821 + ], + "size": { + "0": 315, + "1": 166 + }, + "flags": {}, + "order": 26, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 394 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 395 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 427 + }, + { + "name": "image", + "type": "IMAGE", + "link": 785 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 530 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 531 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ControlNetApplyAdvanced" + }, + "widgets_values": [ + 0.4, + 0, + 1 + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 244, + "type": "CLIPTextEncode", + "pos": [ + 1469, + -1014 + ], + "size": { + "0": 391.23883056640625, + "1": 78.14339447021484 + }, + "flags": {}, + "order": 23, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 582 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 391 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "(worst quality, low quality:1.4), embedding:bad-hands-5.pt, nsfw,flicker" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 240, + "type": "PreviewImage", + "pos": [ + 3752, + -2132 + ], + "size": { + "0": 411.7706298828125, + "1": 475.14208984375 + }, + "flags": {}, + "order": 30, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 383 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 238, + "type": "VAEEncode", + "pos": [ + 2773, + -1196 + ], + "size": { + "0": 250.9868621826172, + "1": 49.90200424194336 + }, + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 780 + }, + { + "name": "vae", + "type": "VAE", + "link": 380 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 445 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + }, + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 260, + "type": "VAELoader", + "pos": [ + 2761, + -1082 + ], + "size": { + "0": 385.8948669433594, + "1": 58 + }, + "flags": {}, + "order": 10, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 380, + 382 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "kl-f8-anime2.ckpt" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 264, + "type": "ADE_AnimateDiffLoaderWithContext", + "pos": [ + 1488, + -1595 + ], + "size": { + "0": 315, + "1": 190 + }, + "flags": {}, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 748, + "slot_index": 0 + }, + { + "name": "context_options", + "type": "CONTEXT_OPTIONS", + "link": 418 + }, + { + "name": "motion_lora", + "type": "MOTION_LORA", + "link": null + }, + { + "name": "motion_model_settings", + "type": "MOTION_MODEL_SETTINGS", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 578, + 771 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoaderWithContext" + }, + "widgets_values": [ + "mm_sd_v15_v2.ckpt", + "sqrt_linear (AnimateDiff)", + 1, + false + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 265, + "type": "ADE_AnimateDiffUniformContextOptions", + "pos": [ + 1490, + -1818 + ], + "size": { + "0": 315, + "1": 154 + }, + "flags": {}, + "order": 11, + "mode": 0, + "outputs": [ + { + "name": "CONTEXT_OPTIONS", + "type": "CONTEXT_OPTIONS", + "links": [ + 418 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffUniformContextOptions" + }, + "widgets_values": [ + 16, + 1, + 4, + "uniform", + false + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 344, + "type": "DWPreprocessor", + "pos": [ + 770, + -766 + ], + "size": { + "0": 315, + "1": 178 + }, + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 783 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 786, + 787 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DWPreprocessor" + }, + "widgets_values": [ + "enable", + "enable", + "disable", + 512, + "yolox_l.onnx", + "dw-ll_ucoco_384.onnx" + ] + }, + { + "id": 285, + "type": "VHS_VideoCombine", + "pos": [ + 3738, + -1583 + ], + "size": [ + 452.1767272949219, + 202 + ], + "flags": {}, + "order": 31, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 443 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 12, + "loop_count": 0, + "filename_prefix": "comfyui", + "format": "video/h264-mp4", + "pingpong": false, + "save_image": true, + "crf": 20, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "aaa_readme_00016.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4" + } + } + }, + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 331, + "type": "PreviewImage", + "pos": [ + 712, + -535 + ], + "size": { + "0": 404.2814025878906, + "1": 578.644287109375 + }, + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 787 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 345, + "type": "PreviewImage", + "pos": [ + 249, + -544 + ], + "size": { + "0": 382.4774475097656, + "1": 550.3656616210938 + }, + "flags": {}, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 782 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 346, + "type": "PreviewImage", + "pos": [ + -183, + -532 + ], + "size": { + "0": 385.596435546875, + "1": 549.01025390625 + }, + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 567 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#2a363b", + "bgcolor": "#3f5159" + } + ], + "links": [ + [ + 380, + 260, + 0, + 238, + 1, + "VAE" + ], + [ + 381, + 241, + 0, + 239, + 0, + "LATENT" + ], + [ + 382, + 260, + 0, + 239, + 1, + "VAE" + ], + [ + 383, + 239, + 0, + 240, + 0, + "IMAGE" + ], + [ + 391, + 244, + 0, + 245, + 1, + "CONDITIONING" + ], + [ + 394, + 245, + 0, + 248, + 0, + "CONDITIONING" + ], + [ + 395, + 245, + 1, + 248, + 1, + "CONDITIONING" + ], + [ + 418, + 265, + 0, + 264, + 1, + "CONTEXT_OPTIONS" + ], + [ + 424, + 273, + 0, + 245, + 2, + "CONTROL_NET" + ], + [ + 427, + 276, + 0, + 248, + 2, + "CONTROL_NET" + ], + [ + 443, + 239, + 0, + 285, + 0, + "IMAGE" + ], + [ + 445, + 238, + 0, + 241, + 3, + "LATENT" + ], + [ + 521, + 324, + 0, + 245, + 3, + "IMAGE" + ], + [ + 530, + 248, + 0, + 328, + 0, + "CONDITIONING" + ], + [ + 531, + 248, + 1, + 328, + 1, + "CONDITIONING" + ], + [ + 532, + 328, + 0, + 241, + 1, + "CONDITIONING" + ], + [ + 533, + 328, + 1, + 241, + 2, + "CONDITIONING" + ], + [ + 540, + 334, + 0, + 328, + 2, + "CONTROL_NET" + ], + [ + 567, + 324, + 0, + 346, + 0, + "IMAGE" + ], + [ + 578, + 264, + 0, + 241, + 0, + "MODEL" + ], + [ + 581, + 351, + 0, + 243, + 0, + "CLIP" + ], + [ + 582, + 351, + 0, + 244, + 0, + "CLIP" + ], + [ + 748, + 457, + 0, + 264, + 0, + "MODEL" + ], + [ + 750, + 458, + 0, + 457, + 0, + "IPADAPTER" + ], + [ + 751, + 432, + 0, + 457, + 2, + "IMAGE" + ], + [ + 752, + 263, + 0, + 457, + 1, + "CLIP_VISION" + ], + [ + 758, + 243, + 0, + 245, + 0, + "CONDITIONING" + ], + [ + 759, + 462, + 0, + 460, + 0, + "IMAGE" + ], + [ + 760, + 465, + 0, + 461, + 0, + "IMAGE" + ], + [ + 761, + 466, + 0, + 461, + 1, + "VAE" + ], + [ + 762, + 467, + 0, + 462, + 0, + "LATENT" + ], + [ + 763, + 466, + 0, + 462, + 1, + "VAE" + ], + [ + 764, + 463, + 0, + 464, + 0, + "UPSCALE_MODEL" + ], + [ + 765, + 464, + 0, + 465, + 0, + "IMAGE" + ], + [ + 766, + 461, + 0, + 467, + 3, + "LATENT" + ], + [ + 767, + 462, + 0, + 468, + 0, + "IMAGE" + ], + [ + 768, + 468, + 0, + 469, + 0, + "IMAGE" + ], + [ + 769, + 462, + 0, + 470, + 0, + "IMAGE" + ], + [ + 770, + 239, + 0, + 464, + 1, + "IMAGE" + ], + [ + 771, + 264, + 0, + 467, + 0, + "MODEL" + ], + [ + 772, + 328, + 0, + 467, + 1, + "CONDITIONING" + ], + [ + 773, + 328, + 1, + 467, + 2, + "CONDITIONING" + ], + [ + 774, + 242, + 0, + 457, + 3, + "MODEL" + ], + [ + 775, + 242, + 1, + 351, + 0, + "CLIP" + ], + [ + 776, + 471, + 0, + 347, + 0, + "IMAGE" + ], + [ + 777, + 471, + 0, + 324, + 0, + "IMAGE" + ], + [ + 780, + 471, + 0, + 238, + 0, + "IMAGE" + ], + [ + 781, + 471, + 0, + 459, + 0, + "IMAGE" + ], + [ + 782, + 459, + 0, + 345, + 0, + "IMAGE" + ], + [ + 783, + 471, + 0, + 344, + 0, + "IMAGE" + ], + [ + 785, + 459, + 0, + 248, + 3, + "IMAGE" + ], + [ + 786, + 344, + 0, + 328, + 3, + "IMAGE" + ], + [ + 787, + 344, + 0, + 331, + 0, + "IMAGE" + ] + ], + "groups": [ + { + "title": "Group", + "bounding": [ + 3727, + -590, + 2755, + 689 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-consistent-characters/dominic_richer_consistent_character_maker__comics_strip__comfyworkflows.json b/server/test-workflows/site-consistent-characters/dominic_richer_consistent_character_maker__comics_strip__comfyworkflows.json new file mode 100644 index 0000000..82af47c --- /dev/null +++ b/server/test-workflows/site-consistent-characters/dominic_richer_consistent_character_maker__comics_strip__comfyworkflows.json @@ -0,0 +1,6000 @@ +{ + "last_node_id": 310, + "last_link_id": 524, + "nodes": [ + { + "id": 12, + "type": "ControlNetLoader", + "pos": [ + -4265.931353494172, + -875.2723560483165 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 4 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoader" + }, + "widgets_values": [ + "control_v11p_sd15_openpose.pth" + ] + }, + { + "id": 13, + "type": "ControlNetApply", + "pos": [ + -3899.931353494167, + -996.2723560483158 + ], + "size": { + "0": 317.4000244140625, + "1": 98 + }, + "flags": {}, + "order": 69, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 7 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 4, + "slot_index": 1 + }, + { + "name": "image", + "type": "IMAGE", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 16 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetApply" + }, + "widgets_values": [ + 1 + ] + }, + { + "id": 28, + "type": "Reroute", + "pos": [ + -5775.873090877457, + -194.20209718719622 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 36, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 64, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CLIP", + "links": [ + 28 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 30, + "type": "Reroute", + "pos": [ + -5775.873090877457, + -213.20209718719605 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 43, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 28, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CLIP", + "links": [ + 29, + 30 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 34, + "type": "Reroute", + "pos": [ + -6284.699217241807, + -1100.6527636391133 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 33, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 34, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 36 + ] + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 63, + "type": "ToIPAdapterPipe //Inspire", + "pos": [ + -4145.203391988984, + -338.401585665539 + ], + "size": { + "0": 330, + "1": 86 + }, + "flags": {}, + "order": 82, + "mode": 0, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 74, + "slot_index": 0 + }, + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 73, + "slot_index": 1 + }, + { + "name": "model", + "type": "MODEL", + "link": 71 + }, + { + "name": "insightface", + "type": "INSIGHTFACE", + "link": null + } + ], + "outputs": [ + { + "name": "IPADAPTER_PIPE", + "type": "IPADAPTER_PIPE", + "links": [ + 75 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ToIPAdapterPipe //Inspire" + } + }, + { + "id": 74, + "type": "Reroute", + "pos": [ + -6002, + -1165 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 30, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 86, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 87 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 22, + "type": "Reroute", + "pos": [ + -3513.0984192044025, + -996.2819077306007 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 74, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 16, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 94 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 79, + "type": "Reroute", + "pos": [ + -3518.0984192044025, + -805.2819077306013 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 75, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 94, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 99 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 16, + "type": "Reroute", + "pos": [ + -5294, + -949 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 63, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 6, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 80, + "type": "Reroute", + "pos": [ + -6209, + 246 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": null, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "*", + "links": null + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 78, + "type": "Reroute", + "pos": [ + -4681.098419204399, + -816.2819077306013 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 76, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 99, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 100 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 17, + "type": "Reroute", + "pos": [ + -5297, + -633 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 62, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 8, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 102 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 82, + "type": "Reroute", + "pos": [ + -5185, + -220 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 68, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 102, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 103 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 23, + "type": "Reroute", + "pos": [ + -5180, + -258 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 77, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 100, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 101 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 84, + "type": "Reroute", + "pos": [ + -4810.228843194252, + -610.7119536629394 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 80, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 107, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "BASIC_PIPE", + "links": [ + 108 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 62, + "type": "FromBasicPipe_v2", + "pos": [ + -4677.228843194252, + -612.7119536629392 + ], + "size": { + "0": 267, + "1": 126 + }, + "flags": {}, + "order": 81, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 108 + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [ + 76 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "model", + "type": "MODEL", + "links": [ + 71 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "clip", + "type": "CLIP", + "links": null, + "shape": 3 + }, + { + "name": "vae", + "type": "VAE", + "links": null, + "shape": 3 + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": null, + "shape": 3 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "FromBasicPipe_v2" + } + }, + { + "id": 66, + "type": "CLIPVisionLoader", + "pos": [ + -4138.203391988984, + -543.4015856655387 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "CLIP_VISION", + "type": "CLIP_VISION", + "links": [ + 73 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CLIPVisionLoader" + }, + "widgets_values": [ + "SD1.5\\pytorch_model.bin" + ] + }, + { + "id": 125, + "type": "EmptyLatentImage", + "pos": [ + -4174.258100922082, + 11.302186919722558 + ], + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 67, + "mode": 0, + "inputs": [ + { + "name": "height", + "type": "INT", + "link": 159, + "widget": { + "name": "height" + }, + "slot_index": 0 + }, + { + "name": "width", + "type": "INT", + "link": 160, + "widget": { + "name": "width" + }, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 172 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 512, + 1 + ] + }, + { + "id": 141, + "type": "ImpactDilateMaskInSEGS", + "pos": [ + -4784.423682702553, + 1542.5500029970979 + ], + "size": { + "0": 210, + "1": 156.7757568359375 + }, + "flags": {}, + "order": 96, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 395 + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "links": [ + 191 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactDilateMaskInSEGS" + }, + "widgets_values": [ + 30 + ] + }, + { + "id": 143, + "type": "SegsToCombinedMask", + "pos": [ + -4744.423682702558, + 1372.5500029970992 + ], + "size": { + "0": 210, + "1": 26 + }, + "flags": {}, + "order": 98, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 191 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 195 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SegsToCombinedMask" + } + }, + { + "id": 67, + "type": "EditBasicPipe", + "pos": [ + -3734.258100922085, + -602.6978130802751 + ], + "size": { + "0": 267, + "1": 126 + }, + "flags": {}, + "order": 84, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 76 + }, + { + "name": "model", + "type": "MODEL", + "link": 77 + }, + { + "name": "clip", + "type": "CLIP", + "link": null + }, + { + "name": "vae", + "type": "VAE", + "link": null + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [ + 78 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EditBasicPipe" + } + }, + { + "id": 129, + "type": "ImpactImageInfo", + "pos": [ + -5824.423682702559, + 822.5500029971024 + ], + "size": { + "0": 210, + "1": 86 + }, + "flags": {}, + "order": 66, + "mode": 0, + "inputs": [ + { + "name": "value", + "type": "IMAGE", + "link": 224, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "batch", + "type": "INT", + "links": [], + "shape": 3 + }, + { + "name": "height", + "type": "INT", + "links": [ + 175, + 177, + 178 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "width", + "type": "INT", + "links": [ + 174, + 176, + 179 + ], + "shape": 3, + "slot_index": 2 + }, + { + "name": "channel", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImpactImageInfo" + } + }, + { + "id": 157, + "type": "Reroute", + "pos": [ + -6187.050851087955, + 820.6870656272101 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 57, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 225, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 224 + ] + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 159, + "type": "Reroute", + "pos": [ + -6168.2233637774225, + 606.9568117794131 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 92, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 227, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 228 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 158, + "type": "Reroute", + "pos": [ + -3610.1228479879082, + 903.2972218213015 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 90, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 226, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 227 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 167, + "type": "Reroute", + "pos": [ + -7233, + -598 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 29, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 240, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 238 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 169, + "type": "Reroute", + "pos": [ + -6842, + -597 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 38, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 238, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 239 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 165, + "type": "Reroute", + "pos": [ + -6049.118055110001, + 1602.0562155762104 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 45, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 239, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 517 + ] + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 172, + "type": "Reroute", + "pos": [ + -3250.4863445206925, + 778.3700134414606 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 87, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 259, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "LATENT", + "links": [ + 258 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 135, + "type": "ImageCompositeMasked", + "pos": [ + -5078.466494934614, + 869.393127575958 + ], + "size": { + "0": 315, + "1": 146 + }, + "flags": {}, + "order": 97, + "mode": 0, + "inputs": [ + { + "name": "destination", + "type": "IMAGE", + "link": 275 + }, + { + "name": "source", + "type": "IMAGE", + "link": 274 + }, + { + "name": "mask", + "type": "MASK", + "link": 397 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 194 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageCompositeMasked" + }, + "widgets_values": [ + 0, + 0, + false + ] + }, + { + "id": 131, + "type": "EmptyImage", + "pos": [ + -5505.46649493461, + 683.3931275759583 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 72, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 176, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 177, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 275 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyImage" + }, + "widgets_values": [ + 512, + 512, + 1, + 255 + ] + }, + { + "id": 171, + "type": "Reroute", + "pos": [ + -3567.909809749131, + 1462.9707404153085 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 89, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 258, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "LATENT", + "links": [ + 260 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 132, + "type": "UltralyticsDetectorProvider", + "pos": [ + -6252.466494934609, + 1527.3931275759546 + ], + "size": { + "0": 315, + "1": 78 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "links": [ + 210 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "links": [], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "bbox/face_yolov8m.pt" + ] + }, + { + "id": 83, + "type": "Reroute", + "pos": [ + -4963, + 103 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 79, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 106, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "BASIC_PIPE", + "links": [ + 107 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 25, + "type": "Reroute", + "pos": [ + -5627.322078283618, + -197.03431446555345 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 26, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 25, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "CLIP", + "links": [ + 64 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 242, + "type": "Reroute", + "pos": [ + -3878.716592871557, + 930.3217100867381 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": null, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "*", + "links": [] + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 137, + "type": "ImpactSEGSOrderedFilter", + "pos": [ + -5464.423682702558, + 1522.550002997098 + ], + "size": { + "0": 315, + "1": 150 + }, + "flags": {}, + "order": 94, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 209 + } + ], + "outputs": [ + { + "name": "filtered_SEGS", + "type": "SEGS", + "links": [ + 396 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "remained_SEGS", + "type": "SEGS", + "links": [ + 395 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ImpactSEGSOrderedFilter" + }, + "widgets_values": [ + "x1", + true, + 0, + 1 + ] + }, + { + "id": 264, + "type": "SegsToCombinedMask", + "pos": [ + -5095.5868603102, + 1302.0296033995703 + ], + "size": { + "0": 210, + "1": 26 + }, + "flags": {}, + "order": 95, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 396 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 397 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SegsToCombinedMask" + } + }, + { + "id": 96, + "type": "ImpactImageInfo", + "pos": [ + -4262.747130849039, + 178.3021869197243 + ], + "size": { + "0": 210, + "1": 86 + }, + "flags": {}, + "order": 58, + "mode": 0, + "inputs": [ + { + "name": "value", + "type": "IMAGE", + "link": 161, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "batch", + "type": "INT", + "links": [], + "shape": 3 + }, + { + "name": "height", + "type": "INT", + "links": [ + 159 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "width", + "type": "INT", + "links": [ + 160 + ], + "shape": 3, + "slot_index": 2 + }, + { + "name": "channel", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImpactImageInfo" + } + }, + { + "id": 123, + "type": "InsightFaceLoader", + "pos": [ + -3765.1919427303806, + 934.8681879840541 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 5, + "mode": 0, + "outputs": [ + { + "name": "INSIGHTFACE", + "type": "INSIGHTFACE", + "links": [ + 156 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "InsightFaceLoader" + }, + "widgets_values": [ + "CUDA" + ] + }, + { + "id": 149, + "type": "InsightFaceLoader", + "pos": [ + -3789.19194273038, + 1488.8681879840585 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 6, + "mode": 0, + "outputs": [ + { + "name": "INSIGHTFACE", + "type": "INSIGHTFACE", + "links": [ + 199 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "InsightFaceLoader" + }, + "widgets_values": [ + "CUDA" + ] + }, + { + "id": 148, + "type": "CLIPVisionLoader", + "pos": [ + -3402.7002377305184, + 1355.314475761865 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 7, + "mode": 0, + "outputs": [ + { + "name": "CLIP_VISION", + "type": "CLIP_VISION", + "links": [ + 201 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CLIPVisionLoader" + }, + "widgets_values": [ + "SD1.5\\pytorch_model.bin" + ] + }, + { + "id": 126, + "type": "VAEDecode", + "pos": [ + -3381.258100922085, + -70.69781308027825 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 88, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 211 + }, + { + "name": "vae", + "type": "VAE", + "link": 212 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 226, + 437 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 19, + "type": "CheckpointLoaderSimple", + "pos": [ + -5959.445998711281, + -131.7370272425511 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 8, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 310 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 25, + 312 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 463 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "comicmixNSFWByMrMonster_v325.safetensors" + ] + }, + { + "id": 290, + "type": "PreviewImage", + "pos": [ + -3788, + -1399 + ], + "size": { + "0": 210, + "1": 246 + }, + "flags": {}, + "order": 59, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 441 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 61, + "type": "ApplyRegionalIPAdapters //Inspire", + "pos": [ + -4141, + -195 + ], + "size": { + "0": 294, + "1": 106 + }, + "flags": {}, + "order": 83, + "mode": 0, + "inputs": [ + { + "name": "ipadapter_pipe", + "type": "IPADAPTER_PIPE", + "link": 75, + "slot_index": 0 + }, + { + "name": "regional_ipadapter1", + "type": "REGIONAL_IPADAPTER", + "link": 68 + }, + { + "name": "regional_ipadapter2", + "type": "REGIONAL_IPADAPTER", + "link": 69 + }, + { + "name": "regional_ipadapter3", + "type": "REGIONAL_IPADAPTER", + "link": 70 + }, + { + "name": "regional_ipadapter4", + "type": "REGIONAL_IPADAPTER", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 77, + 222 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ApplyRegionalIPAdapters //Inspire" + } + }, + { + "id": 124, + "type": "ImpactKSamplerBasicPipe", + "pos": [ + -2700.7002377305216, + 1417.3144757618654 + ], + "size": { + "0": 315, + "1": 242 + }, + "flags": {}, + "order": 106, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 167 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 260, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "BASIC_PIPE", + "type": "BASIC_PIPE", + "links": [ + 423 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 214 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 215 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "ImpactKSamplerBasicPipe" + }, + "widgets_values": [ + 614706339427441, + "randomize", + 10, + 6.5, + "euler_ancestral", + "karras", + 0.3 + ] + }, + { + "id": 299, + "type": "UpscaleModelLoader", + "pos": [ + -5956, + 133 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 9, + "mode": 0, + "outputs": [ + { + "name": "UPSCALE_MODEL", + "type": "UPSCALE_MODEL", + "links": [], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "UpscaleModelLoader" + }, + "widgets_values": [ + "4xUltrasharp_4xUltrasharpV10.pt" + ] + }, + { + "id": 55, + "type": "VAELoader", + "pos": [ + -5957.322078283618, + 22.96568553444657 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 10, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "vaeFtMse840000EmaPruned_vae.safetensors" + ] + }, + { + "id": 285, + "type": "SAMLoader", + "pos": [ + -2887.2110390053876, + 939.2579445496657 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 11, + "mode": 0, + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "links": [ + 429 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "CPU" + ] + }, + { + "id": 75, + "type": "Reroute", + "pos": [ + -5393, + -1177 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 39, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 87, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 474 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 101, + "type": "Reroute", + "pos": [ + -5060, + 210 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 49, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 162, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 161 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 35, + "type": "Reroute", + "pos": [ + -5197, + -1081 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 41, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 36, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 47, + 162, + 439 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 70, + "type": "Reroute", + "pos": [ + -6829, + -532 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 35, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 80, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 83 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 72, + "type": "Reroute", + "pos": [ + -6545, + -1233 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 42, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 83, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 84 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 69, + "type": "Reroute", + "pos": [ + -6832, + -1131 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 31, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 491, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 443 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 87, + "type": "Reroute", + "pos": [ + -4956, + -837 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 56, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 112, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 44, + "type": "Reroute", + "pos": [ + -2904, + -815 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 48, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 47, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 112, + 225 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 88, + "type": "Reroute", + "pos": [ + -4938, + -338 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 34, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 480, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 467, + 468, + 479 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 71, + "type": "Reroute", + "pos": [ + -5487, + -1136 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 40, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 443, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 481 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 73, + "type": "Reroute", + "pos": [ + -5672, + -1242 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 51, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 84, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 482 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 5, + "type": "ImageScaleToTotalPixels", + "pos": [ + -4267, + -1012 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 60, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 514, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 3 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageScaleToTotalPixels" + }, + "widgets_values": [ + "nearest-exact", + 1 + ] + }, + { + "id": 81, + "type": "ToBasicPipe", + "pos": [ + -5217, + -131 + ], + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "flags": {}, + "order": 78, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 311 + }, + { + "name": "clip", + "type": "CLIP", + "link": 313 + }, + { + "name": "vae", + "type": "VAE", + "link": 463, + "slot_index": 2 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 101 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 103 + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [ + 106 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ToBasicPipe" + } + }, + { + "id": 68, + "type": "ImpactKSamplerBasicPipe", + "pos": [ + -3785.258100922085, + -90.69781308027785 + ], + "size": { + "0": 315, + "1": 242 + }, + "flags": {}, + "order": 85, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 78 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 172, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "BASIC_PIPE", + "type": "BASIC_PIPE", + "links": [ + 262 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 211, + 259 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 212 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "ImpactKSamplerBasicPipe" + }, + "widgets_values": [ + 313549796480170, + "randomize", + 25, + 5, + "euler_ancestral", + "karras", + 1 + ] + }, + { + "id": 65, + "type": "IPAdapterModelLoader", + "pos": [ + -4137, + -444 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 12, + "mode": 0, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 74 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter-plus_sd15.safetensors" + ] + }, + { + "id": 198, + "type": "LoraLoader", + "pos": [ + -5614, + -128 + ], + "size": { + "0": 315, + "1": 126 + }, + "flags": {}, + "order": 27, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 310 + }, + { + "name": "clip", + "type": "CLIP", + "link": 312 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 311 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 313 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoraLoader" + }, + "widgets_values": [ + "add_detail.safetensors", + 1, + 1 + ] + }, + { + "id": 15, + "type": "CLIPTextEncode", + "pos": [ + -5754, + -632 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 52, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 29 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 8 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Negative Prompt", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "Blurry, embedding:BadDream, embedding:By bad artist -neg, embedding:negative_hand-neg, " + ] + }, + { + "id": 2, + "type": "LoadImage", + "pos": [ + -7550, + -1001 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 13, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 235 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "Load Face", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "Capture d'écran 2024-02-21 075427.png", + "image" + ] + }, + { + "id": 287, + "type": "PreviewImage", + "pos": [ + -8244, + 100 + ], + "size": { + "0": 714.8789672851562, + "1": 523.1470336914062 + }, + "flags": {}, + "order": 91, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 437 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 56, + "type": "LoadImage", + "pos": [ + -7539, + -437 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 14, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 240 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [], + "shape": 3 + } + ], + "title": "Load Face", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "Capture d'écran 2024-02-21 074035 (1).png", + "image" + ] + }, + { + "id": 58, + "type": "RegionalIPAdapterColorMask //Inspire", + "pos": [ + -4730, + -396 + ], + "size": { + "0": 367.79998779296875, + "1": 270 + }, + "flags": {}, + "order": 46, + "mode": 0, + "inputs": [ + { + "name": "color_mask", + "type": "IMAGE", + "link": 479, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "link": 474 + } + ], + "outputs": [ + { + "name": "REGIONAL_IPADAPTER", + "type": "REGIONAL_IPADAPTER", + "links": [ + 68 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "RegionalIPAdapterColorMask //Inspire" + }, + "widgets_values": [ + "#ffffff", + 1, + 0.15, + "channel penalty", + 0, + 1, + false, + false, + 1 + ] + }, + { + "id": 60, + "type": "RegionalIPAdapterColorMask //Inspire", + "pos": [ + -4719, + 250 + ], + "size": { + "0": 367.79998779296875, + "1": 270 + }, + "flags": {}, + "order": 47, + "mode": 0, + "inputs": [ + { + "name": "color_mask", + "type": "IMAGE", + "link": 468 + }, + { + "name": "image", + "type": "IMAGE", + "link": 481, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "REGIONAL_IPADAPTER", + "type": "REGIONAL_IPADAPTER", + "links": [ + 70 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RegionalIPAdapterColorMask //Inspire" + }, + "widgets_values": [ + "#ff0000", + 0.9, + 0.15, + "channel penalty", + 0, + 0.8, + false, + false, + 1 + ] + }, + { + "id": 59, + "type": "RegionalIPAdapterColorMask //Inspire", + "pos": [ + -4724, + -76 + ], + "size": { + "0": 367.79998779296875, + "1": 270 + }, + "flags": {}, + "order": 61, + "mode": 0, + "inputs": [ + { + "name": "color_mask", + "type": "IMAGE", + "link": 467 + }, + { + "name": "image", + "type": "IMAGE", + "link": 482 + } + ], + "outputs": [ + { + "name": "REGIONAL_IPADAPTER", + "type": "REGIONAL_IPADAPTER", + "links": [ + 69 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RegionalIPAdapterColorMask //Inspire" + }, + "widgets_values": [ + "#0000ff", + 0.9, + 0.15, + "channel penalty", + 0, + 0.8, + false, + false, + 1 + ] + }, + { + "id": 302, + "type": "LoadImage", + "pos": [ + -4807, + -1531 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 15, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "pose (24).png", + "image" + ] + }, + { + "id": 3, + "type": "LoadImage", + "pos": [ + -6254, + -1010 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 16, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 86 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "Load Background", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "thumb-1920-297113 (4).jpg", + "image" + ] + }, + { + "id": 303, + "type": "LoadImage", + "pos": [ + -7179, + -997 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 17, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 491 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "Load Face", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "Capture d'écran 2024-02-21 075405 (3).png", + "image" + ] + }, + { + "id": 309, + "type": "PreviewImage", + "pos": [ + -4550, + 864 + ], + "size": { + "0": 210, + "1": 246 + }, + "flags": {}, + "order": 102, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 515 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 130, + "type": "EmptyImage", + "pos": [ + -5506.46649493461, + 869.393127575958 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 71, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 174, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 175, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 274 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyImage" + }, + "widgets_values": [ + 512, + 512, + 1, + 65280 + ] + }, + { + "id": 133, + "type": "EmptyImage", + "pos": [ + -5506.46649493461, + 1045.3931275759576 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 73, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 178, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 179, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 270 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyImage" + }, + "widgets_values": [ + 512, + 512, + 1, + 16711680 + ] + }, + { + "id": 289, + "type": "DWPreprocessor", + "pos": [ + -4615, + -1022 + ], + "size": { + "0": 315, + "1": 198 + }, + "flags": {}, + "order": 50, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 439 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 441, + 514 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "POSE_KEYPOINT", + "type": "POSE_KEYPOINT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "DWPreprocessor" + }, + "widgets_values": [ + "disable", + "enable", + "disable", + 512, + "yolo_nas_m_fp16.onnx", + "dw-ll_ucoco_384_bs5.torchscript.pt" + ] + }, + { + "id": 284, + "type": "FromBasicPipe", + "pos": [ + -2282, + 705 + ], + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "flags": {}, + "order": 107, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 423 + } + ], + "outputs": [ + { + "name": "model", + "type": "MODEL", + "links": [ + 445 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "clip", + "type": "CLIP", + "links": [ + 431 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "vae", + "type": "VAE", + "links": [ + 432 + ], + "shape": 3, + "slot_index": 2 + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 433 + ], + "shape": 3, + "slot_index": 3 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 434 + ], + "shape": 3, + "slot_index": 4 + } + ], + "properties": { + "Node name for S&R": "FromBasicPipe" + } + }, + { + "id": 280, + "type": "FaceDetailer", + "pos": [ + -1907, + 683 + ], + "size": { + "0": 506.4000244140625, + "1": 880 + }, + "flags": {}, + "order": 109, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 422 + }, + { + "name": "model", + "type": "MODEL", + "link": 445, + "slot_index": 1 + }, + { + "name": "clip", + "type": "CLIP", + "link": 431 + }, + { + "name": "vae", + "type": "VAE", + "link": 432 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 433 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 434 + }, + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 421, + "slot_index": 6 + }, + { + "name": "sam_model_opt", + "type": "SAM_MODEL", + "link": 429, + "slot_index": 7 + }, + { + "name": "segm_detector_opt", + "type": "SEGM_DETECTOR", + "link": null + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "links": [ + 506 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "links": null, + "shape": 6 + }, + { + "name": "cropped_enhanced_alpha", + "type": "IMAGE", + "links": null, + "shape": 6 + }, + { + "name": "mask", + "type": "MASK", + "links": null, + "shape": 3 + }, + { + "name": "detailer_pipe", + "type": "DETAILER_PIPE", + "links": null, + "shape": 3 + }, + { + "name": "cnet_images", + "type": "IMAGE", + "links": null, + "shape": 6 + } + ], + "properties": { + "Node name for S&R": "FaceDetailer" + }, + "widgets_values": [ + 384, + true, + 1024, + 368272322698729, + "randomize", + 15, + 5, + "euler_ancestral", + "normal", + 0.4, + 5, + true, + true, + 0.5, + 10, + 3, + "center-1", + 0, + 0.93, + 0, + 0.7, + "False", + 10, + "", + 1, + false, + 0 + ] + }, + { + "id": 153, + "type": "VAEDecode", + "pos": [ + -2349.909391849262, + 1436.3376982089437 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 108, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 214 + }, + { + "name": "vae", + "type": "VAE", + "link": 215 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 422, + 516 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 174, + "type": "Reroute", + "pos": [ + -3068, + -84 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 86, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 262, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "BASIC_PIPE", + "links": [ + 390 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 163, + "type": "Reroute", + "pos": [ + -3727, + 780 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 55, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 517, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 392 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 162, + "type": "Reroute", + "pos": [ + -6385, + 1897 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 64, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 233, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 391 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 164, + "type": "Reroute", + "pos": [ + -6392, + 1598 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 54, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 252, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 233 + ] + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 152, + "type": "BboxDetectorSEGS", + "pos": [ + -5902, + 1514 + ], + "size": { + "0": 400, + "1": 212.0001220703125 + }, + "flags": {}, + "order": 93, + "mode": 0, + "inputs": [ + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 210 + }, + { + "name": "image", + "type": "IMAGE", + "link": 228 + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "link": null + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "links": [ + 209 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "BboxDetectorSEGS" + }, + "widgets_values": [ + 0.8, + 15, + 5, + 10, + "all" + ] + }, + { + "id": 168, + "type": "Reroute", + "pos": [ + -6874, + -1191 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 37, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 237, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 520 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 166, + "type": "Reroute", + "pos": [ + -7194, + -1191 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 28, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 235, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 237 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 150, + "type": "ImageToMask", + "pos": [ + -3777, + 1713 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 101, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 502 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 206 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImageToMask" + }, + "widgets_values": [ + "green" + ] + }, + { + "id": 144, + "type": "ImageCompositeMasked", + "pos": [ + -4342, + 1335 + ], + "size": { + "0": 315, + "1": 146 + }, + "flags": {}, + "order": 99, + "mode": 0, + "inputs": [ + { + "name": "destination", + "type": "IMAGE", + "link": 194 + }, + { + "name": "source", + "type": "IMAGE", + "link": 270, + "slot_index": 1 + }, + { + "name": "mask", + "type": "MASK", + "link": 195 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 501, + 502, + 515 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageCompositeMasked" + }, + "widgets_values": [ + 0, + 0, + false + ] + }, + { + "id": 170, + "type": "Reroute", + "pos": [ + -6659, + 887 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 44, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 520, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 252 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 145, + "type": "ImageToMask", + "pos": [ + -3774.19194273038, + 1114.8681879840576 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 100, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 501, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 196 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImageToMask" + }, + "widgets_values": [ + "red" + ] + }, + { + "id": 156, + "type": "ImpactImageInfo", + "pos": [ + -3005, + 1079 + ], + "size": { + "0": 210, + "1": 86 + }, + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "value", + "type": "IMAGE", + "link": null, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "batch", + "type": "INT", + "links": [], + "shape": 3 + }, + { + "name": "height", + "type": "INT", + "links": [ + 218 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "width", + "type": "INT", + "links": [ + 219 + ], + "shape": 3, + "slot_index": 2 + }, + { + "name": "channel", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImpactImageInfo" + } + }, + { + "id": 155, + "type": "EmptyLatentImage", + "pos": [ + -2898, + 1238 + ], + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 32, + "mode": 0, + "inputs": [ + { + "name": "height", + "type": "INT", + "link": 218, + "widget": { + "name": "height" + }, + "slot_index": 0 + }, + { + "name": "width", + "type": "INT", + "link": 219, + "widget": { + "name": "width" + }, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 512, + 1 + ] + }, + { + "id": 128, + "type": "EditBasicPipe", + "pos": [ + -2942, + 1416 + ], + "size": { + "0": 267, + "1": 126 + }, + "flags": {}, + "order": 105, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 390, + "slot_index": 0 + }, + { + "name": "model", + "type": "MODEL", + "link": 203 + }, + { + "name": "clip", + "type": "CLIP", + "link": null + }, + { + "name": "vae", + "type": "VAE", + "link": null + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [ + 167 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EditBasicPipe" + } + }, + { + "id": 161, + "type": "Reroute", + "pos": [ + -3703, + 1609 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 70, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 391, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 523 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 160, + "type": "Reroute", + "pos": [ + -3756, + 1324 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 65, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 392, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 524 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 115, + "type": "IPAdapterApplyFaceID", + "pos": [ + -3389, + 973 + ], + "size": { + "0": 315, + "1": 326 + }, + "flags": {}, + "order": 103, + "mode": 0, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 151, + "slot_index": 0 + }, + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 154, + "slot_index": 1 + }, + { + "name": "insightface", + "type": "INSIGHTFACE", + "link": 156, + "slot_index": 2 + }, + { + "name": "image", + "type": "IMAGE", + "link": 523, + "slot_index": 3 + }, + { + "name": "model", + "type": "MODEL", + "link": 222, + "slot_index": 4 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": 196, + "slot_index": 5 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 202 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApplyFaceID" + }, + "widgets_values": [ + 0.8, + 0.2, + "channel penalty", + 0, + 1, + false, + 0.6, + true + ] + }, + { + "id": 146, + "type": "IPAdapterApplyFaceID", + "pos": [ + -3395, + 1573 + ], + "size": { + "0": 315, + "1": 326 + }, + "flags": {}, + "order": 104, + "mode": 0, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 200, + "slot_index": 0 + }, + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 201, + "slot_index": 1 + }, + { + "name": "insightface", + "type": "INSIGHTFACE", + "link": 199, + "slot_index": 2 + }, + { + "name": "image", + "type": "IMAGE", + "link": 524, + "slot_index": 3 + }, + { + "name": "model", + "type": "MODEL", + "link": 202, + "slot_index": 4 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": 206, + "slot_index": 5 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 203 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApplyFaceID" + }, + "widgets_values": [ + 0.8, + 0.25, + "channel penalty", + 0, + 1, + false, + 0.6, + false + ] + }, + { + "id": 147, + "type": "IPAdapterModelLoader", + "pos": [ + -3400.7002377305184, + 1463.3144757618663 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 19, + "mode": 0, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 200 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter-plus-face_sd15.safetensors" + ] + }, + { + "id": 119, + "type": "IPAdapterModelLoader", + "pos": [ + -3373.1919427303833, + 842.8681879840544 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 20, + "mode": 0, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 151 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter-plus-face_sd15.safetensors" + ] + }, + { + "id": 283, + "type": "UltralyticsDetectorProvider", + "pos": [ + -2881.2110390053876, + 815.2579445496664 + ], + "size": { + "0": 315, + "1": 78 + }, + "flags": {}, + "order": 21, + "mode": 0, + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "links": [ + 421 + ], + "shape": 3 + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "bbox/face_yolov8s.pt" + ] + }, + { + "id": 121, + "type": "CLIPVisionLoader", + "pos": [ + -2653, + 613 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 22, + "mode": 0, + "outputs": [ + { + "name": "CLIP_VISION", + "type": "CLIP_VISION", + "links": [ + 154 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CLIPVisionLoader" + }, + "widgets_values": [ + "SD1.5\\pytorch_model.bin" + ] + }, + { + "id": 265, + "type": "SaveImage", + "pos": [ + -7495, + 93 + ], + "size": { + "0": 1157.3302001953125, + "1": 634.3267822265625 + }, + "flags": {}, + "order": 111, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 506, + "slot_index": 0 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 1, + "type": "LoadImage", + "pos": [ + -6601, + -1008 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 23, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 34 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "Load Pose ", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "5 (14).png", + "image" + ] + }, + { + "id": 288, + "type": "LoadImage", + "pos": [ + -6649, + -535 + ], + "size": { + "0": 429.70391845703125, + "1": 469.01751708984375 + }, + "flags": {}, + "order": 24, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 480 + ], + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "5.M (5).png", + "image" + ] + }, + { + "id": 14, + "type": "CLIPTextEncode", + "pos": [ + -5756, + -948 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 53, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 30 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Possitive Prompt", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "((masterpiece, hdr, detailed, intricate, 8k)) back view, a girl with blond hair in blue dress and a bald man with apron" + ] + }, + { + "id": 57, + "type": "LoadImage", + "pos": [ + -7160, + -442 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 25, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 80 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "Load Body", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "Capture d'écran 2024-02-21 074015 (3).png", + "image" + ] + }, + { + "id": 310, + "type": "PreviewImage", + "pos": [ + -2339, + 1539 + ], + "size": { + "0": 210, + "1": 246 + }, + "flags": {}, + "order": 110, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 516 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + } + ], + "links": [ + [ + 3, + 5, + 0, + 13, + 2, + "IMAGE" + ], + [ + 4, + 12, + 0, + 13, + 1, + "CONTROL_NET" + ], + [ + 6, + 14, + 0, + 16, + 0, + "*" + ], + [ + 7, + 16, + 0, + 13, + 0, + "CONDITIONING" + ], + [ + 8, + 15, + 0, + 17, + 0, + "*" + ], + [ + 16, + 13, + 0, + 22, + 0, + "*" + ], + [ + 25, + 19, + 1, + 25, + 0, + "*" + ], + [ + 28, + 28, + 0, + 30, + 0, + "*" + ], + [ + 29, + 30, + 0, + 15, + 0, + "CLIP" + ], + [ + 30, + 30, + 0, + 14, + 0, + "CLIP" + ], + [ + 34, + 1, + 0, + 34, + 0, + "*" + ], + [ + 36, + 34, + 0, + 35, + 0, + "*" + ], + [ + 47, + 35, + 0, + 44, + 0, + "*" + ], + [ + 64, + 25, + 0, + 28, + 0, + "*" + ], + [ + 68, + 58, + 0, + 61, + 1, + "REGIONAL_IPADAPTER" + ], + [ + 69, + 59, + 0, + 61, + 2, + "REGIONAL_IPADAPTER" + ], + [ + 70, + 60, + 0, + 61, + 3, + "REGIONAL_IPADAPTER" + ], + [ + 71, + 62, + 1, + 63, + 2, + "MODEL" + ], + [ + 73, + 66, + 0, + 63, + 1, + "CLIP_VISION" + ], + [ + 74, + 65, + 0, + 63, + 0, + "IPADAPTER" + ], + [ + 75, + 63, + 0, + 61, + 0, + "IPADAPTER_PIPE" + ], + [ + 76, + 62, + 0, + 67, + 0, + "BASIC_PIPE" + ], + [ + 77, + 61, + 0, + 67, + 1, + "MODEL" + ], + [ + 78, + 67, + 0, + 68, + 0, + "BASIC_PIPE" + ], + [ + 80, + 57, + 0, + 70, + 0, + "*" + ], + [ + 83, + 70, + 0, + 72, + 0, + "*" + ], + [ + 84, + 72, + 0, + 73, + 0, + "*" + ], + [ + 86, + 3, + 0, + 74, + 0, + "*" + ], + [ + 87, + 74, + 0, + 75, + 0, + "*" + ], + [ + 94, + 22, + 0, + 79, + 0, + "*" + ], + [ + 99, + 79, + 0, + 78, + 0, + "*" + ], + [ + 100, + 78, + 0, + 23, + 0, + "*" + ], + [ + 101, + 23, + 0, + 81, + 3, + "CONDITIONING" + ], + [ + 102, + 17, + 0, + 82, + 0, + "*" + ], + [ + 103, + 82, + 0, + 81, + 4, + "CONDITIONING" + ], + [ + 106, + 81, + 0, + 83, + 0, + "*" + ], + [ + 107, + 83, + 0, + 84, + 0, + "*" + ], + [ + 108, + 84, + 0, + 62, + 0, + "BASIC_PIPE" + ], + [ + 112, + 44, + 0, + 87, + 0, + "*" + ], + [ + 151, + 119, + 0, + 115, + 0, + "IPADAPTER" + ], + [ + 154, + 121, + 0, + 115, + 1, + "CLIP_VISION" + ], + [ + 156, + 123, + 0, + 115, + 2, + "INSIGHTFACE" + ], + [ + 159, + 96, + 1, + 125, + 0, + "INT" + ], + [ + 160, + 96, + 2, + 125, + 1, + "INT" + ], + [ + 161, + 101, + 0, + 96, + 0, + "IMAGE" + ], + [ + 162, + 35, + 0, + 101, + 0, + "*" + ], + [ + 167, + 128, + 0, + 124, + 0, + "BASIC_PIPE" + ], + [ + 172, + 125, + 0, + 68, + 1, + "LATENT" + ], + [ + 174, + 129, + 2, + 130, + 0, + "INT" + ], + [ + 175, + 129, + 1, + 130, + 1, + "INT" + ], + [ + 176, + 129, + 2, + 131, + 0, + "INT" + ], + [ + 177, + 129, + 1, + 131, + 1, + "INT" + ], + [ + 178, + 129, + 1, + 133, + 0, + "INT" + ], + [ + 179, + 129, + 2, + 133, + 1, + "INT" + ], + [ + 191, + 141, + 0, + 143, + 0, + "SEGS" + ], + [ + 194, + 135, + 0, + 144, + 0, + "IMAGE" + ], + [ + 195, + 143, + 0, + 144, + 2, + "MASK" + ], + [ + 196, + 145, + 0, + 115, + 5, + "MASK" + ], + [ + 199, + 149, + 0, + 146, + 2, + "INSIGHTFACE" + ], + [ + 200, + 147, + 0, + 146, + 0, + "IPADAPTER" + ], + [ + 201, + 148, + 0, + 146, + 1, + "CLIP_VISION" + ], + [ + 202, + 115, + 0, + 146, + 4, + "MODEL" + ], + [ + 203, + 146, + 0, + 128, + 1, + "MODEL" + ], + [ + 206, + 150, + 0, + 146, + 5, + "MASK" + ], + [ + 209, + 152, + 0, + 137, + 0, + "SEGS" + ], + [ + 210, + 132, + 0, + 152, + 0, + "BBOX_DETECTOR" + ], + [ + 211, + 68, + 1, + 126, + 0, + "LATENT" + ], + [ + 212, + 68, + 2, + 126, + 1, + "VAE" + ], + [ + 214, + 124, + 1, + 153, + 0, + "LATENT" + ], + [ + 215, + 124, + 2, + 153, + 1, + "VAE" + ], + [ + 218, + 156, + 1, + 155, + 0, + "INT" + ], + [ + 219, + 156, + 2, + 155, + 1, + "INT" + ], + [ + 222, + 61, + 0, + 115, + 4, + "MODEL" + ], + [ + 224, + 157, + 0, + 129, + 0, + "IMAGE" + ], + [ + 225, + 44, + 0, + 157, + 0, + "*" + ], + [ + 226, + 126, + 0, + 158, + 0, + "*" + ], + [ + 227, + 158, + 0, + 159, + 0, + "*" + ], + [ + 228, + 159, + 0, + 152, + 1, + "IMAGE" + ], + [ + 233, + 164, + 0, + 162, + 0, + "*" + ], + [ + 235, + 2, + 0, + 166, + 0, + "*" + ], + [ + 237, + 166, + 0, + 168, + 0, + "*" + ], + [ + 238, + 167, + 0, + 169, + 0, + "*" + ], + [ + 239, + 169, + 0, + 165, + 0, + "*" + ], + [ + 240, + 56, + 0, + 167, + 0, + "*" + ], + [ + 252, + 170, + 0, + 164, + 0, + "*" + ], + [ + 258, + 172, + 0, + 171, + 0, + "*" + ], + [ + 259, + 68, + 1, + 172, + 0, + "*" + ], + [ + 260, + 171, + 0, + 124, + 1, + "LATENT" + ], + [ + 262, + 68, + 0, + 174, + 0, + "*" + ], + [ + 270, + 133, + 0, + 144, + 1, + "IMAGE" + ], + [ + 274, + 130, + 0, + 135, + 1, + "IMAGE" + ], + [ + 275, + 131, + 0, + 135, + 0, + "IMAGE" + ], + [ + 310, + 19, + 0, + 198, + 0, + "MODEL" + ], + [ + 311, + 198, + 0, + 81, + 0, + "MODEL" + ], + [ + 312, + 19, + 1, + 198, + 1, + "CLIP" + ], + [ + 313, + 198, + 1, + 81, + 1, + "CLIP" + ], + [ + 390, + 174, + 0, + 128, + 0, + "BASIC_PIPE" + ], + [ + 391, + 162, + 0, + 161, + 0, + "*" + ], + [ + 392, + 163, + 0, + 160, + 0, + "*" + ], + [ + 395, + 137, + 1, + 141, + 0, + "SEGS" + ], + [ + 396, + 137, + 0, + 264, + 0, + "SEGS" + ], + [ + 397, + 264, + 0, + 135, + 2, + "MASK" + ], + [ + 421, + 283, + 0, + 280, + 6, + "BBOX_DETECTOR" + ], + [ + 422, + 153, + 0, + 280, + 0, + "IMAGE" + ], + [ + 423, + 124, + 0, + 284, + 0, + "BASIC_PIPE" + ], + [ + 429, + 285, + 0, + 280, + 7, + "SAM_MODEL" + ], + [ + 431, + 284, + 1, + 280, + 2, + "CLIP" + ], + [ + 432, + 284, + 2, + 280, + 3, + "VAE" + ], + [ + 433, + 284, + 3, + 280, + 4, + "CONDITIONING" + ], + [ + 434, + 284, + 4, + 280, + 5, + "CONDITIONING" + ], + [ + 437, + 126, + 0, + 287, + 0, + "IMAGE" + ], + [ + 439, + 35, + 0, + 289, + 0, + "IMAGE" + ], + [ + 441, + 289, + 0, + 290, + 0, + "IMAGE" + ], + [ + 443, + 69, + 0, + 71, + 0, + "*" + ], + [ + 445, + 284, + 0, + 280, + 1, + "MODEL" + ], + [ + 463, + 19, + 2, + 81, + 2, + "VAE" + ], + [ + 467, + 88, + 0, + 59, + 0, + "IMAGE" + ], + [ + 468, + 88, + 0, + 60, + 0, + "IMAGE" + ], + [ + 474, + 75, + 0, + 58, + 1, + "IMAGE" + ], + [ + 479, + 88, + 0, + 58, + 0, + "IMAGE" + ], + [ + 480, + 288, + 0, + 88, + 0, + "*" + ], + [ + 481, + 71, + 0, + 60, + 1, + "IMAGE" + ], + [ + 482, + 73, + 0, + 59, + 1, + "IMAGE" + ], + [ + 491, + 303, + 0, + 69, + 0, + "*" + ], + [ + 501, + 144, + 0, + 145, + 0, + "IMAGE" + ], + [ + 502, + 144, + 0, + 150, + 0, + "IMAGE" + ], + [ + 506, + 280, + 0, + 265, + 0, + "IMAGE" + ], + [ + 514, + 289, + 0, + 5, + 0, + "IMAGE" + ], + [ + 515, + 144, + 0, + 309, + 0, + "IMAGE" + ], + [ + 516, + 153, + 0, + 310, + 0, + "IMAGE" + ], + [ + 517, + 165, + 0, + 163, + 0, + "*" + ], + [ + 520, + 168, + 0, + 170, + 0, + "*" + ], + [ + 523, + 161, + 0, + 115, + 3, + "IMAGE" + ], + [ + 524, + 160, + 0, + 146, + 3, + "IMAGE" + ] + ], + "groups": [ + { + "title": "Image Loader", + "bounding": [ + -6642, + -1089, + 735, + 436 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Group", + "bounding": [ + -5862, + -1087, + 611, + 832 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Model Selector", + "bounding": [ + -5980, + -216, + 743, + 344 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Step 1 (OpenPose)", + "bounding": [ + -4651, + -1114, + 1143, + 316 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Step 3 (Regional Adapter)", + "bounding": [ + -4791, + -732, + 1766, + 1136 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "1st Character", + "bounding": [ + -7587, + -1099, + 785, + 453 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "2nd Character", + "bounding": [ + -7590, + -540, + 810, + 459 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Step 4 (Face Mask)", + "bounding": [ + -6134, + 559, + 2224, + 1303 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "Group", + "bounding": [ + -3818, + 556, + 2489, + 1383 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-if-animator/impactframes__if_animator_comfyworkflows.json b/server/test-workflows/site-if-animator/impactframes__if_animator_comfyworkflows.json new file mode 100644 index 0000000..0fffaa9 --- /dev/null +++ b/server/test-workflows/site-if-animator/impactframes__if_animator_comfyworkflows.json @@ -0,0 +1,5948 @@ +{ + "last_node_id": 621, + "last_link_id": 1418, + "nodes": [ + { + "id": 88, + "type": "Note", + "pos": [ + 2065.8510530711123, + 5.301037202435582 + ], + "size": { + "0": 345.28839111328125, + "1": 270.9115905761719 + }, + "flags": { + "pinned": true + }, + "order": 0, + "mode": 0, + "properties": { + "text": "" + }, + "widgets_values": [ + " _ _____ _____ _____ _ _____ _____ _____ _____ _____ \n| | __| | _ | | | | | _ |_ _| | __ |\n| | __| | | | | | | | | | | | | | | | -|\n|_|__| |__|__|_|___|_|_|_|_|__|__| |_| |_____|__|__|\n \n--------------------------------------------------------\n\nto watch tutorials\nhttps://www.youtube.com/@impactframes\n\nto support and find more info\nhttps://ko-fi.com/impactframes\n\n--------------------------------------------------------\n\n" + ], + "color": "#57431a", + "bgcolor": "#6b572e" + }, + { + "id": 229, + "type": "ADE_AnimateDiffLoRALoader", + "pos": [ + 670.6060616312828, + -416.50981663986045 + ], + "size": { + "0": 312.9755859375, + "1": 82 + }, + "flags": { + "pinned": false + }, + "order": 1, + "mode": 4, + "inputs": [ + { + "name": "prev_motion_lora", + "type": "MOTION_LORA", + "link": null + } + ], + "outputs": [ + { + "name": "MOTION_LORA", + "type": "MOTION_LORA", + "links": [ + 462 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoRALoader" + }, + "widgets_values": [ + null, + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 228, + "type": "ADE_AnimateDiffLoRALoader", + "pos": [ + 992.6060616312826, + -416.50981663986045 + ], + "size": { + "0": 313.94293212890625, + "1": 82 + }, + "flags": { + "pinned": false + }, + "order": 40, + "mode": 4, + "inputs": [ + { + "name": "prev_motion_lora", + "type": "MOTION_LORA", + "link": 462 + } + ], + "outputs": [ + { + "name": "MOTION_LORA", + "type": "MOTION_LORA", + "links": [ + 461 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoRALoader" + }, + "widgets_values": [ + null, + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 226, + "type": "ADE_AnimateDiffUniformContextOptions", + "pos": [ + 665.6060616312828, + -623.5098166398597 + ], + "size": { + "0": 312.7987365722656, + "1": 167.1488494873047 + }, + "flags": { + "pinned": false + }, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "CONTEXT_OPTIONS", + "type": "CONTEXT_OPTIONS", + "links": [ + 460 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffUniformContextOptions" + }, + "widgets_values": [ + 16, + 1, + 0, + "uniform", + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 210, + "type": "PreviewImage", + "pos": [ + 371.3594861649727, + 829.1439936820697 + ], + "size": { + "0": 207.7262725830078, + "1": 246 + }, + "flags": { + "pinned": false + }, + "order": 57, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 407 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 378, + "type": "ImpactImageBatchToImageList", + "pos": [ + 2434.367428805024, + 830.156500632929 + ], + "size": { + "0": 210, + "1": 26 + }, + "flags": {}, + "order": 97, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 763 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 764 + ], + "shape": 6, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactImageBatchToImageList" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 550, + "type": "GetNode", + "pos": [ + 2308.367428805024, + -232.84349936707125 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1202 + ], + "slot_index": 0 + } + ], + "title": "Get_FPS", + "properties": {}, + "widgets_values": [ + "FPS" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 558, + "type": "GetNode", + "pos": [ + 113.44335664226793, + 1255.3533808427142 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 4, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1210 + ], + "slot_index": 0 + } + ], + "title": "Get_START_AT_FRAME", + "properties": {}, + "widgets_values": [ + "START_AT_FRAME" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 563, + "type": "GetNode", + "pos": [ + 1370, + 530 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 5, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1216 + ], + "slot_index": 0 + } + ], + "title": "Get_HEIGHT", + "properties": {}, + "widgets_values": [ + "HEIGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 568, + "type": "GetNode", + "pos": [ + 76.24981772949786, + 337.8731673602444 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 6, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1224 + ], + "slot_index": 0 + } + ], + "title": "Get_SOURCE", + "properties": {}, + "widgets_values": [ + "SOURCE" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 573, + "type": "GetNode", + "pos": [ + 75.24981772949786, + 311.8731673602444 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 7, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1232 + ], + "slot_index": 0 + } + ], + "title": "Get_IPA", + "properties": {}, + "widgets_values": [ + "IPA" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 567, + "type": "GetNode", + "pos": [ + 970, + 630 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 8, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1222 + ], + "slot_index": 0 + } + ], + "title": "Get_WIDTH", + "properties": {}, + "widgets_values": [ + "WIDTH" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 559, + "type": "SetNode", + "pos": [ + 372.3594861649727, + 1183.1439936820698 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": {}, + "order": 75, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "link": 1219 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_SOURCE", + "properties": { + "previousName": "SOURCE" + }, + "widgets_values": [ + "SOURCE" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 554, + "type": "GetNode", + "pos": [ + 92.35948616497312, + 690.1439936820694 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 9, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1206 + ], + "slot_index": 0 + } + ], + "title": "Get_FPS", + "properties": {}, + "widgets_values": [ + "FPS" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 553, + "type": "GetNode", + "pos": [ + 91.35948616497312, + 673.1439936820694 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 10, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1205 + ], + "slot_index": 0 + } + ], + "title": "Get_FRAMES_LENGHT", + "properties": {}, + "widgets_values": [ + "FRAMES_LENGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 557, + "type": "GetNode", + "pos": [ + 95.35948616497312, + 645.1439936820692 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 11, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1209 + ], + "slot_index": 0 + } + ], + "title": "Get_START_AT_FRAME", + "properties": {}, + "widgets_values": [ + "START_AT_FRAME" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 570, + "type": "SetNode", + "pos": [ + 1.2498177294978623, + 161.87316736024428 + ], + "size": { + "0": 295.9446105957031, + "1": 60.68159103393555 + }, + "flags": { + "collapsed": true + }, + "order": 67, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "link": 1237 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_IPA", + "properties": { + "previousName": "IPA" + }, + "widgets_values": [ + "IPA" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 549, + "type": "GetNode", + "pos": [ + -255.75018227050205, + 182.87316736024428 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 12, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1200 + ], + "slot_index": 0 + } + ], + "title": "Get_FRAMES_LENGHT", + "properties": {}, + "widgets_values": [ + "FRAMES_LENGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 325, + "type": "Int To Number (mtb)", + "pos": [ + 123.44335664226773, + 1225.3533808427142 + ], + "size": { + "0": 256.31036376953125, + "1": 49.48727035522461 + }, + "flags": { + "collapsed": true + }, + "order": 42, + "mode": 0, + "inputs": [ + { + "name": "int", + "type": "INT", + "link": 1207, + "widget": { + "name": "int" + } + } + ], + "outputs": [ + { + "name": "NUMBER", + "type": "NUMBER", + "links": [ + 663 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Int To Number (mtb)" + }, + "widgets_values": [ + 0 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 326, + "type": "CM_NumberToFloat", + "pos": [ + 143.44335664226762, + 1235.3533808427142 + ], + "size": { + "0": 253.34231567382812, + "1": 26 + }, + "flags": { + "collapsed": true + }, + "order": 59, + "mode": 0, + "inputs": [ + { + "name": "a", + "type": "NUMBER", + "link": 663 + } + ], + "outputs": [ + { + "name": "FLOAT", + "type": "FLOAT", + "links": [ + 664 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CM_NumberToFloat" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 555, + "type": "GetNode", + "pos": [ + 143.44335664226762, + 1205.3533808427142 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 13, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1207 + ], + "slot_index": 0 + } + ], + "title": "Get_FPS", + "properties": {}, + "widgets_values": [ + "FPS" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 139, + "type": "CR Integer Multiple", + "pos": [ + 103.4433566422679, + 1195.3533808427142 + ], + "size": { + "0": 255.34231567382812, + "1": 76.247314453125 + }, + "flags": { + "pinned": false + }, + "order": 71, + "mode": 4, + "inputs": [ + { + "name": "integer", + "type": "INT", + "link": 1210, + "widget": { + "name": "integer" + } + }, + { + "name": "multiple", + "type": "FLOAT", + "link": 664, + "widget": { + "name": "multiple" + } + } + ], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [], + "shape": 3, + "slot_index": 0 + }, + { + "name": "show_help", + "type": "STRING", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CR Integer Multiple" + }, + "widgets_values": [ + 1, + 12 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 566, + "type": "GetNode", + "pos": [ + 970, + 650 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 14, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1223 + ], + "slot_index": 0 + } + ], + "title": "Get_HEIGHT", + "properties": {}, + "widgets_values": [ + "HEIGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 207, + "type": "VHS_LoadVideo", + "pos": [ + 113.53499659152834, + 635.3935179941464 + ], + "size": [ + 245.1999969482422, + 389.1999969482422 + ], + "flags": { + "pinned": false + }, + "order": 41, + "mode": 0, + "inputs": [ + { + "name": "skip_first_frames", + "type": "INT", + "link": 1209, + "widget": { + "name": "skip_first_frames" + } + }, + { + "name": "frame_load_cap", + "type": "INT", + "link": 1205, + "widget": { + "name": "frame_load_cap" + } + }, + { + "name": "force_rate", + "type": "INT", + "link": 1206, + "widget": { + "name": "force_rate" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 407, + 1091 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "frame_count", + "type": "INT", + "links": [], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "VHS_LoadVideo" + }, + "widgets_values": { + "video": "kawaii.mp4", + "force_rate": 0, + "force_size": "Disabled", + "custom_width": 512, + "custom_height": 512, + "frame_load_cap": 29, + "skip_first_frames": 2, + "select_every_nth": 1, + "choose video to upload": "image", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "kawaii.mp4", + "type": "input", + "format": "video" + } + } + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 551, + "type": "GetNode", + "pos": [ + 970, + 610 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 15, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1203 + ], + "slot_index": 0 + } + ], + "title": "Get_FRAMES_LENGHT", + "properties": {}, + "widgets_values": [ + "FRAMES_LENGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 548, + "type": "SetNode", + "pos": [ + 932, + -159 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 54, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1201, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_FPS", + "properties": { + "previousName": "FPS" + }, + "widgets_values": [ + "FPS" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 547, + "type": "SetNode", + "pos": [ + 671, + -159 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 53, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1199 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null, + "slot_index": 0 + } + ], + "title": "Set_FRAMES_LENGHT", + "properties": { + "previousName": "FRAMES_LENGHT" + }, + "widgets_values": [ + "FRAMES_LENGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 556, + "type": "SetNode", + "pos": [ + 1129, + -157 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 44, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1208, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_START_AT_FRAME", + "properties": { + "previousName": "START_AT_FRAME" + }, + "widgets_values": [ + "START_AT_FRAME" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 133, + "type": "INTConstant", + "pos": [ + 1112, + -233 + ], + "size": { + "0": 241.67308044433594, + "1": 58 + }, + "flags": { + "pinned": false + }, + "order": 16, + "mode": 0, + "outputs": [ + { + "name": "value", + "type": "INT", + "links": [ + 1208 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "START_AT_FRAME", + "properties": { + "Node name for S&R": "INTConstant" + }, + "widgets_values": [ + 0 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 571, + "type": "GetNode", + "pos": [ + 970, + 520 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 17, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1228 + ], + "slot_index": 0 + } + ], + "title": "Get_TARGET", + "properties": {}, + "widgets_values": [ + "TARGET" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 205, + "type": "CLIPSetLastLayer", + "pos": [ + 634, + -108 + ], + "size": { + "0": 363.7767333984375, + "1": 58 + }, + "flags": { + "pinned": false + }, + "order": 78, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 1073 + } + ], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 397, + 783 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPSetLastLayer" + }, + "widgets_values": [ + -2 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 174, + "type": "CLIPTextEncode", + "pos": [ + 1016, + 194 + ], + "size": { + "0": 339.0763244628906, + "1": 254.40234375 + }, + "flags": { + "pinned": false + }, + "order": 81, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 397 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 695 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Negative (Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 492, + "type": "CR Apply LoRA Stack", + "pos": [ + 634, + 212 + ], + "size": { + "0": 363.7767333984375, + "1": 70.76676177978516 + }, + "flags": {}, + "order": 76, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1247 + }, + { + "name": "clip", + "type": "CLIP", + "link": 1081 + }, + { + "name": "lora_stack", + "type": "LORA_STACK", + "link": 1067, + "slot_index": 2 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1366 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 1073 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "show_help", + "type": "STRING", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CR Apply LoRA Stack" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 377, + "type": "PreviewImage", + "pos": [ + 2427, + 907 + ], + "size": { + "0": 757.2676391601562, + "1": 463.6035461425781 + }, + "flags": {}, + "order": 98, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 764 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 251, + "type": "EmptyLatentImage", + "pos": [ + 1000, + 583 + ], + "size": { + "0": 348.422119140625, + "1": 74 + }, + "flags": { + "pinned": false, + "collapsed": false + }, + "order": 43, + "mode": 0, + "inputs": [ + { + "name": "batch_size", + "type": "INT", + "link": 1203, + "widget": { + "name": "batch_size" + } + }, + { + "name": "width", + "type": "INT", + "link": 1222, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 1223, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 1374 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 512, + 12 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 574, + "type": "GetNode", + "pos": [ + 33, + -179 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 18, + "mode": 4, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1236 + ], + "slot_index": 0 + } + ], + "title": "Get_IPA", + "properties": {}, + "widgets_values": [ + "IPA" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 257, + "type": "VHS_VideoCombine", + "pos": [ + 1440, + 1440 + ], + "size": [ + 275.76013916015563, + 495.76013916015563 + ], + "flags": { + "pinned": false + }, + "order": 73, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 539 + }, + { + "name": "frame_rate", + "type": "INT", + "link": 1217, + "widget": { + "name": "frame_rate" + } + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 8, + "loop_count": 0, + "filename_prefix": "AnimateDiff", + "format": "image/gif", + "pingpong": false, + "save_image": false, + "crf": 20, + "save_metadata": false, + "audio_file": "", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "AnimateDiff_00071.gif", + "subfolder": "", + "type": "temp", + "format": "image/gif" + } + } + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 565, + "type": "GetNode", + "pos": [ + 1375, + 1355 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 19, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1217 + ], + "slot_index": 0 + } + ], + "title": "Get_FPS", + "properties": {}, + "widgets_values": [ + "FPS" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 153, + "type": "AIO_Preprocessor", + "pos": [ + 1390, + 610 + ], + "size": { + "0": 355.3140563964844, + "1": 78 + }, + "flags": { + "pinned": false + }, + "order": 63, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1221, + "slot_index": 0 + }, + { + "name": "resolution", + "type": "INT", + "link": 419, + "widget": { + "name": "resolution" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 539, + 594 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "AIO_Preprocessor" + }, + "widgets_values": [ + "LineArtPreprocessor", + 512 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 206, + "type": "ImageResize+", + "pos": [ + 370, + 629 + ], + "size": { + "0": 210, + "1": 170 + }, + "flags": { + "pinned": false + }, + "order": 58, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1091 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1343 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "width", + "type": "INT", + "links": [ + 1213 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "height", + "type": "INT", + "links": [ + 1214 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "ImageResize+" + }, + "widgets_values": [ + 512, + 512, + "nearest", + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 582, + "type": "PrepImageForClipVision", + "pos": [ + -135, + 1207 + ], + "size": { + "0": 243.60000610351562, + "1": 106 + }, + "flags": { + "collapsed": true + }, + "order": 60, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1386 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1248 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "PrepImageForClipVision" + }, + "widgets_values": [ + "NEAREST", + "center", + 0.16 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 288, + "type": "LoadImage", + "pos": [ + -146.64051383502706, + 635.1439936820692 + ], + "size": { + "0": 241.4023895263672, + "1": 319.97314453125 + }, + "flags": {}, + "order": 20, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1385 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "IPA_TARGET", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "asuka.png", + "image" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 561, + "type": "SetNode", + "pos": [ + 480, + 670 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 69, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1213 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_WIDTH", + "properties": { + "previousName": "WIDTH" + }, + "widgets_values": [ + "WIDTH" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 562, + "type": "SetNode", + "pos": [ + 480, + 690 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 70, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1214 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_HEIGHT", + "properties": { + "previousName": "HEIGHT" + }, + "widgets_values": [ + "HEIGHT" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 613, + "type": "SetNode", + "pos": [ + -24, + 1022 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 61, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1387 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_WIDTH", + "properties": { + "previousName": "" + }, + "widgets_values": [ + "WIDTH_0" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 614, + "type": "SetNode", + "pos": [ + -30, + 1058 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 62, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "INT", + "link": 1388 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null + } + ], + "title": "Set_HEIGHT", + "properties": { + "previousName": "" + }, + "widgets_values": [ + "HEIGHT_0" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 612, + "type": "ImageResize+", + "pos": [ + -127, + 991 + ], + "size": { + "0": 210, + "1": 170 + }, + "flags": { + "pinned": false + }, + "order": 45, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1385 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1386 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "width", + "type": "INT", + "links": [ + 1387 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "height", + "type": "INT", + "links": [ + 1388 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "ImageResize+" + }, + "widgets_values": [ + 512, + 512, + "nearest", + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 616, + "type": "GetNode", + "pos": [ + 1367, + 769 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 21, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1390 + ], + "slot_index": 0 + } + ], + "title": "Get_WIDTH_0", + "properties": {}, + "widgets_values": [ + "WIDTH_0" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 617, + "type": "GetNode", + "pos": [ + 1368, + 794 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 22, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1389 + ], + "slot_index": 0 + } + ], + "title": "Get_HEIGHT_0", + "properties": {}, + "widgets_values": [ + "HEIGHT_0" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 584, + "type": "ScaledSoftControlNetWeights", + "pos": [ + 1397, + 1274 + ], + "size": { + "0": 334.8016052246094, + "1": 116.55747985839844 + }, + "flags": {}, + "order": 23, + "mode": 0, + "outputs": [ + { + "name": "CN_WEIGHTS", + "type": "CONTROL_NET_WEIGHTS", + "links": null, + "shape": 3 + }, + { + "name": "TK_SHORTCUT", + "type": "TIMESTEP_KEYFRAME", + "links": [ + 1364, + 1375 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ScaledSoftControlNetWeights" + }, + "widgets_values": [ + 0.9500000000000001, + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 160, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 1390, + 985 + ], + "size": { + "0": 355.3140563964844, + "1": 58.9211540222168 + }, + "flags": { + "pinned": false + }, + "order": 46, + "mode": 0, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": 1364 + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 570 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "controlnet_checkpoint.ckpt" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 608, + "type": "AIO_Preprocessor", + "pos": [ + 1390, + 860 + ], + "size": { + "0": 355.3140563964844, + "1": 78 + }, + "flags": { + "pinned": false + }, + "order": 64, + "mode": 4, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1395, + "slot_index": 0 + }, + { + "name": "resolution", + "type": "INT", + "link": 1394, + "widget": { + "name": "resolution" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1383 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "AIO_Preprocessor" + }, + "widgets_values": [ + "OpenposePreprocessor", + 512 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 609, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 1390, + 1180 + ], + "size": { + "0": 355.3140563964844, + "1": 58.9211540222168 + }, + "flags": { + "pinned": false + }, + "order": 24, + "mode": 4, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": null, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 1382 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "control_v11p_sd15_openpose_fp16.safetensors" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 564, + "type": "GetNode", + "pos": [ + 1370, + 495 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": false + }, + "order": 25, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 1215 + ], + "slot_index": 0 + } + ], + "title": "Get_WIDTH", + "properties": {}, + "widgets_values": [ + "WIDTH" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 560, + "type": "GetNode", + "pos": [ + 1370, + 478 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": false + }, + "order": 26, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1212, + 1221, + 1377, + 1395 + ], + "slot_index": 0 + } + ], + "title": "Get_SOURCE", + "properties": {}, + "widgets_values": [ + "SOURCE" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 605, + "type": "GetNode", + "pos": [ + 980, + 730 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 27, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1361 + ], + "slot_index": 0 + } + ], + "title": "Get_SOURCE", + "properties": {}, + "widgets_values": [ + "SOURCE" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 603, + "type": "ReferenceOnlySimple", + "pos": [ + 635, + 316 + ], + "size": [ + 360.34457801513713, + 78.8469888244631 + ], + "flags": {}, + "order": 77, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1366 + }, + { + "name": "reference", + "type": "LATENT", + "link": 1367 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1369 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 1372 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ReferenceOnlySimple" + }, + "widgets_values": [ + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 493, + "type": "CR LoRA Stack", + "pos": [ + 639, + 429 + ], + "size": [ + 331.83168726135204, + 342 + ], + "flags": {}, + "order": 28, + "mode": 0, + "inputs": [ + { + "name": "lora_stack", + "type": "LORA_STACK", + "link": null + } + ], + "outputs": [ + { + "name": "LORA_STACK", + "type": "LORA_STACK", + "links": [ + 1067 + ], + "shape": 3 + }, + { + "name": "show_help", + "type": "STRING", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CR LoRA Stack" + }, + "widgets_values": [ + "Off", + "None", + 1, + 1, + "Off", + "None", + 1, + 1, + "Off", + "None", + 1, + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 604, + "type": "VAEEncode", + "pos": [ + 1010, + 707 + ], + "size": [ + 335.42729479980517, + 46 + ], + "flags": { + "collapsed": false + }, + "order": 52, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 1361, + "slot_index": 0 + }, + { + "name": "vae", + "type": "VAE", + "link": 1405, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [], + "shape": 3, + "slot_index": 0 + } + ], + "title": "LATENTS FROM SOURCE", + "properties": { + "Node name for S&R": "VAEEncode" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 311, + "type": "VAEEncode", + "pos": [ + 1000, + 490 + ], + "size": { + "0": 346.9309997558594, + "1": 49.4826774597168 + }, + "flags": { + "collapsed": false + }, + "order": 51, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 1228, + "slot_index": 0 + }, + { + "name": "vae", + "type": "VAE", + "link": 1404, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 1367 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "LATENT FROM TARGET", + "properties": { + "Node name for S&R": "VAEEncode" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 290, + "type": "ImageRepeat", + "pos": [ + -234.75018227050214, + 127.87316736024428 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": { + "collapsed": false + }, + "order": 55, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 1396, + "slot_index": 0 + }, + { + "name": "amount", + "type": "INT", + "link": 1200, + "widget": { + "name": "amount" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 659, + 1237 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageRepeat" + }, + "widgets_values": [ + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 321, + "type": "PreviewImage", + "pos": [ + -230, + 219 + ], + "size": { + "0": 304.40570068359375, + "1": 312.7468566894531 + }, + "flags": {}, + "order": 66, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 659 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 569, + "type": "SetNode", + "pos": [ + -128, + 1258 + ], + "size": { + "0": 238.9707794189453, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 72, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "link": 1248 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": null, + "slot_index": 0 + } + ], + "title": "Set_TARGET", + "properties": { + "previousName": "TARGET" + }, + "widgets_values": [ + "TARGET" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 610, + "type": "ControlNetApplyAdvanced", + "pos": [ + 1384, + -225 + ], + "size": { + "0": 362.8931884765625, + "1": 166 + }, + "flags": { + "pinned": false + }, + "order": 90, + "mode": 4, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 1380 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 1381, + "slot_index": 1 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 1382, + "slot_index": 2 + }, + { + "name": "image", + "type": "IMAGE", + "link": 1383 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 1378 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 1379 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ControlNetApplyAdvanced" + }, + "widgets_values": [ + 0.6, + 0, + 0.85 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 292, + "type": "LoadImage", + "pos": [ + -220, + -230 + ], + "size": { + "0": 246.426025390625, + "1": 314 + }, + "flags": {}, + "order": 29, + "mode": 4, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null, + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 1376 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "clipspace/clipspace-mask-2968672.4.png [input]", + "image" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 296, + "type": "IPAdapterEncoder", + "pos": [ + 110, + -230 + ], + "size": { + "0": 245.75845336914062, + "1": 258 + }, + "flags": {}, + "order": 50, + "mode": 4, + "inputs": [ + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 615 + }, + { + "name": "image_1", + "type": "IMAGE", + "link": 1236, + "slot_index": 1 + }, + { + "name": "image_2", + "type": "IMAGE", + "link": null + }, + { + "name": "image_3", + "type": "IMAGE", + "link": null + }, + { + "name": "image_4", + "type": "IMAGE", + "link": null + } + ], + "outputs": [ + { + "name": "EMBEDS", + "type": "EMBEDS", + "links": [ + 612 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterEncoder" + }, + "widgets_values": [ + true, + 0.2, + 1, + 0, + 0, + 0 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 293, + "type": "IPAdapterModelLoader", + "pos": [ + 370, + -230 + ], + "size": { + "0": 240.8034210205078, + "1": 61.480037689208984 + }, + "flags": {}, + "order": 30, + "mode": 4, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 611 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter-full-face_sd15.safetensors" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 295, + "type": "IPAdapterApplyEncoded", + "pos": [ + 370, + -130 + ], + "size": { + "0": 240, + "1": 214 + }, + "flags": {}, + "order": 74, + "mode": 4, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 611 + }, + { + "name": "embeds", + "type": "EMBEDS", + "link": 612 + }, + { + "name": "model", + "type": "MODEL", + "link": 613 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": 1376 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1247 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApplyEncoded" + }, + "widgets_values": [ + 0.86, + "original", + 0, + 1, + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 317, + "type": "VAELoader", + "pos": [ + 633, + 120 + ], + "size": { + "0": 363.8878479003906, + "1": 58 + }, + "flags": {}, + "order": 31, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "taesdxl" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 276, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 1390, + 1080 + ], + "size": { + "0": 355.3140563964844, + "1": 58.9211540222168 + }, + "flags": { + "pinned": false + }, + "order": 47, + "mode": 0, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": 1375, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 571 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "control_v11p_sd15s2_lineart_anime_fp16.safetensors" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 530, + "type": "SamplerCustom", + "pos": [ + 1781, + 157 + ], + "size": { + "0": 236.8000030517578, + "1": 378.39703369140625 + }, + "flags": { + "pinned": false + }, + "order": 93, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1296 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 1378 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 1379 + }, + { + "name": "sampler", + "type": "SAMPLER", + "link": 1407, + "slot_index": 3 + }, + { + "name": "sigmas", + "type": "SIGMAS", + "link": 1256, + "slot_index": 4 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 1370, + "slot_index": 5 + } + ], + "outputs": [ + { + "name": "output", + "type": "LATENT", + "links": null, + "shape": 3 + }, + { + "name": "denoised_output", + "type": "LATENT", + "links": [ + 1316 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "SamplerCustom" + }, + "widgets_values": [ + false, + 37, + "fixed", + 2.02 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 285, + "type": "CLIPVisionLoader", + "pos": [ + 360.24981772949786, + 127.87316736024428 + ], + "size": { + "0": 250, + "1": 60 + }, + "flags": {}, + "order": 32, + "mode": 0, + "outputs": [ + { + "name": "CLIP_VISION", + "type": "CLIP_VISION", + "links": [ + 605, + 615 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPVisionLoader" + }, + "widgets_values": [ + "SD15.safetensors" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 284, + "type": "IPAdapterModelLoader", + "pos": [ + 359.24981772949786, + 222.87316736024428 + ], + "size": { + "0": 249.70506286621094, + "1": 58 + }, + "flags": {}, + "order": 33, + "mode": 0, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 603 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter-plus_sd15.safetensors" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 287, + "type": "IPAdapterEncoder", + "pos": [ + 100, + 268 + ], + "size": { + "0": 245.75845336914062, + "1": 258 + }, + "flags": {}, + "order": 49, + "mode": 0, + "inputs": [ + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 605 + }, + { + "name": "image_1", + "type": "IMAGE", + "link": 1232, + "slot_index": 1 + }, + { + "name": "image_2", + "type": "IMAGE", + "link": 1224 + }, + { + "name": "image_3", + "type": "IMAGE", + "link": null + }, + { + "name": "image_4", + "type": "IMAGE", + "link": null + } + ], + "outputs": [ + { + "name": "EMBEDS", + "type": "EMBEDS", + "links": [ + 604 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterEncoder" + }, + "widgets_values": [ + true, + 0.33, + 1, + 0, + 0, + 0 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 196, + "type": "CheckpointLoaderSimple", + "pos": [ + 633, + -13 + ], + "size": { + "0": 362.59368896484375, + "1": 99.3703384399414 + }, + "flags": { + "pinned": false + }, + "order": 34, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1300 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 1081 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 1403, + 1404, + 1405 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "ComfyUI_00001_.safetensors" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 275, + "type": "ACN_AdvancedControlNetApply", + "pos": [ + 1389, + 193 + ], + "size": { + "0": 358.52423095703125, + "1": 246 + }, + "flags": { + "collapsed": false + }, + "order": 85, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 694 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 695 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 570 + }, + { + "name": "image", + "type": "IMAGE", + "link": 1212 + }, + { + "name": "mask_optional", + "type": "MASK", + "link": null + }, + { + "name": "timestep_kf", + "type": "TIMESTEP_KEYFRAME", + "link": null + }, + { + "name": "latent_kf_override", + "type": "LATENT_KEYFRAME", + "link": null + }, + { + "name": "weights_override", + "type": "CONTROL_NET_WEIGHTS", + "link": null + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 572 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 573 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ACN_AdvancedControlNetApply" + }, + "widgets_values": [ + 0.8, + 0, + 0.9 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 186, + "type": "PixelPerfectResolution", + "pos": [ + 1390, + 478 + ], + "size": { + "0": 355.3140563964844, + "1": 99.18527221679688 + }, + "flags": { + "pinned": false + }, + "order": 48, + "mode": 0, + "inputs": [ + { + "name": "original_image", + "type": "IMAGE", + "link": 1377, + "slot_index": 0 + }, + { + "name": "image_gen_width", + "type": "INT", + "link": 1215, + "widget": { + "name": "image_gen_width" + }, + "slot_index": 1 + }, + { + "name": "image_gen_height", + "type": "INT", + "link": 1216, + "widget": { + "name": "image_gen_height" + } + } + ], + "outputs": [ + { + "name": "RESOLUTION (INT)", + "type": "INT", + "links": [ + 419, + 1394 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "PixelPerfectResolution" + }, + "widgets_values": [ + 512, + 512, + "Just Resize" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 121, + "type": "VAEDecode", + "pos": [ + 1782, + 578 + ], + "size": { + "0": 234.6910858154297, + "1": 46 + }, + "flags": { + "pinned": false + }, + "order": 94, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 1316 + }, + { + "name": "vae", + "type": "VAE", + "link": 1403, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1118 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 240, + "type": "NNLatentUpscale", + "pos": [ + 1019, + 920 + ], + "size": { + "0": 324.4822082519531, + "1": 82 + }, + "flags": { + "pinned": false + }, + "order": 87, + "mode": 4, + "inputs": [ + { + "name": "latent", + "type": "LATENT", + "link": 1193, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 1370 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "NNLatentUpscale" + }, + "widgets_values": [ + "SD 1.x", + 1.5 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 532, + "type": "SplitSigmas", + "pos": [ + 1779, + -106 + ], + "size": { + "0": 240.29710388183594, + "1": 78 + }, + "flags": { + "pinned": false + }, + "order": 92, + "mode": 0, + "inputs": [ + { + "name": "sigmas", + "type": "SIGMAS", + "link": 1408 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [], + "shape": 3 + }, + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 1256 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "SplitSigmas" + }, + "widgets_values": [ + 8 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 282, + "type": "PrepImageForClipVision", + "pos": [ + 113, + 1057 + ], + "size": { + "0": 243.60000610351562, + "1": 106 + }, + "flags": { + "collapsed": false + }, + "order": 68, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1343 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1219 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "PrepImageForClipVision" + }, + "widgets_values": [ + "LANCZOS", + "center", + 0.16 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 516, + "type": "LatentBlend", + "pos": [ + 1006, + 797 + ], + "size": [ + 337.2794486779785, + 78 + ], + "flags": { + "collapsed": false + }, + "order": 84, + "mode": 0, + "inputs": [ + { + "name": "samples1", + "type": "LATENT", + "link": 1374 + }, + { + "name": "samples2", + "type": "LATENT", + "link": 1371 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 1193 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LatentBlend" + }, + "widgets_values": [ + 0.9 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 173, + "type": "CLIPTextEncode", + "pos": [ + 1011, + -105 + ], + "size": { + "0": 344.0763244628906, + "1": 259.9907531738281 + }, + "flags": { + "pinned": false + }, + "order": 82, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 783, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 694 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Positive (Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "blue eyes" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 154, + "type": "INTConstant", + "pos": [ + 640, + -235 + ], + "size": { + "0": 243.9053955078125, + "1": 58 + }, + "flags": { + "pinned": false + }, + "order": 35, + "mode": 0, + "outputs": [ + { + "name": "value", + "type": "INT", + "links": [ + 1199 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Frames_lenght", + "properties": { + "Node name for S&R": "INTConstant" + }, + "widgets_values": [ + 44 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 67, + "type": "VHS_VideoCombine", + "pos": [ + 2438.230148798039, + -224.7209739287255 + ], + "size": [ + 763.8767700195312, + 983.8767700195312 + ], + "flags": { + "pinned": false + }, + "order": 96, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 132 + }, + { + "name": "frame_rate", + "type": "INT", + "link": 1202, + "widget": { + "name": "frame_rate" + } + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 6, + "loop_count": 0, + "filename_prefix": "IF_ANIMATOR", + "format": "video/h264-mp4", + "pingpong": false, + "save_image": true, + "crf": 20, + "save_metadata": true, + "audio_file": "", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "IF_ANIMATOR_00008.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4" + } + } + }, + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 618, + "type": "PatchModelAddDownscale", + "pos": [ + 1346, + -787 + ], + "size": { + "0": 315, + "1": 202 + }, + "flags": {}, + "order": 86, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1417 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1415 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "PatchModelAddDownscale" + }, + "widgets_values": [ + 3, + 2, + 0, + 0.35, + true, + "nearest-exact", + "nearest-exact" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 227, + "type": "ADE_AnimateDiffLoaderWithContext", + "pos": [ + 1003.7679911328123, + -635 + ], + "size": { + "0": 315, + "1": 190 + }, + "flags": { + "pinned": false + }, + "order": 79, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1369 + }, + { + "name": "context_options", + "type": "CONTEXT_OPTIONS", + "link": 460 + }, + { + "name": "motion_lora", + "type": "MOTION_LORA", + "link": 461, + "slot_index": 2 + }, + { + "name": "motion_model_settings", + "type": "MOTION_MODEL_SETTINGS", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1416 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoaderWithContext" + }, + "widgets_values": [ + "mm_sd_v15_v2.fp16.safetensors", + "sqrt_linear (AnimateDiff)", + 1, + true + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 620, + "type": "HyperTile", + "pos": [ + 1345, + -962 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 83, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1416 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1417 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "HyperTile" + }, + "widgets_values": [ + 256, + 2, + 0, + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 66, + "type": "RIFE VFI", + "pos": [ + 2064, + -225 + ], + "size": { + "0": 354.539306640625, + "1": 198 + }, + "flags": { + "pinned": false + }, + "order": 95, + "mode": 4, + "inputs": [ + { + "name": "frames", + "type": "IMAGE", + "link": 1118, + "slot_index": 0 + }, + { + "name": "optional_interpolation_states", + "type": "INTERPOLATION_STATES", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 132, + 763 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "RIFE VFI" + }, + "widgets_values": [ + "rife40.pth", + 10, + 2, + true, + true, + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 159, + "type": "ControlNetApplyAdvanced", + "pos": [ + 1385, + -11 + ], + "size": { + "0": 362.8931884765625, + "1": 166 + }, + "flags": { + "pinned": false + }, + "order": 88, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 572 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 573, + "slot_index": 1 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 571, + "slot_index": 2 + }, + { + "name": "image", + "type": "IMAGE", + "link": 594 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 1380 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 1381 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ControlNetApplyAdvanced" + }, + "widgets_values": [ + 0.8, + 0, + 0.9 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 283, + "type": "INTConstant", + "pos": [ + 894, + -236 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "pinned": false + }, + "order": 36, + "mode": 0, + "outputs": [ + { + "name": "value", + "type": "INT", + "links": [ + 1201 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "FPS", + "properties": { + "Node name for S&R": "INTConstant" + }, + "widgets_values": [ + 8 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 286, + "type": "IPAdapterApplyEncoded", + "pos": [ + 358.0579358798864, + 314.0760092856197 + ], + "size": { + "0": 250, + "1": 214 + }, + "flags": {}, + "order": 65, + "mode": 0, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 603 + }, + { + "name": "embeds", + "type": "EMBEDS", + "link": 604 + }, + { + "name": "model", + "type": "MODEL", + "link": 1300 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 613 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApplyEncoded" + }, + "widgets_values": [ + 1.3, + "channel penalty", + 0, + 0.97, + true + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 513, + "type": "LatentFromBatch", + "pos": [ + 654, + 816 + ], + "size": [ + 311.9963269042962, + 82 + ], + "flags": { + "collapsed": false + }, + "order": 80, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 1372 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 1371 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LatentFromBatch" + }, + "widgets_values": [ + 1, + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 204, + "type": "ModelSamplingDiscrete", + "pos": [ + 1338, + -536 + ], + "size": { + "0": 349.71295166015625, + "1": 83.03443908691406 + }, + "flags": { + "pinned": false + }, + "order": 89, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1415, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1296, + 1406 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ModelSamplingDiscrete" + }, + "widgets_values": [ + "lcm", + false + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 531, + "type": "SamplerLCMAlternative", + "pos": [ + 1782, + 9 + ], + "size": { + "0": 240.72164916992188, + "1": 106 + }, + "flags": { + "pinned": false + }, + "order": 37, + "mode": 0, + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 1407 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SamplerLCMAlternative" + }, + "widgets_values": [ + 18, + 0, + 1 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 583, + "type": "BasicScheduler", + "pos": [ + 1772, + -226 + ], + "size": { + "0": 258.7238464355469, + "1": 82 + }, + "flags": {}, + "order": 91, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1406 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 1408 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "sgm_uniform", + 22 + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 572, + "type": "GetNode", + "pos": [ + -256, + 154 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 38, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1396 + ], + "slot_index": 0 + } + ], + "title": "Get_TARGET", + "properties": {}, + "widgets_values": [ + "TARGET" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 621, + "type": "GetNode", + "pos": [ + 1358, + 718 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 39, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1418 + ], + "slot_index": 0 + } + ], + "title": "Get_TARGET", + "properties": {}, + "widgets_values": [ + "TARGET" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + }, + { + "id": 615, + "type": "PixelPerfectResolution", + "pos": [ + 1387, + 727 + ], + "size": { + "0": 355.3140563964844, + "1": 99.18527221679688 + }, + "flags": { + "pinned": false + }, + "order": 56, + "mode": 4, + "inputs": [ + { + "name": "original_image", + "type": "IMAGE", + "link": 1418, + "slot_index": 0 + }, + { + "name": "image_gen_width", + "type": "INT", + "link": 1390, + "widget": { + "name": "image_gen_width" + }, + "slot_index": 1 + }, + { + "name": "image_gen_height", + "type": "INT", + "link": 1389, + "widget": { + "name": "image_gen_height" + } + } + ], + "outputs": [ + { + "name": "RESOLUTION (INT)", + "type": "INT", + "links": [], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "PixelPerfectResolution" + }, + "widgets_values": [ + 512, + 512, + "Just Resize" + ], + "color": "#393939", + "bgcolor": "#4d4d4d" + } + ], + "links": [ + [ + 132, + 66, + 0, + 67, + 0, + "IMAGE" + ], + [ + 397, + 205, + 0, + 174, + 0, + "CLIP" + ], + [ + 407, + 207, + 0, + 210, + 0, + "IMAGE" + ], + [ + 419, + 186, + 0, + 153, + 1, + "INT" + ], + [ + 460, + 226, + 0, + 227, + 1, + "CONTEXT_OPTIONS" + ], + [ + 461, + 228, + 0, + 227, + 2, + "MOTION_LORA" + ], + [ + 462, + 229, + 0, + 228, + 0, + "MOTION_LORA" + ], + [ + 539, + 153, + 0, + 257, + 0, + "IMAGE" + ], + [ + 570, + 160, + 0, + 275, + 2, + "CONTROL_NET" + ], + [ + 571, + 276, + 0, + 159, + 2, + "CONTROL_NET" + ], + [ + 572, + 275, + 0, + 159, + 0, + "CONDITIONING" + ], + [ + 573, + 275, + 1, + 159, + 1, + "CONDITIONING" + ], + [ + 576, + 204, + 0, + 202, + 0, + "MODEL" + ], + [ + 577, + 204, + 0, + 200, + 0, + "MODEL" + ], + [ + 594, + 153, + 0, + 159, + 3, + "IMAGE" + ], + [ + 603, + 284, + 0, + 286, + 0, + "IPADAPTER" + ], + [ + 604, + 287, + 0, + 286, + 1, + "EMBEDS" + ], + [ + 605, + 285, + 0, + 287, + 0, + "CLIP_VISION" + ], + [ + 611, + 293, + 0, + 295, + 0, + "IPADAPTER" + ], + [ + 612, + 296, + 0, + 295, + 1, + "EMBEDS" + ], + [ + 613, + 286, + 0, + 295, + 2, + "MODEL" + ], + [ + 615, + 285, + 0, + 296, + 0, + "CLIP_VISION" + ], + [ + 651, + 196, + 2, + 121, + 1, + "VAE" + ], + [ + 652, + 196, + 2, + 311, + 1, + "VAE" + ], + [ + 653, + 310, + 0, + 227, + 0, + "MODEL" + ], + [ + 659, + 290, + 0, + 321, + 0, + "IMAGE" + ], + [ + 663, + 325, + 0, + 326, + 0, + "NUMBER" + ], + [ + 664, + 326, + 0, + 139, + 1, + "FLOAT" + ], + [ + 682, + 196, + 2, + 121, + 1, + "VAE" + ], + [ + 683, + 196, + 2, + 311, + 1, + "VAE" + ], + [ + 684, + 310, + 0, + 227, + 0, + "MODEL" + ], + [ + 685, + 196, + 2, + 121, + 1, + "VAE" + ], + [ + 686, + 196, + 2, + 311, + 1, + "VAE" + ], + [ + 687, + 310, + 0, + 227, + 0, + "MODEL" + ], + [ + 694, + 173, + 0, + 275, + 0, + "CONDITIONING" + ], + [ + 695, + 174, + 0, + 275, + 1, + "CONDITIONING" + ], + [ + 703, + 310, + 0, + 227, + 0, + "MODEL" + ], + [ + 736, + 310, + 0, + 227, + 0, + "MODEL" + ], + [ + 737, + 310, + 0, + 352, + 0, + "MODEL" + ], + [ + 738, + 346, + 0, + 121, + 1, + "VAE" + ], + [ + 739, + 360, + 0, + 240, + 0, + "LATENT" + ], + [ + 763, + 66, + 0, + 378, + 0, + "IMAGE" + ], + [ + 764, + 378, + 0, + 377, + 0, + "IMAGE" + ], + [ + 765, + 310, + 0, + 227, + 0, + "MODEL" + ], + [ + 766, + 310, + 0, + 352, + 0, + "MODEL" + ], + [ + 767, + 360, + 0, + 200, + 5, + "LATENT" + ], + [ + 768, + 346, + 0, + 121, + 1, + "VAE" + ], + [ + 783, + 205, + 0, + 173, + 0, + "CLIP" + ], + [ + 854, + 353, + 0, + 227, + 0, + "MODEL" + ], + [ + 855, + 353, + 0, + 352, + 0, + "MODEL" + ], + [ + 856, + 386, + 0, + 200, + 5, + "LATENT" + ], + [ + 857, + 346, + 0, + 121, + 1, + "VAE" + ], + [ + 858, + 346, + 0, + 398, + 1, + "VAE" + ], + [ + 859, + 386, + 0, + 397, + 3, + "LATENT" + ], + [ + 860, + 346, + 0, + 385, + 2, + "VAE" + ], + [ + 915, + 346, + 0, + 385, + 2, + "VAE" + ], + [ + 916, + 386, + 0, + 404, + 5, + "LATENT" + ], + [ + 917, + 346, + 0, + 405, + 1, + "VAE" + ], + [ + 918, + 386, + 0, + 200, + 5, + "LATENT" + ], + [ + 919, + 346, + 0, + 121, + 1, + "VAE" + ], + [ + 920, + 346, + 0, + 398, + 1, + "VAE" + ], + [ + 921, + 409, + 0, + 411, + 2, + "INT" + ], + [ + 922, + 362, + 0, + 346, + 2, + "INT" + ], + [ + 923, + 362, + 0, + 396, + 2, + "INT" + ], + [ + 924, + 362, + 0, + 357, + 2, + "INT" + ], + [ + 925, + 409, + 0, + 408, + 2, + "INT" + ], + [ + 926, + 353, + 0, + 352, + 0, + "MODEL" + ], + [ + 927, + 386, + 0, + 397, + 3, + "LATENT" + ], + [ + 928, + 362, + 0, + 390, + 2, + "INT" + ], + [ + 929, + 362, + 0, + 391, + 2, + "INT" + ], + [ + 930, + 353, + 0, + 227, + 0, + "MODEL" + ], + [ + 931, + 362, + 0, + 393, + 2, + "INT" + ], + [ + 932, + 362, + 0, + 348, + 2, + "INT" + ], + [ + 933, + 362, + 0, + 353, + 2, + "INT" + ], + [ + 934, + 362, + 0, + 386, + 2, + "INT" + ], + [ + 939, + 386, + 0, + 200, + 5, + "LATENT" + ], + [ + 940, + 346, + 0, + 121, + 1, + "VAE" + ], + [ + 941, + 362, + 0, + 346, + 2, + "INT" + ], + [ + 942, + 362, + 0, + 391, + 2, + "INT" + ], + [ + 943, + 362, + 0, + 393, + 2, + "INT" + ], + [ + 944, + 362, + 0, + 348, + 2, + "INT" + ], + [ + 945, + 362, + 0, + 353, + 2, + "INT" + ], + [ + 946, + 362, + 0, + 386, + 2, + "INT" + ], + [ + 947, + 353, + 0, + 227, + 0, + "MODEL" + ], + [ + 948, + 362, + 0, + 390, + 2, + "INT" + ], + [ + 949, + 346, + 0, + 385, + 2, + "VAE" + ], + [ + 950, + 362, + 0, + 396, + 2, + "INT" + ], + [ + 951, + 409, + 0, + 411, + 2, + "INT" + ], + [ + 952, + 386, + 0, + 404, + 5, + "LATENT" + ], + [ + 953, + 386, + 0, + 398, + 0, + "LATENT" + ], + [ + 954, + 346, + 0, + 398, + 1, + "VAE" + ], + [ + 955, + 346, + 0, + 405, + 1, + "VAE" + ], + [ + 956, + 353, + 0, + 352, + 0, + "MODEL" + ], + [ + 957, + 362, + 0, + 357, + 2, + "INT" + ], + [ + 958, + 409, + 0, + 408, + 2, + "INT" + ], + [ + 1067, + 493, + 0, + 492, + 2, + "LORA_STACK" + ], + [ + 1073, + 492, + 1, + 205, + 0, + "CLIP" + ], + [ + 1081, + 196, + 1, + 492, + 1, + "CLIP" + ], + [ + 1091, + 207, + 0, + 206, + 0, + "IMAGE" + ], + [ + 1118, + 121, + 0, + 66, + 0, + "IMAGE" + ], + [ + 1193, + 516, + 0, + 240, + 0, + "LATENT" + ], + [ + 1199, + 154, + 0, + 547, + 0, + "INT" + ], + [ + 1200, + 549, + 0, + 290, + 1, + "INT" + ], + [ + 1201, + 283, + 0, + 548, + 0, + "*" + ], + [ + 1202, + 550, + 0, + 67, + 1, + "INT" + ], + [ + 1203, + 551, + 0, + 251, + 0, + "INT" + ], + [ + 1205, + 553, + 0, + 207, + 1, + "INT" + ], + [ + 1206, + 554, + 0, + 207, + 2, + "INT" + ], + [ + 1207, + 555, + 0, + 325, + 0, + "INT" + ], + [ + 1208, + 133, + 0, + 556, + 0, + "*" + ], + [ + 1209, + 557, + 0, + 207, + 0, + "INT" + ], + [ + 1210, + 558, + 0, + 139, + 0, + "INT" + ], + [ + 1212, + 560, + 0, + 275, + 3, + "IMAGE" + ], + [ + 1213, + 206, + 1, + 561, + 0, + "*" + ], + [ + 1214, + 206, + 2, + 562, + 0, + "*" + ], + [ + 1215, + 564, + 0, + 186, + 1, + "INT" + ], + [ + 1216, + 563, + 0, + 186, + 2, + "INT" + ], + [ + 1217, + 565, + 0, + 257, + 1, + "INT" + ], + [ + 1219, + 282, + 0, + 559, + 0, + "IMAGE" + ], + [ + 1221, + 560, + 0, + 153, + 0, + "IMAGE" + ], + [ + 1222, + 567, + 0, + 251, + 1, + "INT" + ], + [ + 1223, + 566, + 0, + 251, + 2, + "INT" + ], + [ + 1224, + 568, + 0, + 287, + 2, + "IMAGE" + ], + [ + 1228, + 571, + 0, + 311, + 0, + "IMAGE" + ], + [ + 1232, + 573, + 0, + 287, + 1, + "IMAGE" + ], + [ + 1236, + 574, + 0, + 296, + 1, + "IMAGE" + ], + [ + 1237, + 290, + 0, + 570, + 0, + "IMAGE" + ], + [ + 1247, + 295, + 0, + 492, + 0, + "MODEL" + ], + [ + 1248, + 582, + 0, + 569, + 0, + "IMAGE" + ], + [ + 1256, + 532, + 1, + 530, + 4, + "SIGMAS" + ], + [ + 1296, + 204, + 0, + 530, + 0, + "MODEL" + ], + [ + 1300, + 196, + 0, + 286, + 2, + "MODEL" + ], + [ + 1316, + 530, + 1, + 121, + 0, + "LATENT" + ], + [ + 1343, + 206, + 0, + 282, + 0, + "IMAGE" + ], + [ + 1361, + 605, + 0, + 604, + 0, + "IMAGE" + ], + [ + 1364, + 584, + 1, + 160, + 0, + "TIMESTEP_KEYFRAME" + ], + [ + 1366, + 492, + 0, + 603, + 0, + "MODEL" + ], + [ + 1367, + 311, + 0, + 603, + 1, + "LATENT" + ], + [ + 1369, + 603, + 0, + 227, + 0, + "MODEL" + ], + [ + 1370, + 240, + 0, + 530, + 5, + "LATENT" + ], + [ + 1371, + 513, + 0, + 516, + 1, + "LATENT" + ], + [ + 1372, + 603, + 1, + 513, + 0, + "LATENT" + ], + [ + 1374, + 251, + 0, + 516, + 0, + "LATENT" + ], + [ + 1375, + 584, + 1, + 276, + 0, + "TIMESTEP_KEYFRAME" + ], + [ + 1376, + 292, + 1, + 295, + 3, + "MASK" + ], + [ + 1377, + 560, + 0, + 186, + 0, + "IMAGE" + ], + [ + 1378, + 610, + 0, + 530, + 1, + "CONDITIONING" + ], + [ + 1379, + 610, + 1, + 530, + 2, + "CONDITIONING" + ], + [ + 1380, + 159, + 0, + 610, + 0, + "CONDITIONING" + ], + [ + 1381, + 159, + 1, + 610, + 1, + "CONDITIONING" + ], + [ + 1382, + 609, + 0, + 610, + 2, + "CONTROL_NET" + ], + [ + 1383, + 608, + 0, + 610, + 3, + "IMAGE" + ], + [ + 1385, + 288, + 0, + 612, + 0, + "IMAGE" + ], + [ + 1386, + 612, + 0, + 582, + 0, + "IMAGE" + ], + [ + 1387, + 612, + 1, + 613, + 0, + "*" + ], + [ + 1388, + 612, + 2, + 614, + 0, + "*" + ], + [ + 1389, + 617, + 0, + 615, + 2, + "INT" + ], + [ + 1390, + 616, + 0, + 615, + 1, + "INT" + ], + [ + 1394, + 186, + 0, + 608, + 1, + "INT" + ], + [ + 1395, + 560, + 0, + 608, + 0, + "IMAGE" + ], + [ + 1396, + 572, + 0, + 290, + 0, + "IMAGE" + ], + [ + 1403, + 196, + 2, + 121, + 1, + "VAE" + ], + [ + 1404, + 196, + 2, + 311, + 1, + "VAE" + ], + [ + 1405, + 196, + 2, + 604, + 1, + "VAE" + ], + [ + 1406, + 204, + 0, + 583, + 0, + "MODEL" + ], + [ + 1407, + 531, + 0, + 530, + 3, + "SAMPLER" + ], + [ + 1408, + 583, + 0, + 532, + 0, + "SIGMAS" + ], + [ + 1415, + 618, + 0, + 204, + 0, + "MODEL" + ], + [ + 1416, + 227, + 0, + 620, + 0, + "MODEL" + ], + [ + 1417, + 620, + 0, + 618, + 0, + "MODEL" + ], + [ + 1418, + 621, + 0, + 615, + 0, + "IMAGE" + ] + ], + "groups": [ + { + "title": "IPA", + "bounding": [ + -269, + -305, + 888, + 846 + ], + "color": "#8A8", + "font_size": 24, + "locked": false + }, + { + "title": "SOURCE", + "bounding": [ + -163, + 552, + 768, + 739 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + }, + { + "title": "CN", + "bounding": [ + 1368, + -302, + 386, + 2249 + ], + "color": "#444", + "font_size": 24, + "locked": false + }, + { + "title": "AnimateDiff", + "bounding": [ + 656, + -709, + 662, + 382 + ], + "color": "#a1309b", + "font_size": 24, + "locked": false + }, + { + "title": "MAIN", + "bounding": [ + 627, + -303, + 737, + 1338 + ], + "color": "#b58b2a", + "font_size": 24, + "locked": false + }, + { + "title": "Result", + "bounding": [ + 2055, + -300, + 1162, + 1691 + ], + "color": "#8AA", + "font_size": 24, + "locked": false + }, + { + "title": "ModelOPS", + "bounding": [ + 1322, + -1185, + 378, + 856 + ], + "color": "#444", + "font_size": 24, + "locked": false + }, + { + "title": "LCM", + "bounding": [ + 1759, + -300, + 274, + 945 + ], + "color": "#3f789e", + "font_size": 24, + "locked": false + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-instant-id/aigc101_instant_id_ult____comfyworkflows.json b/server/test-workflows/site-instant-id/aigc101_instant_id_ult____comfyworkflows.json new file mode 100644 index 0000000..b8ccb3d --- /dev/null +++ b/server/test-workflows/site-instant-id/aigc101_instant_id_ult____comfyworkflows.json @@ -0,0 +1,1523 @@ +{ + "last_node_id": 93, + "last_link_id": 271, + "nodes": [ + { + "id": 38, + "type": "InstantIDFaceAnalysis", + "pos": [ + 2060, + 680 + ], + "size": { + "0": 227.09793090820312, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "FACEANALYSIS", + "type": "FACEANALYSIS", + "links": [ + 198 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "InstantIDFaceAnalysis" + }, + "widgets_values": [ + "CPU" + ] + }, + { + "id": 16, + "type": "ControlNetLoader", + "pos": [ + 2060, + 720 + ], + "size": { + "0": 250.07241821289062, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 199 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoader" + }, + "widgets_values": [ + "instantid.safetensors" + ] + }, + { + "id": 39, + "type": "CLIPTextEncode", + "pos": [ + 2060, + 760 + ], + "size": { + "0": 300, + "1": 120 + }, + "flags": { + "collapsed": true + }, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 122 + }, + { + "name": "text", + "type": "STRING", + "link": 226, + "widget": { + "name": "text" + } + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 203 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "comic character. graphic illustration, comic art, graphic novel art, vibrant, highly detailed,neon" + ] + }, + { + "id": 40, + "type": "CLIPTextEncode", + "pos": [ + 2060, + 800 + ], + "size": { + "0": 280, + "1": 120 + }, + "flags": { + "collapsed": true + }, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 123 + }, + { + "name": "text", + "type": "STRING", + "link": 227, + "widget": { + "name": "text" + } + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 204 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "photograph, deformed, glitch, noisy, realistic, stock photo,text, watermark" + ] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 2060, + 840 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": { + "collapsed": true + }, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 8 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 19 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 4, + "type": "CheckpointLoaderSimple", + "pos": [ + 1740, + 180 + ], + "size": { + "0": 220, + "1": 100 + }, + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 206 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 122, + 123 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 8 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "sd_xl_base_1.0_0.9vae.safetensors" + ] + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + 1740, + 320 + ], + "size": { + "0": 220, + "1": 106 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 1016, + 1016, + 1 + ] + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 1740, + 780 + ], + "size": { + "0": 220, + "1": 280 + }, + "flags": {}, + "order": 23, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 267 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 255, + "slot_index": 1 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 254, + "slot_index": 2 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 56222897439444, + "randomize", + 30, + 4.5, + "ddpm", + "karras", + 1 + ] + }, + { + "id": 85, + "type": "ScaledSoftControlNetWeights", + "pos": [ + 2060, + 920 + ], + "size": { + "0": 327.6000061035156, + "1": 102 + }, + "flags": { + "collapsed": true + }, + "order": 4, + "mode": 0, + "outputs": [ + { + "name": "CONTROL_NET_WEIGHTS", + "type": "CONTROL_NET_WEIGHTS", + "links": null, + "shape": 3, + "slot_index": 0 + }, + { + "name": "TIMESTEP_KEYFRAME", + "type": "TIMESTEP_KEYFRAME", + "links": [ + 247 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ScaledSoftControlNetWeights" + }, + "widgets_values": [ + 0.9, + false + ] + }, + { + "id": 11, + "type": "InstantIDModelLoader", + "pos": [ + 2060, + 640 + ], + "size": { + "0": 238.72393798828125, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 5, + "mode": 0, + "outputs": [ + { + "name": "INSTANTID", + "type": "INSTANTID", + "links": [ + 197 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "InstantIDModelLoader" + }, + "widgets_values": [ + "ip-adapter.bin" + ] + }, + { + "id": 82, + "type": "LoadImage", + "pos": [ + 1640, + 1560 + ], + "size": { + "0": 315, + "1": 314.0000305175781 + }, + "flags": {}, + "order": 6, + "mode": 4, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 249, + 258 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "23132.png", + "image" + ] + }, + { + "id": 84, + "type": "ACN_AdvancedControlNetApply", + "pos": [ + 1640, + 1260 + ], + "size": [ + 320, + 260 + ], + "flags": {}, + "order": 21, + "mode": 4, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 252, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 253 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 246, + "slot_index": 2 + }, + { + "name": "image", + "type": "IMAGE", + "link": 249 + }, + { + "name": "mask_optional", + "type": "MASK", + "link": null + }, + { + "name": "timestep_kf", + "type": "TIMESTEP_KEYFRAME", + "link": null + }, + { + "name": "latent_kf_override", + "type": "LATENT_KEYFRAME", + "link": null + }, + { + "name": "weights_override", + "type": "CONTROL_NET_WEIGHTS", + "link": null + }, + { + "name": "model_optional", + "type": "MODEL", + "link": null + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 255, + 257 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 254 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "model_opt", + "type": "MODEL", + "links": [], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "ACN_AdvancedControlNetApply" + }, + "widgets_values": [ + 0.65, + 0, + 0.35000000000000003 + ] + }, + { + "id": 86, + "type": "ControlNetLoaderAdvanced", + "pos": [ + 1600, + 1920 + ], + "size": { + "0": 344.3999938964844, + "1": 58 + }, + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "timestep_keyframe", + "type": "TIMESTEP_KEYFRAME", + "link": 247 + } + ], + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 246 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoaderAdvanced" + }, + "widgets_values": [ + "diffusers_xl_canny_full.safetensors" + ] + }, + { + "id": 60, + "type": "ApplyInstantID", + "pos": [ + 1740, + 480 + ], + "size": { + "0": 220, + "1": 266 + }, + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "instantid", + "type": "INSTANTID", + "link": 197 + }, + { + "name": "insightface", + "type": "FACEANALYSIS", + "link": 198 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 199 + }, + { + "name": "image", + "type": "IMAGE", + "link": 261 + }, + { + "name": "model", + "type": "MODEL", + "link": 206 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 203 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 204 + }, + { + "name": "image_kps", + "type": "IMAGE", + "link": 271, + "slot_index": 7 + }, + { + "name": "mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 266 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "POSITIVE", + "type": "CONDITIONING", + "links": [ + 252 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "NEGATIVE", + "type": "CONDITIONING", + "links": [ + 253 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "ApplyInstantID" + }, + "widgets_values": [ + 1, + 0, + 1 + ] + }, + { + "id": 90, + "type": "CLIPVisionLoader", + "pos": [ + 2060, + 1040 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 7, + "mode": 0, + "outputs": [ + { + "name": "CLIP_VISION", + "type": "CLIP_VISION", + "links": [ + 264 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CLIPVisionLoader" + }, + "widgets_values": [ + "SD1.5\\model.safetensors" + ] + }, + { + "id": 88, + "type": "IPAdapterModelLoader", + "pos": [ + 2060, + 980 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 8, + "mode": 0, + "outputs": [ + { + "name": "IPADAPTER", + "type": "IPADAPTER", + "links": [ + 263 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterModelLoader" + }, + "widgets_values": [ + "ip-adapter-plus_sdxl_vit-h.bin" + ] + }, + { + "id": 91, + "type": "LoadImage", + "pos": [ + 3040, + 940 + ], + "size": [ + 320, + 320 + ], + "flags": {}, + "order": 9, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 265 + ], + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "未标题-2 (4).png", + "image" + ] + }, + { + "id": 89, + "type": "IPAdapterApply", + "pos": [ + 3040, + 640 + ], + "size": { + "0": 315, + "1": 258 + }, + "flags": {}, + "order": 20, + "mode": 4, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 263 + }, + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 264, + "slot_index": 1 + }, + { + "name": "image", + "type": "IMAGE", + "link": 265, + "slot_index": 2 + }, + { + "name": "model", + "type": "MODEL", + "link": 266 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 267, + 268 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApply" + }, + "widgets_values": [ + 0.45, + 0, + "original", + 0, + 1, + false + ] + }, + { + "id": 87, + "type": "Fast Bypasser (rgthree)", + "pos": { + "0": 1540, + "1": 1100, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0 + }, + "size": { + "0": 420, + "1": 160 + }, + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "Apply Advanced ControlNet 🛂🅐🅒🅝", + "type": "*", + "link": 257, + "dir": 3 + }, + { + "name": "Load Image", + "type": "*", + "link": 258, + "dir": 3 + }, + { + "name": "Apply IPAdapter", + "type": "*", + "link": 268, + "dir": 3 + }, + { + "name": "", + "type": "*", + "link": null, + "dir": 3 + } + ], + "outputs": [ + { + "name": "OPT_CONNECTION", + "type": "*", + "links": null, + "dir": 4 + } + ], + "properties": { + "toggleRestriction": "default" + } + }, + { + "id": 67, + "type": "ID_Prompt_Styler", + "pos": [ + 2920, + 420 + ], + "size": { + "0": 300, + "1": 160 + }, + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "prompt", + "type": "STRING", + "link": 221, + "widget": { + "name": "prompt" + } + } + ], + "outputs": [ + { + "name": "positive_prompt", + "type": "STRING", + "links": [ + 226 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "negative_prompt", + "type": "STRING", + "links": [ + 227 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ID_Prompt_Styler" + }, + "widgets_values": [ + "", + "(lowres, low quality, worst quality:1.2), (text:1.2), watermark, painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly,deformed, glitch, noisy, realistic, stock photo, naked", + "Neon" + ] + }, + { + "id": 71, + "type": "ConcatText_Zho", + "pos": [ + 2920, + 180 + ], + "size": { + "0": 300, + "1": 200 + }, + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "text_1", + "type": "STRING", + "link": 224, + "widget": { + "name": "text_1" + } + } + ], + "outputs": [ + { + "name": "text", + "type": "STRING", + "links": [ + 221 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ConcatText_Zho" + }, + "widgets_values": [ + "", + "comic female character. graphic illustration, comic art, graphic novel art, vibrant, highly detailed. New York background" + ] + }, + { + "id": 70, + "type": "ConcatText_Zho", + "pos": [ + 2060, + 880 + ], + "size": { + "0": 300, + "1": 66.00003051757812 + }, + "flags": { + "collapsed": true + }, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "text_1", + "type": "STRING", + "link": 222, + "widget": { + "name": "text_1" + } + }, + { + "name": "text_2", + "type": "STRING", + "link": 223, + "widget": { + "name": "text_2" + } + } + ], + "outputs": [ + { + "name": "text", + "type": "STRING", + "links": [ + 224 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ConcatText_Zho" + }, + "widgets_values": [ + "", + "" + ] + }, + { + "id": 15, + "type": "PreviewImage", + "pos": [ + 1980, + 620 + ], + "size": [ + 1040, + 1000 + ], + "flags": {}, + "order": 25, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 19 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 13, + "type": "LoadImage", + "pos": [ + 1980, + 180 + ], + "size": { + "0": 280, + "1": 400 + }, + "flags": {}, + "order": 10, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 261, + 271 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "1 (5).png", + "image" + ] + }, + { + "id": 69, + "type": "MovementsImage_Zho", + "pos": [ + 2600, + 180 + ], + "size": { + "0": 310, + "1": 410 + }, + "flags": {}, + "order": 11, + "mode": 0, + "outputs": [ + { + "name": "name", + "type": "STRING", + "links": [ + 223 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "links": [], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "MovementsImage_Zho" + }, + "widgets_values": [ + "Literati Painting.png", + 1.08 + ] + }, + { + "id": 68, + "type": "ArtistsImage_Zho", + "pos": [ + 2300, + 180 + ], + "size": { + "0": 310, + "1": 410 + }, + "flags": {}, + "order": 12, + "mode": 0, + "outputs": [ + { + "name": "name", + "type": "STRING", + "links": [ + 222 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "links": [], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "ArtistsImage_Zho" + }, + "widgets_values": [ + "Auguste Rodin.png", + 1.19 + ] + } + ], + "links": [ + [ + 2, + 5, + 0, + 3, + 3, + "LATENT" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 8, + 4, + 2, + 8, + 1, + "VAE" + ], + [ + 19, + 8, + 0, + 15, + 0, + "IMAGE" + ], + [ + 122, + 4, + 1, + 39, + 0, + "CLIP" + ], + [ + 123, + 4, + 1, + 40, + 0, + "CLIP" + ], + [ + 197, + 11, + 0, + 60, + 0, + "INSTANTID" + ], + [ + 198, + 38, + 0, + 60, + 1, + "FACEANALYSIS" + ], + [ + 199, + 16, + 0, + 60, + 2, + "CONTROL_NET" + ], + [ + 203, + 39, + 0, + 60, + 5, + "CONDITIONING" + ], + [ + 204, + 40, + 0, + 60, + 6, + "CONDITIONING" + ], + [ + 206, + 4, + 0, + 60, + 4, + "MODEL" + ], + [ + 221, + 71, + 0, + 67, + 0, + "STRING" + ], + [ + 222, + 68, + 0, + 70, + 0, + "STRING" + ], + [ + 223, + 69, + 0, + 70, + 1, + "STRING" + ], + [ + 224, + 70, + 0, + 71, + 0, + "STRING" + ], + [ + 226, + 67, + 0, + 39, + 1, + "STRING" + ], + [ + 227, + 67, + 1, + 40, + 1, + "STRING" + ], + [ + 246, + 86, + 0, + 84, + 2, + "CONTROL_NET" + ], + [ + 247, + 85, + 1, + 86, + 0, + "TIMESTEP_KEYFRAME" + ], + [ + 249, + 82, + 0, + 84, + 3, + "IMAGE" + ], + [ + 252, + 60, + 1, + 84, + 0, + "CONDITIONING" + ], + [ + 253, + 60, + 2, + 84, + 1, + "CONDITIONING" + ], + [ + 254, + 84, + 1, + 3, + 2, + "CONDITIONING" + ], + [ + 255, + 84, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 257, + 84, + 0, + 87, + 0, + "*" + ], + [ + 258, + 82, + 0, + 87, + 1, + "*" + ], + [ + 261, + 13, + 0, + 60, + 3, + "IMAGE" + ], + [ + 263, + 88, + 0, + 89, + 0, + "IPADAPTER" + ], + [ + 264, + 90, + 0, + 89, + 1, + "CLIP_VISION" + ], + [ + 265, + 91, + 0, + 89, + 2, + "IMAGE" + ], + [ + 266, + 60, + 0, + 89, + 3, + "MODEL" + ], + [ + 267, + 89, + 0, + 3, + 0, + "MODEL" + ], + [ + 268, + 89, + 0, + 87, + 2, + "*" + ], + [ + 271, + 13, + 0, + 60, + 7, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-living-style-interior-design/subby_ramesh_living_style_interior_design_workflow_comfyworkflows.json b/server/test-workflows/site-living-style-interior-design/subby_ramesh_living_style_interior_design_workflow_comfyworkflows.json new file mode 100644 index 0000000..ceb672e --- /dev/null +++ b/server/test-workflows/site-living-style-interior-design/subby_ramesh_living_style_interior_design_workflow_comfyworkflows.json @@ -0,0 +1,981 @@ +{ + "last_node_id": 19, + "last_link_id": 31, + "nodes": [ + { + "id": 13, + "type": "ImpactImageInfo", + "pos": [ + -1295.3033507883326, + -404.1636094881982 + ], + "size": { + "0": 309.1101379394531, + "1": 86 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "value", + "type": "IMAGE", + "link": 22 + } + ], + "outputs": [ + { + "name": "batch", + "type": "INT", + "links": [], + "shape": 3 + }, + { + "name": "height", + "type": "INT", + "links": [ + 21 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "width", + "type": "INT", + "links": [ + 20 + ], + "shape": 3, + "slot_index": 2 + }, + { + "name": "channel", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImpactImageInfo" + } + }, + { + "id": 16, + "type": "ttN text", + "pos": [ + -1808.4384693009772, + -738.6350714056788 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "text", + "type": "STRING", + "links": [ + 28 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "optional positive", + "properties": { + "Node name for S&R": "ttN text", + "ttNnodeVersion": "1.0.0" + }, + "widgets_values": [ + "" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 17, + "type": "ttN text", + "pos": [ + -1810.4384693009772, + -490.6350714056806 + ], + "size": { + "0": 400, + "1": 200 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "text", + "type": "STRING", + "links": [ + 29 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "optionl negative", + "properties": { + "Node name for S&R": "ttN text", + "ttNnodeVersion": "1.0.0" + }, + "widgets_values": [ + "nsfw" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 15, + "type": "ImageUpscaleWithModel", + "pos": [ + -813, + 874 + ], + "size": { + "0": 241.79998779296875, + "1": 46 + }, + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "upscale_model", + "type": "UPSCALE_MODEL", + "link": 23 + }, + { + "name": "image", + "type": "IMAGE", + "link": 24 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 25 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageUpscaleWithModel" + } + }, + { + "id": 2, + "type": "ttN pipeKSampler", + "pos": [ + -1326, + 861 + ], + "size": { + "0": 330, + "1": 578 + }, + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "pipe", + "type": "PIPE_LINE", + "link": 7 + }, + { + "name": "optional_model", + "type": "MODEL", + "link": null + }, + { + "name": "optional_positive", + "type": "CONDITIONING", + "link": 9 + }, + { + "name": "optional_negative", + "type": "CONDITIONING", + "link": null + }, + { + "name": "optional_latent", + "type": "LATENT", + "link": null + }, + { + "name": "optional_vae", + "type": "VAE", + "link": null + }, + { + "name": "optional_clip", + "type": "CLIP", + "link": null + }, + { + "name": "xyPlot", + "type": "XYPLOT", + "link": null + } + ], + "outputs": [ + { + "name": "pipe", + "type": "PIPE_LINE", + "links": null, + "shape": 3 + }, + { + "name": "model", + "type": "MODEL", + "links": null, + "shape": 3 + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": null, + "shape": 3 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": null, + "shape": 3 + }, + { + "name": "latent", + "type": "LATENT", + "links": null, + "shape": 3 + }, + { + "name": "vae", + "type": "VAE", + "links": null, + "shape": 3 + }, + { + "name": "clip", + "type": "CLIP", + "links": null, + "shape": 3 + }, + { + "name": "image", + "type": "IMAGE", + "links": [ + 24 + ], + "shape": 3, + "slot_index": 7 + }, + { + "name": "seed", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ttN pipeKSampler", + "ttNnodeVersion": "1.0.5" + }, + "widgets_values": [ + "None", + 1, + 1, + "None", + 2, + "disabled", + "Sample", + 20, + 8, + "dpmpp_3m_sde_gpu", + "karras", + 1, + "Hide", + "ComfyUI", + 237810000503980, + "randomize" + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 6, + "type": "OneFormer-COCO-SemSegPreprocessor", + "pos": [ + -1823, + 881 + ], + "size": { + "0": 329.903076171875, + "1": 58 + }, + "flags": { + "collapsed": false + }, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 6 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 8 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "OneFormer-COCO-SemSegPreprocessor" + }, + "widgets_values": [ + 512 + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + -1869, + -126 + ], + "size": { + "0": 1348.7620849609375, + "1": 876.0997314453125 + }, + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 25 + } + ], + "properties": {}, + "widgets_values": [ + "Interior Design" + ] + }, + { + "id": 14, + "type": "UpscaleModelLoader", + "pos": [ + -1332, + -252 + ], + "size": { + "0": 397.9101257324219, + "1": 58 + }, + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "UPSCALE_MODEL", + "type": "UPSCALE_MODEL", + "links": [ + 23 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UpscaleModelLoader" + }, + "widgets_values": [ + "RealESRGAN_x2.pth" + ] + }, + { + "id": 7, + "type": "ControlNetApply", + "pos": [ + -1829, + 1010 + ], + "size": { + "0": 342.0548400878906, + "1": 98 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 14 + }, + { + "name": "control_net", + "type": "CONTROL_NET", + "link": 15, + "slot_index": 1 + }, + { + "name": "image", + "type": "IMAGE", + "link": 8 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 9 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ControlNetApply" + }, + "widgets_values": [ + 1 + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 11, + "type": "ControlNetLoader", + "pos": [ + -920, + -255 + ], + "size": { + "0": 400.9101257324219, + "1": 61.020652770996094 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "CONTROL_NET", + "type": "CONTROL_NET", + "links": [ + 15 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ControlNetLoader" + }, + "widgets_values": [ + "control_v11p_sd15_seg.pth" + ] + }, + { + "id": 19, + "type": "SDXLPromptStyler", + "pos": [ + -1849, + -1053 + ], + "size": { + "0": 400, + "1": 241.99996948242188 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "text_positive", + "type": "STRING", + "link": 28, + "widget": { + "name": "text_positive" + } + }, + { + "name": "text_negative", + "type": "STRING", + "link": 29, + "widget": { + "name": "text_negative" + } + } + ], + "outputs": [ + { + "name": "text_positive", + "type": "STRING", + "links": [ + 31 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "text_negative", + "type": "STRING", + "links": [ + 30 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "SDXLPromptStyler" + }, + "widgets_values": [ + "", + "", + "ads-real estate", + true, + true, + true + ] + }, + { + "id": 1, + "type": "ttN pipeLoader", + "pos": [ + -927, + -1045 + ], + "size": { + "0": 396.5639343261719, + "1": 750 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "empty_latent_width", + "type": "INT", + "link": 20, + "widget": { + "name": "empty_latent_width" + }, + "slot_index": 0 + }, + { + "name": "empty_latent_height", + "type": "INT", + "link": 21, + "widget": { + "name": "empty_latent_height" + } + }, + { + "name": "positive", + "type": "STRING", + "link": 31, + "widget": { + "name": "positive" + } + }, + { + "name": "negative", + "type": "STRING", + "link": 30, + "widget": { + "name": "negative" + } + } + ], + "outputs": [ + { + "name": "pipe", + "type": "PIPE_LINE", + "links": [ + 7 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "model", + "type": "MODEL", + "links": null, + "shape": 3 + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 14 + ], + "shape": 3, + "slot_index": 2 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": null, + "shape": 3 + }, + { + "name": "latent", + "type": "LATENT", + "links": null, + "shape": 3 + }, + { + "name": "vae", + "type": "VAE", + "links": null, + "shape": 3 + }, + { + "name": "clip", + "type": "CLIP", + "links": null, + "shape": 3 + }, + { + "name": "seed", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ttN pipeLoader", + "ttNnodeVersion": "1.1.2" + }, + "widgets_values": [ + "realisticVisionV60B1_v40VAE.safetensors", + "Default", + "Baked VAE", + 0, + "None", + 1, + 0, + "None", + 1, + 0, + "None", + 1, + 0, + "none", + "none", + "comfy", + "none", + "none", + "comfy", + 512, + 1, + 1, + 212644622478293, + "randomize" + ] + }, + { + "id": 4, + "type": "Image scale to side", + "pos": [ + -1302.3033507883329, + -574.1636094881987 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 22 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Image scale to side" + }, + "widgets_values": [ + 1024, + "Longest", + "nearest-exact", + "disabled" + ] + }, + { + "id": 3, + "type": "LoadImage", + "pos": [ + -1312, + -973 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 4, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1, + 6 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "title": "Load Your Image", + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "small-bedroom-ideas-getty-0823-d982b46c35964a9cbd0c1d4f38bd665d.jpg", + "image" + ] + } + ], + "links": [ + [ + 1, + 3, + 0, + 4, + 0, + "IMAGE" + ], + [ + 6, + 3, + 0, + 6, + 0, + "IMAGE" + ], + [ + 7, + 1, + 0, + 2, + 0, + "PIPE_LINE" + ], + [ + 8, + 6, + 0, + 7, + 2, + "IMAGE" + ], + [ + 9, + 7, + 0, + 2, + 2, + "CONDITIONING" + ], + [ + 14, + 1, + 2, + 7, + 0, + "CONDITIONING" + ], + [ + 15, + 11, + 0, + 7, + 1, + "CONTROL_NET" + ], + [ + 20, + 13, + 2, + 1, + 0, + "INT" + ], + [ + 21, + 13, + 1, + 1, + 1, + "INT" + ], + [ + 22, + 4, + 0, + 13, + 0, + "IMAGE" + ], + [ + 23, + 14, + 0, + 15, + 0, + "UPSCALE_MODEL" + ], + [ + 24, + 2, + 7, + 15, + 1, + "IMAGE" + ], + [ + 25, + 15, + 0, + 9, + 0, + "IMAGE" + ], + [ + 28, + 16, + 0, + 19, + 0, + "STRING" + ], + [ + 29, + 17, + 0, + 19, + 1, + "STRING" + ], + [ + 30, + 19, + 1, + 1, + 3, + "STRING" + ], + [ + 31, + 19, + 0, + 1, + 2, + "STRING" + ] + ], + "groups": [ + { + "title": "Loader", + "bounding": [ + -1347, + -1088, + 835, + 917 + ], + "color": "#3f789e", + "font_size": 24 + }, + { + "title": "ControlNet", + "bounding": [ + -1864, + 763, + 435, + 710 + ], + "color": "#b06634", + "font_size": 24 + }, + { + "title": "Sampler", + "bounding": [ + -1421, + 762, + 522, + 711 + ], + "color": "#a1309b", + "font_size": 24 + }, + { + "title": "Upscaler", + "bounding": [ + -888, + 760, + 369, + 716 + ], + "color": "#8A8", + "font_size": 24 + }, + { + "title": "Conditioning", + "bounding": [ + -1860, + -1088, + 504, + 916 + ], + "color": "#b58b2a", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-magic-animate/subby_ramesh_magicanimate__animate_any_image_with_any_pose_comfyworkflows.json b/server/test-workflows/site-magic-animate/subby_ramesh_magicanimate__animate_any_image_with_any_pose_comfyworkflows.json new file mode 100644 index 0000000..865b91e --- /dev/null +++ b/server/test-workflows/site-magic-animate/subby_ramesh_magicanimate__animate_any_image_with_any_pose_comfyworkflows.json @@ -0,0 +1,295 @@ +{ + "last_node_id": 22, + "last_link_id": 25, + "nodes": [ + { + "id": 11, + "type": "MagicAnimateModelLoader", + "pos": [ + 1299, + 71 + ], + "size": { + "0": 625.125, + "1": 169.78125 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "MAGIC_ANIMATE_MODEL", + "type": "MAGIC_ANIMATE_MODEL", + "links": [ + 18 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "MagicAnimateModelLoader" + }, + "widgets_values": [ + "densepose_controlnet/diffusion_pytorch_model.safetensors", + "appearance_encoder/diffusion_pytorch_model.safetensors", + "temporal_attention/temporal_attention.ckpt", + "cuda" + ] + }, + { + "id": 17, + "type": "MagicAnimate", + "pos": [ + 2067, + 81 + ], + "size": [ + 348.50434310546825, + 146 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "magic_animate_model", + "type": "MAGIC_ANIMATE_MODEL", + "link": 18 + }, + { + "name": "image", + "type": "IMAGE", + "link": 19, + "slot_index": 1 + }, + { + "name": "pose_video", + "type": "IMAGE", + "link": 25 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 21 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "MagicAnimate" + }, + "widgets_values": [ + 1268, + "randomize", + 25 + ] + }, + { + "id": 15, + "type": "VHS_LoadVideo", + "pos": [ + 1913, + 324 + ], + "size": [ + 739.7655455078127, + 935.7655455078127 + ], + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 25 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "frame_count", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VHS_LoadVideo" + }, + "widgets_values": { + "video": "demo4.mp4", + "force_rate": 0, + "force_size": "Disabled", + "custom_width": 512, + "custom_height": 512, + "frame_load_cap": 0, + "skip_first_frames": 0, + "select_every_nth": 1, + "choose video to upload": "image", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "demo4.mp4", + "type": "input", + "format": "video" + } + } + } + }, + { + "id": 18, + "type": "VHS_VideoCombine", + "pos": [ + 2671, + 322 + ], + "size": [ + 717.0816885351569, + 941.0816885351569 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 21 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 25, + "loop_count": 0, + "filename_prefix": "AnimateDiff", + "format": "image/gif", + "pingpong": false, + "save_image": true, + "crf": 20, + "save_metadata": true, + "audio_file": "", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "AnimateDiff_00013.gif", + "subfolder": "", + "type": "output", + "format": "image/gif" + } + } + } + }, + { + "id": 14, + "type": "LoadImage", + "pos": [ + 1071, + 325 + ], + "size": [ + 822.3613708984369, + 988.6214749023432 + ], + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 19 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "donald-trump-person-of-year-2017-time-magazine-square-mobile-2.webp", + "image" + ] + }, + { + "id": 22, + "type": "Note", + "pos": [ + 2529, + -33 + ], + "size": [ + 599.0348861877119, + 140.00292675082238 + ], + "flags": {}, + "order": 3, + "mode": 0, + "properties": { + "text": "" + }, + "widgets_values": [ + "This workflow lets you animate any image with a DensePose video using MagicAnimate!\n\nNote that the input video must be DensePose frames, instead of any arbitrary type of video.\n\nThis uses the following custom node: https://github.com/thecooltechguy/ComfyUI-MagicAnimate\n\nFind thousands of other workflows at: comfyworkflows.com\n\nJoin our Discord (1.2K+ ppl): https://discord.gg/hwwbNRAq6E" + ], + "color": "#432", + "bgcolor": "#653" + } + ], + "links": [ + [ + 18, + 11, + 0, + 17, + 0, + "MAGIC_ANIMATE_MODEL" + ], + [ + 19, + 14, + 0, + 17, + 1, + "IMAGE" + ], + [ + 21, + 17, + 0, + 18, + 0, + "IMAGE" + ], + [ + 25, + 15, + 0, + 17, + 2, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-motion-brush/thismodernday_motion_brush_replica_with_grounding_dino_support_comfyworkflows.json b/server/test-workflows/site-motion-brush/thismodernday_motion_brush_replica_with_grounding_dino_support_comfyworkflows.json new file mode 100644 index 0000000..accbc48 --- /dev/null +++ b/server/test-workflows/site-motion-brush/thismodernday_motion_brush_replica_with_grounding_dino_support_comfyworkflows.json @@ -0,0 +1,3883 @@ +{ + "last_node_id": 139, + "last_link_id": 189, + "nodes": [ + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + 1909.0692786024013, + 570.9968262666166 + ], + "size": { + "0": 420, + "1": 110 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 141 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 512, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 95, + "type": "Bookmark (rgthree)", + "pos": { + "0": 20, + "1": 20, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0 + }, + "size": { + "0": 210, + "1": 62 + }, + "flags": { + "collapsed": true + }, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "1", + 1 + ] + }, + { + "id": 97, + "type": "Bookmark (rgthree)", + "pos": { + "0": 1895.622314453125, + "1": -13.136503219604492, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0 + }, + "size": { + "0": 210, + "1": 62 + }, + "flags": { + "collapsed": true + }, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "2", + 0.8 + ] + }, + { + "id": 104, + "type": "Anything Everywhere?", + "pos": [ + 678.8735559440822, + 1695.9192711049209 + ], + "size": { + "0": 320, + "1": 110 + }, + "flags": { + "collapsed": true + }, + "order": 60, + "mode": 0, + "inputs": [ + { + "name": "CONDITIONING", + "type": "*", + "link": 156, + "color_on": "#cf876f" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSampler", + "negative", + "Animation Generation", + "[[tensor([[[-0.3838, 0.0186, -0.0634, ..., -0.4860, -0.2947, 0.0626],\n [-0.2275, -1.3816, 0.5586, ..., 0.7339, 0.4732, -0.0371],\n [ 0.0297, 0.2967, 0.2323, ..., -1.2389, -0.9137, -1.5180],\n ...,\n [-0.8421, -0.4911, -0.1811, ..., -0.7933, -1.0001, 0.9364],\n [-0.8472, -0.4909, -0.1768, ..., -0.7739, -1.0047, 0.9461],\n [-0.7794, -0.4468, -0.1400, ..., -0.7790, -0.9825, 0.8449]]]), {'pooled_output': tensor([[-1.2453e+00, -3.8457e-01, 1.2350e+00, -1.0502e+00, -5.4127e-01, -6.0193e-01, -4.6226e-01, 9.8364e-02, -1.1481e+00, 2.5579e-01, -7.1715e-01, -6.8274e-01, 1.5904e+00, -3.9129e-01, 6.8008e-01, 8.9858e-01, -4.0176e-01, 5.7504e-01, 2.8329e-01, -1.5119e+00, -2.5199e-01, 1.0005e+00, -1.4814e+00, -1.6153e-01,\n -1.1031e+00, 3.5194e-01, 4.6738e-01, -1.3029e+00, 5.2411e-01, -4.8052e-01, -1.1390e+00, 3.9806e-01, 1.9732e-01, -3.7900e-01, -1.1564e+00, -7.5390e-02, -6.8975e-01, -1.5401e+00, -1.8640e+00, 1.4561e+00, -3.2221e-01, 1.1430e-01, 1.8365e+00, 6.8230e-01, -6.5343e-01, -8.1220e-01, -2.5811e-01, -2.0401e-01,\n -1.1993e+00, -6.2720e-01, 1.0009e+00, 1.3093e+00, 6.3714e-01, 2.9491e-01, 6.4311e-01, -1.5797e+00, 7.1539e-01, -3.7840e-01, -2.1238e-03, -1.3266e+00, -1.8651e-01, -2.7207e-02, -1.2552e+00, 4.5545e-01, -7.2343e-01, -2.4283e-01, -7.4796e-01, 6.1457e-01, 1.1583e-01, 6.1006e+00, 6.8761e-01, 8.4514e-01,\n -1.5471e+00, 9.2030e-01, 2.7634e-01, 1.1210e+00, -5.3905e-01, -1.1306e-01, 7.7094e-01, -1.0278e+00, -3.9909e-01, 3.1544e-01, -1.2472e+00, -2.6320e-01, -1.6949e+00, -1.3997e+00, -2.1195e-01, -1.3466e-01, -5.5657e-01, -1.4451e-01, 7.9329e-01, -1.5891e+00, 1.1446e-01, 1.9069e+00, -1.4626e-01, 4.1988e-02,\n 4.7813e-01, 2.4238e-01, 5.7859e-01, -1.5493e+00, -4.4644e-01, -5.1960e-01, 7.0044e-01, 2.2336e+00, -1.5905e+00, -7.9724e-01, -9.9526e-01, 1.4002e-01, 3.2526e-01, -1.5049e+00, 3.9129e-01, 1.5178e-03, -3.9426e-01, -5.3188e-01, -1.5125e+00, 1.5543e+00, 1.0840e+00, 9.2778e-01, -7.5539e-02, -6.6823e-01,\n 1.7358e+00, 2.9070e-01, -6.5591e-01, 2.2013e-01, -1.3810e+00, -8.8786e-01, -1.6950e+00, 2.4895e-01, -2.9821e-01, 1.0179e+00, -1.1101e-01, 7.4942e-01, -1.4018e+00, 1.3327e-01, 6.2400e-01, -1.4626e+00, 2.5315e-01, -1.1171e+00, -2.9085e-01, -6.9006e-01, -4.5432e-01, -7.5004e-01, -1.2893e+00, -1.1393e+00,\n -8.1904e-01, 8.2688e-01, -1.1136e+00, 5.1136e-01, -2.1842e-02, -9.4864e-01, -1.9259e+00, -1.9365e-01, 4.9788e-01, -9.1267e-01, -1.4673e+00, 4.2325e+00, -3.1833e-01, 5.3507e-01, 2.2608e-01, -1.8627e-01, -9.1789e-01, 1.3700e+00, -5.7378e-01, -1.6283e+00, -8.6129e-01, -8.3866e-01, 2.2823e-01, -1.7063e+00,\n 7.6471e-01, -1.1483e-01, -9.2678e-01, -9.6861e-01, 6.3029e-01, -5.1900e-01, -4.0898e-01, -1.1959e+00, -9.2202e-01, -1.7330e-02, 1.2150e-01, 3.4552e-02, 8.3679e-01, -4.0396e-01, 3.5150e-01, -9.1884e-01, -1.1979e+00, -7.5217e-01, 4.3382e-01, -7.0214e-01, 5.7261e-01, 9.6596e-01, -7.8546e-02, -4.6156e-01,\n -7.4447e-01, -5.5494e-01, 7.8165e-02, -6.2854e-01, -3.7500e-01, -2.0729e+00, -2.0986e+00, -2.0111e+00, 1.2736e+00, -7.9974e-01, 1.3747e-01, -9.3386e-03, 7.9711e-01, 1.4567e+00, -2.0557e+00, 3.0627e-01, -2.4411e+00, -1.3546e-01, -7.8830e-01, -1.8767e+00, -2.9184e-01, -1.5605e+00, -5.0516e-01, -1.6767e-01,\n -6.3595e-01, 2.5843e-01, -3.2429e-01, 5.9360e-01, -8.7291e-01, 5.3627e-01, 3.6377e+00, -1.4514e-01, 5.8159e-01, 2.2135e-01, 9.1970e-01, -1.2812e-01, 1.1442e+00, -5.3839e-01, -1.8275e-01, 2.9682e-01, -1.6912e+00, 1.3289e-01, -5.9043e-01, 2.2125e+00, 6.0969e-01, -1.3771e-01, -1.5968e-01, 4.0539e-01,\n 5.5542e-01, -6.4050e-01, -1.1968e+00, 4.2999e-01, -6.0358e-01, 4.1385e-01, 2.0796e-01, -1.8918e+00, -5.1769e-02, -1.0305e+00, 2.5233e-01, 6.0351e-01, 4.3153e-01, -5.6906e-01, -6.8325e-01, 1.1289e+00, -7.4464e-01, -1.2309e-01, -7.5576e-02, 9.9321e-01, 8.9770e-01, -1.3577e+00, 1.1237e+00, 1.9477e-01,\n -2.0610e-01, 6.1944e-01, 9.4191e-01, -2.5522e-01, -9.3746e-01, 1.5685e+00, -7.8078e-01, -3.6715e-01, -6.3870e-01, -6.0217e-01, -1.4903e-01, 5.4203e-02, -1.8231e+00, -1.9713e-01, 9.8949e-01, 8.6156e-01, 4.3688e-01, 5.7098e-01, -1.6190e+00, -2.1698e+00, 1.9208e+00, -7.8179e-01, 6.1061e-02, -1.2008e-01,\n -2.2286e-01, 1.8411e-01, -1.2798e+00, 7.3679e-01, -3.3519e-01, -3.8250e-01, 7.3139e-01, 7.9208e-02, -2.1534e+00, -1.0911e+00, 2.3819e-01, 2.0316e-01, 5.1474e-01, 8.8703e-01, -3.0897e-01, 9.2256e-01, -8.5547e-01, 1.3709e+00, -7.3318e-01, 2.5746e+00, 1.2490e+00, -7.1909e-01, -3.0627e-01, -1.3936e+00,\n -1.7746e+00, -9.1729e-01, -1.7676e+00, 1.0776e-01, -1.5563e+00, 1.3959e+00, 9.7520e-02, 1.2567e-02, 8.1311e-01, -6.9396e-01, 1.6259e-02, 5.4719e-01, 2.6312e+00, 1.5370e+00, 1.6509e+00, -6.3511e-01, -2.9017e-02, 1.0292e+00, -1.9711e-01, 7.5387e-01, 5.7865e-01, 3.4626e-01, 1.8158e+00, -4.8455e-01,\n 9.2209e-01, -1.2873e-01, 9.6429e-03, 1.2171e+00, -1.0935e+00, -2.5845e-02, -1.6830e+00, 1.0478e-01, -9.8210e-03, -1.8009e-03, -6.4974e-01, -6.0858e-01, 1.9800e+00, -4.9800e-02, -4.4358e-01, 5.0970e-01, 2.3346e+00, -4.3031e-01, -1.1770e+00, -8.8779e-02, -4.0180e-01, 5.3382e-01, 4.8472e-01, 9.3383e-01,\n 1.3212e+00, 4.5029e-01, -1.1280e+00, 2.9150e-02, 1.1558e-01, -3.2848e-01, -1.7862e+00, -1.0510e+00, 6.6181e-01, 1.6038e-01, 6.7409e-01, 6.4674e-01, -2.2926e-01, -3.4713e-01, -7.7785e-01, -6.7532e-02, 3.9700e-01, -8.5519e-01, 1.3492e+00, 3.1761e-01, 6.1566e-02, 4.6172e-01, 5.4765e-01, -1.2967e+00,\n -4.5846e-01, 4.2684e-01, -7.5531e-01, -1.1239e+00, -1.2211e-01, -5.4461e-01, 8.6383e-01, -6.9461e-02, 1.1577e+00, 1.7886e-01, -3.3056e-01, -2.2690e+00, -2.2372e-01, -9.5515e-01, -6.0607e-01, 1.0907e+00, -8.5514e-01, -3.6899e-01, -4.9318e-01, 5.0847e-02, -4.2233e-01, 1.7542e-01, -4.6689e-01, 7.0384e-01,\n 1.0435e+00, -2.1912e+00, 1.7029e-01, 1.9831e-01, 7.7429e-01, 2.8192e-01, -3.2082e+00, -3.7301e-01, -4.7242e-01, -9.7952e-01, 2.0285e-01, -1.4048e+00, 7.9004e-01, -5.2950e-01, -1.6440e+00, -1.1674e+00, -6.1375e-01, -2.1765e-01, 9.0657e-01, -1.1702e+00, 6.5757e-01, -1.0125e+00, 3.0047e-01, -5.7024e-01,\n -3.1279e-01, -2.5045e+00, -1.0877e+00, -1.1477e+00, -1.7173e-01, -6.3846e-03, 1.6682e-01, -2.9192e-01, 2.9722e-01, -1.0086e-01, -7.6863e-01, 2.2511e+00, 6.8750e-01, -5.0236e-01, -1.5864e-01, 7.7845e-02, 3.1859e-01, 3.6661e-01, -1.1190e+00, -9.0904e-01, -3.9701e-01, -6.3928e-01, -1.0298e+00, 1.1887e+00,\n 2.9892e-02, -1.6104e-01, -1.1917e-01, -2.2817e-02, -3.8442e-01, 1.4823e-03, 7.8379e-02, -4.5874e-01, -7.5074e-01, 1.0022e+00, -1.6407e+00, 1.8031e+00, -1.6817e+00, -1.3934e+00, -1.7134e+00, 1.0224e+00, -1.9789e-01, -3.7149e-01, -1.2317e+00, 5.8052e-01, -3.9205e-01, -1.9686e-01, 1.3975e+00, 1.4136e+00,\n 3.2851e-01, -9.7020e-01, -6.8139e-01, -2.0962e+00, 7.4120e-01, -2.1719e+00, -1.7741e+00, -3.1395e-01, 1.6883e-01, -6.6385e-01, -6.5442e-01, 2.6561e-01, 5.8682e-01, -1.8406e+00, -9.1491e-01, 2.2266e-01, 1.6997e+00, -3.4818e-01, 5.3426e-01, -2.1446e+00, 1.7943e-01, 2.2782e+00, -9.4575e-02, -1.5766e+00,\n 8.2189e-02, 5.1759e-01, 3.6030e-01, 2.8051e-01, 7.3777e-01, -9.8985e-01, -8.9597e-01, -2.9381e-02, 2.1232e-01, -7.7067e-01, 1.1450e+00, 1.4841e-02, -1.0647e+00, -1.1627e+00, -1.3453e+00, 6.6266e-01, -4.9535e-01, -2.6510e-01, 9.0167e-01, -1.7740e-01, -1.5176e+00, -1.6710e+00, -6.0887e-01, -4.2278e-01,\n 1.4614e-01, -1.6908e+00, 1.5094e-01, 8.2581e-01, -2.2934e-01, -9.4530e-01, -9.9807e-01, 2.6773e-01, 2.4381e-01, -5.9287e-01, -2.6312e-01, -6.2091e-01, 4.8506e-01, -3.8459e-01, -6.8422e-01, -1.9633e-01, 9.1151e-02, 7.9420e-02, 7.8087e-01, -4.3242e-01, -1.5628e+00, -7.5671e-01, 1.2689e+00, -4.9842e-01,\n 7.4375e-02, 5.8815e-01, 5.2181e-01, 9.3575e-01, 1.3459e+00, -2.1918e-01, 3.7868e-01, 8.2179e-01, 1.2553e+00, -3.7406e+00, -1.8464e+00, -1.1403e+00, -1.0904e+00, 1.0403e+00, 3.8364e-01, -2.2588e+00, 1.0808e+00, -1.0370e+00, 8.6229e-01, 9.6141e-01, -5.9551e-01, 1.2863e+00, -1.6317e+00, -1.2813e+00,\n -1.2673e+00, -1.0121e+00, -4.5267e-01, 2.3072e-01, 9.8059e-02, 1.0119e+00, -1.0098e+00, -1.3150e+00, -3.1851e-01, -4.0623e-02, 4.3805e-02, -1.9246e+00, 3.5867e-01, -6.4516e-01, -3.9532e-01, 5.2842e-01, -1.1965e+00, 2.5875e-01, 1.4478e-01, -3.6081e-01, 2.3188e+00, 1.4105e+00, 1.2819e-01, 7.1948e-01,\n -4.6273e-01, -1.0320e+00, -6.9600e-01, 3.7022e-01, -1.6807e+00, -8.0646e-01, -1.3390e+00, -8.6253e-01, 7.1832e-01, -8.5538e-01, 7.6976e-01, -3.2037e-01, -1.1081e+00, 6.6292e-01, -2.8635e-01, 5.4686e-01, 3.2021e-01, 8.0564e-01, 1.0463e+00, 2.4140e+00, 2.0867e+00, -1.4379e-01, -7.1655e-02, -3.1255e-02,\n 1.1095e+00, 2.8874e-02, 7.0090e-01, 4.4470e-01, -6.6168e-01, -1.0548e+00, -7.9987e-01, 8.3610e-01, -1.0232e+00, -3.9209e-01, -3.5262e-01, 1.0131e+00, 1.6552e+00, 1.2831e+00, 1.8956e+00, 1.6007e+00, 1.1637e+00, 9.0367e-01, -8.6531e-01, -6.8305e-01, 4.1900e-01, 1.3937e-01, -5.4415e-01, -1.3317e+00,\n 7.3649e-01, 9.4166e-01, -1.2506e+00, -1.7721e+00, -6.4875e-01, -4.1690e-01, 1.3931e+00, -6.2335e-01, -3.7251e-01, -6.0215e-01, 3.4530e-01, -1.0978e+00, 4.2571e-01, -9.5694e-01, -2.1675e-01, -1.6559e-01, 4.0722e-01, -1.7359e+00, -2.2869e-01, 5.0212e-01, 1.0157e-01, -9.3769e-01, 4.1769e-01, -6.0392e-01,\n -1.0205e+00, -8.4335e-01, -8.7391e-01, 4.6867e-01, -1.1734e+00, -1.0288e+00, -5.0080e-01, 2.0764e-01, -8.1949e-01, 6.6600e+00, 5.5467e-01, 6.0564e-01, -2.2752e-01, -1.4229e+00, -9.5588e-01, 4.7976e-01, -1.1818e-01, -1.9886e+00, -9.9140e-01, 1.1199e+00, -5.9936e-01, -1.2690e+00, -1.0214e+00, 4.1714e-01,\n 1.5056e+00, 2.8844e-01, -8.1707e-02, -2.9069e-01, 3.9914e-01, 1.7921e-01, -8.8864e-01, 1.3274e+00, -6.4706e-01, -1.2382e+00, 9.2660e-01, -1.1918e-01, 1.7008e+00, 1.3987e+00, 8.9126e-01, 6.0391e-02, -6.9845e-01, 4.4877e-01, 1.7847e+00, 1.8920e-02, -2.3491e-01, 3.5337e-01, -1.0979e+00, 8.1997e-01,\n 8.5563e-01, 4.2930e-01, 1.3243e+00, 4.0180e-01, -3.2744e-01, 6.1056e-01, 4.2941e+00, -1.5944e+00, -1.1893e+00, 2.0472e-01, 6.9853e-01, -7.3929e-01, -9.8147e-01, 9.5287e-02, -7.3778e-01, 6.0350e-01, -4.1686e-01, -1.1967e+00, 1.8388e-01, 1.1531e+00, 1.1726e+00, -1.1510e+00, -8.7843e-01, 4.1357e-01,\n -6.4750e-01, 7.9785e-01, 6.7846e-01, 3.6251e-01, -3.8063e-01, -7.2295e-01, 1.0272e+00, 2.4257e+00, -1.5850e+00, -9.2397e-01, -4.7095e-01, -1.4639e+00, 7.6888e-01, -7.6751e-01, 1.2405e+00, -4.4080e-01, 1.0645e+00, 1.1791e+00, 1.4968e+00, -1.0193e+00, 7.3665e-02, -8.5833e-01, 2.5319e-01, 5.6871e-02]])}]]" + ] + }, + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 1909.0692786024013, + 300.9968262666167 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 147 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 98, + "type": "Bookmark (rgthree)", + "pos": { + "0": 4141.1123046875, + "1": -18.06789207458496, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0 + }, + "size": { + "0": 210, + "1": 62 + }, + "flags": { + "collapsed": true + }, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "3", + 0.7000000000000001 + ] + }, + { + "id": 107, + "type": "Bookmark (rgthree)", + "pos": { + "0": 48.874656677246094, + "1": 1095.9202880859375, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0 + }, + "size": { + "0": 210, + "1": 62 + }, + "flags": { + "collapsed": true + }, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "4", + 0.7000000000000001 + ] + }, + { + "id": 89, + "type": "PreviewBridge", + "pos": [ + 4161.111966058647, + 671.9319975017709 + ], + "size": [ + 380, + 290 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null, + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 161 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "PreviewBridge" + }, + "widgets_values": [ + "$89-0" + ] + }, + { + "id": 110, + "type": "Anything Everywhere?", + "pos": [ + 4371.111966058648, + 991.931997501771 + ], + "size": { + "0": 320, + "1": 110 + }, + "flags": { + "collapsed": true + }, + "order": 47, + "mode": 0, + "inputs": [ + { + "name": "MASK", + "type": "*", + "link": 161, + "color_on": "#a3bd8d" + } + ], + "title": "To GrowMask Drawn", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "GrowMask Drawn", + ".*", + "Mask Generation", + "Tensor shape torch.Size([64, 64])" + ] + }, + { + "id": 103, + "type": "Anything Everywhere?", + "pos": [ + 298.8735559440846, + 1695.9192711049209 + ], + "size": { + "0": 320, + "1": 110 + }, + "flags": { + "collapsed": true + }, + "order": 71, + "mode": 0, + "inputs": [ + { + "name": "CONDITIONING", + "type": "*", + "link": 155, + "color_on": "#cf876f" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSampler", + "positive", + "Animation Generation", + "[[tensor([[[-0.3838, 0.0186, -0.0634, ..., -0.4860, -0.2947, 0.0626],\n [ 0.0421, 0.8069, -1.0408, ..., -1.3443, -1.1847, -1.5706],\n [-0.1811, 0.8213, -0.3507, ..., -0.9731, -2.5252, -1.2073],\n ...,\n [ 0.2033, -0.6130, -0.2063, ..., 0.2191, -1.9069, -0.0239],\n [ 0.1991, -0.6174, -0.2186, ..., 0.2361, -1.8992, -0.0108],\n [ 0.2190, -0.6473, -0.1682, ..., 0.2268, -1.8787, -0.0609]]]), {'pooled_output': tensor([[ 2.1584e-01, 3.1929e-01, 1.3100e+00, 1.0880e+00, -2.1063e+00, 2.2096e+00, -1.4162e+00, -1.0209e+00, -3.3866e-01, -2.0113e-01, -3.1626e-01, 8.2719e-01, 8.7275e-01, -3.8309e-01, 1.9391e-01, 9.2205e-01, -2.4123e+00, 9.4049e-01, -1.0052e+00, 1.4314e+00, 7.7700e-01, 5.8381e-01, 4.1288e-02, -2.2637e-01,\n 4.1030e-01, 1.6590e-01, 1.0964e+00, -4.1667e-01, 6.7375e-02, 6.2882e-01, -7.0225e-02, 4.6848e-01, 1.0345e+00, -6.9567e-01, -3.4712e-03, 8.2493e-01, -1.2166e-01, -1.9658e+00, 9.5117e-01, -2.8608e-01, 4.5414e-01, 2.8459e-01, 8.9199e-01, -8.2451e-01, -1.0115e+00, -2.4431e-01, -2.2706e-01, -3.3241e-01,\n -5.1132e-01, -2.8338e-01, -2.3971e-01, 2.9239e-01, 2.3334e-01, 1.2305e+00, 6.3044e-01, -2.3931e+00, -5.1052e-01, 3.1757e-01, 3.2334e-02, -4.8245e-01, -2.6799e-01, -4.4192e-01, -1.2994e-01, 9.8987e-03, 1.9521e-01, -1.3529e+00, -1.2270e+00, 2.7287e-02, 5.6942e-01, -4.3871e-01, -3.4164e-01, -3.5421e-01,\n 4.4330e-01, 9.2251e-02, -1.3927e+00, 1.1156e+00, -5.4788e-01, -9.4423e-01, 9.4115e-01, 1.7920e-02, -5.6449e-01, 1.0324e+00, -1.3353e+00, 6.8574e-01, -4.4094e-01, -8.8566e-01, -1.8222e+00, -3.4252e-01, -8.8645e-01, -6.4546e-01, 1.0006e+00, -1.2481e+00, 8.2340e-01, 9.1616e-01, 8.6866e-01, 4.2024e-01,\n 6.6852e-02, -8.8185e-01, 3.0061e-01, 1.0667e+00, -6.4265e-01, 3.5690e-01, 2.0487e-01, -9.7659e-01, 2.6692e-01, 7.9153e-01, -1.4484e+00, 7.5540e-01, -7.9329e-02, -1.3293e+00, -1.6278e+00, 6.3296e-01, -5.5569e-01, -7.8269e-02, -5.8642e-01, -6.1002e-01, -1.6540e+00, -1.2137e+00, 1.0327e+00, -5.3734e-01,\n 1.2253e+00, -1.1635e+00, -3.6861e-01, 1.0698e-01, -1.6082e-02, 2.0030e-02, 2.0597e-01, -1.3234e-01, -2.1968e-01, -4.7537e-01, -1.0472e+00, 8.7280e-01, -1.7608e+00, 4.9543e-01, -9.4028e-01, 4.4976e-01, 2.0343e-02, -2.2592e-01, 1.0538e+00, 5.1336e-01, -9.6768e-02, -3.5282e-01, -2.1943e-01, -7.0936e-01,\n 5.8092e-01, -5.8256e-01, -7.4084e-01, 9.2860e-02, 4.5238e-01, -1.2841e+00, -1.0014e+00, 3.5113e-01, 4.5715e-01, -7.4424e-02, 1.8786e+00, 7.0802e+00, -7.3103e-01, -7.2739e-01, -7.5002e-02, -9.8281e-01, -2.0293e-01, 5.1710e-01, -7.2100e-01, -5.7666e-01, -6.9047e-01, -1.2421e+00, -9.1845e-01, 2.4292e-01,\n 9.2924e-01, -1.9269e+00, -3.3102e-01, -1.2127e-02, 5.6690e-01, -1.0243e+00, -1.2700e+00, 8.1351e-01, -6.4805e-01, 1.7737e+00, 6.2560e-01, -9.1260e-01, -4.2307e-01, 7.8381e-01, 1.6090e+00, -1.6784e-01, 1.3739e-01, 5.3042e-01, -2.7731e-01, -9.6685e-01, 6.3639e-02, 2.0134e+00, -1.4682e+00, -2.8813e-01,\n -1.0653e+00, -8.8883e-01, -1.0015e+00, 1.0637e+00, -1.7582e-01, -1.4600e+00, -2.2893e+00, -1.7944e+00, -3.6534e-01, -7.1667e-02, 3.4012e-01, -1.0331e+00, -2.0910e+00, -6.2939e-01, -1.0854e+00, -2.3054e-01, -5.4571e-01, -9.2027e-02, -4.5911e-03, -1.4666e+00, 7.7135e-01, -9.1245e-02, 8.9795e-01, -1.0244e+00,\n -8.9960e-01, -1.6348e+00, -1.7067e+00, 2.3635e+00, -1.5410e+00, 1.0408e+00, 3.2968e+00, 7.0442e-01, -7.6492e-01, -4.7260e-01, 3.3991e-01, 3.3834e-01, 1.8057e-01, -5.9498e-01, -1.3893e+00, -1.3053e-01, 1.1835e+00, 5.3858e-01, -5.0634e-01, 1.2807e+00, -1.8756e-01, -5.8109e-01, 1.3167e-01, -2.7079e-01,\n -2.3581e-01, -6.9024e-01, -1.1290e+00, -5.2076e-01, 2.7600e-01, -2.4999e-01, 1.1144e+00, -7.6189e-01, 1.5723e-01, 1.2996e+00, -1.4571e-01, -1.4513e-03, 1.8020e+00, 1.1991e+00, -1.4605e+00, -1.0768e+00, -7.5926e-01, -8.8821e-01, -1.2627e-01, -3.0156e-01, 8.7062e-01, 1.1294e-01, 2.4543e+00, -5.7641e-01,\n 1.2199e-01, -9.8816e-01, -1.0976e+00, -1.9321e+00, 9.2557e-01, 9.8329e-01, -1.9997e-01, -9.2107e-01, 1.4521e-02, 5.1641e-01, 1.6712e+00, -9.0299e-01, -1.8834e+00, 7.5331e-01, 3.7323e-01, -4.3425e-01, 7.9150e-01, -3.4043e-01, -1.7005e+00, 1.6606e+00, -1.0573e+00, 1.0153e+00, -1.2679e+00, 8.9078e-01,\n 4.2113e-01, -1.2669e-01, -5.9510e-01, 6.6515e-01, -1.3992e+00, -1.0376e-01, -1.1747e+00, 1.0201e+00, -7.3238e-01, -3.1275e-01, -1.0919e+00, -4.0514e-01, -4.5458e-01, -5.2408e-01, -6.8295e-01, 5.6422e-01, -1.3160e+00, -8.0002e-01, -6.4163e-01, 4.6915e-01, 2.5584e-01, 6.6799e-02, 7.4908e-01, -1.6499e+00,\n 1.1288e+00, -7.3035e-01, -6.2782e-01, -7.1390e-01, -1.3464e+00, 3.8305e-01, -3.0256e-01, 7.8325e-01, 1.0195e+00, -4.2059e-01, 3.6993e-01, -1.1371e+00, 2.1117e+00, 1.0939e+00, -1.0390e+00, -2.3841e-01, -7.7614e-01, 1.6230e+00, 2.1922e-01, 6.0564e-01, 8.9343e-01, -7.3971e-01, -1.9990e+00, -7.0699e-01,\n 1.9454e+00, -4.8870e-01, 1.0914e+00, -4.0625e-01, -1.8044e+00, 9.0898e-01, -3.4264e-01, 2.7640e-01, 5.2067e-01, -6.7294e-01, 2.8171e-01, -1.7214e+00, 1.0358e+00, -4.4577e-01, 7.6947e-01, -8.0953e-01, 1.5908e+00, -4.7602e-01, 2.0815e-02, -9.9696e-02, -6.8607e-01, -3.5260e-01, -6.9833e-01, 4.6734e-02,\n -6.4958e-01, 1.6151e+00, -6.1810e-01, -3.1138e-01, -1.2646e+00, 8.7179e-01, -1.4487e+00, 1.5664e+00, -4.5526e-01, -2.4175e+00, 1.3294e+00, -8.8094e-01, 1.6624e+00, -2.6036e-01, -1.0510e+00, -2.3869e-02, 4.0011e-01, -1.8435e+00, 1.2494e-01, 6.8201e-01, 1.1029e+00, -4.6882e-01, -6.1071e-01, -8.8258e-02,\n 6.4916e-01, 1.0018e+00, -6.5152e-01, -3.2591e-01, 1.5423e+00, -7.0597e-01, 3.3100e-01, 5.9074e-01, 2.5753e-01, 9.0136e-01, 5.6005e-02, -7.0067e-01, -5.8394e-01, -2.1249e+00, -1.2612e+00, 4.8080e-01, -8.7921e-01, -2.4103e+00, 1.1862e+00, 6.6376e-01, 3.9407e-01, 1.5997e-02, -7.7331e-02, -6.5961e-01,\n 1.4469e-01, 7.1938e-01, -4.3710e-01, -1.1035e+00, 1.0279e+00, -1.4106e+00, -3.4957e+00, -7.6683e-01, -5.3154e-01, -1.4903e+00, 2.5834e-01, -1.6314e-01, -2.0086e-01, 1.3740e+00, -8.3169e-01, 1.6417e-01, 1.4689e+00, 2.2509e-01, 1.1334e+00, 4.3233e-01, 1.7083e+00, 1.0941e-01, 9.7138e-01, -2.3952e+00,\n -1.3881e+00, -1.1209e+00, 3.7255e-01, -5.7425e-01, -7.1999e-02, -6.3396e-01, -5.8408e-02, -4.5969e-01, 8.1545e-01, -3.0498e-01, -6.5582e-01, 6.8958e+00, -4.9998e-01, -2.9923e-01, -9.7057e-01, -1.3375e+00, 8.8983e-01, 2.7077e-01, 2.5468e-01, 2.4211e-01, 1.4904e+00, 1.0371e-01, -1.7550e-01, 1.7463e-01,\n -1.6945e-01, -1.0831e+00, -5.2130e-01, 1.4906e-01, 4.2183e-03, -9.5658e-01, -1.0373e+00, 3.5958e-01, 5.4921e-01, -2.7509e-02, 6.2889e-01, 2.0642e-01, 1.0667e+00, -6.1945e-01, 9.5072e-01, 1.0558e+00, -3.5463e-02, -1.1857e+00, -4.5965e-01, -6.5663e-01, -1.3347e+00, -4.8722e-02, 1.1551e+00, 4.6594e-01,\n 1.6104e+00, 2.8896e-02, 1.0671e+00, -3.3923e+00, 2.0744e-01, -1.0265e+00, -5.7165e-01, -4.4342e-01, -4.4290e-01, -1.1520e+00, -1.2797e+00, 2.9039e-01, 7.0900e-02, -1.5871e+00, 5.4212e-01, 1.8424e+00, -1.0986e+00, -1.5711e+00, -1.0177e+00, -6.3476e-01, 8.4354e-01, 1.6790e+00, -8.6731e-01, 7.0108e-01,\n -1.2171e+00, 1.9706e+00, -4.2399e-01, -3.4276e-01, -5.8441e-01, 7.9181e-01, -1.6117e+00, 7.7778e-02, -1.1386e+00, -1.7020e+00, -8.4243e-01, -4.9974e-01, 1.1687e-01, -1.8382e-04, -6.2332e-01, 1.0377e-01, -1.3430e-01, 5.2340e-01, -1.4969e+00, 3.8712e-01, 1.2450e+00, -1.6464e+00, -2.9899e+00, 4.7643e-01,\n 1.4784e+00, -1.7674e+00, 7.8723e-01, 5.0344e-01, 1.5955e+00, 4.1546e-01, -1.3546e+00, -1.2025e-01, -1.2235e+00, -2.6623e-01, -1.1197e-01, 2.6179e-01, -4.4663e-01, -1.8282e-01, 4.1282e-01, -5.3597e-01, -5.0571e-01, -3.1400e-01, 2.1623e+00, 2.1818e+00, 9.8555e-01, -1.3078e-01, 1.9333e-01, -1.6475e+00,\n -4.3526e-01, -1.2270e+00, -4.8962e-01, 2.5396e-01, 1.6729e-01, -8.7214e-01, -3.7351e-01, -5.4387e-01, -2.6527e-01, -4.2171e+00, -4.2957e-01, -8.0549e-01, -4.0577e-01, -1.7452e+00, -2.8644e-01, 2.6349e-01, -3.7454e-01, 8.6624e-01, 4.1067e-01, -1.3584e-01, -6.5272e-01, 6.3360e-01, -5.3436e-01, -6.3495e-01,\n -4.2379e-01, -2.6454e+00, 1.6397e+00, 2.0206e-01, 8.7244e-01, -6.4554e-01, 7.4137e-01, -9.2798e-01, 1.5623e+00, 9.9973e-01, -7.5367e-01, 7.2249e-01, 1.7394e+00, 1.3116e-01, 7.9534e-01, 1.6972e-01, -1.3085e+00, -1.7172e+00, -9.8482e-02, -2.2848e+00, 2.8933e-01, -1.0614e+00, -6.9281e-01, 1.3401e+00,\n -9.0944e-01, -5.3096e-01, -1.0804e+00, -4.0766e-02, -4.8042e-01, -1.0547e+00, -2.6884e-01, 2.2525e-01, -7.0532e-01, -1.1525e+00, 8.2325e-02, 6.1750e-01, 5.9201e-01, -1.8833e-01, -8.2594e-01, -2.7279e-01, 7.1239e-02, 6.5610e-01, -1.7306e+00, 6.9333e-01, 8.6168e-01, 9.3116e-02, 7.2305e-01, -7.0360e-01,\n -1.2953e+00, 5.4541e-01, 6.2092e-01, -4.5998e-01, 1.4005e+00, 3.0218e-01, -6.7440e-01, -4.2030e-01, -1.5355e+00, 1.0548e+00, -2.1915e+00, -1.5440e+00, 7.0308e-01, 5.6555e-01, -6.3774e-01, 4.5424e-01, 2.5046e+00, 4.0270e-01, 2.9055e+00, 1.6995e-01, 3.7766e+00, 1.0340e+00, -7.2937e-01, -2.1093e+00,\n -2.3827e-01, -1.7102e+00, -2.3710e-01, -1.5374e+00, -9.8860e-01, 1.8437e-01, -1.5068e+00, 4.0668e-01, 8.2034e-02, -9.9214e-02, 1.7835e-01, -3.3303e+00, 2.9909e-01, -4.7267e-03, -1.1948e+00, 3.4026e-01, 5.6069e-01, -1.4989e-01, 2.8278e-01, 2.2833e-01, 7.1486e-01, -1.6140e+00, 7.5927e-01, -3.3179e-01,\n 1.0201e+00, -5.8961e-01, -1.9009e+00, -2.9965e-01, 6.4008e-01, -1.1983e-01, -8.1140e-01, 5.5193e-01, 2.2628e-01, 2.8291e+00, 1.1116e-01, 9.7567e-01, 1.8098e+00, 1.0336e+00, 4.8152e-01, 3.7620e-01, -1.7245e-01, 4.4376e-01, -1.1197e+00, 1.7869e+00, -3.2781e-01, -4.0583e-01, 9.0140e-02, -2.3879e-02,\n 1.2132e+00, -8.9596e-01, -3.0505e-01, -7.3599e-01, -5.6691e-01, -1.2956e-01, 8.4834e-01, 1.4350e-01, 4.2692e-01, 3.1963e-01, -6.9637e-01, -1.8571e-01, -1.1380e+00, 3.8253e-01, 1.5320e+00, -6.2422e-02, -1.0248e+00, 4.2713e-01, 1.0596e+00, -1.5561e+00, -1.2168e+00, -1.2445e+00, -9.5029e-01, 6.1220e-01,\n -1.3034e+00, 8.7642e-01, 2.1216e+00, -2.0990e-01, 1.4408e+00, 9.1129e-01, 1.7284e+00, 7.7043e-04, 1.4433e-01, -1.7728e-01, -4.8347e-01, -4.9516e-01, -1.0192e+00, 8.7746e-01, 1.1174e+00, -3.6764e-01, -1.3820e+00, -2.2115e+00, 1.3886e+00, 3.4139e-01, 1.2214e-01, 8.1896e-01, -9.1524e-01, -3.6700e-01,\n 7.7296e-01, -7.2194e-01, -1.9309e-01, 3.9375e-01, -1.3453e+00, 6.1126e-02, -7.0618e-01, 1.3378e-01, 1.1044e-01, -2.0392e+00, -8.7949e-02, -3.8382e-01, -5.0238e-01, -1.3733e+00, 9.9456e-01, -3.0903e-01, 2.9176e-01, 8.0046e-01, 1.4517e+00, -4.5809e-01, -2.9137e-01, -7.2302e-01, -1.0697e+00, -3.8218e-01]])}]]" + ] + }, + { + "id": 105, + "type": "Anything Everywhere?", + "pos": [ + 618.8735559440822, + 1465.9192711049204 + ], + "size": { + "0": 320, + "1": 110 + }, + "flags": { + "collapsed": true + }, + "order": 59, + "mode": 0, + "inputs": [ + { + "name": "CONTEXT_OPTIONS", + "type": "*", + "link": 157, + "color_on": "" + } + ], + "title": "To AnimateDiffLoader", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + ".*", + "context_options", + "Animation Generation" + ] + }, + { + "id": 51, + "type": "ImageToMask", + "pos": [ + 4981.111966058647, + 61.93199750177126 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": null + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 168 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "ConvertImagetoMask", + "properties": { + "Node name for S&R": "ImageToMask" + }, + "widgets_values": [ + "red" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 54, + "type": "VAEDecode", + "pos": [ + 2787.6709631727113, + 233.55834970411732 + ], + "size": { + "0": 240, + "1": 50 + }, + "flags": { + "collapsed": false + }, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": null + }, + { + "name": "vae", + "type": "VAE", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 143 + ], + "slot_index": 0 + } + ], + "title": "VAEDecode", + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 63, + "type": "Anything Everywhere", + "pos": [ + 4361.111966058648, + 51.93199750177126 + ], + "size": { + "0": 210, + "1": 30 + }, + "flags": { + "collapsed": true + }, + "order": 50, + "mode": 0, + "inputs": [ + { + "name": "SAM_MODEL", + "type": "*", + "link": 96, + "color_on": "" + } + ], + "title": "To Grounding", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere" + } + }, + { + "id": 60, + "type": "SAMLoader", + "pos": [ + 4161.861485047316, + 52.15897278582822 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": { + "collapsed": true + }, + "order": 9, + "mode": 0, + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "links": [ + 96 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "Prefer GPU" + ] + }, + { + "id": 61, + "type": "GroundingDinoModelLoader (segment anything)", + "pos": [ + 4161.861485047316, + 92.15897278582824 + ], + "size": { + "0": 361.20001220703125, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 10, + "mode": 0, + "outputs": [ + { + "name": "GROUNDING_DINO_MODEL", + "type": "GROUNDING_DINO_MODEL", + "links": [ + 95 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "GDModelLoader", + "properties": { + "Node name for S&R": "GroundingDinoModelLoader (segment anything)" + }, + "widgets_values": [ + "GroundingDINO_SwinT_OGC (694MB)" + ] + }, + { + "id": 62, + "type": "Anything Everywhere", + "pos": [ + 4361.861485047317, + 92.15897278582824 + ], + "size": { + "0": 210, + "1": 30 + }, + "flags": { + "collapsed": true + }, + "order": 51, + "mode": 0, + "inputs": [ + { + "name": "GROUNDING_DINO_MODEL", + "type": "*", + "link": 95, + "color_on": "" + } + ], + "title": "To Grounding", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere" + } + }, + { + "id": 64, + "type": "PreviewImage", + "pos": [ + 4161.861485047316, + 352.1589727858281 + ], + "size": { + "0": 380, + "1": 260 + }, + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": null + } + ], + "title": "DinoSelectionPreview", + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 59, + "type": "GroundingDinoSAMSegment (segment anything)", + "pos": [ + 4161.861485047316, + 152.1589727858283 + ], + "size": { + "0": 380, + "1": 122 + }, + "flags": { + "collapsed": false, + "pinned": true + }, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "sam_model", + "type": "SAM_MODEL", + "link": null, + "slot_index": 0 + }, + { + "name": "grounding_dino_model", + "type": "GROUNDING_DINO_MODEL", + "link": null, + "slot_index": 1 + }, + { + "name": "image", + "type": "IMAGE", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 167 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 163 + ], + "shape": 3, + "slot_index": 1 + } + ], + "title": "GroundingDino", + "properties": { + "Node name for S&R": "GroundingDinoSAMSegment (segment anything)" + }, + "widgets_values": [ + "rocketship,thruster", + 0.4 + ] + }, + { + "id": 90, + "type": "Switch mask [Crystools]", + "pos": [ + 4581.861485047317, + 612.1589727858282 + ], + "size": { + "0": 300, + "1": 80 + }, + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "on_true", + "type": "MASK", + "link": null + }, + { + "name": "on_false", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "mask", + "type": "MASK", + "links": [ + 174 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Switch Mask", + "properties": { + "Node name for S&R": "Switch mask [Crystools]" + }, + "widgets_values": [ + true + ] + }, + { + "id": 115, + "type": "Anything Everywhere?", + "pos": [ + 4751.861485047316, + 392.1589727858281 + ], + "size": { + "0": 320, + "1": 110 + }, + "flags": { + "collapsed": true + }, + "order": 55, + "mode": 0, + "inputs": [ + { + "name": "MASK", + "type": "*", + "link": 166, + "color_on": "#a3bd8d" + } + ], + "title": "To Switch Mask", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + ".*", + "on_true", + "Mask Generation", + "Tensor shape torch.Size([1, 512, 512])" + ] + }, + { + "id": 68, + "type": "GrowMask", + "pos": [ + 4571.861485047316, + 282.15897278582815 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 166 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "GrowMask Dino", + "properties": { + "Node name for S&R": "GrowMask" + }, + "widgets_values": [ + 36, + true + ] + }, + { + "id": 125, + "type": "Note", + "pos": [ + 4571.861485047316, + 42.15897278582822 + ], + "size": { + "0": 340, + "1": 180 + }, + "flags": {}, + "order": 15, + "mode": 0, + "title": "IF USING DINO FOR MASK", + "properties": { + "text": "" + }, + "widgets_values": [ + "Once you know what you want to select in your generation type it in the prompt field to the left\n\nDino is very object specific and you can select multiple objects by using commas\n\nFor Example \"person,cat\"\n\nor if there are multiple subjects you can narrow them down like this\n\n\"person wearing red,black cat\"" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 71, + "type": "NNLatentUpscale", + "pos": [ + 2714.39946946684, + 63.960286272620515 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": { + "pinned": false + }, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "latent", + "type": "LATENT", + "link": null + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 145 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "NNLatentUpscale" + }, + "widgets_values": [ + "SD 1.x", + 2 + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 58, + "type": "ADE_AnimateDiffLoRALoader", + "pos": [ + 60, + 1170 + ], + "size": { + "0": 360, + "1": 82 + }, + "flags": {}, + "order": 17, + "mode": 4, + "inputs": [ + { + "name": "prev_motion_lora", + "type": "MOTION_LORA", + "link": null + } + ], + "outputs": [ + { + "name": "MOTION_LORA", + "type": "MOTION_LORA", + "links": [ + 152 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoRALoader" + }, + "widgets_values": [ + "v2_lora_ZoomIn.ckpt", + 1 + ] + }, + { + "id": 117, + "type": "Anything Everywhere?", + "pos": [ + 5131.861485047313, + 152.1589727858283 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 48, + "mode": 0, + "inputs": [ + { + "name": "MASK", + "type": "*", + "link": 168, + "color_on": "#a3bd8d" + } + ], + "title": "To Set Latent Mask", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "^Set", + "mask", + "Animation Generation", + "Tensor shape torch.Size([1, 512, 512])" + ] + }, + { + "id": 85, + "type": "Anything Everywhere?", + "pos": [ + 2884.39946946684, + 173.9602862726206 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 56, + "mode": 0, + "inputs": [ + { + "name": "LATENT", + "type": "*", + "link": 145, + "color_on": "#b38ead" + } + ], + "title": "To FrameCount", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "^.*?Frame Count$", + ".*", + "Animation Generation", + "Latent shape torch.Size([1, 4, 128, 128])" + ] + }, + { + "id": 101, + "type": "Anything Everywhere?", + "pos": [ + 250, + 1440 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 67, + "mode": 0, + "inputs": [ + { + "name": "LATENT", + "type": "*", + "link": 153, + "color_on": "#b38ead" + } + ], + "title": "To Latent Noise Mask", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + ".*", + "Samples", + "Animation Generation", + "Latent shape torch.Size([16, 4, 128, 128])" + ] + }, + { + "id": 13, + "type": "SetLatentNoiseMask", + "pos": [ + 90, + 1760 + ], + "size": { + "0": 220, + "1": 50 + }, + "flags": { + "collapsed": false + }, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": null, + "label": "Samples" + }, + { + "name": "mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 158 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SetLatentNoiseMask" + }, + "color": "#222" + }, + { + "id": 127, + "type": "Anything Everywhere?", + "pos": [ + 190, + 2060 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 65, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "*", + "link": 170, + "color_on": "#29699C" + } + ], + "title": "To KSampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSampler", + ".*", + "Animation Generation", + "618761999428034" + ] + }, + { + "id": 106, + "type": "Anything Everywhere?", + "pos": [ + 180, + 1830 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 58, + "mode": 0, + "inputs": [ + { + "name": "LATENT", + "type": "*", + "link": 158, + "color_on": "#b38ead" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSampler", + ".*", + "Animation Generation", + "Latent shape torch.Size([16, 4, 128, 128])" + ] + }, + { + "id": 129, + "type": "Anything Everywhere", + "pos": [ + 520, + 100 + ], + "size": { + "0": 210, + "1": 30 + }, + "flags": { + "collapsed": true + }, + "order": 75, + "mode": 0, + "inputs": [ + { + "name": "CLIP", + "type": "*", + "link": 172, + "color_on": "#eacb8b" + } + ], + "title": "Clip", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere" + }, + "widgets_values": [ + "" + ] + }, + { + "id": 26, + "type": "ADE_AnimateDiffUniformContextOptions", + "pos": [ + 450, + 1170 + ], + "size": { + "0": 350, + "1": 270 + }, + "flags": { + "collapsed": false + }, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "prev_context", + "type": "CONTEXT_OPTIONS", + "link": null + }, + { + "name": "view_opts", + "type": "VIEW_OPTS", + "link": null + } + ], + "outputs": [ + { + "name": "CONTEXT_OPTIONS", + "type": "CONTEXT_OPTIONS", + "links": [ + 157 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffUniformContextOptions" + }, + "widgets_values": [ + 20, + 1, + 5, + "uniform", + true, + "flat", + false, + 0, + 1 + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 15, + "type": "CLIPTextEncode", + "pos": [ + 450, + 1520 + ], + "size": { + "0": 360, + "1": 150 + }, + "flags": {}, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 156 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "text, watermark" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 79, + "type": "Fast Groups Bypasser (rgthree)", + "pos": { + "0": 650, + "1": 50, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0 + }, + "size": { + "0": 500, + "1": 130 + }, + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "OPT_CONNECTION", + "type": "*", + "links": null + } + ], + "properties": { + "matchColors": "", + "matchTitle": "", + "showNav": true, + "sort": "position", + "customSortAlphabet": "", + "toggleRestriction": "default" + }, + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 66, + "type": "PreviewImage", + "pos": [ + 2360, + 400 + ], + "size": { + "0": 760, + "1": 430 + }, + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": null + } + ], + "title": "Generate Preview", + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 82, + "type": "Anything Everywhere?", + "pos": [ + 2480, + 330 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 73, + "mode": 0, + "inputs": [ + { + "name": "LATENT", + "type": "*", + "link": 144, + "color_on": "#b38ead" + } + ], + "title": "To LatentUpscale/VAE", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "NNLatentUpscale|VAEDecode", + "samples|latent", + "Generate", + "Latent shape torch.Size([1, 4, 64, 64])" + ] + }, + { + "id": 87, + "type": "Anything Everywhere?", + "pos": [ + 2210, + 250 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 72, + "mode": 0, + "inputs": [ + { + "name": "CONDITIONING", + "type": "*", + "link": 146, + "color_on": "#cf876f" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSamplerGen", + "positive", + "Generate", + "[[tensor([[[-0.3838, 0.0186, -0.0634, ..., -0.4860, -0.2947, 0.0626],\n [ 0.0421, 0.8069, -1.0408, ..., -1.3443, -1.1847, -1.5706],\n [ 0.0594, 0.1867, 1.7874, ..., -0.7884, -1.1286, -0.5459],\n ...,\n [-0.2570, -0.6702, -0.2715, ..., -0.1319, -1.2035, -0.4012],\n [-0.2534, -0.6601, -0.2665, ..., -0.1177, -1.2154, -0.3790],\n [-0.2076, -0.6686, -0.2189, ..., -0.1364, -1.1663, -0.4284]]]), {'pooled_output': tensor([[-1.9928e-01, 2.4172e-01, 1.5648e+00, 6.2931e-01, -4.6514e+00, 1.9129e+00, -1.2103e+00, -5.8902e-01, -1.5415e-01, 1.5988e-01, -8.3306e-01, 9.7469e-02, 1.0492e-01, 3.8918e-01, 2.2198e-02, 8.2468e-01, -1.6543e+00, 9.8459e-01, -8.1218e-01, 3.0147e-01, 7.6007e-01, 1.2884e+00, -2.4475e-01, 1.4806e-01,\n -5.4244e-01, 9.7835e-01, 8.4493e-01, -2.5974e-01, -2.9725e-01, 4.1337e-01, -8.8599e-02, 2.3250e-01, 6.0996e-01, -1.2540e+00, 1.0670e+00, 5.2092e-01, -4.3706e-01, -1.4245e+00, -6.7383e-02, 5.0513e-01, 1.4372e+00, 5.6679e-01, 9.4127e-01, -1.1595e+00, 3.3629e-03, -4.1890e-01, 8.5274e-01, -2.8320e-01,\n -1.1211e+00, 6.0991e-02, -3.7905e-01, 5.3512e-01, 1.1003e+00, 4.4052e-01, 5.1206e-02, -2.0574e+00, -3.0833e-01, 1.0620e+00, 1.6932e-01, 1.1682e-01, 2.9429e-01, -1.8685e+00, -4.9290e-01, -1.9984e-01, -4.6814e-01, -1.1533e+00, 5.2641e-02, 3.7593e-01, -3.3155e-01, 1.6475e+00, 4.3400e-01, -7.5788e-01,\n 6.5712e-02, 5.4909e-01, -9.3903e-01, 7.8775e-01, 2.0914e-02, -1.2627e+00, -1.0385e-01, -4.6200e-02, -9.2707e-01, 1.3838e+00, -1.3234e+00, 1.2600e+00, -4.0338e-01, -9.1422e-01, -5.8693e-01, 1.1141e+00, -1.4245e+00, -8.1145e-02, 9.4514e-01, -1.1222e+00, -1.1411e-01, 1.4360e+00, 1.4478e+00, 1.9045e+00,\n 5.8336e-01, 4.0046e-01, -8.5012e-01, 8.9664e-02, -1.5651e+00, 4.9984e-01, 1.5674e-02, -6.1044e-01, -3.5747e-01, 7.0764e-01, -1.8056e+00, 7.4725e-01, 7.2104e-01, -1.2436e+00, -1.1791e+00, 2.0658e+00, -4.9346e-01, -9.1444e-01, 4.0413e-01, -6.6293e-01, -2.0020e+00, -8.0500e-01, 7.6082e-01, -7.8113e-01,\n 6.3764e-01, -9.9212e-01, -7.2258e-01, -9.2959e-01, -1.0980e+00, -3.4736e-01, -1.1268e-01, -3.3544e-01, -4.4995e-01, -2.3076e-01, -1.2425e+00, 2.1748e-01, -1.1623e+00, 1.8268e+00, 1.6093e-01, 4.1032e-01, -4.1459e-01, 2.0011e-01, 1.3096e+00, 9.6454e-01, 9.5179e-01, -9.1459e-01, -5.1592e-01, -8.2025e-01,\n 5.1206e-01, -9.5457e-01, -2.2874e-01, -3.5650e-02, 1.0699e+00, -9.4804e-02, -4.1824e-01, 9.1092e-01, -9.2723e-02, 9.3683e-01, 1.7704e+00, 7.4633e+00, -1.0008e+00, -8.2955e-01, -4.6173e-01, -4.9276e-01, -4.5186e-01, 2.2341e-02, -1.0637e+00, 7.8376e-02, -6.8000e-01, 5.6855e-01, -9.6711e-01, 2.5131e-01,\n 1.0572e+00, -1.6907e+00, -2.5562e-02, -7.5539e-01, 6.4689e-02, -1.1614e+00, -8.1480e-01, 3.8500e-02, -1.1828e+00, 1.2110e+00, 7.2606e-01, -1.1143e+00, -9.2507e-01, 1.6622e+00, 3.0019e-01, -4.7425e-02, -2.7197e-01, 1.5574e+00, -3.0468e-02, -1.3642e+00, 6.4577e-01, 2.4199e+00, -1.7966e+00, 7.7628e-01,\n -5.0299e-01, -2.6462e-01, -5.1308e-01, 2.9647e-01, -5.5104e-01, -5.8228e-01, -2.9400e+00, -1.4930e+00, 3.2299e-01, -8.1722e-02, 1.2997e+00, -1.2609e+00, -1.4907e+00, -2.8857e-01, -3.8089e-01, 2.1170e-01, -7.8965e-01, -8.1245e-02, 2.4261e-01, -1.5059e+00, -2.0770e-01, -1.0078e+00, 1.5683e+00, -9.2205e-01,\n -8.2045e-01, -1.3628e+00, -1.0150e+00, 2.8263e+00, -9.8959e-01, 5.9088e-01, 3.7782e+00, 1.2937e+00, -4.3670e-01, -7.7285e-01, 3.9445e-01, -5.6172e-01, -4.7157e-01, -3.5075e-01, -2.7315e-01, -2.1565e-01, 5.0652e-01, 5.0767e-01, 7.4340e-02, 1.0455e+00, 3.2571e-01, -1.1567e+00, 1.1047e-01, -1.0125e-01,\n -6.1018e-01, -1.1439e+00, -4.7959e-01, -2.3990e-01, 3.3977e-01, -6.3139e-01, 4.5942e-02, -6.1554e-01, -2.5521e-01, 5.8193e-01, 1.4871e-01, 1.1471e-01, 2.8568e-01, 2.1228e-01, 5.8253e-03, -5.3649e-01, 1.6740e-01, -1.0764e+00, -6.0095e-01, -1.5191e+00, 1.2169e+00, -8.3117e-01, 1.0549e+00, -9.1545e-01,\n -1.8583e-01, -1.0918e+00, -3.4535e-01, -1.0878e+00, 1.3262e+00, 2.0887e-01, 2.5116e-01, -1.1302e+00, -5.8187e-02, 1.3315e-01, 1.1104e+00, 5.3507e-02, -9.6785e-01, 1.0301e+00, -3.7708e-01, -4.9963e-01, 9.4353e-01, -1.2942e+00, -7.1135e-01, 4.9695e-01, 1.1469e-01, 4.5123e-01, -8.3676e-01, 4.2172e-01,\n 1.3858e-01, -7.7774e-01, -1.5919e+00, 8.9555e-01, -2.3748e-02, -8.7011e-01, -1.2446e+00, 5.7925e-02, 6.1378e-01, -2.8161e-01, -8.6341e-01, -8.6339e-01, -1.0216e-01, -4.8715e-02, -6.9656e-01, 1.1541e+00, -1.2947e+00, 5.4936e-01, -1.0991e+00, 4.7778e-01, 5.6636e-02, -3.7070e-01, 9.3143e-01, -1.0979e+00,\n 1.6934e-01, -2.3428e-01, -1.1591e+00, -1.4754e+00, -1.0478e+00, 2.4311e-01, -4.5664e-01, 1.2203e-01, 1.0461e+00, -7.5924e-01, -3.3843e-01, -7.1789e-01, 2.9111e+00, 4.8000e-01, -1.8552e+00, -2.6448e-01, -9.0992e-01, 1.0190e+00, 3.2249e-01, 2.9130e-01, -4.2421e-01, -7.5330e-01, -2.2968e+00, -4.7825e-01,\n 1.8963e+00, -1.1435e+00, 1.4798e+00, -2.5200e-01, -2.4067e+00, -2.7583e-01, -3.9572e-01, 5.7790e-01, 1.7824e-02, -2.2705e-01, 1.9233e-01, -1.1343e+00, 1.8100e-01, 1.5533e-01, 1.1691e+00, -1.2972e+00, 1.4177e+00, -8.3332e-01, -2.9568e-01, 3.8761e-01, -6.5240e-01, 1.3258e-01, -7.5978e-01, 3.1571e-01,\n -1.0563e+00, 1.6609e+00, -1.6360e+00, 8.5718e-01, -7.6263e-01, 1.3272e+00, -1.0757e+00, 7.9430e-01, -8.3126e-01, -1.8861e+00, 1.4620e+00, -1.6329e-01, 9.1699e-01, 4.2157e-02, -1.0489e+00, -8.0414e-01, -1.8462e-01, -4.6462e-01, 6.1166e-01, 6.1348e-01, 7.0027e-01, -5.1860e-01, -1.2341e+00, -2.6073e-01,\n 1.1544e+00, 6.7740e-01, -3.8882e-01, 4.5139e-02, 1.3177e+00, -1.5684e-01, -2.4595e-01, -3.5515e-02, -9.4030e-02, 1.2174e+00, -3.9781e-01, -2.6288e-01, -1.5033e+00, -2.3344e+00, 3.0555e-01, 2.6621e-01, -6.5328e-01, -1.3829e+00, 2.1354e-01, 4.8733e-01, 2.0624e-01, -1.9855e-01, 8.1007e-01, -9.2730e-01,\n -6.8194e-01, 1.7252e-01, -6.9955e-01, -2.3624e+00, -6.3899e-02, -2.9928e-01, -4.8169e+00, -2.2678e-01, 7.3605e-01, -9.9226e-01, 5.5470e-01, -4.1856e-01, 1.8536e-01, -4.0186e-03, -7.8276e-01, -9.8408e-02, 8.4050e-01, -4.7391e-01, 6.5294e-01, -2.5666e-01, 1.6165e+00, 4.0522e-01, 1.0634e+00, -1.9308e+00,\n -1.8600e+00, -2.4972e-01, 1.3109e+00, -2.6118e-01, 8.0380e-01, 5.1761e-01, 7.5647e-01, -1.5419e-01, 1.8502e+00, -1.5833e-01, -3.8700e-01, 5.8110e+00, -1.3080e+00, -2.1808e-01, -1.7735e+00, -1.9211e+00, 3.2233e-01, 4.6405e-01, -1.5675e-01, 8.1780e-02, 7.2865e-01, 1.8759e-01, -7.3608e-01, -5.7676e-01,\n -4.7863e-01, -9.1819e-01, 2.5695e-01, -2.5018e-01, 2.9128e-01, 1.2221e+00, -1.5238e+00, -6.9470e-01, 2.8706e-01, 3.7200e-01, 6.4734e-01, 8.7271e-01, 7.7479e-01, -2.6916e+00, 3.0920e-01, 4.7605e-01, -8.2183e-01, -1.0190e+00, 1.8287e-01, 8.0542e-03, -1.3216e+00, 2.3958e-01, 3.4732e-01, 4.6056e-01,\n 1.1371e+00, 9.9561e-01, 4.1214e-01, -1.9763e+00, 1.7311e-01, -1.2710e+00, -3.6573e-01, -6.7905e-02, -7.7488e-01, -9.0205e-01, -2.1843e-01, -9.4503e-01, -6.1752e-01, -1.9886e+00, 4.6414e-01, 9.7664e-01, -7.6350e-01, -2.7081e+00, -1.1433e+00, -1.8610e+00, 7.7606e-01, 1.9474e+00, -6.5085e-01, 1.2743e+00,\n -1.3609e+00, 1.0151e+00, -1.5221e+00, 1.5012e-01, -6.5539e-01, 1.5325e+00, -8.6428e-01, -9.6275e-02, -8.5137e-01, -2.1521e+00, 2.7351e-01, -2.3809e-01, -8.5235e-01, -1.9137e+00, -8.7249e-02, 4.1982e-01, 1.6947e-01, 1.1449e+00, -1.2843e+00, 8.3726e-01, 1.7419e+00, -1.0268e+00, -1.7168e+00, -2.8496e-01,\n 2.2468e+00, -1.2300e+00, 1.5494e+00, 1.5657e+00, 8.8765e-01, 4.6155e-01, -2.3571e-01, -7.5914e-01, -9.8899e-01, -9.5512e-01, 1.1559e+00, -3.1109e-01, -4.2164e-01, -2.6931e-01, 1.5629e+00, -1.3508e-01, -1.5506e+00, -9.2676e-01, 2.6049e+00, 8.4057e-01, 4.1524e-01, -8.6317e-01, 2.7301e-01, -1.7940e+00,\n -6.3098e-01, 6.4674e-02, -7.5278e-01, -5.2593e-01, 5.7278e-01, -1.1319e+00, -7.0071e-01, -1.4217e+00, -8.2777e-01, -4.6966e+00, -2.6828e-01, -8.7599e-01, -7.0148e-01, -1.0450e+00, -2.9730e-01, -1.4641e-01, -6.3883e-01, 8.0133e-01, 8.0746e-02, -5.4337e-01, -9.8901e-02, 4.1247e-01, -5.9062e-02, -1.3071e+00,\n -4.1184e-01, -2.4063e+00, 1.1942e+00, 7.2265e-01, 4.0622e-01, -1.3389e+00, 1.2900e+00, -2.0321e-01, 1.4748e+00, 3.9399e-01, 9.6049e-01, 1.4791e+00, 9.2831e-01, 6.3115e-01, 4.8260e-01, 9.0466e-02, -2.7679e-01, -1.2215e+00, 8.6614e-01, -1.2657e+00, 5.9057e-01, -1.4184e+00, -5.2348e-01, 1.6120e+00,\n -7.4601e-01, -1.7313e-01, -1.2884e+00, -2.0719e-01, 5.3132e-01, -5.8487e-01, -2.9857e-01, -1.0982e+00, -9.8889e-01, -1.1047e+00, 2.9745e-01, 9.0071e-02, 1.0190e+00, -4.2204e-01, -1.4677e-02, -6.3041e-01, 5.1497e-01, -6.3621e-01, -1.4973e+00, 8.3697e-04, 8.1666e-01, 1.0089e+00, 2.7765e-01, -8.6449e-01,\n -8.2390e-01, 1.9064e-01, 9.9088e-01, 2.1499e-01, 1.4295e+00, -2.3348e-02, -1.4097e+00, -2.6597e-01, -3.9138e-01, 1.2106e+00, -2.1768e+00, -8.3752e-02, -5.6638e-01, 1.2894e-01, -8.4327e-01, 1.1640e+00, 2.2064e+00, 1.1030e+00, 2.0305e+00, 7.3930e-01, 3.0709e+00, 1.6936e+00, -5.3930e-01, -1.2892e+00,\n -4.2782e-01, -8.6264e-01, -1.0812e+00, -1.8504e+00, -1.5163e+00, -4.5358e-01, -7.0755e-01, 4.1708e-01, 2.8097e-01, -2.3001e-01, 5.6331e-01, -2.4383e+00, 9.7928e-01, 6.4398e-01, -5.2335e-01, 1.3660e+00, 3.3235e-01, 4.0370e-02, -2.3628e-01, -5.2707e-01, 4.7513e-01, -1.4978e+00, 7.1760e-01, 3.3253e-01,\n 1.3770e+00, -1.4155e+00, -1.6274e+00, -1.2786e-01, 6.7000e-01, 7.7083e-02, -1.1775e+00, 1.6835e-01, -1.9593e-01, 1.9879e+00, 3.7532e-01, 9.9972e-01, 1.4726e+00, 8.1697e-01, 1.2725e+00, 5.5583e-01, -1.5335e-01, 6.9729e-01, -8.3292e-02, 1.6468e+00, -3.7598e-01, -3.6615e-01, -4.7066e-02, -5.7326e-02,\n 3.7686e-01, -1.2372e+00, -4.3676e-01, 1.7780e-01, -1.2290e+00, -2.3915e-01, 2.0683e-01, -5.3624e-01, 1.5920e+00, 2.9839e-01, -7.7228e-01, -7.2045e-02, -2.4283e-01, 1.2625e-01, 6.9709e-01, 2.0678e-01, -1.2477e+00, 3.1117e-01, 7.0519e-01, -1.1234e+00, -1.4233e+00, 3.8988e-03, -1.0981e+00, 1.3594e+00,\n -1.7908e+00, 8.8949e-01, 1.3405e+00, -5.2500e-01, 2.6913e-01, -9.2223e-02, 1.4009e+00, -3.2244e-01, -6.3201e-01, -4.6040e-01, -8.5683e-01, -6.1059e-01, -1.5026e+00, 1.3578e+00, 1.0066e+00, 8.4441e-01, -6.6736e-01, -2.9761e+00, 7.2657e-01, -6.7187e-01, -1.6164e-01, 2.6134e-01, -1.4854e+00, -8.2483e-01,\n 6.6403e-01, -1.7610e-01, 4.7936e-01, 8.8391e-01, -2.1911e+00, 2.5142e-01, -8.8341e-02, -6.8230e-01, -1.9843e-01, -1.2573e+00, 1.1104e-01, -1.7577e+00, -5.0770e-01, -2.5096e-02, 1.8538e-02, 6.5611e-01, -7.2222e-01, 6.5996e-01, 1.4897e+00, -1.1851e+00, -1.7386e-01, -5.4285e-01, -6.9087e-01, -6.9669e-01]])}]]" + ] + }, + { + "id": 88, + "type": "Anything Everywhere?", + "pos": [ + 2210, + 510 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 46, + "mode": 0, + "inputs": [ + { + "name": "CONDITIONING", + "type": "*", + "link": 147, + "color_on": "#cf876f" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSamplerGen", + "negative", + "Generate", + "[[tensor([[[-0.3838, 0.0186, -0.0634, ..., -0.4860, -0.2947, 0.0626],\n [-0.3083, -1.5113, -0.4466, ..., 1.0715, 0.1179, -0.7250],\n [-0.3203, -1.4570, -0.4212, ..., 1.1589, -0.0137, -0.5725],\n ...,\n [ 1.3679, -0.4983, -0.4141, ..., 0.8205, -1.3669, 0.6608],\n [ 1.3747, -0.4843, -0.4133, ..., 0.8404, -1.3789, 0.6654],\n [ 1.3781, -0.4509, -0.3674, ..., 0.8389, -1.3079, 0.6368]]]), {'pooled_output': tensor([[-3.0834e-01, -1.5113e+00, -4.4664e-01, 3.1598e-01, -1.5896e+00, 1.4859e-01, -2.6860e-01, -8.9886e-02, -1.0112e+00, 1.0091e+00, -7.2886e-01, 8.9378e-01, 2.1698e+00, -6.5116e-01, 3.2165e-01, 1.3817e-01, -1.5567e+00, 1.9924e+00, -5.4478e-01, -5.2872e-03, -9.7743e-01, 1.7320e+00, -1.3670e+00, -8.9429e-01,\n -6.3738e-01, 1.1173e+00, 5.4367e-01, -1.4847e+00, -7.3244e-01, -2.1133e-01, -1.7815e+00, 6.0417e-01, -8.9834e-01, 4.2488e-02, -1.2179e-01, -5.2549e-02, -7.0658e-01, -2.2886e+00, -1.0911e+00, 1.8062e+00, 6.5452e-01, -9.3927e-01, -3.3885e-01, -8.7948e-01, 2.2361e-01, -6.9121e-01, -1.1520e-01, -8.8856e-01,\n -3.0356e-01, -1.1567e-01, 1.2046e+00, -1.3988e-01, 4.2812e-01, 1.5620e+00, 7.1554e-01, -1.0632e+00, 1.7489e-01, -8.2943e-02, -7.3603e-01, -1.0731e+00, 1.5410e-01, 6.7983e-01, -7.1787e-01, -1.9274e-01, -1.0396e+00, 2.7484e-01, -6.2895e-01, 5.0995e-01, -1.4036e+00, 7.6753e+00, -5.4441e-01, -1.0493e+00,\n -3.7420e-01, 1.4050e+00, 6.8635e-01, 1.8810e+00, -2.0417e+00, 5.6143e-01, 7.7761e-01, -9.9155e-01, -9.9796e-01, 1.5481e+00, -9.2491e-01, 3.3067e-01, -1.3645e+00, -1.1451e+00, 5.6146e-01, -2.7381e-01, -4.2211e-01, -1.2737e+00, 5.3725e-01, -4.3322e-01, 6.4362e-01, 1.1569e+00, -4.6166e-02, 5.2245e-01,\n -8.2454e-01, 1.1294e-01, 2.3464e-01, -2.2268e-01, -2.2544e+00, -9.5712e-01, 2.6239e-01, -3.6705e-01, -2.7546e+00, -4.4088e-01, -8.8391e-01, -3.9856e-01, -7.0722e-01, -1.7551e+00, 9.6585e-01, -5.0596e-01, -5.1512e-01, -5.2021e-01, -1.1097e+00, 5.6039e-01, 9.3879e-01, 9.8634e-01, 7.9950e-01, -1.2808e+00,\n 1.9987e+00, 1.0562e-01, 7.8229e-01, -1.9030e-01, -9.9215e-01, 1.0209e+00, -3.1509e-01, -7.5896e-03, -8.9925e-01, -2.3902e-01, -7.0715e-01, 8.4380e-01, -1.2462e+00, -4.7730e-01, 8.3713e-01, -1.1594e+00, -1.4057e+00, 9.0604e-01, 3.8496e-01, 8.3791e-01, 5.7537e-01, 3.3085e-01, -5.5488e-01, -2.7941e-01,\n -6.4186e-01, 4.8598e-01, -1.4729e-01, -6.0420e-01, 2.4628e-01, -8.2455e-01, -1.1716e+00, -2.4671e-01, 1.1704e+00, 2.7996e-01, -8.7939e-01, 5.2702e+00, -1.4580e+00, 1.5364e-01, -1.0711e+00, -1.9454e+00, -1.5721e+00, -7.4083e-02, 1.7853e-01, -6.7229e-01, 1.5519e-01, -3.5477e-01, -7.4740e-01, 1.0355e+00,\n 1.6082e-01, -8.3398e-01, -7.4879e-01, -1.0219e+00, -1.0983e-01, 6.6527e-01, -1.0367e+00, -1.5006e-01, -5.0159e-01, 6.5158e-02, 5.3605e-02, -5.4483e-01, 1.4468e+00, 1.2949e-01, -3.1421e-01, 3.8394e-02, -6.7242e-01, 6.6079e-04, -2.1856e-03, -3.8869e+00, 1.5412e+00, 1.2972e+00, 9.9618e-01, -1.5827e-01,\n -4.9763e-01, 1.3620e-01, -2.1790e-01, -1.0425e+00, 7.4210e-01, -8.6824e-01, -4.3730e+00, -1.3187e+00, -1.2237e+00, -2.3347e+00, 6.8559e-01, 2.8656e-01, 7.6969e-01, 3.5148e-01, -1.6684e+00, -3.8812e-01, -2.9606e-01, -6.3987e-01, 5.7602e-01, -1.0879e+00, 5.1605e-01, -3.1464e+00, -3.4552e-02, 1.4004e-01,\n -1.7972e-01, -5.6401e-01, -4.1810e-01, -2.2518e-01, 7.8587e-01, 8.0548e-01, 1.7582e+00, -1.0253e+00, 2.0747e+00, -1.1244e+00, 1.5441e-01, 8.1378e-01, 2.3372e-01, 2.5767e-01, -9.6836e-01, -9.5616e-01, 2.3452e-01, 7.5978e-01, 9.1182e-01, -6.6277e-01, 5.4938e-01, -1.1666e+00, -1.8228e-01, 5.7323e-01,\n 1.1364e+00, -4.7184e-02, -1.9735e+00, -5.4513e-01, -8.8695e-01, 5.3681e-01, -9.0853e-02, -1.2054e+00, -3.2604e-01, 2.0707e-01, 7.3498e-01, -2.5281e-01, 1.1069e-02, 4.8535e-01, -8.9681e-01, 2.2810e-01, -9.0582e-01, 4.9055e-01, 7.4980e-02, -3.9810e-01, 1.4349e+00, -8.9917e-01, 1.9950e+00, 6.6057e-01,\n -1.8062e+00, 2.5041e-01, 1.2010e+00, 1.4631e-01, -3.7128e-01, -3.2126e-01, -1.0228e+00, -6.4287e-01, -5.9626e-01, -6.5844e-01, 1.3963e+00, 8.0135e-01, 4.2656e-01, -6.7021e-01, -2.8023e-01, 6.2252e-01, 7.7636e-01, 1.2231e+00, -1.3022e+00, -2.5989e-01, 4.8463e-01, -5.3100e-01, 7.3130e-01, -5.6213e-01,\n -1.4745e+00, 5.7717e-02, 1.3419e+00, -3.8662e-02, 5.8581e-02, -1.6643e-01, -1.2817e+00, 2.5501e-01, 3.9445e-02, -1.1113e-01, -4.3140e-01, 1.7479e-01, -6.7317e-01, -1.0996e+00, -7.4125e-01, 8.4726e-01, 2.9289e-01, 1.2184e+00, -4.1086e-01, -7.6666e-01, 7.5708e-01, -9.6916e-01, -7.6481e-01, -1.0229e+00,\n -5.6840e-01, -4.0797e-01, 3.3004e-01, -1.0436e+00, -1.0695e+00, 1.4523e+00, 8.4643e-01, -1.1436e-01, 1.0413e+00, -2.6241e-01, 8.4715e-02, 5.6926e-01, 4.9080e+00, 6.2641e-01, -1.8060e-01, -1.2812e+00, 2.7412e-01, 9.1161e-01, 9.4769e-01, -8.7279e-01, 6.4743e-02, -5.0067e-01, -1.8052e+00, -5.8922e-01,\n 1.2949e+00, 2.0510e-01, 2.7094e-01, 2.0181e-01, -1.6156e-01, 1.5528e+00, -1.3809e-01, 8.3824e-01, 9.5735e-01, -7.6136e-02, -7.4556e-01, 3.0882e-01, 1.5326e+00, 9.8768e-01, 3.2392e-01, 3.3219e-01, -2.2972e-01, 3.2852e-02, -1.6568e+00, 5.9246e-01, -2.6474e-01, 2.3446e-01, -3.4877e-02, 1.6589e+00,\n -2.4467e-01, 1.9956e+00, -1.1030e+00, 3.1977e-02, 2.5918e-01, -1.2621e-01, -2.5023e+00, -1.0991e+00, -1.3059e+00, -1.0286e+00, 1.3791e+00, 4.2656e-01, -9.3076e-01, 9.0443e-01, -7.6164e-01, -1.1970e+00, -1.1040e-01, -9.8111e-01, 3.4091e-01, 7.5630e-01, 5.4622e-01, 3.4236e-02, 7.0592e-02, -6.7699e-01,\n -4.8739e-01, -1.3833e+00, -1.4579e+00, -9.4433e-01, -8.8749e-02, -3.2654e-01, 4.7634e-01, 3.4802e-01, 4.8957e-02, 2.8482e-01, -1.6445e-01, -3.1451e-02, 1.3597e+00, -1.3307e+00, -1.7018e-01, -1.7286e-01, -6.9035e-01, -1.3492e+00, -7.6101e-01, -3.0197e-01, -1.6831e+00, -4.6383e-02, 3.3941e-01, -4.3504e-01,\n -1.3954e-01, -9.0898e-01, 4.5050e-02, -1.5068e-02, -1.2367e+00, -7.6631e-02, -5.6401e+00, -1.8773e+00, 1.3242e+00, -1.3307e+00, 6.2559e-01, -1.4900e+00, 9.4904e-02, -1.0301e+00, -1.1410e+00, -6.4976e-01, 1.6586e-01, 3.8015e-02, 2.3430e+00, -4.1318e-01, -1.1020e+00, 1.1797e-01, -1.8504e-01, -1.1014e+00,\n -4.8283e-01, -1.7918e+00, -2.6404e-01, 3.9773e-01, 6.9183e-01, 4.9087e-01, -8.0640e-02, 1.1289e+00, 9.0607e-01, -1.1330e-01, -7.4662e-01, -3.2329e-01, 1.0714e+00, 2.8278e-01, -1.4714e+00, -2.0633e-01, 5.9260e-01, -7.6007e-01, -7.9693e-02, -2.2838e-01, -6.9942e-01, -1.1423e+00, -9.9604e-01, -4.0071e-01,\n -7.4133e-01, -1.8975e-01, 5.0828e-01, -1.1395e-01, 3.2554e-01, -1.8015e-01, 4.4479e-01, -1.6239e-01, -7.3880e-01, 6.6113e-01, 3.2547e-01, 1.5250e+00, -2.1314e+00, -1.6742e+00, -1.2151e+00, 4.4591e-01, -2.8315e-01, -1.0323e+00, -1.6362e-02, 9.4435e-02, 8.7503e-01, 4.1692e-01, 7.5910e-02, 7.0572e-01,\n 4.1316e-01, 3.2709e-01, -7.9068e-01, -2.9280e+00, 2.8577e-01, -3.5305e-01, 2.4921e-01, -2.1379e-01, -2.2123e-01, -6.0437e-01, -1.7345e+00, -8.7999e-01, -4.9267e-02, -2.0232e+00, 1.8661e+00, 9.2130e-01, 1.2911e+00, -7.0150e-01, -5.9596e-01, -1.1688e+00, -4.4234e-02, 1.8853e+00, 7.0855e-02, -1.0721e+00,\n 1.3048e-01, 2.2661e-01, -4.1781e-01, 1.3483e+00, 1.9399e-01, -1.7231e+00, -8.8017e-01, 2.0453e-02, -6.0675e-01, 4.5551e-01, 1.3907e+00, -3.2190e-02, -5.1779e-01, -2.1671e+00, -1.9097e+00, 7.6432e-01, 7.9952e-01, -2.9705e-01, 1.1013e+00, 1.6872e+00, 2.3508e-01, -1.4461e+00, -7.5148e-01, -7.1497e-01,\n 9.3585e-01, 2.8197e-01, -1.6476e+00, -3.2935e-01, 2.2712e-01, 1.0216e-01, 3.1601e-03, -5.1408e-01, 9.6574e-01, -1.5502e+00, -8.1826e-02, 4.2463e-02, 1.3726e+00, 3.2418e-02, -5.2375e-01, -1.2449e+00, 8.7315e-01, 2.9537e-01, -3.0019e-01, -4.8028e-01, 5.5338e-02, -1.0557e+00, 1.0003e+00, -8.6670e-01,\n -7.9504e-01, 6.8522e-02, -1.7501e-01, 4.3153e-01, 8.8341e-01, 2.2289e-01, 6.1132e-01, -6.9017e-01, 2.5308e-01, -3.3073e+00, -1.1149e+00, -1.4811e+00, -1.4843e+00, 1.6317e-01, 5.2587e-01, -2.1260e-01, -2.7496e-03, -4.9775e-01, 5.4320e-01, 1.0366e+00, 8.6695e-01, 1.7850e+00, 3.5562e-02, -7.7174e-01,\n -4.0828e-01, -2.9449e-01, -8.0074e-01, 1.4313e+00, 5.3374e-02, -2.9019e-01, -1.0249e+00, -2.4412e+00, -1.6279e-01, 4.1752e-01, -4.1242e-01, -1.8709e+00, -1.6086e+00, -5.5242e-01, -3.8328e-02, -7.8040e-01, -1.1027e+00, 1.3147e+00, 1.6823e-01, 1.2998e+00, 1.2137e+00, 2.7676e-01, -4.9841e-02, 1.9099e+00,\n -3.1297e-01, -2.2458e-01, -5.4054e-01, -5.5609e-01, -3.8396e-01, 5.9816e-02, -1.8151e+00, -2.3393e-01, 2.0998e-01, -3.8619e-01, 7.8275e-01, 6.0096e-01, 2.0965e-04, 2.6121e-01, -3.9112e-01, -6.0911e-01, 6.5661e-01, -6.9745e-01, 2.3288e-01, -1.1589e+00, 9.4201e-01, 4.0802e-02, -4.1272e-01, 3.6681e-01,\n 7.5440e-01, -6.3894e-01, 1.0509e+00, -2.8772e-01, -1.1611e+00, 2.2472e-01, -3.2261e-01, -3.6798e-01, -5.4862e-01, -2.4679e-01, -1.8325e+00, 9.3006e-01, 1.5627e-01, 1.1169e+00, -1.6762e-01, 6.4237e-01, -7.4259e-01, 7.4237e-04, -5.8024e-01, -7.1267e-03, 2.1288e+00, -4.4202e-01, 1.6335e-01, -1.3121e+00,\n -2.8576e-01, 6.5410e-01, -7.1229e-01, -1.8935e-01, 9.6874e-02, -9.9437e-01, 6.8641e-01, -7.8869e-01, 3.9259e-01, -2.1165e-01, -2.1151e-01, -1.9504e+00, 8.8211e-01, -1.0800e+00, -5.5392e-01, -4.7893e-03, 9.3028e-01, -6.0671e-01, 1.4030e+00, -7.4065e-01, 1.9254e-01, -1.0180e+00, 5.8941e-01, 5.5978e-01,\n -1.2676e-01, -4.5381e-02, -8.0720e-01, 8.3984e-01, -3.5295e-01, -2.3287e-01, -6.3837e-01, -1.5043e+00, -1.5794e-01, 5.8940e+00, 2.2268e-01, 2.8462e-01, 1.4030e-02, -6.3344e-01, -1.0135e+00, 8.2112e-01, 1.0739e+00, -1.8961e+00, 7.6635e-01, 4.2432e-02, -2.7983e-01, 4.1937e-01, -8.6984e-01, -1.8881e-01,\n 2.6062e+00, -2.2696e-01, 6.9286e-02, -1.1241e+00, -3.1721e-01, -6.2791e-01, -9.8556e-01, 2.3120e-01, -3.1937e-01, 1.0276e+00, 4.5848e-01, 5.6402e-02, -6.4137e-01, -1.6963e-01, -4.2167e-01, 1.2310e-01, -9.0364e-01, -4.6687e-01, 1.1896e+00, -1.2628e+00, 2.6933e-01, 8.5106e-01, -4.9905e-01, 2.0008e+00,\n 6.8285e-01, 4.1979e-01, 9.8658e-01, 1.7831e+00, -1.4812e-01, 4.7022e-01, 4.3819e+00, -8.9818e-01, 1.9696e-02, -3.9747e-01, 3.8612e-02, 3.7838e-01, 5.6500e-01, -9.1061e-01, -1.3307e+00, -6.1363e-01, -2.0859e+00, -9.6408e-01, 4.9238e-01, 1.0526e+00, 7.2224e-01, 7.4807e-01, -1.0457e+00, -8.7291e-01,\n 2.6071e-02, 5.3144e-01, 4.6075e-01, -9.1676e-01, -1.0078e+00, 7.8926e-01, 4.2828e-01, 1.1360e+00, -1.9618e-01, 3.2685e-01, -9.7404e-01, -8.7158e-01, -7.0348e-01, -4.5608e-01, 6.2331e-01, 5.9588e-01, 1.1353e-01, 1.1468e+00, -4.9589e-01, 5.7806e-01, 1.7926e+00, 1.0715e+00, 1.1791e-01, -7.2505e-01]])}]]" + ] + }, + { + "id": 81, + "type": "Anything Everywhere?", + "pos": [ + 2210, + 700 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 45, + "mode": 0, + "inputs": [ + { + "name": "LATENT", + "type": "*", + "link": 141, + "color_on": "#b38ead" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSamplerGen", + "latent_image", + "Generate", + "Latent shape torch.Size([1, 4, 64, 64])" + ] + }, + { + "id": 131, + "type": "Anything Everywhere?", + "pos": [ + 4700, + 720 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 54, + "mode": 0, + "inputs": [ + { + "name": "MASK", + "type": "*", + "link": 174, + "color_on": "#a3bd8d" + } + ], + "title": "To ConvertMask2Image", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "ConvertMasktoImage", + ".*", + "Mask Generation", + "Tensor shape torch.Size([1, 512, 512])" + ] + }, + { + "id": 83, + "type": "Anything Everywhere?", + "pos": [ + 2840, + 310 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 49, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "*", + "link": 143, + "color_on": "#80a1c0" + } + ], + "title": "To Preview & Grounding", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "GroundingDino|^.*Bridge.*$|Generate Preview", + ".*", + "Generate||Mask Generation", + "Tensor shape torch.Size([1, 512, 512, 3])" + ] + }, + { + "id": 132, + "type": "Anything Everywhere?", + "pos": [ + 4760, + 830 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 61, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "*", + "link": 175, + "color_on": "#80a1c0" + } + ], + "title": "To ImageBlur", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "Image Blur", + "ImageToBlur", + "Mask Generation", + "Tensor shape torch.Size([1, 512, 512, 3])" + ] + }, + { + "id": 48, + "type": "MaskToImage", + "pos": [ + 4710, + 770 + ], + "size": { + "0": 176.39999389648438, + "1": 33.40721893310547 + }, + "flags": {}, + "order": 23, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 175 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "ConvertMasktoImage", + "properties": { + "Node name for S&R": "MaskToImage" + }, + "color": "#2a363b" + }, + { + "id": 49, + "type": "ImageBlur", + "pos": [ + 4580, + 890 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": null, + "label": "ImageToBlur" + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 165 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Image Blur", + "properties": { + "Node name for S&R": "ImageBlur" + }, + "widgets_values": [ + 20, + 1 + ], + "color": "#2a363b" + }, + { + "id": 111, + "type": "Anything Everywhere?", + "pos": [ + 4750, + 550 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 63, + "mode": 0, + "inputs": [ + { + "name": "MASK", + "type": "*", + "link": 162, + "color_on": "#a3bd8d" + } + ], + "title": "To Switch Mask", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + ".*", + "on_false", + "Mask Generation", + "Tensor shape torch.Size([1, 64, 64])" + ] + }, + { + "id": 109, + "type": "GrowMask", + "pos": [ + 4580, + 450 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 25, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 162 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "GrowMask Drawn", + "properties": { + "Node name for S&R": "GrowMask" + }, + "widgets_values": [ + 36, + true + ], + "color": "#332922" + }, + { + "id": 112, + "type": "Anything Everywhere?", + "pos": [ + 4380, + 300 + ], + "size": { + "0": 320, + "1": 110 + }, + "flags": { + "collapsed": true + }, + "order": 53, + "mode": 0, + "inputs": [ + { + "name": "MASK", + "type": "*", + "link": 163, + "color_on": "#a3bd8d" + } + ], + "title": "To GrowMask Dino", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "GrowMask Dino", + ".*", + "Mask Generation", + "Tensor shape torch.Size([1, 512, 512])" + ] + }, + { + "id": 116, + "type": "Anything Everywhere?", + "pos": [ + 4190, + 300 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 52, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "*", + "link": 167, + "color_on": "#80a1c0" + } + ], + "title": "To DinoSelectionPrev", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "DinoSelectionPreview", + ".*", + ".*", + "Tensor shape torch.Size([1, 512, 512, 3])" + ] + }, + { + "id": 133, + "type": "Anything Everywhere?", + "pos": [ + 670, + 2010 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 70, + "mode": 0, + "inputs": [ + { + "name": "LATENT", + "type": "*", + "link": 176, + "color_on": "#b38ead" + } + ], + "title": "To VAE Decode", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "^VAE.*$", + ".*", + "Animation Generation", + "Latent shape torch.Size([16, 4, 128, 128])" + ] + }, + { + "id": 100, + "type": "Anything Everywhere", + "pos": [ + 250, + 1280 + ], + "size": { + "0": 210, + "1": 26 + }, + "flags": { + "collapsed": true + }, + "order": 57, + "mode": 0, + "inputs": [ + { + "name": "MOTION_LORA", + "type": "*", + "link": 152, + "color_on": "" + } + ], + "title": "To AnimateDiffLoader", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere" + } + }, + { + "id": 20, + "type": "VAEDecode", + "pos": [ + 600, + 2060 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 26, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": null + }, + { + "name": "vae", + "type": "VAE", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 177 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 126, + "type": "Seed (rgthree)", + "pos": [ + 110, + 1900 + ], + "size": { + "0": 210, + "1": 130 + }, + "flags": {}, + "order": 27, + "mode": 0, + "outputs": [ + { + "name": "SEED", + "type": "INT", + "links": [ + 170 + ], + "shape": 3, + "dir": 4, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Seed (rgthree)" + }, + "widgets_values": [ + -1, + null, + null, + null + ] + }, + { + "id": 134, + "type": "Anything Everywhere?", + "pos": [ + 660, + 2130 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 64, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "*", + "link": 177, + "color_on": "#80a1c0" + } + ], + "title": "To RawVideo/VFI", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "Raw|.*VFI$", + ".*", + "Animation Generation", + "Tensor shape torch.Size([16, 1024, 1024, 3])" + ] + }, + { + "id": 135, + "type": "Anything Everywhere?", + "pos": [ + 1480, + 1340 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 68, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "*", + "link": 178, + "color_on": "#80a1c0" + } + ], + "title": "To Smooth Video", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "Smooth", + ".*", + "Animation Generation", + "Tensor shape torch.Size([31, 1024, 1024, 3])" + ] + }, + { + "id": 114, + "type": "Anything Everywhere?", + "pos": [ + 4720, + 1000 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 62, + "mode": 0, + "inputs": [ + { + "name": "IMAGE", + "type": "*", + "link": 165, + "color_on": "#80a1c0" + } + ], + "title": "To Preview&Img2Mask", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "ConvertImagetoMask|MaskPreview", + "image|images", + "Mask Generation", + "Tensor shape torch.Size([1, 512, 512, 3])" + ] + }, + { + "id": 91, + "type": "Note", + "pos": [ + 20, + 310 + ], + "size": { + "0": 610, + "1": 330 + }, + "flags": { + "collapsed": false, + "pinned": true + }, + "order": 28, + "mode": 0, + "title": "Welcome", + "properties": { + "text": "" + }, + "widgets_values": [ + "Hi, and welcome to my modified version of House of Dim's Motion Brush workflow (https://www.youtube.com/watch?v=l7g58GrJIdE)\n\nI have modified this workflow to use either hand drawn masks or Grounding Dino Segment Everything.\n\nI have also modified this workflow to use RGThree's Bookmarks, Fast Groups Bypasser, and Use Everywhere's Anything Everywhere nodes. \n\nIf you would like to see the physical links between the Anything Everywhere nodes right click on a blank spot on the canvas and select \"Show UE links\" or if you would like a fresh plate of spaghetti then right click on the blank canvas and select \"Convert all UE's to real links\"\n🚨🚨🚨 Convert all UE's to real links can be undone by pressing ctrl+z 🚨🚨🚨\n\nGrounding Dino is the selected mask method by default (In the Mask Generation group) This allows you to set a prompt in it for the subject and then continuously generate new images with the same subject type without having to manually draw a new mask each time.\nimage showing how Dino works (https://github.com/IDEA-Research/GroundingDINO/blob/main/.asset/hero_figure.png)\n\nRemember to set your animation prompt in the Animation Generation group (bookmark \"4\")\nIf you generated a river in your image prompt then in the animation prompt you might put something like \"rushing river\" to animate the river.\n\n" + ], + "color": "#189020", + "bgcolor": "#047c0c", + "shape": 4 + }, + { + "id": 96, + "type": "Note", + "pos": [ + 650, + 230 + ], + "size": { + "0": 500, + "1": 120 + }, + "flags": { + "collapsed": false, + "pinned": true + }, + "order": 29, + "mode": 0, + "title": "Bookmark Legend", + "properties": { + "text": "" + }, + "widgets_values": [ + "Press the number on the left side of this legend to goto that section of the workflow.\n\n1: Loaders and welcome notes\n2: Image Generation\n3: Mask Generation\n4: Animation Generation" + ], + "color": "#7b29a7", + "bgcolor": "#671593", + "shape": 4 + }, + { + "id": 108, + "type": "Note", + "pos": [ + 650, + 400 + ], + "size": { + "0": 500, + "1": 240 + }, + "flags": { + "pinned": true + }, + "order": 30, + "mode": 0, + "title": "IMPORTANT", + "properties": { + "text": "" + }, + "widgets_values": [ + "Some of the Anything Everywhere Nodes use regex so unless you are familiar with how RegEx works I'd suggest not modifying those nodes as you could break the workflow.\n\nIf you'd like to learn about RegEx expressions you can learn more about them here. (https://www.howtogeek.com/devops/how-do-you-actually-use-regex/)\n\n" + ], + "color": "#b11f1f", + "bgcolor": "#9d0b0b", + "shape": 4 + }, + { + "id": 50, + "type": "PreviewImage", + "pos": [ + 4940, + 200 + ], + "size": { + "0": 360, + "1": 380 + }, + "flags": {}, + "order": 31, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": null + } + ], + "title": "MaskPreview", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 123, + "type": "Note", + "pos": [ + 4950, + 640 + ], + "size": { + "0": 340, + "1": 140 + }, + "flags": {}, + "order": 32, + "mode": 0, + "title": "IF USING A DRAWN MASK", + "properties": { + "text": "" + }, + "widgets_values": [ + "Make sure to set the seed below to fixed. Right click on the image in the \"Preview Bridge\" node to the left and click on \"Open in MaskEditor\" draw your mask. press \"4\" to goto the Animation Generation group, type in your desired prompts and then queue the prompt again" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 122, + "type": "Anything Everywhere?", + "pos": [ + 5020, + 1000 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 66, + "mode": 0, + "inputs": [ + { + "name": "INT", + "type": "*", + "link": 169, + "color_on": "#29699C" + } + ], + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSamplerGen", + "seed", + "Generate", + "657496841380318" + ] + }, + { + "id": 121, + "type": "Seed (rgthree)", + "pos": [ + 4950, + 840 + ], + "size": { + "0": 250, + "1": 130 + }, + "flags": {}, + "order": 33, + "mode": 0, + "outputs": [ + { + "name": "SEED", + "type": "INT", + "links": [ + 169 + ], + "shape": 3, + "dir": 4, + "slot_index": 0 + } + ], + "title": "Seed for Generate KSampler", + "properties": { + "Node name for S&R": "Seed (rgthree)" + }, + "widgets_values": [ + -1, + null, + null, + null + ] + }, + { + "id": 30, + "type": "CR Latent Batch Size", + "pos": [ + 188.87355594408362, + 1345.9192711049209 + ], + "size": { + "0": 230, + "1": 60 + }, + "flags": {}, + "order": 34, + "mode": 0, + "inputs": [ + { + "name": "latent", + "type": "LATENT", + "link": null + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 153 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "⚙️ Frame Count", + "properties": { + "Node name for S&R": "CR Latent Batch Size" + }, + "widgets_values": [ + 16 + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 56, + "type": "VHS_VideoCombine", + "pos": [ + 1190, + 1400 + ], + "size": [ + 440, + 720 + ], + "flags": { + "collapsed": false + }, + "order": 35, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": null + }, + { + "name": "audio", + "type": "VHS_AUDIO", + "link": null + }, + { + "name": "batch_manager", + "type": "VHS_BatchManager", + "link": null + } + ], + "outputs": [ + { + "name": "Filenames", + "type": "VHS_FILENAMES", + "links": null, + "shape": 3 + } + ], + "title": "Smooth Video", + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 30, + "loop_count": 0, + "filename_prefix": "final", + "format": "video/h264-mp4", + "pix_fmt": "yuv420p", + "crf": 20, + "save_metadata": true, + "pingpong": false, + "save_output": false, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "final_00007.mp4", + "subfolder": "", + "type": "temp", + "format": "video/h264-mp4" + } + } + }, + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 55, + "type": "FILM VFI", + "pos": [ + 1190, + 1170 + ], + "size": { + "0": 443.4000244140625, + "1": 150 + }, + "flags": {}, + "order": 36, + "mode": 0, + "inputs": [ + { + "name": "frames", + "type": "IMAGE", + "link": null + }, + { + "name": "optional_interpolation_states", + "type": "INTERPOLATION_STATES", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 178 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "FILM VFI" + }, + "widgets_values": [ + "film_net_fp32.pt", + 10, + 2, + true + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 65, + "type": "ADE_AnimateDiffLoaderWithContext", + "pos": [ + 820, + 1170 + ], + "size": { + "0": 340, + "1": 270 + }, + "flags": { + "collapsed": false + }, + "order": 37, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null + }, + { + "name": "context_options", + "type": "CONTEXT_OPTIONS", + "link": null + }, + { + "name": "motion_lora", + "type": "MOTION_LORA", + "link": null + }, + { + "name": "motion_model_settings", + "type": "MOTION_MODEL_SETTINGS", + "link": null + }, + { + "name": "sample_settings", + "type": "sample_settings", + "link": null + }, + { + "name": "ad_keyframes", + "type": "AD_KEYFRAMES", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 189 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ADE_AnimateDiffLoaderWithContext" + }, + "widgets_values": [ + "animatediffMotion_v15V2.ckpt", + "sqrt_linear (AnimateDiff)", + 1, + true + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 31, + "type": "VHS_VideoCombine", + "pos": [ + 840, + 1530 + ], + "size": [ + 320, + 530 + ], + "flags": {}, + "order": 38, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": null + }, + { + "name": "audio", + "type": "VHS_AUDIO", + "link": null + }, + { + "name": "batch_manager", + "type": "VHS_BatchManager", + "link": null + } + ], + "outputs": [ + { + "name": "Filenames", + "type": "VHS_FILENAMES", + "links": null, + "shape": 3 + } + ], + "title": "Raw Video", + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 8, + "loop_count": 0, + "filename_prefix": "preview", + "format": "image/gif", + "pingpong": false, + "save_output": false, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "preview_00008.gif", + "subfolder": "", + "type": "temp", + "format": "image/gif" + } + } + }, + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 128, + "type": "Anything Everywhere?", + "pos": [ + 510, + 60 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 74, + "mode": 0, + "inputs": [ + { + "name": "MODEL", + "type": "*", + "link": 171, + "color_on": "#8978a7" + } + ], + "title": "Model", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSamplerGen|^.*AnimateDiff.*$", + ".*", + "Generate|Animation Generation", + "" + ], + "color": "#222" + }, + { + "id": 130, + "type": "Anything Everywhere", + "pos": [ + 520, + 150 + ], + "size": { + "0": 210, + "1": 80 + }, + "flags": { + "collapsed": true + }, + "order": 76, + "mode": 0, + "inputs": [ + { + "name": "VAE", + "type": "*", + "link": 187, + "color_on": "#be616b" + } + ], + "title": "VAE", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere" + }, + "widgets_values": [ + "" + ] + }, + { + "id": 57, + "type": "VAELoader", + "pos": [ + 20, + 200 + ], + "size": { + "0": 370, + "1": 60 + }, + "flags": {}, + "order": 39, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "taesd" + ] + }, + { + "id": 14, + "type": "KSampler", + "pos": [ + 450, + 1750 + ], + "size": { + "0": 360, + "1": 234 + }, + "flags": {}, + "order": 40, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null, + "slot_index": 0 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null + }, + { + "name": "latent_image", + "type": "LATENT", + "link": null + }, + { + "name": "seed", + "type": "INT", + "link": null, + "widget": { + "name": "seed" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 176 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 449706342982476, + "randomize", + 20, + 8, + "dpmpp_2m", + "karras", + 1 + ], + "color": "#232" + }, + { + "id": 102, + "type": "Anything Everywhere?", + "pos": [ + 1030, + 1460 + ], + "size": { + "0": 320, + "1": 150 + }, + "flags": { + "collapsed": true + }, + "order": 69, + "mode": 0, + "inputs": [ + { + "name": "MODEL", + "type": "*", + "link": 189, + "color_on": "#8978a7" + } + ], + "title": "To Ksampler", + "properties": { + "group_restricted": false, + "color_restricted": false, + "Node name for S&R": "Anything Everywhere?" + }, + "widgets_values": [ + "KSampler", + ".*", + "Animation Generation", + "" + ], + "color": "#323" + }, + { + "id": 16, + "type": "CLIPTextEncode", + "pos": [ + 68.8735559440833, + 1515.9192711049209 + ], + "size": { + "0": 360, + "1": 150 + }, + "flags": {}, + "order": 41, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 155 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "rocket thrusters blasting off" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 1909.0692786024013, + 60.996826266617084 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 42, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 146 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "rocket ship blasting off" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 84, + "type": "KSampler", + "pos": [ + 2350, + 60 + ], + "size": { + "0": 310, + "1": 250 + }, + "flags": {}, + "order": 43, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null + }, + { + "name": "latent_image", + "type": "LATENT", + "link": null + }, + { + "name": "seed", + "type": "INT", + "link": null, + "widget": { + "name": "seed" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 144 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "KSamplerGen", + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 785287154129848, + "randomize", + 20, + 7, + "dpmpp_2m_sde", + "karras", + 1 + ] + }, + { + "id": 72, + "type": "CheckpointLoaderSimple", + "pos": [ + 20, + 50 + ], + "size": { + "0": 370, + "1": 100 + }, + "flags": {}, + "order": 44, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 171 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 172 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 187 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD15\\juggernaut_reborn.safetensors" + ], + "color": "#232" + } + ], + "links": [ + [ + 95, + 61, + 0, + 62, + 0, + "*" + ], + [ + 96, + 60, + 0, + 63, + 0, + "*" + ], + [ + 141, + 5, + 0, + 81, + 0, + "*" + ], + [ + 143, + 54, + 0, + 83, + 0, + "*" + ], + [ + 144, + 84, + 0, + 82, + 0, + "*" + ], + [ + 145, + 71, + 0, + 85, + 0, + "*" + ], + [ + 146, + 6, + 0, + 87, + 0, + "*" + ], + [ + 147, + 7, + 0, + 88, + 0, + "*" + ], + [ + 152, + 58, + 0, + 100, + 0, + "*" + ], + [ + 153, + 30, + 0, + 101, + 0, + "*" + ], + [ + 155, + 16, + 0, + 103, + 0, + "*" + ], + [ + 156, + 15, + 0, + 104, + 0, + "*" + ], + [ + 157, + 26, + 0, + 105, + 0, + "*" + ], + [ + 158, + 13, + 0, + 106, + 0, + "*" + ], + [ + 161, + 89, + 1, + 110, + 0, + "*" + ], + [ + 162, + 109, + 0, + 111, + 0, + "*" + ], + [ + 163, + 59, + 1, + 112, + 0, + "*" + ], + [ + 165, + 49, + 0, + 114, + 0, + "*" + ], + [ + 166, + 68, + 0, + 115, + 0, + "*" + ], + [ + 167, + 59, + 0, + 116, + 0, + "*" + ], + [ + 168, + 51, + 0, + 117, + 0, + "*" + ], + [ + 169, + 121, + 0, + 122, + 0, + "*" + ], + [ + 170, + 126, + 0, + 127, + 0, + "*" + ], + [ + 171, + 72, + 0, + 128, + 0, + "*" + ], + [ + 172, + 72, + 1, + 129, + 0, + "*" + ], + [ + 174, + 90, + 0, + 131, + 0, + "*" + ], + [ + 175, + 48, + 0, + 132, + 0, + "*" + ], + [ + 176, + 14, + 0, + 133, + 0, + "*" + ], + [ + 177, + 20, + 0, + 134, + 0, + "*" + ], + [ + 178, + 55, + 0, + 135, + 0, + "*" + ], + [ + 187, + 72, + 2, + 130, + 0, + "*" + ], + [ + 189, + 65, + 0, + 102, + 0, + "*" + ] + ], + "groups": [ + { + "title": "Mask Generation", + "bounding": [ + 4139, + -27, + 1169, + 1042 + ], + "color": "#3f789e", + "font_size": 24, + "locked": true + }, + { + "title": "Generate", + "bounding": [ + 1896, + -14, + 1247, + 856 + ], + "color": "#ff6a1a", + "font_size": 24, + "locked": true + }, + { + "title": "Animation Generation", + "bounding": [ + 50, + 1092, + 1602, + 1085 + ], + "color": "#3f789e", + "font_size": 24, + "locked": true + } + ], + "config": {}, + "extra": { + "groupNodes": { + "TMD::DefaultLoader": { + "category": "Loaders", + "config": { + "1": { + "input": { + "text": { + "name": "Positive" + } + }, + "output": { + "0": { + "name": "Positive" + } + } + }, + "2": { + "input": { + "text": { + "name": "Negative" + } + }, + "output": { + "0": { + "name": "Negative" + } + } + } + }, + "datetime": 1705644629253, + "external": [ + [ + 0, + 0, + "MODEL" + ], + [ + 0, + 1, + "CLIP" + ], + [ + 0, + 2, + "VAE" + ], + [ + 1, + 0, + "CONDITIONING" + ], + [ + 2, + 0, + "CONDITIONING" + ] + ], + "links": [ + [ + 0, + 1, + 1, + 0, + 20, + "CLIP" + ], + [ + 0, + 1, + 2, + 0, + 20, + "CLIP" + ] + ], + "nodes": [ + { + "flags": {}, + "index": 0, + "mode": 0, + "order": 3, + "outputs": [ + { + "links": [], + "name": "MODEL", + "shape": 3, + "slot_index": 0, + "type": "MODEL" + }, + { + "links": [], + "name": "CLIP", + "shape": 3, + "slot_index": 1, + "type": "CLIP" + }, + { + "links": [], + "name": "VAE", + "shape": 3, + "slot_index": 2, + "type": "VAE" + } + ], + "pos": [ + 20, + 520 + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "size": { + "0": 343.69647216796875, + "1": 98 + }, + "type": "CheckpointLoaderSimple", + "widgets_values": [ + "dynavisionXLAllInOneStylized_release0534bakedvae.safetensors" + ] + }, + { + "bgcolor": "#353", + "color": "#232", + "flags": {}, + "index": 1, + "inputs": [ + { + "link": null, + "name": "clip", + "slot_index": 0, + "type": "CLIP" + } + ], + "mode": 0, + "order": 7, + "outputs": [ + { + "links": [], + "name": "CONDITIONING", + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "pos": [ + 380, + 560 + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "type": "CLIPTextEncode", + "widgets_values": [ + "a man standing in the middle of a train station" + ] + }, + { + "bgcolor": "#533", + "color": "#322", + "flags": {}, + "index": 2, + "inputs": [ + { + "link": null, + "name": "clip", + "type": "CLIP" + } + ], + "mode": 0, + "order": 8, + "outputs": [ + { + "links": [], + "name": "CONDITIONING", + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "pos": [ + 380, + 770 + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "type": "CLIPTextEncode", + "widgets_values": [ + "cartoon, drawing, anime, semi-realistic, illustration, painting, art, text, greyscale, (black and white), lens flare, watermark, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, floating, levitating, depth of field" + ] + } + ], + "packname": "TMDNodes", + "version": "0.1" + }, + "TMD::GetImage-EmptyLatent": { + "category": "TMD", + "datetime": 1706183348706, + "external": [], + "links": [ + [ + 0, + 0, + 1, + 0, + 24, + "INT" + ], + [ + 0, + 1, + 1, + 1, + 24, + "INT" + ] + ], + "nodes": [ + { + "flags": { + "collapsed": true + }, + "index": 0, + "inputs": [ + { + "link": null, + "name": "image", + "type": "IMAGE" + } + ], + "mode": 0, + "order": 4, + "outputs": [ + { + "links": [], + "name": "INT", + "shape": 3, + "slot_index": 0, + "type": "INT" + }, + { + "links": [], + "name": "INT", + "shape": 3, + "slot_index": 1, + "type": "INT" + }, + { + "links": null, + "name": "TUPLE", + "shape": 3, + "type": "TUPLE" + } + ], + "pos": [ + 586.5951320527984, + 344.9818078137068 + ], + "properties": { + "Node name for S&R": "Get image size" + }, + "size": { + "0": 210, + "1": 66 + }, + "type": "Get image size" + }, + { + "flags": { + "collapsed": false + }, + "index": 1, + "inputs": [ + { + "link": null, + "name": "width", + "type": "INT", + "widget": { + "name": "width" + } + }, + { + "link": null, + "name": "height", + "type": "INT", + "widget": { + "name": "height" + } + } + ], + "mode": 0, + "order": 9, + "outputs": [ + { + "links": [], + "name": "LATENT", + "shape": 3, + "slot_index": 0, + "type": "LATENT" + } + ], + "pos": [ + 766.5951320527984, + 304.9818078137068 + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "size": { + "0": 320, + "1": 300 + }, + "type": "EmptyLatentImage", + "widgets_values": [ + 512, + 512, + 1 + ] + } + ], + "packname": "TMDNodes", + "version": "0.1" + }, + "TMD::Pose ControlNet": { + "category": "TMD", + "config": { + "3": { + "output": { + "0": { + "visible": false + } + } + } + }, + "datetime": 1706183194159, + "external": [ + [ + 2, + 0, + "CONDITIONING" + ] + ], + "links": [ + [ + 0, + 0, + 2, + 1, + 13, + "CONTROL_NET" + ], + [ + 1, + 0, + 2, + 2, + 15, + "IMAGE" + ], + [ + 1, + 0, + 3, + 0, + 15, + "IMAGE" + ] + ], + "nodes": [ + { + "flags": { + "collapsed": true + }, + "index": 0, + "mode": 0, + "order": 4, + "outputs": [ + { + "links": [], + "name": "CONTROL_NET", + "shape": 3, + "slot_index": 0, + "type": "CONTROL_NET" + } + ], + "pos": [ + 20, + 420 + ], + "properties": { + "Node name for S&R": "ControlNetLoader" + }, + "size": { + "0": 320, + "1": 280 + }, + "title": "Load Pose Controlnet", + "type": "ControlNetLoader", + "widgets_values": [ + "OpenPoseXL2.safetensors" + ] + }, + { + "flags": { + "collapsed": true + }, + "index": 1, + "inputs": [ + { + "link": null, + "name": "image", + "slot_index": 0, + "type": "IMAGE" + } + ], + "mode": 0, + "order": 5, + "outputs": [ + { + "links": [], + "name": "IMAGE", + "shape": 3, + "slot_index": 0, + "type": "IMAGE" + }, + { + "links": null, + "name": "POSE_KEYPOINT", + "shape": 3, + "type": "POSE_KEYPOINT" + } + ], + "pos": [ + 40, + 460 + ], + "properties": { + "Node name for S&R": "DWPreprocessor" + }, + "size": { + "0": 315, + "1": 198 + }, + "type": "DWPreprocessor", + "widgets_values": [ + "enable", + "enable", + "enable", + 512, + "yolox_l.onnx", + "dw-ll_ucoco_384_bs5.torchscript.pt" + ] + }, + { + "bgcolor": "#3f5159", + "color": "#2a363b", + "flags": {}, + "index": 2, + "inputs": [ + { + "link": null, + "name": "conditioning", + "slot_index": 0, + "type": "CONDITIONING" + }, + { + "link": null, + "name": "control_net", + "slot_index": 1, + "type": "CONTROL_NET" + }, + { + "link": null, + "name": "image", + "type": "IMAGE" + } + ], + "mode": 0, + "order": 10, + "outputs": [ + { + "links": [], + "name": "CONDITIONING", + "shape": 3, + "slot_index": 0, + "type": "CONDITIONING" + } + ], + "pos": [ + -20, + 520 + ], + "properties": { + "Node name for S&R": "ControlNetApply" + }, + "size": { + "0": 400, + "1": 100 + }, + "title": "Pose ControlNet", + "type": "ControlNetApply", + "widgets_values": [ + 1 + ] + }, + { + "flags": {}, + "index": 3, + "inputs": [ + { + "link": null, + "name": "image", + "type": "IMAGE" + } + ], + "mode": 0, + "order": 11, + "outputs": [ + { + "links": null, + "name": "show_help", + "shape": 3, + "type": "STRING" + } + ], + "pos": [ + 40, + 660 + ], + "properties": { + "Node name for S&R": "CR Thumbnail Preview" + }, + "size": { + "0": 320, + "1": 300 + }, + "type": "CR Thumbnail Preview", + "widgets_values": [ + 0.25, + 5 + ] + } + ], + "packname": "TMDNodes", + "version": "0.1" + } + } + }, + "version": 0.4 +} \ No newline at end of file diff --git a/server/test-workflows/site-stable-video-diffusion/subby_ramesh_stable_video_diffusion__svd____image_to_video_generation_with_high_fps_comfyworkflows.json b/server/test-workflows/site-stable-video-diffusion/subby_ramesh_stable_video_diffusion__svd____image_to_video_generation_with_high_fps_comfyworkflows.json new file mode 100644 index 0000000..c7a450d --- /dev/null +++ b/server/test-workflows/site-stable-video-diffusion/subby_ramesh_stable_video_diffusion__svd____image_to_video_generation_with_high_fps_comfyworkflows.json @@ -0,0 +1,324 @@ +{ + "last_node_id": 7, + "last_link_id": 8, + "nodes": [ + { + "id": 4, + "type": "LoadImage", + "pos": [ + 140, + -317 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1 + ], + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "test_image.png", + "image" + ] + }, + { + "id": 2, + "type": "SVDSampler", + "pos": [ + 685.015625, + -72.78125 + ], + "size": { + "0": 315, + "1": 198 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1, + "slot_index": 0 + }, + { + "name": "model", + "type": "MODEL", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 3 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SVDSampler" + }, + "widgets_values": [ + 127, + 6, + 0.02, + 1170, + "randomize", + "cuda" + ] + }, + { + "id": 1, + "type": "SVDModelLoader", + "pos": [ + 138, + 80 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 2, + 4 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SVDModelLoader" + }, + "widgets_values": [ + "svd.safetensors", + 14, + 25, + "cuda" + ] + }, + { + "id": 3, + "type": "SVDDecoder", + "pos": [ + 1061, + -51 + ], + "size": { + "0": 315, + "1": 102 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "samples_z", + "type": "LATENT", + "link": 3 + }, + { + "name": "model", + "type": "MODEL", + "link": 4 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 7 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SVDDecoder" + }, + "widgets_values": [ + 14, + "cuda" + ] + }, + { + "id": 6, + "type": "VHS_VideoCombine", + "pos": [ + 1823, + -151 + ], + "size": [ + 695.5018109297234, + 604.3447686479694 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 8 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 48, + "loop_count": 0, + "filename_prefix": "AnimateDiff", + "format": "image/gif", + "pingpong": false, + "save_image": true, + "crf": 20, + "save_metadata": true, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "AnimateDiff_00005.gif", + "subfolder": "", + "type": "output", + "format": "image/gif" + } + } + } + }, + { + "id": 7, + "type": "RIFE VFI", + "pos": [ + 1322, + 159 + ], + "size": { + "0": 443.4000244140625, + "1": 198 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "frames", + "type": "IMAGE", + "link": 7 + }, + { + "name": "optional_interpolation_states", + "type": "INTERPOLATION_STATES", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 8 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "RIFE VFI" + }, + "widgets_values": [ + "rife40.pth", + 10, + 8, + true, + true, + 1 + ] + } + ], + "links": [ + [ + 1, + 4, + 0, + 2, + 0, + "IMAGE" + ], + [ + 2, + 1, + 0, + 2, + 1, + "MODEL" + ], + [ + 3, + 2, + 0, + 3, + 0, + "LATENT" + ], + [ + 4, + 1, + 0, + 3, + 1, + "MODEL" + ], + [ + 7, + 3, + 0, + 7, + 0, + "IMAGE" + ], + [ + 8, + 7, + 0, + 6, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/server/tests.py b/server/tests.py index b2fad20..98cdd09 100644 --- a/server/tests.py +++ b/server/tests.py @@ -63,7 +63,7 @@ def run_tests(server_url): for file_path, json_obj in all_json: #all_json NAME = str(uuid.uuid4()) - print(f"run_tests 3. entered for loop for file_path: {file_path} and generated name: {NAME}") + print(f"🚀🚀🚀 run_tests 3. ENTERED for loop for file_path: {file_path} and generated name: {NAME}") replaced_json_obj = replace_filepaths(json_obj) print(f"run_tests 3WW. successfylly replaced filepaths fr.") From 0d3beab42ebbbfb2801ecb6c7f6ab03454028ce7 Mon Sep 17 00:00:00 2001 From: Dylan Molina <86082012+dylanintech@users.noreply.github.com> Date: Fri, 1 Mar 2024 14:58:35 -0600 Subject: [PATCH 09/26] added missing model files FE --- server/.DS_Store | Bin 6148 -> 6148 bytes server/server.py | 128 ++++- .../test-default/test-default.json | 120 +++++ server/tests.py | 60 ++- web/dist/assets/index-BQW99_dA.css | 1 + web/dist/assets/index-CkleoVQo.js | 142 ------ web/dist/assets/index-Cy1TWCLZ.css | 1 - web/dist/assets/index-G1-uJQm9.js | 177 +++++++ web/dist/index.html | 4 +- web/package-lock.json | 448 +++++++++++++++++- web/package.json | 9 +- web/src/components/ImportURLUI.tsx | 79 +++ web/src/components/ImportWorkflowUI.tsx | 327 ++++++++++++- web/src/components/ui/card.tsx | 79 +++ web/src/components/ui/checkbox.tsx | 28 ++ web/src/components/ui/radio-group.tsx | 42 ++ web/src/components/ui/separator.tsx | 29 ++ web/src/components/ui/sonner.tsx | 29 ++ web/src/lib/types.ts | 8 + web/src/main.tsx | 2 + 20 files changed, 1513 insertions(+), 200 deletions(-) create mode 100644 server/test-workflows/test-default/test-default.json create mode 100644 web/dist/assets/index-BQW99_dA.css delete mode 100644 web/dist/assets/index-CkleoVQo.js delete mode 100644 web/dist/assets/index-Cy1TWCLZ.css create mode 100644 web/dist/assets/index-G1-uJQm9.js create mode 100644 web/src/components/ImportURLUI.tsx create mode 100644 web/src/components/ui/card.tsx create mode 100644 web/src/components/ui/checkbox.tsx create mode 100644 web/src/components/ui/radio-group.tsx create mode 100644 web/src/components/ui/separator.tsx create mode 100644 web/src/components/ui/sonner.tsx diff --git a/server/.DS_Store b/server/.DS_Store index 96b836eedb223acc970744681e14d6042d94ec86..4c4c2a09b490a6fad347ee7f66106dfc2b073721 100644 GIT binary patch delta 24 fcmZoMXffDe!N|(N&cV$w*_JVkkz?}|#sV<_M-l~p delta 24 fcmZoMXffDe!N|(a$/start", methods=["POST"]) diff --git a/server/test-workflows/test-default/test-default.json b/server/test-workflows/test-default/test-default.json new file mode 100644 index 0000000..47e1018 --- /dev/null +++ b/server/test-workflows/test-default/test-default.json @@ -0,0 +1,120 @@ +{ + "last_node_id": 9, + "last_link_id": 9, + "nodes": [ + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [413, 389], + "size": { "0": 425.27801513671875, "1": 180.6060791015625 }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [{ "name": "clip", "type": "CLIP", "link": 5 }], + "outputs": [{ "name": "CONDITIONING", "type": "CONDITIONING", "links": [6], "slot_index": 0 }], + "properties": {}, + "widgets_values": ["text, watermark"] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [415, 186], + "size": { "0": 422.84503173828125, "1": 164.31304931640625 }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [{ "name": "clip", "type": "CLIP", "link": 3 }], + "outputs": [{ "name": "CONDITIONING", "type": "CONDITIONING", "links": [4], "slot_index": 0 }], + "properties": {}, + "widgets_values": ["beautiful scenery nature glass bottle landscape, , purple galaxy bottle,"] + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [473, 609], + "size": { "0": 315, "1": 106 }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [{ "name": "LATENT", "type": "LATENT", "links": [2], "slot_index": 0 }], + "properties": {}, + "widgets_values": [512, 512, 1] + }, + { + "id": 3, + "type": "KSampler", + "pos": [863, 186], + "size": { "0": 315, "1": 262 }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { "name": "model", "type": "MODEL", "link": 1 }, + { "name": "positive", "type": "CONDITIONING", "link": 4 }, + { "name": "negative", "type": "CONDITIONING", "link": 6 }, + { "name": "latent_image", "type": "LATENT", "link": 2 } + ], + "outputs": [{ "name": "LATENT", "type": "LATENT", "links": [7], "slot_index": 0 }], + "properties": {}, + "widgets_values": [156680208700286, true, 20, 8, "euler", "normal", 1] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [1209, 188], + "size": { "0": 210, "1": 46 }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { "name": "samples", "type": "LATENT", "link": 7 }, + { "name": "vae", "type": "VAE", "link": 8 } + ], + "outputs": [{ "name": "IMAGE", "type": "IMAGE", "links": [9], "slot_index": 0 }], + "properties": {} + }, + { + "id": 9, + "type": "SaveImage", + "pos": [1451, 189], + "size": { "0": 210, "1": 26 }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [{ "name": "images", "type": "IMAGE", "link": 9 }], + "properties": {} + }, + { + "id": 4, + "type": "CheckpointLoaderSimple", + "pos": [26, 474], + "size": { "0": 315, "1": 98 }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { "name": "MODEL", "type": "MODEL", "links": [1], "slot_index": 0 }, + { "name": "CLIP", "type": "CLIP", "links": [3, 5], "slot_index": 1 }, + { "name": "VAE", "type": "VAE", "links": [8], "slot_index": 2 } + ], + "properties": {}, + "widgets_values": ["v1-5-pruned-emaonly.ckpt"] + } + ], + "links": [ + [1, 4, 0, 3, 0, "MODEL"], + [2, 5, 0, 3, 3, "LATENT"], + [3, 4, 1, 6, 0, "CLIP"], + [4, 6, 0, 3, 1, "CONDITIONING"], + [5, 4, 1, 7, 0, "CLIP"], + [6, 7, 0, 3, 2, "CONDITIONING"], + [7, 3, 0, 8, 0, "LATENT"], + [8, 4, 2, 8, 1, "VAE"], + [9, 8, 0, 9, 0, "IMAGE"] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} + diff --git a/server/tests.py b/server/tests.py index 98cdd09..aaf28a7 100644 --- a/server/tests.py +++ b/server/tests.py @@ -53,15 +53,18 @@ def run_tests(server_url): templates_dir = './server/templates' test_workflows_dir = './server/test-workflows' + test_default_dir = './server/test-default' - test_workflows_json = load_json_files(test_workflows_dir) - templates_json = load_json_files(templates_dir) - print(f"run_tests 2b. test_workflows_json length: {len(test_workflows_json)}.") - print(f"run_tests 2a. templates_json length: {len(templates_json)}.") + # test_workflows_json = load_json_files(test_workflows_dir) + # templates_json = load_json_files(templates_dir) + test_default_json = load_json_files(test_default_dir) + # print(f"run_tests 2b. test_workflows_json length: {len(test_workflows_json)}.") + # print(f"run_tests 2a. templates_json length: {len(templates_json)}.") + print(f"run_tests 2a. test_default_json length: {len(test_default_json)}.") - all_json = test_workflows_json + templates_json + # all_json = test_workflows_json + templates_json - for file_path, json_obj in all_json: #all_json + for file_path, json_obj in test_default_json: #all_json NAME = str(uuid.uuid4()) print(f"🚀🚀🚀 run_tests 3. ENTERED for loop for file_path: {file_path} and generated name: {NAME}") replaced_json_obj = replace_filepaths(json_obj) @@ -95,6 +98,7 @@ def run_tests(server_url): # driver = webdriver.Chrome(options=chrome_options) # Initialize the WebDriver with remote connection to the Selenium Grid hub # driver = webdriver.Remote(command_executor=hub_url, options=chrome_options) + chrome_options = Options() # chrome_options.add_argument('--headless') # Run Chrome in headless mode @@ -112,6 +116,8 @@ def run_tests(server_url): WebDriverWait(driver, 15).until(lambda driver: driver.execute_script('return document.readyState') == 'complete') print(f"run_tests SELENIUM 3. driver got to http://localhost:{port} and is in ready state.") + time.sleep(20) + # Switch to the iframe iframe = driver.find_element(By.TAG_NAME, 'iframe') driver.switch_to.frame(iframe) @@ -125,28 +131,30 @@ def run_tests(server_url): driver.find_element(By.ID, 'queue-button').click() print(f"run_tests SELENIUM 6. driver clicked queue-button element inside the iframe.") - time.sleep(5) - driver.quit() - print(f"run_tests SELENIUM 7 (quit selenium driver).") - - # Get request to http://localhost:/queue - response = requests.get(f"http://localhost:{port}/queue") - print(f"run_tests 6. made request to comfyui queue got response from http://localhost:{port}/queue: {response}.") - queue_data = response.json() - print(f"run_tests 7. queue_data from http://localhost:{port}/queue: {queue_data}.") - - queue_running = queue_data.get("queue_running", []) - print(f"run_tests 8. queue_running from http://localhost:{port}/queue: {queue_running}.") - + MAX_ATTEMPTS = 120 + attempts = 0 client_id = None prompt_id = None - - if queue_running: - print(f"run_tests 9. queue_running is not empty!") - prompt_id = queue_running[0][1] - client_id = queue_running[0][3].get("client_id") - print(f"run_tests 10. got client_id from http://localhost:{port}/queue:: {client_id}") - print(f"run_tests 11. got prompt_id from http://localhost:{port}/queue:: {prompt_id}") + while attempts <= MAX_ATTEMPTS and client_id is None and prompt_id is None: + attempts += 1 + # Get request to http://localhost:/queue + response = requests.get(f"http://localhost:{port}/queue") + print(f"run_tests 6. made request to comfyui queue got response from http://localhost:{port}/queue: {response}.") + queue_data = response.json() + print(f"run_tests 7. queue_data from http://localhost:{port}/queue: {queue_data}.") + queue_running = queue_data.get("queue_running", []) + print(f"run_tests 8. queue_running from http://localhost:{port}/queue: {queue_running}.") + if queue_running: + print(f"run_tests 9. queue_running is not empty!") + prompt_id = queue_running[0][1] + client_id = queue_running[0][3].get("client_id") + break + print(f"run_tests 10. got client_id from http://localhost:{port}/queue:: {client_id}") + print(f"run_tests 11. got prompt_id from http://localhost:{port}/queue:: {prompt_id}") + time.sleep(1) + + driver.quit() + print(f"run_tests SELENIUM 7 (quit selenium driver).") if not client_id or not prompt_id: print(f"run_tests F. either prompt_id ({prompt_id}) or client_id({client_id}) is null!") diff --git a/web/dist/assets/index-BQW99_dA.css b/web/dist/assets/index-BQW99_dA.css new file mode 100644 index 0000000..2719a01 --- /dev/null +++ b/web/dist/assets/index-BQW99_dA.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-3{grid-column:span 3 / span 3}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-\[1px\]{width:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[\#222\]{--tw-border-opacity: 1;border-color:rgb(34 34 34 / var(--tw-border-opacity))}.border-\[\#444\]{--tw-border-opacity: 1;border-color:rgb(68 68 68 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-destructive{border-color:hsl(var(--destructive))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.bg-\[\#000\]{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-\[\#444\]{--tw-bg-opacity: 1;background-color:rgb(68 68 68 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-\[425px\]{max-width:425px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}} diff --git a/web/dist/assets/index-CkleoVQo.js b/web/dist/assets/index-CkleoVQo.js deleted file mode 100644 index 69e2f00..0000000 --- a/web/dist/assets/index-CkleoVQo.js +++ /dev/null @@ -1,142 +0,0 @@ -var Pu=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var S=(e,t,n)=>(Pu(e,t,"read from private field"),n?n.call(e):t.get(e)),z=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},L=(e,t,n,r)=>(Pu(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var ps=(e,t,n,r)=>({set _(o){L(e,t,o,n)},get _(){return S(e,t,r)}}),Y=(e,t,n)=>(Pu(e,t,"access private method"),n);function Jm(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function Qd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Zm={exports:{}},Ql={},ev={exports:{}},re={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ya=Symbol.for("react.element"),Nw=Symbol.for("react.portal"),Mw=Symbol.for("react.fragment"),jw=Symbol.for("react.strict_mode"),Aw=Symbol.for("react.profiler"),Lw=Symbol.for("react.provider"),Iw=Symbol.for("react.context"),Fw=Symbol.for("react.forward_ref"),zw=Symbol.for("react.suspense"),Uw=Symbol.for("react.memo"),Bw=Symbol.for("react.lazy"),pp=Symbol.iterator;function Ww(e){return e===null||typeof e!="object"?null:(e=pp&&e[pp]||e["@@iterator"],typeof e=="function"?e:null)}var tv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},nv=Object.assign,rv={};function vi(e,t,n){this.props=e,this.context=t,this.refs=rv,this.updater=n||tv}vi.prototype.isReactComponent={};vi.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};vi.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ov(){}ov.prototype=vi.prototype;function Gd(e,t,n){this.props=e,this.context=t,this.refs=rv,this.updater=n||tv}var qd=Gd.prototype=new ov;qd.constructor=Gd;nv(qd,vi.prototype);qd.isPureReactComponent=!0;var hp=Array.isArray,iv=Object.prototype.hasOwnProperty,Yd={current:null},av={key:!0,ref:!0,__self:!0,__source:!0};function sv(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)iv.call(t,r)&&!av.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1>>1,ee=N[q];if(0>>1;qo(ke,V))feo(Ze,ke)?(N[q]=Ze,N[fe]=V,q=fe):(N[q]=ke,N[ie]=V,q=ie);else if(feo(Ze,V))N[q]=Ze,N[fe]=V,q=fe;else break e}}return I}function o(N,I){var V=N.sortIndex-I.sortIndex;return V!==0?V:N.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],c=1,f=null,p=3,g=!1,x=!1,v=!1,w=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(N){for(var I=n(u);I!==null;){if(I.callback===null)r(u);else if(I.startTime<=N)r(u),I.sortIndex=I.expirationTime,t(l,I);else break;I=n(u)}}function C(N){if(v=!1,y(N),!x)if(n(l)!==null)x=!0,ze(R);else{var I=n(u);I!==null&&se(C,I.startTime-N)}}function R(N,I){x=!1,v&&(v=!1,h(T),T=-1),g=!0;var V=p;try{for(y(I),f=n(l);f!==null&&(!(f.expirationTime>I)||N&&!W());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var ee=q(f.expirationTime<=I);I=e.unstable_now(),typeof ee=="function"?f.callback=ee:f===n(l)&&r(l),y(I)}else r(l);f=n(l)}if(f!==null)var ot=!0;else{var ie=n(u);ie!==null&&se(C,ie.startTime-I),ot=!1}return ot}finally{f=null,p=V,g=!1}}var E=!1,k=null,T=-1,_=5,M=-1;function W(){return!(e.unstable_now()-M<_)}function B(){if(k!==null){var N=e.unstable_now();M=N;var I=!0;try{I=k(!0,N)}finally{I?ce():(E=!1,k=null)}}else E=!1}var ce;if(typeof m=="function")ce=function(){m(B)};else if(typeof MessageChannel<"u"){var oe=new MessageChannel,be=oe.port2;oe.port1.onmessage=B,ce=function(){be.postMessage(null)}}else ce=function(){w(B,0)};function ze(N){k=N,E||(E=!0,ce())}function se(N,I){T=w(function(){N(e.unstable_now())},I)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(N){N.callback=null},e.unstable_continueExecution=function(){x||g||(x=!0,ze(R))},e.unstable_forceFrameRate=function(N){0>N||125q?(N.sortIndex=V,t(u,N),n(l)===null&&N===n(u)&&(v?(h(T),T=-1):v=!0,se(C,V-q))):(N.sortIndex=ee,t(l,N),x||g||(x=!0,ze(R))),N},e.unstable_shouldYield=W,e.unstable_wrapCallback=function(N){var I=p;return function(){var V=p;p=I;try{return N.apply(this,arguments)}finally{p=V}}}})(fv);dv.exports=fv;var e1=dv.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var pv=d,_t=e1;function $(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),wc=Object.prototype.hasOwnProperty,t1=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,vp={},gp={};function n1(e){return wc.call(gp,e)?!0:wc.call(vp,e)?!1:t1.test(e)?gp[e]=!0:(vp[e]=!0,!1)}function r1(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function o1(e,t,n,r){if(t===null||typeof t>"u"||r1(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function mt(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var rt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){rt[e]=new mt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];rt[t]=new mt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){rt[e]=new mt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){rt[e]=new mt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){rt[e]=new mt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){rt[e]=new mt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){rt[e]=new mt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){rt[e]=new mt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){rt[e]=new mt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Jd=/[\-:]([a-z])/g;function Zd(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Jd,Zd);rt[t]=new mt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Jd,Zd);rt[t]=new mt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Jd,Zd);rt[t]=new mt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){rt[e]=new mt(e,1,!1,e.toLowerCase(),null,!1,!1)});rt.xlinkHref=new mt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){rt[e]=new mt(e,1,!1,e.toLowerCase(),null,!0,!0)});function ef(e,t,n,r){var o=rt.hasOwnProperty(t)?rt[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var l=` -`+o[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{Ou=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Vi(e):""}function i1(e){switch(e.tag){case 5:return Vi(e.type);case 16:return Vi("Lazy");case 13:return Vi("Suspense");case 19:return Vi("SuspenseList");case 0:case 2:case 15:return e=_u(e.type,!1),e;case 11:return e=_u(e.type.render,!1),e;case 1:return e=_u(e.type,!0),e;default:return""}}function Sc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case yo:return"Fragment";case go:return"Portal";case xc:return"Profiler";case tf:return"StrictMode";case Ec:return"Suspense";case bc:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vv:return(e.displayName||"Context")+".Consumer";case mv:return(e._context.displayName||"Context")+".Provider";case nf:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case rf:return t=e.displayName||null,t!==null?t:Sc(e.type)||"Memo";case Vn:t=e._payload,e=e._init;try{return Sc(e(t))}catch{}}return null}function a1(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Sc(t);case 8:return t===tf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function vr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function yv(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function s1(e){var t=yv(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function vs(e){e._valueTracker||(e._valueTracker=s1(e))}function wv(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=yv(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function dl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Cc(e,t){var n=t.checked;return Ne({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function wp(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=vr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function xv(e,t){t=t.checked,t!=null&&ef(e,"checked",t,!1)}function Rc(e,t){xv(e,t);var n=vr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Pc(e,t.type,n):t.hasOwnProperty("defaultValue")&&Pc(e,t.type,vr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xp(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Pc(e,t,n){(t!=="number"||dl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Hi=Array.isArray;function Do(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=gs.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function ha(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},l1=["Webkit","ms","Moz","O"];Object.keys(Yi).forEach(function(e){l1.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Yi[t]=Yi[e]})});function Cv(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Yi.hasOwnProperty(e)&&Yi[e]?(""+t).trim():t+"px"}function Rv(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=Cv(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var u1=Ne({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Oc(e,t){if(t){if(u1[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error($(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error($(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error($(61))}if(t.style!=null&&typeof t.style!="object")throw Error($(62))}}function _c(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Dc=null;function of(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $c=null,$o=null,No=null;function Sp(e){if(e=Za(e)){if(typeof $c!="function")throw Error($(280));var t=e.stateNode;t&&(t=Jl(t),$c(e.stateNode,e.type,t))}}function Pv(e){$o?No?No.push(e):No=[e]:$o=e}function kv(){if($o){var e=$o,t=No;if(No=$o=null,Sp(e),t)for(e=0;e>>=0,e===0?32:31-(x1(e)/E1|0)|0}var ys=64,ws=4194304;function Ki(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ml(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=Ki(s):(i&=a,i!==0&&(r=Ki(i)))}else a=n&~o,a!==0?r=Ki(a):i!==0&&(r=Ki(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Xa(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Jt(t),e[t]=n}function R1(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ji),$p=" ",Np=!1;function Qv(e,t){switch(e){case"keyup":return Z1.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gv(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wo=!1;function tx(e,t){switch(e){case"compositionend":return Gv(t);case"keypress":return t.which!==32?null:(Np=!0,$p);case"textInput":return e=t.data,e===$p&&Np?null:e;default:return null}}function nx(e,t){if(wo)return e==="compositionend"||!pf&&Qv(e,t)?(e=Hv(),Ks=cf=rr=null,wo=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Lp(n)}}function Jv(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Jv(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Zv(){for(var e=window,t=dl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=dl(e.document)}return t}function hf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function dx(e){var t=Zv(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Jv(n.ownerDocument.documentElement,n)){if(r!==null&&hf(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=Ip(n,i);var a=Ip(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,xo=null,Ic=null,ea=null,Fc=!1;function Fp(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Fc||xo==null||xo!==dl(r)||(r=xo,"selectionStart"in r&&hf(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ea&&xa(ea,r)||(ea=r,r=yl(Ic,"onSelect"),0So||(e.current=Hc[So],Hc[So]=null,So--)}function ge(e,t){So++,Hc[So]=e.current,e.current=t}var gr={},ut=wr(gr),Et=wr(!1),qr=gr;function ri(e,t){var n=e.type.contextTypes;if(!n)return gr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function bt(e){return e=e.childContextTypes,e!=null}function xl(){Ee(Et),Ee(ut)}function Kp(e,t,n){if(ut.current!==gr)throw Error($(168));ge(ut,t),ge(Et,n)}function lg(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error($(108,a1(e)||"Unknown",o));return Ne({},n,r)}function El(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||gr,qr=ut.current,ge(ut,e),ge(Et,Et.current),!0}function Qp(e,t,n){var r=e.stateNode;if(!r)throw Error($(169));n?(e=lg(e,t,qr),r.__reactInternalMemoizedMergedChildContext=e,Ee(Et),Ee(ut),ge(ut,e)):Ee(Et),ge(Et,n)}var Sn=null,Zl=!1,Vu=!1;function ug(e){Sn===null?Sn=[e]:Sn.push(e)}function Sx(e){Zl=!0,ug(e)}function xr(){if(!Vu&&Sn!==null){Vu=!0;var e=0,t=de;try{var n=Sn;for(de=1;e>=a,o-=a,Rn=1<<32-Jt(t)+o|n<T?(_=k,k=null):_=k.sibling;var M=p(h,k,y[T],C);if(M===null){k===null&&(k=_);break}e&&k&&M.alternate===null&&t(h,k),m=i(M,m,T),E===null?R=M:E.sibling=M,E=M,k=_}if(T===y.length)return n(h,k),Re&&Tr(h,T),R;if(k===null){for(;TT?(_=k,k=null):_=k.sibling;var W=p(h,k,M.value,C);if(W===null){k===null&&(k=_);break}e&&k&&W.alternate===null&&t(h,k),m=i(W,m,T),E===null?R=W:E.sibling=W,E=W,k=_}if(M.done)return n(h,k),Re&&Tr(h,T),R;if(k===null){for(;!M.done;T++,M=y.next())M=f(h,M.value,C),M!==null&&(m=i(M,m,T),E===null?R=M:E.sibling=M,E=M);return Re&&Tr(h,T),R}for(k=r(h,k);!M.done;T++,M=y.next())M=g(k,h,T,M.value,C),M!==null&&(e&&M.alternate!==null&&k.delete(M.key===null?T:M.key),m=i(M,m,T),E===null?R=M:E.sibling=M,E=M);return e&&k.forEach(function(B){return t(h,B)}),Re&&Tr(h,T),R}function w(h,m,y,C){if(typeof y=="object"&&y!==null&&y.type===yo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case ms:e:{for(var R=y.key,E=m;E!==null;){if(E.key===R){if(R=y.type,R===yo){if(E.tag===7){n(h,E.sibling),m=o(E,y.props.children),m.return=h,h=m;break e}}else if(E.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Vn&&eh(R)===E.type){n(h,E.sibling),m=o(E,y.props),m.ref=Mi(h,E,y),m.return=h,h=m;break e}n(h,E);break}else t(h,E);E=E.sibling}y.type===yo?(m=Kr(y.props.children,h.mode,C,y.key),m.return=h,h=m):(C=el(y.type,y.key,y.props,null,h.mode,C),C.ref=Mi(h,m,y),C.return=h,h=C)}return a(h);case go:e:{for(E=y.key;m!==null;){if(m.key===E)if(m.tag===4&&m.stateNode.containerInfo===y.containerInfo&&m.stateNode.implementation===y.implementation){n(h,m.sibling),m=o(m,y.children||[]),m.return=h,h=m;break e}else{n(h,m);break}else t(h,m);m=m.sibling}m=Ju(y,h.mode,C),m.return=h,h=m}return a(h);case Vn:return E=y._init,w(h,m,E(y._payload),C)}if(Hi(y))return x(h,m,y,C);if(Oi(y))return v(h,m,y,C);Ps(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,m!==null&&m.tag===6?(n(h,m.sibling),m=o(m,y),m.return=h,h=m):(n(h,m),m=Xu(y,h.mode,C),m.return=h,h=m),a(h)):n(h,m)}return w}var ii=gg(!0),yg=gg(!1),es={},gn=wr(es),Ca=wr(es),Ra=wr(es);function Nr(e){if(e===es)throw Error($(174));return e}function Sf(e,t){switch(ge(Ra,t),ge(Ca,e),ge(gn,es),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Tc(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Tc(t,e)}Ee(gn),ge(gn,t)}function ai(){Ee(gn),Ee(Ca),Ee(Ra)}function wg(e){Nr(Ra.current);var t=Nr(gn.current),n=Tc(t,e.type);t!==n&&(ge(Ca,e),ge(gn,n))}function Cf(e){Ca.current===e&&(Ee(gn),Ee(Ca))}var _e=wr(0);function kl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hu=[];function Rf(){for(var e=0;en?n:4,e(!0);var r=Ku.transition;Ku.transition={};try{e(!1),t()}finally{de=n,Ku.transition=r}}function jg(){return Ht().memoizedState}function kx(e,t,n){var r=dr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ag(e))Lg(t,n);else if(n=pg(e,t,n,r),n!==null){var o=pt();Zt(n,e,r,o),Ig(n,t,r)}}function Tx(e,t,n){var r=dr(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ag(e))Lg(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,en(s,a)){var l=t.interleaved;l===null?(o.next=o,Ef(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=pg(e,t,o,r),n!==null&&(o=pt(),Zt(n,e,r,o),Ig(n,t,r))}}function Ag(e){var t=e.alternate;return e===$e||t!==null&&t===$e}function Lg(e,t){ta=Tl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ig(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,sf(e,n)}}var Ol={readContext:Vt,useCallback:it,useContext:it,useEffect:it,useImperativeHandle:it,useInsertionEffect:it,useLayoutEffect:it,useMemo:it,useReducer:it,useRef:it,useState:it,useDebugValue:it,useDeferredValue:it,useTransition:it,useMutableSource:it,useSyncExternalStore:it,useId:it,unstable_isNewReconciler:!1},Ox={readContext:Vt,useCallback:function(e,t){return ln().memoizedState=[e,t===void 0?null:t],e},useContext:Vt,useEffect:nh,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ys(4194308,4,_g.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ys(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ys(4,2,e,t)},useMemo:function(e,t){var n=ln();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ln();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=kx.bind(null,$e,e),[r.memoizedState,e]},useRef:function(e){var t=ln();return e={current:e},t.memoizedState=e},useState:th,useDebugValue:_f,useDeferredValue:function(e){return ln().memoizedState=e},useTransition:function(){var e=th(!1),t=e[0];return e=Px.bind(null,e[1]),ln().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$e,o=ln();if(Re){if(n===void 0)throw Error($(407));n=n()}else{if(n=t(),Je===null)throw Error($(349));Xr&30||bg(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,nh(Cg.bind(null,r,i,e),[e]),r.flags|=2048,Ta(9,Sg.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=ln(),t=Je.identifierPrefix;if(Re){var n=Pn,r=Rn;n=(r&~(1<<32-Jt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Pa++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[pn]=t,e[Sa]=r,Qg(e,t,!1,!1),t.stateNode=e;e:{switch(a=_c(n,r),n){case"dialog":we("cancel",e),we("close",e),o=r;break;case"iframe":case"object":case"embed":we("load",e),o=r;break;case"video":case"audio":for(o=0;oli&&(t.flags|=128,r=!0,ji(i,!1),t.lanes=4194304)}else{if(!r)if(e=kl(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ji(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!Re)return at(t),null}else 2*Fe()-i.renderingStartTime>li&&n!==1073741824&&(t.flags|=128,r=!0,ji(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Fe(),t.sibling=null,n=_e.current,ge(_e,r?n&1|2:n&1),t):(at(t),null);case 22:case 23:return Af(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?kt&1073741824&&(at(t),t.subtreeFlags&6&&(t.flags|=8192)):at(t),null;case 24:return null;case 25:return null}throw Error($(156,t.tag))}function Lx(e,t){switch(vf(t),t.tag){case 1:return bt(t.type)&&xl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Ee(Et),Ee(ut),Rf(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Cf(t),null;case 13:if(Ee(_e),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error($(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ee(_e),null;case 4:return ai(),null;case 10:return xf(t.type._context),null;case 22:case 23:return Af(),null;case 24:return null;default:return null}}var Ts=!1,lt=!1,Ix=typeof WeakSet=="function"?WeakSet:Set,F=null;function ko(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ae(e,t,r)}else n.current=null}function rd(e,t,n){try{n()}catch(r){Ae(e,t,r)}}var dh=!1;function Fx(e,t){if(zc=vl,e=Zv(),hf(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,c=0,f=e,p=null;t:for(;;){for(var g;f!==n||o!==0&&f.nodeType!==3||(s=a+o),f!==i||r!==0&&f.nodeType!==3||(l=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===o&&(s=a),p===i&&++c===r&&(l=a),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Uc={focusedElem:e,selectionRange:n},vl=!1,F=t;F!==null;)if(t=F,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,F=e;else for(;F!==null;){t=F;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var v=x.memoizedProps,w=x.memoizedState,h=t.stateNode,m=h.getSnapshotBeforeUpdate(t.elementType===t.type?v:Qt(t.type,v),w);h.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error($(163))}}catch(C){Ae(t,t.return,C)}if(e=t.sibling,e!==null){e.return=t.return,F=e;break}F=t.return}return x=dh,dh=!1,x}function na(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&rd(t,n,i)}o=o.next}while(o!==r)}}function nu(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function od(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Yg(e){var t=e.alternate;t!==null&&(e.alternate=null,Yg(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[pn],delete t[Sa],delete t[Vc],delete t[Ex],delete t[bx])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Xg(e){return e.tag===5||e.tag===3||e.tag===4}function fh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Xg(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function id(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=wl));else if(r!==4&&(e=e.child,e!==null))for(id(e,t,n),e=e.sibling;e!==null;)id(e,t,n),e=e.sibling}function ad(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ad(e,t,n),e=e.sibling;e!==null;)ad(e,t,n),e=e.sibling}var tt=null,qt=!1;function In(e,t,n){for(n=n.child;n!==null;)Jg(e,t,n),n=n.sibling}function Jg(e,t,n){if(vn&&typeof vn.onCommitFiberUnmount=="function")try{vn.onCommitFiberUnmount(Gl,n)}catch{}switch(n.tag){case 5:lt||ko(n,t);case 6:var r=tt,o=qt;tt=null,In(e,t,n),tt=r,qt=o,tt!==null&&(qt?(e=tt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):tt.removeChild(n.stateNode));break;case 18:tt!==null&&(qt?(e=tt,n=n.stateNode,e.nodeType===8?Wu(e.parentNode,n):e.nodeType===1&&Wu(e,n),ya(e)):Wu(tt,n.stateNode));break;case 4:r=tt,o=qt,tt=n.stateNode.containerInfo,qt=!0,In(e,t,n),tt=r,qt=o;break;case 0:case 11:case 14:case 15:if(!lt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&rd(n,t,a),o=o.next}while(o!==r)}In(e,t,n);break;case 1:if(!lt&&(ko(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Ae(n,t,s)}In(e,t,n);break;case 21:In(e,t,n);break;case 22:n.mode&1?(lt=(r=lt)||n.memoizedState!==null,In(e,t,n),lt=r):In(e,t,n);break;default:In(e,t,n)}}function ph(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ix),t.forEach(function(r){var o=Gx.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Kt(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=Fe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ux(r/1960))-r,10e?16:e,or===null)var r=!1;else{if(e=or,or=null,$l=0,le&6)throw Error($(331));var o=le;for(le|=4,F=e.current;F!==null;){var i=F,a=i.child;if(F.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lFe()-Mf?Hr(e,0):Nf|=n),St(e,t)}function ay(e,t){t===0&&(e.mode&1?(t=ws,ws<<=1,!(ws&130023424)&&(ws=4194304)):t=1);var n=pt();e=_n(e,t),e!==null&&(Xa(e,t,n),St(e,n))}function Qx(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ay(e,n)}function Gx(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error($(314))}r!==null&&r.delete(t),ay(e,n)}var sy;sy=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Et.current)xt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return xt=!1,jx(e,t,n);xt=!!(e.flags&131072)}else xt=!1,Re&&t.flags&1048576&&cg(t,Sl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Xs(e,t),e=t.pendingProps;var o=ri(t,ut.current);jo(t,n),o=kf(null,t,r,e,o,n);var i=Tf();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,bt(r)?(i=!0,El(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,bf(t),o.updater=eu,t.stateNode=o,o._reactInternals=t,Yc(t,r,e,n),t=Zc(null,t,r,!0,i,n)):(t.tag=0,Re&&i&&mf(t),ft(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Xs(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Yx(r),e=Qt(r,e),o){case 0:t=Jc(null,t,r,e,n);break e;case 1:t=lh(null,t,r,e,n);break e;case 11:t=ah(null,t,r,e,n);break e;case 14:t=sh(null,t,r,Qt(r.type,e),n);break e}throw Error($(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Qt(r,o),Jc(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Qt(r,o),lh(e,t,r,o,n);case 3:e:{if(Vg(t),e===null)throw Error($(387));r=t.pendingProps,i=t.memoizedState,o=i.element,hg(e,t),Pl(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=si(Error($(423)),t),t=uh(e,t,r,n,o);break e}else if(r!==o){o=si(Error($(424)),t),t=uh(e,t,r,n,o);break e}else for(Tt=lr(t.stateNode.containerInfo.firstChild),Ot=t,Re=!0,Xt=null,n=yg(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),r===o){t=Dn(e,t,n);break e}ft(e,t,r,n)}t=t.child}return t;case 5:return wg(t),e===null&&Qc(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,Bc(r,o)?a=null:i!==null&&Bc(r,i)&&(t.flags|=32),Wg(e,t),ft(e,t,a,n),t.child;case 6:return e===null&&Qc(t),null;case 13:return Hg(e,t,n);case 4:return Sf(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ii(t,null,r,n):ft(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Qt(r,o),ah(e,t,r,o,n);case 7:return ft(e,t,t.pendingProps,n),t.child;case 8:return ft(e,t,t.pendingProps.children,n),t.child;case 12:return ft(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,ge(Cl,r._currentValue),r._currentValue=a,i!==null)if(en(i.value,a)){if(i.children===o.children&&!Et.current){t=Dn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=kn(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),Gc(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error($(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Gc(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}ft(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,jo(t,n),o=Vt(o),r=r(o),t.flags|=1,ft(e,t,r,n),t.child;case 14:return r=t.type,o=Qt(r,t.pendingProps),o=Qt(r.type,o),sh(e,t,r,o,n);case 15:return Ug(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Qt(r,o),Xs(e,t),t.tag=1,bt(r)?(e=!0,El(t)):e=!1,jo(t,n),vg(t,r,o),Yc(t,r,o,n),Zc(null,t,r,!0,e,n);case 19:return Kg(e,t,n);case 22:return Bg(e,t,n)}throw Error($(156,t.tag))};function ly(e,t){return Mv(e,t)}function qx(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bt(e,t,n,r){return new qx(e,t,n,r)}function If(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Yx(e){if(typeof e=="function")return If(e)?1:0;if(e!=null){if(e=e.$$typeof,e===nf)return 11;if(e===rf)return 14}return 2}function fr(e,t){var n=e.alternate;return n===null?(n=Bt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function el(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")If(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case yo:return Kr(n.children,o,i,t);case tf:a=8,o|=8;break;case xc:return e=Bt(12,n,t,o|2),e.elementType=xc,e.lanes=i,e;case Ec:return e=Bt(13,n,t,o),e.elementType=Ec,e.lanes=i,e;case bc:return e=Bt(19,n,t,o),e.elementType=bc,e.lanes=i,e;case gv:return ou(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case mv:a=10;break e;case vv:a=9;break e;case nf:a=11;break e;case rf:a=14;break e;case Vn:a=16,r=null;break e}throw Error($(130,e==null?e:typeof e,""))}return t=Bt(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function Kr(e,t,n,r){return e=Bt(7,e,r,t),e.lanes=n,e}function ou(e,t,n,r){return e=Bt(22,e,r,t),e.elementType=gv,e.lanes=n,e.stateNode={isHidden:!1},e}function Xu(e,t,n){return e=Bt(6,e,null,t),e.lanes=n,e}function Ju(e,t,n){return t=Bt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xx(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=$u(0),this.expirationTimes=$u(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$u(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Ff(e,t,n,r,o,i,a,s,l){return e=new Xx(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Bt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},bf(i),e}function Jx(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(fy)}catch(e){console.error(e)}}fy(),cv.exports=Dt;var ts=cv.exports;const Wf=Qd(ts),rE=Jm({__proto__:null,default:Wf},[ts]);var Eh=ts;yc.createRoot=Eh.createRoot,yc.hydrateRoot=Eh.hydrateRoot;/** - * @remix-run/router v1.15.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Le(){return Le=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function ui(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function iE(){return Math.random().toString(36).substr(2,8)}function Sh(e,t){return{usr:e.state,key:e.key,idx:t}}function _a(e,t,n,r){return n===void 0&&(n=null),Le({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Nn(t):t,{state:n,key:t&&t.key||r||iE()})}function ns(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Nn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function aE(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Ie.Pop,l=null,u=c();u==null&&(u=0,a.replaceState(Le({},a.state,{idx:u}),""));function c(){return(a.state||{idx:null}).idx}function f(){s=Ie.Pop;let w=c(),h=w==null?null:w-u;u=w,l&&l({action:s,location:v.location,delta:h})}function p(w,h){s=Ie.Push;let m=_a(v.location,w,h);n&&n(m,w),u=c()+1;let y=Sh(m,u),C=v.createHref(m);try{a.pushState(y,"",C)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;o.location.assign(C)}i&&l&&l({action:s,location:v.location,delta:1})}function g(w,h){s=Ie.Replace;let m=_a(v.location,w,h);n&&n(m,w),u=c();let y=Sh(m,u),C=v.createHref(m);a.replaceState(y,"",C),i&&l&&l({action:s,location:v.location,delta:0})}function x(w){let h=o.location.origin!=="null"?o.location.origin:o.location.href,m=typeof w=="string"?w:ns(w);return m=m.replace(/ $/,"%20"),ne(h,"No window.location.(origin|href) available to create URL for href: "+m),new URL(m,h)}let v={get action(){return s},get location(){return e(o,a)},listen(w){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(bh,f),l=w,()=>{o.removeEventListener(bh,f),l=null}},createHref(w){return t(o,w)},createURL:x,encodeLocation(w){let h=x(w);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:g,go(w){return a.go(w)}};return v}var je;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(je||(je={}));const sE=new Set(["lazy","caseSensitive","path","id","index","children"]);function lE(e){return e.index===!0}function dd(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,i],s=typeof o.id=="string"?o.id:a.join("-");if(ne(o.index!==!0||!o.children,"Cannot specify children on an index route"),ne(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),lE(o)){let l=Le({},o,t(o),{id:s});return r[s]=l,l}else{let l=Le({},o,t(o),{id:s,children:void 0});return r[s]=l,o.children&&(l.children=dd(o.children,t,a,r)),l}})}function Oo(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Nn(t):t,o=rs(r.pathname||"/",n);if(o==null)return null;let i=py(e);cE(i);let a=null;for(let s=0;a==null&&s{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(ne(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=pr([r,l.relativePath]),c=n.concat(l);i.children&&i.children.length>0&&(ne(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),py(i.children,t,c,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:gE(u,i.index),routesMeta:c})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of hy(i.path))o(i,a,l)}),t}function hy(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=hy(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function cE(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:yE(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const dE=/^:[\w-]+$/,fE=3,pE=2,hE=1,mE=10,vE=-2,Ch=e=>e==="*";function gE(e,t){let n=e.split("/"),r=n.length;return n.some(Ch)&&(r+=vE),t&&(r+=pE),n.filter(o=>!Ch(o)).reduce((o,i)=>o+(dE.test(i)?fE:i===""?hE:mE),r)}function yE(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function wE(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{let{paramName:p,isOptional:g}=c;if(p==="*"){let v=s[f]||"";a=i.slice(0,i.length-v.length).replace(/(.)\/+$/,"$1")}const x=s[f];return g&&!x?u[p]=void 0:u[p]=(x||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:a,pattern:e}}function EE(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),ui(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function bE(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ui(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function rs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function SE(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Nn(e):e;return{pathname:n?n.startsWith("/")?n:CE(n,t):t,search:PE(r),hash:kE(o)}}function CE(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function Zu(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function my(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function vy(e,t){let n=my(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function gy(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Nn(e):(o=Le({},e),ne(!o.pathname||!o.pathname.includes("?"),Zu("?","pathname","search",o)),ne(!o.pathname||!o.pathname.includes("#"),Zu("#","pathname","hash",o)),ne(!o.search||!o.search.includes("#"),Zu("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),f-=1;o.pathname=p.join("/")}s=f>=0?t[f]:"/"}let l=SE(o,s),u=a&&a!=="/"&&a.endsWith("/"),c=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const pr=e=>e.join("/").replace(/\/\/+/g,"/"),RE=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),PE=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,kE=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class Vf{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function yy(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const wy=["post","put","patch","delete"],TE=new Set(wy),OE=["get",...wy],_E=new Set(OE),DE=new Set([301,302,303,307,308]),$E=new Set([307,308]),ec={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},NE={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Li={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},xy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ME=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Ey="remix-router-transitions";function jE(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;ne(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let P=e.detectErrorBoundary;o=O=>({hasErrorBoundary:P(O)})}else o=ME;let i={},a=dd(e.routes,o,void 0,i),s,l=e.basename||"/",u=Le({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),c=null,f=new Set,p=null,g=null,x=null,v=e.hydrationData!=null,w=Oo(a,e.history.location,l),h=null;if(w==null){let P=It(404,{pathname:e.history.location.pathname}),{matches:O,route:D}=$h(a);w=O,h={[D.id]:P}}let m,y=w.some(P=>P.route.lazy),C=w.some(P=>P.route.loader);if(y)m=!1;else if(!C)m=!0;else if(u.v7_partialHydration){let P=e.hydrationData?e.hydrationData.loaderData:null,O=e.hydrationData?e.hydrationData.errors:null;m=w.every(D=>D.route.loader&&D.route.loader.hydrate!==!0&&(P&&P[D.route.id]!==void 0||O&&O[D.route.id]!==void 0))}else m=e.hydrationData!=null;let R,E={historyAction:e.history.action,location:e.history.location,matches:w,initialized:m,navigation:ec,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||h,fetchers:new Map,blockers:new Map},k=Ie.Pop,T=!1,_,M=!1,W=new Map,B=null,ce=!1,oe=!1,be=[],ze=[],se=new Map,N=0,I=-1,V=new Map,q=new Set,ee=new Map,ot=new Map,ie=new Set,ke=new Map,fe=new Map,Ze=!1;function Mn(){if(c=e.history.listen(P=>{let{action:O,location:D,delta:A}=P;if(Ze){Ze=!1;return}ui(fe.size===0||A!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let U=lo({currentLocation:E.location,nextLocation:D,historyAction:O});if(U&&A!=null){Ze=!0,e.history.go(A*-1),An(U,{state:"blocked",location:D,proceed(){An(U,{state:"proceeding",proceed:void 0,reset:void 0,location:D}),e.history.go(A)},reset(){let te=new Map(E.blockers);te.set(U,Li),Qe({blockers:te})}});return}return nn(O,D)}),n){KE(t,W);let P=()=>QE(t,W);t.addEventListener("pagehide",P),B=()=>t.removeEventListener("pagehide",P)}return E.initialized||nn(Ie.Pop,E.location,{initialHydration:!0}),R}function Sr(){c&&c(),B&&B(),f.clear(),_&&_.abort(),E.fetchers.forEach((P,O)=>Me(O)),E.blockers.forEach((P,O)=>Rr(O))}function ro(P){return f.add(P),()=>f.delete(P)}function Qe(P,O){O===void 0&&(O={}),E=Le({},E,P);let D=[],A=[];u.v7_fetcherPersist&&E.fetchers.forEach((U,te)=>{U.state==="idle"&&(ie.has(te)?A.push(te):D.push(te))}),[...f].forEach(U=>U(E,{deletedFetchers:A,unstable_viewTransitionOpts:O.viewTransitionOpts,unstable_flushSync:O.flushSync===!0})),u.v7_fetcherPersist&&(D.forEach(U=>E.fetchers.delete(U)),A.forEach(U=>Me(U)))}function Nt(P,O,D){var A,U;let{flushSync:te}=D===void 0?{}:D,G=E.actionData!=null&&E.navigation.formMethod!=null&&Yt(E.navigation.formMethod)&&E.navigation.state==="loading"&&((A=P.state)==null?void 0:A._isRedirect)!==!0,Q;O.actionData?Object.keys(O.actionData).length>0?Q=O.actionData:Q=null:G?Q=E.actionData:Q=null;let K=O.loaderData?Dh(E.loaderData,O.loaderData,O.matches||[],O.errors):E.loaderData,ae=E.blockers;ae.size>0&&(ae=new Map(ae),ae.forEach((ve,et)=>ae.set(et,Li)));let Ge=T===!0||E.navigation.formMethod!=null&&Yt(E.navigation.formMethod)&&((U=P.state)==null?void 0:U._isRedirect)!==!0;s&&(a=s,s=void 0),ce||k===Ie.Pop||(k===Ie.Push?e.history.push(P,P.state):k===Ie.Replace&&e.history.replace(P,P.state));let Z;if(k===Ie.Pop){let ve=W.get(E.location.pathname);ve&&ve.has(P.pathname)?Z={currentLocation:E.location,nextLocation:P}:W.has(P.pathname)&&(Z={currentLocation:P,nextLocation:E.location})}else if(M){let ve=W.get(E.location.pathname);ve?ve.add(P.pathname):(ve=new Set([P.pathname]),W.set(E.location.pathname,ve)),Z={currentLocation:E.location,nextLocation:P}}Qe(Le({},O,{actionData:Q,loaderData:K,historyAction:k,location:P,initialized:!0,navigation:ec,revalidation:"idle",restoreScrollPosition:fp(P,O.matches||E.matches),preventScrollReset:Ge,blockers:ae}),{viewTransitionOpts:Z,flushSync:te===!0}),k=Ie.Pop,T=!1,M=!1,ce=!1,oe=!1,be=[],ze=[]}async function Ci(P,O){if(typeof P=="number"){e.history.go(P);return}let D=fd(E.location,E.matches,l,u.v7_prependBasename,P,u.v7_relativeSplatPath,O==null?void 0:O.fromRouteId,O==null?void 0:O.relative),{path:A,submission:U,error:te}=Rh(u.v7_normalizeFormMethod,!1,D,O),G=E.location,Q=_a(E.location,A,O&&O.state);Q=Le({},Q,e.history.encodeLocation(Q));let K=O&&O.replace!=null?O.replace:void 0,ae=Ie.Push;K===!0?ae=Ie.Replace:K===!1||U!=null&&Yt(U.formMethod)&&U.formAction===E.location.pathname+E.location.search&&(ae=Ie.Replace);let Ge=O&&"preventScrollReset"in O?O.preventScrollReset===!0:void 0,Z=(O&&O.unstable_flushSync)===!0,ve=lo({currentLocation:G,nextLocation:Q,historyAction:ae});if(ve){An(ve,{state:"blocked",location:Q,proceed(){An(ve,{state:"proceeding",proceed:void 0,reset:void 0,location:Q}),Ci(P,O)},reset(){let et=new Map(E.blockers);et.set(ve,Li),Qe({blockers:et})}});return}return await nn(ae,Q,{submission:U,pendingError:te,preventScrollReset:Ge,replace:O&&O.replace,enableViewTransition:O&&O.unstable_viewTransition,flushSync:Z})}function ss(){if(Pi(),Qe({revalidation:"loading"}),E.navigation.state!=="submitting"){if(E.navigation.state==="idle"){nn(E.historyAction,E.location,{startUninterruptedRevalidation:!0});return}nn(k||E.historyAction,E.navigation.location,{overrideNavigation:E.navigation})}}async function nn(P,O,D){_&&_.abort(),_=null,k=P,ce=(D&&D.startUninterruptedRevalidation)===!0,_w(E.location,E.matches),T=(D&&D.preventScrollReset)===!0,M=(D&&D.enableViewTransition)===!0;let A=s||a,U=D&&D.overrideNavigation,te=Oo(A,O,l),G=(D&&D.flushSync)===!0;if(!te){let et=It(404,{pathname:O.pathname}),{matches:Mt,route:qe}=$h(A);Pr(),Nt(O,{matches:Mt,loaderData:{},errors:{[qe.id]:et}},{flushSync:G});return}if(E.initialized&&!oe&&zE(E.location,O)&&!(D&&D.submission&&Yt(D.submission.formMethod))){Nt(O,{matches:te},{flushSync:G});return}_=new AbortController;let Q=Fi(e.history,O,_.signal,D&&D.submission),K,ae;if(D&&D.pendingError)ae={[ia(te).route.id]:D.pendingError};else if(D&&D.submission&&Yt(D.submission.formMethod)){let et=await ls(Q,O,D.submission,te,{replace:D.replace,flushSync:G});if(et.shortCircuited)return;K=et.pendingActionData,ae=et.pendingActionError,U=tc(O,D.submission),G=!1,Q=new Request(Q.url,{signal:Q.signal})}let{shortCircuited:Ge,loaderData:Z,errors:ve}=await jn(Q,O,te,U,D&&D.submission,D&&D.fetcherSubmission,D&&D.replace,D&&D.initialHydration===!0,G,K,ae);Ge||(_=null,Nt(O,Le({matches:te},K?{actionData:K}:{},{loaderData:Z,errors:ve})))}async function ls(P,O,D,A,U){U===void 0&&(U={}),Pi();let te=VE(O,D);Qe({navigation:te},{flushSync:U.flushSync===!0});let G,Q=hd(A,O);if(!Q.route.action&&!Q.route.lazy)G={type:je.error,error:It(405,{method:P.method,pathname:O.pathname,routeId:Q.route.id})};else if(G=await Ii("action",P,Q,A,i,o,l,u.v7_relativeSplatPath),P.signal.aborted)return{shortCircuited:!0};if(jr(G)){let K;return U&&U.replace!=null?K=U.replace:K=G.location===E.location.pathname+E.location.search,await Cr(E,G,{submission:D,replace:K}),{shortCircuited:!0}}if(_o(G)){let K=ia(A,Q.route.id);return(U&&U.replace)!==!0&&(k=Ie.Push),{pendingActionData:{},pendingActionError:{[K.route.id]:G.error}}}if(Mr(G))throw It(400,{type:"defer-action"});return{pendingActionData:{[Q.route.id]:G.data}}}async function jn(P,O,D,A,U,te,G,Q,K,ae,Ge){let Z=A||tc(O,U),ve=U||te||jh(Z),et=s||a,[Mt,qe]=Ph(e.history,E,D,ve,O,u.v7_partialHydration&&Q===!0,oe,be,ze,ie,ee,q,et,l,ae,Ge);if(Pr(pe=>!(D&&D.some(Se=>Se.route.id===pe))||Mt&&Mt.some(Se=>Se.route.id===pe)),I=++N,Mt.length===0&&qe.length===0){let pe=ao();return Nt(O,Le({matches:D,loaderData:{},errors:Ge||null},ae?{actionData:ae}:{},pe?{fetchers:new Map(E.fetchers)}:{}),{flushSync:K}),{shortCircuited:!0}}if(!ce&&(!u.v7_partialHydration||!Q)){qe.forEach(Se=>{let rn=E.fetchers.get(Se.key),fs=zi(void 0,rn?rn.data:void 0);E.fetchers.set(Se.key,fs)});let pe=ae||E.actionData;Qe(Le({navigation:Z},pe?Object.keys(pe).length===0?{actionData:null}:{actionData:pe}:{},qe.length>0?{fetchers:new Map(E.fetchers)}:{}),{flushSync:K})}qe.forEach(pe=>{se.has(pe.key)&&vt(pe.key),pe.controller&&se.set(pe.key,pe.controller)});let uo=()=>qe.forEach(pe=>vt(pe.key));_&&_.signal.addEventListener("abort",uo);let{results:bu,loaderResults:co,fetcherResults:Ln}=await us(E.matches,D,Mt,qe,P);if(P.signal.aborted)return{shortCircuited:!0};_&&_.signal.removeEventListener("abort",uo),qe.forEach(pe=>se.delete(pe.key));let kr=Nh(bu);if(kr){if(kr.idx>=Mt.length){let pe=qe[kr.idx-Mt.length].key;q.add(pe)}return await Cr(E,kr.result,{replace:G}),{shortCircuited:!0}}let{loaderData:Su,errors:Cu}=_h(E,D,Mt,co,Ge,qe,Ln,ke);ke.forEach((pe,Se)=>{pe.subscribe(rn=>{(rn||pe.done)&&ke.delete(Se)})});let Ru=ao(),fo=so(I),ds=Ru||fo||qe.length>0;return Le({loaderData:Su,errors:Cu},ds?{fetchers:new Map(E.fetchers)}:{})}function Ri(P,O,D,A){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");se.has(P)&&vt(P);let U=(A&&A.unstable_flushSync)===!0,te=s||a,G=fd(E.location,E.matches,l,u.v7_prependBasename,D,u.v7_relativeSplatPath,O,A==null?void 0:A.relative),Q=Oo(te,G,l);if(!Q){H(P,O,It(404,{pathname:G}),{flushSync:U});return}let{path:K,submission:ae,error:Ge}=Rh(u.v7_normalizeFormMethod,!0,G,A);if(Ge){H(P,O,Ge,{flushSync:U});return}let Z=hd(Q,K);if(T=(A&&A.preventScrollReset)===!0,ae&&Yt(ae.formMethod)){oo(P,O,K,Z,Q,U,ae);return}ee.set(P,{routeId:O,path:K}),io(P,O,K,Z,Q,U,ae)}async function oo(P,O,D,A,U,te,G){if(Pi(),ee.delete(P),!A.route.action&&!A.route.lazy){let Se=It(405,{method:G.formMethod,pathname:D,routeId:O});H(P,O,Se,{flushSync:te});return}let Q=E.fetchers.get(P);j(P,HE(G,Q),{flushSync:te});let K=new AbortController,ae=Fi(e.history,D,K.signal,G);se.set(P,K);let Ge=N,Z=await Ii("action",ae,A,U,i,o,l,u.v7_relativeSplatPath);if(ae.signal.aborted){se.get(P)===K&&se.delete(P);return}if(u.v7_fetcherPersist&&ie.has(P)){if(jr(Z)||_o(Z)){j(P,Un(void 0));return}}else{if(jr(Z))if(se.delete(P),I>Ge){j(P,Un(void 0));return}else return q.add(P),j(P,zi(G)),Cr(E,Z,{fetcherSubmission:G});if(_o(Z)){H(P,O,Z.error);return}}if(Mr(Z))throw It(400,{type:"defer-action"});let ve=E.navigation.location||E.location,et=Fi(e.history,ve,K.signal),Mt=s||a,qe=E.navigation.state!=="idle"?Oo(Mt,E.navigation.location,l):E.matches;ne(qe,"Didn't find any matches after fetcher action");let uo=++N;V.set(P,uo);let bu=zi(G,Z.data);E.fetchers.set(P,bu);let[co,Ln]=Ph(e.history,E,qe,G,ve,!1,oe,be,ze,ie,ee,q,Mt,l,{[A.route.id]:Z.data},void 0);Ln.filter(Se=>Se.key!==P).forEach(Se=>{let rn=Se.key,fs=E.fetchers.get(rn),$w=zi(void 0,fs?fs.data:void 0);E.fetchers.set(rn,$w),se.has(rn)&&vt(rn),Se.controller&&se.set(rn,Se.controller)}),Qe({fetchers:new Map(E.fetchers)});let kr=()=>Ln.forEach(Se=>vt(Se.key));K.signal.addEventListener("abort",kr);let{results:Su,loaderResults:Cu,fetcherResults:Ru}=await us(E.matches,qe,co,Ln,et);if(K.signal.aborted)return;K.signal.removeEventListener("abort",kr),V.delete(P),se.delete(P),Ln.forEach(Se=>se.delete(Se.key));let fo=Nh(Su);if(fo){if(fo.idx>=co.length){let Se=Ln[fo.idx-co.length].key;q.add(Se)}return Cr(E,fo.result)}let{loaderData:ds,errors:pe}=_h(E,E.matches,co,Cu,void 0,Ln,Ru,ke);if(E.fetchers.has(P)){let Se=Un(Z.data);E.fetchers.set(P,Se)}so(uo),E.navigation.state==="loading"&&uo>I?(ne(k,"Expected pending action"),_&&_.abort(),Nt(E.navigation.location,{matches:qe,loaderData:ds,errors:pe,fetchers:new Map(E.fetchers)})):(Qe({errors:pe,loaderData:Dh(E.loaderData,ds,qe,pe),fetchers:new Map(E.fetchers)}),oe=!1)}async function io(P,O,D,A,U,te,G){let Q=E.fetchers.get(P);j(P,zi(G,Q?Q.data:void 0),{flushSync:te});let K=new AbortController,ae=Fi(e.history,D,K.signal);se.set(P,K);let Ge=N,Z=await Ii("loader",ae,A,U,i,o,l,u.v7_relativeSplatPath);if(Mr(Z)&&(Z=await Cy(Z,ae.signal,!0)||Z),se.get(P)===K&&se.delete(P),!ae.signal.aborted){if(ie.has(P)){j(P,Un(void 0));return}if(jr(Z))if(I>Ge){j(P,Un(void 0));return}else{q.add(P),await Cr(E,Z);return}if(_o(Z)){H(P,O,Z.error);return}ne(!Mr(Z),"Unhandled fetcher deferred data"),j(P,Un(Z.data))}}async function Cr(P,O,D){let{submission:A,fetcherSubmission:U,replace:te}=D===void 0?{}:D;O.revalidate&&(oe=!0);let G=_a(P.location,O.location,{_isRedirect:!0});if(ne(G,"Expected a location on the redirect navigation"),n){let ve=!1;if(O.reloadDocument)ve=!0;else if(xy.test(O.location)){const et=e.history.createURL(O.location);ve=et.origin!==t.location.origin||rs(et.pathname,l)==null}if(ve){te?t.location.replace(O.location):t.location.assign(O.location);return}}_=null;let Q=te===!0?Ie.Replace:Ie.Push,{formMethod:K,formAction:ae,formEncType:Ge}=P.navigation;!A&&!U&&K&&ae&&Ge&&(A=jh(P.navigation));let Z=A||U;if($E.has(O.status)&&Z&&Yt(Z.formMethod))await nn(Q,G,{submission:Le({},Z,{formAction:O.location}),preventScrollReset:T});else{let ve=tc(G,A);await nn(Q,G,{overrideNavigation:ve,fetcherSubmission:U,preventScrollReset:T})}}async function us(P,O,D,A,U){let te=await Promise.all([...D.map(K=>Ii("loader",U,K,O,i,o,l,u.v7_relativeSplatPath)),...A.map(K=>K.matches&&K.match&&K.controller?Ii("loader",Fi(e.history,K.path,K.controller.signal),K.match,K.matches,i,o,l,u.v7_relativeSplatPath):{type:je.error,error:It(404,{pathname:K.path})})]),G=te.slice(0,D.length),Q=te.slice(D.length);return await Promise.all([Mh(P,D,G,G.map(()=>U.signal),!1,E.loaderData),Mh(P,A.map(K=>K.match),Q,A.map(K=>K.controller?K.controller.signal:null),!0)]),{results:te,loaderResults:G,fetcherResults:Q}}function Pi(){oe=!0,be.push(...Pr()),ee.forEach((P,O)=>{se.has(O)&&(ze.push(O),vt(O))})}function j(P,O,D){D===void 0&&(D={}),E.fetchers.set(P,O),Qe({fetchers:new Map(E.fetchers)},{flushSync:(D&&D.flushSync)===!0})}function H(P,O,D,A){A===void 0&&(A={});let U=ia(E.matches,O);Me(P),Qe({errors:{[U.route.id]:D},fetchers:new Map(E.fetchers)},{flushSync:(A&&A.flushSync)===!0})}function Te(P){return u.v7_fetcherPersist&&(ot.set(P,(ot.get(P)||0)+1),ie.has(P)&&ie.delete(P)),E.fetchers.get(P)||NE}function Me(P){let O=E.fetchers.get(P);se.has(P)&&!(O&&O.state==="loading"&&V.has(P))&&vt(P),ee.delete(P),V.delete(P),q.delete(P),ie.delete(P),E.fetchers.delete(P)}function ct(P){if(u.v7_fetcherPersist){let O=(ot.get(P)||0)-1;O<=0?(ot.delete(P),ie.add(P)):ot.set(P,O)}else Me(P);Qe({fetchers:new Map(E.fetchers)})}function vt(P){let O=se.get(P);ne(O,"Expected fetch controller: "+P),O.abort(),se.delete(P)}function wn(P){for(let O of P){let D=Te(O),A=Un(D.data);E.fetchers.set(O,A)}}function ao(){let P=[],O=!1;for(let D of q){let A=E.fetchers.get(D);ne(A,"Expected fetcher: "+D),A.state==="loading"&&(q.delete(D),P.push(D),O=!0)}return wn(P),O}function so(P){let O=[];for(let[D,A]of V)if(A0}function ki(P,O){let D=E.blockers.get(P)||Li;return fe.get(P)!==O&&fe.set(P,O),D}function Rr(P){E.blockers.delete(P),fe.delete(P)}function An(P,O){let D=E.blockers.get(P)||Li;ne(D.state==="unblocked"&&O.state==="blocked"||D.state==="blocked"&&O.state==="blocked"||D.state==="blocked"&&O.state==="proceeding"||D.state==="blocked"&&O.state==="unblocked"||D.state==="proceeding"&&O.state==="unblocked","Invalid blocker state transition: "+D.state+" -> "+O.state);let A=new Map(E.blockers);A.set(P,O),Qe({blockers:A})}function lo(P){let{currentLocation:O,nextLocation:D,historyAction:A}=P;if(fe.size===0)return;fe.size>1&&ui(!1,"A router only supports one blocker at a time");let U=Array.from(fe.entries()),[te,G]=U[U.length-1],Q=E.blockers.get(te);if(!(Q&&Q.state==="proceeding")&&G({currentLocation:O,nextLocation:D,historyAction:A}))return te}function Pr(P){let O=[];return ke.forEach((D,A)=>{(!P||P(A))&&(D.cancel(),O.push(A),ke.delete(A))}),O}function Ti(P,O,D){if(p=P,x=O,g=D||null,!v&&E.navigation===ec){v=!0;let A=fp(E.location,E.matches);A!=null&&Qe({restoreScrollPosition:A})}return()=>{p=null,x=null,g=null}}function cs(P,O){return g&&g(P,O.map(A=>uE(A,E.loaderData)))||P.key}function _w(P,O){if(p&&x){let D=cs(P,O);p[D]=x()}}function fp(P,O){if(p){let D=cs(P,O),A=p[D];if(typeof A=="number")return A}return null}function Dw(P){i={},s=dd(P,o,void 0,i)}return R={get basename(){return l},get future(){return u},get state(){return E},get routes(){return a},get window(){return t},initialize:Mn,subscribe:ro,enableScrollRestoration:Ti,navigate:Ci,fetch:Ri,revalidate:ss,createHref:P=>e.history.createHref(P),encodeLocation:P=>e.history.encodeLocation(P),getFetcher:Te,deleteFetcher:ct,dispose:Sr,getBlocker:ki,deleteBlocker:Rr,_internalFetchControllers:se,_internalActiveDeferreds:ke,_internalSetRoutes:Dw},R}function AE(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function fd(e,t,n,r,o,i,a,s){let l,u;if(a){l=[];for(let f of t)if(l.push(f),f.route.id===a){u=f;break}}else l=t,u=t[t.length-1];let c=gy(o||".",vy(l,i),rs(e.pathname,n)||e.pathname,s==="path");return o==null&&(c.search=e.search,c.hash=e.hash),(o==null||o===""||o===".")&&u&&u.route.index&&!Hf(c.search)&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(c.pathname=c.pathname==="/"?n:pr([n,c.pathname])),ns(c)}function Rh(e,t,n,r){if(!r||!AE(r))return{path:n};if(r.formMethod&&!WE(r.formMethod))return{path:n,error:It(405,{method:r.formMethod})};let o=()=>({path:n,error:It(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=Sy(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Yt(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((g,x)=>{let[v,w]=x;return""+g+v+"="+w+` -`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!Yt(a))return o();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return o()}}}ne(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=pd(r.formData),u=r.formData;else if(r.body instanceof FormData)l=pd(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=Oh(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=Oh(l)}catch{return o()}let c={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Yt(c.formMethod))return{path:n,submission:c};let f=Nn(n);return t&&f.search&&Hf(f.search)&&l.append("index",""),f.search="?"+l,{path:ns(f),submission:c}}function LE(e,t){let n=e;if(t){let r=e.findIndex(o=>o.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function Ph(e,t,n,r,o,i,a,s,l,u,c,f,p,g,x,v){let w=v?Object.values(v)[0]:x?Object.values(x)[0]:void 0,h=e.createURL(t.location),m=e.createURL(o),y=v?Object.keys(v)[0]:void 0,R=LE(n,y).filter((k,T)=>{let{route:_}=k;if(_.lazy)return!0;if(_.loader==null)return!1;if(i)return _.loader.hydrate?!0:t.loaderData[_.id]===void 0&&(!t.errors||t.errors[_.id]===void 0);if(IE(t.loaderData,t.matches[T],k)||s.some(B=>B===k.route.id))return!0;let M=t.matches[T],W=k;return kh(k,Le({currentUrl:h,currentParams:M.params,nextUrl:m,nextParams:W.params},r,{actionResult:w,defaultShouldRevalidate:a||h.pathname+h.search===m.pathname+m.search||h.search!==m.search||by(M,W)}))}),E=[];return c.forEach((k,T)=>{if(i||!n.some(ce=>ce.route.id===k.routeId)||u.has(T))return;let _=Oo(p,k.path,g);if(!_){E.push({key:T,routeId:k.routeId,path:k.path,matches:null,match:null,controller:null});return}let M=t.fetchers.get(T),W=hd(_,k.path),B=!1;f.has(T)?B=!1:l.includes(T)?B=!0:M&&M.state!=="idle"&&M.data===void 0?B=a:B=kh(W,Le({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:m,nextParams:n[n.length-1].params},r,{actionResult:w,defaultShouldRevalidate:a})),B&&E.push({key:T,routeId:k.routeId,path:k.path,matches:_,match:W,controller:new AbortController})}),[R,E]}function IE(e,t,n){let r=!t||n.route.id!==t.route.id,o=e[n.route.id]===void 0;return r||o}function by(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function kh(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function Th(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let o=n[e.id];ne(o,"No route found in manifest");let i={};for(let a in r){let l=o[a]!==void 0&&a!=="hasErrorBoundary";ui(!l,'Route "'+o.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!l&&!sE.has(a)&&(i[a]=r[a])}Object.assign(o,i),Object.assign(o,Le({},t(o),{lazy:void 0}))}async function Ii(e,t,n,r,o,i,a,s,l){l===void 0&&(l={});let u,c,f,p=v=>{let w,h=new Promise((m,y)=>w=y);return f=()=>w(),t.signal.addEventListener("abort",f),Promise.race([v({request:t,params:n.params,context:l.requestContext}),h])};try{let v=n.route[e];if(n.route.lazy)if(v){let w,h=await Promise.all([p(v).catch(m=>{w=m}),Th(n.route,i,o)]);if(w)throw w;c=h[0]}else if(await Th(n.route,i,o),v=n.route[e],v)c=await p(v);else if(e==="action"){let w=new URL(t.url),h=w.pathname+w.search;throw It(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:je.data,data:void 0};else if(v)c=await p(v);else{let w=new URL(t.url),h=w.pathname+w.search;throw It(404,{pathname:h})}ne(c!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(v){u=je.error,c=v}finally{f&&t.signal.removeEventListener("abort",f)}if(BE(c)){let v=c.status;if(DE.has(v)){let h=c.headers.get("Location");if(ne(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!xy.test(h))h=fd(new URL(t.url),r.slice(0,r.indexOf(n)+1),a,!0,h,s);else if(!l.isStaticRequest){let m=new URL(t.url),y=h.startsWith("//")?new URL(m.protocol+h):new URL(h),C=rs(y.pathname,a)!=null;y.origin===m.origin&&C&&(h=y.pathname+y.search+y.hash)}if(l.isStaticRequest)throw c.headers.set("Location",h),c;return{type:je.redirect,status:v,location:h,revalidate:c.headers.get("X-Remix-Revalidate")!==null,reloadDocument:c.headers.get("X-Remix-Reload-Document")!==null}}if(l.isRouteRequest)throw{type:u===je.error?je.error:je.data,response:c};let w;try{let h=c.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?c.body==null?w=null:w=await c.json():w=await c.text()}catch(h){return{type:je.error,error:h}}return u===je.error?{type:u,error:new Vf(v,c.statusText,w),headers:c.headers}:{type:je.data,data:w,statusCode:c.status,headers:c.headers}}if(u===je.error)return{type:u,error:c};if(UE(c)){var g,x;return{type:je.deferred,deferredData:c,statusCode:(g=c.init)==null?void 0:g.status,headers:((x=c.init)==null?void 0:x.headers)&&new Headers(c.init.headers)}}return{type:je.data,data:c}}function Fi(e,t,n,r){let o=e.createURL(Sy(t)).toString(),i={signal:n};if(r&&Yt(r.formMethod)){let{formMethod:a,formEncType:s}=r;i.method=a.toUpperCase(),s==="application/json"?(i.headers=new Headers({"Content-Type":s}),i.body=JSON.stringify(r.json)):s==="text/plain"?i.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?i.body=pd(r.formData):i.body=r.formData}return new Request(o,i)}function pd(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Oh(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function FE(e,t,n,r,o){let i={},a=null,s,l=!1,u={};return n.forEach((c,f)=>{let p=t[f].route.id;if(ne(!jr(c),"Cannot handle redirect results in processLoaderData"),_o(c)){let g=ia(e,p),x=c.error;r&&(x=Object.values(r)[0],r=void 0),a=a||{},a[g.route.id]==null&&(a[g.route.id]=x),i[p]=void 0,l||(l=!0,s=yy(c.error)?c.error.status:500),c.headers&&(u[p]=c.headers)}else Mr(c)?(o.set(p,c.deferredData),i[p]=c.deferredData.data):i[p]=c.data,c.statusCode!=null&&c.statusCode!==200&&!l&&(s=c.statusCode),c.headers&&(u[p]=c.headers)}),r&&(a=r,i[Object.keys(r)[0]]=void 0),{loaderData:i,errors:a,statusCode:s||200,loaderHeaders:u}}function _h(e,t,n,r,o,i,a,s){let{loaderData:l,errors:u}=FE(t,n,r,o,s);for(let c=0;cr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function $h(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function It(e,t){let{pathname:n,routeId:r,method:o,type:i}=t===void 0?{}:t,a="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(a="Bad Request",o&&n&&r?s="You made a "+o+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?s="defer() is not supported in actions":i==="invalid-body"&&(s="Unable to encode submission body")):e===403?(a="Forbidden",s='Route "'+r+'" does not match URL "'+n+'"'):e===404?(a="Not Found",s='No route matches URL "'+n+'"'):e===405&&(a="Method Not Allowed",o&&n&&r?s="You made a "+o.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":o&&(s='Invalid request method "'+o.toUpperCase()+'"')),new Vf(e||500,a,new Error(s),!0)}function Nh(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(jr(n))return{result:n,idx:t}}}function Sy(e){let t=typeof e=="string"?Nn(e):e;return ns(Le({},t,{hash:""}))}function zE(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Mr(e){return e.type===je.deferred}function _o(e){return e.type===je.error}function jr(e){return(e&&e.type)===je.redirect}function UE(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function BE(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function WE(e){return _E.has(e.toLowerCase())}function Yt(e){return TE.has(e.toLowerCase())}async function Mh(e,t,n,r,o,i){for(let a=0;af.route.id===l.route.id),c=u!=null&&!by(u,l)&&(i&&i[l.route.id])!==void 0;if(Mr(s)&&(o||c)){let f=r[a];ne(f,"Expected an AbortSignal for revalidating fetcher deferred result"),await Cy(s,f,o).then(p=>{p&&(n[a]=p||n[a])})}}}async function Cy(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:je.data,data:e.deferredData.unwrappedData}}catch(o){return{type:je.error,error:o}}return{type:je.data,data:e.deferredData.data}}}function Hf(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function hd(e,t){let n=typeof t=="string"?Nn(t).search:t.search;if(e[e.length-1].route.index&&Hf(n||""))return e[e.length-1];let r=my(e);return r[r.length-1]}function jh(e){let{formMethod:t,formAction:n,formEncType:r,text:o,formData:i,json:a}=e;if(!(!t||!n||!r)){if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:o};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function tc(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function VE(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function zi(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function HE(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Un(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function KE(e,t){try{let n=e.sessionStorage.getItem(Ey);if(n){let r=JSON.parse(n);for(let[o,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(o,new Set(i||[]))}}catch{}}function QE(e,t){if(t.size>0){let n={};for(let[r,o]of t)n[r]=[...o];try{e.sessionStorage.setItem(Ey,JSON.stringify(n))}catch(r){ui(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** - * React Router v6.22.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Da(){return Da=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),d.useCallback(function(u,c){if(c===void 0&&(c={}),!s.current)return;if(typeof u=="number"){r.go(u);return}let f=gy(u,JSON.parse(a),i,c.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:pr([t,f.pathname])),(c.replace?r.replace:r.push)(f,c.state,c)},[t,r,a,i,e])}function qE(e,t,n,r){fu()||ne(!1);let{navigator:o}=d.useContext(cu),{matches:i}=d.useContext(wi),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let u=ky(),c;if(t){var f;let w=typeof t=="string"?Nn(t):t;l==="/"||(f=w.pathname)!=null&&f.startsWith(l)||ne(!1),c=w}else c=u;let p=c.pathname||"/",g=p;if(l!=="/"){let w=l.replace(/^\//,"").split("/");g="/"+p.replace(/^\//,"").split("/").slice(w.length).join("/")}let x=Oo(e,{pathname:g}),v=eb(x&&x.map(w=>Object.assign({},w,{params:Object.assign({},s,w.params),pathname:pr([l,o.encodeLocation?o.encodeLocation(w.pathname).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?l:pr([l,o.encodeLocation?o.encodeLocation(w.pathnameBase).pathname:w.pathnameBase])})),i,n,r);return t&&v?d.createElement(du.Provider,{value:{location:Da({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:Ie.Pop}},v):v}function YE(){let e=ob(),t=yy(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return d.createElement(d.Fragment,null,d.createElement("h2",null,"Unexpected Application Error!"),d.createElement("h3",{style:{fontStyle:"italic"}},t),n?d.createElement("pre",{style:o},n):null,null)}const XE=d.createElement(YE,null);class JE extends d.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?d.createElement(wi.Provider,{value:this.props.routeContext},d.createElement(Py.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ZE(e){let{routeContext:t,match:n,children:r}=e,o=d.useContext(uu);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),d.createElement(wi.Provider,{value:t},r)}function eb(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let c=a.findIndex(f=>f.route.id&&(s==null?void 0:s[f.route.id]));c>=0||ne(!1),a=a.slice(0,Math.min(a.length,c+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let c=0;c=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((c,f,p)=>{let g,x=!1,v=null,w=null;n&&(g=s&&f.route.id?s[f.route.id]:void 0,v=f.route.errorElement||XE,l&&(u<0&&p===0?(ab("route-fallback",!1),x=!0,w=null):u===p&&(x=!0,w=f.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,p+1)),m=()=>{let y;return g?y=v:x?y=w:f.route.Component?y=d.createElement(f.route.Component,null):f.route.element?y=f.route.element:y=c,d.createElement(ZE,{match:f,routeContext:{outlet:c,matches:h,isDataRoute:n!=null},children:y})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?d.createElement(JE,{location:n.location,revalidation:n.revalidation,component:v,error:g,children:m(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):m()},null)}var _y=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(_y||{}),jl=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(jl||{});function tb(e){let t=d.useContext(uu);return t||ne(!1),t}function nb(e){let t=d.useContext(Ry);return t||ne(!1),t}function rb(e){let t=d.useContext(wi);return t||ne(!1),t}function Dy(e){let t=rb(),n=t.matches[t.matches.length-1];return n.route.id||ne(!1),n.route.id}function ob(){var e;let t=d.useContext(Py),n=nb(jl.UseRouteError),r=Dy(jl.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function ib(){let{router:e}=tb(_y.UseNavigateStable),t=Dy(jl.UseNavigateStable),n=d.useRef(!1);return Ty(()=>{n.current=!0}),d.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,Da({fromRouteId:t},i)))},[e,t])}const Ah={};function ab(e,t,n){!t&&!Ah[e]&&(Ah[e]=!0)}function sb(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Ie.Pop,navigator:i,static:a=!1,future:s}=e;fu()&&ne(!1);let l=t.replace(/^\/*/,"/"),u=d.useMemo(()=>({basename:l,navigator:i,static:a,future:Da({v7_relativeSplatPath:!1},s)}),[l,s,i,a]);typeof r=="string"&&(r=Nn(r));let{pathname:c="/",search:f="",hash:p="",state:g=null,key:x="default"}=r,v=d.useMemo(()=>{let w=rs(c,l);return w==null?null:{location:{pathname:w,search:f,hash:p,state:g,key:x},navigationType:o}},[l,c,f,p,g,x,o]);return v==null?null:d.createElement(cu.Provider,{value:u},d.createElement(du.Provider,{children:n,value:v}))}new Promise(()=>{});function lb(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:d.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:d.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:d.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** - * React Router DOM v6.22.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Al(){return Al=Object.assign?Object.assign.bind():function(e){for(var t=1;t{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}}function wb(e){let{fallbackElement:t,router:n,future:r}=e,[o,i]=d.useState(n.state),[a,s]=d.useState(),[l,u]=d.useState({isTransitioning:!1}),[c,f]=d.useState(),[p,g]=d.useState(),[x,v]=d.useState(),w=d.useRef(new Map),{v7_startTransition:h}=r||{},m=d.useCallback(k=>{h?gb(k):k()},[h]),y=d.useCallback((k,T)=>{let{deletedFetchers:_,unstable_flushSync:M,unstable_viewTransitionOpts:W}=T;_.forEach(ce=>w.current.delete(ce)),k.fetchers.forEach((ce,oe)=>{ce.data!==void 0&&w.current.set(oe,ce.data)});let B=n.window==null||typeof n.window.document.startViewTransition!="function";if(!W||B){M?Ui(()=>i(k)):m(()=>i(k));return}if(M){Ui(()=>{p&&(c&&c.resolve(),p.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:W.currentLocation,nextLocation:W.nextLocation})});let ce=n.window.document.startViewTransition(()=>{Ui(()=>i(k))});ce.finished.finally(()=>{Ui(()=>{f(void 0),g(void 0),s(void 0),u({isTransitioning:!1})})}),Ui(()=>g(ce));return}p?(c&&c.resolve(),p.skipTransition(),v({state:k,currentLocation:W.currentLocation,nextLocation:W.nextLocation})):(s(k),u({isTransitioning:!0,flushSync:!1,currentLocation:W.currentLocation,nextLocation:W.nextLocation}))},[n.window,p,c,w,m]);d.useLayoutEffect(()=>n.subscribe(y),[n,y]),d.useEffect(()=>{l.isTransitioning&&!l.flushSync&&f(new yb)},[l]),d.useEffect(()=>{if(c&&a&&n.window){let k=a,T=c.promise,_=n.window.document.startViewTransition(async()=>{m(()=>i(k)),await T});_.finished.finally(()=>{f(void 0),g(void 0),s(void 0),u({isTransitioning:!1})}),g(_)}},[m,a,c,n.window]),d.useEffect(()=>{c&&a&&o.location.key===a.location.key&&c.resolve()},[c,p,o.location,a]),d.useEffect(()=>{!l.isTransitioning&&x&&(s(x.state),u({isTransitioning:!0,flushSync:!1,currentLocation:x.currentLocation,nextLocation:x.nextLocation}),v(void 0))},[l.isTransitioning,x]),d.useEffect(()=>{},[]);let C=d.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:k=>n.navigate(k),push:(k,T,_)=>n.navigate(k,{state:T,preventScrollReset:_==null?void 0:_.preventScrollReset}),replace:(k,T,_)=>n.navigate(k,{replace:!0,state:T,preventScrollReset:_==null?void 0:_.preventScrollReset})}),[n]),R=n.basename||"/",E=d.useMemo(()=>({router:n,navigator:C,static:!1,basename:R}),[n,C,R]);return d.createElement(d.Fragment,null,d.createElement(uu.Provider,{value:E},d.createElement(Ry.Provider,{value:o},d.createElement(hb.Provider,{value:w.current},d.createElement(pb.Provider,{value:l},d.createElement(sb,{basename:R,location:o.location,navigationType:o.historyAction,navigator:C,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},o.initialized||n.future.v7_partialHydration?d.createElement(xb,{routes:n.routes,future:n.future,state:o}):t))))),null)}function xb(e){let{routes:t,future:n,state:r}=e;return qE(t,void 0,r,n)}var Fh;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Fh||(Fh={}));var zh;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(zh||(zh={}));function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;ts,Object.values(s));return d.createElement(n.Provider,{value:l},a)}function o(i){const a=d.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",[r,o]}function pu(e,t=[]){let n=[];function r(i,a){const s=d.createContext(a),l=n.length;n=[...n,a];function u(f){const{scope:p,children:g,...x}=f,v=(p==null?void 0:p[e][l])||s,w=d.useMemo(()=>x,Object.values(x));return d.createElement(v.Provider,{value:w},g)}function c(f,p){const g=(p==null?void 0:p[e][l])||s,x=d.useContext(g);if(x)return x;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${i}\``)}return u.displayName=i+"Provider",[u,c]}const o=()=>{const i=n.map(a=>d.createContext(a));return function(s){const l=(s==null?void 0:s[e])||i;return d.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return o.scopeName=e,[r,bb(o,...t)]}function bb(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=r.reduce((s,{useScope:l,scopeName:u})=>{const f=l(i)[`__scope${u}`];return{...s,...f}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function De(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Sb(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Kf(...e){return t=>e.forEach(n=>Sb(n,t))}function Ct(...e){return d.useCallback(Kf(...e),e)}const ci=d.forwardRef((e,t)=>{const{children:n,...r}=e,o=d.Children.toArray(n),i=o.find(Cb);if(i){const a=i.props.children,s=o.map(l=>l===i?d.Children.count(a)>1?d.Children.only(null):d.isValidElement(a)?a.props.children:null:l);return d.createElement(md,X({},r,{ref:t}),d.isValidElement(a)?d.cloneElement(a,void 0,s):null)}return d.createElement(md,X({},r,{ref:t}),n)});ci.displayName="Slot";const md=d.forwardRef((e,t)=>{const{children:n,...r}=e;return d.isValidElement(n)?d.cloneElement(n,{...Rb(r,n.props),ref:t?Kf(t,n.ref):n.ref}):d.Children.count(n)>1?d.Children.only(null):null});md.displayName="SlotClone";const $y=({children:e})=>d.createElement(d.Fragment,null,e);function Cb(e){return d.isValidElement(e)&&e.type===$y}function Rb(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{i(...s),o(...s)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}const Pb=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Ke=Pb.reduce((e,t)=>{const n=d.forwardRef((r,o)=>{const{asChild:i,...a}=r,s=i?ci:t;return d.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),d.createElement(s,X({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function vd(e,t){e&&ts.flushSync(()=>e.dispatchEvent(t))}function wt(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function Ny({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=kb({defaultProp:t,onChange:n}),i=e!==void 0,a=i?e:r,s=wt(n),l=d.useCallback(u=>{if(i){const f=typeof u=="function"?u(e):u;f!==e&&s(f)}else o(u)},[i,e,o,s]);return[a,l]}function kb({defaultProp:e,onChange:t}){const n=d.useState(e),[r]=n,o=d.useRef(r),i=wt(t);return d.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),n}const Tb=d.createContext(void 0);function Ob(e){const t=d.useContext(Tb);return e||t||"ltr"}const di=globalThis!=null&&globalThis.document?d.useLayoutEffect:()=>{};function _b(e,t){return d.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Er=e=>{const{present:t,children:n}=e,r=Db(t),o=typeof n=="function"?n({present:r.isPresent}):d.Children.only(n),i=Ct(r.ref,o.ref);return typeof n=="function"||r.isPresent?d.cloneElement(o,{ref:i}):null};Er.displayName="Presence";function Db(e){const[t,n]=d.useState(),r=d.useRef({}),o=d.useRef(e),i=d.useRef("none"),a=e?"mounted":"unmounted",[s,l]=_b(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const u=Ds(r.current);i.current=s==="mounted"?u:"none"},[s]),di(()=>{const u=r.current,c=o.current;if(c!==e){const p=i.current,g=Ds(u);e?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(c&&p!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),di(()=>{if(t){const u=f=>{const g=Ds(r.current).includes(f.animationName);f.target===t&&g&&ts.flushSync(()=>l("ANIMATION_END"))},c=f=>{f.target===t&&(i.current=Ds(r.current))};return t.addEventListener("animationstart",c),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",c),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:d.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function Ds(e){return(e==null?void 0:e.animationName)||"none"}const $b=lv.useId||(()=>{});let Nb=0;function aa(e){const[t,n]=d.useState($b());return di(()=>{e||n(r=>r??String(Nb++))},[e]),e||(t?`radix-${t}`:"")}function My(e){const t=e+"CollectionProvider",[n,r]=pu(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:x,children:v}=g,w=me.useRef(null),h=me.useRef(new Map).current;return me.createElement(o,{scope:x,itemMap:h,collectionRef:w},v)},s=e+"CollectionSlot",l=me.forwardRef((g,x)=>{const{scope:v,children:w}=g,h=i(s,v),m=Ct(x,h.collectionRef);return me.createElement(ci,{ref:m},w)}),u=e+"CollectionItemSlot",c="data-radix-collection-item",f=me.forwardRef((g,x)=>{const{scope:v,children:w,...h}=g,m=me.useRef(null),y=Ct(x,m),C=i(u,v);return me.useEffect(()=>(C.itemMap.set(m,{ref:m,...h}),()=>void C.itemMap.delete(m))),me.createElement(ci,{[c]:"",ref:y},w)});function p(g){const x=i(e+"CollectionConsumer",g);return me.useCallback(()=>{const w=x.collectionRef.current;if(!w)return[];const h=Array.from(w.querySelectorAll(`[${c}]`));return Array.from(x.itemMap.values()).sort((C,R)=>h.indexOf(C.ref.current)-h.indexOf(R.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},p,r]}function Mb(e,t=globalThis==null?void 0:globalThis.document){const n=wt(e);d.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const gd="dismissableLayer.update",jb="dismissableLayer.pointerDownOutside",Ab="dismissableLayer.focusOutside";let Uh;const Lb=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),jy=d.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...u}=e,c=d.useContext(Lb),[f,p]=d.useState(null),g=(n=f==null?void 0:f.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,x]=d.useState({}),v=Ct(t,T=>p(T)),w=Array.from(c.layers),[h]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),m=w.indexOf(h),y=f?w.indexOf(f):-1,C=c.layersWithOutsidePointerEventsDisabled.size>0,R=y>=m,E=Ib(T=>{const _=T.target,M=[...c.branches].some(W=>W.contains(_));!R||M||(i==null||i(T),s==null||s(T),T.defaultPrevented||l==null||l())},g),k=Fb(T=>{const _=T.target;[...c.branches].some(W=>W.contains(_))||(a==null||a(T),s==null||s(T),T.defaultPrevented||l==null||l())},g);return Mb(T=>{y===c.layers.size-1&&(o==null||o(T),!T.defaultPrevented&&l&&(T.preventDefault(),l()))},g),d.useEffect(()=>{if(f)return r&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(Uh=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(f)),c.layers.add(f),Bh(),()=>{r&&c.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=Uh)}},[f,g,r,c]),d.useEffect(()=>()=>{f&&(c.layers.delete(f),c.layersWithOutsidePointerEventsDisabled.delete(f),Bh())},[f,c]),d.useEffect(()=>{const T=()=>x({});return document.addEventListener(gd,T),()=>document.removeEventListener(gd,T)},[]),d.createElement(Ke.div,X({},u,{ref:v,style:{pointerEvents:C?R?"auto":"none":void 0,...e.style},onFocusCapture:De(e.onFocusCapture,k.onFocusCapture),onBlurCapture:De(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:De(e.onPointerDownCapture,E.onPointerDownCapture)}))});function Ib(e,t=globalThis==null?void 0:globalThis.document){const n=wt(e),r=d.useRef(!1),o=d.useRef(()=>{});return d.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let c=function(){Ay(jb,n,u,{discrete:!0})};var l=c;const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Fb(e,t=globalThis==null?void 0:globalThis.document){const n=wt(e),r=d.useRef(!1);return d.useEffect(()=>{const o=i=>{i.target&&!r.current&&Ay(Ab,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Bh(){const e=new CustomEvent(gd);document.dispatchEvent(e)}function Ay(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?vd(o,i):o.dispatchEvent(i)}function zb(e){const t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const Ub=d.forwardRef((e,t)=>d.createElement(Ke.span,X({},e,{ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}))),Bb=Ub,os="NavigationMenu",[Qf,Ly,Wb]=My(os),[yd,Vb,Hb]=My(os),[Gf,J2]=pu(os,[Wb,Hb]),[Kb,tn]=Gf(os),[Qb,Gb]=Gf(os),qb=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,onValueChange:o,defaultValue:i,delayDuration:a=200,skipDelayDuration:s=300,orientation:l="horizontal",dir:u,...c}=e,[f,p]=d.useState(null),g=Ct(t,_=>p(_)),x=Ob(u),v=d.useRef(0),w=d.useRef(0),h=d.useRef(0),[m,y]=d.useState(!0),[C="",R]=Ny({prop:r,onChange:_=>{const M=_!=="",W=s>0;M?(window.clearTimeout(h.current),W&&y(!1)):(window.clearTimeout(h.current),h.current=window.setTimeout(()=>y(!0),s)),o==null||o(_)},defaultProp:i}),E=d.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>R(""),150)},[R]),k=d.useCallback(_=>{window.clearTimeout(w.current),R(_)},[R]),T=d.useCallback(_=>{C===_?window.clearTimeout(w.current):v.current=window.setTimeout(()=>{window.clearTimeout(w.current),R(_)},a)},[C,R,a]);return d.useEffect(()=>()=>{window.clearTimeout(v.current),window.clearTimeout(w.current),window.clearTimeout(h.current)},[]),d.createElement(Yb,{scope:n,isRootMenu:!0,value:C,dir:x,orientation:l,rootNavigationMenu:f,onTriggerEnter:_=>{window.clearTimeout(v.current),m?T(_):k(_)},onTriggerLeave:()=>{window.clearTimeout(v.current),E()},onContentEnter:()=>window.clearTimeout(w.current),onContentLeave:E,onItemSelect:_=>{R(M=>M===_?"":_)},onItemDismiss:()=>R("")},d.createElement(Ke.nav,X({"aria-label":"Main","data-orientation":l,dir:x},c,{ref:g})))}),Yb=e=>{const{scope:t,isRootMenu:n,rootNavigationMenu:r,dir:o,orientation:i,children:a,value:s,onItemSelect:l,onItemDismiss:u,onTriggerEnter:c,onTriggerLeave:f,onContentEnter:p,onContentLeave:g}=e,[x,v]=d.useState(null),[w,h]=d.useState(new Map),[m,y]=d.useState(null);return d.createElement(Kb,{scope:t,isRootMenu:n,rootNavigationMenu:r,value:s,previousValue:zb(s),baseId:aa(),dir:o,orientation:i,viewport:x,onViewportChange:v,indicatorTrack:m,onIndicatorTrackChange:y,onTriggerEnter:wt(c),onTriggerLeave:wt(f),onContentEnter:wt(p),onContentLeave:wt(g),onItemSelect:wt(l),onItemDismiss:wt(u),onViewportContentChange:d.useCallback((C,R)=>{h(E=>(E.set(C,R),new Map(E)))},[]),onViewportContentRemove:d.useCallback(C=>{h(R=>R.has(C)?(R.delete(C),new Map(R)):R)},[])},d.createElement(Qf.Provider,{scope:t},d.createElement(Qb,{scope:t,items:w},a)))},Xb="NavigationMenuList",Jb=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=tn(Xb,n),i=d.createElement(Ke.ul,X({"data-orientation":o.orientation},r,{ref:t}));return d.createElement(Ke.div,{style:{position:"relative"},ref:o.onIndicatorTrackChange},d.createElement(Qf.Slot,{scope:n},o.isRootMenu?d.createElement(By,{asChild:!0},i):i))}),Zb="NavigationMenuItem",[eS,Iy]=Gf(Zb),tS=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,...o}=e,i=aa(),a=r||i||"LEGACY_REACT_AUTO_VALUE",s=d.useRef(null),l=d.useRef(null),u=d.useRef(null),c=d.useRef(()=>{}),f=d.useRef(!1),p=d.useCallback((x="start")=>{if(s.current){c.current();const v=wd(s.current);v.length&&qf(x==="start"?v:v.reverse())}},[]),g=d.useCallback(()=>{if(s.current){const x=wd(s.current);x.length&&(c.current=fS(x))}},[]);return d.createElement(eS,{scope:n,value:a,triggerRef:l,contentRef:s,focusProxyRef:u,wasEscapeCloseRef:f,onEntryKeyDown:p,onFocusProxyEnter:p,onRootContentClose:g,onContentFocusOutside:g},d.createElement(Ke.li,X({},o,{ref:t})))}),Wh="NavigationMenuTrigger",nS=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,disabled:r,...o}=e,i=tn(Wh,e.__scopeNavigationMenu),a=Iy(Wh,e.__scopeNavigationMenu),s=d.useRef(null),l=Ct(s,a.triggerRef,t),u=Vy(i.baseId,a.value),c=Hy(i.baseId,a.value),f=d.useRef(!1),p=d.useRef(!1),g=a.value===i.value;return d.createElement(d.Fragment,null,d.createElement(Qf.ItemSlot,{scope:n,value:a.value},d.createElement(Wy,{asChild:!0},d.createElement(Ke.button,X({id:u,disabled:r,"data-disabled":r?"":void 0,"data-state":Yf(g),"aria-expanded":g,"aria-controls":c},o,{ref:l,onPointerEnter:De(e.onPointerEnter,()=>{p.current=!1,a.wasEscapeCloseRef.current=!1}),onPointerMove:De(e.onPointerMove,Ll(()=>{r||p.current||a.wasEscapeCloseRef.current||f.current||(i.onTriggerEnter(a.value),f.current=!0)})),onPointerLeave:De(e.onPointerLeave,Ll(()=>{r||(i.onTriggerLeave(),f.current=!1)})),onClick:De(e.onClick,()=>{i.onItemSelect(a.value),p.current=g}),onKeyDown:De(e.onKeyDown,x=>{const w={horizontal:"ArrowDown",vertical:i.dir==="rtl"?"ArrowLeft":"ArrowRight"}[i.orientation];g&&x.key===w&&(a.onEntryKeyDown(),x.preventDefault())})})))),g&&d.createElement(d.Fragment,null,d.createElement(Bb,{"aria-hidden":!0,tabIndex:0,ref:a.focusProxyRef,onFocus:x=>{const v=a.contentRef.current,w=x.relatedTarget,h=w===s.current,m=v==null?void 0:v.contains(w);(h||!m)&&a.onFocusProxyEnter(h?"start":"end")}}),i.viewport&&d.createElement("span",{"aria-owns":c})))}),Vh="navigationMenu.linkSelect",rS=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,active:r,onSelect:o,...i}=e;return d.createElement(Wy,{asChild:!0},d.createElement(Ke.a,X({"data-active":r?"":void 0,"aria-current":r?"page":void 0},i,{ref:t,onClick:De(e.onClick,a=>{const s=a.target,l=new CustomEvent(Vh,{bubbles:!0,cancelable:!0});if(s.addEventListener(Vh,u=>o==null?void 0:o(u),{once:!0}),vd(s,l),!l.defaultPrevented&&!a.metaKey){const u=new CustomEvent(tl,{bubbles:!0,cancelable:!0});vd(s,u)}},{checkForDefaultPrevented:!1})})))}),Fy="NavigationMenuIndicator",oS=d.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=tn(Fy,e.__scopeNavigationMenu),i=!!o.value;return o.indicatorTrack?Wf.createPortal(d.createElement(Er,{present:n||i},d.createElement(iS,X({},r,{ref:t}))),o.indicatorTrack):null}),iS=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=tn(Fy,n),i=Ly(n),[a,s]=d.useState(null),[l,u]=d.useState(null),c=o.orientation==="horizontal",f=!!o.value;d.useEffect(()=>{var g;const v=(g=i().find(w=>w.value===o.value))===null||g===void 0?void 0:g.ref.current;v&&s(v)},[i,o.value]);const p=()=>{a&&u({size:c?a.offsetWidth:a.offsetHeight,offset:c?a.offsetLeft:a.offsetTop})};return xd(a,p),xd(o.indicatorTrack,p),l?d.createElement(Ke.div,X({"aria-hidden":!0,"data-state":f?"visible":"hidden","data-orientation":o.orientation},r,{ref:t,style:{position:"absolute",...c?{left:0,width:l.size+"px",transform:`translateX(${l.offset}px)`}:{top:0,height:l.size+"px",transform:`translateY(${l.offset}px)`},...r.style}})):null}),$a="NavigationMenuContent",aS=d.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=tn($a,e.__scopeNavigationMenu),i=Iy($a,e.__scopeNavigationMenu),a=Ct(i.contentRef,t),s=i.value===o.value,l={value:i.value,triggerRef:i.triggerRef,focusProxyRef:i.focusProxyRef,wasEscapeCloseRef:i.wasEscapeCloseRef,onContentFocusOutside:i.onContentFocusOutside,onRootContentClose:i.onRootContentClose,...r};return o.viewport?d.createElement(sS,X({forceMount:n},l,{ref:a})):d.createElement(Er,{present:n||s},d.createElement(zy,X({"data-state":Yf(s)},l,{ref:a,onPointerEnter:De(e.onPointerEnter,o.onContentEnter),onPointerLeave:De(e.onPointerLeave,Ll(o.onContentLeave)),style:{pointerEvents:!s&&o.isRootMenu?"none":void 0,...l.style}})))}),sS=d.forwardRef((e,t)=>{const n=tn($a,e.__scopeNavigationMenu),{onViewportContentChange:r,onViewportContentRemove:o}=n;return di(()=>{r(e.value,{ref:t,...e})},[e,t,r]),di(()=>()=>o(e.value),[e.value,o]),null}),tl="navigationMenu.rootContentDismiss",zy=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,triggerRef:o,focusProxyRef:i,wasEscapeCloseRef:a,onRootContentClose:s,onContentFocusOutside:l,...u}=e,c=tn($a,n),f=d.useRef(null),p=Ct(f,t),g=Vy(c.baseId,r),x=Hy(c.baseId,r),v=Ly(n),w=d.useRef(null),{onItemDismiss:h}=c;d.useEffect(()=>{const y=f.current;if(c.isRootMenu&&y){const C=()=>{var R;h(),s(),y.contains(document.activeElement)&&((R=o.current)===null||R===void 0||R.focus())};return y.addEventListener(tl,C),()=>y.removeEventListener(tl,C)}},[c.isRootMenu,e.value,o,h,s]);const m=d.useMemo(()=>{const C=v().map(M=>M.value);c.dir==="rtl"&&C.reverse();const R=C.indexOf(c.value),E=C.indexOf(c.previousValue),k=r===c.value,T=E===C.indexOf(r);if(!k&&!T)return w.current;const _=(()=>{if(R!==E){if(k&&E!==-1)return R>E?"from-end":"from-start";if(T&&R!==-1)return R>E?"to-start":"to-end"}return null})();return w.current=_,_},[c.previousValue,c.value,c.dir,v,r]);return d.createElement(By,{asChild:!0},d.createElement(jy,X({id:x,"aria-labelledby":g,"data-motion":m,"data-orientation":c.orientation},u,{ref:p,onDismiss:()=>{var y;const C=new Event(tl,{bubbles:!0,cancelable:!0});(y=f.current)===null||y===void 0||y.dispatchEvent(C)},onFocusOutside:De(e.onFocusOutside,y=>{var C;l();const R=y.target;(C=c.rootNavigationMenu)!==null&&C!==void 0&&C.contains(R)&&y.preventDefault()}),onPointerDownOutside:De(e.onPointerDownOutside,y=>{var C;const R=y.target,E=v().some(T=>{var _;return(_=T.ref.current)===null||_===void 0?void 0:_.contains(R)}),k=c.isRootMenu&&((C=c.viewport)===null||C===void 0?void 0:C.contains(R));(E||k||!c.isRootMenu)&&y.preventDefault()}),onKeyDown:De(e.onKeyDown,y=>{const C=y.altKey||y.ctrlKey||y.metaKey;if(y.key==="Tab"&&!C){const k=wd(y.currentTarget),T=document.activeElement,_=k.findIndex(B=>B===T),W=y.shiftKey?k.slice(0,_).reverse():k.slice(_+1,k.length);if(qf(W))y.preventDefault();else{var E;(E=i.current)===null||E===void 0||E.focus()}}}),onEscapeKeyDown:De(e.onEscapeKeyDown,y=>{a.current=!0})})))}),Uy="NavigationMenuViewport",lS=d.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=!!tn(Uy,e.__scopeNavigationMenu).value;return d.createElement(Er,{present:n||i},d.createElement(uS,X({},r,{ref:t})))}),uS=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,children:r,...o}=e,i=tn(Uy,n),a=Ct(t,i.onViewportChange),s=Gb($a,e.__scopeNavigationMenu),[l,u]=d.useState(null),[c,f]=d.useState(null),p=l?(l==null?void 0:l.width)+"px":void 0,g=l?(l==null?void 0:l.height)+"px":void 0,x=!!i.value,v=x?i.value:i.previousValue;return xd(c,()=>{c&&u({width:c.offsetWidth,height:c.offsetHeight})}),d.createElement(Ke.div,X({"data-state":Yf(x),"data-orientation":i.orientation},o,{ref:a,style:{pointerEvents:!x&&i.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":p,"--radix-navigation-menu-viewport-height":g,...o.style},onPointerEnter:De(e.onPointerEnter,i.onContentEnter),onPointerLeave:De(e.onPointerLeave,Ll(i.onContentLeave))}),Array.from(s.items).map(([h,{ref:m,forceMount:y,...C}])=>{const R=v===h;return d.createElement(Er,{key:h,present:y||R},d.createElement(zy,X({},C,{ref:Kf(m,E=>{R&&E&&f(E)})})))}))}),cS="FocusGroup",By=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=tn(cS,n);return d.createElement(yd.Provider,{scope:n},d.createElement(yd.Slot,{scope:n},d.createElement(Ke.div,X({dir:o.dir},r,{ref:t}))))}),Hh=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],dS="FocusGroupItem",Wy=d.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=Vb(n),i=tn(dS,n);return d.createElement(yd.ItemSlot,{scope:n},d.createElement(Ke.button,X({},r,{ref:t,onKeyDown:De(e.onKeyDown,a=>{if(["Home","End",...Hh].includes(a.key)){let l=o().map(f=>f.ref.current);if([i.dir==="rtl"?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(a.key)&&l.reverse(),Hh.includes(a.key)){const f=l.indexOf(a.currentTarget);l=l.slice(f+1)}setTimeout(()=>qf(l)),a.preventDefault()}})})))});function wd(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function qf(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}function fS(e){return e.forEach(t=>{t.dataset.tabindex=t.getAttribute("tabindex")||"",t.setAttribute("tabindex","-1")}),()=>{e.forEach(t=>{const n=t.dataset.tabindex;t.setAttribute("tabindex",n)})}}function xd(e,t){const n=wt(t);di(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}function Yf(e){return e?"open":"closed"}function Vy(e,t){return`${e}-trigger-${t}`}function Hy(e,t){return`${e}-content-${t}`}function Ll(e){return t=>t.pointerType==="mouse"?e(t):void 0}const Ky=qb,Qy=Jb,pS=tS,Gy=nS,hS=rS,qy=oS,Yy=aS,Xy=lS;function Jy(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;ttypeof e=="boolean"?"".concat(e):e===0?"0":e,Qh=mS,Xf=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Qh(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(u=>{const c=n==null?void 0:n[u],f=i==null?void 0:i[u];if(c===null)return null;const p=Kh(c)||Kh(f);return o[u][p]}),s=n&&Object.entries(n).reduce((u,c)=>{let[f,p]=c;return p===void 0||(u[f]=p),u},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,c)=>{let{class:f,className:p,...g}=c;return Object.entries(g).every(x=>{let[v,w]=x;return Array.isArray(w)?w.includes({...i,...s}[v]):{...i,...s}[v]===w})?[...u,f,p]:u},[]);return Qh(e,a,l,n==null?void 0:n.class,n==null?void 0:n.className)};/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var vS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),hu=(e,t)=>{const n=d.forwardRef(({color:r="currentColor",size:o=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:s="",children:l,...u},c)=>d.createElement("svg",{ref:c,...vS,width:o,height:o,stroke:r,strokeWidth:a?Number(i)*24/Number(o):i,className:["lucide",`lucide-${gS(e)}`,s].join(" "),...u},[...t.map(([f,p])=>d.createElement(f,p)),...Array.isArray(l)?l:[l]]));return n.displayName=`${e}`,n};/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const yS=hu("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wS=hu("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Jf=hu("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-react v0.340.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const xS=hu("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Zy(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts(i)))==null?void 0:a.classGroupId}const Gh=/^\[(.+)\]$/;function SS(e){if(Gh.test(e)){const t=Gh.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}function CS(e){const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return PS(Object.entries(e.classGroups),n).forEach(([i,a])=>{Ed(a,r,i,t)}),r}function Ed(e,t,n,r){e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:qh(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(RS(o)){Ed(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Ed(a,qh(t,i),n,r)})})}function qh(e,t){let n=e;return t.split(Zf).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n}function RS(e){return e.isThemeGetter}function PS(e,t){return t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e}function kS(e){if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;function o(i,a){n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)}return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}}const t0="!";function TS(e){const t=e.separator,n=t.length===1,r=t[0],o=t.length;return function(a){const s=[];let l=0,u=0,c;for(let v=0;vu?c-u:void 0;return{modifiers:s,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:x}}}function OS(e){if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t}function _S(e){return{cache:kS(e.cacheSize),splitModifiers:TS(e),...bS(e)}}const DS=/\s+/;function $S(e,t){const{splitModifiers:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=new Set;return e.trim().split(DS).map(a=>{const{modifiers:s,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:c}=n(a);let f=r(c?u.substring(0,c):u),p=!!c;if(!f){if(!c)return{isTailwindClass:!1,originalClassName:a};if(f=r(u),!f)return{isTailwindClass:!1,originalClassName:a};p=!1}const g=OS(s).join(":");return{isTailwindClass:!0,modifierId:l?g+t0:g,classGroupId:f,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;const{modifierId:s,classGroupId:l,hasPostfixModifier:u}=a,c=s+l;return i.has(c)?!1:(i.add(c),o(l,u).forEach(f=>i.add(s+f)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function NS(){let e=0,t,n,r="";for(;ef(c),e());return n=_S(u),r=n.cache.get,o=n.cache.set,i=s,s(l)}function s(l){const u=r(l);if(u)return u;const c=$S(l,n);return o(l,c),c}return function(){return i(NS.apply(null,arguments))}}function ye(e){const t=n=>n[e]||[];return t.isThemeGetter=!0,t}const r0=/^\[(?:([a-z-]+):)?(.+)\]$/i,jS=/^\d+\/\d+$/,AS=new Set(["px","full","screen"]),LS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,IS=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,FS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,zS=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,US=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function xn(e){return Ar(e)||AS.has(e)||jS.test(e)}function Fn(e){return xi(e,"length",qS)}function Ar(e){return!!e&&!Number.isNaN(Number(e))}function $s(e){return xi(e,"number",Ar)}function Bi(e){return!!e&&Number.isInteger(Number(e))}function BS(e){return e.endsWith("%")&&Ar(e.slice(0,-1))}function J(e){return r0.test(e)}function zn(e){return LS.test(e)}const WS=new Set(["length","size","percentage"]);function VS(e){return xi(e,WS,o0)}function HS(e){return xi(e,"position",o0)}const KS=new Set(["image","url"]);function QS(e){return xi(e,KS,XS)}function GS(e){return xi(e,"",YS)}function Wi(){return!0}function xi(e,t,n){const r=r0.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1}function qS(e){return IS.test(e)&&!FS.test(e)}function o0(){return!1}function YS(e){return zS.test(e)}function XS(e){return US.test(e)}function JS(){const e=ye("colors"),t=ye("spacing"),n=ye("blur"),r=ye("brightness"),o=ye("borderColor"),i=ye("borderRadius"),a=ye("borderSpacing"),s=ye("borderWidth"),l=ye("contrast"),u=ye("grayscale"),c=ye("hueRotate"),f=ye("invert"),p=ye("gap"),g=ye("gradientColorStops"),x=ye("gradientColorStopPositions"),v=ye("inset"),w=ye("margin"),h=ye("opacity"),m=ye("padding"),y=ye("saturate"),C=ye("scale"),R=ye("sepia"),E=ye("skew"),k=ye("space"),T=ye("translate"),_=()=>["auto","contain","none"],M=()=>["auto","hidden","clip","visible","scroll"],W=()=>["auto",J,t],B=()=>[J,t],ce=()=>["",xn,Fn],oe=()=>["auto",Ar,J],be=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],ze=()=>["solid","dashed","dotted","double","none"],se=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],N=()=>["start","end","center","between","around","evenly","stretch"],I=()=>["","0",J],V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],q=()=>[Ar,$s],ee=()=>[Ar,J];return{cacheSize:500,separator:":",theme:{colors:[Wi],spacing:[xn,Fn],blur:["none","",zn,J],brightness:q(),borderColor:[e],borderRadius:["none","","full",zn,J],borderSpacing:B(),borderWidth:ce(),contrast:q(),grayscale:I(),hueRotate:ee(),invert:I(),gap:B(),gradientColorStops:[e],gradientColorStopPositions:[BS,Fn],inset:W(),margin:W(),opacity:q(),padding:B(),saturate:q(),scale:q(),sepia:I(),skew:ee(),space:B(),translate:B()},classGroups:{aspect:[{aspect:["auto","square","video",J]}],container:["container"],columns:[{columns:[zn]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...be(),J]}],overflow:[{overflow:M()}],"overflow-x":[{"overflow-x":M()}],"overflow-y":[{"overflow-y":M()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Bi,J]}],basis:[{basis:W()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",J]}],grow:[{grow:I()}],shrink:[{shrink:I()}],order:[{order:["first","last","none",Bi,J]}],"grid-cols":[{"grid-cols":[Wi]}],"col-start-end":[{col:["auto",{span:["full",Bi,J]},J]}],"col-start":[{"col-start":oe()}],"col-end":[{"col-end":oe()}],"grid-rows":[{"grid-rows":[Wi]}],"row-start-end":[{row:["auto",{span:[Bi,J]},J]}],"row-start":[{"row-start":oe()}],"row-end":[{"row-end":oe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",J]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",J]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...N()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...N(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...N(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[m]}],px:[{px:[m]}],py:[{py:[m]}],ps:[{ps:[m]}],pe:[{pe:[m]}],pt:[{pt:[m]}],pr:[{pr:[m]}],pb:[{pb:[m]}],pl:[{pl:[m]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",J,t]}],"min-w":[{"min-w":[J,t,"min","max","fit"]}],"max-w":[{"max-w":[J,t,"none","full","min","max","fit","prose",{screen:[zn]},zn]}],h:[{h:[J,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[J,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[J,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[J,t,"auto","min","max","fit"]}],"font-size":[{text:["base",zn,Fn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",$s]}],"font-family":[{font:[Wi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",J]}],"line-clamp":[{"line-clamp":["none",Ar,$s]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",xn,J]}],"list-image":[{"list-image":["none",J]}],"list-style-type":[{list:["none","disc","decimal",J]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ze(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",xn,Fn]}],"underline-offset":[{"underline-offset":["auto",xn,J]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",J]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",J]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...be(),HS]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",VS]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},QS]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[g]}],"gradient-via":[{via:[g]}],"gradient-to":[{to:[g]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...ze(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:ze()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...ze()]}],"outline-offset":[{"outline-offset":[xn,J]}],"outline-w":[{outline:[xn,Fn]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ce()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[xn,Fn]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",zn,GS]}],"shadow-color":[{shadow:[Wi]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":se()}],"bg-blend":[{"bg-blend":se()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",zn,J]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[f]}],saturate:[{saturate:[y]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",J]}],duration:[{duration:ee()}],ease:[{ease:["linear","in","out","in-out",J]}],delay:[{delay:ee()}],animate:[{animate:["none","spin","ping","pulse","bounce",J]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[Bi,J]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[E]}],"skew-y":[{"skew-y":[E]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",J]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",J]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",J]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[xn,Fn,$s]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}const ZS=MS(JS);function Pe(...e){return ZS(ES(e))}const i0=d.forwardRef(({className:e,children:t,...n},r)=>b.jsxs(Ky,{ref:r,className:Pe("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...n,children:[t,b.jsx(s0,{})]}));i0.displayName=Ky.displayName;const a0=d.forwardRef(({className:e,...t},n)=>b.jsx(Qy,{ref:n,className:Pe("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));a0.displayName=Qy.displayName;const nc=pS,nl=Xf("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),eC=d.forwardRef(({className:e,children:t,...n},r)=>b.jsxs(Gy,{ref:r,className:Pe(nl(),"group",e),...n,children:[t," ",b.jsx(yS,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));eC.displayName=Gy.displayName;const tC=d.forwardRef(({className:e,...t},n)=>b.jsx(Yy,{ref:n,className:Pe("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));tC.displayName=Yy.displayName;const rc=hS,s0=d.forwardRef(({className:e,...t},n)=>b.jsx("div",{className:Pe("absolute left-0 top-full flex justify-center"),children:b.jsx(Xy,{className:Pe("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:n,...t})}));s0.displayName=Xy.displayName;const nC=d.forwardRef(({className:e,...t},n)=>b.jsx(qy,{ref:n,className:Pe("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:b.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));nC.displayName=qy.displayName;function mu(){return b.jsxs(i0,{className:"px-5 py-2",children:[b.jsx("a",{href:"/",children:b.jsx("div",{className:"font-mono font-semibold mr-2",children:"ComfyUI Launcher"})}),b.jsxs(a0,{children:[b.jsx(nc,{children:b.jsx("a",{href:"/",children:b.jsx(rc,{className:nl(),children:"Workflows"})})}),b.jsx(nc,{children:b.jsx(rc,{onClick:async e=>{e.preventDefault(),await fetch("/api/open_models_folder")},className:`${nl()} cursor-pointer`,children:"Models"})}),b.jsx(nc,{children:b.jsx("a",{href:"/settings",children:b.jsx(rc,{className:nl(),children:"Settings"})})})]})]})}var Ei=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},fi=typeof window>"u"||"Deno"in window;function Ft(){}function rC(e,t){return typeof e=="function"?e(t):e}function bd(e){return typeof e=="number"&&e>=0&&e!==1/0}function l0(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Yh(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==ep(a,t.options))return!1}else if(!Na(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function Xh(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(eo(t.options.mutationKey)!==eo(i))return!1}else if(!Na(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function ep(e,t){return((t==null?void 0:t.queryKeyHashFn)||eo)(e)}function eo(e){return JSON.stringify(e,(t,n)=>Sd(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Na(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Na(e[n],t[n])):!1}function u0(e,t){if(e===t)return e;const n=Jh(e)&&Jh(t);if(n||Sd(e)&&Sd(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let l=0;for(let u=0;u"u")return!0;const n=t.prototype;return!(!Zh(n)||!n.hasOwnProperty("isPrototypeOf"))}function Zh(e){return Object.prototype.toString.call(e)==="[object Object]"}function oC(e){return new Promise(t=>{setTimeout(t,e)})}function Cd(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?u0(e,t):t}function iC(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function aC(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Lr,Gn,zo,Bm,sC=(Bm=class extends Ei{constructor(){super();z(this,Lr,void 0);z(this,Gn,void 0);z(this,zo,void 0);L(this,zo,t=>{if(!fi&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){S(this,Gn)||this.setEventListener(S(this,zo))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,Gn))==null||t.call(this),L(this,Gn,void 0))}setEventListener(t){var n;L(this,zo,t),(n=S(this,Gn))==null||n.call(this),L(this,Gn,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){S(this,Lr)!==t&&(L(this,Lr,t),this.onFocus())}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){var t;return typeof S(this,Lr)=="boolean"?S(this,Lr):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Lr=new WeakMap,Gn=new WeakMap,zo=new WeakMap,Bm),Fl=new sC,Uo,qn,Bo,Wm,lC=(Wm=class extends Ei{constructor(){super();z(this,Uo,!0);z(this,qn,void 0);z(this,Bo,void 0);L(this,Bo,t=>{if(!fi&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){S(this,qn)||this.setEventListener(S(this,Bo))}onUnsubscribe(){var t;this.hasListeners()||((t=S(this,qn))==null||t.call(this),L(this,qn,void 0))}setEventListener(t){var n;L(this,Bo,t),(n=S(this,qn))==null||n.call(this),L(this,qn,t(this.setOnline.bind(this)))}setOnline(t){S(this,Uo)!==t&&(L(this,Uo,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return S(this,Uo)}},Uo=new WeakMap,qn=new WeakMap,Bo=new WeakMap,Wm),zl=new lC;function uC(e){return Math.min(1e3*2**e,3e4)}function vu(e){return(e??"online")==="online"?zl.isOnline():!0}var c0=class{constructor(e){this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function oc(e){return e instanceof c0}function d0(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((w,h)=>{i=w,a=h}),l=w=>{var h;r||(g(new c0(w)),(h=e.abort)==null||h.call(e))},u=()=>{t=!0},c=()=>{t=!1},f=()=>!Fl.isFocused()||e.networkMode!=="always"&&!zl.isOnline(),p=w=>{var h;r||(r=!0,(h=e.onSuccess)==null||h.call(e,w),o==null||o(),i(w))},g=w=>{var h;r||(r=!0,(h=e.onError)==null||h.call(e,w),o==null||o(),a(w))},x=()=>new Promise(w=>{var h;o=m=>{const y=r||!f();return y&&w(m),y},(h=e.onPause)==null||h.call(e)}).then(()=>{var w;o=void 0,r||(w=e.onContinue)==null||w.call(e)}),v=()=>{if(r)return;let w;try{w=e.fn()}catch(h){w=Promise.reject(h)}Promise.resolve(w).then(p).catch(h=>{var E;if(r)return;const m=e.retry??(fi?0:3),y=e.retryDelay??uC,C=typeof y=="function"?y(n,h):y,R=m===!0||typeof m=="number"&&n{if(f())return x()}).then(()=>{t?g(h):v()})})};return vu(e.networkMode)?v():x().then(v),{promise:s,cancel:l,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:u,continueRetry:c}}function cC(){let e=[],t=0,n=p=>{p()},r=p=>{p()},o=p=>setTimeout(p,0);const i=p=>{o=p},a=p=>{let g;t++;try{g=p()}finally{t--,t||u()}return g},s=p=>{t?e.push(p):o(()=>{n(p)})},l=p=>(...g)=>{s(()=>{p(...g)})},u=()=>{const p=e;e=[],p.length&&o(()=>{r(()=>{p.forEach(g=>{n(g)})})})};return{batch:a,batchCalls:l,schedule:s,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:i}}var Ve=cC(),Ir,Vm,f0=(Vm=class{constructor(){z(this,Ir,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),bd(this.gcTime)&&L(this,Ir,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(fi?1/0:5*60*1e3))}clearGcTimeout(){S(this,Ir)&&(clearTimeout(S(this,Ir)),L(this,Ir,void 0))}},Ir=new WeakMap,Vm),Wo,Vo,jt,Yn,At,Ye,La,Fr,Ho,rl,Gt,En,Hm,dC=(Hm=class extends f0{constructor(t){super();z(this,Ho);z(this,Gt);z(this,Wo,void 0);z(this,Vo,void 0);z(this,jt,void 0);z(this,Yn,void 0);z(this,At,void 0);z(this,Ye,void 0);z(this,La,void 0);z(this,Fr,void 0);L(this,Fr,!1),L(this,La,t.defaultOptions),Y(this,Ho,rl).call(this,t.options),L(this,Ye,[]),L(this,jt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,L(this,Wo,t.state||fC(this.options)),this.state=S(this,Wo),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!S(this,Ye).length&&this.state.fetchStatus==="idle"&&S(this,jt).remove(this)}setData(t,n){const r=Cd(this.state.data,t,this.options);return Y(this,Gt,En).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){Y(this,Gt,En).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r;const n=S(this,Yn);return(r=S(this,At))==null||r.cancel(t),n?n.then(Ft).catch(Ft):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(S(this,Wo))}isActive(){return S(this,Ye).some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||S(this,Ye).some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!l0(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=S(this,Ye).find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,At))==null||n.continue()}onOnline(){var n;const t=S(this,Ye).find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=S(this,At))==null||n.continue()}addObserver(t){S(this,Ye).includes(t)||(S(this,Ye).push(t),this.clearGcTimeout(),S(this,jt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){S(this,Ye).includes(t)&&(L(this,Ye,S(this,Ye).filter(n=>n!==t)),S(this,Ye).length||(S(this,At)&&(S(this,Fr)?S(this,At).cancel({revert:!0}):S(this,At).cancelRetry()),this.scheduleGc()),S(this,jt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return S(this,Ye).length}invalidate(){this.state.isInvalidated||Y(this,Gt,En).call(this,{type:"invalidate"})}fetch(t,n){var u,c,f,p;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(S(this,Yn))return(u=S(this,At))==null||u.continueRetry(),S(this,Yn)}if(t&&Y(this,Ho,rl).call(this,t),!this.options.queryFn){const g=S(this,Ye).find(x=>x.options.queryFn);g&&Y(this,Ho,rl).call(this,g.options)}const r=new AbortController,o={queryKey:this.queryKey,meta:this.meta},i=g=>{Object.defineProperty(g,"signal",{enumerable:!0,get:()=>(L(this,Fr,!0),r.signal)})};i(o);const a=()=>this.options.queryFn?(L(this,Fr,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};i(s),(c=this.options.behavior)==null||c.onFetch(s,this),L(this,Vo,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((f=s.fetchOptions)==null?void 0:f.meta))&&Y(this,Gt,En).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const l=g=>{var x,v,w,h;oc(g)&&g.silent||Y(this,Gt,En).call(this,{type:"error",error:g}),oc(g)||((v=(x=S(this,jt).config).onError)==null||v.call(x,g,this),(h=(w=S(this,jt).config).onSettled)==null||h.call(w,this.state.data,g,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return L(this,At,d0({fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:g=>{var x,v,w,h;if(typeof g>"u"){l(new Error(`${this.queryHash} data is undefined`));return}this.setData(g),(v=(x=S(this,jt).config).onSuccess)==null||v.call(x,g,this),(h=(w=S(this,jt).config).onSettled)==null||h.call(w,g,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:l,onFail:(g,x)=>{Y(this,Gt,En).call(this,{type:"failed",failureCount:g,error:x})},onPause:()=>{Y(this,Gt,En).call(this,{type:"pause"})},onContinue:()=>{Y(this,Gt,En).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode})),L(this,Yn,S(this,At).promise),S(this,Yn)}},Wo=new WeakMap,Vo=new WeakMap,jt=new WeakMap,Yn=new WeakMap,At=new WeakMap,Ye=new WeakMap,La=new WeakMap,Fr=new WeakMap,Ho=new WeakSet,rl=function(t){this.options={...S(this,La),...t},this.updateGcTime(this.options.gcTime)},Gt=new WeakSet,En=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:vu(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return oc(o)&&o.revert&&S(this,Vo)?{...S(this,Vo),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ve.batch(()=>{S(this,Ye).forEach(r=>{r.onQueryUpdate()}),S(this,jt).notify({query:this,type:"updated",action:t})})},Hm);function fC(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var un,Km,pC=(Km=class extends Ei{constructor(t={}){super();z(this,un,void 0);this.config=t,L(this,un,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??ep(o,n);let a=this.get(i);return a||(a=new dC({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){S(this,un).has(t.queryHash)||(S(this,un).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=S(this,un).get(t.queryHash);n&&(t.destroy(),n===t&&S(this,un).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ve.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return S(this,un).get(t)}getAll(){return[...S(this,un).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Yh(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Yh(t,r)):n}notify(t){Ve.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ve.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ve.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},un=new WeakMap,Km),cn,Ia,Rt,Ko,dn,Bn,Qm,hC=(Qm=class extends f0{constructor(t){super();z(this,dn);z(this,cn,void 0);z(this,Ia,void 0);z(this,Rt,void 0);z(this,Ko,void 0);this.mutationId=t.mutationId,L(this,Ia,t.defaultOptions),L(this,Rt,t.mutationCache),L(this,cn,[]),this.state=t.state||p0(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...S(this,Ia),...t},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){S(this,cn).includes(t)||(S(this,cn).push(t),this.clearGcTimeout(),S(this,Rt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){L(this,cn,S(this,cn).filter(n=>n!==t)),this.scheduleGc(),S(this,Rt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){S(this,cn).length||(this.state.status==="pending"?this.scheduleGc():S(this,Rt).remove(this))}continue(){var t;return((t=S(this,Ko))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,l,u,c,f,p,g,x,v,w,h,m,y,C,R,E,k;const n=()=>(L(this,Ko,d0({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(T,_)=>{Y(this,dn,Bn).call(this,{type:"failed",failureCount:T,error:_})},onPause:()=>{Y(this,dn,Bn).call(this,{type:"pause"})},onContinue:()=>{Y(this,dn,Bn).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),S(this,Ko).promise),r=this.state.status==="pending";try{if(!r){Y(this,dn,Bn).call(this,{type:"pending",variables:t}),await((i=(o=S(this,Rt).config).onMutate)==null?void 0:i.call(o,t,this));const _=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));_!==this.state.context&&Y(this,dn,Bn).call(this,{type:"pending",context:_,variables:t})}const T=await n();return await((u=(l=S(this,Rt).config).onSuccess)==null?void 0:u.call(l,T,t,this.state.context,this)),await((f=(c=this.options).onSuccess)==null?void 0:f.call(c,T,t,this.state.context)),await((g=(p=S(this,Rt).config).onSettled)==null?void 0:g.call(p,T,null,this.state.variables,this.state.context,this)),await((v=(x=this.options).onSettled)==null?void 0:v.call(x,T,null,t,this.state.context)),Y(this,dn,Bn).call(this,{type:"success",data:T}),T}catch(T){try{throw await((h=(w=S(this,Rt).config).onError)==null?void 0:h.call(w,T,t,this.state.context,this)),await((y=(m=this.options).onError)==null?void 0:y.call(m,T,t,this.state.context)),await((R=(C=S(this,Rt).config).onSettled)==null?void 0:R.call(C,void 0,T,this.state.variables,this.state.context,this)),await((k=(E=this.options).onSettled)==null?void 0:k.call(E,void 0,T,t,this.state.context)),T}finally{Y(this,dn,Bn).call(this,{type:"error",error:T})}}}},cn=new WeakMap,Ia=new WeakMap,Rt=new WeakMap,Ko=new WeakMap,dn=new WeakSet,Bn=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!vu(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ve.batch(()=>{S(this,cn).forEach(r=>{r.onMutationUpdate(t)}),S(this,Rt).notify({mutation:this,type:"updated",action:t})})},Qm);function p0(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Lt,Fa,zr,Gm,mC=(Gm=class extends Ei{constructor(t={}){super();z(this,Lt,void 0);z(this,Fa,void 0);z(this,zr,void 0);this.config=t,L(this,Lt,[]),L(this,Fa,0)}build(t,n,r){const o=new hC({mutationCache:this,mutationId:++ps(this,Fa)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){S(this,Lt).push(t),this.notify({type:"added",mutation:t})}remove(t){L(this,Lt,S(this,Lt).filter(n=>n!==t)),this.notify({type:"removed",mutation:t})}clear(){Ve.batch(()=>{S(this,Lt).forEach(t=>{this.remove(t)})})}getAll(){return S(this,Lt)}find(t){const n={exact:!0,...t};return S(this,Lt).find(r=>Xh(n,r))}findAll(t={}){return S(this,Lt).filter(n=>Xh(t,n))}notify(t){Ve.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){return L(this,zr,(S(this,zr)??Promise.resolve()).then(()=>{const t=S(this,Lt).filter(n=>n.state.isPaused);return Ve.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Ft)),Promise.resolve()))}).then(()=>{L(this,zr,void 0)})),S(this,zr)}},Lt=new WeakMap,Fa=new WeakMap,zr=new WeakMap,Gm);function vC(e){return{onFetch:(t,n)=>{const r=async()=>{var x,v,w,h,m;const o=t.options,i=(w=(v=(x=t.fetchOptions)==null?void 0:x.meta)==null?void 0:v.fetchMore)==null?void 0:w.direction,a=((h=t.state.data)==null?void 0:h.pages)||[],s=((m=t.state.data)==null?void 0:m.pageParams)||[],l={pages:[],pageParams:[]};let u=!1;const c=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),p=async(y,C,R)=>{if(u)return Promise.reject();if(C==null&&y.pages.length)return Promise.resolve(y);const E={queryKey:t.queryKey,pageParam:C,direction:R?"backward":"forward",meta:t.options.meta};c(E);const k=await f(E),{maxPages:T}=t.options,_=R?aC:iC;return{pages:_(y.pages,k,T),pageParams:_(y.pageParams,C,T)}};let g;if(i&&a.length){const y=i==="backward",C=y?gC:em,R={pages:a,pageParams:s},E=C(o,R);g=await p(R,E,y)}else{g=await p(l,s[0]??o.initialPageParam);const y=e??a.length;for(let C=1;C{var o,i;return(i=(o=t.options).persister)==null?void 0:i.call(o,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}function em(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}function gC(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}var Be,Xn,Jn,Qo,Go,Zn,qo,Yo,qm,yC=(qm=class{constructor(e={}){z(this,Be,void 0);z(this,Xn,void 0);z(this,Jn,void 0);z(this,Qo,void 0);z(this,Go,void 0);z(this,Zn,void 0);z(this,qo,void 0);z(this,Yo,void 0);L(this,Be,e.queryCache||new pC),L(this,Xn,e.mutationCache||new mC),L(this,Jn,e.defaultOptions||{}),L(this,Qo,new Map),L(this,Go,new Map),L(this,Zn,0)}mount(){ps(this,Zn)._++,S(this,Zn)===1&&(L(this,qo,Fl.subscribe(()=>{Fl.isFocused()&&(this.resumePausedMutations(),S(this,Be).onFocus())})),L(this,Yo,zl.subscribe(()=>{zl.isOnline()&&(this.resumePausedMutations(),S(this,Be).onOnline())})))}unmount(){var e,t;ps(this,Zn)._--,S(this,Zn)===0&&((e=S(this,qo))==null||e.call(this),L(this,qo,void 0),(t=S(this,Yo))==null||t.call(this),L(this,Yo,void 0))}isFetching(e){return S(this,Be).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return S(this,Xn).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Be).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);return t!==void 0?Promise.resolve(t):this.fetchQuery(e)}getQueriesData(e){return this.getQueryCache().findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=S(this,Be).get(r.queryHash),i=o==null?void 0:o.state.data,a=rC(t,i);if(!(typeof a>"u"))return S(this,Be).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Ve.batch(()=>this.getQueryCache().findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=S(this,Be).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=S(this,Be);Ve.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=S(this,Be),r={type:"active",...e};return Ve.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Ve.batch(()=>S(this,Be).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Ft).catch(Ft)}invalidateQueries(e={},t={}){return Ve.batch(()=>{if(S(this,Be).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Ve.batch(()=>S(this,Be).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Ft)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Ft)}fetchQuery(e){const t=this.defaultQueryOptions(e);typeof t.retry>"u"&&(t.retry=!1);const n=S(this,Be).build(this,t);return n.isStaleByTime(t.staleTime)?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ft).catch(Ft)}fetchInfiniteQuery(e){return e.behavior=vC(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ft).catch(Ft)}resumePausedMutations(){return S(this,Xn).resumePausedMutations()}getQueryCache(){return S(this,Be)}getMutationCache(){return S(this,Xn)}getDefaultOptions(){return S(this,Jn)}setDefaultOptions(e){L(this,Jn,e)}setQueryDefaults(e,t){S(this,Qo).set(eo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...S(this,Qo).values()];let n={};return t.forEach(r=>{Na(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){S(this,Go).set(eo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...S(this,Go).values()];let n={};return t.forEach(r=>{Na(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...S(this,Jn).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=ep(t.queryKey,t)),typeof t.refetchOnReconnect>"u"&&(t.refetchOnReconnect=t.networkMode!=="always"),typeof t.throwOnError>"u"&&(t.throwOnError=!!t.suspense),typeof t.networkMode>"u"&&t.persister&&(t.networkMode="offlineFirst"),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...S(this,Jn).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){S(this,Be).clear(),S(this,Xn).clear()}},Be=new WeakMap,Xn=new WeakMap,Jn=new WeakMap,Qo=new WeakMap,Go=new WeakMap,Zn=new WeakMap,qo=new WeakMap,Yo=new WeakMap,qm),gt,xe,za,dt,Ur,Xo,fn,Ua,Jo,Zo,Br,Wr,er,ei,Vr,Gi,Ba,Rd,Wa,Pd,Va,kd,Ha,Td,Ka,Od,Qa,_d,Ga,Dd,Kl,h0,Ym,wC=(Ym=class extends Ei{constructor(t,n){super();z(this,Vr);z(this,Ba);z(this,Wa);z(this,Va);z(this,Ha);z(this,Ka);z(this,Qa);z(this,Ga);z(this,Kl);z(this,gt,void 0);z(this,xe,void 0);z(this,za,void 0);z(this,dt,void 0);z(this,Ur,void 0);z(this,Xo,void 0);z(this,fn,void 0);z(this,Ua,void 0);z(this,Jo,void 0);z(this,Zo,void 0);z(this,Br,void 0);z(this,Wr,void 0);z(this,er,void 0);z(this,ei,new Set);this.options=n,L(this,gt,t),L(this,fn,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(S(this,xe).addObserver(this),tm(S(this,xe),this.options)?Y(this,Vr,Gi).call(this):this.updateResult(),Y(this,Ha,Td).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return $d(S(this,xe),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return $d(S(this,xe),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Y(this,Ka,Od).call(this),Y(this,Qa,_d).call(this),S(this,xe).removeObserver(this)}setOptions(t,n){const r=this.options,o=S(this,xe);if(this.options=S(this,gt).defaultQueryOptions(t),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");Y(this,Ga,Dd).call(this),Il(this.options,r)||S(this,gt).getQueryCache().notify({type:"observerOptionsUpdated",query:S(this,xe),observer:this});const i=this.hasListeners();i&&nm(S(this,xe),o,this.options,r)&&Y(this,Vr,Gi).call(this),this.updateResult(n),i&&(S(this,xe)!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&Y(this,Ba,Rd).call(this);const a=Y(this,Wa,Pd).call(this);i&&(S(this,xe)!==o||this.options.enabled!==r.enabled||a!==S(this,er))&&Y(this,Va,kd).call(this,a)}getOptimisticResult(t){const n=S(this,gt).getQueryCache().build(S(this,gt),t),r=this.createResult(n,t);return EC(this,r)&&(L(this,dt,r),L(this,Xo,this.options),L(this,Ur,S(this,xe).state)),r}getCurrentResult(){return S(this,dt)}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(S(this,ei).add(r),t[r])})}),n}getCurrentQuery(){return S(this,xe)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=S(this,gt).defaultQueryOptions(t),r=S(this,gt).getQueryCache().build(S(this,gt),n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){return Y(this,Vr,Gi).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),S(this,dt)))}createResult(t,n){var E;const r=S(this,xe),o=this.options,i=S(this,dt),a=S(this,Ur),s=S(this,Xo),u=t!==r?t.state:S(this,za),{state:c}=t;let{error:f,errorUpdatedAt:p,fetchStatus:g,status:x}=c,v=!1,w;if(n._optimisticResults){const k=this.hasListeners(),T=!k&&tm(t,n),_=k&&nm(t,r,n,o);(T||_)&&(g=vu(t.options.networkMode)?"fetching":"paused",c.dataUpdatedAt||(x="pending")),n._optimisticResults==="isRestoring"&&(g="idle")}if(n.select&&typeof c.data<"u")if(i&&c.data===(a==null?void 0:a.data)&&n.select===S(this,Ua))w=S(this,Jo);else try{L(this,Ua,n.select),w=n.select(c.data),w=Cd(i==null?void 0:i.data,w,n),L(this,Jo,w),L(this,fn,null)}catch(k){L(this,fn,k)}else w=c.data;if(typeof n.placeholderData<"u"&&typeof w>"u"&&x==="pending"){let k;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))k=i.data;else if(k=typeof n.placeholderData=="function"?n.placeholderData((E=S(this,Zo))==null?void 0:E.state.data,S(this,Zo)):n.placeholderData,n.select&&typeof k<"u")try{k=n.select(k),L(this,fn,null)}catch(T){L(this,fn,T)}typeof k<"u"&&(x="success",w=Cd(i==null?void 0:i.data,k,n),v=!0)}S(this,fn)&&(f=S(this,fn),w=S(this,Jo),p=Date.now(),x="error");const h=g==="fetching",m=x==="pending",y=x==="error",C=m&&h;return{status:x,fetchStatus:g,isPending:m,isSuccess:x==="success",isError:y,isInitialLoading:C,isLoading:C,data:w,dataUpdatedAt:c.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:h,isRefetching:h&&!m,isLoadingError:y&&c.dataUpdatedAt===0,isPaused:g==="paused",isPlaceholderData:v,isRefetchError:y&&c.dataUpdatedAt!==0,isStale:tp(t,n),refetch:this.refetch}}updateResult(t){const n=S(this,dt),r=this.createResult(S(this,xe),this.options);if(L(this,Ur,S(this,xe).state),L(this,Xo,this.options),S(this,Ur).data!==void 0&&L(this,Zo,S(this,xe)),Il(r,n))return;L(this,dt,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!S(this,ei).size)return!0;const l=new Set(s??S(this,ei));return this.options.throwOnError&&l.add("error"),Object.keys(S(this,dt)).some(u=>{const c=u;return S(this,dt)[c]!==n[c]&&l.has(c)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),Y(this,Kl,h0).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Y(this,Ha,Td).call(this)}},gt=new WeakMap,xe=new WeakMap,za=new WeakMap,dt=new WeakMap,Ur=new WeakMap,Xo=new WeakMap,fn=new WeakMap,Ua=new WeakMap,Jo=new WeakMap,Zo=new WeakMap,Br=new WeakMap,Wr=new WeakMap,er=new WeakMap,ei=new WeakMap,Vr=new WeakSet,Gi=function(t){Y(this,Ga,Dd).call(this);let n=S(this,xe).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Ft)),n},Ba=new WeakSet,Rd=function(){if(Y(this,Ka,Od).call(this),fi||S(this,dt).isStale||!bd(this.options.staleTime))return;const n=l0(S(this,dt).dataUpdatedAt,this.options.staleTime)+1;L(this,Br,setTimeout(()=>{S(this,dt).isStale||this.updateResult()},n))},Wa=new WeakSet,Pd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(S(this,xe)):this.options.refetchInterval)??!1},Va=new WeakSet,kd=function(t){Y(this,Qa,_d).call(this),L(this,er,t),!(fi||this.options.enabled===!1||!bd(S(this,er))||S(this,er)===0)&&L(this,Wr,setInterval(()=>{(this.options.refetchIntervalInBackground||Fl.isFocused())&&Y(this,Vr,Gi).call(this)},S(this,er)))},Ha=new WeakSet,Td=function(){Y(this,Ba,Rd).call(this),Y(this,Va,kd).call(this,Y(this,Wa,Pd).call(this))},Ka=new WeakSet,Od=function(){S(this,Br)&&(clearTimeout(S(this,Br)),L(this,Br,void 0))},Qa=new WeakSet,_d=function(){S(this,Wr)&&(clearInterval(S(this,Wr)),L(this,Wr,void 0))},Ga=new WeakSet,Dd=function(){const t=S(this,gt).getQueryCache().build(S(this,gt),this.options);if(t===S(this,xe))return;const n=S(this,xe);L(this,xe,t),L(this,za,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},Kl=new WeakSet,h0=function(t){Ve.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(S(this,dt))}),S(this,gt).getQueryCache().notify({query:S(this,xe),type:"observerResultsUpdated"})})},Ym);function xC(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function tm(e,t){return xC(e,t)||e.state.dataUpdatedAt>0&&$d(e,t,t.refetchOnMount)}function $d(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&tp(e,t)}return!1}function nm(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&tp(e,n)}function tp(e,t){return e.isStaleByTime(t.staleTime)}function EC(e,t){return!Il(e.getCurrentResult(),t)}var tr,nr,Pt,Cn,ti,ol,qa,Nd,Xm,bC=(Xm=class extends Ei{constructor(n,r){super();z(this,ti);z(this,qa);z(this,tr,void 0);z(this,nr,void 0);z(this,Pt,void 0);z(this,Cn,void 0);L(this,tr,n),this.setOptions(r),this.bindMethods(),Y(this,ti,ol).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=S(this,tr).defaultMutationOptions(n),Il(this.options,r)||S(this,tr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:S(this,Pt),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&eo(r.mutationKey)!==eo(this.options.mutationKey)?this.reset():(o=S(this,Pt))==null||o.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=S(this,Pt))==null||n.removeObserver(this)}onMutationUpdate(n){Y(this,ti,ol).call(this),Y(this,qa,Nd).call(this,n)}getCurrentResult(){return S(this,nr)}reset(){var n;(n=S(this,Pt))==null||n.removeObserver(this),L(this,Pt,void 0),Y(this,ti,ol).call(this),Y(this,qa,Nd).call(this)}mutate(n,r){var o;return L(this,Cn,r),(o=S(this,Pt))==null||o.removeObserver(this),L(this,Pt,S(this,tr).getMutationCache().build(S(this,tr),this.options)),S(this,Pt).addObserver(this),S(this,Pt).execute(n)}},tr=new WeakMap,nr=new WeakMap,Pt=new WeakMap,Cn=new WeakMap,ti=new WeakSet,ol=function(){var r;const n=((r=S(this,Pt))==null?void 0:r.state)??p0();L(this,nr,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},qa=new WeakSet,Nd=function(n){Ve.batch(()=>{var r,o,i,a,s,l,u,c;if(S(this,Cn)&&this.hasListeners()){const f=S(this,nr).variables,p=S(this,nr).context;(n==null?void 0:n.type)==="success"?((o=(r=S(this,Cn)).onSuccess)==null||o.call(r,n.data,f,p),(a=(i=S(this,Cn)).onSettled)==null||a.call(i,n.data,null,f,p)):(n==null?void 0:n.type)==="error"&&((l=(s=S(this,Cn)).onError)==null||l.call(s,n.error,f,p),(c=(u=S(this,Cn)).onSettled)==null||c.call(u,void 0,n.error,f,p))}this.listeners.forEach(f=>{f(S(this,nr))})})},Xm),m0=d.createContext(void 0),is=e=>{const t=d.useContext(m0);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},SC=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),b.jsx(m0.Provider,{value:e,children:t})),v0=d.createContext(!1),CC=()=>d.useContext(v0);v0.Provider;function RC(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var PC=d.createContext(RC()),kC=()=>d.useContext(PC);function g0(e,t){return typeof e=="function"?e(...t):!!e}var TC=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},OC=e=>{d.useEffect(()=>{e.clearReset()},[e])},_C=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&g0(n,[e.error,r]),DC=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},$C=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,NC=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function MC(e,t,n){const r=is(n),o=CC(),i=kC(),a=r.defaultQueryOptions(e);a._optimisticResults=o?"isRestoring":"optimistic",DC(a),TC(a,i),OC(i);const[s]=d.useState(()=>new t(r,a)),l=s.getOptimisticResult(a);if(d.useSyncExternalStore(d.useCallback(u=>{const c=o?()=>{}:s.subscribe(Ve.batchCalls(u));return s.updateResult(),c},[s,o]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),d.useEffect(()=>{s.setOptions(a,{listeners:!1})},[a,s]),$C(a,l))throw NC(a,s,i);if(_C({result:l,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw l.error;return a.notifyOnChangeProps?l:s.trackResult(l)}function y0(e,t){return MC(e,wC,t)}function Lo(e,t){const n=is(t),[r]=d.useState(()=>new bC(n,e));d.useEffect(()=>{r.setOptions(e)},[r,e]);const o=d.useSyncExternalStore(d.useCallback(a=>r.subscribe(Ve.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=d.useCallback((a,s)=>{r.mutate(a,s).catch(jC)},[r]);if(o.error&&g0(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}function jC(){}const st=0,Ce=1,AC=2,LC=0,Md=1;function IC(e,t,n){let r=e.list,o;for(;r;){if(r.index===n)return!1;if(t>r.high)break;o=r,r=r.next}return o||(e.list={index:n,high:t,next:r}),o&&(o.next={index:n,high:t,next:o.next}),!0}function FC(e,t){let n=e.list;if(n.index===t)return n.next===null?LC:(e.list=n.next,Md);let r=n;for(n=n.next;n!==null;){if(n.index===t)return r.next=n.next,Md;r=n,n=n.next}}const ue={low:0,max:0,high:0,C:AC,P:void 0,R:void 0,L:void 0,list:void 0};ue.P=ue;ue.L=ue;ue.R=ue;function hr(e){const t=e.high;e.L===ue&&e.R===ue?e.max=t:e.L===ue?e.max=Math.max(e.R.max,t):e.R===ue?e.max=Math.max(e.L.max,t):e.max=Math.max(Math.max(e.L.max,e.R.max),t)}function Ns(e){let t=e;for(;t.P!==ue;)hr(t.P),t=t.P}function sa(e,t){if(t.R===ue)return;const n=t.R;t.R=n.L,n.L!==ue&&(n.L.P=t),n.P=t.P,t.P===ue?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.L=t,t.P=n,hr(t),hr(n)}function la(e,t){if(t.L===ue)return;const n=t.L;t.L=n.R,n.R!==ue&&(n.R.P=t),n.P=t.P,t.P===ue?e.root=n:t===t.P.R?t.P.R=n:t.P.L=n,n.R=t,t.P=n,hr(t),hr(n)}function Ms(e,t,n){t.P===ue?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.P=t.P}function zC(e,t){let n;for(;t!==ue&&t.C===Ce;)t===t.P.L?(n=t.P.R,n.C===st&&(n.C=Ce,t.P.C=st,sa(e,t.P),n=t.P.R),n.L.C===Ce&&n.R.C===Ce?(n.C=st,t=t.P):(n.R.C===Ce&&(n.L.C=Ce,n.C=st,la(e,n),n=t.P.R),n.C=t.P.C,t.P.C=Ce,n.R.C=Ce,sa(e,t.P),t=e.root)):(n=t.P.L,n.C===st&&(n.C=Ce,t.P.C=st,la(e,t.P),n=t.P.L),n.R.C===Ce&&n.L.C===Ce?(n.C=st,t=t.P):(n.L.C===Ce&&(n.R.C=Ce,n.C=st,sa(e,n),n=t.P.L),n.C=t.P.C,t.P.C=Ce,n.L.C=Ce,la(e,t.P),t=e.root));t.C=Ce}function UC(e){for(;e.L!==ue;)e=e.L;return e}function BC(e,t){let n;for(;t.P.C===st;)t.P===t.P.P.L?(n=t.P.P.R,n.C===st?(t.P.C=Ce,n.C=Ce,t.P.P.C=st,t=t.P.P):(t===t.P.R&&(t=t.P,sa(e,t)),t.P.C=Ce,t.P.P.C=st,la(e,t.P.P))):(n=t.P.P.L,n.C===st?(t.P.C=Ce,n.C=Ce,t.P.P.C=st,t=t.P.P):(t===t.P.L&&(t=t.P,la(e,t)),t.P.C=Ce,t.P.P.C=st,sa(e,t.P.P)));e.root.C=Ce}function WC(){const e={root:ue,size:0},t={};return{insert(n,r,o){let i=e.root,a=ue;for(;i!==ue&&(a=i,n!==a.low);)na.max)&&(a.L!==ue&&i.push(a.L),a.R!==ue&&i.push(a.R),a.low<=r&&a.high>=n)){let s=a.list;for(;s!==null;)s.high>=n&&o(s.index,a.low),s=s.next}}},get size(){return e.size}}}const gu=e=>{const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),t},VC=(e,t=100,n=!1)=>{const r=gu(e),o=d.useRef(),i=[t,n,r];function a(){o.current&&clearTimeout(o.current),o.current=void 0}d.useEffect(()=>a,i);function s(){o.current=void 0}return d.useCallback(function(){const l=arguments,{current:u}=o;if(u===void 0&&n)return o.current=setTimeout(s,t),r.current.apply(null,l);u&&clearTimeout(u),o.current=setTimeout(()=>{o.current=void 0,r.current.apply(null,l)},t)},i)},HC=(e,t,n)=>{const r=d.useState(e);return[r[0],VC(r[1],t,n)]};function ua(e,t,n,r){const o=d.useRef(n),i=d.useRef(r);d.useEffect(()=>{o.current=n,i.current=r}),d.useEffect(()=>{const a=e&&"current"in e?e.current:e;if(!a)return;let s=0;function l(...c){s||o.current.apply(this,c)}a.addEventListener(t,l);const u=i.current;return()=>{s=1,a.removeEventListener(t,l),u&&u()}},[e,t])}const KC={},ca=typeof window>"u"?null:window,QC=ca&&typeof ca.visualViewport<"u"?ca.visualViewport:null,rm=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],GC=function(e){e===void 0&&(e=KC);const{wait:t,leading:n,initialWidth:r=0,initialHeight:o=0}=e,[i,a]=HC(typeof document>"u"?[r,o]:rm,t,n),s=()=>a(rm);return ua(ca,"resize",s),ua(QC,"resize",s),ua(ca,"orientationchange",s),i},yu=(e,t)=>{const n=t||qC;let r,o;return function(){return r&&n(arguments,r)?o:o=e.apply(null,r=arguments)}},qC=(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3];class YC{constructor(){this.set=void 0,this.get=void 0;let t,n;this.get=r=>r===t?n:void 0,this.set=(r,o)=>{t=r,n=o}}}const om=YC,ic=e=>{try{return new e}catch{const n={};return{set(r,o){n[r]=o},get(r){return n[r]}}}},XC=e=>{const t=e.length,n=ic(e[0]);let r,o,i,a;const s=t===1,l=p=>(r=n.get(p[0]))===void 0||s?r:r.get(p[1]),u=(p,g)=>(s?n.set(p[0],g):(r=n.get(p[0]))===void 0?(o=ic(e[1]),o.set(p[1],g),n.set(p[0],o)):r.set(p[1],g),g),c=p=>{for(a=n,i=0;i{for(a=n,i=0;i{let n;const{g:r,s:o}=XC(e);return function(){return(n=r(arguments))===void 0?o(arguments,t.apply(null,arguments)):n}},jd=new WeakMap;function x0(){const e=d.useState(JC)[1];return d.useRef(()=>e({})).current}const JC={},il=d.createElement;function ZC(e){let{positioner:t,resizeObserver:n,items:r,as:o="div",id:i,className:a,style:s,role:l="grid",tabIndex:u=0,containerRef:c,itemAs:f="div",itemStyle:p,itemHeightEstimate:g=300,itemKey:x=nR,overscanBy:v=2,scrollTop:w,isScrolling:h,height:m,render:y,onRender:C}=e,R=0,E;const k=x0(),T=oR(t,n),_=r.length,{columnWidth:M,columnCount:W,range:B,estimateHeight:ce,size:oe,shortestColumn:be}=t,ze=oe(),se=be(),N=[],I=l==="list"?"listitem":l==="grid"?"gridcell":void 0,V=gu(C);v=m*v;const q=w+v,ee=se{const Ze=r[ie],Mn=x(Ze,ie),Sr={top:fe,left:ke,width:M,writingMode:"horizontal-tb",position:"absolute"};typeof process<"u",N.push(il(f,{key:Mn,ref:T(ie),role:I,style:typeof p=="object"&&p!==null?Object.assign({},Sr,p):Sr},am(y,ie,Ze,M))),E===void 0?(R=ie,E=ie):(R=Math.min(R,ie),E=Math.max(E,ie))}),ee){const ie=Math.min(_-ze,Math.ceil((w+v-se)/g*W));let ke=ze;const fe=rR(M);for(;ke{typeof V.current=="function"&&E!==void 0&&V.current(R,E,r),im="1"},[R,E,r,V]),d.useEffect(()=>{ee&&k()},[ee,t]);const ot=eR(h,ce(_,g));return il(o,{ref:c,key:im,id:i,role:l,className:a,tabIndex:u,style:typeof s=="object"?tR(ot,s):ot,children:N})}let im="0";const am=w0([om,{},WeakMap,om],(e,t,n,r)=>il(e,{index:t,data:n,width:r})),eR=yu((e,t)=>({position:"relative",width:"100%",maxWidth:"100%",height:Math.ceil(t),maxHeight:Math.ceil(t),willChange:e?"contents":void 0,pointerEvents:e?"none":void 0})),E0=(e,t)=>e[0]===t[0]&&e[1]===t[1],tR=yu((e,t)=>Object.assign({},e,t),E0);function nR(e,t){return t}const rR=yu(e=>({width:e,zIndex:-1e3,visibility:"hidden",position:"absolute",writingMode:"horizontal-tb"}),(e,t)=>e[0]===t[0]),oR=yu((e,t)=>n=>r=>{r!==null&&(t&&(t.observe(r),jd.set(r,n)),e.get(n)===void 0&&e.set(n,r.offsetHeight))},E0);let b0="undefined",Io=typeof window!==b0?window:{},iR=typeof performance!==b0?performance:Date,Ad=()=>iR.now(),S0="AnimationFrame",sm="cancel"+S0,lm="request"+S0,Ul=Io[lm]&&Io[lm].bind(Io),Ld=Io[sm]&&Io[sm].bind(Io);function aR(e){return clearTimeout(e)}if(!Ul||!Ld){let e=0;Ul=t=>{let n=Ad(),r=Math.max(e+1e3/60,n);return setTimeout(()=>{t(e=r)},r-n)},Ld=aR}const sR=e=>{Ld(e.v||-1)},lR=(e,t)=>{const n=Ad(),r={},o=()=>{Ad()-n>=t?e.call(null):r.v=Ul(o)};return r.v=Ul(o),r},uR=typeof performance<"u"?performance:Date,cR=()=>uR.now();function C0(e,t=30,n=!1){const r=gu(e),o=1e3/t,i=d.useRef(0),a=d.useRef(),s=()=>a.current&&clearTimeout(a.current),l=[t,n,r];function u(){i.current=0,s()}return d.useEffect(()=>u,l),d.useCallback(function(){const c=arguments,f=cR(),p=()=>{i.current=f,s(),r.current.apply(null,c)},g=i.current;if(n&&g===0)return p();if(f-g>o){if(g>0)return p();i.current=f}s(),a.current=setTimeout(()=>{p(),i.current=0},o)},l)}function dR(e,t,n){const r=d.useState(e);return[r[0],C0(r[1],t,n)]}const qi=typeof window>"u"?null:window,um=()=>qi.scrollY!==void 0?qi.scrollY:qi.pageYOffset===void 0?0:qi.pageYOffset,fR=(e=30)=>{const t=dR(typeof window>"u"?0:um,e,!0);return ua(qi,"scroll",()=>t[1](um())),t[0]};function pR(e,t){e===void 0&&(e=0),t===void 0&&(t=12);const n=fR(t),[r,o]=d.useState(!1),i=d.useRef(0);return d.useEffect(()=>{i.current===1&&o(!0);let a=!1;const s=lR(()=>{a||o(!1)},40+1e3/t);return i.current=1,()=>{a=!0,sR(s)}},[t,n]),{scrollTop:Math.max(0,n-e),isScrolling:r}}function hR(e){const{scrollTop:t,isScrolling:n}=pR(e.offset,e.scrollFps);return ZC({scrollTop:t,isScrolling:n,positioner:e.positioner,resizeObserver:e.resizeObserver,items:e.items,onRender:e.onRender,as:e.as,id:e.id,className:e.className,style:e.style,role:e.role,tabIndex:e.tabIndex,containerRef:e.containerRef,itemAs:e.itemAs,itemStyle:e.itemStyle,itemHeightEstimate:e.itemHeightEstimate,itemKey:e.itemKey,overscanBy:e.overscanBy,height:e.height,render:e.render})}const mR=me[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"];function vR(e,t){t===void 0&&(t=gR);const[n,r]=d.useState({offset:0,width:0});return mR(()=>{const{current:o}=e;if(o!==null){let i=0,a=o;do i+=a.offsetTop||0,a=a.offsetParent;while(a);(i!==n.offset||o.offsetWidth!==n.width)&&r({offset:i,width:o.offsetWidth})}},t),n}const gR=[];function yR(e,t){let{width:n,columnWidth:r=200,columnGutter:o=0,rowGutter:i,columnCount:a,maxColumnCount:s}=e;t===void 0&&(t=bR);const l=()=>{const[x,v]=ER(n,r,o,a,s);return wR(v,x,o,i??o)},u=d.useRef();u.current===void 0&&(u.current=l());const c=d.useRef(t),f=[n,r,o,i,a,s],p=d.useRef(f),g=!f.every((x,v)=>p.current[v]===x);if(typeof process<"u",g||!t.every((x,v)=>c.current[v]===x)){const x=u.current,v=l();if(c.current=t,p.current=f,g){const w=x.size();for(let h=0;ha[l],update:l=>{const u=new Array(e);let c=0,f=0;for(;co.search(l,u,(f,p)=>c(f,a[f].left,p)),estimateHeight:(l,u)=>{const c=Math.max(0,Math.max.apply(null,i));return l===o.size?c:c+Math.ceil((l-o.size)/e)*u},shortestColumn:()=>i.length>1?Math.min.apply(null,i):i[0]||0,size(){return o.size},all(){return a}}},xR=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){const o=n+r>>>1,i=e[o];if(i===t)return o;i<=t?n=o+1:r=o-1}return-1},ER=function(e,t,n,r,o){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=8),r=r||Math.min(Math.floor((e+n)/(t+n)),o||1/0)||1,[Math.floor((e-n*(r-1))/r),r]},bR=[];var Qr=[],SR=function(){return Qr.some(function(e){return e.activeTargets.length>0})},CR=function(){return Qr.some(function(e){return e.skippedTargets.length>0})},cm="ResizeObserver loop completed with undelivered notifications.",RR=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:cm}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=cm),window.dispatchEvent(e)},Ma;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Ma||(Ma={}));var Gr=function(e){return Object.freeze(e)},PR=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,Gr(this)}return e}(),R0=function(){function e(t,n,r,o){return this.x=t,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,Gr(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,r=t.y,o=t.top,i=t.right,a=t.bottom,s=t.left,l=t.width,u=t.height;return{x:n,y:r,top:o,right:i,bottom:a,left:s,width:l,height:u}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),np=function(e){return e instanceof SVGElement&&"getBBox"in e},P0=function(e){if(np(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,a=o.offsetHeight;return!(i||a||e.getClientRects().length)},dm=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},kR=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},da=typeof window<"u"?window:{},js=new WeakMap,fm=/auto|scroll/,TR=/^tb|vertical/,OR=/msie|trident/i.test(da.navigator&&da.navigator.userAgent),an=function(e){return parseFloat(e||"0")},Fo=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new PR((n?t:e)||0,(n?e:t)||0)},pm=Gr({devicePixelContentBoxSize:Fo(),borderBoxSize:Fo(),contentBoxSize:Fo(),contentRect:new R0(0,0,0,0)}),k0=function(e,t){if(t===void 0&&(t=!1),js.has(e)&&!t)return js.get(e);if(P0(e))return js.set(e,pm),pm;var n=getComputedStyle(e),r=np(e)&&e.ownerSVGElement&&e.getBBox(),o=!OR&&n.boxSizing==="border-box",i=TR.test(n.writingMode||""),a=!r&&fm.test(n.overflowY||""),s=!r&&fm.test(n.overflowX||""),l=r?0:an(n.paddingTop),u=r?0:an(n.paddingRight),c=r?0:an(n.paddingBottom),f=r?0:an(n.paddingLeft),p=r?0:an(n.borderTopWidth),g=r?0:an(n.borderRightWidth),x=r?0:an(n.borderBottomWidth),v=r?0:an(n.borderLeftWidth),w=f+u,h=l+c,m=v+g,y=p+x,C=s?e.offsetHeight-y-e.clientHeight:0,R=a?e.offsetWidth-m-e.clientWidth:0,E=o?w+m:0,k=o?h+y:0,T=r?r.width:an(n.width)-E-R,_=r?r.height:an(n.height)-k-C,M=T+w+R+m,W=_+h+C+y,B=Gr({devicePixelContentBoxSize:Fo(Math.round(T*devicePixelRatio),Math.round(_*devicePixelRatio),i),borderBoxSize:Fo(M,W,i),contentBoxSize:Fo(T,_,i),contentRect:new R0(f,l,T,_)});return js.set(e,B),B},T0=function(e,t,n){var r=k0(e,n),o=r.borderBoxSize,i=r.contentBoxSize,a=r.devicePixelContentBoxSize;switch(t){case Ma.DEVICE_PIXEL_CONTENT_BOX:return a;case Ma.BORDER_BOX:return o;default:return i}},_R=function(){function e(t){var n=k0(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=Gr([n.borderBoxSize]),this.contentBoxSize=Gr([n.contentBoxSize]),this.devicePixelContentBoxSize=Gr([n.devicePixelContentBoxSize])}return e}(),O0=function(e){if(P0(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},DR=function(){var e=1/0,t=[];Qr.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(u){var c=new _R(u.target),f=O0(u.target);s.push(c),u.lastReportedSize=T0(u.target,u.observedBox),fe?n.activeTargets.push(o):n.skippedTargets.push(o))})})},$R=function(){var e=0;for(hm(e);SR();)e=DR(),hm(e);return CR()&&RR(),e>0},ac,_0=[],NR=function(){return _0.splice(0).forEach(function(e){return e()})},MR=function(e){if(!ac){var t=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return NR()}).observe(n,r),ac=function(){n.textContent="".concat(t?t--:t++)}}_0.push(e),ac()},jR=function(e){MR(function(){requestAnimationFrame(e)})},al=0,AR=function(){return!!al},LR=250,IR={attributes:!0,characterData:!0,childList:!0,subtree:!0},mm=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],vm=function(e){return e===void 0&&(e=0),Date.now()+e},sc=!1,FR=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=LR),!sc){sc=!0;var r=vm(t);jR(function(){var o=!1;try{o=$R()}finally{if(sc=!1,t=r-vm(),!AR())return;o?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,IR)};document.body?n():da.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),mm.forEach(function(n){return da.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),mm.forEach(function(n){return da.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),Id=new FR,gm=function(e){!al&&e>0&&Id.start(),al+=e,!al&&Id.stop()},zR=function(e){return!np(e)&&!kR(e)&&getComputedStyle(e).display==="inline"},UR=function(){function e(t,n){this.target=t,this.observedBox=n||Ma.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=T0(this.target,this.observedBox,!0);return zR(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),BR=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),As=new WeakMap,ym=function(e,t){for(var n=0;n=0&&(i&&Qr.splice(Qr.indexOf(r),1),r.observationTargets.splice(o,1),gm(-1))},e.disconnect=function(t){var n=this,r=As.get(t);r.observationTargets.slice().forEach(function(o){return n.unobserve(t,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},e}(),WR=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Ls.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!dm(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Ls.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!dm(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Ls.unobserve(this,t)},e.prototype.disconnect=function(){Ls.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),wm=function(t){var n=[],r=null,o=function(){for(var a=arguments.length,s=new Array(a),l=0;lr,[n]),n}function KR(e){e.cancel()}const QR=w0([WeakMap],(e,t)=>{const n=[],r=wm(()=>{n.length>0&&(e.update(n),t(n)),n.length=0}),o=u=>{const c=u.offsetHeight;if(c>0){const f=jd.get(u);if(f!==void 0){const p=e.get(f);p!==void 0&&c!==p.height&&n.push(f,c)}}r()},i=new Map,a=u=>{let c=0;for(;c{l(),i.forEach(KR)},s});function GR(e,t){var n;const{align:r="top",element:o=typeof window<"u"&&window,offset:i=0,height:a=typeof window<"u"?window.innerHeight:0}=t,s=gu({positioner:e,element:o,align:r,offset:i,height:a}),l=d.useRef(()=>{const g=s.current.element;return g&&"current"in g?g.current:g}).current,[u,c]=d.useReducer((g,x)=>{const v={position:g.position,index:g.index,prevTop:g.prevTop};if(x.type==="scrollToIndex"){var w;return{position:s.current.positioner.get((w=x.value)!==null&&w!==void 0?w:-1),index:x.value,prevTop:void 0}}else if(x.type==="setPosition")v.position=x.value;else if(x.type==="setPrevTop")v.prevTop=x.value;else if(x.type==="reset")return xm;return v},xm),f=C0(c,15);ua(l(),"scroll",()=>{if(!u.position&&u.index){const g=s.current.positioner.get(u.index);g&&c({type:"setPosition",value:g})}});const p=u.index!==void 0&&((n=s.current.positioner.get(u.index))===null||n===void 0?void 0:n.top);return d.useEffect(()=>{const g=l();if(!g)return;const{height:x,align:v,offset:w,positioner:h}=s.current;if(u.position){let m=u.position.top;v==="bottom"?m=m-x+u.position.height:v==="center"&&(m-=(x-u.position.height)/2),g.scrollTo(0,Math.max(0,m+=w));let y=!1;const C=setTimeout(()=>!y&&c({type:"reset"}),400);return()=>{y=!0,clearTimeout(C)}}else if(u.index!==void 0){let m=h.shortestColumn()/h.size()*u.index;u.prevTop&&(m=Math.max(m,u.prevTop+x)),g.scrollTo(0,m),f({type:"setPrevTop",value:m})}},[p,u,s,l,f]),d.useRef(g=>{c({type:"scrollToIndex",value:g})}).current}const xm={index:void 0,position:void 0,prevTop:void 0},qR=d.createElement;function D0(e){const t=d.useRef(null),n=GC({initialWidth:e.ssrWidth,initialHeight:e.ssrHeight}),r=vR(t,n),o=Object.assign({offset:r.offset,width:r.width||n[0],height:n[1],containerRef:t},e);o.positioner=yR(o),o.resizeObserver=HR(o.positioner);const i=GR(o.positioner,{height:o.height,offset:r.offset,align:typeof e.scrollToIndex=="object"?e.scrollToIndex.align:void 0}),a=e.scrollToIndex&&(typeof e.scrollToIndex=="number"?e.scrollToIndex:e.scrollToIndex.index);return d.useEffect(()=>{a!==void 0&&i(a)},[a,i]),qR(hR,o)}const rp=Xf("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),mn=d.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const a=r?ci:"button";return b.jsx(a,{className:Pe(rp({variant:t,size:n,className:e})),ref:i,...o})});mn.displayName="Button";const lc="focusScope.autoFocusOnMount",uc="focusScope.autoFocusOnUnmount",Em={bubbles:!1,cancelable:!0},YR=d.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[s,l]=d.useState(null),u=wt(o),c=wt(i),f=d.useRef(null),p=Ct(t,v=>l(v)),g=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(r){let m=function(E){if(g.paused||!s)return;const k=E.target;s.contains(k)?f.current=k:Wn(f.current,{select:!0})},y=function(E){if(g.paused||!s)return;const k=E.relatedTarget;k!==null&&(s.contains(k)||Wn(f.current,{select:!0}))},C=function(E){if(document.activeElement===document.body)for(const T of E)T.removedNodes.length>0&&Wn(s)};var v=m,w=y,h=C;document.addEventListener("focusin",m),document.addEventListener("focusout",y);const R=new MutationObserver(C);return s&&R.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",y),R.disconnect()}}},[r,s,g.paused]),d.useEffect(()=>{if(s){Sm.add(g);const v=document.activeElement;if(!s.contains(v)){const h=new CustomEvent(lc,Em);s.addEventListener(lc,u),s.dispatchEvent(h),h.defaultPrevented||(XR(nP($0(s)),{select:!0}),document.activeElement===v&&Wn(s))}return()=>{s.removeEventListener(lc,u),setTimeout(()=>{const h=new CustomEvent(uc,Em);s.addEventListener(uc,c),s.dispatchEvent(h),h.defaultPrevented||Wn(v??document.body,{select:!0}),s.removeEventListener(uc,c),Sm.remove(g)},0)}}},[s,u,c,g]);const x=d.useCallback(v=>{if(!n&&!r||g.paused)return;const w=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,h=document.activeElement;if(w&&h){const m=v.currentTarget,[y,C]=JR(m);y&&C?!v.shiftKey&&h===C?(v.preventDefault(),n&&Wn(y,{select:!0})):v.shiftKey&&h===y&&(v.preventDefault(),n&&Wn(C,{select:!0})):h===m&&v.preventDefault()}},[n,r,g.paused]);return d.createElement(Ke.div,X({tabIndex:-1},a,{ref:p,onKeyDown:x}))});function XR(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Wn(r,{select:t}),document.activeElement!==n)return}function JR(e){const t=$0(e),n=bm(t,e),r=bm(t.reverse(),e);return[n,r]}function $0(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function bm(e,t){for(const n of e)if(!ZR(n,{upTo:t}))return n}function ZR(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function eP(e){return e instanceof HTMLInputElement&&"select"in e}function Wn(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&eP(e)&&t&&e.select()}}const Sm=tP();function tP(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Cm(e,t),e.unshift(t)},remove(t){var n;e=Cm(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Cm(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function nP(e){return e.filter(t=>t.tagName!=="A")}const rP=d.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?Wf.createPortal(d.createElement(Ke.div,X({},o,{ref:t})),r):null});let cc=0;function oP(){d.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:Rm()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:Rm()),cc++,()=>{cc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),cc--}},[])}function Rm(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var hn=function(){return hn=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]0)&&!(o=r.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}function Fd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r"u")return wP;var t=xP(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},bP=A0(),Bl="data-scroll-locked",SP=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` - .`.concat(iP,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(s,"px ").concat(r,`; - } - body[`).concat(Bl,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(i,`px; - padding-right: `).concat(a,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(s,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(sl,` { - right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(ll,` { - margin-right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(sl," .").concat(sl,` { - right: 0 `).concat(r,`; - } - - .`).concat(ll," .").concat(ll,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(Bl,`] { - `).concat(aP,": ").concat(s,`px; - } -`)},CP=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,i=d.useMemo(function(){return EP(o)},[o]);return d.useEffect(function(){return document.body.setAttribute(Bl,""),function(){document.body.removeAttribute(Bl)}},[]),d.createElement(bP,{styles:SP(i,!t,o,n?"":"!important")})},zd=!1;if(typeof window<"u")try{var Is=Object.defineProperty({},"passive",{get:function(){return zd=!0,!0}});window.addEventListener("test",Is,Is),window.removeEventListener("test",Is,Is)}catch{zd=!1}var ho=zd?{passive:!1}:!1,RP=function(e){return e.tagName==="TEXTAREA"},L0=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!RP(e)&&n[t]==="visible")},PP=function(e){return L0(e,"overflowY")},kP=function(e){return L0(e,"overflowX")},Tm=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=I0(e,n);if(r){var o=F0(e,n),i=o[1],a=o[2];if(i>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},TP=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},OP=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},I0=function(e,t){return e==="v"?PP(t):kP(t)},F0=function(e,t){return e==="v"?TP(t):OP(t)},_P=function(e,t){return e==="h"&&t==="rtl"?-1:1},DP=function(e,t,n,r,o){var i=_P(e,window.getComputedStyle(t).direction),a=i*r,s=n.target,l=t.contains(s),u=!1,c=a>0,f=0,p=0;do{var g=F0(e,s),x=g[0],v=g[1],w=g[2],h=v-w-i*x;(x||h)&&I0(e,s)&&(f+=h,p+=x),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(c&&(o&&f===0||!o&&a>f)||!c&&(o&&p===0||!o&&-a>p))&&(u=!0),u},Fs=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Om=function(e){return[e.deltaX,e.deltaY]},_m=function(e){return e&&"current"in e?e.current:e},$P=function(e,t){return e[0]===t[0]&&e[1]===t[1]},NP=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},MP=0,mo=[];function jP(e){var t=d.useRef([]),n=d.useRef([0,0]),r=d.useRef(),o=d.useState(MP++)[0],i=d.useState(function(){return A0()})[0],a=d.useRef(e);d.useEffect(function(){a.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var v=Fd([e.lockRef.current],(e.shards||[]).map(_m),!0).filter(Boolean);return v.forEach(function(w){return w.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),v.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=d.useCallback(function(v,w){if("touches"in v&&v.touches.length===2)return!a.current.allowPinchZoom;var h=Fs(v),m=n.current,y="deltaX"in v?v.deltaX:m[0]-h[0],C="deltaY"in v?v.deltaY:m[1]-h[1],R,E=v.target,k=Math.abs(y)>Math.abs(C)?"h":"v";if("touches"in v&&k==="h"&&E.type==="range")return!1;var T=Tm(k,E);if(!T)return!0;if(T?R=k:(R=k==="v"?"h":"v",T=Tm(k,E)),!T)return!1;if(!r.current&&"changedTouches"in v&&(y||C)&&(r.current=R),!R)return!0;var _=r.current||R;return DP(_,w,v,_==="h"?y:C,!0)},[]),l=d.useCallback(function(v){var w=v;if(!(!mo.length||mo[mo.length-1]!==i)){var h="deltaY"in w?Om(w):Fs(w),m=t.current.filter(function(R){return R.name===w.type&&R.target===w.target&&$P(R.delta,h)})[0];if(m&&m.should){w.cancelable&&w.preventDefault();return}if(!m){var y=(a.current.shards||[]).map(_m).filter(Boolean).filter(function(R){return R.contains(w.target)}),C=y.length>0?s(w,y[0]):!a.current.noIsolation;C&&w.cancelable&&w.preventDefault()}}},[]),u=d.useCallback(function(v,w,h,m){var y={name:v,delta:w,target:h,should:m};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(C){return C!==y})},1)},[]),c=d.useCallback(function(v){n.current=Fs(v),r.current=void 0},[]),f=d.useCallback(function(v){u(v.type,Om(v),v.target,s(v,e.lockRef.current))},[]),p=d.useCallback(function(v){u(v.type,Fs(v),v.target,s(v,e.lockRef.current))},[]);d.useEffect(function(){return mo.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",l,ho),document.addEventListener("touchmove",l,ho),document.addEventListener("touchstart",c,ho),function(){mo=mo.filter(function(v){return v!==i}),document.removeEventListener("wheel",l,ho),document.removeEventListener("touchmove",l,ho),document.removeEventListener("touchstart",c,ho)}},[]);var g=e.removeScrollBar,x=e.inert;return d.createElement(d.Fragment,null,x?d.createElement(i,{styles:NP(o)}):null,g?d.createElement(CP,{gapMode:"margin"}):null)}const AP=fP(j0,jP);var z0=d.forwardRef(function(e,t){return d.createElement(wu,hn({},e,{ref:t,sideCar:AP}))});z0.classNames=wu.classNames;const LP=z0;var IP=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},vo=new WeakMap,zs=new WeakMap,Us={},hc=0,U0=function(e){return e&&(e.host||U0(e.parentNode))},FP=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=U0(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},zP=function(e,t,n,r){var o=FP(t,Array.isArray(e)?e:[e]);Us[n]||(Us[n]=new WeakMap);var i=Us[n],a=[],s=new Set,l=new Set(o),u=function(f){!f||s.has(f)||(s.add(f),u(f.parentNode))};o.forEach(u);var c=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(p){if(s.has(p))c(p);else{var g=p.getAttribute(r),x=g!==null&&g!=="false",v=(vo.get(p)||0)+1,w=(i.get(p)||0)+1;vo.set(p,v),i.set(p,w),a.push(p),v===1&&x&&zs.set(p,!0),w===1&&p.setAttribute(n,"true"),x||p.setAttribute(r,"true")}})};return c(t),s.clear(),hc++,function(){a.forEach(function(f){var p=vo.get(f)-1,g=i.get(f)-1;vo.set(f,p),i.set(f,g),p||(zs.has(f)||f.removeAttribute(r),zs.delete(f)),g||f.removeAttribute(n)}),hc--,hc||(vo=new WeakMap,vo=new WeakMap,zs=new WeakMap,Us={})}},UP=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||IP(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),zP(r,o,n,"aria-hidden")):function(){return null}};const B0="Dialog",[W0,V0]=pu(B0),[BP,yn]=W0(B0),WP=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,s=d.useRef(null),l=d.useRef(null),[u=!1,c]=Ny({prop:r,defaultProp:o,onChange:i});return d.createElement(BP,{scope:t,triggerRef:s,contentRef:l,contentId:aa(),titleId:aa(),descriptionId:aa(),open:u,onOpenChange:c,onOpenToggle:d.useCallback(()=>c(f=>!f),[c]),modal:a},n)},H0="DialogPortal",[VP,K0]=W0(H0,{forceMount:void 0}),HP=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=yn(H0,t);return d.createElement(VP,{scope:t,forceMount:n},d.Children.map(r,a=>d.createElement(Er,{present:n||i.open},d.createElement(rP,{asChild:!0,container:o},a))))},Ud="DialogOverlay",KP=d.forwardRef((e,t)=>{const n=K0(Ud,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=yn(Ud,e.__scopeDialog);return i.modal?d.createElement(Er,{present:r||i.open},d.createElement(QP,X({},o,{ref:t}))):null}),QP=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=yn(Ud,n);return d.createElement(LP,{as:ci,allowPinchZoom:!0,shards:[o.contentRef]},d.createElement(Ke.div,X({"data-state":q0(o.open)},r,{ref:t,style:{pointerEvents:"auto",...r.style}})))}),pi="DialogContent",GP=d.forwardRef((e,t)=>{const n=K0(pi,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=yn(pi,e.__scopeDialog);return d.createElement(Er,{present:r||i.open},i.modal?d.createElement(qP,X({},o,{ref:t})):d.createElement(YP,X({},o,{ref:t})))}),qP=d.forwardRef((e,t)=>{const n=yn(pi,e.__scopeDialog),r=d.useRef(null),o=Ct(t,n.contentRef,r);return d.useEffect(()=>{const i=r.current;if(i)return UP(i)},[]),d.createElement(Q0,X({},e,{ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:De(e.onCloseAutoFocus,i=>{var a;i.preventDefault(),(a=n.triggerRef.current)===null||a===void 0||a.focus()}),onPointerDownOutside:De(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&i.preventDefault()}),onFocusOutside:De(e.onFocusOutside,i=>i.preventDefault())}))}),YP=d.forwardRef((e,t)=>{const n=yn(pi,e.__scopeDialog),r=d.useRef(!1),o=d.useRef(!1);return d.createElement(Q0,X({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var a;if((a=e.onCloseAutoFocus)===null||a===void 0||a.call(e,i),!i.defaultPrevented){var s;r.current||(s=n.triggerRef.current)===null||s===void 0||s.focus(),i.preventDefault()}r.current=!1,o.current=!1},onInteractOutside:i=>{var a,s;(a=e.onInteractOutside)===null||a===void 0||a.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const l=i.target;((s=n.triggerRef.current)===null||s===void 0?void 0:s.contains(l))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}}))}),Q0=d.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,s=yn(pi,n),l=d.useRef(null),u=Ct(t,l);return oP(),d.createElement(d.Fragment,null,d.createElement(YR,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i},d.createElement(jy,X({role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":q0(s.open)},a,{ref:u,onDismiss:()=>s.onOpenChange(!1)}))),!1)}),G0="DialogTitle",XP=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=yn(G0,n);return d.createElement(Ke.h2,X({id:o.titleId},r,{ref:t}))}),JP="DialogDescription",op=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=yn(JP,n);return d.createElement(Ke.p,X({id:o.descriptionId},r,{ref:t}))}),ZP="DialogClose",ek=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=yn(ZP,n);return d.createElement(Ke.button,X({type:"button"},r,{ref:t,onClick:De(e.onClick,()=>o.onOpenChange(!1))}))});function q0(e){return e?"open":"closed"}const tk="DialogTitleWarning",[nk,eT]=Eb(tk,{contentName:pi,titleName:G0,docsSlug:"dialog"}),Y0=WP,X0=HP,ip=KP,ap=GP,sp=XP,lp=op,up=ek,rk="AlertDialog",[ok,tT]=pu(rk,[V0]),br=V0(),ik=e=>{const{__scopeAlertDialog:t,...n}=e,r=br(t);return d.createElement(Y0,X({},r,n,{modal:!0}))},ak=e=>{const{__scopeAlertDialog:t,...n}=e,r=br(t);return d.createElement(X0,X({},r,n))},sk=d.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=br(n);return d.createElement(ip,X({},o,r,{ref:t}))}),J0="AlertDialogContent",[lk,uk]=ok(J0),ck=d.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...o}=e,i=br(n),a=d.useRef(null),s=Ct(t,a),l=d.useRef(null);return d.createElement(nk,{contentName:J0,titleName:dk,docsSlug:"alert-dialog"},d.createElement(lk,{scope:n,cancelRef:l},d.createElement(ap,X({role:"alertdialog"},i,o,{ref:s,onOpenAutoFocus:De(o.onOpenAutoFocus,u=>{var c;u.preventDefault(),(c=l.current)===null||c===void 0||c.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault()}),d.createElement($y,null,r),!1)))}),dk="AlertDialogTitle",fk=d.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=br(n);return d.createElement(sp,X({},o,r,{ref:t}))}),pk=d.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=br(n);return d.createElement(lp,X({},o,r,{ref:t}))}),hk=d.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=br(n);return d.createElement(up,X({},o,r,{ref:t}))}),mk="AlertDialogCancel",vk=d.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:o}=uk(mk,n),i=br(n),a=Ct(t,o);return d.createElement(up,X({},i,r,{ref:a}))}),gk=ik,yk=ak,Z0=sk,ew=ck,tw=hk,nw=vk,rw=fk,ow=pk,wk=gk,xk=yk,iw=d.forwardRef(({className:e,...t},n)=>b.jsx(Z0,{className:Pe("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));iw.displayName=Z0.displayName;const aw=d.forwardRef(({className:e,...t},n)=>b.jsxs(xk,{children:[b.jsx(iw,{}),b.jsx(ew,{ref:n,className:Pe("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));aw.displayName=ew.displayName;const sw=({className:e,...t})=>b.jsx("div",{className:Pe("flex flex-col space-y-2 text-center sm:text-left",e),...t});sw.displayName="AlertDialogHeader";const lw=({className:e,...t})=>b.jsx("div",{className:Pe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});lw.displayName="AlertDialogFooter";const uw=d.forwardRef(({className:e,...t},n)=>b.jsx(rw,{ref:n,className:Pe("text-lg font-semibold",e),...t}));uw.displayName=rw.displayName;const cw=d.forwardRef(({className:e,...t},n)=>b.jsx(ow,{ref:n,className:Pe("text-sm text-muted-foreground",e),...t}));cw.displayName=ow.displayName;const dw=d.forwardRef(({className:e,...t},n)=>b.jsx(tw,{ref:n,className:Pe(rp(),e),...t}));dw.displayName=tw.displayName;const fw=d.forwardRef(({className:e,...t},n)=>b.jsx(nw,{ref:n,className:Pe(rp({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));fw.displayName=nw.displayName;const ja=Y0,Ek=X0,pw=d.forwardRef(({className:e,...t},n)=>b.jsx(ip,{ref:n,className:Pe("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));pw.displayName=ip.displayName;const hi=d.forwardRef(({className:e,children:t,...n},r)=>b.jsxs(Ek,{children:[b.jsx(pw,{}),b.jsxs(ap,{ref:r,className:Pe("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,b.jsxs(up,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[b.jsx(xS,{className:"h-4 w-4"}),b.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));hi.displayName=ap.displayName;const mi=({className:e,...t})=>b.jsx("div",{className:Pe("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});mi.displayName="DialogHeader";const cp=({className:e,...t})=>b.jsx("div",{className:Pe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});cp.displayName="DialogFooter";const mr=d.forwardRef(({className:e,...t},n)=>b.jsx(sp,{ref:n,className:Pe("text-lg font-semibold leading-none tracking-tight",e),...t}));mr.displayName=sp.displayName;const hw=d.forwardRef(({className:e,...t},n)=>b.jsx(lp,{ref:n,className:Pe("text-sm text-muted-foreground",e),...t}));hw.displayName=lp.displayName;function bk({item:e}){const t=is(),[n,r]=me.useState(!1),[o,i]=me.useState(),[a,s]=me.useState(!1),l=Lo({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/start`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),u=Lo({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/stop`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),c=Lo({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/delete`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}});return d.useEffect(()=>{l.isPending?i("launch"):c.isPending?i("delete"):u.isPending?i("stop"):i(void 0),s(l.isPending||u.isPending||c.isPending)},[l.isPending,u.isPending,c.isPending]),b.jsxs(b.Fragment,{children:[b.jsx(ja,{onOpenChange:f=>s(f),open:!!o&&a,children:b.jsxs(hi,{className:"sm:max-w-[425px]",children:[b.jsxs(mi,{children:[o==="launch"&&b.jsx(mr,{children:"Launching project..."}),o==="stop"&&b.jsx(mr,{children:"Stopping project..."}),o==="delete"&&b.jsx(mr,{children:"Deleting project..."}),b.jsx(op,{className:"mt-5 text-sm text-neutral-700 font-medium",children:"This could take a few moments."})]}),b.jsx("div",{className:"flex justify-center items-center",children:b.jsx(Jf,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),b.jsx(wk,{open:n,onOpenChange:f=>r(f),children:b.jsxs(aw,{children:[b.jsxs(sw,{children:[b.jsx(uw,{children:"Are you sure?"}),b.jsx(cw,{children:"This action cannot be undone. This will permanently delete your project's data. Your models will NOT be deleted."})]}),b.jsxs(lw,{children:[b.jsx(fw,{children:"Cancel"}),b.jsx(dw,{onClick:f=>{f.preventDefault(),r(!1),c.mutate()},children:"Delete"})]})]})}),b.jsx("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:b.jsxs("div",{className:"flex flex-col space-y-5",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("h1",{className:"text-lg font-semibold",children:e.state.name}),b.jsxs("p",{className:"mt-1 font-medium text-xs text-gray-500 font-mono",children:["ID: ",e.id]})]}),b.jsxs("div",{className:"flex flex-row space-x-2",children:[e.state.state==="ready"&&b.jsx(mn,{onClick:f=>{f.preventDefault(),l.mutate()},variant:"default",children:"Launch"}),e.state.state==="running"&&!!e.state.port&&b.jsx(mn,{variant:"default",asChild:!0,children:b.jsx("a",{href:`http://localhost:${e.state.port}`,target:"_blank",children:"Open"})}),e.state.state==="running"&&b.jsx(mn,{onClick:f=>{f.preventDefault(),u.mutate()},variant:"secondary",children:"Stop"}),(e.state.state==="ready"||e.state.state==="running")&&b.jsx(mn,{onClick:f=>{f.preventDefault(),r(!0)},variant:"destructive",children:"Delete"})]})]})})]})}function Sk(){const e=y0({queryKey:["projects"],queryFn:async()=>await(await fetch("/api/projects")).json()});return e.isLoading?b.jsx("div",{children:"Loading..."}):e.isError?b.jsx("div",{children:"Something went wrong, please refresh the page."}):!e.data||e.data.length===0?b.jsx(b.Fragment,{}):b.jsx("div",{children:b.jsx(D0,{itemKey:(t,n)=>t===void 0?n:t.id,columnGutter:20,columnWidth:350,items:e.data,render:t=>b.jsx(bk,{item:t.data})},e.data.map(t=>t.id).join(","))})}function Ck(){return b.jsxs("main",{className:"flex min-h-screen flex-col",children:[b.jsx("div",{children:b.jsx(mu,{})}),b.jsxs("div",{className:"flex flex-row space-x-5 p-5",children:[b.jsx("a",{href:"/new",children:b.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[b.jsx("h1",{className:"text-lg font-semibold",children:"Create workflow"}),b.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Create a new ComfyUI project"})]})}),b.jsx("a",{href:"/import",children:b.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[b.jsx("h1",{className:"text-lg font-semibold",children:"Import workflow"}),b.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Run an existing workflow with zero setup"})]})})]}),b.jsx("div",{className:"flex flex-col mt-5 p-5",children:b.jsx(Sk,{})})]})}var mw={exports:{}},Rk="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Pk=Rk,kk=Pk;function vw(){}function gw(){}gw.resetWarningCache=vw;var Tk=function(){function e(r,o,i,a,s,l){if(l!==kk){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:gw,resetWarningCache:vw};return n.PropTypes=n,n};mw.exports=Tk();var Ok=mw.exports;const he=Qd(Ok);var _k=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function as(e,t){var n=Dk(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function Dk(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=_k.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var $k=[".DS_Store","Thumbs.db"];function Nk(e){return bi(this,void 0,void 0,function(){return Si(this,function(t){return Wl(e)&&Mk(e.dataTransfer)?[2,Ik(e.dataTransfer,e.type)]:jk(e)?[2,Ak(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,Lk(e)]:[2,[]]})})}function Mk(e){return Wl(e)}function jk(e){return Wl(e)&&Wl(e.target)}function Wl(e){return typeof e=="object"&&e!==null}function Ak(e){return Bd(e.target.files).map(function(t){return as(t)})}function Lk(e){return bi(this,void 0,void 0,function(){var t;return Si(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return as(r)})]}})})}function Ik(e,t){return bi(this,void 0,void 0,function(){var n,r;return Si(this,function(o){switch(o.label){case 0:return e.items?(n=Bd(e.items).filter(function(i){return i.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(Fk))]):[3,2];case 1:return r=o.sent(),[2,Dm(yw(r))];case 2:return[2,Dm(Bd(e.files).map(function(i){return as(i)}))]}})})}function Dm(e){return e.filter(function(t){return $k.indexOf(t.name)===-1})}function Bd(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,Am(n)];if(e.sizen)return[!1,Am(n)]}return[!0,null]}function _r(e){return e!=null}function t2(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles,s=e.validator;return!i&&t.length>1||i&&a>=1&&t.length>a?!1:t.every(function(l){var u=bw(l,n),c=Aa(u,1),f=c[0],p=Sw(l,r,o),g=Aa(p,1),x=g[0],v=s?s(l):null;return f&&x&&!v})}function Vl(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Bs(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function Im(e){e.preventDefault()}function n2(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function r2(e){return e.indexOf("Edge/")!==-1}function o2(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return n2(e)||r2(e)}function sn(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function E2(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var dp=d.forwardRef(function(e,t){var n=e.children,r=Hl(e,c2),o=Tw(r),i=o.open,a=Hl(o,d2);return d.useImperativeHandle(t,function(){return{open:i}},[i]),me.createElement(d.Fragment,null,n(Oe(Oe({},a),{},{open:i})))});dp.displayName="Dropzone";var kw={disabled:!1,getFilesFromEvent:Nk,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};dp.defaultProps=kw;dp.propTypes={children:he.func,accept:he.objectOf(he.arrayOf(he.string)),multiple:he.bool,preventDropOnDocument:he.bool,noClick:he.bool,noKeyboard:he.bool,noDrag:he.bool,noDragEventsBubbling:he.bool,minSize:he.number,maxSize:he.number,maxFiles:he.number,disabled:he.bool,getFilesFromEvent:he.func,onFileDialogCancel:he.func,onFileDialogOpen:he.func,useFsAccessApi:he.bool,autoFocus:he.bool,onDragEnter:he.func,onDragLeave:he.func,onDragOver:he.func,onDrop:he.func,onDropAccepted:he.func,onDropRejected:he.func,onError:he.func,validator:he.func};var Kd={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Tw(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Oe(Oe({},kw),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,c=t.onDragLeave,f=t.onDragOver,p=t.onDrop,g=t.onDropAccepted,x=t.onDropRejected,v=t.onFileDialogCancel,w=t.onFileDialogOpen,h=t.useFsAccessApi,m=t.autoFocus,y=t.preventDropOnDocument,C=t.noClick,R=t.noKeyboard,E=t.noDrag,k=t.noDragEventsBubbling,T=t.onError,_=t.validator,M=d.useMemo(function(){return s2(n)},[n]),W=d.useMemo(function(){return a2(n)},[n]),B=d.useMemo(function(){return typeof w=="function"?w:zm},[w]),ce=d.useMemo(function(){return typeof v=="function"?v:zm},[v]),oe=d.useRef(null),be=d.useRef(null),ze=d.useReducer(b2,Kd),se=mc(ze,2),N=se[0],I=se[1],V=N.isFocused,q=N.isFileDialogActive,ee=d.useRef(typeof window<"u"&&window.isSecureContext&&h&&i2()),ot=function(){!ee.current&&q&&setTimeout(function(){if(be.current){var H=be.current.files;H.length||(I({type:"closeDialog"}),ce())}},300)};d.useEffect(function(){return window.addEventListener("focus",ot,!1),function(){window.removeEventListener("focus",ot,!1)}},[be,q,ce,ee]);var ie=d.useRef([]),ke=function(H){oe.current&&oe.current.contains(H.target)||(H.preventDefault(),ie.current=[])};d.useEffect(function(){return y&&(document.addEventListener("dragover",Im,!1),document.addEventListener("drop",ke,!1)),function(){y&&(document.removeEventListener("dragover",Im),document.removeEventListener("drop",ke))}},[oe,y]),d.useEffect(function(){return!r&&m&&oe.current&&oe.current.focus(),function(){}},[oe,m,r]);var fe=d.useCallback(function(j){T?T(j):console.error(j)},[T]),Ze=d.useCallback(function(j){j.preventDefault(),j.persist(),io(j),ie.current=[].concat(h2(ie.current),[j.target]),Bs(j)&&Promise.resolve(o(j)).then(function(H){if(!(Vl(j)&&!k)){var Te=H.length,Me=Te>0&&t2({files:H,accept:M,minSize:a,maxSize:i,multiple:s,maxFiles:l,validator:_}),ct=Te>0&&!Me;I({isDragAccept:Me,isDragReject:ct,isDragActive:!0,type:"setDraggedFiles"}),u&&u(j)}}).catch(function(H){return fe(H)})},[o,u,fe,k,M,a,i,s,l,_]),Mn=d.useCallback(function(j){j.preventDefault(),j.persist(),io(j);var H=Bs(j);if(H&&j.dataTransfer)try{j.dataTransfer.dropEffect="copy"}catch{}return H&&f&&f(j),!1},[f,k]),Sr=d.useCallback(function(j){j.preventDefault(),j.persist(),io(j);var H=ie.current.filter(function(Me){return oe.current&&oe.current.contains(Me)}),Te=H.indexOf(j.target);Te!==-1&&H.splice(Te,1),ie.current=H,!(H.length>0)&&(I({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Bs(j)&&c&&c(j))},[oe,c,k]),ro=d.useCallback(function(j,H){var Te=[],Me=[];j.forEach(function(ct){var vt=bw(ct,M),wn=mc(vt,2),ao=wn[0],so=wn[1],ki=Sw(ct,a,i),Rr=mc(ki,2),An=Rr[0],lo=Rr[1],Pr=_?_(ct):null;if(ao&&An&&!Pr)Te.push(ct);else{var Ti=[so,lo];Pr&&(Ti=Ti.concat(Pr)),Me.push({file:ct,errors:Ti.filter(function(cs){return cs})})}}),(!s&&Te.length>1||s&&l>=1&&Te.length>l)&&(Te.forEach(function(ct){Me.push({file:ct,errors:[e2]})}),Te.splice(0)),I({acceptedFiles:Te,fileRejections:Me,type:"setFiles"}),p&&p(Te,Me,H),Me.length>0&&x&&x(Me,H),Te.length>0&&g&&g(Te,H)},[I,s,M,a,i,l,p,g,x,_]),Qe=d.useCallback(function(j){j.preventDefault(),j.persist(),io(j),ie.current=[],Bs(j)&&Promise.resolve(o(j)).then(function(H){Vl(j)&&!k||ro(H,j)}).catch(function(H){return fe(H)}),I({type:"reset"})},[o,ro,fe,k]),Nt=d.useCallback(function(){if(ee.current){I({type:"openDialog"}),B();var j={multiple:s,types:W};window.showOpenFilePicker(j).then(function(H){return o(H)}).then(function(H){ro(H,null),I({type:"closeDialog"})}).catch(function(H){l2(H)?(ce(H),I({type:"closeDialog"})):u2(H)?(ee.current=!1,be.current?(be.current.value=null,be.current.click()):fe(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):fe(H)});return}be.current&&(I({type:"openDialog"}),B(),be.current.value=null,be.current.click())},[I,B,ce,h,ro,fe,W,s]),Ci=d.useCallback(function(j){!oe.current||!oe.current.isEqualNode(j.target)||(j.key===" "||j.key==="Enter"||j.keyCode===32||j.keyCode===13)&&(j.preventDefault(),Nt())},[oe,Nt]),ss=d.useCallback(function(){I({type:"focus"})},[]),nn=d.useCallback(function(){I({type:"blur"})},[]),ls=d.useCallback(function(){C||(o2()?setTimeout(Nt,0):Nt())},[C,Nt]),jn=function(H){return r?null:H},Ri=function(H){return R?null:jn(H)},oo=function(H){return E?null:jn(H)},io=function(H){k&&H.stopPropagation()},Cr=d.useMemo(function(){return function(){var j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},H=j.refKey,Te=H===void 0?"ref":H,Me=j.role,ct=j.onKeyDown,vt=j.onFocus,wn=j.onBlur,ao=j.onClick,so=j.onDragEnter,ki=j.onDragOver,Rr=j.onDragLeave,An=j.onDrop,lo=Hl(j,f2);return Oe(Oe(Hd({onKeyDown:Ri(sn(ct,Ci)),onFocus:Ri(sn(vt,ss)),onBlur:Ri(sn(wn,nn)),onClick:jn(sn(ao,ls)),onDragEnter:oo(sn(so,Ze)),onDragOver:oo(sn(ki,Mn)),onDragLeave:oo(sn(Rr,Sr)),onDrop:oo(sn(An,Qe)),role:typeof Me=="string"&&Me!==""?Me:"presentation"},Te,oe),!r&&!R?{tabIndex:0}:{}),lo)}},[oe,Ci,ss,nn,ls,Ze,Mn,Sr,Qe,R,E,r]),us=d.useCallback(function(j){j.stopPropagation()},[]),Pi=d.useMemo(function(){return function(){var j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},H=j.refKey,Te=H===void 0?"ref":H,Me=j.onChange,ct=j.onClick,vt=Hl(j,p2),wn=Hd({accept:M,multiple:s,type:"file",style:{display:"none"},onChange:jn(sn(Me,Qe)),onClick:jn(sn(ct,us)),tabIndex:-1},Te,be);return Oe(Oe({},wn),vt)}},[be,n,s,Qe,r]);return Oe(Oe({},N),{},{isFocused:V&&!r,getRootProps:Cr,getInputProps:Pi,rootRef:oe,inputRef:be,open:jn(Nt)})}function b2(e,t){switch(t.type){case"focus":return Oe(Oe({},e),{},{isFocused:!0});case"blur":return Oe(Oe({},e),{},{isFocused:!1});case"openDialog":return Oe(Oe({},Kd),{},{isFileDialogActive:!0});case"closeDialog":return Oe(Oe({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Oe(Oe({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Oe(Oe({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Oe({},Kd);default:return e}}function zm(){}const S2=d.forwardRef((e,t)=>d.createElement(Ke.label,X({},e,{ref:t,onMouseDown:n=>{var r;(r=e.onMouseDown)===null||r===void 0||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault()}}))),Ow=S2,C2=Xf("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),xu=d.forwardRef(({className:e,...t},n)=>b.jsx(Ow,{ref:n,className:Pe(C2(),e),...t}));xu.displayName=Ow.displayName;const Eu=d.forwardRef(({className:e,type:t,...n},r)=>b.jsx("input",{type:t,className:Pe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));Eu.displayName="Input";const R2={flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out"},P2={borderColor:"#2196f3"},k2={borderColor:"#00e676"},T2={borderColor:"#ff1744"};function O2(){const[e,t]=me.useState(!0),[n,r]=me.useState(),o=is(),i=Oy();me.useEffect(()=>{t(!1)},[]);const[a,s]=me.useState(""),[l,u]=me.useState(!1),[c,f]=me.useState(!1),p=Lo({mutationFn:async({import_json:R,name:E})=>{const k=JSON.parse(R);return await(await fetch("/api/import_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({import_json:k,name:E})})).json()},onSuccess:async()=>{await o.invalidateQueries({queryKey:["projects"]}),i("/")}});d.useEffect(()=>{f(p.isPending)},[p.isPending]);const g=d.useCallback(R=>{if(R.length===0){r(void 0);return}R.slice(0,1).forEach(E=>{const k=new FileReader;k.onabort=()=>console.log("file reading was aborted"),k.onerror=()=>console.log("file reading has failed"),k.onload=()=>{const T=k.result;if(!T){r(void 0);return}if(typeof T=="string")r(T);else{const M=new Uint8Array(T),W=[];for(var _=0;_({...R2,...h?P2:{},...m?k2:{},...y?T2:{}}),[h,m,y]);if(!e)return b.jsxs(b.Fragment,{children:[b.jsx(ja,{onOpenChange:R=>u(R),open:l,children:b.jsxs(hi,{className:"sm:max-w-[425px]",children:[b.jsx(mi,{children:b.jsx(mr,{children:"Import project"})}),b.jsx("div",{className:"grid gap-4 py-4",children:b.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[b.jsx(xu,{htmlFor:"name",className:"text-right",children:"Name"}),b.jsx(Eu,{id:"name",placeholder:"",className:"col-span-3",value:a,onChange:R=>s(R.target.value)})]})}),b.jsx(cp,{children:b.jsx(mn,{type:"submit",onClick:R=>{R.preventDefault(),n&&(p.mutate({import_json:n,name:a}),u(!1))},children:"Import"})})]})}),b.jsx(ja,{onOpenChange:R=>f(R),open:c,children:b.jsxs(hi,{className:"sm:max-w-[425px]",children:[b.jsxs(mi,{children:[b.jsx(mr,{children:"Importing project..."}),b.jsx(hw,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),b.jsx("div",{className:"flex justify-center items-center",children:b.jsx(Jf,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),b.jsxs("div",{className:"flex flex-col p-10",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("h1",{className:"text-3xl font-semibold",children:"Import workflow"}),b.jsxs("p",{className:"mt-5 font-medium text-gray-700",children:["Drag & drop a ",b.jsx("b",{children:"ComfyUI workflow json file"})," or ",b.jsx("b",{children:"ComfyUI Launcher json file"})," to run it with ",b.jsx("b",{children:"ZERO setup"}),"."]})]}),b.jsxs("div",{className:"flex flex-col mt-10",children:[b.jsxs("div",{className:"cursor-pointer",...v({style:C}),children:[b.jsx("input",{...w()}),b.jsx("p",{children:"Drag & drop your json file here"})]}),b.jsx("aside",{className:"mt-4",children:b.jsx("ul",{children:x.slice(0,1).map(R=>b.jsxs("li",{className:"font-medium text-sm",children:[R.name," - ",R.size," bytes"]},R.name))})})]}),b.jsx("div",{className:"mt-5",children:b.jsx(mn,{variant:"default",disabled:!n,onClick:R=>{R.preventDefault(),n&&u(!0)},children:"Import"})})]})]})}function _2(){return b.jsxs("main",{className:"flex min-h-screen flex-col",children:[b.jsx("div",{children:b.jsx(mu,{})}),b.jsx(O2,{})]})}function D2({item:{id:e,title:t,description:n,thumbnail:r,isThumbnailVideo:o,credits:i}}){const a=is(),s=Oy(),l=Lo({mutationFn:async({template_id:v,name:w})=>await(await fetch("/api/create_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template_id:v,name:w})})).json(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),s("/")}}),[u,c]=me.useState(""),[f,p]=me.useState(!1),[g,x]=me.useState(!1);return d.useEffect(()=>{x(l.isPending)},[l.isPending]),b.jsxs(b.Fragment,{children:[b.jsx(ja,{onOpenChange:v=>p(v),open:f,children:b.jsxs(hi,{className:"sm:max-w-[425px]",children:[b.jsx(mi,{children:b.jsx(mr,{children:"Create project"})}),b.jsx("div",{className:"grid gap-4 py-4",children:b.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[b.jsx(xu,{htmlFor:"name",className:"text-right",children:"Name"}),b.jsx(Eu,{id:"name",placeholder:"",className:"col-span-3",value:u,onChange:v=>c(v.target.value)})]})}),b.jsx(cp,{children:b.jsx(mn,{type:"submit",onClick:v=>{v.preventDefault(),l.mutate({template_id:e,name:u}),p(!1)},children:"Create"})})]})}),b.jsx(ja,{onOpenChange:v=>x(v),open:g,children:b.jsxs(hi,{className:"sm:max-w-[425px]",children:[b.jsxs(mi,{children:[b.jsx(mr,{children:"Creating project..."}),b.jsx(op,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),b.jsx("div",{className:"flex justify-center items-center",children:b.jsx(Jf,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),b.jsxs("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:[b.jsxs("div",{className:"flex flex-row justify-between space-x-5",children:[b.jsxs("div",{className:"flex flex-col",children:[b.jsx("h1",{className:"text-lg font-semibold",children:t}),b.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:n})]}),b.jsx("div",{className:"flex flex-col",children:b.jsx(mn,{onClick:v=>{v.preventDefault(),p(!0)},variant:"default",children:"Create"})})]}),r&&!o&&b.jsx("img",{src:r,className:"mt-4 w-full rounded-md"}),r&&o&&b.jsx("video",{muted:!0,loop:!0,autoPlay:!0,src:r,className:"mt-4 w-full rounded-md"}),i&&b.jsx("a",{href:i,target:"_blank",children:b.jsxs("div",{className:"mt-5 text-xs font-medium text-gray-500 flex items-center",children:["Credits ",b.jsx(wS,{className:"ml-1 w-3 h-3"})]})})]})]})}const $2="/assets/thumbnail-C9PpGAWR.webp",N2="/assets/thumbnail-D5odPwq0.webp",M2="/assets/thumbnail-eWYeQc2f.webp",j2="/assets/thumbnail-B-W0ErKu.webp",A2="/assets/thumbnail-CLQIOTWC.mp4",L2="/assets/thumbnail-DvLaklfj.webp",I2=[{id:"empty",title:"Empty",description:"Blank new ComfyUI project",thumbnail:""},{id:"animate_diff",title:"AnimateDiff",description:"Create animations from a prompt",thumbnail:$2,credits:"https://comfyworkflows.com/workflows/cc4b1b3f-735a-4e22-b241-148606544301"},{id:"svd",title:"Stable Video Diffusion",description:"Create videos from a prompt",thumbnail:N2,credits:"https://comfyworkflows.com/workflows/ae9275b2-c303-48fb-a539-13451dd93808"},{id:"upscale",title:"Upscaling",description:"Upscale images with high quality",thumbnail:M2,credits:"https://comfyworkflows.com/workflows/810e1c6e-12ad-4487-8dc3-d54fadf8319f"},{id:"img2img",title:"Image to Image (img2img)",description:"Stylize any input image (e.g. cartoon)",thumbnail:j2,credits:"https://comfyworkflows.com/workflows/e20d73bf-116a-49e1-a869-b7f47b0056e8"},{id:"vid2vid",title:"Video to Video (vid2vid)",description:"Stylize any input video (e.g. anime style)",thumbnail:A2,isThumbnailVideo:!0,credits:"https://comfyworkflows.com/workflows/84e00774-4a21-4555-b4dd-063eec3e604a"},{id:"img2vid",title:"Image to Video (img2vid)",description:"Create videos from an input image using Stable Video Diffusion",thumbnail:L2,credits:"https://comfyworkflows.com/workflows/14e821f5-8111-4178-8d6e-c43ab02d8376"}];function F2(){return b.jsxs("div",{className:"flex flex-col p-10",children:[b.jsx("div",{children:b.jsx("h1",{className:"text-3xl font-semibold",children:"New workflow"})}),b.jsx("div",{className:"flex flex-col mt-10",children:b.jsx("div",{children:b.jsx(D0,{itemKey:e=>e.id,columnGutter:20,columnWidth:350,items:I2,render:e=>b.jsx(D2,{item:e.data})})})})]})}function z2(){return b.jsxs("main",{className:"flex min-h-screen flex-col",children:[b.jsx("div",{children:b.jsx(mu,{})}),b.jsx(F2,{})]})}const U2=1,B2=1e6;let vc=0;function W2(){return vc=(vc+1)%Number.MAX_SAFE_INTEGER,vc.toString()}const gc=new Map,Um=e=>{if(gc.has(e))return;const t=setTimeout(()=>{gc.delete(e),fa({type:"REMOVE_TOAST",toastId:e})},B2);gc.set(e,t)},V2=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,U2)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?Um(n):e.toasts.forEach(r=>{Um(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},ul=[];let cl={toasts:[]};function fa(e){cl=V2(cl,e),ul.forEach(t=>{t(cl)})}function H2({...e}){const t=W2(),n=o=>fa({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>fa({type:"DISMISS_TOAST",toastId:t});return fa({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function K2(){const[e,t]=d.useState(cl);return d.useEffect(()=>(ul.push(t),()=>{const n=ul.indexOf(t);n>-1&&ul.splice(n,1)}),[e]),{...e,toast:H2,dismiss:n=>fa({type:"DISMISS_TOAST",toastId:n})}}function Q2(){const[e,t]=me.useState(),n=y0({queryKey:["settings"],queryFn:async()=>await(await fetch("/api/get_config")).json(),enabled:!e});d.useEffect(()=>{n.data&&t(n.data.credentials.civitai.apikey)},[n.data]);const{toast:r}=K2(),o=Lo({mutationFn:async({civitai_api_key:i})=>await(await fetch("/api/update_config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({credentials:{civitai:{apikey:i}}})})).json(),onSuccess:async()=>{r({title:"Saved your settings!"})}});return n.isLoading?b.jsx("div",{children:"Loading..."}):b.jsx(b.Fragment,{children:b.jsxs("div",{className:"flex flex-col p-10",children:[b.jsxs("div",{className:"flex flex-col space-y-2",children:[b.jsx(xu,{htmlFor:"name",className:"text-left",children:"CivitAI API Key"}),b.jsx(Eu,{id:"name",placeholder:"Your CivitAI API key",className:"w-fit",value:e,required:!0,onChange:i=>t(i.target.value)}),b.jsxs("p",{className:"text-xs font-medium text-gray-600",children:["You can get your CivitAI API key from your ",b.jsx("a",{href:"https://civitai.com/user/account",target:"_blank",rel:"noreferrer",children:"CivitAI account settings page"}),".",b.jsx("br",{}),'Scroll to the bottom of the page to the section titled "API Keys", and create one.',b.jsx("br",{}),b.jsx("br",{}),"This key is saved locally and ONLY used to download missing models directly from CivitAI. It is NEVER sent anywhere else."]})]}),b.jsx("div",{children:b.jsx(mn,{onClick:i=>{i.preventDefault(),o.mutate({civitai_api_key:e||""})},variant:"default",className:"mt-5",children:o.isPending?"Saving...":"Save"})})]})})}function G2(){return b.jsxs("main",{className:"flex min-h-screen flex-col",children:[b.jsx("div",{children:b.jsx(mu,{})}),b.jsx(Q2,{})]})}const q2=new yC,Y2=cb([{path:"/",element:b.jsx(Ck,{})},{path:"/import",element:b.jsx(_2,{})},{path:"/new",element:b.jsx(z2,{})},{path:"/settings",element:b.jsx(G2,{})}]);yc.createRoot(document.getElementById("root")).render(b.jsx(me.StrictMode,{children:b.jsx(SC,{client:q2,children:b.jsx(wb,{router:Y2})})})); diff --git a/web/dist/assets/index-Cy1TWCLZ.css b/web/dist/assets/index-Cy1TWCLZ.css deleted file mode 100644 index 0f1f0f5..0000000 --- a/web/dist/assets/index-Cy1TWCLZ.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--radius: .5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-3{grid-column:span 3 / span 3}.ml-1{margin-left:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-destructive{border-color:hsl(var(--destructive))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-8{padding-right:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-\[425px\]{max-width:425px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}} diff --git a/web/dist/assets/index-G1-uJQm9.js b/web/dist/assets/index-G1-uJQm9.js new file mode 100644 index 0000000..9baacdb --- /dev/null +++ b/web/dist/assets/index-G1-uJQm9.js @@ -0,0 +1,177 @@ +var Mu=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var C=(e,t,n)=>(Mu(e,t,"read from private field"),n?n.call(e):t.get(e)),Q=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},B=(e,t,n,r)=>(Mu(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var ws=(e,t,n,r)=>({set _(o){B(e,t,o,n)},get _(){return C(e,t,r)}}),ae=(e,t,n)=>(Mu(e,t,"access private method"),n);function fv(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function sf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pv={exports:{}},nu={},hv={exports:{}},pe={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var is=Symbol.for("react.element"),pw=Symbol.for("react.portal"),hw=Symbol.for("react.fragment"),mw=Symbol.for("react.strict_mode"),vw=Symbol.for("react.profiler"),gw=Symbol.for("react.provider"),yw=Symbol.for("react.context"),ww=Symbol.for("react.forward_ref"),xw=Symbol.for("react.suspense"),bw=Symbol.for("react.memo"),Ew=Symbol.for("react.lazy"),kp=Symbol.iterator;function Sw(e){return e===null||typeof e!="object"?null:(e=kp&&e[kp]||e["@@iterator"],typeof e=="function"?e:null)}var mv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},vv=Object.assign,gv={};function _i(e,t,n){this.props=e,this.context=t,this.refs=gv,this.updater=n||mv}_i.prototype.isReactComponent={};_i.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};_i.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function yv(){}yv.prototype=_i.prototype;function lf(e,t,n){this.props=e,this.context=t,this.refs=gv,this.updater=n||mv}var uf=lf.prototype=new yv;uf.constructor=lf;vv(uf,_i.prototype);uf.isPureReactComponent=!0;var Pp=Array.isArray,wv=Object.prototype.hasOwnProperty,cf={current:null},xv={key:!0,ref:!0,__self:!0,__source:!0};function bv(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)wv.call(t,r)&&!xv.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1>>1,W=D[L];if(0>>1;Lo(ce,z))reo(He,ce)?(D[L]=He,D[re]=z,L=re):(D[L]=ce,D[Z]=z,L=Z);else if(reo(He,z))D[L]=He,D[re]=z,L=re;else break e}}return O}function o(D,O){var z=D.sortIndex-O.sortIndex;return z!==0?z:D.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var u=[],l=[],d=1,f=null,p=3,m=!1,w=!1,g=!1,b=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(D){for(var O=n(l);O!==null;){if(O.callback===null)r(l);else if(O.startTime<=D)r(l),O.sortIndex=O.expirationTime,t(u,O);else break;O=n(l)}}function S(D){if(g=!1,y(D),!w)if(n(u)!==null)w=!0,xe(R);else{var O=n(l);O!==null&&A(S,O.startTime-D)}}function R(D,O){w=!1,g&&(g=!1,h($),$=-1),m=!0;var z=p;try{for(y(O),f=n(u);f!==null&&(!(f.expirationTime>O)||D&&!K());){var L=f.callback;if(typeof L=="function"){f.callback=null,p=f.priorityLevel;var W=L(f.expirationTime<=O);O=e.unstable_now(),typeof W=="function"?f.callback=W:f===n(u)&&r(u),y(O)}else r(u);f=n(u)}if(f!==null)var ne=!0;else{var Z=n(l);Z!==null&&A(S,Z.startTime-O),ne=!1}return ne}finally{f=null,p=z,m=!1}}var E=!1,k=null,$=-1,N=5,I=-1;function K(){return!(e.unstable_now()-ID||125L?(D.sortIndex=z,t(l,D),n(u)===null&&D===n(l)&&(g?(h($),$=-1):g=!0,A(S,z-L))):(D.sortIndex=W,t(u,D),w||m||(w=!0,xe(R))),D},e.unstable_shouldYield=K,e.unstable_wrapCallback=function(D){var O=p;return function(){var z=p;p=O;try{return D.apply(this,arguments)}finally{p=z}}}})(kv);Rv.exports=kv;var Mw=Rv.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Pv=c,Ut=Mw;function j(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),$c=Object.prototype.hasOwnProperty,jw=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Tp={},Np={};function Iw(e){return $c.call(Np,e)?!0:$c.call(Tp,e)?!1:jw.test(e)?Np[e]=!0:(Tp[e]=!0,!1)}function Aw(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Lw(e,t,n,r){if(t===null||typeof t>"u"||Aw(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function $t(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var pt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){pt[e]=new $t(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];pt[t]=new $t(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){pt[e]=new $t(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){pt[e]=new $t(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){pt[e]=new $t(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){pt[e]=new $t(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){pt[e]=new $t(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){pt[e]=new $t(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){pt[e]=new $t(e,5,!1,e.toLowerCase(),null,!1,!1)});var ff=/[\-:]([a-z])/g;function pf(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ff,pf);pt[t]=new $t(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ff,pf);pt[t]=new $t(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ff,pf);pt[t]=new $t(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){pt[e]=new $t(e,1,!1,e.toLowerCase(),null,!1,!1)});pt.xlinkHref=new $t("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){pt[e]=new $t(e,1,!1,e.toLowerCase(),null,!0,!0)});function hf(e,t,n,r){var o=pt.hasOwnProperty(t)?pt[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var u=` +`+o[a].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=a&&0<=s);break}}}finally{Au=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ea(e):""}function Fw(e){switch(e.tag){case 5:return ea(e.type);case 16:return ea("Lazy");case 13:return ea("Suspense");case 19:return ea("SuspenseList");case 0:case 2:case 15:return e=Lu(e.type,!1),e;case 11:return e=Lu(e.type.render,!1),e;case 1:return e=Lu(e.type,!0),e;default:return""}}function Dc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case jo:return"Fragment";case Mo:return"Portal";case Tc:return"Profiler";case mf:return"StrictMode";case Nc:return"Suspense";case _c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Nv:return(e.displayName||"Context")+".Consumer";case Tv:return(e._context.displayName||"Context")+".Provider";case vf:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gf:return t=e.displayName||null,t!==null?t:Dc(e.type)||"Memo";case ur:t=e._payload,e=e._init;try{return Dc(e(t))}catch{}}return null}function zw(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Dc(t);case 8:return t===mf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function jr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dv(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Uw(e){var t=Dv(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Es(e){e._valueTracker||(e._valueTracker=Uw(e))}function Ov(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Dv(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function wl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Oc(e,t){var n=t.checked;return Ue({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Dp(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=jr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Mv(e,t){t=t.checked,t!=null&&hf(e,"checked",t,!1)}function Mc(e,t){Mv(e,t);var n=jr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?jc(e,t.type,n):t.hasOwnProperty("defaultValue")&&jc(e,t.type,jr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Op(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function jc(e,t,n){(t!=="number"||wl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ta=Array.isArray;function Go(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Ss.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sa(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var aa={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bw=["Webkit","ms","Moz","O"];Object.keys(aa).forEach(function(e){Bw.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),aa[t]=aa[e]})});function Lv(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||aa.hasOwnProperty(e)&&aa[e]?(""+t).trim():t+"px"}function Fv(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=Lv(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var Ww=Ue({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Lc(e,t){if(t){if(Ww[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(j(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(j(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(j(61))}if(t.style!=null&&typeof t.style!="object")throw Error(j(62))}}function Fc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var zc=null;function yf(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Uc=null,Yo=null,qo=null;function Ip(e){if(e=ls(e)){if(typeof Uc!="function")throw Error(j(280));var t=e.stateNode;t&&(t=su(t),Uc(e.stateNode,e.type,t))}}function zv(e){Yo?qo?qo.push(e):qo=[e]:Yo=e}function Uv(){if(Yo){var e=Yo,t=qo;if(qo=Yo=null,Ip(e),t)for(e=0;e>>=0,e===0?32:31-(ex(e)/tx|0)|0}var Cs=64,Rs=4194304;function na(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Sl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=na(s):(i&=a,i!==0&&(r=na(i)))}else a=n&~o,a!==0?r=na(a):i!==0&&(r=na(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function as(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mn(t),e[t]=n}function ix(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=la),Hp=" ",Kp=!1;function sg(e,t){switch(e){case"keyup":return Ox.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Io=!1;function jx(e,t){switch(e){case"compositionend":return lg(t);case"keypress":return t.which!==32?null:(Kp=!0,Hp);case"textInput":return e=t.data,e===Hp&&Kp?null:e;default:return null}}function Ix(e,t){if(Io)return e==="compositionend"||!kf&&sg(e,t)?(e=ig(),Zs=Sf=Er=null,Io=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=qp(n)}}function fg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?fg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pg(){for(var e=window,t=wl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=wl(e.document)}return t}function Pf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Hx(e){var t=pg(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&fg(n.ownerDocument.documentElement,n)){if(r!==null&&Pf(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=Xp(n,i);var a=Xp(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ao=null,Qc=null,ca=null,Gc=!1;function Jp(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Gc||Ao==null||Ao!==wl(r)||(r=Ao,"selectionStart"in r&&Pf(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ca&&Ta(ca,r)||(ca=r,r=kl(Qc,"onSelect"),0zo||(e.current=ed[zo],ed[zo]=null,zo--)}function Pe(e,t){zo++,ed[zo]=e.current,e.current=t}var Ir={},xt=Lr(Ir),Dt=Lr(!1),vo=Ir;function bi(e,t){var n=e.type.contextTypes;if(!n)return Ir;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ot(e){return e=e.childContextTypes,e!=null}function $l(){_e(Dt),_e(xt)}function ih(e,t,n){if(xt.current!==Ir)throw Error(j(168));Pe(xt,t),Pe(Dt,n)}function Eg(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(j(108,zw(e)||"Unknown",o));return Ue({},n,r)}function Tl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ir,vo=xt.current,Pe(xt,e),Pe(Dt,Dt.current),!0}function ah(e,t,n){var r=e.stateNode;if(!r)throw Error(j(169));n?(e=Eg(e,t,vo),r.__reactInternalMemoizedMergedChildContext=e,_e(Dt),_e(xt),Pe(xt,e)):_e(Dt),Pe(Dt,n)}var Un=null,lu=!1,Ju=!1;function Sg(e){Un===null?Un=[e]:Un.push(e)}function rb(e){lu=!0,Sg(e)}function Fr(){if(!Ju&&Un!==null){Ju=!0;var e=0,t=be;try{var n=Un;for(be=1;e>=a,o-=a,Wn=1<<32-mn(t)+o|n<$?(N=k,k=null):N=k.sibling;var I=p(h,k,y[$],S);if(I===null){k===null&&(k=N);break}e&&k&&I.alternate===null&&t(h,k),v=i(I,v,$),E===null?R=I:E.sibling=I,E=I,k=N}if($===y.length)return n(h,k),Ie&&Hr(h,$),R;if(k===null){for(;$$?(N=k,k=null):N=k.sibling;var K=p(h,k,I.value,S);if(K===null){k===null&&(k=N);break}e&&k&&K.alternate===null&&t(h,k),v=i(K,v,$),E===null?R=K:E.sibling=K,E=K,k=N}if(I.done)return n(h,k),Ie&&Hr(h,$),R;if(k===null){for(;!I.done;$++,I=y.next())I=f(h,I.value,S),I!==null&&(v=i(I,v,$),E===null?R=I:E.sibling=I,E=I);return Ie&&Hr(h,$),R}for(k=r(h,k);!I.done;$++,I=y.next())I=m(k,h,$,I.value,S),I!==null&&(e&&I.alternate!==null&&k.delete(I.key===null?$:I.key),v=i(I,v,$),E===null?R=I:E.sibling=I,E=I);return e&&k.forEach(function(H){return t(h,H)}),Ie&&Hr(h,$),R}function b(h,v,y,S){if(typeof y=="object"&&y!==null&&y.type===jo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case bs:e:{for(var R=y.key,E=v;E!==null;){if(E.key===R){if(R=y.type,R===jo){if(E.tag===7){n(h,E.sibling),v=o(E,y.props.children),v.return=h,h=v;break e}}else if(E.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===ur&&ph(R)===E.type){n(h,E.sibling),v=o(E,y.props),v.ref=Vi(h,E,y),v.return=h,h=v;break e}n(h,E);break}else t(h,E);E=E.sibling}y.type===jo?(v=uo(y.props.children,h.mode,S,y.key),v.return=h,h=v):(S=sl(y.type,y.key,y.props,null,h.mode,S),S.ref=Vi(h,v,y),S.return=h,h=S)}return a(h);case Mo:e:{for(E=y.key;v!==null;){if(v.key===E)if(v.tag===4&&v.stateNode.containerInfo===y.containerInfo&&v.stateNode.implementation===y.implementation){n(h,v.sibling),v=o(v,y.children||[]),v.return=h,h=v;break e}else{n(h,v);break}else t(h,v);v=v.sibling}v=ac(y,h.mode,S),v.return=h,h=v}return a(h);case ur:return E=y._init,b(h,v,E(y._payload),S)}if(ta(y))return w(h,v,y,S);if(Fi(y))return g(h,v,y,S);Ds(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,v!==null&&v.tag===6?(n(h,v.sibling),v=o(v,y),v.return=h,h=v):(n(h,v),v=ic(y,h.mode,S),v.return=h,h=v),a(h)):n(h,v)}return b}var Si=_g(!0),Dg=_g(!1),us={},Mn=Lr(us),Oa=Lr(us),Ma=Lr(us);function qr(e){if(e===us)throw Error(j(174));return e}function If(e,t){switch(Pe(Ma,t),Pe(Oa,e),Pe(Mn,us),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ac(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ac(t,e)}_e(Mn),Pe(Mn,t)}function Ci(){_e(Mn),_e(Oa),_e(Ma)}function Og(e){qr(Ma.current);var t=qr(Mn.current),n=Ac(t,e.type);t!==n&&(Pe(Oa,e),Pe(Mn,n))}function Af(e){Oa.current===e&&(_e(Mn),_e(Oa))}var Fe=Lr(0);function jl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Zu=[];function Lf(){for(var e=0;en?n:4,e(!0);var r=ec.transition;ec.transition={};try{e(!1),t()}finally{be=n,ec.transition=r}}function Yg(){return rn().memoizedState}function sb(e,t,n){var r=Nr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},qg(e))Xg(t,n);else if(n=Pg(e,t,n,r),n!==null){var o=kt();vn(n,e,r,o),Jg(n,t,r)}}function lb(e,t,n){var r=Nr(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(qg(e))Xg(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,gn(s,a)){var u=t.interleaved;u===null?(o.next=o,Mf(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}finally{}n=Pg(e,t,o,r),n!==null&&(o=kt(),vn(n,e,r,o),Jg(n,t,r))}}function qg(e){var t=e.alternate;return e===ze||t!==null&&t===ze}function Xg(e,t){da=Il=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jg(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xf(e,n)}}var Al={readContext:nn,useCallback:vt,useContext:vt,useEffect:vt,useImperativeHandle:vt,useInsertionEffect:vt,useLayoutEffect:vt,useMemo:vt,useReducer:vt,useRef:vt,useState:vt,useDebugValue:vt,useDeferredValue:vt,useTransition:vt,useMutableSource:vt,useSyncExternalStore:vt,useId:vt,unstable_isNewReconciler:!1},ub={readContext:nn,useCallback:function(e,t){return kn().memoizedState=[e,t===void 0?null:t],e},useContext:nn,useEffect:mh,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rl(4194308,4,Vg.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rl(4194308,4,e,t)},useInsertionEffect:function(e,t){return rl(4,2,e,t)},useMemo:function(e,t){var n=kn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=kn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=sb.bind(null,ze,e),[r.memoizedState,e]},useRef:function(e){var t=kn();return e={current:e},t.memoizedState=e},useState:hh,useDebugValue:Wf,useDeferredValue:function(e){return kn().memoizedState=e},useTransition:function(){var e=hh(!1),t=e[0];return e=ab.bind(null,e[1]),kn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ze,o=kn();if(Ie){if(n===void 0)throw Error(j(407));n=n()}else{if(n=t(),st===null)throw Error(j(349));yo&30||Ig(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,mh(Lg.bind(null,r,i,e),[e]),r.flags|=2048,Aa(9,Ag.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=kn(),t=st.identifierPrefix;if(Ie){var n=Vn,r=Wn;n=(r&~(1<<32-mn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ja++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[_n]=t,e[Da]=r,sy(e,t,!1,!1),t.stateNode=e;e:{switch(a=Fc(n,r),n){case"dialog":Te("cancel",e),Te("close",e),o=r;break;case"iframe":case"object":case"embed":Te("load",e),o=r;break;case"video":case"audio":for(o=0;oki&&(t.flags|=128,r=!0,Hi(i,!1),t.lanes=4194304)}else{if(!r)if(e=jl(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Hi(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!Ie)return gt(t),null}else 2*Ge()-i.renderingStartTime>ki&&n!==1073741824&&(t.flags|=128,r=!0,Hi(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ge(),t.sibling=null,n=Fe.current,Pe(Fe,r?n&1|2:n&1),t):(gt(t),null);case 22:case 23:return Yf(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Lt&1073741824&&(gt(t),t.subtreeFlags&6&&(t.flags|=8192)):gt(t),null;case 24:return null;case 25:return null}throw Error(j(156,t.tag))}function gb(e,t){switch(Tf(t),t.tag){case 1:return Ot(t.type)&&$l(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ci(),_e(Dt),_e(xt),Lf(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Af(t),null;case 13:if(_e(Fe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(j(340));Ei()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _e(Fe),null;case 4:return Ci(),null;case 10:return Of(t.type._context),null;case 22:case 23:return Yf(),null;case 24:return null;default:return null}}var Ms=!1,wt=!1,yb=typeof WeakSet=="function"?WeakSet:Set,V=null;function Vo(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){We(e,t,r)}else n.current=null}function fd(e,t,n){try{n()}catch(r){We(e,t,r)}}var Ch=!1;function wb(e,t){if(Yc=Cl,e=pg(),Pf(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,u=-1,l=0,d=0,f=e,p=null;t:for(;;){for(var m;f!==n||o!==0&&f.nodeType!==3||(s=a+o),f!==i||r!==0&&f.nodeType!==3||(u=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break t;if(p===n&&++l===o&&(s=a),p===i&&++d===r&&(u=a),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(qc={focusedElem:e,selectionRange:n},Cl=!1,V=t;V!==null;)if(t=V,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,V=e;else for(;V!==null;){t=V;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var g=w.memoizedProps,b=w.memoizedState,h=t.stateNode,v=h.getSnapshotBeforeUpdate(t.elementType===t.type?g:cn(t.type,g),b);h.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(j(163))}}catch(S){We(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,V=e;break}V=t.return}return w=Ch,Ch=!1,w}function fa(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&fd(t,n,i)}o=o.next}while(o!==r)}}function du(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function pd(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function cy(e){var t=e.alternate;t!==null&&(e.alternate=null,cy(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_n],delete t[Da],delete t[Zc],delete t[tb],delete t[nb])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function dy(e){return e.tag===5||e.tag===3||e.tag===4}function Rh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dy(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function hd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Pl));else if(r!==4&&(e=e.child,e!==null))for(hd(e,t,n),e=e.sibling;e!==null;)hd(e,t,n),e=e.sibling}function md(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(md(e,t,n),e=e.sibling;e!==null;)md(e,t,n),e=e.sibling}var ct=null,fn=!1;function rr(e,t,n){for(n=n.child;n!==null;)fy(e,t,n),n=n.sibling}function fy(e,t,n){if(On&&typeof On.onCommitFiberUnmount=="function")try{On.onCommitFiberUnmount(ru,n)}catch{}switch(n.tag){case 5:wt||Vo(n,t);case 6:var r=ct,o=fn;ct=null,rr(e,t,n),ct=r,fn=o,ct!==null&&(fn?(e=ct,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ct.removeChild(n.stateNode));break;case 18:ct!==null&&(fn?(e=ct,n=n.stateNode,e.nodeType===8?Xu(e.parentNode,n):e.nodeType===1&&Xu(e,n),Pa(e)):Xu(ct,n.stateNode));break;case 4:r=ct,o=fn,ct=n.stateNode.containerInfo,fn=!0,rr(e,t,n),ct=r,fn=o;break;case 0:case 11:case 14:case 15:if(!wt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&fd(n,t,a),o=o.next}while(o!==r)}rr(e,t,n);break;case 1:if(!wt&&(Vo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){We(n,t,s)}rr(e,t,n);break;case 21:rr(e,t,n);break;case 22:n.mode&1?(wt=(r=wt)||n.memoizedState!==null,rr(e,t,n),wt=r):rr(e,t,n);break;default:rr(e,t,n)}}function kh(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new yb),t.forEach(function(r){var o=$b.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function ln(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=Ge()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*bb(r/1960))-r,10e?16:e,Sr===null)var r=!1;else{if(e=Sr,Sr=null,zl=0,ve&6)throw Error(j(331));var o=ve;for(ve|=4,V=e.current;V!==null;){var i=V,a=i.child;if(V.flags&16){var s=i.deletions;if(s!==null){for(var u=0;uGe()-Qf?lo(e,0):Kf|=n),Mt(e,t)}function xy(e,t){t===0&&(e.mode&1?(t=Rs,Rs<<=1,!(Rs&130023424)&&(Rs=4194304)):t=1);var n=kt();e=Yn(e,t),e!==null&&(as(e,t,n),Mt(e,n))}function Pb(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),xy(e,n)}function $b(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(j(314))}r!==null&&r.delete(t),xy(e,n)}var by;by=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Dt.current)_t=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return _t=!1,mb(e,t,n);_t=!!(e.flags&131072)}else _t=!1,Ie&&t.flags&1048576&&Cg(t,_l,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ol(e,t),e=t.pendingProps;var o=bi(t,xt.current);Jo(t,n),o=zf(null,t,r,e,o,n);var i=Uf();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ot(r)?(i=!0,Tl(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,jf(t),o.updater=uu,t.stateNode=o,o._reactInternals=t,id(t,r,e,n),t=ld(null,t,r,!0,i,n)):(t.tag=0,Ie&&i&&$f(t),Ct(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ol(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Nb(r),e=cn(r,e),o){case 0:t=sd(null,t,r,e,n);break e;case 1:t=bh(null,t,r,e,n);break e;case 11:t=wh(null,t,r,e,n);break e;case 14:t=xh(null,t,r,cn(r.type,e),n);break e}throw Error(j(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),sd(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),bh(e,t,r,o,n);case 3:e:{if(oy(t),e===null)throw Error(j(387));r=t.pendingProps,i=t.memoizedState,o=i.element,$g(e,t),Ml(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Ri(Error(j(423)),t),t=Eh(e,t,r,n,o);break e}else if(r!==o){o=Ri(Error(j(424)),t),t=Eh(e,t,r,n,o);break e}else for(Ft=Pr(t.stateNode.containerInfo.firstChild),zt=t,Ie=!0,hn=null,n=Dg(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ei(),r===o){t=qn(e,t,n);break e}Ct(e,t,r,n)}t=t.child}return t;case 5:return Og(t),e===null&&nd(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,Xc(r,o)?a=null:i!==null&&Xc(r,i)&&(t.flags|=32),ry(e,t),Ct(e,t,a,n),t.child;case 6:return e===null&&nd(t),null;case 13:return iy(e,t,n);case 4:return If(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Si(t,null,r,n):Ct(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),wh(e,t,r,o,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,Pe(Dl,r._currentValue),r._currentValue=a,i!==null)if(gn(i.value,a)){if(i.children===o.children&&!Dt.current){t=qn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=Hn(-1,n&-n),u.tag=2;var l=i.updateQueue;if(l!==null){l=l.shared;var d=l.pending;d===null?u.next=u:(u.next=d.next,d.next=u),l.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),rd(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(j(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),rd(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}Ct(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Jo(t,n),o=nn(o),r=r(o),t.flags|=1,Ct(e,t,r,n),t.child;case 14:return r=t.type,o=cn(r,t.pendingProps),o=cn(r.type,o),xh(e,t,r,o,n);case 15:return ty(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:cn(r,o),ol(e,t),t.tag=1,Ot(r)?(e=!0,Tl(t)):e=!1,Jo(t,n),Ng(t,r,o),id(t,r,o,n),ld(null,t,r,!0,e,n);case 19:return ay(e,t,n);case 22:return ny(e,t,n)}throw Error(j(156,t.tag))};function Ey(e,t){return Gv(e,t)}function Tb(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function en(e,t,n,r){return new Tb(e,t,n,r)}function Xf(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nb(e){if(typeof e=="function")return Xf(e)?1:0;if(e!=null){if(e=e.$$typeof,e===vf)return 11;if(e===gf)return 14}return 2}function _r(e,t){var n=e.alternate;return n===null?(n=en(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function sl(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")Xf(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case jo:return uo(n.children,o,i,t);case mf:a=8,o|=8;break;case Tc:return e=en(12,n,t,o|2),e.elementType=Tc,e.lanes=i,e;case Nc:return e=en(13,n,t,o),e.elementType=Nc,e.lanes=i,e;case _c:return e=en(19,n,t,o),e.elementType=_c,e.lanes=i,e;case _v:return pu(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Tv:a=10;break e;case Nv:a=9;break e;case vf:a=11;break e;case gf:a=14;break e;case ur:a=16,r=null;break e}throw Error(j(130,e==null?e:typeof e,""))}return t=en(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function uo(e,t,n,r){return e=en(7,e,r,t),e.lanes=n,e}function pu(e,t,n,r){return e=en(22,e,r,t),e.elementType=_v,e.lanes=n,e.stateNode={isHidden:!1},e}function ic(e,t,n){return e=en(6,e,null,t),e.lanes=n,e}function ac(e,t,n){return t=en(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _b(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zu(0),this.expirationTimes=zu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zu(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Jf(e,t,n,r,o,i,a,s,u){return e=new _b(e,t,n,s,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=en(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},jf(i),e}function Db(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ky)}catch(e){console.error(e)}}ky(),Cv.exports=Bt;var cs=Cv.exports;const yu=sf(cs),Ab=fv({__proto__:null,default:yu},[cs]);var Mh=cs;Pc.createRoot=Mh.createRoot,Pc.hydrateRoot=Mh.hydrateRoot;/** + * @remix-run/router v1.15.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Ve(){return Ve=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Pi(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Fb(){return Math.random().toString(36).substr(2,8)}function Ih(e,t){return{usr:e.state,key:e.key,idx:t}}function Fa(e,t,n,r){return n===void 0&&(n=null),Ve({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Jn(t):t,{state:n,key:t&&t.key||r||Fb()})}function ds(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Jn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function zb(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Qe.Pop,u=null,l=d();l==null&&(l=0,a.replaceState(Ve({},a.state,{idx:l}),""));function d(){return(a.state||{idx:null}).idx}function f(){s=Qe.Pop;let b=d(),h=b==null?null:b-l;l=b,u&&u({action:s,location:g.location,delta:h})}function p(b,h){s=Qe.Push;let v=Fa(g.location,b,h);n&&n(v,b),l=d()+1;let y=Ih(v,l),S=g.createHref(v);try{a.pushState(y,"",S)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;o.location.assign(S)}i&&u&&u({action:s,location:g.location,delta:1})}function m(b,h){s=Qe.Replace;let v=Fa(g.location,b,h);n&&n(v,b),l=d();let y=Ih(v,l),S=g.createHref(v);a.replaceState(y,"",S),i&&u&&u({action:s,location:g.location,delta:0})}function w(b){let h=o.location.origin!=="null"?o.location.origin:o.location.href,v=typeof b=="string"?b:ds(b);return v=v.replace(/ $/,"%20"),fe(h,"No window.location.(origin|href) available to create URL for href: "+v),new URL(v,h)}let g={get action(){return s},get location(){return e(o,a)},listen(b){if(u)throw new Error("A history only accepts one active listener");return o.addEventListener(jh,f),u=b,()=>{o.removeEventListener(jh,f),u=null}},createHref(b){return t(o,b)},createURL:w,encodeLocation(b){let h=w(b);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:m,go(b){return a.go(b)}};return g}var Be;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Be||(Be={}));const Ub=new Set(["lazy","caseSensitive","path","id","index","children"]);function Bb(e){return e.index===!0}function xd(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,i],s=typeof o.id=="string"?o.id:a.join("-");if(fe(o.index!==!0||!o.children,"Cannot specify children on an index route"),fe(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),Bb(o)){let u=Ve({},o,t(o),{id:s});return r[s]=u,u}else{let u=Ve({},o,t(o),{id:s,children:void 0});return r[s]=u,o.children&&(u.children=xd(o.children,t,a,r)),u}})}function Ko(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Jn(t):t,o=fs(r.pathname||"/",n);if(o==null)return null;let i=Py(e);Vb(i);let a=null;for(let s=0;a==null&&s{let u={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};u.relativePath.startsWith("/")&&(fe(u.relativePath.startsWith(r),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(r.length));let l=Dr([r,u.relativePath]),d=n.concat(u);i.children&&i.children.length>0&&(fe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+l+'".')),Py(i.children,t,d,l)),!(i.path==null&&!i.index)&&t.push({path:l,score:Xb(l,i.index),routesMeta:d})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let u of $y(i.path))o(i,a,u)}),t}function $y(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=$y(r.join("/")),s=[];return s.push(...a.map(u=>u===""?i:[i,u].join("/"))),o&&s.push(...a),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function Vb(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Jb(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const Hb=/^:[\w-]+$/,Kb=3,Qb=2,Gb=1,Yb=10,qb=-2,Ah=e=>e==="*";function Xb(e,t){let n=e.split("/"),r=n.length;return n.some(Ah)&&(r+=qb),t&&(r+=Qb),n.filter(o=>!Ah(o)).reduce((o,i)=>o+(Hb.test(i)?Kb:i===""?Gb:Yb),r)}function Jb(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function Zb(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let a=0;a{let{paramName:p,isOptional:m}=d;if(p==="*"){let g=s[f]||"";a=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const w=s[f];return m&&!w?l[p]=void 0:l[p]=(w||"").replace(/%2F/g,"/"),l},{}),pathname:i,pathnameBase:a,pattern:e}}function tE(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Pi(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,u)=>(r.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function nE(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Pi(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function fs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function rE(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Jn(e):e;return{pathname:n?n.startsWith("/")?n:oE(n,t):t,search:aE(r),hash:sE(o)}}function oE(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function sc(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Ty(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Ny(e,t){let n=Ty(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function _y(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Jn(e):(o=Ve({},e),fe(!o.pathname||!o.pathname.includes("?"),sc("?","pathname","search",o)),fe(!o.pathname||!o.pathname.includes("#"),sc("#","pathname","hash",o)),fe(!o.search||!o.search.includes("#"),sc("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),f-=1;o.pathname=p.join("/")}s=f>=0?t[f]:"/"}let u=rE(o,s),l=a&&a!=="/"&&a.endsWith("/"),d=(i||a===".")&&n.endsWith("/");return!u.pathname.endsWith("/")&&(l||d)&&(u.pathname+="/"),u}const Dr=e=>e.join("/").replace(/\/\/+/g,"/"),iE=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),aE=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,sE=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class np{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function Dy(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Oy=["post","put","patch","delete"],lE=new Set(Oy),uE=["get",...Oy],cE=new Set(uE),dE=new Set([301,302,303,307,308]),fE=new Set([307,308]),lc={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},pE={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Qi={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},My=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hE=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),jy="remix-router-transitions";function mE(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;fe(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let P=e.detectErrorBoundary;o=T=>({hasErrorBoundary:P(T)})}else o=hE;let i={},a=xd(e.routes,o,void 0,i),s,u=e.basename||"/",l=Ve({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),d=null,f=new Set,p=null,m=null,w=null,g=e.hydrationData!=null,b=Ko(a,e.history.location,u),h=null;if(b==null){let P=qt(404,{pathname:e.history.location.pathname}),{matches:T,route:_}=Hh(a);b=T,h={[_.id]:P}}let v,y=b.some(P=>P.route.lazy),S=b.some(P=>P.route.loader);if(y)v=!1;else if(!S)v=!0;else if(l.v7_partialHydration){let P=e.hydrationData?e.hydrationData.loaderData:null,T=e.hydrationData?e.hydrationData.errors:null;v=b.every(_=>_.route.loader&&_.route.loader.hydrate!==!0&&(P&&P[_.route.id]!==void 0||T&&T[_.route.id]!==void 0))}else v=e.hydrationData!=null;let R,E={historyAction:e.history.action,location:e.history.location,matches:b,initialized:v,navigation:lc,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||h,fetchers:new Map,blockers:new Map},k=Qe.Pop,$=!1,N,I=!1,K=new Map,H=null,se=!1,Y=!1,te=[],xe=[],A=new Map,D=0,O=-1,z=new Map,L=new Set,W=new Map,ne=new Map,Z=new Set,ce=new Map,re=new Map,He=!1;function bt(){if(d=e.history.listen(P=>{let{action:T,location:_,delta:U}=P;if(He){He=!1;return}Pi(re.size===0||U!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let q=Ee({currentLocation:E.location,nextLocation:_,historyAction:T});if(q&&U!=null){He=!0,e.history.go(U*-1),me(q,{state:"blocked",location:_,proceed(){me(q,{state:"proceeding",proceed:void 0,reset:void 0,location:_}),e.history.go(U)},reset(){let de=new Map(E.blockers);de.set(q,Qi),Ke({blockers:de})}});return}return Ae(T,_)}),n){kE(t,K);let P=()=>PE(t,K);t.addEventListener("pagehide",P),H=()=>t.removeEventListener("pagehide",P)}return E.initialized||Ae(Qe.Pop,E.location,{initialHydration:!0}),R}function Vt(){d&&d(),H&&H(),f.clear(),N&&N.abort(),E.fetchers.forEach((P,T)=>Oe(T)),E.blockers.forEach((P,T)=>ee(T))}function jt(P){return f.add(P),()=>f.delete(P)}function Ke(P,T){T===void 0&&(T={}),E=Ve({},E,P);let _=[],U=[];l.v7_fetcherPersist&&E.fetchers.forEach((q,de)=>{q.state==="idle"&&(Z.has(de)?U.push(de):_.push(de))}),[...f].forEach(q=>q(E,{deletedFetchers:U,unstable_viewTransitionOpts:T.viewTransitionOpts,unstable_flushSync:T.flushSync===!0})),l.v7_fetcherPersist&&(_.forEach(q=>E.fetchers.delete(q)),U.forEach(q=>Oe(q)))}function qe(P,T,_){var U,q;let{flushSync:de}=_===void 0?{}:_,ie=E.actionData!=null&&E.navigation.formMethod!=null&&pn(E.navigation.formMethod)&&E.navigation.state==="loading"&&((U=P.state)==null?void 0:U._isRedirect)!==!0,oe;T.actionData?Object.keys(T.actionData).length>0?oe=T.actionData:oe=null:ie?oe=E.actionData:oe=null;let J=T.loaderData?Vh(E.loaderData,T.loaderData,T.matches||[],T.errors):E.loaderData,he=E.blockers;he.size>0&&(he=new Map(he),he.forEach((ke,ut)=>he.set(ut,Qi)));let rt=$===!0||E.navigation.formMethod!=null&&pn(E.navigation.formMethod)&&((q=P.state)==null?void 0:q._isRedirect)!==!0;s&&(a=s,s=void 0),se||k===Qe.Pop||(k===Qe.Push?e.history.push(P,P.state):k===Qe.Replace&&e.history.replace(P,P.state));let ue;if(k===Qe.Pop){let ke=K.get(E.location.pathname);ke&&ke.has(P.pathname)?ue={currentLocation:E.location,nextLocation:P}:K.has(P.pathname)&&(ue={currentLocation:P,nextLocation:E.location})}else if(I){let ke=K.get(E.location.pathname);ke?ke.add(P.pathname):(ke=new Set([P.pathname]),K.set(E.location.pathname,ke)),ue={currentLocation:E.location,nextLocation:P}}Ke(Ve({},T,{actionData:oe,loaderData:J,historyAction:k,location:P,initialized:!0,navigation:lc,revalidation:"idle",restoreScrollPosition:Rp(P,T.matches||E.matches),preventScrollReset:rt,blockers:he}),{viewTransitionOpts:ue,flushSync:de===!0}),k=Qe.Pop,$=!1,I=!1,se=!1,Y=!1,te=[],xe=[]}async function Ur(P,T){if(typeof P=="number"){e.history.go(P);return}let _=bd(E.location,E.matches,u,l.v7_prependBasename,P,l.v7_relativeSplatPath,T==null?void 0:T.fromRouteId,T==null?void 0:T.relative),{path:U,submission:q,error:de}=Lh(l.v7_normalizeFormMethod,!1,_,T),ie=E.location,oe=Fa(E.location,U,T&&T.state);oe=Ve({},oe,e.history.encodeLocation(oe));let J=T&&T.replace!=null?T.replace:void 0,he=Qe.Push;J===!0?he=Qe.Replace:J===!1||q!=null&&pn(q.formMethod)&&q.formAction===E.location.pathname+E.location.search&&(he=Qe.Replace);let rt=T&&"preventScrollReset"in T?T.preventScrollReset===!0:void 0,ue=(T&&T.unstable_flushSync)===!0,ke=Ee({currentLocation:ie,nextLocation:oe,historyAction:he});if(ke){me(ke,{state:"blocked",location:oe,proceed(){me(ke,{state:"proceeding",proceed:void 0,reset:void 0,location:oe}),Ur(P,T)},reset(){let ut=new Map(E.blockers);ut.set(ke,Qi),Ke({blockers:ut})}});return}return await Ae(he,oe,{submission:q,pendingError:de,preventScrollReset:rt,replace:T&&T.replace,enableViewTransition:T&&T.unstable_viewTransition,flushSync:ue})}function ko(){if(Ht(),Ke({revalidation:"loading"}),E.navigation.state!=="submitting"){if(E.navigation.state==="idle"){Ae(E.historyAction,E.location,{startUninterruptedRevalidation:!0});return}Ae(k||E.historyAction,E.navigation.location,{overrideNavigation:E.navigation})}}async function Ae(P,T,_){N&&N.abort(),N=null,k=P,se=(_&&_.startUninterruptedRevalidation)===!0,Tu(E.location,E.matches),$=(_&&_.preventScrollReset)===!0,I=(_&&_.enableViewTransition)===!0;let U=s||a,q=_&&_.overrideNavigation,de=Ko(U,T,u),ie=(_&&_.flushSync)===!0;if(!de){let ut=qt(404,{pathname:T.pathname}),{matches:Kt,route:ot}=Hh(U);nt(),qe(T,{matches:Kt,loaderData:{},errors:{[ot.id]:ut}},{flushSync:ie});return}if(E.initialized&&!Y&&xE(E.location,T)&&!(_&&_.submission&&pn(_.submission.formMethod))){qe(T,{matches:de},{flushSync:ie});return}N=new AbortController;let oe=Yi(e.history,T,N.signal,_&&_.submission),J,he;if(_&&_.pendingError)he={[ma(de).route.id]:_.pendingError};else if(_&&_.submission&&pn(_.submission.formMethod)){let ut=await on(oe,T,_.submission,de,{replace:_.replace,flushSync:ie});if(ut.shortCircuited)return;J=ut.pendingActionData,he=ut.pendingActionError,q=uc(T,_.submission),ie=!1,oe=new Request(oe.url,{signal:oe.signal})}let{shortCircuited:rt,loaderData:ue,errors:ke}=await wn(oe,T,de,q,_&&_.submission,_&&_.fetcherSubmission,_&&_.replace,_&&_.initialHydration===!0,ie,J,he);rt||(N=null,qe(T,Ve({matches:de},J?{actionData:J}:{},{loaderData:ue,errors:ke})))}async function on(P,T,_,U,q){q===void 0&&(q={}),Ht();let de=CE(T,_);Ke({navigation:de},{flushSync:q.flushSync===!0});let ie,oe=Sd(U,T);if(!oe.route.action&&!oe.route.lazy)ie={type:Be.error,error:qt(405,{method:P.method,pathname:T.pathname,routeId:oe.route.id})};else if(ie=await Gi("action",P,oe,U,i,o,u,l.v7_relativeSplatPath),P.signal.aborted)return{shortCircuited:!0};if(Jr(ie)){let J;return q&&q.replace!=null?J=q.replace:J=ie.location===E.location.pathname+E.location.search,await xn(E,ie,{submission:_,replace:J}),{shortCircuited:!0}}if(Qo(ie)){let J=ma(U,oe.route.id);return(q&&q.replace)!==!0&&(k=Qe.Push),{pendingActionData:{},pendingActionError:{[J.route.id]:ie.error}}}if(Xr(ie))throw qt(400,{type:"defer-action"});return{pendingActionData:{[oe.route.id]:ie.data}}}async function wn(P,T,_,U,q,de,ie,oe,J,he,rt){let ue=U||uc(T,q),ke=q||de||Gh(ue),ut=s||a,[Kt,ot]=Fh(e.history,E,_,ke,T,l.v7_partialHydration&&oe===!0,Y,te,xe,Z,W,L,ut,u,he,rt);if(nt(Se=>!(_&&_.some(Me=>Me.route.id===Se))||Kt&&Kt.some(Me=>Me.route.id===Se)),O=++D,Kt.length===0&&ot.length===0){let Se=bn();return qe(T,Ve({matches:_,loaderData:{},errors:rt||null},he?{actionData:he}:{},Se?{fetchers:new Map(E.fetchers)}:{}),{flushSync:J}),{shortCircuited:!0}}if(!se&&(!l.v7_partialHydration||!oe)){ot.forEach(Me=>{let En=E.fetchers.get(Me.key),ys=qi(void 0,En?En.data:void 0);E.fetchers.set(Me.key,ys)});let Se=he||E.actionData;Ke(Ve({navigation:ue},Se?Object.keys(Se).length===0?{actionData:null}:{actionData:Se}:{},ot.length>0?{fetchers:new Map(E.fetchers)}:{}),{flushSync:J})}ot.forEach(Se=>{A.has(Se.key)&<(Se.key),Se.controller&&A.set(Se.key,Se.controller)});let Po=()=>ot.forEach(Se=>lt(Se.key));N&&N.signal.addEventListener("abort",Po);let{results:Nu,loaderResults:$o,fetcherResults:nr}=await tr(E.matches,_,Kt,ot,P);if(P.signal.aborted)return{shortCircuited:!0};N&&N.signal.removeEventListener("abort",Po),ot.forEach(Se=>A.delete(Se.key));let Vr=Kh(Nu);if(Vr){if(Vr.idx>=Kt.length){let Se=ot[Vr.idx-Kt.length].key;L.add(Se)}return await xn(E,Vr.result,{replace:ie}),{shortCircuited:!0}}let{loaderData:_u,errors:Du}=Wh(E,_,Kt,$o,rt,ot,nr,ce);ce.forEach((Se,Me)=>{Se.subscribe(En=>{(En||Se.done)&&ce.delete(Me)})});let Ou=bn(),To=Et(O),gs=Ou||To||ot.length>0;return Ve({loaderData:_u,errors:Du},gs?{fetchers:new Map(E.fetchers)}:{})}function Br(P,T,_,U){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");A.has(P)&<(P);let q=(U&&U.unstable_flushSync)===!0,de=s||a,ie=bd(E.location,E.matches,u,l.v7_prependBasename,_,l.v7_relativeSplatPath,T,U==null?void 0:U.relative),oe=Ko(de,ie,u);if(!oe){G(P,T,qt(404,{pathname:ie}),{flushSync:q});return}let{path:J,submission:he,error:rt}=Lh(l.v7_normalizeFormMethod,!0,ie,U);if(rt){G(P,T,rt,{flushSync:q});return}let ue=Sd(oe,J);if($=(U&&U.preventScrollReset)===!0,he&&pn(he.formMethod)){an(P,T,J,ue,oe,q,he);return}W.set(P,{routeId:T,path:J}),er(P,T,J,ue,oe,q,he)}async function an(P,T,_,U,q,de,ie){if(Ht(),W.delete(P),!U.route.action&&!U.route.lazy){let Me=qt(405,{method:ie.formMethod,pathname:_,routeId:T});G(P,T,Me,{flushSync:de});return}let oe=E.fetchers.get(P);F(P,RE(ie,oe),{flushSync:de});let J=new AbortController,he=Yi(e.history,_,J.signal,ie);A.set(P,J);let rt=D,ue=await Gi("action",he,U,q,i,o,u,l.v7_relativeSplatPath);if(he.signal.aborted){A.get(P)===J&&A.delete(P);return}if(l.v7_fetcherPersist&&Z.has(P)){if(Jr(ue)||Qo(ue)){F(P,ar(void 0));return}}else{if(Jr(ue))if(A.delete(P),O>rt){F(P,ar(void 0));return}else return L.add(P),F(P,qi(ie)),xn(E,ue,{fetcherSubmission:ie});if(Qo(ue)){G(P,T,ue.error);return}}if(Xr(ue))throw qt(400,{type:"defer-action"});let ke=E.navigation.location||E.location,ut=Yi(e.history,ke,J.signal),Kt=s||a,ot=E.navigation.state!=="idle"?Ko(Kt,E.navigation.location,u):E.matches;fe(ot,"Didn't find any matches after fetcher action");let Po=++D;z.set(P,Po);let Nu=qi(ie,ue.data);E.fetchers.set(P,Nu);let[$o,nr]=Fh(e.history,E,ot,ie,ke,!1,Y,te,xe,Z,W,L,Kt,u,{[U.route.id]:ue.data},void 0);nr.filter(Me=>Me.key!==P).forEach(Me=>{let En=Me.key,ys=E.fetchers.get(En),fw=qi(void 0,ys?ys.data:void 0);E.fetchers.set(En,fw),A.has(En)&<(En),Me.controller&&A.set(En,Me.controller)}),Ke({fetchers:new Map(E.fetchers)});let Vr=()=>nr.forEach(Me=>lt(Me.key));J.signal.addEventListener("abort",Vr);let{results:_u,loaderResults:Du,fetcherResults:Ou}=await tr(E.matches,ot,$o,nr,ut);if(J.signal.aborted)return;J.signal.removeEventListener("abort",Vr),z.delete(P),A.delete(P),nr.forEach(Me=>A.delete(Me.key));let To=Kh(_u);if(To){if(To.idx>=$o.length){let Me=nr[To.idx-$o.length].key;L.add(Me)}return xn(E,To.result)}let{loaderData:gs,errors:Se}=Wh(E,E.matches,$o,Du,void 0,nr,Ou,ce);if(E.fetchers.has(P)){let Me=ar(ue.data);E.fetchers.set(P,Me)}Et(Po),E.navigation.state==="loading"&&Po>O?(fe(k,"Expected pending action"),N&&N.abort(),qe(E.navigation.location,{matches:ot,loaderData:gs,errors:Se,fetchers:new Map(E.fetchers)})):(Ke({errors:Se,loaderData:Vh(E.loaderData,gs,ot,Se),fetchers:new Map(E.fetchers)}),Y=!1)}async function er(P,T,_,U,q,de,ie){let oe=E.fetchers.get(P);F(P,qi(ie,oe?oe.data:void 0),{flushSync:de});let J=new AbortController,he=Yi(e.history,_,J.signal);A.set(P,J);let rt=D,ue=await Gi("loader",he,U,q,i,o,u,l.v7_relativeSplatPath);if(Xr(ue)&&(ue=await Ly(ue,he.signal,!0)||ue),A.get(P)===J&&A.delete(P),!he.signal.aborted){if(Z.has(P)){F(P,ar(void 0));return}if(Jr(ue))if(O>rt){F(P,ar(void 0));return}else{L.add(P),await xn(E,ue);return}if(Qo(ue)){G(P,T,ue.error);return}fe(!Xr(ue),"Unhandled fetcher deferred data"),F(P,ar(ue.data))}}async function xn(P,T,_){let{submission:U,fetcherSubmission:q,replace:de}=_===void 0?{}:_;T.revalidate&&(Y=!0);let ie=Fa(P.location,T.location,{_isRedirect:!0});if(fe(ie,"Expected a location on the redirect navigation"),n){let ke=!1;if(T.reloadDocument)ke=!0;else if(My.test(T.location)){const ut=e.history.createURL(T.location);ke=ut.origin!==t.location.origin||fs(ut.pathname,u)==null}if(ke){de?t.location.replace(T.location):t.location.assign(T.location);return}}N=null;let oe=de===!0?Qe.Replace:Qe.Push,{formMethod:J,formAction:he,formEncType:rt}=P.navigation;!U&&!q&&J&&he&&rt&&(U=Gh(P.navigation));let ue=U||q;if(fE.has(T.status)&&ue&&pn(ue.formMethod))await Ae(oe,ie,{submission:Ve({},ue,{formAction:T.location}),preventScrollReset:$});else{let ke=uc(ie,U);await Ae(oe,ie,{overrideNavigation:ke,fetcherSubmission:q,preventScrollReset:$})}}async function tr(P,T,_,U,q){let de=await Promise.all([..._.map(J=>Gi("loader",q,J,T,i,o,u,l.v7_relativeSplatPath)),...U.map(J=>J.matches&&J.match&&J.controller?Gi("loader",Yi(e.history,J.path,J.controller.signal),J.match,J.matches,i,o,u,l.v7_relativeSplatPath):{type:Be.error,error:qt(404,{pathname:J.path})})]),ie=de.slice(0,_.length),oe=de.slice(_.length);return await Promise.all([Qh(P,_,ie,ie.map(()=>q.signal),!1,E.loaderData),Qh(P,U.map(J=>J.match),oe,U.map(J=>J.controller?J.controller.signal:null),!0)]),{results:de,loaderResults:ie,fetcherResults:oe}}function Ht(){Y=!0,te.push(...nt()),W.forEach((P,T)=>{A.has(T)&&(xe.push(T),lt(T))})}function F(P,T,_){_===void 0&&(_={}),E.fetchers.set(P,T),Ke({fetchers:new Map(E.fetchers)},{flushSync:(_&&_.flushSync)===!0})}function G(P,T,_,U){U===void 0&&(U={});let q=ma(E.matches,T);Oe(P),Ke({errors:{[q.route.id]:_},fetchers:new Map(E.fetchers)},{flushSync:(U&&U.flushSync)===!0})}function Re(P){return l.v7_fetcherPersist&&(ne.set(P,(ne.get(P)||0)+1),Z.has(P)&&Z.delete(P)),E.fetchers.get(P)||pE}function Oe(P){let T=E.fetchers.get(P);A.has(P)&&!(T&&T.state==="loading"&&z.has(P))&<(P),W.delete(P),z.delete(P),L.delete(P),Z.delete(P),E.fetchers.delete(P)}function tt(P){if(l.v7_fetcherPersist){let T=(ne.get(P)||0)-1;T<=0?(ne.delete(P),Z.add(P)):ne.set(P,T)}else Oe(P);Ke({fetchers:new Map(E.fetchers)})}function lt(P){let T=A.get(P);fe(T,"Expected fetch controller: "+P),T.abort(),A.delete(P)}function sn(P){for(let T of P){let _=Re(T),U=ar(_.data);E.fetchers.set(T,U)}}function bn(){let P=[],T=!1;for(let _ of L){let U=E.fetchers.get(_);fe(U,"Expected fetcher: "+_),U.state==="loading"&&(L.delete(_),P.push(_),T=!0)}return sn(P),T}function Et(P){let T=[];for(let[_,U]of z)if(U0}function Wr(P,T){let _=E.blockers.get(P)||Qi;return re.get(P)!==T&&re.set(P,T),_}function ee(P){E.blockers.delete(P),re.delete(P)}function me(P,T){let _=E.blockers.get(P)||Qi;fe(_.state==="unblocked"&&T.state==="blocked"||_.state==="blocked"&&T.state==="blocked"||_.state==="blocked"&&T.state==="proceeding"||_.state==="blocked"&&T.state==="unblocked"||_.state==="proceeding"&&T.state==="unblocked","Invalid blocker state transition: "+_.state+" -> "+T.state);let U=new Map(E.blockers);U.set(P,T),Ke({blockers:U})}function Ee(P){let{currentLocation:T,nextLocation:_,historyAction:U}=P;if(re.size===0)return;re.size>1&&Pi(!1,"A router only supports one blocker at a time");let q=Array.from(re.entries()),[de,ie]=q[q.length-1],oe=E.blockers.get(de);if(!(oe&&oe.state==="proceeding")&&ie({currentLocation:T,nextLocation:_,historyAction:U}))return de}function nt(P){let T=[];return ce.forEach((_,U)=>{(!P||P(U))&&(_.cancel(),T.push(U),ce.delete(U))}),T}function mt(P,T,_){if(p=P,w=T,m=_||null,!g&&E.navigation===lc){g=!0;let U=Rp(E.location,E.matches);U!=null&&Ke({restoreScrollPosition:U})}return()=>{p=null,w=null,m=null}}function An(P,T){return m&&m(P,T.map(U=>Wb(U,E.loaderData)))||P.key}function Tu(P,T){if(p&&w){let _=An(P,T);p[_]=w()}}function Rp(P,T){if(p){let _=An(P,T),U=p[_];if(typeof U=="number")return U}return null}function dw(P){i={},s=xd(P,o,void 0,i)}return R={get basename(){return u},get future(){return l},get state(){return E},get routes(){return a},get window(){return t},initialize:bt,subscribe:jt,enableScrollRestoration:mt,navigate:Ur,fetch:Br,revalidate:ko,createHref:P=>e.history.createHref(P),encodeLocation:P=>e.history.encodeLocation(P),getFetcher:Re,deleteFetcher:tt,dispose:Vt,getBlocker:Wr,deleteBlocker:ee,_internalFetchControllers:A,_internalActiveDeferreds:ce,_internalSetRoutes:dw},R}function vE(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function bd(e,t,n,r,o,i,a,s){let u,l;if(a){u=[];for(let f of t)if(u.push(f),f.route.id===a){l=f;break}}else u=t,l=t[t.length-1];let d=_y(o||".",Ny(u,i),fs(e.pathname,n)||e.pathname,s==="path");return o==null&&(d.search=e.search,d.hash=e.hash),(o==null||o===""||o===".")&&l&&l.route.index&&!rp(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(d.pathname=d.pathname==="/"?n:Dr([n,d.pathname])),ds(d)}function Lh(e,t,n,r){if(!r||!vE(r))return{path:n};if(r.formMethod&&!SE(r.formMethod))return{path:n,error:qt(405,{method:r.formMethod})};let o=()=>({path:n,error:qt(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=Ay(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!pn(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((m,w)=>{let[g,b]=w;return""+m+g+"="+b+` +`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!pn(a))return o();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return o()}}}fe(typeof FormData=="function","FormData is not available in this environment");let u,l;if(r.formData)u=Ed(r.formData),l=r.formData;else if(r.body instanceof FormData)u=Ed(r.body),l=r.body;else if(r.body instanceof URLSearchParams)u=r.body,l=Bh(u);else if(r.body==null)u=new URLSearchParams,l=new FormData;else try{u=new URLSearchParams(r.body),l=Bh(u)}catch{return o()}let d={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(pn(d.formMethod))return{path:n,submission:d};let f=Jn(n);return t&&f.search&&rp(f.search)&&u.append("index",""),f.search="?"+u,{path:ds(f),submission:d}}function gE(e,t){let n=e;if(t){let r=e.findIndex(o=>o.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function Fh(e,t,n,r,o,i,a,s,u,l,d,f,p,m,w,g){let b=g?Object.values(g)[0]:w?Object.values(w)[0]:void 0,h=e.createURL(t.location),v=e.createURL(o),y=g?Object.keys(g)[0]:void 0,R=gE(n,y).filter((k,$)=>{let{route:N}=k;if(N.lazy)return!0;if(N.loader==null)return!1;if(i)return N.loader.hydrate?!0:t.loaderData[N.id]===void 0&&(!t.errors||t.errors[N.id]===void 0);if(yE(t.loaderData,t.matches[$],k)||s.some(H=>H===k.route.id))return!0;let I=t.matches[$],K=k;return zh(k,Ve({currentUrl:h,currentParams:I.params,nextUrl:v,nextParams:K.params},r,{actionResult:b,defaultShouldRevalidate:a||h.pathname+h.search===v.pathname+v.search||h.search!==v.search||Iy(I,K)}))}),E=[];return d.forEach((k,$)=>{if(i||!n.some(se=>se.route.id===k.routeId)||l.has($))return;let N=Ko(p,k.path,m);if(!N){E.push({key:$,routeId:k.routeId,path:k.path,matches:null,match:null,controller:null});return}let I=t.fetchers.get($),K=Sd(N,k.path),H=!1;f.has($)?H=!1:u.includes($)?H=!0:I&&I.state!=="idle"&&I.data===void 0?H=a:H=zh(K,Ve({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:v,nextParams:n[n.length-1].params},r,{actionResult:b,defaultShouldRevalidate:a})),H&&E.push({key:$,routeId:k.routeId,path:k.path,matches:N,match:K,controller:new AbortController})}),[R,E]}function yE(e,t,n){let r=!t||n.route.id!==t.route.id,o=e[n.route.id]===void 0;return r||o}function Iy(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function zh(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function Uh(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let o=n[e.id];fe(o,"No route found in manifest");let i={};for(let a in r){let u=o[a]!==void 0&&a!=="hasErrorBoundary";Pi(!u,'Route "'+o.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!u&&!Ub.has(a)&&(i[a]=r[a])}Object.assign(o,i),Object.assign(o,Ve({},t(o),{lazy:void 0}))}async function Gi(e,t,n,r,o,i,a,s,u){u===void 0&&(u={});let l,d,f,p=g=>{let b,h=new Promise((v,y)=>b=y);return f=()=>b(),t.signal.addEventListener("abort",f),Promise.race([g({request:t,params:n.params,context:u.requestContext}),h])};try{let g=n.route[e];if(n.route.lazy)if(g){let b,h=await Promise.all([p(g).catch(v=>{b=v}),Uh(n.route,i,o)]);if(b)throw b;d=h[0]}else if(await Uh(n.route,i,o),g=n.route[e],g)d=await p(g);else if(e==="action"){let b=new URL(t.url),h=b.pathname+b.search;throw qt(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:Be.data,data:void 0};else if(g)d=await p(g);else{let b=new URL(t.url),h=b.pathname+b.search;throw qt(404,{pathname:h})}fe(d!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(g){l=Be.error,d=g}finally{f&&t.signal.removeEventListener("abort",f)}if(EE(d)){let g=d.status;if(dE.has(g)){let h=d.headers.get("Location");if(fe(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!My.test(h))h=bd(new URL(t.url),r.slice(0,r.indexOf(n)+1),a,!0,h,s);else if(!u.isStaticRequest){let v=new URL(t.url),y=h.startsWith("//")?new URL(v.protocol+h):new URL(h),S=fs(y.pathname,a)!=null;y.origin===v.origin&&S&&(h=y.pathname+y.search+y.hash)}if(u.isStaticRequest)throw d.headers.set("Location",h),d;return{type:Be.redirect,status:g,location:h,revalidate:d.headers.get("X-Remix-Revalidate")!==null,reloadDocument:d.headers.get("X-Remix-Reload-Document")!==null}}if(u.isRouteRequest)throw{type:l===Be.error?Be.error:Be.data,response:d};let b;try{let h=d.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?d.body==null?b=null:b=await d.json():b=await d.text()}catch(h){return{type:Be.error,error:h}}return l===Be.error?{type:l,error:new np(g,d.statusText,b),headers:d.headers}:{type:Be.data,data:b,statusCode:d.status,headers:d.headers}}if(l===Be.error)return{type:l,error:d};if(bE(d)){var m,w;return{type:Be.deferred,deferredData:d,statusCode:(m=d.init)==null?void 0:m.status,headers:((w=d.init)==null?void 0:w.headers)&&new Headers(d.init.headers)}}return{type:Be.data,data:d}}function Yi(e,t,n,r){let o=e.createURL(Ay(t)).toString(),i={signal:n};if(r&&pn(r.formMethod)){let{formMethod:a,formEncType:s}=r;i.method=a.toUpperCase(),s==="application/json"?(i.headers=new Headers({"Content-Type":s}),i.body=JSON.stringify(r.json)):s==="text/plain"?i.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?i.body=Ed(r.formData):i.body=r.formData}return new Request(o,i)}function Ed(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Bh(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function wE(e,t,n,r,o){let i={},a=null,s,u=!1,l={};return n.forEach((d,f)=>{let p=t[f].route.id;if(fe(!Jr(d),"Cannot handle redirect results in processLoaderData"),Qo(d)){let m=ma(e,p),w=d.error;r&&(w=Object.values(r)[0],r=void 0),a=a||{},a[m.route.id]==null&&(a[m.route.id]=w),i[p]=void 0,u||(u=!0,s=Dy(d.error)?d.error.status:500),d.headers&&(l[p]=d.headers)}else Xr(d)?(o.set(p,d.deferredData),i[p]=d.deferredData.data):i[p]=d.data,d.statusCode!=null&&d.statusCode!==200&&!u&&(s=d.statusCode),d.headers&&(l[p]=d.headers)}),r&&(a=r,i[Object.keys(r)[0]]=void 0),{loaderData:i,errors:a,statusCode:s||200,loaderHeaders:l}}function Wh(e,t,n,r,o,i,a,s){let{loaderData:u,errors:l}=wE(t,n,r,o,s);for(let d=0;dr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function Hh(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function qt(e,t){let{pathname:n,routeId:r,method:o,type:i}=t===void 0?{}:t,a="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(a="Bad Request",o&&n&&r?s="You made a "+o+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?s="defer() is not supported in actions":i==="invalid-body"&&(s="Unable to encode submission body")):e===403?(a="Forbidden",s='Route "'+r+'" does not match URL "'+n+'"'):e===404?(a="Not Found",s='No route matches URL "'+n+'"'):e===405&&(a="Method Not Allowed",o&&n&&r?s="You made a "+o.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":o&&(s='Invalid request method "'+o.toUpperCase()+'"')),new np(e||500,a,new Error(s),!0)}function Kh(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Jr(n))return{result:n,idx:t}}}function Ay(e){let t=typeof e=="string"?Jn(e):e;return ds(Ve({},t,{hash:""}))}function xE(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Xr(e){return e.type===Be.deferred}function Qo(e){return e.type===Be.error}function Jr(e){return(e&&e.type)===Be.redirect}function bE(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function EE(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function SE(e){return cE.has(e.toLowerCase())}function pn(e){return lE.has(e.toLowerCase())}async function Qh(e,t,n,r,o,i){for(let a=0;af.route.id===u.route.id),d=l!=null&&!Iy(l,u)&&(i&&i[u.route.id])!==void 0;if(Xr(s)&&(o||d)){let f=r[a];fe(f,"Expected an AbortSignal for revalidating fetcher deferred result"),await Ly(s,f,o).then(p=>{p&&(n[a]=p||n[a])})}}}async function Ly(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Be.data,data:e.deferredData.unwrappedData}}catch(o){return{type:Be.error,error:o}}return{type:Be.data,data:e.deferredData.data}}}function rp(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Sd(e,t){let n=typeof t=="string"?Jn(t).search:t.search;if(e[e.length-1].route.index&&rp(n||""))return e[e.length-1];let r=Ty(e);return r[r.length-1]}function Gh(e){let{formMethod:t,formAction:n,formEncType:r,text:o,formData:i,json:a}=e;if(!(!t||!n||!r)){if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:o};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function uc(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function CE(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function qi(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function RE(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function ar(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function kE(e,t){try{let n=e.sessionStorage.getItem(jy);if(n){let r=JSON.parse(n);for(let[o,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(o,new Set(i||[]))}}catch{}}function PE(e,t){if(t.size>0){let n={};for(let[r,o]of t)n[r]=[...o];try{e.sessionStorage.setItem(jy,JSON.stringify(n))}catch(r){Pi(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** + * React Router v6.22.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function za(){return za=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),c.useCallback(function(l,d){if(d===void 0&&(d={}),!s.current)return;if(typeof l=="number"){r.go(l);return}let f=_y(l,JSON.parse(a),i,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:Dr([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,a,i,e])}function TE(e,t,n,r){Eu()||fe(!1);let{navigator:o}=c.useContext(xu),{matches:i}=c.useContext(Mi),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let u=a?a.pathnameBase:"/";a&&a.route;let l=Uy(),d;if(t){var f;let b=typeof t=="string"?Jn(t):t;u==="/"||(f=b.pathname)!=null&&f.startsWith(u)||fe(!1),d=b}else d=l;let p=d.pathname||"/",m=p;if(u!=="/"){let b=u.replace(/^\//,"").split("/");m="/"+p.replace(/^\//,"").split("/").slice(b.length).join("/")}let w=Ko(e,{pathname:m}),g=ME(w&&w.map(b=>Object.assign({},b,{params:Object.assign({},s,b.params),pathname:Dr([u,o.encodeLocation?o.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?u:Dr([u,o.encodeLocation?o.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),i,n,r);return t&&g?c.createElement(bu.Provider,{value:{location:za({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Qe.Pop}},g):g}function NE(){let e=LE(),t=Dy(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),n?c.createElement("pre",{style:o},n):null,null)}const _E=c.createElement(NE,null);class DE extends c.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?c.createElement(Mi.Provider,{value:this.props.routeContext},c.createElement(zy.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function OE(e){let{routeContext:t,match:n,children:r}=e,o=c.useContext(wu);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),c.createElement(Mi.Provider,{value:t},r)}function ME(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let d=a.findIndex(f=>f.route.id&&(s==null?void 0:s[f.route.id]));d>=0||fe(!1),a=a.slice(0,Math.min(a.length,d+1))}let u=!1,l=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d=0?a=a.slice(0,l+1):a=[a[0]];break}}}return a.reduceRight((d,f,p)=>{let m,w=!1,g=null,b=null;n&&(m=s&&f.route.id?s[f.route.id]:void 0,g=f.route.errorElement||_E,u&&(l<0&&p===0?(zE("route-fallback",!1),w=!0,b=null):l===p&&(w=!0,b=f.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,p+1)),v=()=>{let y;return m?y=g:w?y=b:f.route.Component?y=c.createElement(f.route.Component,null):f.route.element?y=f.route.element:y=d,c.createElement(OE,{match:f,routeContext:{outlet:d,matches:h,isDataRoute:n!=null},children:y})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?c.createElement(DE,{location:n.location,revalidation:n.revalidation,component:g,error:m,children:v(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):v()},null)}var Vy=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Vy||{}),Wl=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Wl||{});function jE(e){let t=c.useContext(wu);return t||fe(!1),t}function IE(e){let t=c.useContext(Fy);return t||fe(!1),t}function AE(e){let t=c.useContext(Mi);return t||fe(!1),t}function Hy(e){let t=AE(),n=t.matches[t.matches.length-1];return n.route.id||fe(!1),n.route.id}function LE(){var e;let t=c.useContext(zy),n=IE(Wl.UseRouteError),r=Hy(Wl.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function FE(){let{router:e}=jE(Vy.UseNavigateStable),t=Hy(Wl.UseNavigateStable),n=c.useRef(!1);return By(()=>{n.current=!0}),c.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,za({fromRouteId:t},i)))},[e,t])}const Yh={};function zE(e,t,n){!t&&!Yh[e]&&(Yh[e]=!0)}function UE(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Qe.Pop,navigator:i,static:a=!1,future:s}=e;Eu()&&fe(!1);let u=t.replace(/^\/*/,"/"),l=c.useMemo(()=>({basename:u,navigator:i,static:a,future:za({v7_relativeSplatPath:!1},s)}),[u,s,i,a]);typeof r=="string"&&(r=Jn(r));let{pathname:d="/",search:f="",hash:p="",state:m=null,key:w="default"}=r,g=c.useMemo(()=>{let b=fs(d,u);return b==null?null:{location:{pathname:b,search:f,hash:p,state:m,key:w},navigationType:o}},[u,d,f,p,m,w,o]);return g==null?null:c.createElement(xu.Provider,{value:l},c.createElement(bu.Provider,{children:n,value:g}))}new Promise(()=>{});function BE(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:c.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:c.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:c.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** + * React Router DOM v6.22.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Vl(){return Vl=Object.assign?Object.assign.bind():function(e){for(var t=1;t{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}}function ZE(e){let{fallbackElement:t,router:n,future:r}=e,[o,i]=c.useState(n.state),[a,s]=c.useState(),[u,l]=c.useState({isTransitioning:!1}),[d,f]=c.useState(),[p,m]=c.useState(),[w,g]=c.useState(),b=c.useRef(new Map),{v7_startTransition:h}=r||{},v=c.useCallback(k=>{h?XE(k):k()},[h]),y=c.useCallback((k,$)=>{let{deletedFetchers:N,unstable_flushSync:I,unstable_viewTransitionOpts:K}=$;N.forEach(se=>b.current.delete(se)),k.fetchers.forEach((se,Y)=>{se.data!==void 0&&b.current.set(Y,se.data)});let H=n.window==null||typeof n.window.document.startViewTransition!="function";if(!K||H){I?Xi(()=>i(k)):v(()=>i(k));return}if(I){Xi(()=>{p&&(d&&d.resolve(),p.skipTransition()),l({isTransitioning:!0,flushSync:!0,currentLocation:K.currentLocation,nextLocation:K.nextLocation})});let se=n.window.document.startViewTransition(()=>{Xi(()=>i(k))});se.finished.finally(()=>{Xi(()=>{f(void 0),m(void 0),s(void 0),l({isTransitioning:!1})})}),Xi(()=>m(se));return}p?(d&&d.resolve(),p.skipTransition(),g({state:k,currentLocation:K.currentLocation,nextLocation:K.nextLocation})):(s(k),l({isTransitioning:!0,flushSync:!1,currentLocation:K.currentLocation,nextLocation:K.nextLocation}))},[n.window,p,d,b,v]);c.useLayoutEffect(()=>n.subscribe(y),[n,y]),c.useEffect(()=>{u.isTransitioning&&!u.flushSync&&f(new JE)},[u]),c.useEffect(()=>{if(d&&a&&n.window){let k=a,$=d.promise,N=n.window.document.startViewTransition(async()=>{v(()=>i(k)),await $});N.finished.finally(()=>{f(void 0),m(void 0),s(void 0),l({isTransitioning:!1})}),m(N)}},[v,a,d,n.window]),c.useEffect(()=>{d&&a&&o.location.key===a.location.key&&d.resolve()},[d,p,o.location,a]),c.useEffect(()=>{!u.isTransitioning&&w&&(s(w.state),l({isTransitioning:!0,flushSync:!1,currentLocation:w.currentLocation,nextLocation:w.nextLocation}),g(void 0))},[u.isTransitioning,w]),c.useEffect(()=>{},[]);let S=c.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:k=>n.navigate(k),push:(k,$,N)=>n.navigate(k,{state:$,preventScrollReset:N==null?void 0:N.preventScrollReset}),replace:(k,$,N)=>n.navigate(k,{replace:!0,state:$,preventScrollReset:N==null?void 0:N.preventScrollReset})}),[n]),R=n.basename||"/",E=c.useMemo(()=>({router:n,navigator:S,static:!1,basename:R}),[n,S,R]);return c.createElement(c.Fragment,null,c.createElement(wu.Provider,{value:E},c.createElement(Fy.Provider,{value:o},c.createElement(GE.Provider,{value:b.current},c.createElement(QE.Provider,{value:u},c.createElement(UE,{basename:R,location:o.location,navigationType:o.historyAction,navigator:S,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},o.initialized||n.future.v7_partialHydration?c.createElement(eS,{routes:n.routes,future:n.future,state:o}):t))))),null)}function eS(e){let{routes:t,future:n,state:r}=e;return TE(t,void 0,r,n)}var Jh;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Jh||(Jh={}));var Zh;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Zh||(Zh={}));function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;ts,Object.values(s));return c.createElement(n.Provider,{value:u},a)}function o(i){const a=c.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",[r,o]}function Ro(e,t=[]){let n=[];function r(i,a){const s=c.createContext(a),u=n.length;n=[...n,a];function l(f){const{scope:p,children:m,...w}=f,g=(p==null?void 0:p[e][u])||s,b=c.useMemo(()=>w,Object.values(w));return c.createElement(g.Provider,{value:b},m)}function d(f,p){const m=(p==null?void 0:p[e][u])||s,w=c.useContext(m);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${i}\``)}return l.displayName=i+"Provider",[l,d]}const o=()=>{const i=n.map(a=>c.createContext(a));return function(s){const u=(s==null?void 0:s[e])||i;return c.useMemo(()=>({[`__scope${e}`]:{...s,[e]:u}}),[s,u])}};return o.scopeName=e,[r,nS(o,...t)]}function nS(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=r.reduce((s,{useScope:u,scopeName:l})=>{const f=u(i)[`__scope${l}`];return{...s,...f}},{});return c.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function we(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function rS(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function op(...e){return t=>e.forEach(n=>rS(n,t))}function ht(...e){return c.useCallback(op(...e),e)}const $i=c.forwardRef((e,t)=>{const{children:n,...r}=e,o=c.Children.toArray(n),i=o.find(oS);if(i){const a=i.props.children,s=o.map(u=>u===i?c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null:u);return c.createElement(Cd,X({},r,{ref:t}),c.isValidElement(a)?c.cloneElement(a,void 0,s):null)}return c.createElement(Cd,X({},r,{ref:t}),n)});$i.displayName="Slot";const Cd=c.forwardRef((e,t)=>{const{children:n,...r}=e;return c.isValidElement(n)?c.cloneElement(n,{...iS(r,n.props),ref:t?op(t,n.ref):n.ref}):c.Children.count(n)>1?c.Children.only(null):null});Cd.displayName="SlotClone";const Ky=({children:e})=>c.createElement(c.Fragment,null,e);function oS(e){return c.isValidElement(e)&&e.type===Ky}function iS(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{i(...s),o(...s)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}const aS=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],De=aS.reduce((e,t)=>{const n=c.forwardRef((r,o)=>{const{asChild:i,...a}=r,s=i?$i:t;return c.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),c.createElement(s,X({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Rd(e,t){e&&cs.flushSync(()=>e.dispatchEvent(t))}function Rt(e){const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function Su({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=sS({defaultProp:t,onChange:n}),i=e!==void 0,a=i?e:r,s=Rt(n),u=c.useCallback(l=>{if(i){const f=typeof l=="function"?l(e):l;f!==e&&s(f)}else o(l)},[i,e,o,s]);return[a,u]}function sS({defaultProp:e,onChange:t}){const n=c.useState(e),[r]=n,o=c.useRef(r),i=Rt(t);return c.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),n}const lS=c.createContext(void 0);function ip(e){const t=c.useContext(lS);return e||t||"ltr"}const bo=globalThis!=null&&globalThis.document?c.useLayoutEffect:()=>{};function uS(e,t){return c.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Zn=e=>{const{present:t,children:n}=e,r=cS(t),o=typeof n=="function"?n({present:r.isPresent}):c.Children.only(n),i=ht(r.ref,o.ref);return typeof n=="function"||r.isPresent?c.cloneElement(o,{ref:i}):null};Zn.displayName="Presence";function cS(e){const[t,n]=c.useState(),r=c.useRef({}),o=c.useRef(e),i=c.useRef("none"),a=e?"mounted":"unmounted",[s,u]=uS(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return c.useEffect(()=>{const l=As(r.current);i.current=s==="mounted"?l:"none"},[s]),bo(()=>{const l=r.current,d=o.current;if(d!==e){const p=i.current,m=As(l);e?u("MOUNT"):m==="none"||(l==null?void 0:l.display)==="none"?u("UNMOUNT"):u(d&&p!==m?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,u]),bo(()=>{if(t){const l=f=>{const m=As(r.current).includes(f.animationName);f.target===t&&m&&cs.flushSync(()=>u("ANIMATION_END"))},d=f=>{f.target===t&&(i.current=As(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",l),t.addEventListener("animationend",l),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",l),t.removeEventListener("animationend",l)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:c.useCallback(l=>{l&&(r.current=getComputedStyle(l)),n(l)},[])}}function As(e){return(e==null?void 0:e.animationName)||"none"}const dS=Ev.useId||(()=>{});let fS=0;function ei(e){const[t,n]=c.useState(dS());return bo(()=>{e||n(r=>r??String(fS++))},[e]),e||(t?`radix-${t}`:"")}function ap(e){const t=e+"CollectionProvider",[n,r]=Ro(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:w,children:g}=m,b=M.useRef(null),h=M.useRef(new Map).current;return M.createElement(o,{scope:w,itemMap:h,collectionRef:b},g)},s=e+"CollectionSlot",u=M.forwardRef((m,w)=>{const{scope:g,children:b}=m,h=i(s,g),v=ht(w,h.collectionRef);return M.createElement($i,{ref:v},b)}),l=e+"CollectionItemSlot",d="data-radix-collection-item",f=M.forwardRef((m,w)=>{const{scope:g,children:b,...h}=m,v=M.useRef(null),y=ht(w,v),S=i(l,g);return M.useEffect(()=>(S.itemMap.set(v,{ref:v,...h}),()=>void S.itemMap.delete(v))),M.createElement($i,{[d]:"",ref:y},b)});function p(m){const w=i(e+"CollectionConsumer",m);return M.useCallback(()=>{const b=w.collectionRef.current;if(!b)return[];const h=Array.from(b.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((S,R)=>h.indexOf(S.ref.current)-h.indexOf(R.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:u,ItemSlot:f},p,r]}function pS(e,t=globalThis==null?void 0:globalThis.document){const n=Rt(e);c.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const kd="dismissableLayer.update",hS="dismissableLayer.pointerDownOutside",mS="dismissableLayer.focusOutside";let em;const vS=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Qy=c.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:s,onDismiss:u,...l}=e,d=c.useContext(vS),[f,p]=c.useState(null),m=(n=f==null?void 0:f.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,w]=c.useState({}),g=ht(t,$=>p($)),b=Array.from(d.layers),[h]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),v=b.indexOf(h),y=f?b.indexOf(f):-1,S=d.layersWithOutsidePointerEventsDisabled.size>0,R=y>=v,E=gS($=>{const N=$.target,I=[...d.branches].some(K=>K.contains(N));!R||I||(i==null||i($),s==null||s($),$.defaultPrevented||u==null||u())},m),k=yS($=>{const N=$.target;[...d.branches].some(K=>K.contains(N))||(a==null||a($),s==null||s($),$.defaultPrevented||u==null||u())},m);return pS($=>{y===d.layers.size-1&&(o==null||o($),!$.defaultPrevented&&u&&($.preventDefault(),u()))},m),c.useEffect(()=>{if(f)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(em=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),tm(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=em)}},[f,m,r,d]),c.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),tm())},[f,d]),c.useEffect(()=>{const $=()=>w({});return document.addEventListener(kd,$),()=>document.removeEventListener(kd,$)},[]),c.createElement(De.div,X({},l,{ref:g,style:{pointerEvents:S?R?"auto":"none":void 0,...e.style},onFocusCapture:we(e.onFocusCapture,k.onFocusCapture),onBlurCapture:we(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:we(e.onPointerDownCapture,E.onPointerDownCapture)}))});function gS(e,t=globalThis==null?void 0:globalThis.document){const n=Rt(e),r=c.useRef(!1),o=c.useRef(()=>{});return c.useEffect(()=>{const i=s=>{if(s.target&&!r.current){let d=function(){Gy(hS,n,l,{discrete:!0})};var u=d;const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function yS(e,t=globalThis==null?void 0:globalThis.document){const n=Rt(e),r=c.useRef(!1);return c.useEffect(()=>{const o=i=>{i.target&&!r.current&&Gy(mS,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function tm(){const e=new CustomEvent(kd);document.dispatchEvent(e)}function Gy(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Rd(o,i):o.dispatchEvent(i)}function Yy(e){const t=c.useRef({value:e,previous:e});return c.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const wS=c.forwardRef((e,t)=>c.createElement(De.span,X({},e,{ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}))),xS=wS,ps="NavigationMenu",[sp,qy,bS]=ap(ps),[Pd,ES,SS]=ap(ps),[lp,BT]=Ro(ps,[bS,SS]),[CS,yn]=lp(ps),[RS,kS]=lp(ps),PS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,onValueChange:o,defaultValue:i,delayDuration:a=200,skipDelayDuration:s=300,orientation:u="horizontal",dir:l,...d}=e,[f,p]=c.useState(null),m=ht(t,N=>p(N)),w=ip(l),g=c.useRef(0),b=c.useRef(0),h=c.useRef(0),[v,y]=c.useState(!0),[S="",R]=Su({prop:r,onChange:N=>{const I=N!=="",K=s>0;I?(window.clearTimeout(h.current),K&&y(!1)):(window.clearTimeout(h.current),h.current=window.setTimeout(()=>y(!0),s)),o==null||o(N)},defaultProp:i}),E=c.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>R(""),150)},[R]),k=c.useCallback(N=>{window.clearTimeout(b.current),R(N)},[R]),$=c.useCallback(N=>{S===N?window.clearTimeout(b.current):g.current=window.setTimeout(()=>{window.clearTimeout(b.current),R(N)},a)},[S,R,a]);return c.useEffect(()=>()=>{window.clearTimeout(g.current),window.clearTimeout(b.current),window.clearTimeout(h.current)},[]),c.createElement($S,{scope:n,isRootMenu:!0,value:S,dir:w,orientation:u,rootNavigationMenu:f,onTriggerEnter:N=>{window.clearTimeout(g.current),v?$(N):k(N)},onTriggerLeave:()=>{window.clearTimeout(g.current),E()},onContentEnter:()=>window.clearTimeout(b.current),onContentLeave:E,onItemSelect:N=>{R(I=>I===N?"":N)},onItemDismiss:()=>R("")},c.createElement(De.nav,X({"aria-label":"Main","data-orientation":u,dir:w},d,{ref:m})))}),$S=e=>{const{scope:t,isRootMenu:n,rootNavigationMenu:r,dir:o,orientation:i,children:a,value:s,onItemSelect:u,onItemDismiss:l,onTriggerEnter:d,onTriggerLeave:f,onContentEnter:p,onContentLeave:m}=e,[w,g]=c.useState(null),[b,h]=c.useState(new Map),[v,y]=c.useState(null);return c.createElement(CS,{scope:t,isRootMenu:n,rootNavigationMenu:r,value:s,previousValue:Yy(s),baseId:ei(),dir:o,orientation:i,viewport:w,onViewportChange:g,indicatorTrack:v,onIndicatorTrackChange:y,onTriggerEnter:Rt(d),onTriggerLeave:Rt(f),onContentEnter:Rt(p),onContentLeave:Rt(m),onItemSelect:Rt(u),onItemDismiss:Rt(l),onViewportContentChange:c.useCallback((S,R)=>{h(E=>(E.set(S,R),new Map(E)))},[]),onViewportContentRemove:c.useCallback(S=>{h(R=>R.has(S)?(R.delete(S),new Map(R)):R)},[])},c.createElement(sp.Provider,{scope:t},c.createElement(RS,{scope:t,items:b},a)))},TS="NavigationMenuList",NS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(TS,n),i=c.createElement(De.ul,X({"data-orientation":o.orientation},r,{ref:t}));return c.createElement(De.div,{style:{position:"relative"},ref:o.onIndicatorTrackChange},c.createElement(sp.Slot,{scope:n},o.isRootMenu?c.createElement(t0,{asChild:!0},i):i))}),_S="NavigationMenuItem",[DS,Xy]=lp(_S),OS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,...o}=e,i=ei(),a=r||i||"LEGACY_REACT_AUTO_VALUE",s=c.useRef(null),u=c.useRef(null),l=c.useRef(null),d=c.useRef(()=>{}),f=c.useRef(!1),p=c.useCallback((w="start")=>{if(s.current){d.current();const g=$d(s.current);g.length&&up(w==="start"?g:g.reverse())}},[]),m=c.useCallback(()=>{if(s.current){const w=$d(s.current);w.length&&(d.current=VS(w))}},[]);return c.createElement(DS,{scope:n,value:a,triggerRef:u,contentRef:s,focusProxyRef:l,wasEscapeCloseRef:f,onEntryKeyDown:p,onFocusProxyEnter:p,onRootContentClose:m,onContentFocusOutside:m},c.createElement(De.li,X({},o,{ref:t})))}),nm="NavigationMenuTrigger",MS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,disabled:r,...o}=e,i=yn(nm,e.__scopeNavigationMenu),a=Xy(nm,e.__scopeNavigationMenu),s=c.useRef(null),u=ht(s,a.triggerRef,t),l=r0(i.baseId,a.value),d=o0(i.baseId,a.value),f=c.useRef(!1),p=c.useRef(!1),m=a.value===i.value;return c.createElement(c.Fragment,null,c.createElement(sp.ItemSlot,{scope:n,value:a.value},c.createElement(n0,{asChild:!0},c.createElement(De.button,X({id:l,disabled:r,"data-disabled":r?"":void 0,"data-state":cp(m),"aria-expanded":m,"aria-controls":d},o,{ref:u,onPointerEnter:we(e.onPointerEnter,()=>{p.current=!1,a.wasEscapeCloseRef.current=!1}),onPointerMove:we(e.onPointerMove,Hl(()=>{r||p.current||a.wasEscapeCloseRef.current||f.current||(i.onTriggerEnter(a.value),f.current=!0)})),onPointerLeave:we(e.onPointerLeave,Hl(()=>{r||(i.onTriggerLeave(),f.current=!1)})),onClick:we(e.onClick,()=>{i.onItemSelect(a.value),p.current=m}),onKeyDown:we(e.onKeyDown,w=>{const b={horizontal:"ArrowDown",vertical:i.dir==="rtl"?"ArrowLeft":"ArrowRight"}[i.orientation];m&&w.key===b&&(a.onEntryKeyDown(),w.preventDefault())})})))),m&&c.createElement(c.Fragment,null,c.createElement(xS,{"aria-hidden":!0,tabIndex:0,ref:a.focusProxyRef,onFocus:w=>{const g=a.contentRef.current,b=w.relatedTarget,h=b===s.current,v=g==null?void 0:g.contains(b);(h||!v)&&a.onFocusProxyEnter(h?"start":"end")}}),i.viewport&&c.createElement("span",{"aria-owns":d})))}),rm="navigationMenu.linkSelect",jS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,active:r,onSelect:o,...i}=e;return c.createElement(n0,{asChild:!0},c.createElement(De.a,X({"data-active":r?"":void 0,"aria-current":r?"page":void 0},i,{ref:t,onClick:we(e.onClick,a=>{const s=a.target,u=new CustomEvent(rm,{bubbles:!0,cancelable:!0});if(s.addEventListener(rm,l=>o==null?void 0:o(l),{once:!0}),Rd(s,u),!u.defaultPrevented&&!a.metaKey){const l=new CustomEvent(ll,{bubbles:!0,cancelable:!0});Rd(s,l)}},{checkForDefaultPrevented:!1})})))}),Jy="NavigationMenuIndicator",IS=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yn(Jy,e.__scopeNavigationMenu),i=!!o.value;return o.indicatorTrack?yu.createPortal(c.createElement(Zn,{present:n||i},c.createElement(AS,X({},r,{ref:t}))),o.indicatorTrack):null}),AS=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(Jy,n),i=qy(n),[a,s]=c.useState(null),[u,l]=c.useState(null),d=o.orientation==="horizontal",f=!!o.value;c.useEffect(()=>{var m;const g=(m=i().find(b=>b.value===o.value))===null||m===void 0?void 0:m.ref.current;g&&s(g)},[i,o.value]);const p=()=>{a&&l({size:d?a.offsetWidth:a.offsetHeight,offset:d?a.offsetLeft:a.offsetTop})};return Td(a,p),Td(o.indicatorTrack,p),u?c.createElement(De.div,X({"aria-hidden":!0,"data-state":f?"visible":"hidden","data-orientation":o.orientation},r,{ref:t,style:{position:"absolute",...d?{left:0,width:u.size+"px",transform:`translateX(${u.offset}px)`}:{top:0,height:u.size+"px",transform:`translateY(${u.offset}px)`},...r.style}})):null}),Ua="NavigationMenuContent",LS=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yn(Ua,e.__scopeNavigationMenu),i=Xy(Ua,e.__scopeNavigationMenu),a=ht(i.contentRef,t),s=i.value===o.value,u={value:i.value,triggerRef:i.triggerRef,focusProxyRef:i.focusProxyRef,wasEscapeCloseRef:i.wasEscapeCloseRef,onContentFocusOutside:i.onContentFocusOutside,onRootContentClose:i.onRootContentClose,...r};return o.viewport?c.createElement(FS,X({forceMount:n},u,{ref:a})):c.createElement(Zn,{present:n||s},c.createElement(Zy,X({"data-state":cp(s)},u,{ref:a,onPointerEnter:we(e.onPointerEnter,o.onContentEnter),onPointerLeave:we(e.onPointerLeave,Hl(o.onContentLeave)),style:{pointerEvents:!s&&o.isRootMenu?"none":void 0,...u.style}})))}),FS=c.forwardRef((e,t)=>{const n=yn(Ua,e.__scopeNavigationMenu),{onViewportContentChange:r,onViewportContentRemove:o}=n;return bo(()=>{r(e.value,{ref:t,...e})},[e,t,r]),bo(()=>()=>o(e.value),[e.value,o]),null}),ll="navigationMenu.rootContentDismiss",Zy=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,value:r,triggerRef:o,focusProxyRef:i,wasEscapeCloseRef:a,onRootContentClose:s,onContentFocusOutside:u,...l}=e,d=yn(Ua,n),f=c.useRef(null),p=ht(f,t),m=r0(d.baseId,r),w=o0(d.baseId,r),g=qy(n),b=c.useRef(null),{onItemDismiss:h}=d;c.useEffect(()=>{const y=f.current;if(d.isRootMenu&&y){const S=()=>{var R;h(),s(),y.contains(document.activeElement)&&((R=o.current)===null||R===void 0||R.focus())};return y.addEventListener(ll,S),()=>y.removeEventListener(ll,S)}},[d.isRootMenu,e.value,o,h,s]);const v=c.useMemo(()=>{const S=g().map(I=>I.value);d.dir==="rtl"&&S.reverse();const R=S.indexOf(d.value),E=S.indexOf(d.previousValue),k=r===d.value,$=E===S.indexOf(r);if(!k&&!$)return b.current;const N=(()=>{if(R!==E){if(k&&E!==-1)return R>E?"from-end":"from-start";if($&&R!==-1)return R>E?"to-start":"to-end"}return null})();return b.current=N,N},[d.previousValue,d.value,d.dir,g,r]);return c.createElement(t0,{asChild:!0},c.createElement(Qy,X({id:w,"aria-labelledby":m,"data-motion":v,"data-orientation":d.orientation},l,{ref:p,onDismiss:()=>{var y;const S=new Event(ll,{bubbles:!0,cancelable:!0});(y=f.current)===null||y===void 0||y.dispatchEvent(S)},onFocusOutside:we(e.onFocusOutside,y=>{var S;u();const R=y.target;(S=d.rootNavigationMenu)!==null&&S!==void 0&&S.contains(R)&&y.preventDefault()}),onPointerDownOutside:we(e.onPointerDownOutside,y=>{var S;const R=y.target,E=g().some($=>{var N;return(N=$.ref.current)===null||N===void 0?void 0:N.contains(R)}),k=d.isRootMenu&&((S=d.viewport)===null||S===void 0?void 0:S.contains(R));(E||k||!d.isRootMenu)&&y.preventDefault()}),onKeyDown:we(e.onKeyDown,y=>{const S=y.altKey||y.ctrlKey||y.metaKey;if(y.key==="Tab"&&!S){const k=$d(y.currentTarget),$=document.activeElement,N=k.findIndex(H=>H===$),K=y.shiftKey?k.slice(0,N).reverse():k.slice(N+1,k.length);if(up(K))y.preventDefault();else{var E;(E=i.current)===null||E===void 0||E.focus()}}}),onEscapeKeyDown:we(e.onEscapeKeyDown,y=>{a.current=!0})})))}),e0="NavigationMenuViewport",zS=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=!!yn(e0,e.__scopeNavigationMenu).value;return c.createElement(Zn,{present:n||i},c.createElement(US,X({},r,{ref:t})))}),US=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,children:r,...o}=e,i=yn(e0,n),a=ht(t,i.onViewportChange),s=kS(Ua,e.__scopeNavigationMenu),[u,l]=c.useState(null),[d,f]=c.useState(null),p=u?(u==null?void 0:u.width)+"px":void 0,m=u?(u==null?void 0:u.height)+"px":void 0,w=!!i.value,g=w?i.value:i.previousValue;return Td(d,()=>{d&&l({width:d.offsetWidth,height:d.offsetHeight})}),c.createElement(De.div,X({"data-state":cp(w),"data-orientation":i.orientation},o,{ref:a,style:{pointerEvents:!w&&i.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":p,"--radix-navigation-menu-viewport-height":m,...o.style},onPointerEnter:we(e.onPointerEnter,i.onContentEnter),onPointerLeave:we(e.onPointerLeave,Hl(i.onContentLeave))}),Array.from(s.items).map(([h,{ref:v,forceMount:y,...S}])=>{const R=g===h;return c.createElement(Zn,{key:h,present:y||R},c.createElement(Zy,X({},S,{ref:op(v,E=>{R&&E&&f(E)})})))}))}),BS="FocusGroup",t0=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=yn(BS,n);return c.createElement(Pd.Provider,{scope:n},c.createElement(Pd.Slot,{scope:n},c.createElement(De.div,X({dir:o.dir},r,{ref:t}))))}),om=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],WS="FocusGroupItem",n0=c.forwardRef((e,t)=>{const{__scopeNavigationMenu:n,...r}=e,o=ES(n),i=yn(WS,n);return c.createElement(Pd.ItemSlot,{scope:n},c.createElement(De.button,X({},r,{ref:t,onKeyDown:we(e.onKeyDown,a=>{if(["Home","End",...om].includes(a.key)){let u=o().map(f=>f.ref.current);if([i.dir==="rtl"?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(a.key)&&u.reverse(),om.includes(a.key)){const f=u.indexOf(a.currentTarget);u=u.slice(f+1)}setTimeout(()=>up(u)),a.preventDefault()}})})))});function $d(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function up(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}function VS(e){return e.forEach(t=>{t.dataset.tabindex=t.getAttribute("tabindex")||"",t.setAttribute("tabindex","-1")}),()=>{e.forEach(t=>{const n=t.dataset.tabindex;t.setAttribute("tabindex",n)})}}function Td(e,t){const n=Rt(t);bo(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}function cp(e){return e?"open":"closed"}function r0(e,t){return`${e}-trigger-${t}`}function o0(e,t){return`${e}-content-${t}`}function Hl(e){return t=>t.pointerType==="mouse"?e(t):void 0}const i0=PS,a0=NS,HS=OS,s0=MS,KS=jS,l0=IS,u0=LS,c0=zS;function d0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;ttypeof e=="boolean"?"".concat(e):e===0?"0":e,am=QS,dp=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return am(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(l=>{const d=n==null?void 0:n[l],f=i==null?void 0:i[l];if(d===null)return null;const p=im(d)||im(f);return o[l][p]}),s=n&&Object.entries(n).reduce((l,d)=>{let[f,p]=d;return p===void 0||(l[f]=p),l},{}),u=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((l,d)=>{let{class:f,className:p,...m}=d;return Object.entries(m).every(w=>{let[g,b]=w;return Array.isArray(b)?b.includes({...i,...s}[g]):{...i,...s}[g]===b})?[...l,f,p]:l},[]);return am(e,a,u,n==null?void 0:n.class,n==null?void 0:n.className)};/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var GS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const YS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),jn=(e,t)=>{const n=c.forwardRef(({color:r="currentColor",size:o=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:s="",children:u,...l},d)=>c.createElement("svg",{ref:d,...GS,width:o,height:o,stroke:r,strokeWidth:a?Number(i)*24/Number(o):i,className:["lucide",`lucide-${YS(e)}`,s].join(" "),...l},[...t.map(([f,p])=>c.createElement(f,p)),...Array.isArray(u)?u:[u]]));return n.displayName=`${e}`,n};/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const qS=jn("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const XS=jn("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const JS=jn("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ZS=jn("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eC=jn("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tC=jn("Import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ba=jn("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nC=jn("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rC=jn("Replace",[["path",{d:"M14 4c0-1.1.9-2 2-2",key:"1mvvbw"}],["path",{d:"M20 2c1.1 0 2 .9 2 2",key:"1mj6oe"}],["path",{d:"M22 8c0 1.1-.9 2-2 2",key:"v1wql3"}],["path",{d:"M16 10c-1.1 0-2-.9-2-2",key:"821ux0"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5c0-1.7 1.3-3 3-3h1",key:"13af7h"}],["rect",{width:"8",height:"8",x:"2",y:"14",rx:"2",key:"17ihk4"}]]);/** + * @license lucide-react v0.340.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const oC=jn("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function f0(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts(i)))==null?void 0:a.classGroupId}const sm=/^\[(.+)\]$/;function sC(e){if(sm.test(e)){const t=sm.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}function lC(e){const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return cC(Object.entries(e.classGroups),n).forEach(([i,a])=>{Nd(a,r,i,t)}),r}function Nd(e,t,n,r){e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:lm(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(uC(o)){Nd(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Nd(a,lm(t,i),n,r)})})}function lm(e,t){let n=e;return t.split(fp).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n}function uC(e){return e.isThemeGetter}function cC(e,t){return t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e}function dC(e){if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;function o(i,a){n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)}return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}}const h0="!";function fC(e){const t=e.separator,n=t.length===1,r=t[0],o=t.length;return function(a){const s=[];let u=0,l=0,d;for(let g=0;gl?d-l:void 0;return{modifiers:s,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:w}}}function pC(e){if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t}function hC(e){return{cache:dC(e.cacheSize),splitModifiers:fC(e),...aC(e)}}const mC=/\s+/;function vC(e,t){const{splitModifiers:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=new Set;return e.trim().split(mC).map(a=>{const{modifiers:s,hasImportantModifier:u,baseClassName:l,maybePostfixModifierPosition:d}=n(a);let f=r(d?l.substring(0,d):l),p=!!d;if(!f){if(!d)return{isTailwindClass:!1,originalClassName:a};if(f=r(l),!f)return{isTailwindClass:!1,originalClassName:a};p=!1}const m=pC(s).join(":");return{isTailwindClass:!0,modifierId:u?m+h0:m,classGroupId:f,originalClassName:a,hasPostfixModifier:p}}).reverse().filter(a=>{if(!a.isTailwindClass)return!0;const{modifierId:s,classGroupId:u,hasPostfixModifier:l}=a,d=s+u;return i.has(d)?!1:(i.add(d),o(u,l).forEach(f=>i.add(s+f)),!0)}).reverse().map(a=>a.originalClassName).join(" ")}function gC(){let e=0,t,n,r="";for(;ef(d),e());return n=hC(l),r=n.cache.get,o=n.cache.set,i=s,s(u)}function s(u){const l=r(u);if(l)return l;const d=vC(u,n);return o(u,d),d}return function(){return i(gC.apply(null,arguments))}}function $e(e){const t=n=>n[e]||[];return t.isThemeGetter=!0,t}const v0=/^\[(?:([a-z-]+):)?(.+)\]$/i,wC=/^\d+\/\d+$/,xC=new Set(["px","full","screen"]),bC=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,EC=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,SC=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,CC=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,RC=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;function Ln(e){return Zr(e)||xC.has(e)||wC.test(e)}function or(e){return ji(e,"length",OC)}function Zr(e){return!!e&&!Number.isNaN(Number(e))}function Ls(e){return ji(e,"number",Zr)}function Ji(e){return!!e&&Number.isInteger(Number(e))}function kC(e){return e.endsWith("%")&&Zr(e.slice(0,-1))}function le(e){return v0.test(e)}function ir(e){return bC.test(e)}const PC=new Set(["length","size","percentage"]);function $C(e){return ji(e,PC,g0)}function TC(e){return ji(e,"position",g0)}const NC=new Set(["image","url"]);function _C(e){return ji(e,NC,jC)}function DC(e){return ji(e,"",MC)}function Zi(){return!0}function ji(e,t,n){const r=v0.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1}function OC(e){return EC.test(e)&&!SC.test(e)}function g0(){return!1}function MC(e){return CC.test(e)}function jC(e){return RC.test(e)}function IC(){const e=$e("colors"),t=$e("spacing"),n=$e("blur"),r=$e("brightness"),o=$e("borderColor"),i=$e("borderRadius"),a=$e("borderSpacing"),s=$e("borderWidth"),u=$e("contrast"),l=$e("grayscale"),d=$e("hueRotate"),f=$e("invert"),p=$e("gap"),m=$e("gradientColorStops"),w=$e("gradientColorStopPositions"),g=$e("inset"),b=$e("margin"),h=$e("opacity"),v=$e("padding"),y=$e("saturate"),S=$e("scale"),R=$e("sepia"),E=$e("skew"),k=$e("space"),$=$e("translate"),N=()=>["auto","contain","none"],I=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto",le,t],H=()=>[le,t],se=()=>["",Ln,or],Y=()=>["auto",Zr,le],te=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],xe=()=>["solid","dashed","dotted","double","none"],A=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"],D=()=>["start","end","center","between","around","evenly","stretch"],O=()=>["","0",le],z=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>[Zr,Ls],W=()=>[Zr,le];return{cacheSize:500,separator:":",theme:{colors:[Zi],spacing:[Ln,or],blur:["none","",ir,le],brightness:L(),borderColor:[e],borderRadius:["none","","full",ir,le],borderSpacing:H(),borderWidth:se(),contrast:L(),grayscale:O(),hueRotate:W(),invert:O(),gap:H(),gradientColorStops:[e],gradientColorStopPositions:[kC,or],inset:K(),margin:K(),opacity:L(),padding:H(),saturate:L(),scale:L(),sepia:O(),skew:W(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",le]}],container:["container"],columns:[{columns:[ir]}],"break-after":[{"break-after":z()}],"break-before":[{"break-before":z()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...te(),le]}],overflow:[{overflow:I()}],"overflow-x":[{"overflow-x":I()}],"overflow-y":[{"overflow-y":I()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ji,le]}],basis:[{basis:K()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",le]}],grow:[{grow:O()}],shrink:[{shrink:O()}],order:[{order:["first","last","none",Ji,le]}],"grid-cols":[{"grid-cols":[Zi]}],"col-start-end":[{col:["auto",{span:["full",Ji,le]},le]}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":[Zi]}],"row-start-end":[{row:["auto",{span:[Ji,le]},le]}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",le]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",le]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...D()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...D(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...D(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",le,t]}],"min-w":[{"min-w":[le,t,"min","max","fit"]}],"max-w":[{"max-w":[le,t,"none","full","min","max","fit","prose",{screen:[ir]},ir]}],h:[{h:[le,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[le,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[le,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[le,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ir,or]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ls]}],"font-family":[{font:[Zi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",le]}],"line-clamp":[{"line-clamp":["none",Zr,Ls]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Ln,le]}],"list-image":[{"list-image":["none",le]}],"list-style-type":[{list:["none","disc","decimal",le]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...xe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Ln,or]}],"underline-offset":[{"underline-offset":["auto",Ln,le]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",le]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",le]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...te(),TC]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",$C]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},_C]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...xe(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:xe()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...xe()]}],"outline-offset":[{"outline-offset":[Ln,le]}],"outline-w":[{outline:[Ln,or]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[Ln,or]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ir,DC]}],"shadow-color":[{shadow:[Zi]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":A()}],"bg-blend":[{"bg-blend":A()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",ir,le]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[y]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",le]}],duration:[{duration:W()}],ease:[{ease:["linear","in","out","in-out",le]}],delay:[{delay:W()}],animate:[{animate:["none","spin","ping","pulse","bounce",le]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[Ji,le]}],"translate-x":[{"translate-x":[$]}],"translate-y":[{"translate-y":[$]}],"skew-x":[{"skew-x":[E]}],"skew-y":[{"skew-y":[E]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",le]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",le]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",le]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Ln,or,Ls]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}const AC=yC(IC);function ge(...e){return AC(iC(e))}const y0=c.forwardRef(({className:e,children:t,...n},r)=>x.jsxs(i0,{ref:r,className:ge("relative z-10 flex max-w-max flex-1 items-center justify-center",e),...n,children:[t,x.jsx(x0,{})]}));y0.displayName=i0.displayName;const w0=c.forwardRef(({className:e,...t},n)=>x.jsx(a0,{ref:n,className:ge("group flex flex-1 list-none items-center justify-center space-x-1",e),...t}));w0.displayName=a0.displayName;const cc=HS,ul=dp("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),LC=c.forwardRef(({className:e,children:t,...n},r)=>x.jsxs(s0,{ref:r,className:ge(ul(),"group",e),...n,children:[t," ",x.jsx(JS,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));LC.displayName=s0.displayName;const FC=c.forwardRef(({className:e,...t},n)=>x.jsx(u0,{ref:n,className:ge("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",e),...t}));FC.displayName=u0.displayName;const dc=KS,x0=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{className:ge("absolute left-0 top-full flex justify-center"),children:x.jsx(c0,{className:ge("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",e),ref:n,...t})}));x0.displayName=c0.displayName;const zC=c.forwardRef(({className:e,...t},n)=>x.jsx(l0,{ref:n,className:ge("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",e),...t,children:x.jsx("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));zC.displayName=l0.displayName;function Cu(){return x.jsxs(y0,{className:"px-5 py-2",children:[x.jsx("a",{href:"/",children:x.jsx("div",{className:"font-mono font-semibold mr-2",children:"ComfyUI Launcher"})}),x.jsxs(w0,{children:[x.jsx(cc,{children:x.jsx("a",{href:"/",children:x.jsx(dc,{className:ul(),children:"Workflows"})})}),x.jsx(cc,{children:x.jsx(dc,{onClick:async e=>{e.preventDefault(),await fetch("/api/open_models_folder")},className:`${ul()} cursor-pointer`,children:"Models"})}),x.jsx(cc,{children:x.jsx("a",{href:"/settings",children:x.jsx(dc,{className:ul(),children:"Settings"})})})]})]})}var Ii=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ti=typeof window>"u"||"Deno"in window;function Xt(){}function UC(e,t){return typeof e=="function"?e(t):e}function _d(e){return typeof e=="number"&&e>=0&&e!==1/0}function b0(e,t){return Math.max(e+(t||0)-Date.now(),0)}function um(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==pp(a,t.options))return!1}else if(!Wa(t.queryKey,a))return!1}if(n!=="all"){const u=t.isActive();if(n==="active"&&!u||n==="inactive"&&u)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function cm(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Eo(t.options.mutationKey)!==Eo(i))return!1}else if(!Wa(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function pp(e,t){return((t==null?void 0:t.queryKeyHashFn)||Eo)(e)}function Eo(e){return JSON.stringify(e,(t,n)=>Dd(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Wa(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Wa(e[n],t[n])):!1}function E0(e,t){if(e===t)return e;const n=dm(e)&&dm(t);if(n||Dd(e)&&Dd(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let u=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!fm(n)||!n.hasOwnProperty("isPrototypeOf"))}function fm(e){return Object.prototype.toString.call(e)==="[object Object]"}function BC(e){return new Promise(t=>{setTimeout(t,e)})}function Od(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?E0(e,t):t}function WC(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function VC(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var eo,pr,oi,nv,HC=(nv=class extends Ii{constructor(){super();Q(this,eo,void 0);Q(this,pr,void 0);Q(this,oi,void 0);B(this,oi,t=>{if(!Ti&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){C(this,pr)||this.setEventListener(C(this,oi))}onUnsubscribe(){var t;this.hasListeners()||((t=C(this,pr))==null||t.call(this),B(this,pr,void 0))}setEventListener(t){var n;B(this,oi,t),(n=C(this,pr))==null||n.call(this),B(this,pr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){C(this,eo)!==t&&(B(this,eo,t),this.onFocus())}onFocus(){this.listeners.forEach(t=>{t()})}isFocused(){var t;return typeof C(this,eo)=="boolean"?C(this,eo):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},eo=new WeakMap,pr=new WeakMap,oi=new WeakMap,nv),Ql=new HC,ii,hr,ai,rv,KC=(rv=class extends Ii{constructor(){super();Q(this,ii,!0);Q(this,hr,void 0);Q(this,ai,void 0);B(this,ai,t=>{if(!Ti&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){C(this,hr)||this.setEventListener(C(this,ai))}onUnsubscribe(){var t;this.hasListeners()||((t=C(this,hr))==null||t.call(this),B(this,hr,void 0))}setEventListener(t){var n;B(this,ai,t),(n=C(this,hr))==null||n.call(this),B(this,hr,t(this.setOnline.bind(this)))}setOnline(t){C(this,ii)!==t&&(B(this,ii,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return C(this,ii)}},ii=new WeakMap,hr=new WeakMap,ai=new WeakMap,rv),Gl=new KC;function QC(e){return Math.min(1e3*2**e,3e4)}function Ru(e){return(e??"online")==="online"?Gl.isOnline():!0}var S0=class{constructor(e){this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function fc(e){return e instanceof S0}function C0(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((b,h)=>{i=b,a=h}),u=b=>{var h;r||(m(new S0(b)),(h=e.abort)==null||h.call(e))},l=()=>{t=!0},d=()=>{t=!1},f=()=>!Ql.isFocused()||e.networkMode!=="always"&&!Gl.isOnline(),p=b=>{var h;r||(r=!0,(h=e.onSuccess)==null||h.call(e,b),o==null||o(),i(b))},m=b=>{var h;r||(r=!0,(h=e.onError)==null||h.call(e,b),o==null||o(),a(b))},w=()=>new Promise(b=>{var h;o=v=>{const y=r||!f();return y&&b(v),y},(h=e.onPause)==null||h.call(e)}).then(()=>{var b;o=void 0,r||(b=e.onContinue)==null||b.call(e)}),g=()=>{if(r)return;let b;try{b=e.fn()}catch(h){b=Promise.reject(h)}Promise.resolve(b).then(p).catch(h=>{var E;if(r)return;const v=e.retry??(Ti?0:3),y=e.retryDelay??QC,S=typeof y=="function"?y(n,h):y,R=v===!0||typeof v=="number"&&n{if(f())return w()}).then(()=>{t?m(h):g()})})};return Ru(e.networkMode)?g():w().then(g),{promise:s,cancel:u,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:l,continueRetry:d}}function GC(){let e=[],t=0,n=p=>{p()},r=p=>{p()},o=p=>setTimeout(p,0);const i=p=>{o=p},a=p=>{let m;t++;try{m=p()}finally{t--,t||l()}return m},s=p=>{t?e.push(p):o(()=>{n(p)})},u=p=>(...m)=>{s(()=>{p(...m)})},l=()=>{const p=e;e=[],p.length&&o(()=>{r(()=>{p.forEach(m=>{n(m)})})})};return{batch:a,batchCalls:u,schedule:s,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:i}}var Ze=GC(),to,ov,R0=(ov=class{constructor(){Q(this,to,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),_d(this.gcTime)&&B(this,to,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ti?1/0:5*60*1e3))}clearGcTimeout(){C(this,to)&&(clearTimeout(C(this,to)),B(this,to,void 0))}},to=new WeakMap,ov),si,li,Qt,mr,Gt,it,Ka,no,ui,cl,dn,Fn,iv,YC=(iv=class extends R0{constructor(t){super();Q(this,ui);Q(this,dn);Q(this,si,void 0);Q(this,li,void 0);Q(this,Qt,void 0);Q(this,mr,void 0);Q(this,Gt,void 0);Q(this,it,void 0);Q(this,Ka,void 0);Q(this,no,void 0);B(this,no,!1),B(this,Ka,t.defaultOptions),ae(this,ui,cl).call(this,t.options),B(this,it,[]),B(this,Qt,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,B(this,si,t.state||qC(this.options)),this.state=C(this,si),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!C(this,it).length&&this.state.fetchStatus==="idle"&&C(this,Qt).remove(this)}setData(t,n){const r=Od(this.state.data,t,this.options);return ae(this,dn,Fn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){ae(this,dn,Fn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r;const n=C(this,mr);return(r=C(this,Gt))==null||r.cancel(t),n?n.then(Xt).catch(Xt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(C(this,si))}isActive(){return C(this,it).some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||C(this,it).some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!b0(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=C(this,it).find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=C(this,Gt))==null||n.continue()}onOnline(){var n;const t=C(this,it).find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=C(this,Gt))==null||n.continue()}addObserver(t){C(this,it).includes(t)||(C(this,it).push(t),this.clearGcTimeout(),C(this,Qt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){C(this,it).includes(t)&&(B(this,it,C(this,it).filter(n=>n!==t)),C(this,it).length||(C(this,Gt)&&(C(this,no)?C(this,Gt).cancel({revert:!0}):C(this,Gt).cancelRetry()),this.scheduleGc()),C(this,Qt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return C(this,it).length}invalidate(){this.state.isInvalidated||ae(this,dn,Fn).call(this,{type:"invalidate"})}fetch(t,n){var l,d,f,p;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(C(this,mr))return(l=C(this,Gt))==null||l.continueRetry(),C(this,mr)}if(t&&ae(this,ui,cl).call(this,t),!this.options.queryFn){const m=C(this,it).find(w=>w.options.queryFn);m&&ae(this,ui,cl).call(this,m.options)}const r=new AbortController,o={queryKey:this.queryKey,meta:this.meta},i=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(B(this,no,!0),r.signal)})};i(o);const a=()=>this.options.queryFn?(B(this,no,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:a};i(s),(d=this.options.behavior)==null||d.onFetch(s,this),B(this,li,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((f=s.fetchOptions)==null?void 0:f.meta))&&ae(this,dn,Fn).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const u=m=>{var w,g,b,h;fc(m)&&m.silent||ae(this,dn,Fn).call(this,{type:"error",error:m}),fc(m)||((g=(w=C(this,Qt).config).onError)==null||g.call(w,m,this),(h=(b=C(this,Qt).config).onSettled)==null||h.call(b,this.state.data,m,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return B(this,Gt,C0({fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:m=>{var w,g,b,h;if(typeof m>"u"){u(new Error(`${this.queryHash} data is undefined`));return}this.setData(m),(g=(w=C(this,Qt).config).onSuccess)==null||g.call(w,m,this),(h=(b=C(this,Qt).config).onSettled)==null||h.call(b,m,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:u,onFail:(m,w)=>{ae(this,dn,Fn).call(this,{type:"failed",failureCount:m,error:w})},onPause:()=>{ae(this,dn,Fn).call(this,{type:"pause"})},onContinue:()=>{ae(this,dn,Fn).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode})),B(this,mr,C(this,Gt).promise),C(this,mr)}},si=new WeakMap,li=new WeakMap,Qt=new WeakMap,mr=new WeakMap,Gt=new WeakMap,it=new WeakMap,Ka=new WeakMap,no=new WeakMap,ui=new WeakSet,cl=function(t){this.options={...C(this,Ka),...t},this.updateGcTime(this.options.gcTime)},dn=new WeakSet,Fn=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:t.meta??null,fetchStatus:Ru(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return fc(o)&&o.revert&&C(this,li)?{...C(this,li),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ze.batch(()=>{C(this,it).forEach(r=>{r.onQueryUpdate()}),C(this,Qt).notify({query:this,type:"updated",action:t})})},iv);function qC(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Pn,av,XC=(av=class extends Ii{constructor(t={}){super();Q(this,Pn,void 0);this.config=t,B(this,Pn,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??pp(o,n);let a=this.get(i);return a||(a=new YC({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){C(this,Pn).has(t.queryHash)||(C(this,Pn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=C(this,Pn).get(t.queryHash);n&&(t.destroy(),n===t&&C(this,Pn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ze.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return C(this,Pn).get(t)}getAll(){return[...C(this,Pn).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>um(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>um(t,r)):n}notify(t){Ze.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ze.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ze.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Pn=new WeakMap,av),$n,Qa,It,ci,Tn,sr,sv,JC=(sv=class extends R0{constructor(t){super();Q(this,Tn);Q(this,$n,void 0);Q(this,Qa,void 0);Q(this,It,void 0);Q(this,ci,void 0);this.mutationId=t.mutationId,B(this,Qa,t.defaultOptions),B(this,It,t.mutationCache),B(this,$n,[]),this.state=t.state||k0(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...C(this,Qa),...t},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){C(this,$n).includes(t)||(C(this,$n).push(t),this.clearGcTimeout(),C(this,It).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){B(this,$n,C(this,$n).filter(n=>n!==t)),this.scheduleGc(),C(this,It).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){C(this,$n).length||(this.state.status==="pending"?this.scheduleGc():C(this,It).remove(this))}continue(){var t;return((t=C(this,ci))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,u,l,d,f,p,m,w,g,b,h,v,y,S,R,E,k;const n=()=>(B(this,ci,C0({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:($,N)=>{ae(this,Tn,sr).call(this,{type:"failed",failureCount:$,error:N})},onPause:()=>{ae(this,Tn,sr).call(this,{type:"pause"})},onContinue:()=>{ae(this,Tn,sr).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),C(this,ci).promise),r=this.state.status==="pending";try{if(!r){ae(this,Tn,sr).call(this,{type:"pending",variables:t}),await((i=(o=C(this,It).config).onMutate)==null?void 0:i.call(o,t,this));const N=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));N!==this.state.context&&ae(this,Tn,sr).call(this,{type:"pending",context:N,variables:t})}const $=await n();return await((l=(u=C(this,It).config).onSuccess)==null?void 0:l.call(u,$,t,this.state.context,this)),await((f=(d=this.options).onSuccess)==null?void 0:f.call(d,$,t,this.state.context)),await((m=(p=C(this,It).config).onSettled)==null?void 0:m.call(p,$,null,this.state.variables,this.state.context,this)),await((g=(w=this.options).onSettled)==null?void 0:g.call(w,$,null,t,this.state.context)),ae(this,Tn,sr).call(this,{type:"success",data:$}),$}catch($){try{throw await((h=(b=C(this,It).config).onError)==null?void 0:h.call(b,$,t,this.state.context,this)),await((y=(v=this.options).onError)==null?void 0:y.call(v,$,t,this.state.context)),await((R=(S=C(this,It).config).onSettled)==null?void 0:R.call(S,void 0,$,this.state.variables,this.state.context,this)),await((k=(E=this.options).onSettled)==null?void 0:k.call(E,void 0,$,t,this.state.context)),$}finally{ae(this,Tn,sr).call(this,{type:"error",error:$})}}}},$n=new WeakMap,Qa=new WeakMap,It=new WeakMap,ci=new WeakMap,Tn=new WeakSet,sr=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Ru(this.options.networkMode),status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ze.batch(()=>{C(this,$n).forEach(r=>{r.onMutationUpdate(t)}),C(this,It).notify({mutation:this,type:"updated",action:t})})},sv);function k0(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Yt,Ga,ro,lv,ZC=(lv=class extends Ii{constructor(t={}){super();Q(this,Yt,void 0);Q(this,Ga,void 0);Q(this,ro,void 0);this.config=t,B(this,Yt,[]),B(this,Ga,0)}build(t,n,r){const o=new JC({mutationCache:this,mutationId:++ws(this,Ga)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){C(this,Yt).push(t),this.notify({type:"added",mutation:t})}remove(t){B(this,Yt,C(this,Yt).filter(n=>n!==t)),this.notify({type:"removed",mutation:t})}clear(){Ze.batch(()=>{C(this,Yt).forEach(t=>{this.remove(t)})})}getAll(){return C(this,Yt)}find(t){const n={exact:!0,...t};return C(this,Yt).find(r=>cm(n,r))}findAll(t={}){return C(this,Yt).filter(n=>cm(t,n))}notify(t){Ze.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){return B(this,ro,(C(this,ro)??Promise.resolve()).then(()=>{const t=C(this,Yt).filter(n=>n.state.isPaused);return Ze.batch(()=>t.reduce((n,r)=>n.then(()=>r.continue().catch(Xt)),Promise.resolve()))}).then(()=>{B(this,ro,void 0)})),C(this,ro)}},Yt=new WeakMap,Ga=new WeakMap,ro=new WeakMap,lv);function e2(e){return{onFetch:(t,n)=>{const r=async()=>{var w,g,b,h,v;const o=t.options,i=(b=(g=(w=t.fetchOptions)==null?void 0:w.meta)==null?void 0:g.fetchMore)==null?void 0:b.direction,a=((h=t.state.data)==null?void 0:h.pages)||[],s=((v=t.state.data)==null?void 0:v.pageParams)||[],u={pages:[],pageParams:[]};let l=!1;const d=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",()=>{l=!0}),t.signal)})},f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),p=async(y,S,R)=>{if(l)return Promise.reject();if(S==null&&y.pages.length)return Promise.resolve(y);const E={queryKey:t.queryKey,pageParam:S,direction:R?"backward":"forward",meta:t.options.meta};d(E);const k=await f(E),{maxPages:$}=t.options,N=R?VC:WC;return{pages:N(y.pages,k,$),pageParams:N(y.pageParams,S,$)}};let m;if(i&&a.length){const y=i==="backward",S=y?t2:pm,R={pages:a,pageParams:s},E=S(o,R);m=await p(R,E,y)}else{m=await p(u,s[0]??o.initialPageParam);const y=e??a.length;for(let S=1;S{var o,i;return(i=(o=t.options).persister)==null?void 0:i.call(o,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}function pm(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}function t2(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}var Xe,vr,gr,di,fi,yr,pi,hi,uv,n2=(uv=class{constructor(e={}){Q(this,Xe,void 0);Q(this,vr,void 0);Q(this,gr,void 0);Q(this,di,void 0);Q(this,fi,void 0);Q(this,yr,void 0);Q(this,pi,void 0);Q(this,hi,void 0);B(this,Xe,e.queryCache||new XC),B(this,vr,e.mutationCache||new ZC),B(this,gr,e.defaultOptions||{}),B(this,di,new Map),B(this,fi,new Map),B(this,yr,0)}mount(){ws(this,yr)._++,C(this,yr)===1&&(B(this,pi,Ql.subscribe(()=>{Ql.isFocused()&&(this.resumePausedMutations(),C(this,Xe).onFocus())})),B(this,hi,Gl.subscribe(()=>{Gl.isOnline()&&(this.resumePausedMutations(),C(this,Xe).onOnline())})))}unmount(){var e,t;ws(this,yr)._--,C(this,yr)===0&&((e=C(this,pi))==null||e.call(this),B(this,pi,void 0),(t=C(this,hi))==null||t.call(this),B(this,hi,void 0))}isFetching(e){return C(this,Xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return C(this,vr).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=C(this,Xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);return t!==void 0?Promise.resolve(t):this.fetchQuery(e)}getQueriesData(e){return this.getQueryCache().findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=C(this,Xe).get(r.queryHash),i=o==null?void 0:o.state.data,a=UC(t,i);if(!(typeof a>"u"))return C(this,Xe).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Ze.batch(()=>this.getQueryCache().findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=C(this,Xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=C(this,Xe);Ze.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=C(this,Xe),r={type:"active",...e};return Ze.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Ze.batch(()=>C(this,Xe).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Xt).catch(Xt)}invalidateQueries(e={},t={}){return Ze.batch(()=>{if(C(this,Xe).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Ze.batch(()=>C(this,Xe).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Xt)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Xt)}fetchQuery(e){const t=this.defaultQueryOptions(e);typeof t.retry>"u"&&(t.retry=!1);const n=C(this,Xe).build(this,t);return n.isStaleByTime(t.staleTime)?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xt).catch(Xt)}fetchInfiniteQuery(e){return e.behavior=e2(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xt).catch(Xt)}resumePausedMutations(){return C(this,vr).resumePausedMutations()}getQueryCache(){return C(this,Xe)}getMutationCache(){return C(this,vr)}getDefaultOptions(){return C(this,gr)}setDefaultOptions(e){B(this,gr,e)}setQueryDefaults(e,t){C(this,di).set(Eo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...C(this,di).values()];let n={};return t.forEach(r=>{Wa(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){C(this,fi).set(Eo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...C(this,fi).values()];let n={};return t.forEach(r=>{Wa(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...C(this,gr).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=pp(t.queryKey,t)),typeof t.refetchOnReconnect>"u"&&(t.refetchOnReconnect=t.networkMode!=="always"),typeof t.throwOnError>"u"&&(t.throwOnError=!!t.suspense),typeof t.networkMode>"u"&&t.persister&&(t.networkMode="offlineFirst"),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...C(this,gr).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){C(this,Xe).clear(),C(this,vr).clear()}},Xe=new WeakMap,vr=new WeakMap,gr=new WeakMap,di=new WeakMap,fi=new WeakMap,yr=new WeakMap,pi=new WeakMap,hi=new WeakMap,uv),Tt,Ne,Ya,St,oo,mi,Nn,qa,vi,gi,io,ao,wr,yi,so,oa,Xa,Md,Ja,jd,Za,Id,es,Ad,ts,Ld,ns,Fd,rs,zd,tu,P0,cv,r2=(cv=class extends Ii{constructor(t,n){super();Q(this,so);Q(this,Xa);Q(this,Ja);Q(this,Za);Q(this,es);Q(this,ts);Q(this,ns);Q(this,rs);Q(this,tu);Q(this,Tt,void 0);Q(this,Ne,void 0);Q(this,Ya,void 0);Q(this,St,void 0);Q(this,oo,void 0);Q(this,mi,void 0);Q(this,Nn,void 0);Q(this,qa,void 0);Q(this,vi,void 0);Q(this,gi,void 0);Q(this,io,void 0);Q(this,ao,void 0);Q(this,wr,void 0);Q(this,yi,new Set);this.options=n,B(this,Tt,t),B(this,Nn,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(C(this,Ne).addObserver(this),hm(C(this,Ne),this.options)?ae(this,so,oa).call(this):this.updateResult(),ae(this,es,Ad).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ud(C(this,Ne),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ud(C(this,Ne),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ae(this,ts,Ld).call(this),ae(this,ns,Fd).call(this),C(this,Ne).removeObserver(this)}setOptions(t,n){const r=this.options,o=C(this,Ne);if(this.options=C(this,Tt).defaultQueryOptions(t),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");ae(this,rs,zd).call(this),Kl(this.options,r)||C(this,Tt).getQueryCache().notify({type:"observerOptionsUpdated",query:C(this,Ne),observer:this});const i=this.hasListeners();i&&mm(C(this,Ne),o,this.options,r)&&ae(this,so,oa).call(this),this.updateResult(n),i&&(C(this,Ne)!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&ae(this,Xa,Md).call(this);const a=ae(this,Ja,jd).call(this);i&&(C(this,Ne)!==o||this.options.enabled!==r.enabled||a!==C(this,wr))&&ae(this,Za,Id).call(this,a)}getOptimisticResult(t){const n=C(this,Tt).getQueryCache().build(C(this,Tt),t),r=this.createResult(n,t);return i2(this,r)&&(B(this,St,r),B(this,mi,this.options),B(this,oo,C(this,Ne).state)),r}getCurrentResult(){return C(this,St)}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(C(this,yi).add(r),t[r])})}),n}getCurrentQuery(){return C(this,Ne)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=C(this,Tt).defaultQueryOptions(t),r=C(this,Tt).getQueryCache().build(C(this,Tt),n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ae(this,so,oa).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),C(this,St)))}createResult(t,n){var E;const r=C(this,Ne),o=this.options,i=C(this,St),a=C(this,oo),s=C(this,mi),l=t!==r?t.state:C(this,Ya),{state:d}=t;let{error:f,errorUpdatedAt:p,fetchStatus:m,status:w}=d,g=!1,b;if(n._optimisticResults){const k=this.hasListeners(),$=!k&&hm(t,n),N=k&&mm(t,r,n,o);($||N)&&(m=Ru(t.options.networkMode)?"fetching":"paused",d.dataUpdatedAt||(w="pending")),n._optimisticResults==="isRestoring"&&(m="idle")}if(n.select&&typeof d.data<"u")if(i&&d.data===(a==null?void 0:a.data)&&n.select===C(this,qa))b=C(this,vi);else try{B(this,qa,n.select),b=n.select(d.data),b=Od(i==null?void 0:i.data,b,n),B(this,vi,b),B(this,Nn,null)}catch(k){B(this,Nn,k)}else b=d.data;if(typeof n.placeholderData<"u"&&typeof b>"u"&&w==="pending"){let k;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))k=i.data;else if(k=typeof n.placeholderData=="function"?n.placeholderData((E=C(this,gi))==null?void 0:E.state.data,C(this,gi)):n.placeholderData,n.select&&typeof k<"u")try{k=n.select(k),B(this,Nn,null)}catch($){B(this,Nn,$)}typeof k<"u"&&(w="success",b=Od(i==null?void 0:i.data,k,n),g=!0)}C(this,Nn)&&(f=C(this,Nn),b=C(this,vi),p=Date.now(),w="error");const h=m==="fetching",v=w==="pending",y=w==="error",S=v&&h;return{status:w,fetchStatus:m,isPending:v,isSuccess:w==="success",isError:y,isInitialLoading:S,isLoading:S,data:b,dataUpdatedAt:d.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:h,isRefetching:h&&!v,isLoadingError:y&&d.dataUpdatedAt===0,isPaused:m==="paused",isPlaceholderData:g,isRefetchError:y&&d.dataUpdatedAt!==0,isStale:hp(t,n),refetch:this.refetch}}updateResult(t){const n=C(this,St),r=this.createResult(C(this,Ne),this.options);if(B(this,oo,C(this,Ne).state),B(this,mi,this.options),C(this,oo).data!==void 0&&B(this,gi,C(this,Ne)),Kl(r,n))return;B(this,St,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!C(this,yi).size)return!0;const u=new Set(s??C(this,yi));return this.options.throwOnError&&u.add("error"),Object.keys(C(this,St)).some(l=>{const d=l;return C(this,St)[d]!==n[d]&&u.has(d)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),ae(this,tu,P0).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ae(this,es,Ad).call(this)}},Tt=new WeakMap,Ne=new WeakMap,Ya=new WeakMap,St=new WeakMap,oo=new WeakMap,mi=new WeakMap,Nn=new WeakMap,qa=new WeakMap,vi=new WeakMap,gi=new WeakMap,io=new WeakMap,ao=new WeakMap,wr=new WeakMap,yi=new WeakMap,so=new WeakSet,oa=function(t){ae(this,rs,zd).call(this);let n=C(this,Ne).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Xt)),n},Xa=new WeakSet,Md=function(){if(ae(this,ts,Ld).call(this),Ti||C(this,St).isStale||!_d(this.options.staleTime))return;const n=b0(C(this,St).dataUpdatedAt,this.options.staleTime)+1;B(this,io,setTimeout(()=>{C(this,St).isStale||this.updateResult()},n))},Ja=new WeakSet,jd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(C(this,Ne)):this.options.refetchInterval)??!1},Za=new WeakSet,Id=function(t){ae(this,ns,Fd).call(this),B(this,wr,t),!(Ti||this.options.enabled===!1||!_d(C(this,wr))||C(this,wr)===0)&&B(this,ao,setInterval(()=>{(this.options.refetchIntervalInBackground||Ql.isFocused())&&ae(this,so,oa).call(this)},C(this,wr)))},es=new WeakSet,Ad=function(){ae(this,Xa,Md).call(this),ae(this,Za,Id).call(this,ae(this,Ja,jd).call(this))},ts=new WeakSet,Ld=function(){C(this,io)&&(clearTimeout(C(this,io)),B(this,io,void 0))},ns=new WeakSet,Fd=function(){C(this,ao)&&(clearInterval(C(this,ao)),B(this,ao,void 0))},rs=new WeakSet,zd=function(){const t=C(this,Tt).getQueryCache().build(C(this,Tt),this.options);if(t===C(this,Ne))return;const n=C(this,Ne);B(this,Ne,t),B(this,Ya,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},tu=new WeakSet,P0=function(t){Ze.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(C(this,St))}),C(this,Tt).getQueryCache().notify({query:C(this,Ne),type:"observerResultsUpdated"})})},cv);function o2(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function hm(e,t){return o2(e,t)||e.state.dataUpdatedAt>0&&Ud(e,t,t.refetchOnMount)}function Ud(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&hp(e,t)}return!1}function mm(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&hp(e,n)}function hp(e,t){return e.isStaleByTime(t.staleTime)}function i2(e,t){return!Kl(e.getCurrentResult(),t)}var xr,br,At,Bn,wi,dl,os,Bd,dv,a2=(dv=class extends Ii{constructor(n,r){super();Q(this,wi);Q(this,os);Q(this,xr,void 0);Q(this,br,void 0);Q(this,At,void 0);Q(this,Bn,void 0);B(this,xr,n),this.setOptions(r),this.bindMethods(),ae(this,wi,dl).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=C(this,xr).defaultMutationOptions(n),Kl(this.options,r)||C(this,xr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:C(this,At),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Eo(r.mutationKey)!==Eo(this.options.mutationKey)?this.reset():(o=C(this,At))==null||o.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=C(this,At))==null||n.removeObserver(this)}onMutationUpdate(n){ae(this,wi,dl).call(this),ae(this,os,Bd).call(this,n)}getCurrentResult(){return C(this,br)}reset(){var n;(n=C(this,At))==null||n.removeObserver(this),B(this,At,void 0),ae(this,wi,dl).call(this),ae(this,os,Bd).call(this)}mutate(n,r){var o;return B(this,Bn,r),(o=C(this,At))==null||o.removeObserver(this),B(this,At,C(this,xr).getMutationCache().build(C(this,xr),this.options)),C(this,At).addObserver(this),C(this,At).execute(n)}},xr=new WeakMap,br=new WeakMap,At=new WeakMap,Bn=new WeakMap,wi=new WeakSet,dl=function(){var r;const n=((r=C(this,At))==null?void 0:r.state)??k0();B(this,br,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},os=new WeakSet,Bd=function(n){Ze.batch(()=>{var r,o,i,a,s,u,l,d;if(C(this,Bn)&&this.hasListeners()){const f=C(this,br).variables,p=C(this,br).context;(n==null?void 0:n.type)==="success"?((o=(r=C(this,Bn)).onSuccess)==null||o.call(r,n.data,f,p),(a=(i=C(this,Bn)).onSettled)==null||a.call(i,n.data,null,f,p)):(n==null?void 0:n.type)==="error"&&((u=(s=C(this,Bn)).onError)==null||u.call(s,n.error,f,p),(d=(l=C(this,Bn)).onSettled)==null||d.call(l,void 0,n.error,f,p))}this.listeners.forEach(f=>{f(C(this,br))})})},dv),$0=c.createContext(void 0),hs=e=>{const t=c.useContext($0);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},s2=({client:e,children:t})=>(c.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),x.jsx($0.Provider,{value:e,children:t})),T0=c.createContext(!1),l2=()=>c.useContext(T0);T0.Provider;function u2(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var c2=c.createContext(u2()),d2=()=>c.useContext(c2);function N0(e,t){return typeof e=="function"?e(...t):!!e}var f2=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},p2=e=>{c.useEffect(()=>{e.clearReset()},[e])},h2=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&N0(n,[e.error,r]),m2=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},v2=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,g2=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function y2(e,t,n){const r=hs(n),o=l2(),i=d2(),a=r.defaultQueryOptions(e);a._optimisticResults=o?"isRestoring":"optimistic",m2(a),f2(a,i),p2(i);const[s]=c.useState(()=>new t(r,a)),u=s.getOptimisticResult(a);if(c.useSyncExternalStore(c.useCallback(l=>{const d=o?()=>{}:s.subscribe(Ze.batchCalls(l));return s.updateResult(),d},[s,o]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),c.useEffect(()=>{s.setOptions(a,{listeners:!1})},[a,s]),v2(a,u))throw g2(a,s,i);if(h2({result:u,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw u.error;return a.notifyOnChangeProps?u:s.trackResult(u)}function _0(e,t){return y2(e,r2,t)}function Or(e,t){const n=hs(t),[r]=c.useState(()=>new a2(n,e));c.useEffect(()=>{r.setOptions(e)},[r,e]);const o=c.useSyncExternalStore(c.useCallback(a=>r.subscribe(Ze.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=c.useCallback((a,s)=>{r.mutate(a,s).catch(w2)},[r]);if(o.error&&N0(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}function w2(){}const yt=0,je=1,x2=2,b2=0,Wd=1;function E2(e,t,n){let r=e.list,o;for(;r;){if(r.index===n)return!1;if(t>r.high)break;o=r,r=r.next}return o||(e.list={index:n,high:t,next:r}),o&&(o.next={index:n,high:t,next:o.next}),!0}function S2(e,t){let n=e.list;if(n.index===t)return n.next===null?b2:(e.list=n.next,Wd);let r=n;for(n=n.next;n!==null;){if(n.index===t)return r.next=n.next,Wd;r=n,n=n.next}}const ye={low:0,max:0,high:0,C:x2,P:void 0,R:void 0,L:void 0,list:void 0};ye.P=ye;ye.L=ye;ye.R=ye;function Mr(e){const t=e.high;e.L===ye&&e.R===ye?e.max=t:e.L===ye?e.max=Math.max(e.R.max,t):e.R===ye?e.max=Math.max(e.L.max,t):e.max=Math.max(Math.max(e.L.max,e.R.max),t)}function Fs(e){let t=e;for(;t.P!==ye;)Mr(t.P),t=t.P}function va(e,t){if(t.R===ye)return;const n=t.R;t.R=n.L,n.L!==ye&&(n.L.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.L=t,t.P=n,Mr(t),Mr(n)}function ga(e,t){if(t.L===ye)return;const n=t.L;t.L=n.R,n.R!==ye&&(n.R.P=t),n.P=t.P,t.P===ye?e.root=n:t===t.P.R?t.P.R=n:t.P.L=n,n.R=t,t.P=n,Mr(t),Mr(n)}function zs(e,t,n){t.P===ye?e.root=n:t===t.P.L?t.P.L=n:t.P.R=n,n.P=t.P}function C2(e,t){let n;for(;t!==ye&&t.C===je;)t===t.P.L?(n=t.P.R,n.C===yt&&(n.C=je,t.P.C=yt,va(e,t.P),n=t.P.R),n.L.C===je&&n.R.C===je?(n.C=yt,t=t.P):(n.R.C===je&&(n.L.C=je,n.C=yt,ga(e,n),n=t.P.R),n.C=t.P.C,t.P.C=je,n.R.C=je,va(e,t.P),t=e.root)):(n=t.P.L,n.C===yt&&(n.C=je,t.P.C=yt,ga(e,t.P),n=t.P.L),n.R.C===je&&n.L.C===je?(n.C=yt,t=t.P):(n.L.C===je&&(n.R.C=je,n.C=yt,va(e,n),n=t.P.L),n.C=t.P.C,t.P.C=je,n.L.C=je,ga(e,t.P),t=e.root));t.C=je}function R2(e){for(;e.L!==ye;)e=e.L;return e}function k2(e,t){let n;for(;t.P.C===yt;)t.P===t.P.P.L?(n=t.P.P.R,n.C===yt?(t.P.C=je,n.C=je,t.P.P.C=yt,t=t.P.P):(t===t.P.R&&(t=t.P,va(e,t)),t.P.C=je,t.P.P.C=yt,ga(e,t.P.P))):(n=t.P.P.L,n.C===yt?(t.P.C=je,n.C=je,t.P.P.C=yt,t=t.P.P):(t===t.P.L&&(t=t.P,ga(e,t)),t.P.C=je,t.P.P.C=yt,va(e,t.P.P)));e.root.C=je}function P2(){const e={root:ye,size:0},t={};return{insert(n,r,o){let i=e.root,a=ye;for(;i!==ye&&(a=i,n!==a.low);)na.max)&&(a.L!==ye&&i.push(a.L),a.R!==ye&&i.push(a.R),a.low<=r&&a.high>=n)){let s=a.list;for(;s!==null;)s.high>=n&&o(s.index,a.low),s=s.next}}},get size(){return e.size}}}const ku=e=>{const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),t},$2=(e,t=100,n=!1)=>{const r=ku(e),o=c.useRef(),i=[t,n,r];function a(){o.current&&clearTimeout(o.current),o.current=void 0}c.useEffect(()=>a,i);function s(){o.current=void 0}return c.useCallback(function(){const u=arguments,{current:l}=o;if(l===void 0&&n)return o.current=setTimeout(s,t),r.current.apply(null,u);l&&clearTimeout(l),o.current=setTimeout(()=>{o.current=void 0,r.current.apply(null,u)},t)},i)},T2=(e,t,n)=>{const r=c.useState(e);return[r[0],$2(r[1],t,n)]};function ya(e,t,n,r){const o=c.useRef(n),i=c.useRef(r);c.useEffect(()=>{o.current=n,i.current=r}),c.useEffect(()=>{const a=e&&"current"in e?e.current:e;if(!a)return;let s=0;function u(...d){s||o.current.apply(this,d)}a.addEventListener(t,u);const l=i.current;return()=>{s=1,a.removeEventListener(t,u),l&&l()}},[e,t])}const N2={},wa=typeof window>"u"?null:window,_2=wa&&typeof wa.visualViewport<"u"?wa.visualViewport:null,vm=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],D2=function(e){e===void 0&&(e=N2);const{wait:t,leading:n,initialWidth:r=0,initialHeight:o=0}=e,[i,a]=T2(typeof document>"u"?[r,o]:vm,t,n),s=()=>a(vm);return ya(wa,"resize",s),ya(_2,"resize",s),ya(wa,"orientationchange",s),i},Pu=(e,t)=>{const n=t||O2;let r,o;return function(){return r&&n(arguments,r)?o:o=e.apply(null,r=arguments)}},O2=(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3];class M2{constructor(){this.set=void 0,this.get=void 0;let t,n;this.get=r=>r===t?n:void 0,this.set=(r,o)=>{t=r,n=o}}}const gm=M2,pc=e=>{try{return new e}catch{const n={};return{set(r,o){n[r]=o},get(r){return n[r]}}}},j2=e=>{const t=e.length,n=pc(e[0]);let r,o,i,a;const s=t===1,u=p=>(r=n.get(p[0]))===void 0||s?r:r.get(p[1]),l=(p,m)=>(s?n.set(p[0],m):(r=n.get(p[0]))===void 0?(o=pc(e[1]),o.set(p[1],m),n.set(p[0],o)):r.set(p[1],m),m),d=p=>{for(a=n,i=0;i{for(a=n,i=0;i{let n;const{g:r,s:o}=j2(e);return function(){return(n=r(arguments))===void 0?o(arguments,t.apply(null,arguments)):n}},Vd=new WeakMap;function O0(){const e=c.useState(I2)[1];return c.useRef(()=>e({})).current}const I2={},fl=c.createElement;function A2(e){let{positioner:t,resizeObserver:n,items:r,as:o="div",id:i,className:a,style:s,role:u="grid",tabIndex:l=0,containerRef:d,itemAs:f="div",itemStyle:p,itemHeightEstimate:m=300,itemKey:w=z2,overscanBy:g=2,scrollTop:b,isScrolling:h,height:v,render:y,onRender:S}=e,R=0,E;const k=O0(),$=B2(t,n),N=r.length,{columnWidth:I,columnCount:K,range:H,estimateHeight:se,size:Y,shortestColumn:te}=t,xe=Y(),A=te(),D=[],O=u==="list"?"listitem":u==="grid"?"gridcell":void 0,z=ku(S);g=v*g;const L=b+g,W=A{const He=r[Z],bt=w(He,Z),Vt={top:re,left:ce,width:I,writingMode:"horizontal-tb",position:"absolute"};typeof process<"u",D.push(fl(f,{key:bt,ref:$(Z),role:O,style:typeof p=="object"&&p!==null?Object.assign({},Vt,p):Vt},wm(y,Z,He,I))),E===void 0?(R=Z,E=Z):(R=Math.min(R,Z),E=Math.max(E,Z))}),W){const Z=Math.min(N-xe,Math.ceil((b+g-A)/m*K));let ce=xe;const re=U2(I);for(;ce{typeof z.current=="function"&&E!==void 0&&z.current(R,E,r),ym="1"},[R,E,r,z]),c.useEffect(()=>{W&&k()},[W,t]);const ne=L2(h,se(N,m));return fl(o,{ref:d,key:ym,id:i,role:u,className:a,tabIndex:l,style:typeof s=="object"?F2(ne,s):ne,children:D})}let ym="0";const wm=D0([gm,{},WeakMap,gm],(e,t,n,r)=>fl(e,{index:t,data:n,width:r})),L2=Pu((e,t)=>({position:"relative",width:"100%",maxWidth:"100%",height:Math.ceil(t),maxHeight:Math.ceil(t),willChange:e?"contents":void 0,pointerEvents:e?"none":void 0})),M0=(e,t)=>e[0]===t[0]&&e[1]===t[1],F2=Pu((e,t)=>Object.assign({},e,t),M0);function z2(e,t){return t}const U2=Pu(e=>({width:e,zIndex:-1e3,visibility:"hidden",position:"absolute",writingMode:"horizontal-tb"}),(e,t)=>e[0]===t[0]),B2=Pu((e,t)=>n=>r=>{r!==null&&(t&&(t.observe(r),Vd.set(r,n)),e.get(n)===void 0&&e.set(n,r.offsetHeight))},M0);let j0="undefined",ti=typeof window!==j0?window:{},W2=typeof performance!==j0?performance:Date,Hd=()=>W2.now(),I0="AnimationFrame",xm="cancel"+I0,bm="request"+I0,Yl=ti[bm]&&ti[bm].bind(ti),Kd=ti[xm]&&ti[xm].bind(ti);function V2(e){return clearTimeout(e)}if(!Yl||!Kd){let e=0;Yl=t=>{let n=Hd(),r=Math.max(e+1e3/60,n);return setTimeout(()=>{t(e=r)},r-n)},Kd=V2}const H2=e=>{Kd(e.v||-1)},K2=(e,t)=>{const n=Hd(),r={},o=()=>{Hd()-n>=t?e.call(null):r.v=Yl(o)};return r.v=Yl(o),r},Q2=typeof performance<"u"?performance:Date,G2=()=>Q2.now();function A0(e,t=30,n=!1){const r=ku(e),o=1e3/t,i=c.useRef(0),a=c.useRef(),s=()=>a.current&&clearTimeout(a.current),u=[t,n,r];function l(){i.current=0,s()}return c.useEffect(()=>l,u),c.useCallback(function(){const d=arguments,f=G2(),p=()=>{i.current=f,s(),r.current.apply(null,d)},m=i.current;if(n&&m===0)return p();if(f-m>o){if(m>0)return p();i.current=f}s(),a.current=setTimeout(()=>{p(),i.current=0},o)},u)}function Y2(e,t,n){const r=c.useState(e);return[r[0],A0(r[1],t,n)]}const ia=typeof window>"u"?null:window,Em=()=>ia.scrollY!==void 0?ia.scrollY:ia.pageYOffset===void 0?0:ia.pageYOffset,q2=(e=30)=>{const t=Y2(typeof window>"u"?0:Em,e,!0);return ya(ia,"scroll",()=>t[1](Em())),t[0]};function X2(e,t){e===void 0&&(e=0),t===void 0&&(t=12);const n=q2(t),[r,o]=c.useState(!1),i=c.useRef(0);return c.useEffect(()=>{i.current===1&&o(!0);let a=!1;const s=K2(()=>{a||o(!1)},40+1e3/t);return i.current=1,()=>{a=!0,H2(s)}},[t,n]),{scrollTop:Math.max(0,n-e),isScrolling:r}}function J2(e){const{scrollTop:t,isScrolling:n}=X2(e.offset,e.scrollFps);return A2({scrollTop:t,isScrolling:n,positioner:e.positioner,resizeObserver:e.resizeObserver,items:e.items,onRender:e.onRender,as:e.as,id:e.id,className:e.className,style:e.style,role:e.role,tabIndex:e.tabIndex,containerRef:e.containerRef,itemAs:e.itemAs,itemStyle:e.itemStyle,itemHeightEstimate:e.itemHeightEstimate,itemKey:e.itemKey,overscanBy:e.overscanBy,height:e.height,render:e.render})}const Z2=M[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"];function eR(e,t){t===void 0&&(t=tR);const[n,r]=c.useState({offset:0,width:0});return Z2(()=>{const{current:o}=e;if(o!==null){let i=0,a=o;do i+=a.offsetTop||0,a=a.offsetParent;while(a);(i!==n.offset||o.offsetWidth!==n.width)&&r({offset:i,width:o.offsetWidth})}},t),n}const tR=[];function nR(e,t){let{width:n,columnWidth:r=200,columnGutter:o=0,rowGutter:i,columnCount:a,maxColumnCount:s}=e;t===void 0&&(t=aR);const u=()=>{const[w,g]=iR(n,r,o,a,s);return rR(g,w,o,i??o)},l=c.useRef();l.current===void 0&&(l.current=u());const d=c.useRef(t),f=[n,r,o,i,a,s],p=c.useRef(f),m=!f.every((w,g)=>p.current[g]===w);if(typeof process<"u",m||!t.every((w,g)=>d.current[g]===w)){const w=l.current,g=u();if(d.current=t,p.current=f,m){const b=w.size();for(let h=0;ha[u],update:u=>{const l=new Array(e);let d=0,f=0;for(;do.search(u,l,(f,p)=>d(f,a[f].left,p)),estimateHeight:(u,l)=>{const d=Math.max(0,Math.max.apply(null,i));return u===o.size?d:d+Math.ceil((u-o.size)/e)*l},shortestColumn:()=>i.length>1?Math.min.apply(null,i):i[0]||0,size(){return o.size},all(){return a}}},oR=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){const o=n+r>>>1,i=e[o];if(i===t)return o;i<=t?n=o+1:r=o-1}return-1},iR=function(e,t,n,r,o){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=8),r=r||Math.min(Math.floor((e+n)/(t+n)),o||1/0)||1,[Math.floor((e-n*(r-1))/r),r]},aR=[];var co=[],sR=function(){return co.some(function(e){return e.activeTargets.length>0})},lR=function(){return co.some(function(e){return e.skippedTargets.length>0})},Sm="ResizeObserver loop completed with undelivered notifications.",uR=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:Sm}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=Sm),window.dispatchEvent(e)},Va;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Va||(Va={}));var fo=function(e){return Object.freeze(e)},cR=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,fo(this)}return e}(),L0=function(){function e(t,n,r,o){return this.x=t,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,fo(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,r=t.y,o=t.top,i=t.right,a=t.bottom,s=t.left,u=t.width,l=t.height;return{x:n,y:r,top:o,right:i,bottom:a,left:s,width:u,height:l}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),mp=function(e){return e instanceof SVGElement&&"getBBox"in e},F0=function(e){if(mp(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,a=o.offsetHeight;return!(i||a||e.getClientRects().length)},Cm=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},dR=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},xa=typeof window<"u"?window:{},Us=new WeakMap,Rm=/auto|scroll/,fR=/^tb|vertical/,pR=/msie|trident/i.test(xa.navigator&&xa.navigator.userAgent),Cn=function(e){return parseFloat(e||"0")},ni=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new cR((n?t:e)||0,(n?e:t)||0)},km=fo({devicePixelContentBoxSize:ni(),borderBoxSize:ni(),contentBoxSize:ni(),contentRect:new L0(0,0,0,0)}),z0=function(e,t){if(t===void 0&&(t=!1),Us.has(e)&&!t)return Us.get(e);if(F0(e))return Us.set(e,km),km;var n=getComputedStyle(e),r=mp(e)&&e.ownerSVGElement&&e.getBBox(),o=!pR&&n.boxSizing==="border-box",i=fR.test(n.writingMode||""),a=!r&&Rm.test(n.overflowY||""),s=!r&&Rm.test(n.overflowX||""),u=r?0:Cn(n.paddingTop),l=r?0:Cn(n.paddingRight),d=r?0:Cn(n.paddingBottom),f=r?0:Cn(n.paddingLeft),p=r?0:Cn(n.borderTopWidth),m=r?0:Cn(n.borderRightWidth),w=r?0:Cn(n.borderBottomWidth),g=r?0:Cn(n.borderLeftWidth),b=f+l,h=u+d,v=g+m,y=p+w,S=s?e.offsetHeight-y-e.clientHeight:0,R=a?e.offsetWidth-v-e.clientWidth:0,E=o?b+v:0,k=o?h+y:0,$=r?r.width:Cn(n.width)-E-R,N=r?r.height:Cn(n.height)-k-S,I=$+b+R+v,K=N+h+S+y,H=fo({devicePixelContentBoxSize:ni(Math.round($*devicePixelRatio),Math.round(N*devicePixelRatio),i),borderBoxSize:ni(I,K,i),contentBoxSize:ni($,N,i),contentRect:new L0(f,u,$,N)});return Us.set(e,H),H},U0=function(e,t,n){var r=z0(e,n),o=r.borderBoxSize,i=r.contentBoxSize,a=r.devicePixelContentBoxSize;switch(t){case Va.DEVICE_PIXEL_CONTENT_BOX:return a;case Va.BORDER_BOX:return o;default:return i}},hR=function(){function e(t){var n=z0(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=fo([n.borderBoxSize]),this.contentBoxSize=fo([n.contentBoxSize]),this.devicePixelContentBoxSize=fo([n.devicePixelContentBoxSize])}return e}(),B0=function(e){if(F0(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},mR=function(){var e=1/0,t=[];co.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(l){var d=new hR(l.target),f=B0(l.target);s.push(d),l.lastReportedSize=U0(l.target,l.observedBox),fe?n.activeTargets.push(o):n.skippedTargets.push(o))})})},vR=function(){var e=0;for(Pm(e);sR();)e=mR(),Pm(e);return lR()&&uR(),e>0},hc,W0=[],gR=function(){return W0.splice(0).forEach(function(e){return e()})},yR=function(e){if(!hc){var t=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return gR()}).observe(n,r),hc=function(){n.textContent="".concat(t?t--:t++)}}W0.push(e),hc()},wR=function(e){yR(function(){requestAnimationFrame(e)})},pl=0,xR=function(){return!!pl},bR=250,ER={attributes:!0,characterData:!0,childList:!0,subtree:!0},$m=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Tm=function(e){return e===void 0&&(e=0),Date.now()+e},mc=!1,SR=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=bR),!mc){mc=!0;var r=Tm(t);wR(function(){var o=!1;try{o=vR()}finally{if(mc=!1,t=r-Tm(),!xR())return;o?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,ER)};document.body?n():xa.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),$m.forEach(function(n){return xa.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),$m.forEach(function(n){return xa.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),Qd=new SR,Nm=function(e){!pl&&e>0&&Qd.start(),pl+=e,!pl&&Qd.stop()},CR=function(e){return!mp(e)&&!dR(e)&&getComputedStyle(e).display==="inline"},RR=function(){function e(t,n){this.target=t,this.observedBox=n||Va.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=U0(this.target,this.observedBox,!0);return CR(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),kR=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),Bs=new WeakMap,_m=function(e,t){for(var n=0;n=0&&(i&&co.splice(co.indexOf(r),1),r.observationTargets.splice(o,1),Nm(-1))},e.disconnect=function(t){var n=this,r=Bs.get(t);r.observationTargets.slice().forEach(function(o){return n.unobserve(t,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},e}(),PR=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Ws.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Cm(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Ws.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Cm(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Ws.unobserve(this,t)},e.prototype.disconnect=function(){Ws.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),Dm=function(t){var n=[],r=null,o=function(){for(var a=arguments.length,s=new Array(a),u=0;ur,[n]),n}function NR(e){e.cancel()}const _R=D0([WeakMap],(e,t)=>{const n=[],r=Dm(()=>{n.length>0&&(e.update(n),t(n)),n.length=0}),o=l=>{const d=l.offsetHeight;if(d>0){const f=Vd.get(l);if(f!==void 0){const p=e.get(f);p!==void 0&&d!==p.height&&n.push(f,d)}}r()},i=new Map,a=l=>{let d=0;for(;d{u(),i.forEach(NR)},s});function DR(e,t){var n;const{align:r="top",element:o=typeof window<"u"&&window,offset:i=0,height:a=typeof window<"u"?window.innerHeight:0}=t,s=ku({positioner:e,element:o,align:r,offset:i,height:a}),u=c.useRef(()=>{const m=s.current.element;return m&&"current"in m?m.current:m}).current,[l,d]=c.useReducer((m,w)=>{const g={position:m.position,index:m.index,prevTop:m.prevTop};if(w.type==="scrollToIndex"){var b;return{position:s.current.positioner.get((b=w.value)!==null&&b!==void 0?b:-1),index:w.value,prevTop:void 0}}else if(w.type==="setPosition")g.position=w.value;else if(w.type==="setPrevTop")g.prevTop=w.value;else if(w.type==="reset")return Om;return g},Om),f=A0(d,15);ya(u(),"scroll",()=>{if(!l.position&&l.index){const m=s.current.positioner.get(l.index);m&&d({type:"setPosition",value:m})}});const p=l.index!==void 0&&((n=s.current.positioner.get(l.index))===null||n===void 0?void 0:n.top);return c.useEffect(()=>{const m=u();if(!m)return;const{height:w,align:g,offset:b,positioner:h}=s.current;if(l.position){let v=l.position.top;g==="bottom"?v=v-w+l.position.height:g==="center"&&(v-=(w-l.position.height)/2),m.scrollTo(0,Math.max(0,v+=b));let y=!1;const S=setTimeout(()=>!y&&d({type:"reset"}),400);return()=>{y=!0,clearTimeout(S)}}else if(l.index!==void 0){let v=h.shortestColumn()/h.size()*l.index;l.prevTop&&(v=Math.max(v,l.prevTop+w)),m.scrollTo(0,v),f({type:"setPrevTop",value:v})}},[p,l,s,u,f]),c.useRef(m=>{d({type:"scrollToIndex",value:m})}).current}const Om={index:void 0,position:void 0,prevTop:void 0},OR=c.createElement;function V0(e){const t=c.useRef(null),n=D2({initialWidth:e.ssrWidth,initialHeight:e.ssrHeight}),r=eR(t,n),o=Object.assign({offset:r.offset,width:r.width||n[0],height:n[1],containerRef:t},e);o.positioner=nR(o),o.resizeObserver=TR(o.positioner);const i=DR(o.positioner,{height:o.height,offset:r.offset,align:typeof e.scrollToIndex=="object"?e.scrollToIndex.align:void 0}),a=e.scrollToIndex&&(typeof e.scrollToIndex=="number"?e.scrollToIndex:e.scrollToIndex.index);return c.useEffect(()=>{a!==void 0&&i(a)},[a,i]),OR(J2,o)}const vp=dp("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),dt=c.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const a=r?$i:"button";return x.jsx(a,{className:ge(vp({variant:t,size:n,className:e})),ref:i,...o})});dt.displayName="Button";const vc="focusScope.autoFocusOnMount",gc="focusScope.autoFocusOnUnmount",Mm={bubbles:!1,cancelable:!0},MR=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[s,u]=c.useState(null),l=Rt(o),d=Rt(i),f=c.useRef(null),p=ht(t,g=>u(g)),m=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let v=function(E){if(m.paused||!s)return;const k=E.target;s.contains(k)?f.current=k:lr(f.current,{select:!0})},y=function(E){if(m.paused||!s)return;const k=E.relatedTarget;k!==null&&(s.contains(k)||lr(f.current,{select:!0}))},S=function(E){if(document.activeElement===document.body)for(const $ of E)$.removedNodes.length>0&&lr(s)};var g=v,b=y,h=S;document.addEventListener("focusin",v),document.addEventListener("focusout",y);const R=new MutationObserver(S);return s&&R.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",y),R.disconnect()}}},[r,s,m.paused]),c.useEffect(()=>{if(s){Im.add(m);const g=document.activeElement;if(!s.contains(g)){const h=new CustomEvent(vc,Mm);s.addEventListener(vc,l),s.dispatchEvent(h),h.defaultPrevented||(jR(zR(H0(s)),{select:!0}),document.activeElement===g&&lr(s))}return()=>{s.removeEventListener(vc,l),setTimeout(()=>{const h=new CustomEvent(gc,Mm);s.addEventListener(gc,d),s.dispatchEvent(h),h.defaultPrevented||lr(g??document.body,{select:!0}),s.removeEventListener(gc,d),Im.remove(m)},0)}}},[s,l,d,m]);const w=c.useCallback(g=>{if(!n&&!r||m.paused)return;const b=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,h=document.activeElement;if(b&&h){const v=g.currentTarget,[y,S]=IR(v);y&&S?!g.shiftKey&&h===S?(g.preventDefault(),n&&lr(y,{select:!0})):g.shiftKey&&h===y&&(g.preventDefault(),n&&lr(S,{select:!0})):h===v&&g.preventDefault()}},[n,r,m.paused]);return c.createElement(De.div,X({tabIndex:-1},a,{ref:p,onKeyDown:w}))});function jR(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(lr(r,{select:t}),document.activeElement!==n)return}function IR(e){const t=H0(e),n=jm(t,e),r=jm(t.reverse(),e);return[n,r]}function H0(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function jm(e,t){for(const n of e)if(!AR(n,{upTo:t}))return n}function AR(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function LR(e){return e instanceof HTMLInputElement&&"select"in e}function lr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&LR(e)&&t&&e.select()}}const Im=FR();function FR(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Am(e,t),e.unshift(t)},remove(t){var n;e=Am(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Am(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zR(e){return e.filter(t=>t.tagName!=="A")}const UR=c.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...o}=e;return r?yu.createPortal(c.createElement(De.div,X({},o,{ref:t})),r):null});let yc=0;function BR(){c.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:Lm()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:Lm()),yc++,()=>{yc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),yc--}},[])}function Lm(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var Dn=function(){return Dn=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&i[i.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]0)&&!(o=r.next()).done;)i.push(o.value)}catch(s){a={error:s}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return i}function Gd(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r"u")return rk;var t=ok(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},ak=Y0(),ql="data-scroll-locked",sk=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(WR,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body[`).concat(ql,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(i,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(hl,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(ml,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(hl," .").concat(hl,` { + right: 0 `).concat(r,`; + } + + .`).concat(ml," .").concat(ml,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(ql,`] { + `).concat(VR,": ").concat(s,`px; + } +`)},lk=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,i=c.useMemo(function(){return ik(o)},[o]);return c.useEffect(function(){return document.body.setAttribute(ql,""),function(){document.body.removeAttribute(ql)}},[]),c.createElement(ak,{styles:sk(i,!t,o,n?"":"!important")})},Yd=!1;if(typeof window<"u")try{var Vs=Object.defineProperty({},"passive",{get:function(){return Yd=!0,!0}});window.addEventListener("test",Vs,Vs),window.removeEventListener("test",Vs,Vs)}catch{Yd=!1}var _o=Yd?{passive:!1}:!1,uk=function(e){return e.tagName==="TEXTAREA"},q0=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!uk(e)&&n[t]==="visible")},ck=function(e){return q0(e,"overflowY")},dk=function(e){return q0(e,"overflowX")},Um=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=X0(e,n);if(r){var o=J0(e,n),i=o[1],a=o[2];if(i>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},fk=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},pk=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},X0=function(e,t){return e==="v"?ck(t):dk(t)},J0=function(e,t){return e==="v"?fk(t):pk(t)},hk=function(e,t){return e==="h"&&t==="rtl"?-1:1},mk=function(e,t,n,r,o){var i=hk(e,window.getComputedStyle(t).direction),a=i*r,s=n.target,u=t.contains(s),l=!1,d=a>0,f=0,p=0;do{var m=J0(e,s),w=m[0],g=m[1],b=m[2],h=g-b-i*w;(w||h)&&X0(e,s)&&(f+=h,p+=w),s=s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return(d&&(o&&f===0||!o&&a>f)||!d&&(o&&p===0||!o&&-a>p))&&(l=!0),l},Hs=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Bm=function(e){return[e.deltaX,e.deltaY]},Wm=function(e){return e&&"current"in e?e.current:e},vk=function(e,t){return e[0]===t[0]&&e[1]===t[1]},gk=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},yk=0,Do=[];function wk(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),o=c.useState(yk++)[0],i=c.useState(function(){return Y0()})[0],a=c.useRef(e);c.useEffect(function(){a.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var g=Gd([e.lockRef.current],(e.shards||[]).map(Wm),!0).filter(Boolean);return g.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),g.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=c.useCallback(function(g,b){if("touches"in g&&g.touches.length===2)return!a.current.allowPinchZoom;var h=Hs(g),v=n.current,y="deltaX"in g?g.deltaX:v[0]-h[0],S="deltaY"in g?g.deltaY:v[1]-h[1],R,E=g.target,k=Math.abs(y)>Math.abs(S)?"h":"v";if("touches"in g&&k==="h"&&E.type==="range")return!1;var $=Um(k,E);if(!$)return!0;if($?R=k:(R=k==="v"?"h":"v",$=Um(k,E)),!$)return!1;if(!r.current&&"changedTouches"in g&&(y||S)&&(r.current=R),!R)return!0;var N=r.current||R;return mk(N,b,g,N==="h"?y:S,!0)},[]),u=c.useCallback(function(g){var b=g;if(!(!Do.length||Do[Do.length-1]!==i)){var h="deltaY"in b?Bm(b):Hs(b),v=t.current.filter(function(R){return R.name===b.type&&R.target===b.target&&vk(R.delta,h)})[0];if(v&&v.should){b.cancelable&&b.preventDefault();return}if(!v){var y=(a.current.shards||[]).map(Wm).filter(Boolean).filter(function(R){return R.contains(b.target)}),S=y.length>0?s(b,y[0]):!a.current.noIsolation;S&&b.cancelable&&b.preventDefault()}}},[]),l=c.useCallback(function(g,b,h,v){var y={name:g,delta:b,target:h,should:v};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(S){return S!==y})},1)},[]),d=c.useCallback(function(g){n.current=Hs(g),r.current=void 0},[]),f=c.useCallback(function(g){l(g.type,Bm(g),g.target,s(g,e.lockRef.current))},[]),p=c.useCallback(function(g){l(g.type,Hs(g),g.target,s(g,e.lockRef.current))},[]);c.useEffect(function(){return Do.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,_o),document.addEventListener("touchmove",u,_o),document.addEventListener("touchstart",d,_o),function(){Do=Do.filter(function(g){return g!==i}),document.removeEventListener("wheel",u,_o),document.removeEventListener("touchmove",u,_o),document.removeEventListener("touchstart",d,_o)}},[]);var m=e.removeScrollBar,w=e.inert;return c.createElement(c.Fragment,null,w?c.createElement(i,{styles:gk(o)}):null,m?c.createElement(lk,{gapMode:"margin"}):null)}const xk=qR(G0,wk);var Z0=c.forwardRef(function(e,t){return c.createElement($u,Dn({},e,{ref:t,sideCar:xk}))});Z0.classNames=$u.classNames;const bk=Z0;var Ek=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Oo=new WeakMap,Ks=new WeakMap,Qs={},Ec=0,e1=function(e){return e&&(e.host||e1(e.parentNode))},Sk=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=e1(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Ck=function(e,t,n,r){var o=Sk(t,Array.isArray(e)?e:[e]);Qs[n]||(Qs[n]=new WeakMap);var i=Qs[n],a=[],s=new Set,u=new Set(o),l=function(f){!f||s.has(f)||(s.add(f),l(f.parentNode))};o.forEach(l);var d=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(p){if(s.has(p))d(p);else{var m=p.getAttribute(r),w=m!==null&&m!=="false",g=(Oo.get(p)||0)+1,b=(i.get(p)||0)+1;Oo.set(p,g),i.set(p,b),a.push(p),g===1&&w&&Ks.set(p,!0),b===1&&p.setAttribute(n,"true"),w||p.setAttribute(r,"true")}})};return d(t),s.clear(),Ec++,function(){a.forEach(function(f){var p=Oo.get(f)-1,m=i.get(f)-1;Oo.set(f,p),i.set(f,m),p||(Ks.has(f)||f.removeAttribute(r),Ks.delete(f)),m||f.removeAttribute(n)}),Ec--,Ec||(Oo=new WeakMap,Oo=new WeakMap,Ks=new WeakMap,Qs={})}},Rk=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||Ek(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Ck(r,o,n,"aria-hidden")):function(){return null}};const t1="Dialog",[n1,r1]=Ro(t1),[kk,In]=n1(t1),Pk=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,s=c.useRef(null),u=c.useRef(null),[l=!1,d]=Su({prop:r,defaultProp:o,onChange:i});return c.createElement(kk,{scope:t,triggerRef:s,contentRef:u,contentId:ei(),titleId:ei(),descriptionId:ei(),open:l,onOpenChange:d,onOpenToggle:c.useCallback(()=>d(f=>!f),[d]),modal:a},n)},o1="DialogPortal",[$k,i1]=n1(o1,{forceMount:void 0}),Tk=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=In(o1,t);return c.createElement($k,{scope:t,forceMount:n},c.Children.map(r,a=>c.createElement(Zn,{present:n||i.open},c.createElement(UR,{asChild:!0,container:o},a))))},qd="DialogOverlay",Nk=c.forwardRef((e,t)=>{const n=i1(qd,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=In(qd,e.__scopeDialog);return i.modal?c.createElement(Zn,{present:r||i.open},c.createElement(_k,X({},o,{ref:t}))):null}),_k=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(qd,n);return c.createElement(bk,{as:$i,allowPinchZoom:!0,shards:[o.contentRef]},c.createElement(De.div,X({"data-state":l1(o.open)},r,{ref:t,style:{pointerEvents:"auto",...r.style}})))}),Ni="DialogContent",Dk=c.forwardRef((e,t)=>{const n=i1(Ni,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=In(Ni,e.__scopeDialog);return c.createElement(Zn,{present:r||i.open},i.modal?c.createElement(Ok,X({},o,{ref:t})):c.createElement(Mk,X({},o,{ref:t})))}),Ok=c.forwardRef((e,t)=>{const n=In(Ni,e.__scopeDialog),r=c.useRef(null),o=ht(t,n.contentRef,r);return c.useEffect(()=>{const i=r.current;if(i)return Rk(i)},[]),c.createElement(a1,X({},e,{ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:we(e.onCloseAutoFocus,i=>{var a;i.preventDefault(),(a=n.triggerRef.current)===null||a===void 0||a.focus()}),onPointerDownOutside:we(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&i.preventDefault()}),onFocusOutside:we(e.onFocusOutside,i=>i.preventDefault())}))}),Mk=c.forwardRef((e,t)=>{const n=In(Ni,e.__scopeDialog),r=c.useRef(!1),o=c.useRef(!1);return c.createElement(a1,X({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var a;if((a=e.onCloseAutoFocus)===null||a===void 0||a.call(e,i),!i.defaultPrevented){var s;r.current||(s=n.triggerRef.current)===null||s===void 0||s.focus(),i.preventDefault()}r.current=!1,o.current=!1},onInteractOutside:i=>{var a,s;(a=e.onInteractOutside)===null||a===void 0||a.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const u=i.target;((s=n.triggerRef.current)===null||s===void 0?void 0:s.contains(u))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}}))}),a1=c.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,s=In(Ni,n),u=c.useRef(null),l=ht(t,u);return BR(),c.createElement(c.Fragment,null,c.createElement(MR,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i},c.createElement(Qy,X({role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":l1(s.open)},a,{ref:l,onDismiss:()=>s.onOpenChange(!1)}))),!1)}),s1="DialogTitle",jk=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(s1,n);return c.createElement(De.h2,X({id:o.titleId},r,{ref:t}))}),Ik="DialogDescription",gp=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(Ik,n);return c.createElement(De.p,X({id:o.descriptionId},r,{ref:t}))}),Ak="DialogClose",Lk=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=In(Ak,n);return c.createElement(De.button,X({type:"button"},r,{ref:t,onClick:we(e.onClick,()=>o.onOpenChange(!1))}))});function l1(e){return e?"open":"closed"}const Fk="DialogTitleWarning",[zk,VT]=tS(Fk,{contentName:Ni,titleName:s1,docsSlug:"dialog"}),u1=Pk,c1=Tk,yp=Nk,wp=Dk,xp=jk,bp=gp,Ep=Lk,Uk="AlertDialog",[Bk,HT]=Ro(Uk,[r1]),zr=r1(),Wk=e=>{const{__scopeAlertDialog:t,...n}=e,r=zr(t);return c.createElement(u1,X({},r,n,{modal:!0}))},Vk=e=>{const{__scopeAlertDialog:t,...n}=e,r=zr(t);return c.createElement(c1,X({},r,n))},Hk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(yp,X({},o,r,{ref:t}))}),d1="AlertDialogContent",[Kk,Qk]=Bk(d1),Gk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...o}=e,i=zr(n),a=c.useRef(null),s=ht(t,a),u=c.useRef(null);return c.createElement(zk,{contentName:d1,titleName:Yk,docsSlug:"alert-dialog"},c.createElement(Kk,{scope:n,cancelRef:u},c.createElement(wp,X({role:"alertdialog"},i,o,{ref:s,onOpenAutoFocus:we(o.onOpenAutoFocus,l=>{var d;l.preventDefault(),(d=u.current)===null||d===void 0||d.focus({preventScroll:!0})}),onPointerDownOutside:l=>l.preventDefault(),onInteractOutside:l=>l.preventDefault()}),c.createElement(Ky,null,r),!1)))}),Yk="AlertDialogTitle",qk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(xp,X({},o,r,{ref:t}))}),Xk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(bp,X({},o,r,{ref:t}))}),Jk=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=zr(n);return c.createElement(Ep,X({},o,r,{ref:t}))}),Zk="AlertDialogCancel",eP=c.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:o}=Qk(Zk,n),i=zr(n),a=ht(t,o);return c.createElement(Ep,X({},i,r,{ref:a}))}),tP=Wk,nP=Vk,f1=Hk,p1=Gk,h1=Jk,m1=eP,v1=qk,g1=Xk,rP=tP,oP=nP,y1=c.forwardRef(({className:e,...t},n)=>x.jsx(f1,{className:ge("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));y1.displayName=f1.displayName;const w1=c.forwardRef(({className:e,...t},n)=>x.jsxs(oP,{children:[x.jsx(y1,{}),x.jsx(p1,{ref:n,className:ge("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));w1.displayName=p1.displayName;const x1=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col space-y-2 text-center sm:text-left",e),...t});x1.displayName="AlertDialogHeader";const b1=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});b1.displayName="AlertDialogFooter";const E1=c.forwardRef(({className:e,...t},n)=>x.jsx(v1,{ref:n,className:ge("text-lg font-semibold",e),...t}));E1.displayName=v1.displayName;const S1=c.forwardRef(({className:e,...t},n)=>x.jsx(g1,{ref:n,className:ge("text-sm text-muted-foreground",e),...t}));S1.displayName=g1.displayName;const C1=c.forwardRef(({className:e,...t},n)=>x.jsx(h1,{ref:n,className:ge(vp(),e),...t}));C1.displayName=h1.displayName;const R1=c.forwardRef(({className:e,...t},n)=>x.jsx(m1,{ref:n,className:ge(vp({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));R1.displayName=m1.displayName;const ri=u1,iP=c1,k1=c.forwardRef(({className:e,...t},n)=>x.jsx(yp,{ref:n,className:ge("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));k1.displayName=yp.displayName;const po=c.forwardRef(({className:e,children:t,...n},r)=>x.jsxs(iP,{children:[x.jsx(k1,{}),x.jsxs(wp,{ref:r,className:ge("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,x.jsxs(Ep,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[x.jsx(oC,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));po.displayName=wp.displayName;const ho=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});ho.displayName="DialogHeader";const Xl=({className:e,...t})=>x.jsx("div",{className:ge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Xl.displayName="DialogFooter";const Kn=c.forwardRef(({className:e,...t},n)=>x.jsx(xp,{ref:n,className:ge("text-lg font-semibold leading-none tracking-tight",e),...t}));Kn.displayName=xp.displayName;const Xd=c.forwardRef(({className:e,...t},n)=>x.jsx(bp,{ref:n,className:ge("text-sm text-muted-foreground",e),...t}));Xd.displayName=bp.displayName;function aP({item:e}){const t=hs(),[n,r]=M.useState(!1),[o,i]=M.useState(),[a,s]=M.useState(!1),u=Or({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/start`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),l=Or({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/stop`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}}),d=Or({mutationFn:async()=>await(await fetch(`/api/projects/${e.id}/delete`,{method:"POST",headers:{"Content-Type":"application/json"}})).json(),onSettled:()=>{t.invalidateQueries({queryKey:["projects"]})}});return c.useEffect(()=>{u.isPending?i("launch"):d.isPending?i("delete"):l.isPending?i("stop"):i(void 0),s(u.isPending||l.isPending||d.isPending)},[u.isPending,l.isPending,d.isPending]),x.jsxs(x.Fragment,{children:[x.jsx(ri,{onOpenChange:f=>s(f),open:!!o&&a,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[o==="launch"&&x.jsx(Kn,{children:"Launching project..."}),o==="stop"&&x.jsx(Kn,{children:"Stopping project..."}),o==="delete"&&x.jsx(Kn,{children:"Deleting project..."}),x.jsx(gp,{className:"mt-5 text-sm text-neutral-700 font-medium",children:"This could take a few moments."})]}),x.jsx("div",{className:"flex justify-center items-center",children:x.jsx(Ba,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),x.jsx(rP,{open:n,onOpenChange:f=>r(f),children:x.jsxs(w1,{children:[x.jsxs(x1,{children:[x.jsx(E1,{children:"Are you sure?"}),x.jsx(S1,{children:"This action cannot be undone. This will permanently delete your project's data. Your models will NOT be deleted."})]}),x.jsxs(b1,{children:[x.jsx(R1,{children:"Cancel"}),x.jsx(C1,{onClick:f=>{f.preventDefault(),r(!1),d.mutate()},children:"Delete"})]})]})}),x.jsx("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:x.jsxs("div",{className:"flex flex-col space-y-5",children:[x.jsxs("div",{className:"flex flex-col",children:[x.jsx("h1",{className:"text-lg font-semibold",children:e.state.name}),x.jsxs("p",{className:"mt-1 font-medium text-xs text-gray-500 font-mono",children:["ID: ",e.id]})]}),x.jsxs("div",{className:"flex flex-row space-x-2",children:[e.state.state==="ready"&&x.jsx(dt,{onClick:f=>{f.preventDefault(),u.mutate()},variant:"default",children:"Launch"}),e.state.state==="running"&&!!e.state.port&&x.jsx(dt,{variant:"default",asChild:!0,children:x.jsx("a",{href:`http://localhost:${e.state.port}`,target:"_blank",children:"Open"})}),e.state.state==="running"&&x.jsx(dt,{onClick:f=>{f.preventDefault(),l.mutate()},variant:"secondary",children:"Stop"}),(e.state.state==="ready"||e.state.state==="running")&&x.jsx(dt,{onClick:f=>{f.preventDefault(),r(!0)},variant:"destructive",children:"Delete"})]})]})})]})}function sP(){const e=_0({queryKey:["projects"],queryFn:async()=>await(await fetch("/api/projects")).json()});return e.isLoading?x.jsx("div",{children:"Loading..."}):e.isError?x.jsx("div",{children:"Something went wrong, please refresh the page."}):!e.data||e.data.length===0?x.jsx(x.Fragment,{}):x.jsx("div",{children:x.jsx(V0,{itemKey:(t,n)=>t===void 0?n:t.id,columnGutter:20,columnWidth:350,items:e.data,render:t=>x.jsx(aP,{item:t.data})},e.data.map(t=>t.id).join(","))})}function lP(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsxs("div",{className:"flex flex-row space-x-5 p-5",children:[x.jsx("a",{href:"/new",children:x.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[x.jsx("h1",{className:"text-lg font-semibold",children:"Create workflow"}),x.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Create a new ComfyUI project"})]})}),x.jsx("a",{href:"/import",children:x.jsxs("div",{className:"hover:bg-gray-200 cursor-pointer flex flex-col w-fit h-fit rounded-md bg-gray-100 p-5 border border-gray-300",children:[x.jsx("h1",{className:"text-lg font-semibold",children:"Import workflow"}),x.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:"Run an existing workflow with zero setup"})]})})]}),x.jsx("div",{className:"flex flex-col mt-5 p-5",children:x.jsx(sP,{})})]})}var P1={exports:{}},uP="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",cP=uP,dP=cP;function $1(){}function T1(){}T1.resetWarningCache=$1;var fP=function(){function e(r,o,i,a,s,u){if(u!==dP){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:T1,resetWarningCache:$1};return n.PropTypes=n,n};P1.exports=fP();var pP=P1.exports;const Ce=sf(pP);var hP=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function ms(e,t){var n=mP(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function mP(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=hP.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var vP=[".DS_Store","Thumbs.db"];function gP(e){return Ai(this,void 0,void 0,function(){return Li(this,function(t){return Jl(e)&&yP(e.dataTransfer)?[2,EP(e.dataTransfer,e.type)]:wP(e)?[2,xP(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,bP(e)]:[2,[]]})})}function yP(e){return Jl(e)}function wP(e){return Jl(e)&&Jl(e.target)}function Jl(e){return typeof e=="object"&&e!==null}function xP(e){return Jd(e.target.files).map(function(t){return ms(t)})}function bP(e){return Ai(this,void 0,void 0,function(){var t;return Li(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return ms(r)})]}})})}function EP(e,t){return Ai(this,void 0,void 0,function(){var n,r;return Li(this,function(o){switch(o.label){case 0:return e.items?(n=Jd(e.items).filter(function(i){return i.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(SP))]):[3,2];case 1:return r=o.sent(),[2,Vm(N1(r))];case 2:return[2,Vm(Jd(e.files).map(function(i){return ms(i)}))]}})})}function Vm(e){return e.filter(function(t){return vP.indexOf(t.name)===-1})}function Jd(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,Ym(n)];if(e.sizen)return[!1,Ym(n)]}return[!0,null]}function Qr(e){return e!=null}function FP(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles,s=e.validator;return!i&&t.length>1||i&&a>=1&&t.length>a?!1:t.every(function(u){var l=M1(u,n),d=Ha(l,1),f=d[0],p=j1(u,r,o),m=Ha(p,1),w=m[0],g=s?s(u):null;return f&&w&&!g})}function Zl(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Gs(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function Xm(e){e.preventDefault()}function zP(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function UP(e){return e.indexOf("Edge/")!==-1}function BP(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return zP(e)||UP(e)}function Rn(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function i$(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var Sp=c.forwardRef(function(e,t){var n=e.children,r=eu(e,GP),o=z1(r),i=o.open,a=eu(o,YP);return c.useImperativeHandle(t,function(){return{open:i}},[i]),M.createElement(c.Fragment,null,n(Le(Le({},a),{},{open:i})))});Sp.displayName="Dropzone";var F1={disabled:!1,getFilesFromEvent:gP,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Sp.defaultProps=F1;Sp.propTypes={children:Ce.func,accept:Ce.objectOf(Ce.arrayOf(Ce.string)),multiple:Ce.bool,preventDropOnDocument:Ce.bool,noClick:Ce.bool,noKeyboard:Ce.bool,noDrag:Ce.bool,noDragEventsBubbling:Ce.bool,minSize:Ce.number,maxSize:Ce.number,maxFiles:Ce.number,disabled:Ce.bool,getFilesFromEvent:Ce.func,onFileDialogCancel:Ce.func,onFileDialogOpen:Ce.func,useFsAccessApi:Ce.bool,autoFocus:Ce.bool,onDragEnter:Ce.func,onDragLeave:Ce.func,onDragOver:Ce.func,onDrop:Ce.func,onDropAccepted:Ce.func,onDropRejected:Ce.func,onError:Ce.func,validator:Ce.func};var nf={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function z1(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Le(Le({},F1),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,a=t.minSize,s=t.multiple,u=t.maxFiles,l=t.onDragEnter,d=t.onDragLeave,f=t.onDragOver,p=t.onDrop,m=t.onDropAccepted,w=t.onDropRejected,g=t.onFileDialogCancel,b=t.onFileDialogOpen,h=t.useFsAccessApi,v=t.autoFocus,y=t.preventDropOnDocument,S=t.noClick,R=t.noKeyboard,E=t.noDrag,k=t.noDragEventsBubbling,$=t.onError,N=t.validator,I=c.useMemo(function(){return HP(n)},[n]),K=c.useMemo(function(){return VP(n)},[n]),H=c.useMemo(function(){return typeof b=="function"?b:Zm},[b]),se=c.useMemo(function(){return typeof g=="function"?g:Zm},[g]),Y=c.useRef(null),te=c.useRef(null),xe=c.useReducer(a$,nf),A=Sc(xe,2),D=A[0],O=A[1],z=D.isFocused,L=D.isFileDialogActive,W=c.useRef(typeof window<"u"&&window.isSecureContext&&h&&WP()),ne=function(){!W.current&&L&&setTimeout(function(){if(te.current){var G=te.current.files;G.length||(O({type:"closeDialog"}),se())}},300)};c.useEffect(function(){return window.addEventListener("focus",ne,!1),function(){window.removeEventListener("focus",ne,!1)}},[te,L,se,W]);var Z=c.useRef([]),ce=function(G){Y.current&&Y.current.contains(G.target)||(G.preventDefault(),Z.current=[])};c.useEffect(function(){return y&&(document.addEventListener("dragover",Xm,!1),document.addEventListener("drop",ce,!1)),function(){y&&(document.removeEventListener("dragover",Xm),document.removeEventListener("drop",ce))}},[Y,y]),c.useEffect(function(){return!r&&v&&Y.current&&Y.current.focus(),function(){}},[Y,v,r]);var re=c.useCallback(function(F){$?$(F):console.error(F)},[$]),He=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F),Z.current=[].concat(JP(Z.current),[F.target]),Gs(F)&&Promise.resolve(o(F)).then(function(G){if(!(Zl(F)&&!k)){var Re=G.length,Oe=Re>0&&FP({files:G,accept:I,minSize:a,maxSize:i,multiple:s,maxFiles:u,validator:N}),tt=Re>0&&!Oe;O({isDragAccept:Oe,isDragReject:tt,isDragActive:!0,type:"setDraggedFiles"}),l&&l(F)}}).catch(function(G){return re(G)})},[o,l,re,k,I,a,i,s,u,N]),bt=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F);var G=Gs(F);if(G&&F.dataTransfer)try{F.dataTransfer.dropEffect="copy"}catch{}return G&&f&&f(F),!1},[f,k]),Vt=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F);var G=Z.current.filter(function(Oe){return Y.current&&Y.current.contains(Oe)}),Re=G.indexOf(F.target);Re!==-1&&G.splice(Re,1),Z.current=G,!(G.length>0)&&(O({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Gs(F)&&d&&d(F))},[Y,d,k]),jt=c.useCallback(function(F,G){var Re=[],Oe=[];F.forEach(function(tt){var lt=M1(tt,I),sn=Sc(lt,2),bn=sn[0],Et=sn[1],Wr=j1(tt,a,i),ee=Sc(Wr,2),me=ee[0],Ee=ee[1],nt=N?N(tt):null;if(bn&&me&&!nt)Re.push(tt);else{var mt=[Et,Ee];nt&&(mt=mt.concat(nt)),Oe.push({file:tt,errors:mt.filter(function(An){return An})})}}),(!s&&Re.length>1||s&&u>=1&&Re.length>u)&&(Re.forEach(function(tt){Oe.push({file:tt,errors:[LP]})}),Re.splice(0)),O({acceptedFiles:Re,fileRejections:Oe,type:"setFiles"}),p&&p(Re,Oe,G),Oe.length>0&&w&&w(Oe,G),Re.length>0&&m&&m(Re,G)},[O,s,I,a,i,u,p,m,w,N]),Ke=c.useCallback(function(F){F.preventDefault(),F.persist(),er(F),Z.current=[],Gs(F)&&Promise.resolve(o(F)).then(function(G){Zl(F)&&!k||jt(G,F)}).catch(function(G){return re(G)}),O({type:"reset"})},[o,jt,re,k]),qe=c.useCallback(function(){if(W.current){O({type:"openDialog"}),H();var F={multiple:s,types:K};window.showOpenFilePicker(F).then(function(G){return o(G)}).then(function(G){jt(G,null),O({type:"closeDialog"})}).catch(function(G){KP(G)?(se(G),O({type:"closeDialog"})):QP(G)?(W.current=!1,te.current?(te.current.value=null,te.current.click()):re(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):re(G)});return}te.current&&(O({type:"openDialog"}),H(),te.current.value=null,te.current.click())},[O,H,se,h,jt,re,K,s]),Ur=c.useCallback(function(F){!Y.current||!Y.current.isEqualNode(F.target)||(F.key===" "||F.key==="Enter"||F.keyCode===32||F.keyCode===13)&&(F.preventDefault(),qe())},[Y,qe]),ko=c.useCallback(function(){O({type:"focus"})},[]),Ae=c.useCallback(function(){O({type:"blur"})},[]),on=c.useCallback(function(){S||(BP()?setTimeout(qe,0):qe())},[S,qe]),wn=function(G){return r?null:G},Br=function(G){return R?null:wn(G)},an=function(G){return E?null:wn(G)},er=function(G){k&&G.stopPropagation()},xn=c.useMemo(function(){return function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},G=F.refKey,Re=G===void 0?"ref":G,Oe=F.role,tt=F.onKeyDown,lt=F.onFocus,sn=F.onBlur,bn=F.onClick,Et=F.onDragEnter,Wr=F.onDragOver,ee=F.onDragLeave,me=F.onDrop,Ee=eu(F,qP);return Le(Le(tf({onKeyDown:Br(Rn(tt,Ur)),onFocus:Br(Rn(lt,ko)),onBlur:Br(Rn(sn,Ae)),onClick:wn(Rn(bn,on)),onDragEnter:an(Rn(Et,He)),onDragOver:an(Rn(Wr,bt)),onDragLeave:an(Rn(ee,Vt)),onDrop:an(Rn(me,Ke)),role:typeof Oe=="string"&&Oe!==""?Oe:"presentation"},Re,Y),!r&&!R?{tabIndex:0}:{}),Ee)}},[Y,Ur,ko,Ae,on,He,bt,Vt,Ke,R,E,r]),tr=c.useCallback(function(F){F.stopPropagation()},[]),Ht=c.useMemo(function(){return function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},G=F.refKey,Re=G===void 0?"ref":G,Oe=F.onChange,tt=F.onClick,lt=eu(F,XP),sn=tf({accept:I,multiple:s,type:"file",style:{display:"none"},onChange:wn(Rn(Oe,Ke)),onClick:wn(Rn(tt,tr)),tabIndex:-1},Re,te);return Le(Le({},sn),lt)}},[te,n,s,Ke,r]);return Le(Le({},D),{},{isFocused:z&&!r,getRootProps:xn,getInputProps:Ht,rootRef:Y,inputRef:te,open:wn(qe)})}function a$(e,t){switch(t.type){case"focus":return Le(Le({},e),{},{isFocused:!0});case"blur":return Le(Le({},e),{},{isFocused:!1});case"openDialog":return Le(Le({},nf),{},{isFileDialogActive:!0});case"closeDialog":return Le(Le({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Le(Le({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Le(Le({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Le({},nf);default:return e}}function Zm(){}const vs=c.forwardRef(({className:e,type:t,...n},r)=>x.jsx("input",{type:t,className:ge("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));vs.displayName="Input";const U1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));U1.displayName="Card";const B1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("flex flex-col space-y-1.5 p-6",e),...t}));B1.displayName="CardHeader";const W1=c.forwardRef(({className:e,...t},n)=>x.jsx("h3",{ref:n,className:ge("text-2xl font-semibold leading-none tracking-tight",e),...t}));W1.displayName="CardTitle";const V1=c.forwardRef(({className:e,...t},n)=>x.jsx("p",{ref:n,className:ge("text-sm text-muted-foreground",e),...t}));V1.displayName="CardDescription";const H1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("p-6 pt-0",e),...t}));H1.displayName="CardContent";const K1=c.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:ge("flex items-center p-6 pt-0",e),...t}));K1.displayName="CardFooter";const rf="horizontal",s$=["horizontal","vertical"],Q1=c.forwardRef((e,t)=>{const{decorative:n,orientation:r=rf,...o}=e,i=G1(r)?r:rf,s=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return c.createElement(De.div,X({"data-orientation":i},s,o,{ref:t}))});Q1.propTypes={orientation(e,t,n){const r=e[t],o=String(r);return r&&!G1(r)?new Error(l$(o,n)):null}};function l$(e,t){return`Invalid prop \`orientation\` of value \`${e}\` supplied to \`${t}\`, expected one of: + - horizontal + - vertical + +Defaulting to \`${rf}\`.`}function G1(e){return s$.includes(e)}const Y1=Q1,q1=c.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},o)=>x.jsx(Y1,{ref:o,decorative:n,orientation:t,className:ge("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));q1.displayName=Y1.displayName;const u$=c.forwardRef((e,t)=>c.createElement(De.label,X({},e,{ref:t,onMouseDown:n=>{var r;(r=e.onMouseDown)===null||r===void 0||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault()}}))),X1=u$,c$=dp("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),mo=c.forwardRef(({className:e,...t},n)=>x.jsx(X1,{ref:n,className:ge(c$(),e),...t}));mo.displayName=X1.displayName;function d$(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}d$(`html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset),env(safe-area-inset-bottom))}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast] [data-description]{font-weight:400;line-height:1.4;color:inherit}[data-sonner-toast] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast] [data-icon]>*{flex-shrink:0}[data-sonner-toast] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toast][data-theme=dark] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;background:var(--gray1);color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - 32px)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true] [data-sonner-toast][data-type=success],[data-rich-colors=true] [data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true] [data-sonner-toast][data-type=info],[data-rich-colors=true] [data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true] [data-sonner-toast][data-type=warning],[data-rich-colors=true] [data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true] [data-sonner-toast][data-type=error],[data-rich-colors=true] [data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +`);var f$=e=>{switch(e){case"success":return m$;case"info":return g$;case"warning":return v$;case"error":return y$;default:return null}},p$=Array(12).fill(0),h$=({visible:e})=>M.createElement("div",{className:"sonner-loading-wrapper","data-visible":e},M.createElement("div",{className:"sonner-spinner"},p$.map((t,n)=>M.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),m$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),v$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),g$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),y$=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),w$=()=>{let[e,t]=M.useState(!1);return M.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},of=1,x$=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:of++,i=this.toasts.find(s=>s.id===o),a=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...e,id:o,title:n}),{...s,...e,id:o,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0;return r.then(i=>{if(i&&typeof i.ok=="boolean"&&!i.ok){o=!1;let a=typeof t.error=="function"?t.error(`HTTP error! status: ${i.status}`):t.error,s=typeof t.description=="function"?t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:n,type:"error",message:a,description:s})}else if(t.success!==void 0){o=!1;let a=typeof t.success=="function"?t.success(i):t.success,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"success",message:a,description:s})}}).catch(i=>{if(t.error!==void 0){o=!1;let a=typeof t.error=="function"?t.error(i):t.error,s=typeof t.description=="function"?t.description(i):t.description;this.create({id:n,type:"error",message:a,description:s})}}).finally(()=>{var i;o&&(this.dismiss(n),n=void 0),(i=t.finally)==null||i.call(t)}),n},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||of++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},un=new x$,b$=(e,t)=>{let n=(t==null?void 0:t.id)||of++;return un.addToast({title:e,...t,id:n}),n},E$=b$,Ys=Object.assign(E$,{success:un.success,info:un.info,warning:un.warning,error:un.error,custom:un.custom,message:un.message,promise:un.promise,dismiss:un.dismiss,loading:un.loading}),S$=3,C$="32px",R$=4e3,k$=356,J1=14,P$=20,$$=200;function T$(...e){return e.filter(Boolean).join(" ")}var N$=e=>{var t,n,r,o,i,a,s;let{invert:u,toast:l,unstyled:d,interacting:f,setHeights:p,visibleToasts:m,heights:w,index:g,toasts:b,expanded:h,removeToast:v,closeButton:y,style:S,cancelButtonStyle:R,actionButtonStyle:E,className:k="",descriptionClassName:$="",duration:N,position:I,gap:K=J1,loadingIcon:H,expandByDefault:se,classNames:Y,icons:te,closeButtonAriaLabel:xe="Close toast",pauseWhenPageIsHidden:A,cn:D}=e,[O,z]=M.useState(!1),[L,W]=M.useState(!1),[ne,Z]=M.useState(!1),[ce,re]=M.useState(!1),[He,bt]=M.useState(0),[Vt,jt]=M.useState(0),Ke=M.useRef(null),qe=M.useRef(null),Ur=g===0,ko=g+1<=m,Ae=l.type,on=l.dismissible!==!1,wn=l.className||"",Br=l.descriptionClassName||"",an=M.useMemo(()=>w.findIndex(ee=>ee.toastId===l.id)||0,[w,l.id]),er=M.useMemo(()=>{var ee;return(ee=l.closeButton)!=null?ee:y},[l.closeButton,y]),xn=M.useMemo(()=>l.duration||N||R$,[l.duration,N]),tr=M.useRef(0),Ht=M.useRef(0),F=M.useRef(0),G=M.useRef(null),[Re,Oe]=I.split("-"),tt=M.useMemo(()=>w.reduce((ee,me,Ee)=>Ee>=an?ee:ee+me.height,0),[w,an]),lt=w$(),sn=l.invert||u,bn=Ae==="loading";Ht.current=M.useMemo(()=>an*K+tt,[an,tt]),M.useEffect(()=>{z(!0)},[]),M.useLayoutEffect(()=>{if(!O)return;let ee=qe.current,me=ee.style.height;ee.style.height="auto";let Ee=ee.getBoundingClientRect().height;ee.style.height=me,jt(Ee),p(nt=>nt.find(mt=>mt.toastId===l.id)?nt.map(mt=>mt.toastId===l.id?{...mt,height:Ee}:mt):[{toastId:l.id,height:Ee,position:l.position},...nt])},[O,l.title,l.description,p,l.id]);let Et=M.useCallback(()=>{W(!0),bt(Ht.current),p(ee=>ee.filter(me=>me.toastId!==l.id)),setTimeout(()=>{v(l)},$$)},[l,v,p,Ht]);M.useEffect(()=>{if(l.promise&&Ae==="loading"||l.duration===1/0||l.type==="loading")return;let ee,me=xn;return h||f||A&<?(()=>{if(F.current{var Ee;(Ee=l.onAutoClose)==null||Ee.call(l,l),Et()},me)),()=>clearTimeout(ee)},[h,f,se,l,xn,Et,l.promise,Ae,A,lt]),M.useEffect(()=>{let ee=qe.current;if(ee){let me=ee.getBoundingClientRect().height;return jt(me),p(Ee=>[{toastId:l.id,height:me,position:l.position},...Ee]),()=>p(Ee=>Ee.filter(nt=>nt.toastId!==l.id))}},[p,l.id]),M.useEffect(()=>{l.delete&&Et()},[Et,l.delete]);function Wr(){return te!=null&&te.loading?M.createElement("div",{className:"loader","data-visible":Ae==="loading"},te.loading):H?M.createElement("div",{className:"sonner-loader","data-visible":Ae==="loading"},H):M.createElement(h$,{visible:Ae==="loading"})}return M.createElement("li",{"aria-live":l.important?"assertive":"polite","aria-atomic":"true",role:"status",tabIndex:0,ref:qe,className:D(k,wn,Y==null?void 0:Y.toast,(t=l==null?void 0:l.classNames)==null?void 0:t.toast,Y==null?void 0:Y.default,Y==null?void 0:Y[Ae],(n=l==null?void 0:l.classNames)==null?void 0:n[Ae]),"data-sonner-toast":"","data-styled":!(l.jsx||l.unstyled||d),"data-mounted":O,"data-promise":!!l.promise,"data-removed":L,"data-visible":ko,"data-y-position":Re,"data-x-position":Oe,"data-index":g,"data-front":Ur,"data-swiping":ne,"data-dismissible":on,"data-type":Ae,"data-invert":sn,"data-swipe-out":ce,"data-expanded":!!(h||se&&O),style:{"--index":g,"--toasts-before":g,"--z-index":b.length-g,"--offset":`${L?He:Ht.current}px`,"--initial-height":se?"auto":`${Vt}px`,...S,...l.style},onPointerDown:ee=>{bn||!on||(Ke.current=new Date,bt(Ht.current),ee.target.setPointerCapture(ee.pointerId),ee.target.tagName!=="BUTTON"&&(Z(!0),G.current={x:ee.clientX,y:ee.clientY}))},onPointerUp:()=>{var ee,me,Ee,nt;if(ce||!on)return;G.current=null;let mt=Number(((ee=qe.current)==null?void 0:ee.style.getPropertyValue("--swipe-amount").replace("px",""))||0),An=new Date().getTime()-((me=Ke.current)==null?void 0:me.getTime()),Tu=Math.abs(mt)/An;if(Math.abs(mt)>=P$||Tu>.11){bt(Ht.current),(Ee=l.onDismiss)==null||Ee.call(l,l),Et(),re(!0);return}(nt=qe.current)==null||nt.style.setProperty("--swipe-amount","0px"),Z(!1)},onPointerMove:ee=>{var me;if(!G.current||!on)return;let Ee=ee.clientY-G.current.y,nt=ee.clientX-G.current.x,mt=(Re==="top"?Math.min:Math.max)(0,Ee),An=ee.pointerType==="touch"?10:2;Math.abs(mt)>An?(me=qe.current)==null||me.style.setProperty("--swipe-amount",`${Ee}px`):Math.abs(nt)>An&&(G.current=null)}},er&&!l.jsx?M.createElement("button",{"aria-label":xe,"data-disabled":bn,"data-close-button":!0,onClick:bn||!on?()=>{}:()=>{var ee;Et(),(ee=l.onDismiss)==null||ee.call(l,l)},className:D(Y==null?void 0:Y.closeButton,(r=l==null?void 0:l.classNames)==null?void 0:r.closeButton)},M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},M.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),M.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))):null,l.jsx||M.isValidElement(l.title)?l.jsx||l.title:M.createElement(M.Fragment,null,Ae||l.icon||l.promise?M.createElement("div",{"data-icon":""},l.promise||l.type==="loading"&&!l.icon?l.icon||(te==null?void 0:te.loading)||Wr():null,l.type!=="loading"?l.icon||(te==null?void 0:te[Ae])||f$(Ae):null):null,M.createElement("div",{"data-content":""},M.createElement("div",{"data-title":"",className:D(Y==null?void 0:Y.title,(o=l==null?void 0:l.classNames)==null?void 0:o.title)},l.title),l.description?M.createElement("div",{"data-description":"",className:D($,Br,Y==null?void 0:Y.description,(i=l==null?void 0:l.classNames)==null?void 0:i.description)},l.description):null),l.cancel?M.createElement("button",{"data-button":!0,"data-cancel":!0,style:l.cancelButtonStyle||R,onClick:ee=>{var me;on&&(Et(),(me=l.cancel)!=null&&me.onClick&&l.cancel.onClick(ee))},className:D(Y==null?void 0:Y.cancelButton,(a=l==null?void 0:l.classNames)==null?void 0:a.cancelButton)},l.cancel.label):null,l.action?M.createElement("button",{"data-button":"",style:l.actionButtonStyle||E,onClick:ee=>{var me;(me=l.action)==null||me.onClick(ee),!ee.defaultPrevented&&Et()},className:D(Y==null?void 0:Y.actionButton,(s=l==null?void 0:l.classNames)==null?void 0:s.actionButton)},l.action.label):null))};function ev(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var _$=e=>{let{invert:t,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:i,className:a,offset:s,theme:u="light",richColors:l,duration:d,style:f,visibleToasts:p=S$,toastOptions:m,dir:w=ev(),gap:g,loadingIcon:b,icons:h,containerAriaLabel:v="Notifications",pauseWhenPageIsHidden:y,cn:S=T$}=e,[R,E]=M.useState([]),k=M.useMemo(()=>Array.from(new Set([n].concat(R.filter(L=>L.position).map(L=>L.position)))),[R,n]),[$,N]=M.useState([]),[I,K]=M.useState(!1),[H,se]=M.useState(!1),[Y,te]=M.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),xe=M.useRef(null),A=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),D=M.useRef(null),O=M.useRef(!1),z=M.useCallback(L=>E(W=>W.filter(({id:ne})=>ne!==L.id)),[]);return M.useEffect(()=>un.subscribe(L=>{if(L.dismiss){E(W=>W.map(ne=>ne.id===L.id?{...ne,delete:!0}:ne));return}setTimeout(()=>{yu.flushSync(()=>{E(W=>{let ne=W.findIndex(Z=>Z.id===L.id);return ne!==-1?[...W.slice(0,ne),{...W[ne],...L},...W.slice(ne+1)]:[L,...W]})})})}),[]),M.useEffect(()=>{if(u!=="system"){te(u);return}u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?te("dark"):te("light")),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:L})=>{te(L?"dark":"light")})},[u]),M.useEffect(()=>{R.length<=1&&K(!1)},[R]),M.useEffect(()=>{let L=W=>{var ne,Z;r.every(ce=>W[ce]||W.code===ce)&&(K(!0),(ne=xe.current)==null||ne.focus()),W.code==="Escape"&&(document.activeElement===xe.current||(Z=xe.current)!=null&&Z.contains(document.activeElement))&&K(!1)};return document.addEventListener("keydown",L),()=>document.removeEventListener("keydown",L)},[r]),M.useEffect(()=>{if(xe.current)return()=>{D.current&&(D.current.focus({preventScroll:!0}),D.current=null,O.current=!1)}},[xe.current]),R.length?M.createElement("section",{"aria-label":`${v} ${A}`,tabIndex:-1},k.map((L,W)=>{var ne;let[Z,ce]=L.split("-");return M.createElement("ol",{key:L,dir:w==="auto"?ev():w,tabIndex:-1,ref:xe,className:a,"data-sonner-toaster":!0,"data-theme":Y,"data-rich-colors":l,"data-y-position":Z,"data-x-position":ce,style:{"--front-toast-height":`${((ne=$[0])==null?void 0:ne.height)||0}px`,"--offset":typeof s=="number"?`${s}px`:s||C$,"--width":`${k$}px`,"--gap":`${J1}px`,...f},onBlur:re=>{O.current&&!re.currentTarget.contains(re.relatedTarget)&&(O.current=!1,D.current&&(D.current.focus({preventScroll:!0}),D.current=null))},onFocus:re=>{re.target instanceof HTMLElement&&re.target.dataset.dismissible==="false"||O.current||(O.current=!0,D.current=re.relatedTarget)},onMouseEnter:()=>K(!0),onMouseMove:()=>K(!0),onMouseLeave:()=>{H||K(!1)},onPointerDown:re=>{re.target instanceof HTMLElement&&re.target.dataset.dismissible==="false"||se(!0)},onPointerUp:()=>se(!1)},R.filter(re=>!re.position&&W===0||re.position===L).map((re,He)=>{var bt,Vt;return M.createElement(N$,{key:re.id,icons:h,index:He,toast:re,duration:(bt=m==null?void 0:m.duration)!=null?bt:d,className:m==null?void 0:m.className,descriptionClassName:m==null?void 0:m.descriptionClassName,invert:t,visibleToasts:p,closeButton:(Vt=m==null?void 0:m.closeButton)!=null?Vt:i,interacting:H,position:L,style:m==null?void 0:m.style,unstyled:m==null?void 0:m.unstyled,classNames:m==null?void 0:m.classNames,cancelButtonStyle:m==null?void 0:m.cancelButtonStyle,actionButtonStyle:m==null?void 0:m.actionButtonStyle,removeToast:z,toasts:R.filter(jt=>jt.position==re.position),heights:$.filter(jt=>jt.position==re.position),setHeights:N,expandByDefault:o,gap:g,loadingIcon:b,expanded:I,pauseWhenPageIsHidden:y,cn:S})}))})):null};const Cc="rovingFocusGroup.onEntryFocus",D$={bubbles:!1,cancelable:!0},Cp="RovingFocusGroup",[af,Z1,O$]=ap(Cp),[M$,ew]=Ro(Cp,[O$]),[j$,I$]=M$(Cp),A$=c.forwardRef((e,t)=>c.createElement(af.Provider,{scope:e.__scopeRovingFocusGroup},c.createElement(af.Slot,{scope:e.__scopeRovingFocusGroup},c.createElement(L$,X({},e,{ref:t}))))),L$=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:u,onEntryFocus:l,...d}=e,f=c.useRef(null),p=ht(t,f),m=ip(i),[w=null,g]=Su({prop:a,defaultProp:s,onChange:u}),[b,h]=c.useState(!1),v=Rt(l),y=Z1(n),S=c.useRef(!1),[R,E]=c.useState(0);return c.useEffect(()=>{const k=f.current;if(k)return k.addEventListener(Cc,v),()=>k.removeEventListener(Cc,v)},[v]),c.createElement(j$,{scope:n,orientation:r,dir:m,loop:o,currentTabStopId:w,onItemFocus:c.useCallback(k=>g(k),[g]),onItemShiftTab:c.useCallback(()=>h(!0),[]),onFocusableItemAdd:c.useCallback(()=>E(k=>k+1),[]),onFocusableItemRemove:c.useCallback(()=>E(k=>k-1),[])},c.createElement(De.div,X({tabIndex:b||R===0?-1:0,"data-orientation":r},d,{ref:p,style:{outline:"none",...e.style},onMouseDown:we(e.onMouseDown,()=>{S.current=!0}),onFocus:we(e.onFocus,k=>{const $=!S.current;if(k.target===k.currentTarget&&$&&!b){const N=new CustomEvent(Cc,D$);if(k.currentTarget.dispatchEvent(N),!N.defaultPrevented){const I=y().filter(te=>te.focusable),K=I.find(te=>te.active),H=I.find(te=>te.id===w),Y=[K,H,...I].filter(Boolean).map(te=>te.ref.current);tw(Y)}}S.current=!1}),onBlur:we(e.onBlur,()=>h(!1))})))}),F$="RovingFocusGroupItem",z$=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,...a}=e,s=ei(),u=i||s,l=I$(F$,n),d=l.currentTabStopId===u,f=Z1(n),{onFocusableItemAdd:p,onFocusableItemRemove:m}=l;return c.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),c.createElement(af.ItemSlot,{scope:n,id:u,focusable:r,active:o},c.createElement(De.span,X({tabIndex:d?0:-1,"data-orientation":l.orientation},a,{ref:t,onMouseDown:we(e.onMouseDown,w=>{r?l.onItemFocus(u):w.preventDefault()}),onFocus:we(e.onFocus,()=>l.onItemFocus(u)),onKeyDown:we(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){l.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const g=W$(w,l.orientation,l.dir);if(g!==void 0){w.preventDefault();let h=f().filter(v=>v.focusable).map(v=>v.ref.current);if(g==="last")h.reverse();else if(g==="prev"||g==="next"){g==="prev"&&h.reverse();const v=h.indexOf(w.currentTarget);h=l.loop?V$(h,v+1):h.slice(v+1)}setTimeout(()=>tw(h))}})})))}),U$={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function B$(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function W$(e,t,n){const r=B$(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return U$[r]}function tw(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function V$(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const H$=A$,K$=z$;function Q$(e){const[t,n]=c.useState(void 0);return bo(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let a,s;if("borderBoxSize"in i){const u=i.borderBoxSize,l=Array.isArray(u)?u[0]:u;a=l.inlineSize,s=l.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const nw="Radio",[G$,rw]=Ro(nw),[Y$,q$]=G$(nw),X$=c.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:i,disabled:a,value:s="on",onCheck:u,...l}=e,[d,f]=c.useState(null),p=ht(t,g=>f(g)),m=c.useRef(!1),w=d?!!d.closest("form"):!0;return c.createElement(Y$,{scope:n,checked:o,disabled:a},c.createElement(De.button,X({type:"button",role:"radio","aria-checked":o,"data-state":ow(o),"data-disabled":a?"":void 0,disabled:a,value:s},l,{ref:p,onClick:we(e.onClick,g=>{o||u==null||u(),w&&(m.current=g.isPropagationStopped(),m.current||g.stopPropagation())})})),w&&c.createElement(eT,{control:d,bubbles:!m.current,name:r,value:s,checked:o,required:i,disabled:a,style:{transform:"translateX(-100%)"}}))}),J$="RadioIndicator",Z$=c.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...o}=e,i=q$(J$,n);return c.createElement(Zn,{present:r||i.checked},c.createElement(De.span,X({"data-state":ow(i.checked),"data-disabled":i.disabled?"":void 0},o,{ref:t})))}),eT=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,i=c.useRef(null),a=Yy(n),s=Q$(t);return c.useEffect(()=>{const u=i.current,l=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(l,"checked").set;if(a!==n&&f){const p=new Event("click",{bubbles:r});f.call(u,n),u.dispatchEvent(p)}},[a,n,r]),c.createElement("input",X({type:"radio","aria-hidden":!0,defaultChecked:n},o,{tabIndex:-1,ref:i,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function ow(e){return e?"checked":"unchecked"}const tT=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],iw="RadioGroup",[nT,KT]=Ro(iw,[ew,rw]),aw=ew(),sw=rw(),[rT,oT]=nT(iw),iT=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:i,required:a=!1,disabled:s=!1,orientation:u,dir:l,loop:d=!0,onValueChange:f,...p}=e,m=aw(n),w=ip(l),[g,b]=Su({prop:i,defaultProp:o,onChange:f});return c.createElement(rT,{scope:n,name:r,required:a,disabled:s,value:g,onValueChange:b},c.createElement(H$,X({asChild:!0},m,{orientation:u,dir:w,loop:d}),c.createElement(De.div,X({role:"radiogroup","aria-required":a,"aria-orientation":u,"data-disabled":s?"":void 0,dir:w},p,{ref:t}))))}),aT="RadioGroupItem",sT=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...o}=e,i=oT(aT,n),a=i.disabled||r,s=aw(n),u=sw(n),l=c.useRef(null),d=ht(t,l),f=i.value===o.value,p=c.useRef(!1);return c.useEffect(()=>{const m=g=>{tT.includes(g.key)&&(p.current=!0)},w=()=>p.current=!1;return document.addEventListener("keydown",m),document.addEventListener("keyup",w),()=>{document.removeEventListener("keydown",m),document.removeEventListener("keyup",w)}},[]),c.createElement(K$,X({asChild:!0},s,{focusable:!a,active:f}),c.createElement(X$,X({disabled:a,required:i.required,checked:f},u,o,{name:i.name,ref:d,onCheck:()=>i.onValueChange(o.value),onKeyDown:we(m=>{m.key==="Enter"&&m.preventDefault()}),onFocus:we(o.onFocus,()=>{var m;p.current&&((m=l.current)===null||m===void 0||m.click())})})))}),lT=c.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,o=sw(n);return c.createElement(Z$,X({},o,r,{ref:t}))}),lw=iT,uw=sT,uT=lT,cw=c.forwardRef(({className:e,...t},n)=>x.jsx(lw,{className:ge("grid gap-2",e),...t,ref:n}));cw.displayName=lw.displayName;const vl=c.forwardRef(({className:e,...t},n)=>x.jsx(uw,{ref:n,className:ge("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:x.jsx(uT,{className:"flex items-center justify-center",children:x.jsx(ZS,{className:"h-2.5 w-2.5 fill-current text-current"})})}));vl.displayName=uw.displayName;function cT({failed_model_id:e,mutationToUse:t}){const[n,r]=c.useState(""),[o,i]=c.useState("hf"),[a,s]=c.useState(!1),u=()=>o==="hf"?"https://huggingface.co/h94/IP-Adapter-FaceID/blob/main/ip-adapter-faceid_sd15_lora.safetensors":o==="civit"?"https://civitai.com/models/4201/realistic-vision-v60-b1?modelVersionId=130072":"custom.com";return x.jsxs("div",{className:"w-full flex flex-col items-start gap-2",children:[x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx(tC,{className:"w-4 h-4 text-green-400"}),x.jsx("p",{className:"text-white font-semibold",children:"Or import from URL"})]}),x.jsx("div",{className:"flex flex-row items-center space-x-4",children:x.jsxs(cw,{className:"flex flex-row",defaultValue:"hf",onValueChange:l=>{(l==="hf"||l==="civit"||l==="custom")&&i(l)},children:[x.jsxs("div",{className:"flex items-center space-x-2",children:[x.jsx(vl,{className:"text-white border-white",value:"hf",id:"r1"}),x.jsx(mo,{className:"text-white",htmlFor:"r1",children:"Hugging Face"})]}),x.jsxs("div",{className:"flex items-center space-x-2",children:[x.jsx(vl,{className:"text-white border-white",value:"civit",id:"r2"}),x.jsx(mo,{className:"text-white",htmlFor:"r2",children:"Civit AI"})]}),x.jsxs("div",{className:"flex items-center space-x-2",children:[x.jsx(vl,{className:"text-white border-white",value:"custom",id:"r3"}),x.jsx(mo,{className:"text-white",htmlFor:"r3",children:"Custom"})]})]})}),x.jsxs("div",{className:"w-full flex flex-row space-x-2 items-center",children:[x.jsx(vs,{className:"border-[#222] bg-[#000] text-white",placeholder:u(),value:n,onChange:l=>{l.preventDefault(),r(l.target.value)}}),x.jsx(dt,{onClick:l=>{l.preventDefault(),s(!0),t.mutate({id_to_resolve:e,url:n,type:o})},children:a?x.jsx(Ba,{className:"w-4 h-4 animate-spin text-white"}):"Import"})]})]})}const dT={flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out"},fT={borderColor:"#2196f3"},pT={borderColor:"#00e676"},hT={borderColor:"#ff1744"};function mT(){const[e,t]=M.useState(!0),[n,r]=M.useState(),o=hs(),i=Wy();M.useEffect(()=>{t(!1)},[]);const[a,s]=M.useState(""),[u,l]=M.useState(!1),[d,f]=M.useState(!1),[p,m]=M.useState([]),[w,g]=M.useState(""),[b,h]=c.useState(!1),[v,y]=c.useState(!1),[S,R]=c.useState(!1),E=Or({mutationFn:async({import_json:A,name:D})=>{var W;const O=JSON.parse(A),L=await(await fetch("/api/import_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({import_json:O,name:D})})).json();return!L.success&&((W=L.missing_models)==null?void 0:W.length)>0?(console.log(`SUCCESS fr is false && missing_models length is greater than 0! data.success: ${L.success}. data.missing_models: ${L.missing_models}`),m(L.missing_models)):i("/"),L},onSuccess:async()=>{await o.invalidateQueries({queryKey:["projects"]})}}),k=Or({mutationFn:async({id_to_resolve:A,backup_to_use:D})=>{g(A),console.log("resolveMissingModelMutationWithBackup id_to_resolve:",A),console.log("resolveMissingModelMutationWithBackup backup_to_use:",D);const O=p.find(ne=>ne.id===A),z=O==null?void 0:O.backup_models.find(ne=>ne.id===D);if(!O||!z||!n){Ys.error("something went wrong when resolving your model. please try again.");return}const L=n.replace(new RegExp(O.file_name,"g"),z.file_name);r(L);const W=p.map(ne=>ne.id===A?{...ne,resolved:!0,new_file_name:z.file_name}:ne);m(W),Ys.success("successfully resolved")},onSuccess:async()=>{g("")}}),$=Or({mutationFn:async({id_to_resolve:A,url:D,type:O})=>{g(A),console.log("resolveMissingModelMutationWithURL id_to_resolve:",A),console.log("resolveMissingModelMutationWithURL url:",D),console.log("resolveMissingModelMutationWithURL type:",O);const z=p.find(ce=>ce.id===A),L=await new Promise(ce=>{setTimeout(()=>{ce({json:()=>Promise.resolve({file_name:"ip-adapter-faceid_sd15_lora.safetensors"})})},1e4)}),{file_name:W}=await L.json();if(!z||!W||!n){Ys.error("something went wrong when resolving your model. please try again.");return}const ne=n.replace(new RegExp(z.file_name,"g"),W);r(ne);const Z=p.map(ce=>ce.id===A?{...ce,resolved:!0,new_file_name:W}:ce);m(Z),Ys.success("successfully resolved")},onSuccess:async()=>{g("")}});c.useEffect(()=>{p.every(A=>!!A.resolved)?(console.log("RESOLVED all missing models"),R(!0)):(console.log("HAVE NOT RESOLVED all missing models"),R(!1))},[p]),c.useEffect(()=>{f(E.isPending)},[E.isPending]);const N=c.useCallback(A=>{if(A.length===0){r(void 0);return}A.slice(0,1).forEach(D=>{const O=new FileReader;O.onabort=()=>console.log("file reading was aborted"),O.onerror=()=>console.log("file reading has failed"),O.onload=()=>{const z=O.result;if(!z){r(void 0);return}if(typeof z=="string")r(z);else{const W=new Uint8Array(z),ne=[];for(var L=0;L({...dT,...se?fT:{},...Y?pT:{},...te?hT:{}}),[se,Y,te]);if(!e)return x.jsxs(x.Fragment,{children:[x.jsx(ri,{onOpenChange:A=>l(A),open:u,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsx(ho,{children:x.jsx(Kn,{children:"Import project"})}),x.jsx("div",{className:"grid gap-4 py-4",children:x.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[x.jsx(mo,{htmlFor:"name",className:"text-right",children:"Name"}),x.jsx(vs,{id:"name",placeholder:"",className:"col-span-3",value:a,onChange:A=>s(A.target.value)})]})}),x.jsx(Xl,{children:x.jsx(dt,{type:"submit",onClick:A=>{A.preventDefault(),n&&(E.mutate({import_json:n,name:a}),l(!1))},children:"Import"})})]})}),x.jsx(ri,{onOpenChange:A=>f(A),open:d,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[x.jsx(Kn,{children:"Importing project..."}),x.jsx(Xd,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),x.jsx("div",{className:"flex justify-center items-center",children:x.jsx(Ba,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),x.jsx(ri,{onOpenChange:A=>h(A),open:b,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[x.jsx(Kn,{children:"Are you sure you want to skip fixing unresolved models?"}),x.jsx(Xd,{children:"You will probably face errors when running the workflow and might have to upload replacement models to run the workflow."})]}),x.jsxs(Xl,{children:[x.jsx(dt,{onClick:A=>{A.preventDefault(),h(!1)},children:"Cancel"}),x.jsx(dt,{onClick:A=>{A.preventDefault(),y(!0),h(!1)},children:"Yes, skip"})]})]})}),x.jsxs("div",{className:"flex flex-col p-10",children:[x.jsxs("div",{className:"flex flex-col",children:[x.jsx("h1",{className:"text-3xl font-semibold",children:"Import workflow"}),x.jsxs("p",{className:"mt-5 font-medium text-gray-700",children:["Drag & drop a ",x.jsx("b",{children:"ComfyUI workflow json file"})," or ",x.jsx("b",{children:"ComfyUI Launcher json file"})," to run it with ",x.jsx("b",{children:"ZERO setup"}),"."]})]}),x.jsxs("div",{className:"flex flex-col mt-10",children:[x.jsxs("div",{className:"cursor-pointer",...K({style:xe}),children:[x.jsx("input",{...H()}),x.jsx("p",{children:"Drag & drop your json file here"})]}),x.jsx("aside",{className:"mt-4",children:x.jsx("ul",{children:I.slice(0,1).map(A=>x.jsxs("li",{className:"font-medium text-sm",children:[A.name," - ",A.size," bytes"]},A.name))})})]}),p.length>0&&!v&&x.jsxs(U1,{className:"bg-[#0a0a0a] backdrop-blur-xl border-2 border-[#444] w-full",children:[x.jsxs(B1,{children:[x.jsx(W1,{className:"text-white",children:S?"All unrecognized models have been resolved.":"These models were not recognized"}),x.jsx(V1,{children:S?"Please try importing again.":"We could not find the folloiwng models from the workflow you tried to import. Replace missing models with the models that are available to avoid getting errors."})]}),x.jsx(H1,{className:"flex flex-col gap-6",children:p.map(A=>A.resolved?x.jsxs("div",{className:"w-full flex flex-row items-center justify-between",children:[x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx(XS,{className:"w-4 h-4 text-green-400"}),x.jsx("h3",{className:"text-white font-bold",children:A.new_file_name}),x.jsx("h3",{className:"text-[#999] font-bold line-through ml-2",children:A.file_name})]}),x.jsx(dt,{size:"sm",onClick:D=>{D.preventDefault();const O=p.map(z=>z.id===A.id?{...z,resolved:!1,new_file_name:""}:z);m(O)},children:"Edit"})]}):x.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[x.jsx("div",{className:"w-full flex flex-row items-center justify-between",children:x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[w===A.id?x.jsx(Ba,{className:" text-orange-500 animate-spin w-4 h-4"}):x.jsx(qS,{className:"w-4 h-4 text-red-500"}),x.jsx("h3",{className:"text-white font-bold",children:A.file_name})]})}),x.jsxs("div",{className:"w-full flex flex-col items-start gap-4",children:[x.jsxs("div",{className:"w-full flex flex-col items-start gap-",children:[x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx(rC,{className:"w-4 h-4 text-green-400"}),x.jsx("p",{className:"text-white font-semibold",children:"Replace with"})]}),A.backup_models.map(D=>x.jsxs("div",{className:"w-full flex flex-row items-center justify-between my-1",children:[x.jsxs("div",{className:"flex flex-row items-center space-x-2",children:[x.jsx(nC,{className:"text-white w-4 h-4"}),x.jsx("p",{className:"text-white",children:D.file_name})]}),x.jsxs("div",{className:"flex flex-row items-center gap-2",children:[x.jsx("a",{href:D.link,target:"none",children:x.jsx(dt,{size:"sm",className:"",children:"View"})}),x.jsx(dt,{size:"sm",className:"",onClick:O=>{O.preventDefault(),k.mutate({id_to_resolve:A.id,backup_to_use:D.id})},children:"Use this model"})]})]}))]}),x.jsx(cT,{failed_model_id:A.id,mutationToUse:$})]}),x.jsx(q1,{className:"bg-[#444]"})]}))}),!S&&x.jsx(K1,{children:x.jsx(dt,{onClick:A=>{A.preventDefault(),h(!0)},children:"Skip"})})]}),x.jsx("div",{className:"mt-5",children:x.jsx(dt,{variant:"default",disabled:!n||p.length>0&&!S&&!v,onClick:A=>{A.preventDefault(),n&&l(!0)},children:"Import"})})]})]})}function vT(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsx(mT,{})]})}function gT({item:{id:e,title:t,description:n,thumbnail:r,isThumbnailVideo:o,credits:i}}){const a=hs(),s=Wy(),u=Or({mutationFn:async({template_id:g,name:b})=>await(await fetch("/api/create_project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template_id:g,name:b})})).json(),onSuccess:async()=>{await a.invalidateQueries({queryKey:["projects"]}),s("/")}}),[l,d]=M.useState(""),[f,p]=M.useState(!1),[m,w]=M.useState(!1);return c.useEffect(()=>{w(u.isPending)},[u.isPending]),x.jsxs(x.Fragment,{children:[x.jsx(ri,{onOpenChange:g=>p(g),open:f,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsx(ho,{children:x.jsx(Kn,{children:"Create project"})}),x.jsx("div",{className:"grid gap-4 py-4",children:x.jsxs("div",{className:"grid grid-cols-4 items-center gap-4",children:[x.jsx(mo,{htmlFor:"name",className:"text-right",children:"Name"}),x.jsx(vs,{id:"name",placeholder:"",className:"col-span-3",value:l,onChange:g=>d(g.target.value)})]})}),x.jsx(Xl,{children:x.jsx(dt,{type:"submit",onClick:g=>{g.preventDefault(),u.mutate({template_id:e,name:l}),p(!1)},children:"Create"})})]})}),x.jsx(ri,{onOpenChange:g=>w(g),open:m,children:x.jsxs(po,{className:"sm:max-w-[425px]",children:[x.jsxs(ho,{children:[x.jsx(Kn,{children:"Creating project..."}),x.jsx(gp,{children:"Setting up ComfyUI, installing custom nodes, downloading models"})]}),x.jsx("div",{className:"flex justify-center items-center",children:x.jsx(Ba,{className:"animate-spin h-10 w-10 text-gray-700"})})]})}),x.jsxs("div",{className:"rounded-md p-5 border bg-gray-100 hover:bg-gray-200 border-gray-300",children:[x.jsxs("div",{className:"flex flex-row justify-between space-x-5",children:[x.jsxs("div",{className:"flex flex-col",children:[x.jsx("h1",{className:"text-lg font-semibold",children:t}),x.jsx("p",{className:"mt-1 font-medium text-sm text-gray-500",children:n})]}),x.jsx("div",{className:"flex flex-col",children:x.jsx(dt,{onClick:g=>{g.preventDefault(),p(!0)},variant:"default",children:"Create"})})]}),r&&!o&&x.jsx("img",{src:r,className:"mt-4 w-full rounded-md"}),r&&o&&x.jsx("video",{muted:!0,loop:!0,autoPlay:!0,src:r,className:"mt-4 w-full rounded-md"}),i&&x.jsx("a",{href:i,target:"_blank",children:x.jsxs("div",{className:"mt-5 text-xs font-medium text-gray-500 flex items-center",children:["Credits ",x.jsx(eC,{className:"ml-1 w-3 h-3"})]})})]})]})}const yT="/assets/thumbnail-C9PpGAWR.webp",wT="/assets/thumbnail-D5odPwq0.webp",xT="/assets/thumbnail-eWYeQc2f.webp",bT="/assets/thumbnail-B-W0ErKu.webp",ET="/assets/thumbnail-CLQIOTWC.mp4",ST="/assets/thumbnail-DvLaklfj.webp",CT=[{id:"empty",title:"Empty",description:"Blank new ComfyUI project",thumbnail:""},{id:"animate_diff",title:"AnimateDiff",description:"Create animations from a prompt",thumbnail:yT,credits:"https://comfyworkflows.com/workflows/cc4b1b3f-735a-4e22-b241-148606544301"},{id:"svd",title:"Stable Video Diffusion",description:"Create videos from a prompt",thumbnail:wT,credits:"https://comfyworkflows.com/workflows/ae9275b2-c303-48fb-a539-13451dd93808"},{id:"upscale",title:"Upscaling",description:"Upscale images with high quality",thumbnail:xT,credits:"https://comfyworkflows.com/workflows/810e1c6e-12ad-4487-8dc3-d54fadf8319f"},{id:"img2img",title:"Image to Image (img2img)",description:"Stylize any input image (e.g. cartoon)",thumbnail:bT,credits:"https://comfyworkflows.com/workflows/e20d73bf-116a-49e1-a869-b7f47b0056e8"},{id:"vid2vid",title:"Video to Video (vid2vid)",description:"Stylize any input video (e.g. anime style)",thumbnail:ET,isThumbnailVideo:!0,credits:"https://comfyworkflows.com/workflows/84e00774-4a21-4555-b4dd-063eec3e604a"},{id:"img2vid",title:"Image to Video (img2vid)",description:"Create videos from an input image using Stable Video Diffusion",thumbnail:ST,credits:"https://comfyworkflows.com/workflows/14e821f5-8111-4178-8d6e-c43ab02d8376"}];function RT(){return x.jsxs("div",{className:"flex flex-col p-10",children:[x.jsx("div",{children:x.jsx("h1",{className:"text-3xl font-semibold",children:"New workflow"})}),x.jsx("div",{className:"flex flex-col mt-10",children:x.jsx("div",{children:x.jsx(V0,{itemKey:e=>e.id,columnGutter:20,columnWidth:350,items:CT,render:e=>x.jsx(gT,{item:e.data})})})})]})}function kT(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsx(RT,{})]})}const PT=1,$T=1e6;let Rc=0;function TT(){return Rc=(Rc+1)%Number.MAX_SAFE_INTEGER,Rc.toString()}const kc=new Map,tv=e=>{if(kc.has(e))return;const t=setTimeout(()=>{kc.delete(e),ba({type:"REMOVE_TOAST",toastId:e})},$T);kc.set(e,t)},NT=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,PT)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?tv(n):e.toasts.forEach(r=>{tv(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},gl=[];let yl={toasts:[]};function ba(e){yl=NT(yl,e),gl.forEach(t=>{t(yl)})}function _T({...e}){const t=TT(),n=o=>ba({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>ba({type:"DISMISS_TOAST",toastId:t});return ba({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function DT(){const[e,t]=c.useState(yl);return c.useEffect(()=>(gl.push(t),()=>{const n=gl.indexOf(t);n>-1&&gl.splice(n,1)}),[e]),{...e,toast:_T,dismiss:n=>ba({type:"DISMISS_TOAST",toastId:n})}}function OT(){const[e,t]=M.useState(),n=_0({queryKey:["settings"],queryFn:async()=>await(await fetch("/api/get_config")).json(),enabled:!e});c.useEffect(()=>{n.data&&t(n.data.credentials.civitai.apikey)},[n.data]);const{toast:r}=DT(),o=Or({mutationFn:async({civitai_api_key:i})=>await(await fetch("/api/update_config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({credentials:{civitai:{apikey:i}}})})).json(),onSuccess:async()=>{r({title:"Saved your settings!"})}});return n.isLoading?x.jsx("div",{children:"Loading..."}):x.jsx(x.Fragment,{children:x.jsxs("div",{className:"flex flex-col p-10",children:[x.jsxs("div",{className:"flex flex-col space-y-2",children:[x.jsx(mo,{htmlFor:"name",className:"text-left",children:"CivitAI API Key"}),x.jsx(vs,{id:"name",placeholder:"Your CivitAI API key",className:"w-fit",value:e,required:!0,onChange:i=>t(i.target.value)}),x.jsxs("p",{className:"text-xs font-medium text-gray-600",children:["You can get your CivitAI API key from your ",x.jsx("a",{href:"https://civitai.com/user/account",target:"_blank",rel:"noreferrer",children:"CivitAI account settings page"}),".",x.jsx("br",{}),'Scroll to the bottom of the page to the section titled "API Keys", and create one.',x.jsx("br",{}),x.jsx("br",{}),"This key is saved locally and ONLY used to download missing models directly from CivitAI. It is NEVER sent anywhere else."]})]}),x.jsx("div",{children:x.jsx(dt,{onClick:i=>{i.preventDefault(),o.mutate({civitai_api_key:e||""})},variant:"default",className:"mt-5",children:o.isPending?"Saving...":"Save"})})]})})}function MT(){return x.jsxs("main",{className:"flex min-h-screen flex-col",children:[x.jsx("div",{children:x.jsx(Cu,{})}),x.jsx(OT,{})]})}const jT=c.createContext(void 0),IT={setTheme:e=>{},themes:[]},AT=()=>{var e;return(e=c.useContext(jT))!==null&&e!==void 0?e:IT},LT=({...e})=>{const{theme:t="system"}=AT();return x.jsx(_$,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},FT=new n2,zT=VE([{path:"/",element:x.jsx(lP,{})},{path:"/import",element:x.jsx(vT,{})},{path:"/new",element:x.jsx(kT,{})},{path:"/settings",element:x.jsx(MT,{})}]);Pc.createRoot(document.getElementById("root")).render(x.jsx(M.StrictMode,{children:x.jsxs(s2,{client:FT,children:[x.jsx(ZE,{router:zT}),x.jsx(LT,{})]})})); diff --git a/web/dist/index.html b/web/dist/index.html index a31e45d..1e6cc3e 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -5,8 +5,8 @@ ComfyUI Launcher - - + +