├── public ├── favicon.png ├── img │ ├── preview.jpg │ └── logo.svg └── favicon.svg ├── .vscode └── extensions.json ├── postcss.config.js ├── src ├── main.js ├── assets │ ├── main.scss │ ├── logo.svg │ ├── israel.svg │ └── embed.scss ├── components │ ├── AppHeader.vue │ ├── Captcha.vue │ ├── IsraelLogo.vue │ └── AppFooter.vue ├── embed.js ├── App.vue └── composables │ └── confetti.ts ├── demo ├── assets │ ├── embed.js │ ├── main.css │ └── main.js └── index.html ├── .gitignore ├── tailwind.config.js ├── package.json ├── index.html ├── vite.config.js └── README.md /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yiddishe-Kop/support-israel-captcha/HEAD/public/favicon.png -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /public/img/preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yiddishe-Kop/support-israel-captcha/HEAD/public/img/preview.jpg -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import "./assets/main.scss"; 2 | 3 | import { createApp } from "vue"; 4 | import App from "./App.vue"; 5 | 6 | createApp(App).mount("#app"); 7 | -------------------------------------------------------------------------------- /src/assets/main.scss: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Fira+Code&family=Open+Sans:wght@400;700;800&display=swap"); 2 | 3 | @tailwind base; 4 | @tailwind components; 5 | @tailwind utilities; 6 | -------------------------------------------------------------------------------- /demo/assets/embed.js: -------------------------------------------------------------------------------- 1 | import{c as o,_ as t}from"./main.js";document.addEventListener("DOMContentLoaded",function(){const n=window.captchaContainerId||"captcha-container";console.log({containerId:n}),o(t).mount(`#${n}`)}); 2 | -------------------------------------------------------------------------------- /src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | .DS_Store 12 | dist 13 | dist-ssr 14 | coverage 15 | *.local 16 | 17 | /cypress/videos/ 18 | /cypress/screenshots/ 19 | 20 | # Editor directories and files 21 | .vscode/* 22 | !.vscode/extensions.json 23 | .idea 24 | *.suo 25 | *.ntvs* 26 | *.njsproj 27 | *.sln 28 | *.sw? 29 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | const defaultTheme = require("tailwindcss/defaultTheme"); 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | module.exports = { 5 | content: ["./src/**/*.{html,js,vue}"], 6 | important: ".captcha-embed", // prevent styles from leaking into the parent page 7 | theme: { 8 | extend: { 9 | fontFamily: { 10 | sans: ["Open Sans", ...defaultTheme.fontFamily.sans], 11 | mono: ["Fira Code", ...defaultTheme.fontFamily.mono], 12 | }, 13 | }, 14 | }, 15 | plugins: [], 16 | }; 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "israel-captcha", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "vue": "^3.3.4" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^4.4.0", 15 | "autoprefixer": "^10.4.16", 16 | "canvas-confetti": "^1.9.0", 17 | "postcss": "^8.4.31", 18 | "sass": "^1.69.5", 19 | "tailwindcss": "^3.3.5", 20 | "vite": "^4.4.11" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Captcha 8 | 9 | 10 |

Hello World!

11 |
12 | 15 | 19 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Support Israel Captcha 13 | 14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/components/AppHeader.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 32 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { fileURLToPath, URL } from "node:url"; 2 | import { defineConfig } from "vite"; 3 | import vue from "@vitejs/plugin-vue"; 4 | const path = require("path"); 5 | 6 | // https://vitejs.dev/config/ 7 | export default defineConfig({ 8 | plugins: [vue()], 9 | resolve: { 10 | alias: { 11 | "@": fileURLToPath(new URL("./src", import.meta.url)), 12 | }, 13 | }, 14 | build: { 15 | rollupOptions: { 16 | input: { 17 | embed: fileURLToPath(new URL("./src/embed.js", import.meta.url)), 18 | demo: fileURLToPath(new URL("./index.html", import.meta.url)), 19 | }, 20 | output: { 21 | entryFileNames: `assets/[name].js`, 22 | chunkFileNames: `assets/[name].js`, 23 | assetFileNames: `assets/[name].[ext]`, 24 | }, 25 | }, 26 | }, 27 | // build: { 28 | // lib: { 29 | // entry: path.resolve(__dirname, "src/embed.js"), 30 | // name: "embed", 31 | // formats: ["es", "cjs"], 32 | // fileName: (format) => `embed.${format}.js`, 33 | // }, 34 | // }, 35 | // define: { 36 | // "process.env": {}, 37 | // }, 38 | }); 39 | -------------------------------------------------------------------------------- /src/assets/israel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /src/embed.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import Captcha from "./components/Captcha.vue"; 3 | import "./assets/embed.scss"; 4 | 5 | function getScriptUrl() { 6 | return new URL(import.meta.url); 7 | } 8 | 9 | function loadStyles() { 10 | const url = getScriptUrl(); 11 | const style = document.createElement("link"); 12 | style.rel = "stylesheet"; 13 | style.href = `${url.origin}/assets/embed.css`; 14 | document.head.appendChild(style); 15 | } 16 | 17 | function mountIsraelCaptcha(props = {}) { 18 | loadStyles(); 19 | const containerId = window.captchaContainerId || "captcha-container"; 20 | createApp(Captcha, props).mount(`#${containerId}`); 21 | console.log("captcha mounted", props); 22 | } 23 | 24 | // Mount the captcha manually using the global function 25 | window.mountIsraelCaptcha = mountIsraelCaptcha; 26 | 27 | const urlParams = getScriptUrl().searchParams; 28 | const shouldAutoMount = urlParams.get("mount"); 29 | const hideInfo = !!urlParams.get("hide_info"); 30 | console.log({ url: getScriptUrl(), urlParams, shouldAutoMount, hideInfo }); 31 | 32 | if (shouldAutoMount) { 33 | document.addEventListener("DOMContentLoaded", function () { 34 | mountIsraelCaptcha({ 35 | hideInfo, 36 | }); 37 | }); 38 | } 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Prove That Your Visitors Are Human 2 | 3 | An embedabble Captcha that asks your site visitors to prove that they are human by supporting Israel. 4 | 5 | ## How To Embed 6 | 7 | You can embed this Captcha anywhere on the web with just 2 lines of 8 | code. 9 | 10 | ```html 11 |
12 | 16 | ``` 17 | 18 | Simply add these 2 lines of code anywhere you would like to embed the Captcha. 19 | 20 | ## Embed with JS only 21 | 22 | If you prefer to embed the Captcha with JavaScript only, you can do so like this: 23 | 24 | ```js 25 | const script = document.createElement("script"); 26 | script.src = "https://support-israel-captcha.vercel.app/assets/embed.js"; 27 | script.type = "module"; 28 | script.onload = () => { 29 | window.mountIsraelCaptcha("captcha-container"); 30 | }; 31 | document.head.appendChild(script); 32 | ``` 33 | 34 | ## Customize The Id 35 | 36 | By default the Captcha is mounted on the HTML element with the id of `captcha-container`. 37 | 38 | If you want to mount the Captcha on a different element, you can customize the mount point by configuring your id like so: 39 | 40 | ```html 41 |
42 | 45 | 49 | ``` 50 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 57 | 58 | 81 | 82 | 98 | -------------------------------------------------------------------------------- /src/composables/confetti.ts: -------------------------------------------------------------------------------- 1 | import Confetti from "canvas-confetti"; 2 | 3 | const themeColors = ["#ffffff", "#0038B8"]; 4 | 5 | const randomBetween = (min, max) => { 6 | min = Math.ceil(min); 7 | max = Math.floor(max); 8 | return Math.floor(Math.random() * (max - min + 1)) + min; 9 | }; 10 | 11 | export const confettiBurst = ( 12 | el: HTMLElement | null = null, 13 | short = false, 14 | particleCount: number | null = null 15 | ) => { 16 | const origin = { x: 0.5, y: 0.6 }; 17 | if (el) { 18 | const box = el.getBoundingClientRect(); 19 | 20 | const centerX = box.left + box.width / 2; 21 | const centerY = box.top + box.height / 2; 22 | 23 | origin.x = centerX / window.innerWidth; 24 | origin.y = centerY / window.innerHeight; 25 | } 26 | 27 | particleCount = particleCount === null ? 20 : particleCount; 28 | 29 | if (short) { 30 | Confetti({ 31 | particleCount, 32 | spread: 70, 33 | origin, 34 | colors: themeColors, 35 | gravity: 0.5, 36 | startVelocity: 25, 37 | // drift: 1, 38 | shapes: ["star", "circle", "square"], 39 | scalar: 0.95, 40 | }); 41 | } else { 42 | Confetti({ 43 | particleCount: 500, 44 | spread: 80, 45 | origin, 46 | colors: themeColors, 47 | gravity: 0.5, 48 | }); 49 | } 50 | }; 51 | 52 | export const fireworks = () => { 53 | const duration = 15 * 1000; 54 | const animationEnd = Date.now() + duration; 55 | const defaults = { startVelocity: 30, spread: 360, ticks: 60 }; 56 | 57 | function randomInRange(min, max) { 58 | return Math.random() * (max - min) + min; 59 | } 60 | 61 | const interval = setInterval(function () { 62 | const timeLeft = animationEnd - Date.now(); 63 | 64 | if (timeLeft <= 0) { 65 | return clearInterval(interval); 66 | } 67 | 68 | const particleCount = 50 * (timeLeft / duration); 69 | // since particles fall down, start a bit higher than random 70 | Confetti( 71 | Object.assign({}, defaults, { 72 | particleCount, 73 | origin: { x: randomInRange(0.1, 0.3), y: Math.random() - 0.2 }, 74 | }) 75 | ); 76 | Confetti( 77 | Object.assign({}, defaults, { 78 | particleCount, 79 | origin: { x: randomInRange(0.7, 0.9), y: Math.random() - 0.2 }, 80 | }) 81 | ); 82 | }, 250); 83 | }; 84 | 85 | export const schoolPride = () => { 86 | const end = Date.now() + 15 * 1000; 87 | 88 | // go Buckeyes! 89 | const colors = ["#d61f69", "#ffffff"]; 90 | 91 | (function frame() { 92 | Confetti({ 93 | particleCount: 2, 94 | angle: 60, 95 | spread: 55, 96 | origin: { x: 0 }, 97 | colors: colors, 98 | }); 99 | Confetti({ 100 | particleCount: 2, 101 | angle: 120, 102 | spread: 55, 103 | origin: { x: 1 }, 104 | colors: colors, 105 | }); 106 | 107 | if (Date.now() < end) { 108 | requestAnimationFrame(frame); 109 | } 110 | })(); 111 | }; 112 | 113 | export const fireRandomConfetti = (el: HTMLElement | null = null) => { 114 | const confettiType = randomBetween(0, 100); 115 | if (confettiType <= 60) { 116 | confettiBurst(el); 117 | } else if (confettiType <= 80) { 118 | fireworks(); 119 | } else { 120 | schoolPride(); 121 | } 122 | }; 123 | -------------------------------------------------------------------------------- /src/components/Captcha.vue: -------------------------------------------------------------------------------- 1 | 69 | 70 | 91 | 92 | 103 | -------------------------------------------------------------------------------- /public/img/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/components/IsraelLogo.vue: -------------------------------------------------------------------------------- 1 | 72 | -------------------------------------------------------------------------------- /demo/assets/main.css: -------------------------------------------------------------------------------- 1 | @import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap";.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Open Sans,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";font-feature-settings:normal;font-variation-settings:normal}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-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}*,: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: }.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.-bottom-1{bottom:-.25rem}.-start-1{inset-inline-start:-.25rem}.start-0{inset-inline-start:0px}.top-0{top:0}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.mt-2{margin-top:.5rem}.mt-\[40vh\]{margin-top:40vh}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-5{height:1.25rem}.h-px{height:1px}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-px{width:1px}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.border-2{border-width:2px}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-12{padding:3rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pe-6{padding-inline-end:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.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-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.ring-2{--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)}.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}.hover\:border-blue-600:hover{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:text-blue-900:hover{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))} 2 | -------------------------------------------------------------------------------- /src/components/AppFooter.vue: -------------------------------------------------------------------------------- 1 | 56 | 57 | 60 | 61 | 92 | -------------------------------------------------------------------------------- /src/assets/embed.scss: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Fira+Code&family=Open+Sans:wght@400;700;800&display=swap"); 2 | 3 | .captcha-embed { 4 | /* 5 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 6 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) 7 | */ 8 | 9 | *, 10 | ::before, 11 | ::after { 12 | box-sizing: border-box; /* 1 */ 13 | border-width: 0; /* 2 */ 14 | border-style: solid; /* 2 */ 15 | border-color: theme("borderColor.DEFAULT", currentColor); /* 2 */ 16 | } 17 | 18 | ::before, 19 | ::after { 20 | --tw-content: ""; 21 | } 22 | 23 | /* 24 | 1. Use a consistent sensible line-height in all browsers. 25 | 2. Prevent adjustments of font size after orientation changes in iOS. 26 | 3. Use a more readable tab size. 27 | 4. Use the user's configured `sans` font-family by default. 28 | 5. Use the user's configured `sans` font-feature-settings by default. 29 | 6. Use the user's configured `sans` font-variation-settings by default. 30 | */ 31 | 32 | html { 33 | line-height: 1.5; /* 1 */ 34 | -webkit-text-size-adjust: 100%; /* 2 */ 35 | -moz-tab-size: 4; /* 3 */ 36 | tab-size: 4; /* 3 */ 37 | font-family: theme( 38 | "fontFamily.sans", 39 | ui-sans-serif, 40 | system-ui, 41 | -apple-system, 42 | BlinkMacSystemFont, 43 | "Segoe UI", 44 | Roboto, 45 | "Helvetica Neue", 46 | Arial, 47 | "Noto Sans", 48 | sans-serif, 49 | "Apple Color Emoji", 50 | "Segoe UI Emoji", 51 | "Segoe UI Symbol", 52 | "Noto Color Emoji" 53 | ); /* 4 */ 54 | font-feature-settings: theme( 55 | "fontFamily.sans[1].fontFeatureSettings", 56 | normal 57 | ); /* 5 */ 58 | font-variation-settings: theme( 59 | "fontFamily.sans[1].fontVariationSettings", 60 | normal 61 | ); /* 6 */ 62 | } 63 | 64 | /* 65 | 1. Remove the margin in all browsers. 66 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. 67 | */ 68 | 69 | body { 70 | margin: 0; /* 1 */ 71 | line-height: inherit; /* 2 */ 72 | } 73 | 74 | /* 75 | 1. Add the correct height in Firefox. 76 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 77 | 3. Ensure horizontal rules are visible by default. 78 | */ 79 | 80 | hr { 81 | height: 0; /* 1 */ 82 | color: inherit; /* 2 */ 83 | border-top-width: 1px; /* 3 */ 84 | } 85 | 86 | /* 87 | Add the correct text decoration in Chrome, Edge, and Safari. 88 | */ 89 | 90 | abbr:where([title]) { 91 | text-decoration: underline dotted; 92 | } 93 | 94 | /* 95 | Remove the default font size and weight for headings. 96 | */ 97 | 98 | h1, 99 | h2, 100 | h3, 101 | h4, 102 | h5, 103 | h6 { 104 | font-size: inherit; 105 | font-weight: inherit; 106 | } 107 | 108 | /* 109 | Reset links to optimize for opt-in styling instead of opt-out. 110 | */ 111 | 112 | a { 113 | color: inherit; 114 | text-decoration: inherit; 115 | } 116 | 117 | /* 118 | Add the correct font weight in Edge and Safari. 119 | */ 120 | 121 | b, 122 | strong { 123 | font-weight: bolder; 124 | } 125 | 126 | /* 127 | 1. Use the user's configured `mono` font family by default. 128 | 2. Correct the odd `em` font sizing in all browsers. 129 | */ 130 | 131 | code, 132 | kbd, 133 | samp, 134 | pre { 135 | font-family: theme( 136 | "fontFamily.mono", 137 | ui-monospace, 138 | SFMono-Regular, 139 | Menlo, 140 | Monaco, 141 | Consolas, 142 | "Liberation Mono", 143 | "Courier New", 144 | monospace 145 | ); /* 1 */ 146 | font-size: 1em; /* 2 */ 147 | } 148 | 149 | /* 150 | Add the correct font size in all browsers. 151 | */ 152 | 153 | small { 154 | font-size: 80%; 155 | } 156 | 157 | /* 158 | Prevent `sub` and `sup` elements from affecting the line height in all browsers. 159 | */ 160 | 161 | sub, 162 | sup { 163 | font-size: 75%; 164 | line-height: 0; 165 | position: relative; 166 | vertical-align: baseline; 167 | } 168 | 169 | sub { 170 | bottom: -0.25em; 171 | } 172 | 173 | sup { 174 | top: -0.5em; 175 | } 176 | 177 | /* 178 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) 179 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) 180 | 3. Remove gaps between table borders by default. 181 | */ 182 | 183 | table { 184 | text-indent: 0; /* 1 */ 185 | border-color: inherit; /* 2 */ 186 | border-collapse: collapse; /* 3 */ 187 | } 188 | 189 | /* 190 | 1. Change the font styles in all browsers. 191 | 2. Remove the margin in Firefox and Safari. 192 | 3. Remove default padding in all browsers. 193 | */ 194 | 195 | button, 196 | input, 197 | optgroup, 198 | select, 199 | textarea { 200 | font-family: inherit; /* 1 */ 201 | font-feature-settings: inherit; /* 1 */ 202 | font-variation-settings: inherit; /* 1 */ 203 | font-size: 100%; /* 1 */ 204 | font-weight: inherit; /* 1 */ 205 | line-height: inherit; /* 1 */ 206 | color: inherit; /* 1 */ 207 | margin: 0; /* 2 */ 208 | padding: 0; /* 3 */ 209 | } 210 | 211 | /* 212 | Remove the inheritance of text transform in Edge and Firefox. 213 | */ 214 | 215 | button, 216 | select { 217 | text-transform: none; 218 | } 219 | 220 | /* 221 | 1. Correct the inability to style clickable types in iOS and Safari. 222 | 2. Remove default button styles. 223 | */ 224 | 225 | button, 226 | [type="button"], 227 | [type="reset"], 228 | [type="submit"] { 229 | -webkit-appearance: button; /* 1 */ 230 | background-color: transparent; /* 2 */ 231 | background-image: none; /* 2 */ 232 | } 233 | 234 | /* 235 | Use the modern Firefox focus style for all focusable elements. 236 | */ 237 | 238 | :-moz-focusring { 239 | outline: auto; 240 | } 241 | 242 | /* 243 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) 244 | */ 245 | 246 | :-moz-ui-invalid { 247 | box-shadow: none; 248 | } 249 | 250 | /* 251 | Add the correct vertical alignment in Chrome and Firefox. 252 | */ 253 | 254 | progress { 255 | vertical-align: baseline; 256 | } 257 | 258 | /* 259 | Correct the cursor style of increment and decrement buttons in Safari. 260 | */ 261 | 262 | ::-webkit-inner-spin-button, 263 | ::-webkit-outer-spin-button { 264 | height: auto; 265 | } 266 | 267 | /* 268 | 1. Correct the odd appearance in Chrome and Safari. 269 | 2. Correct the outline style in Safari. 270 | */ 271 | 272 | [type="search"] { 273 | -webkit-appearance: textfield; /* 1 */ 274 | outline-offset: -2px; /* 2 */ 275 | } 276 | 277 | /* 278 | Remove the inner padding in Chrome and Safari on macOS. 279 | */ 280 | 281 | ::-webkit-search-decoration { 282 | -webkit-appearance: none; 283 | } 284 | 285 | /* 286 | 1. Correct the inability to style clickable types in iOS and Safari. 287 | 2. Change font properties to `inherit` in Safari. 288 | */ 289 | 290 | ::-webkit-file-upload-button { 291 | -webkit-appearance: button; /* 1 */ 292 | font: inherit; /* 2 */ 293 | } 294 | 295 | /* 296 | Add the correct display in Chrome and Safari. 297 | */ 298 | 299 | summary { 300 | display: list-item; 301 | } 302 | 303 | /* 304 | Removes the default spacing and border for appropriate elements. 305 | */ 306 | 307 | blockquote, 308 | dl, 309 | dd, 310 | h1, 311 | h2, 312 | h3, 313 | h4, 314 | h5, 315 | h6, 316 | hr, 317 | figure, 318 | p, 319 | pre { 320 | margin: 0; 321 | } 322 | 323 | fieldset { 324 | margin: 0; 325 | padding: 0; 326 | } 327 | 328 | legend { 329 | padding: 0; 330 | } 331 | 332 | ol, 333 | ul, 334 | menu { 335 | list-style: none; 336 | margin: 0; 337 | padding: 0; 338 | } 339 | 340 | /* 341 | Reset default styling for dialogs. 342 | */ 343 | dialog { 344 | padding: 0; 345 | } 346 | 347 | /* 348 | Prevent resizing textareas horizontally by default. 349 | */ 350 | 351 | textarea { 352 | resize: vertical; 353 | } 354 | 355 | /* 356 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 357 | 2. Set the default placeholder color to the user's configured gray 400 color. 358 | */ 359 | 360 | input::placeholder, 361 | textarea::placeholder { 362 | opacity: 1; /* 1 */ 363 | color: theme("colors.gray.400", #9ca3af); /* 2 */ 364 | } 365 | 366 | /* 367 | Set the default cursor for buttons. 368 | */ 369 | 370 | button, 371 | [role="button"] { 372 | cursor: pointer; 373 | } 374 | 375 | /* 376 | Make sure disabled buttons don't get the pointer cursor. 377 | */ 378 | :disabled { 379 | cursor: default; 380 | } 381 | 382 | /* 383 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 384 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) 385 | This can trigger a poorly considered lint error in some tools but is included by design. 386 | */ 387 | 388 | img, 389 | svg, 390 | video, 391 | canvas, 392 | audio, 393 | iframe, 394 | embed, 395 | object { 396 | display: block; /* 1 */ 397 | vertical-align: middle; /* 2 */ 398 | } 399 | 400 | /* 401 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) 402 | */ 403 | 404 | img, 405 | video { 406 | max-width: 100%; 407 | height: auto; 408 | } 409 | 410 | /* Make elements with the HTML hidden attribute stay hidden by default */ 411 | [hidden] { 412 | display: none; 413 | } 414 | } 415 | 416 | @tailwind components; 417 | @tailwind utilities; 418 | -------------------------------------------------------------------------------- /demo/assets/main.js: -------------------------------------------------------------------------------- 1 | function Un(e,t){const n=Object.create(null),r=e.split(",");for(let s=0;s!!n[s.toLowerCase()]:s=>!!n[s]}const re={},pt=[],Ne=()=>{},Ys=()=>!1,Xs=/^on[^a-z]/,nn=e=>Xs.test(e),Kn=e=>e.startsWith("onUpdate:"),ge=Object.assign,zn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qs=Object.prototype.hasOwnProperty,W=(e,t)=>Qs.call(e,t),R=Array.isArray,Ft=e=>Ht(e)==="[object Map]",$n=e=>Ht(e)==="[object Set]",fr=e=>Ht(e)==="[object Date]",z=e=>typeof e=="function",me=e=>typeof e=="string",bt=e=>typeof e=="symbol",ae=e=>e!==null&&typeof e=="object",Gr=e=>(ae(e)||z(e))&&z(e.then)&&z(e.catch),Gs=Object.prototype.toString,Ht=e=>Gs.call(e),eo=e=>Ht(e).slice(8,-1),to=e=>Ht(e)==="[object Object]",kn=e=>me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Wt=Un(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},no=/-(\w)/g,vt=rn(e=>e.replace(no,(t,n)=>n?n.toUpperCase():"")),ro=/\B([A-Z])/g,xt=rn(e=>e.replace(ro,"-$1").toLowerCase()),es=rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=rn(e=>e?`on${es(e)}`:""),dt=(e,t)=>!Object.is(e,t),Vt=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},so=e=>{const t=parseFloat(e);return isNaN(t)?e:t},oo=e=>{const t=me(e)?Number(e):NaN;return isNaN(t)?e:t};let ur;const Mn=()=>ur||(ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Wn(e){if(R(e)){const t={};for(let n=0;n{if(n){const r=n.split(lo);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function sn(e){let t="";if(me(e))t=e;else if(R(e))for(let n=0;non(n,t))}let Re;class po{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Re,!t&&Re&&(this.index=(Re.scopes||(Re.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Re;try{return Re=this,t()}finally{Re=n}}}on(){Re=this}off(){Re=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},rs=e=>(e.w&Ge)>0,ss=e=>(e.n&Ge)>0,bo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(g==="length"||!bt(g)&&g>=f)&&c.push(h)})}else switch(n!==void 0&&c.push(i.get(n)),t){case"add":R(e)?kn(n)&&c.push(i.get("length")):(c.push(i.get(ft)),Ft(e)&&c.push(i.get(In)));break;case"delete":R(e)||(c.push(i.get(ft)),Ft(e)&&c.push(i.get(In)));break;case"set":Ft(e)&&c.push(i.get(ft));break}if(c.length===1)c[0]&&Fn(c[0]);else{const f=[];for(const h of c)h&&f.push(...h);Fn(Vn(f))}}function Fn(e,t){const n=R(e)?e:[...e];for(const r of n)r.computed&&hr(r);for(const r of n)r.computed||hr(r)}function hr(e,t){(e!==Le||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const _o=Un("__proto__,__v_isRef,__isVue"),ls=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt)),pr=yo();function yo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=V(this);for(let o=0,i=this.length;o{e[t]=function(...n){wt();const r=V(this)[t].apply(this,n);return Ct(),r}}),e}function xo(e){const t=V(this);return Me(t,"has",e),t.hasOwnProperty(e)}class cs{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const s=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw"&&r===(s?o?So:ds:o?us:fs).get(t))return t;const i=R(t);if(!s){if(i&&W(pr,n))return Reflect.get(pr,n,r);if(n==="hasOwnProperty")return xo}const c=Reflect.get(t,n,r);return(bt(n)?ls.has(n):_o(n))||(s||Me(t,"get",n),o)?c:ye(c)?i&&kn(n)?c:c.value:ae(c)?s?hs(c):Yn(c):c}}class as extends cs{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(_t(o)&&ye(o)&&!ye(r))return!1;if(!this._shallow&&(!Qt(r)&&!_t(r)&&(o=V(o),r=V(r)),!R(t)&&ye(o)&&!ye(r)))return o.value=r,!0;const i=R(t)&&kn(n)?Number(n)e,ln=e=>Reflect.getPrototypeOf(e);function jt(e,t,n=!1,r=!1){e=e.__v_raw;const s=V(e),o=V(t);n||(dt(t,o)&&Me(s,"get",t),Me(s,"get",o));const{has:i}=ln(s),c=r?Zn:n?Qn:Ot;if(i.call(s,t))return c(e.get(t));if(i.call(s,o))return c(e.get(o));e!==s&&e.get(t)}function Dt(e,t=!1){const n=this.__v_raw,r=V(n),s=V(e);return t||(dt(e,s)&&Me(r,"has",e),Me(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function Ut(e,t=!1){return e=e.__v_raw,!t&&Me(V(e),"iterate",ft),Reflect.get(e,"size",e)}function gr(e){e=V(e);const t=V(this);return ln(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function mr(e,t){t=V(t);const n=V(this),{has:r,get:s}=ln(n);let o=r.call(n,e);o||(e=V(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?dt(t,i)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function br(e){const t=V(this),{has:n,get:r}=ln(t);let s=n.call(t,e);s||(e=V(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&$e(t,"delete",e,void 0),o}function vr(){const e=V(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function Kt(e,t){return function(r,s){const o=this,i=o.__v_raw,c=V(i),f=t?Zn:e?Qn:Ot;return!e&&Me(c,"iterate",ft),i.forEach((h,g)=>r.call(s,f(h),f(g),o))}}function zt(e,t,n){return function(...r){const s=this.__v_raw,o=V(s),i=Ft(o),c=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,h=s[e](...r),g=n?Zn:t?Qn:Ot;return!t&&Me(o,"iterate",f?In:ft),{next(){const{value:y,done:w}=h.next();return w?{value:y,done:w}:{value:c?[g(y[0]),g(y[1])]:g(y),done:w}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:this}}function To(){const e={get(o){return jt(this,o)},get size(){return Ut(this)},has:Dt,add:gr,set:mr,delete:br,clear:vr,forEach:Kt(!1,!1)},t={get(o){return jt(this,o,!1,!0)},get size(){return Ut(this)},has:Dt,add:gr,set:mr,delete:br,clear:vr,forEach:Kt(!1,!0)},n={get(o){return jt(this,o,!0)},get size(){return Ut(this,!0)},has(o){return Dt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Kt(!0,!1)},r={get(o){return jt(this,o,!0,!0)},get size(){return Ut(this,!0)},has(o){return Dt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=zt(o,!1,!1),n[o]=zt(o,!0,!1),t[o]=zt(o,!1,!0),r[o]=zt(o,!0,!0)}),[e,n,t,r]}const[Io,Fo,Ao,Po]=To();function Jn(e,t){const n=t?e?Po:Ao:e?Fo:Io;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(W(n,s)&&s in r?n:r,s,o)}const Oo={get:Jn(!1,!1)},Ro={get:Jn(!1,!0)},Lo={get:Jn(!0,!1)},fs=new WeakMap,us=new WeakMap,ds=new WeakMap,So=new WeakMap;function No(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bo(e){return e.__v_skip||!Object.isExtensible(e)?0:No(eo(e))}function Yn(e){return _t(e)?e:Xn(e,!1,Co,Oo,fs)}function Ho(e){return Xn(e,!1,Eo,Ro,us)}function hs(e){return Xn(e,!0,Mo,Lo,ds)}function Xn(e,t,n,r,s){if(!ae(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=Bo(e);if(i===0)return e;const c=new Proxy(e,i===2?r:n);return s.set(e,c),c}function gt(e){return _t(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function _t(e){return!!(e&&e.__v_isReadonly)}function Qt(e){return!!(e&&e.__v_isShallow)}function ps(e){return gt(e)||_t(e)}function V(e){const t=e&&e.__v_raw;return t?V(t):e}function gs(e){return Xt(e,"__v_skip",!0),e}const Ot=e=>ae(e)?Yn(e):e,Qn=e=>ae(e)?hs(e):e;function ms(e){Xe&&Le&&(e=V(e),is(e.dep||(e.dep=Vn())))}function bs(e,t){e=V(e);const n=e.dep;n&&Fn(n)}function ye(e){return!!(e&&e.__v_isRef===!0)}function _r(e){return jo(e,!1)}function jo(e,t){return ye(e)?e:new Do(e,t)}class Do{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:V(t),this._value=n?t:Ot(t)}get value(){return ms(this),this._value}set value(t){const n=this.__v_isShallow||Qt(t)||_t(t);t=n?t:V(t),dt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ot(t),bs(this))}}function Uo(e){return ye(e)?e.value:e}const Ko={get:(e,t,n)=>Uo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ye(s)&&!ye(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function vs(e){return gt(e)?e:new Proxy(e,Ko)}class zo{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new qn(t,()=>{this._dirty||(this._dirty=!0,bs(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=V(this);return ms(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function $o(e,t,n=!1){let r,s;const o=z(e);return o?(r=e,s=Ne):(r=e.get,s=e.set),new zo(r,s,o||!s,n)}function Qe(e,t,n,r){let s;try{s=r?e(...r):e()}catch(o){cn(o,t,n)}return s}function Oe(e,t,n,r){if(z(e)){const o=Qe(e,t,n,r);return o&&Gr(o)&&o.catch(i=>{cn(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=_e[r],o=Lt(s);oKe&&_e.splice(t,1)}function Zo(e){R(e)?mt.push(...e):(!ze||!ze.includes(e,e.allowRecurse?it+1:it))&&mt.push(e),ys()}function yr(e,t=Rt?Ke+1:0){for(;t<_e.length;t++){const n=_e[t];n&&n.pre&&(_e.splice(t,1),t--,n())}}function xs(e){if(mt.length){const t=[...new Set(mt)];if(mt.length=0,ze){ze.push(...t);return}for(ze=t,ze.sort((n,r)=>Lt(n)-Lt(r)),it=0;ite.id==null?1/0:e.id,Jo=(e,t)=>{const n=Lt(e)-Lt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ws(e){An=!1,Rt=!0,_e.sort(Jo);const t=Ne;try{for(Ke=0;Ke<_e.length;Ke++){const n=_e[Ke];n&&n.active!==!1&&Qe(n,null,14)}}finally{Ke=0,_e.length=0,xs(),Rt=!1,Gn=null,(_e.length||mt.length)&&ws()}}function Yo(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||re;let s=n;const o=t.startsWith("update:"),i=o&&t.slice(7);if(i&&i in r){const g=`${i==="modelValue"?"model":i}Modifiers`,{number:y,trim:w}=r[g]||re;w&&(s=n.map(A=>me(A)?A.trim():A)),y&&(s=n.map(so))}let c,f=r[c=gn(t)]||r[c=gn(vt(t))];!f&&o&&(f=r[c=gn(xt(t))]),f&&Oe(f,e,6,s);const h=r[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Oe(h,e,6,s)}}function Cs(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},c=!1;if(!z(e)){const f=h=>{const g=Cs(h,t,!0);g&&(c=!0,ge(i,g))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!c?(ae(e)&&r.set(e,null),null):(R(o)?o.forEach(f=>i[f]=null):ge(i,o),ae(e)&&r.set(e,i),i)}function an(e,t){return!e||!nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),W(e,t[0].toLowerCase()+t.slice(1))||W(e,xt(t))||W(e,t))}let Pe=null,Ms=null;function Gt(e){const t=Pe;return Pe=e,Ms=e&&e.type.__scopeId||null,t}function Es(e,t=Pe,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Or(-1);const o=Gt(t);let i;try{i=e(...s)}finally{Gt(o),r._d&&Or(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function mn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:c,attrs:f,emit:h,render:g,renderCache:y,data:w,setupState:A,ctx:P,inheritAttrs:O}=e;let X,Q;const te=Gt(e);try{if(n.shapeFlag&4){const B=s||r;X=Ue(g.call(B,B,y,o,A,w,P)),Q=f}else{const B=t;X=Ue(B.length>1?B(o,{attrs:f,slots:c,emit:h}):B(o,null)),Q=t.props?f:Xo(f)}}catch(B){Pt.length=0,cn(B,e,1),X=Ce(Be)}let ne=X;if(Q&&O!==!1){const B=Object.keys(Q),{shapeFlag:fe}=ne;B.length&&fe&7&&(i&&B.some(Kn)&&(Q=Qo(Q,i)),ne=et(ne,Q))}return n.dirs&&(ne=et(ne),ne.dirs=ne.dirs?ne.dirs.concat(n.dirs):n.dirs),n.transition&&(ne.transition=n.transition),X=ne,Gt(te),X}const Xo=e=>{let t;for(const n in e)(n==="class"||n==="style"||nn(n))&&((t||(t={}))[n]=e[n]);return t},Qo=(e,t)=>{const n={};for(const r in e)(!Kn(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Go(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:c,patchFlag:f}=t,h=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return r?xr(r,i,h):!!i;if(f&8){const g=t.dynamicProps;for(let y=0;ye.__isSuspense;function ni(e,t){t&&t.pendingBranch?R(e)?t.effects.push(...e):t.effects.push(e):Zo(e)}const $t={};function qt(e,t,n){return Ts(e,t,n)}function Ts(e,t,{immediate:n,deep:r,flush:s,onTrack:o,onTrigger:i}=re){var c;const f=mo()===((c=be)==null?void 0:c.scope)?be:null;let h,g=!1,y=!1;if(ye(e)?(h=()=>e.value,g=Qt(e)):gt(e)?(h=()=>e,r=!0):R(e)?(y=!0,g=e.some(B=>gt(B)||Qt(B)),h=()=>e.map(B=>{if(ye(B))return B.value;if(gt(B))return at(B);if(z(B))return Qe(B,f,2)})):z(e)?t?h=()=>Qe(e,f,2):h=()=>{if(!(f&&f.isUnmounted))return w&&w(),Oe(e,f,3,[A])}:h=Ne,t&&r){const B=h;h=()=>at(B())}let w,A=B=>{w=te.onStop=()=>{Qe(B,f,4)}},P;if(Nt)if(A=Ne,t?n&&Oe(t,f,3,[h(),y?[]:void 0,A]):h(),s==="sync"){const B=rl();P=B.__watcherHandles||(B.__watcherHandles=[])}else return Ne;let O=y?new Array(e.length).fill($t):$t;const X=()=>{if(te.active)if(t){const B=te.run();(r||g||(y?B.some((fe,Ie)=>dt(fe,O[Ie])):dt(B,O)))&&(w&&w(),Oe(t,f,3,[B,O===$t?void 0:y&&O[0]===$t?[]:O,A]),O=B)}else te.run()};X.allowRecurse=!!t;let Q;s==="sync"?Q=X:s==="post"?Q=()=>we(X,f&&f.suspense):(X.pre=!0,f&&(X.id=f.uid),Q=()=>er(X));const te=new qn(h,Q);t?n?X():O=te.run():s==="post"?we(te.run.bind(te),f&&f.suspense):te.run();const ne=()=>{te.stop(),f&&f.scope&&zn(f.scope.effects,te)};return P&&P.push(ne),ne}function ri(e,t,n){const r=this.proxy,s=me(e)?e.includes(".")?Is(r,e):()=>r[e]:e.bind(r,r);let o;z(t)?o=t:(o=t.handler,n=t);const i=be;yt(this);const c=Ts(s,o.bind(r),n);return i?yt(i):ut(),c}function Is(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{at(n,t)});else if(to(e))for(const n in e)at(e[n],t);return e}function si(e,t){const n=Pe;if(n===null)return e;const r=pn(n)||n.proxy,s=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Ls(()=>{e.isUnmounting=!0}),e}const Ae=[Function,Array],Fs={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ae,onEnter:Ae,onAfterEnter:Ae,onEnterCancelled:Ae,onBeforeLeave:Ae,onLeave:Ae,onAfterLeave:Ae,onLeaveCancelled:Ae,onBeforeAppear:Ae,onAppear:Ae,onAfterAppear:Ae,onAppearCancelled:Ae},ii={name:"BaseTransition",props:Fs,setup(e,{slots:t}){const n=Zi(),r=oi();let s;return()=>{const o=t.default&&Ps(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const O of o)if(O.type!==Be){i=O;break}}const c=V(e),{mode:f}=c;if(r.isLeaving)return bn(i);const h=wr(i);if(!h)return bn(i);const g=Pn(h,c,r,n);On(h,g);const y=n.subTree,w=y&&wr(y);let A=!1;const{getTransitionKey:P}=h.type;if(P){const O=P();s===void 0?s=O:O!==s&&(s=O,A=!0)}if(w&&w.type!==Be&&(!lt(h,w)||A)){const O=Pn(w,c,r,n);if(On(w,O),f==="out-in")return r.isLeaving=!0,O.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},bn(i);f==="in-out"&&h.type!==Be&&(O.delayLeave=(X,Q,te)=>{const ne=As(r,w);ne[String(w.key)]=w,X[Je]=()=>{Q(),X[Je]=void 0,delete g.delayedLeave},g.delayedLeave=te})}return i}}},li=ii;function As(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Pn(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:h,onEnterCancelled:g,onBeforeLeave:y,onLeave:w,onAfterLeave:A,onLeaveCancelled:P,onBeforeAppear:O,onAppear:X,onAfterAppear:Q,onAppearCancelled:te}=t,ne=String(e.key),B=As(n,e),fe=(K,se)=>{K&&Oe(K,r,9,se)},Ie=(K,se)=>{const G=se[1];fe(K,se),R(K)?K.every(he=>he.length<=1)&&G():K.length<=1&&G()},Fe={mode:o,persisted:i,beforeEnter(K){let se=c;if(!n.isMounted)if(s)se=O||c;else return;K[Je]&&K[Je](!0);const G=B[ne];G&<(e,G)&&G.el[Je]&&G.el[Je](),fe(se,[K])},enter(K){let se=f,G=h,he=g;if(!n.isMounted)if(s)se=X||f,G=Q||h,he=te||g;else return;let T=!1;const ee=K[kt]=ve=>{T||(T=!0,ve?fe(he,[K]):fe(G,[K]),Fe.delayedLeave&&Fe.delayedLeave(),K[kt]=void 0)};se?Ie(se,[K,ee]):ee()},leave(K,se){const G=String(e.key);if(K[kt]&&K[kt](!0),n.isUnmounting)return se();fe(y,[K]);let he=!1;const T=K[Je]=ee=>{he||(he=!0,se(),ee?fe(P,[K]):fe(A,[K]),K[Je]=void 0,B[G]===e&&delete B[G])};B[G]=e,w?Ie(w,[K,T]):T()},clone(K){return Pn(K,t,n,r)}};return Fe}function bn(e){if(fn(e))return e=et(e),e.children=null,e}function wr(e){return fn(e)?e.children?e.children[0]:void 0:e}function On(e,t){e.shapeFlag&6&&e.component?On(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ps(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,fn=e=>e.type.__isKeepAlive;function ci(e,t){Os(e,"a",t)}function ai(e,t){Os(e,"da",t)}function Os(e,t,n=be){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(un(t,r,n),n){let s=n.parent;for(;s&&s.parent;)fn(s.parent.vnode)&&fi(r,t,n,s),s=s.parent}}function fi(e,t,n,r){const s=un(t,e,r,!0);Ss(()=>{zn(r[t],s)},n)}function un(e,t,n=be,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;wt(),yt(n);const c=Oe(t,n,e,i);return ut(),Ct(),c});return r?s.unshift(o):s.push(o),o}}const ke=e=>(t,n=be)=>(!Nt||e==="sp")&&un(e,(...r)=>t(...r),n),ui=ke("bm"),Rs=ke("m"),di=ke("bu"),hi=ke("u"),Ls=ke("bum"),Ss=ke("um"),pi=ke("sp"),gi=ke("rtg"),mi=ke("rtc");function bi(e,t=be){un("ec",e,t)}const vi=Symbol.for("v-ndc"),Rn=e=>e?Ws(e)?pn(e)||e.proxy:Rn(e.parent):null,At=ge(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Rn(e.parent),$root:e=>Rn(e.root),$emit:e=>e.emit,$options:e=>tr(e),$forceUpdate:e=>e.f||(e.f=()=>er(e.update)),$nextTick:e=>e.n||(e.n=Wo.bind(e.proxy)),$watch:e=>ri.bind(e)}),vn=(e,t)=>e!==re&&!e.__isScriptSetup&&W(e,t),_i={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:c,appContext:f}=e;let h;if(t[0]!=="$"){const A=i[t];if(A!==void 0)switch(A){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(vn(r,t))return i[t]=1,r[t];if(s!==re&&W(s,t))return i[t]=2,s[t];if((h=e.propsOptions[0])&&W(h,t))return i[t]=3,o[t];if(n!==re&&W(n,t))return i[t]=4,n[t];Ln&&(i[t]=0)}}const g=At[t];let y,w;if(g)return t==="$attrs"&&Me(e,"get",t),g(e);if((y=c.__cssModules)&&(y=y[t]))return y;if(n!==re&&W(n,t))return i[t]=4,n[t];if(w=f.config.globalProperties,W(w,t))return w[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return vn(s,t)?(s[t]=n,!0):r!==re&&W(r,t)?(r[t]=n,!0):W(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let c;return!!n[i]||e!==re&&W(e,i)||vn(t,i)||(c=o[0])&&W(c,i)||W(r,i)||W(At,i)||W(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:W(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Cr(e){return R(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ln=!0;function yi(e){const t=tr(e),n=e.proxy,r=e.ctx;Ln=!1,t.beforeCreate&&Mr(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:c,provide:f,inject:h,created:g,beforeMount:y,mounted:w,beforeUpdate:A,updated:P,activated:O,deactivated:X,beforeDestroy:Q,beforeUnmount:te,destroyed:ne,unmounted:B,render:fe,renderTracked:Ie,renderTriggered:Fe,errorCaptured:K,serverPrefetch:se,expose:G,inheritAttrs:he,components:T,directives:ee,filters:ve}=t;if(h&&xi(h,r,null),i)for(const oe in i){const d=i[oe];z(d)&&(r[oe]=d.bind(n))}if(s){const oe=s.call(n,n);ae(oe)&&(e.data=Yn(oe))}if(Ln=!0,o)for(const oe in o){const d=o[oe],u=z(d)?d.bind(n,n):z(d.get)?d.get.bind(n,n):Ne,H=!z(d)&&z(d.set)?d.set.bind(n):Ne,S=el({get:u,set:H});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>S.value,set:N=>S.value=N})}if(c)for(const oe in c)Ns(c[oe],r,n,oe);if(f){const oe=z(f)?f.call(n):f;Reflect.ownKeys(oe).forEach(d=>{Ii(d,oe[d])})}g&&Mr(g,e,"c");function ue(oe,d){R(d)?d.forEach(u=>oe(u.bind(n))):d&&oe(d.bind(n))}if(ue(ui,y),ue(Rs,w),ue(di,A),ue(hi,P),ue(ci,O),ue(ai,X),ue(bi,K),ue(mi,Ie),ue(gi,Fe),ue(Ls,te),ue(Ss,B),ue(pi,se),R(G))if(G.length){const oe=e.exposed||(e.exposed={});G.forEach(d=>{Object.defineProperty(oe,d,{get:()=>n[d],set:u=>n[d]=u})})}else e.exposed||(e.exposed={});fe&&e.render===Ne&&(e.render=fe),he!=null&&(e.inheritAttrs=he),T&&(e.components=T),ee&&(e.directives=ee)}function xi(e,t,n=Ne){R(e)&&(e=Sn(e));for(const r in e){const s=e[r];let o;ae(s)?"default"in s?o=Jt(s.from||r,s.default,!0):o=Jt(s.from||r):o=Jt(s),ye(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Mr(e,t,n){Oe(R(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ns(e,t,n,r){const s=r.includes(".")?Is(n,r):()=>n[r];if(me(e)){const o=t[e];z(o)&&qt(s,o)}else if(z(e))qt(s,e.bind(n));else if(ae(e))if(R(e))e.forEach(o=>Ns(o,t,n,r));else{const o=z(e.handler)?e.handler.bind(n):t[e.handler];z(o)&&qt(s,o,e)}}function tr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,c=o.get(t);let f;return c?f=c:!s.length&&!n&&!r?f=t:(f={},s.length&&s.forEach(h=>en(f,h,i,!0)),en(f,t,i)),ae(t)&&o.set(t,f),f}function en(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&en(e,o,n,!0),s&&s.forEach(i=>en(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const c=wi[i]||n&&n[i];e[i]=c?c(e[i],t[i]):t[i]}return e}const wi={data:Er,props:Tr,emits:Tr,methods:It,computed:It,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:It,directives:It,watch:Mi,provide:Er,inject:Ci};function Er(e,t){return t?e?function(){return ge(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function Ci(e,t){return It(Sn(e),Sn(t))}function Sn(e){if(R(e)){const t={};for(let n=0;n1)return n&&z(t)?t.call(r&&r.proxy):t}}function Fi(e,t,n,r=!1){const s={},o={};Xt(o,hn,1),e.propsDefaults=Object.create(null),Hs(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Ho(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Ai(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,c=V(s),[f]=e.propsOptions;let h=!1;if((r||i>0)&&!(i&16)){if(i&8){const g=e.vnode.dynamicProps;for(let y=0;y{f=!0;const[w,A]=js(y,t,!0);ge(i,w),A&&c.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(g),e.extends&&g(e.extends),e.mixins&&e.mixins.forEach(g)}if(!o&&!f)return ae(e)&&r.set(e,pt),pt;if(R(o))for(let g=0;g-1,A[1]=O<0||P-1||W(A,"default"))&&c.push(y)}}}const h=[i,c];return ae(e)&&r.set(e,h),h}function Ir(e){return e[0]!=="$"}function Fr(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ar(e,t){return Fr(e)===Fr(t)}function Pr(e,t){return R(t)?t.findIndex(n=>Ar(n,e)):z(t)&&Ar(t,e)?0:-1}const Ds=e=>e[0]==="_"||e==="$stable",nr=e=>R(e)?e.map(Ue):[Ue(e)],Pi=(e,t,n)=>{if(t._n)return t;const r=Es((...s)=>nr(t(...s)),n);return r._c=!1,r},Us=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ds(s))continue;const o=e[s];if(z(o))t[s]=Pi(s,o,r);else if(o!=null){const i=nr(o);t[s]=()=>i}}},Ks=(e,t)=>{const n=nr(t);e.slots.default=()=>n},Oi=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=V(t),Xt(t,"_",n)):Us(t,e.slots={})}else e.slots={},t&&Ks(e,t);Xt(e.slots,hn,1)},Ri=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=re;if(r.shapeFlag&32){const c=t._;c?n&&c===1?o=!1:(ge(s,t),!n&&c===1&&delete s._):(o=!t.$stable,Us(t,s)),i=t}else t&&(Ks(e,t),i={default:1});if(o)for(const c in s)!Ds(c)&&i[c]==null&&delete s[c]};function Bn(e,t,n,r,s=!1){if(R(e)){e.forEach((w,A)=>Bn(w,t&&(R(t)?t[A]:t),n,r,s));return}if(Zt(r)&&!s)return;const o=r.shapeFlag&4?pn(r.component)||r.component.proxy:r.el,i=s?null:o,{i:c,r:f}=e,h=t&&t.r,g=c.refs===re?c.refs={}:c.refs,y=c.setupState;if(h!=null&&h!==f&&(me(h)?(g[h]=null,W(y,h)&&(y[h]=null)):ye(h)&&(h.value=null)),z(f))Qe(f,c,12,[i,g]);else{const w=me(f),A=ye(f);if(w||A){const P=()=>{if(e.f){const O=w?W(y,f)?y[f]:g[f]:f.value;s?R(O)&&zn(O,o):R(O)?O.includes(o)||O.push(o):w?(g[f]=[o],W(y,f)&&(y[f]=g[f])):(f.value=[o],e.k&&(g[e.k]=f.value))}else w?(g[f]=i,W(y,f)&&(y[f]=i)):A&&(f.value=i,e.k&&(g[e.k]=i))};i?(P.id=-1,we(P,n)):P()}}}const we=ni;function Li(e){return Si(e)}function Si(e,t){const n=Mn();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:c,createComment:f,setText:h,setElementText:g,parentNode:y,nextSibling:w,setScopeId:A=Ne,insertStaticContent:P}=e,O=(l,a,p,m=null,b=null,_=null,C=!1,x=null,M=!!a.dynamicChildren)=>{if(l===a)return;l&&!lt(l,a)&&(m=Y(l),N(l,b,_,!0),l=null),a.patchFlag===-2&&(M=!1,a.dynamicChildren=null);const{type:v,ref:I,shapeFlag:E}=a;switch(v){case dn:X(l,a,p,m);break;case Be:Q(l,a,p,m);break;case _n:l==null&&te(a,p,m,C);break;case De:T(l,a,p,m,b,_,C,x,M);break;default:E&1?fe(l,a,p,m,b,_,C,x,M):E&6?ee(l,a,p,m,b,_,C,x,M):(E&64||E&128)&&v.process(l,a,p,m,b,_,C,x,M,q)}I!=null&&b&&Bn(I,l&&l.ref,_,a||l,!a)},X=(l,a,p,m)=>{if(l==null)r(a.el=c(a.children),p,m);else{const b=a.el=l.el;a.children!==l.children&&h(b,a.children)}},Q=(l,a,p,m)=>{l==null?r(a.el=f(a.children||""),p,m):a.el=l.el},te=(l,a,p,m)=>{[l.el,l.anchor]=P(l.children,a,p,m,l.el,l.anchor)},ne=({el:l,anchor:a},p,m)=>{let b;for(;l&&l!==a;)b=w(l),r(l,p,m),l=b;r(a,p,m)},B=({el:l,anchor:a})=>{let p;for(;l&&l!==a;)p=w(l),s(l),l=p;s(a)},fe=(l,a,p,m,b,_,C,x,M)=>{C=C||a.type==="svg",l==null?Ie(a,p,m,b,_,C,x,M):se(l,a,b,_,C,x,M)},Ie=(l,a,p,m,b,_,C,x)=>{let M,v;const{type:I,props:E,shapeFlag:F,transition:D,dirs:k}=l;if(M=l.el=i(l.type,_,E&&E.is,E),F&8?g(M,l.children):F&16&&K(l.children,M,null,m,b,_&&I!=="foreignObject",C,x),k&&nt(l,null,m,"created"),Fe(M,l,l.scopeId,C,m),E){for(const Z in E)Z!=="value"&&!Wt(Z)&&o(M,Z,null,E[Z],_,l.children,m,b,j);"value"in E&&o(M,"value",null,E.value),(v=E.onVnodeBeforeMount)&&je(v,m,l)}k&&nt(l,null,m,"beforeMount");const J=Ni(b,D);J&&D.beforeEnter(M),r(M,a,p),((v=E&&E.onVnodeMounted)||J||k)&&we(()=>{v&&je(v,m,l),J&&D.enter(M),k&&nt(l,null,m,"mounted")},b)},Fe=(l,a,p,m,b)=>{if(p&&A(l,p),m)for(let _=0;_{for(let v=M;v{const x=a.el=l.el;let{patchFlag:M,dynamicChildren:v,dirs:I}=a;M|=l.patchFlag&16;const E=l.props||re,F=a.props||re;let D;p&&rt(p,!1),(D=F.onVnodeBeforeUpdate)&&je(D,p,a,l),I&&nt(a,l,p,"beforeUpdate"),p&&rt(p,!0);const k=b&&a.type!=="foreignObject";if(v?G(l.dynamicChildren,v,x,p,m,k,_):C||d(l,a,x,null,p,m,k,_,!1),M>0){if(M&16)he(x,a,E,F,p,m,b);else if(M&2&&E.class!==F.class&&o(x,"class",null,F.class,b),M&4&&o(x,"style",E.style,F.style,b),M&8){const J=a.dynamicProps;for(let Z=0;Z{D&&je(D,p,a,l),I&&nt(a,l,p,"updated")},m)},G=(l,a,p,m,b,_,C)=>{for(let x=0;x{if(p!==m){if(p!==re)for(const x in p)!Wt(x)&&!(x in m)&&o(l,x,p[x],null,C,a.children,b,_,j);for(const x in m){if(Wt(x))continue;const M=m[x],v=p[x];M!==v&&x!=="value"&&o(l,x,v,M,C,a.children,b,_,j)}"value"in m&&o(l,"value",p.value,m.value)}},T=(l,a,p,m,b,_,C,x,M)=>{const v=a.el=l?l.el:c(""),I=a.anchor=l?l.anchor:c("");let{patchFlag:E,dynamicChildren:F,slotScopeIds:D}=a;D&&(x=x?x.concat(D):D),l==null?(r(v,p,m),r(I,p,m),K(a.children,p,I,b,_,C,x,M)):E>0&&E&64&&F&&l.dynamicChildren?(G(l.dynamicChildren,F,p,b,_,C,x),(a.key!=null||b&&a===b.subTree)&&zs(l,a,!0)):d(l,a,p,I,b,_,C,x,M)},ee=(l,a,p,m,b,_,C,x,M)=>{a.slotScopeIds=x,l==null?a.shapeFlag&512?b.ctx.activate(a,p,m,C,M):ve(a,p,m,b,_,C,M):tt(l,a,M)},ve=(l,a,p,m,b,_,C)=>{const x=l.component=qi(l,m,b);if(fn(l)&&(x.ctx.renderer=q),Ji(x),x.asyncDep){if(b&&b.registerDep(x,ue),!l.el){const M=x.subTree=Ce(Be);Q(null,M,a,p)}return}ue(x,l,a,p,b,_,C)},tt=(l,a,p)=>{const m=a.component=l.component;if(Go(l,a,p))if(m.asyncDep&&!m.asyncResolved){oe(m,a,p);return}else m.next=a,qo(m.update),m.update();else a.el=l.el,m.vnode=a},ue=(l,a,p,m,b,_,C)=>{const x=()=>{if(l.isMounted){let{next:I,bu:E,u:F,parent:D,vnode:k}=l,J=I,Z;rt(l,!1),I?(I.el=k.el,oe(l,I,C)):I=k,E&&Vt(E),(Z=I.props&&I.props.onVnodeBeforeUpdate)&&je(Z,D,I,k),rt(l,!0);const ce=mn(l),Ee=l.subTree;l.subTree=ce,O(Ee,ce,y(Ee.el),Y(Ee),l,b,_),I.el=ce.el,J===null&&ei(l,ce.el),F&&we(F,b),(Z=I.props&&I.props.onVnodeUpdated)&&we(()=>je(Z,D,I,k),b)}else{let I;const{el:E,props:F}=a,{bm:D,m:k,parent:J}=l,Z=Zt(a);if(rt(l,!1),D&&Vt(D),!Z&&(I=F&&F.onVnodeBeforeMount)&&je(I,J,a),rt(l,!0),E&&de){const ce=()=>{l.subTree=mn(l),de(E,l.subTree,l,b,null)};Z?a.type.__asyncLoader().then(()=>!l.isUnmounted&&ce()):ce()}else{const ce=l.subTree=mn(l);O(null,ce,p,m,l,b,_),a.el=ce.el}if(k&&we(k,b),!Z&&(I=F&&F.onVnodeMounted)){const ce=a;we(()=>je(I,J,ce),b)}(a.shapeFlag&256||J&&Zt(J.vnode)&&J.vnode.shapeFlag&256)&&l.a&&we(l.a,b),l.isMounted=!0,a=p=m=null}},M=l.effect=new qn(x,()=>er(v),l.scope),v=l.update=()=>M.run();v.id=l.uid,rt(l,!0),v()},oe=(l,a,p)=>{a.component=l;const m=l.vnode.props;l.vnode=a,l.next=null,Ai(l,a.props,m,p),Ri(l,a.children,p),wt(),yr(),Ct()},d=(l,a,p,m,b,_,C,x,M=!1)=>{const v=l&&l.children,I=l?l.shapeFlag:0,E=a.children,{patchFlag:F,shapeFlag:D}=a;if(F>0){if(F&128){H(v,E,p,m,b,_,C,x,M);return}else if(F&256){u(v,E,p,m,b,_,C,x,M);return}}D&8?(I&16&&j(v,b,_),E!==v&&g(p,E)):I&16?D&16?H(v,E,p,m,b,_,C,x,M):j(v,b,_,!0):(I&8&&g(p,""),D&16&&K(E,p,m,b,_,C,x,M))},u=(l,a,p,m,b,_,C,x,M)=>{l=l||pt,a=a||pt;const v=l.length,I=a.length,E=Math.min(v,I);let F;for(F=0;FI?j(l,b,_,!0,!1,E):K(a,p,m,b,_,C,x,M,E)},H=(l,a,p,m,b,_,C,x,M)=>{let v=0;const I=a.length;let E=l.length-1,F=I-1;for(;v<=E&&v<=F;){const D=l[v],k=a[v]=M?Ye(a[v]):Ue(a[v]);if(lt(D,k))O(D,k,p,null,b,_,C,x,M);else break;v++}for(;v<=E&&v<=F;){const D=l[E],k=a[F]=M?Ye(a[F]):Ue(a[F]);if(lt(D,k))O(D,k,p,null,b,_,C,x,M);else break;E--,F--}if(v>E){if(v<=F){const D=F+1,k=DF)for(;v<=E;)N(l[v],b,_,!0),v++;else{const D=v,k=v,J=new Map;for(v=k;v<=F;v++){const Te=a[v]=M?Ye(a[v]):Ue(a[v]);Te.key!=null&&J.set(Te.key,v)}let Z,ce=0;const Ee=F-k+1;let We=!1,lr=0;const Mt=new Array(Ee);for(v=0;v=Ee){N(Te,b,_,!0);continue}let He;if(Te.key!=null)He=J.get(Te.key);else for(Z=k;Z<=F;Z++)if(Mt[Z-k]===0&<(Te,a[Z])){He=Z;break}He===void 0?N(Te,b,_,!0):(Mt[He-k]=v+1,He>=lr?lr=He:We=!0,O(Te,a[He],p,null,b,_,C,x,M),ce++)}const cr=We?Bi(Mt):pt;for(Z=cr.length-1,v=Ee-1;v>=0;v--){const Te=k+v,He=a[Te],ar=Te+1{const{el:_,type:C,transition:x,children:M,shapeFlag:v}=l;if(v&6){S(l.component.subTree,a,p,m);return}if(v&128){l.suspense.move(a,p,m);return}if(v&64){C.move(l,a,p,q);return}if(C===De){r(_,a,p);for(let E=0;Ex.enter(_),b);else{const{leave:E,delayLeave:F,afterLeave:D}=x,k=()=>r(_,a,p),J=()=>{E(_,()=>{k(),D&&D()})};F?F(_,k,J):J()}else r(_,a,p)},N=(l,a,p,m=!1,b=!1)=>{const{type:_,props:C,ref:x,children:M,dynamicChildren:v,shapeFlag:I,patchFlag:E,dirs:F}=l;if(x!=null&&Bn(x,null,p,l,!0),I&256){a.ctx.deactivate(l);return}const D=I&1&&F,k=!Zt(l);let J;if(k&&(J=C&&C.onVnodeBeforeUnmount)&&je(J,a,l),I&6)L(l.component,p,m);else{if(I&128){l.suspense.unmount(p,m);return}D&&nt(l,null,a,"beforeUnmount"),I&64?l.type.remove(l,a,p,b,q,m):v&&(_!==De||E>0&&E&64)?j(v,a,p,!1,!0):(_===De&&E&384||!b&&I&16)&&j(M,a,p),m&&U(l)}(k&&(J=C&&C.onVnodeUnmounted)||D)&&we(()=>{J&&je(J,a,l),D&&nt(l,null,a,"unmounted")},p)},U=l=>{const{type:a,el:p,anchor:m,transition:b}=l;if(a===De){$(p,m);return}if(a===_n){B(l);return}const _=()=>{s(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(l.shapeFlag&1&&b&&!b.persisted){const{leave:C,delayLeave:x}=b,M=()=>C(p,_);x?x(l.el,_,M):M()}else _()},$=(l,a)=>{let p;for(;l!==a;)p=w(l),s(l),l=p;s(a)},L=(l,a,p)=>{const{bum:m,scope:b,update:_,subTree:C,um:x}=l;m&&Vt(m),b.stop(),_&&(_.active=!1,N(C,l,a,p)),x&&we(x,a),we(()=>{l.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},j=(l,a,p,m=!1,b=!1,_=0)=>{for(let C=_;Cl.shapeFlag&6?Y(l.component.subTree):l.shapeFlag&128?l.suspense.next():w(l.anchor||l.el),ie=(l,a,p)=>{l==null?a._vnode&&N(a._vnode,null,null,!0):O(a._vnode||null,l,a,null,null,null,p),yr(),xs(),a._vnode=l},q={p:O,um:N,m:S,r:U,mt:ve,mc:K,pc:d,pbc:G,n:Y,o:e};let le,de;return t&&([le,de]=t(q)),{render:ie,hydrate:le,createApp:Ti(ie,le)}}function rt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ni(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const r=e.children,s=t.children;if(R(r)&&R(s))for(let o=0;o>1,e[n[c]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const Hi=e=>e.__isTeleport,De=Symbol.for("v-fgt"),dn=Symbol.for("v-txt"),Be=Symbol.for("v-cmt"),_n=Symbol.for("v-stc"),Pt=[];let Se=null;function Hn(e=!1){Pt.push(Se=e?null:[])}function ji(){Pt.pop(),Se=Pt[Pt.length-1]||null}let St=1;function Or(e){St+=e}function $s(e){return e.dynamicChildren=St>0?Se||pt:null,ji(),St>0&&Se&&Se.push(e),e}function Rr(e,t,n,r,s,o){return $s(pe(e,t,n,r,s,o,!0))}function Di(e,t,n,r,s){return $s(Ce(e,t,n,r,s,!0))}function jn(e){return e?e.__v_isVNode===!0:!1}function lt(e,t){return e.type===t.type&&e.key===t.key}const hn="__vInternal",ks=({key:e})=>e??null,Yt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?me(e)||ye(e)||z(e)?{i:Pe,r:e,k:t,f:!!n}:e:null);function pe(e,t=null,n=null,r=0,s=null,o=e===De?0:1,i=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ks(t),ref:t&&Yt(t),scopeId:Ms,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Pe};return c?(rr(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=me(n)?8:16),St>0&&!i&&Se&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&Se.push(f),f}const Ce=Ui;function Ui(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===vi)&&(e=Be),jn(e)){const c=et(e,t,!0);return n&&rr(c,n),St>0&&!o&&Se&&(c.shapeFlag&6?Se[Se.indexOf(e)]=c:Se.push(c)),c.patchFlag|=-2,c}if(Gi(e)&&(e=e.__vccOpts),t){t=Ki(t);let{class:c,style:f}=t;c&&!me(c)&&(t.class=sn(c)),ae(f)&&(ps(f)&&!R(f)&&(f=ge({},f)),t.style=Wn(f))}const i=me(e)?1:ti(e)?128:Hi(e)?64:ae(e)?4:z(e)?2:0;return pe(e,t,n,r,s,i,o,!0)}function Ki(e){return e?ps(e)||hn in e?ge({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,c=t?ki(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ks(c),ref:t&&t.ref?n&&s?R(s)?s.concat(Yt(t)):[s,Yt(t)]:Yt(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==De?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function zi(e=" ",t=0){return Ce(dn,null,e,t)}function $i(e="",t=!1){return t?(Hn(),Di(Be,null,e)):Ce(Be,null,e)}function Ue(e){return e==null||typeof e=="boolean"?Ce(Be):R(e)?Ce(De,null,e.slice()):typeof e=="object"?Ye(e):Ce(dn,null,String(e))}function Ye(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function rr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(R(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),rr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(hn in t)?t._ctx=Pe:s===3&&Pe&&(Pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:Pe},n=32):(t=String(t),r&64?(n=16,t=[zi(t)]):n=8);e.children=t,e.shapeFlag|=n}function ki(...e){const t={};for(let n=0;nbe||Pe;let sr,ht,Lr="__VUE_INSTANCE_SETTERS__";(ht=Mn()[Lr])||(ht=Mn()[Lr]=[]),ht.push(e=>be=e),sr=e=>{ht.length>1?ht.forEach(t=>t(e)):ht[0](e)};const yt=e=>{sr(e),e.scope.on()},ut=()=>{be&&be.scope.off(),sr(null)};function Ws(e){return e.vnode.shapeFlag&4}let Nt=!1;function Ji(e,t=!1){Nt=t;const{props:n,children:r}=e.vnode,s=Ws(e);Fi(e,n,s,t),Oi(e,r);const o=s?Yi(e,t):void 0;return Nt=!1,o}function Yi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=gs(new Proxy(e.ctx,_i));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?Qi(e):null;yt(e),wt();const o=Qe(r,e,0,[e.props,s]);if(Ct(),ut(),Gr(o)){if(o.then(ut,ut),t)return o.then(i=>{Sr(e,i,t)}).catch(i=>{cn(i,e,0)});e.asyncDep=o}else Sr(e,o,t)}else Vs(e,t)}function Sr(e,t,n){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ae(t)&&(e.setupState=vs(t)),Vs(e,n)}let Nr;function Vs(e,t,n){const r=e.type;if(!e.render){if(!t&&Nr&&!r.render){const s=r.template||tr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:c,compilerOptions:f}=r,h=ge(ge({isCustomElement:o,delimiters:c},i),f);r.render=Nr(s,h)}}e.render=r.render||Ne}{yt(e),wt();try{yi(e)}finally{Ct(),ut()}}}function Xi(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Me(e,"get","$attrs"),t[n]}}))}function Qi(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Xi(e)},slots:e.slots,emit:e.emit,expose:t}}function pn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(vs(gs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in At)return At[n](e)},has(t,n){return n in t||n in At}}))}function Gi(e){return z(e)&&"__vccOpts"in e}const el=(e,t)=>$o(e,t,Nt);function tl(e,t,n){const r=arguments.length;return r===2?ae(t)&&!R(t)?jn(t)?Ce(e,null,[t]):Ce(e,t):Ce(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&jn(n)&&(n=[n]),Ce(e,t,n))}const nl=Symbol.for("v-scx"),rl=()=>Jt(nl),sl="3.3.7",ol="http://www.w3.org/2000/svg",ct=typeof document<"u"?document:null,Br=ct&&ct.createElement("template"),il={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t?ct.createElementNS(ol,e):ct.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Br.innerHTML=r?`${e}`:e;const c=Br.content;if(r){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},qe="transition",Et="animation",Bt=Symbol("_vtc"),or=(e,{slots:t})=>tl(li,ll(e),t);or.displayName="Transition";const qs={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};or.props=ge({},Fs,qs);const st=(e,t=[])=>{R(e)?e.forEach(n=>n(...t)):e&&e(...t)},Hr=e=>e?R(e)?e.some(t=>t.length>1):e.length>1:!1;function ll(e){const t={};for(const T in e)T in qs||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:f=o,appearActiveClass:h=i,appearToClass:g=c,leaveFromClass:y=`${n}-leave-from`,leaveActiveClass:w=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,P=cl(s),O=P&&P[0],X=P&&P[1],{onBeforeEnter:Q,onEnter:te,onEnterCancelled:ne,onLeave:B,onLeaveCancelled:fe,onBeforeAppear:Ie=Q,onAppear:Fe=te,onAppearCancelled:K=ne}=t,se=(T,ee,ve)=>{ot(T,ee?g:c),ot(T,ee?h:i),ve&&ve()},G=(T,ee)=>{T._isLeaving=!1,ot(T,y),ot(T,A),ot(T,w),ee&&ee()},he=T=>(ee,ve)=>{const tt=T?Fe:te,ue=()=>se(ee,T,ve);st(tt,[ee,ue]),jr(()=>{ot(ee,T?f:o),Ze(ee,T?g:c),Hr(tt)||Dr(ee,r,O,ue)})};return ge(t,{onBeforeEnter(T){st(Q,[T]),Ze(T,o),Ze(T,i)},onBeforeAppear(T){st(Ie,[T]),Ze(T,f),Ze(T,h)},onEnter:he(!1),onAppear:he(!0),onLeave(T,ee){T._isLeaving=!0;const ve=()=>G(T,ee);Ze(T,y),ul(),Ze(T,w),jr(()=>{T._isLeaving&&(ot(T,y),Ze(T,A),Hr(B)||Dr(T,r,X,ve))}),st(B,[T,ve])},onEnterCancelled(T){se(T,!1),st(ne,[T])},onAppearCancelled(T){se(T,!0),st(K,[T])},onLeaveCancelled(T){G(T),st(fe,[T])}})}function cl(e){if(e==null)return null;if(ae(e))return[yn(e.enter),yn(e.leave)];{const t=yn(e);return[t,t]}}function yn(e){return oo(e)}function Ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bt]||(e[Bt]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Bt];n&&(n.delete(t),n.size||(e[Bt]=void 0))}function jr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let al=0;function Dr(e,t,n,r){const s=e._endId=++al,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:c,propCount:f}=fl(e,t);if(!i)return r();const h=i+"end";let g=0;const y=()=>{e.removeEventListener(h,w),o()},w=A=>{A.target===e&&++g>=f&&y()};setTimeout(()=>{g(n[P]||"").split(", "),s=r(`${qe}Delay`),o=r(`${qe}Duration`),i=Ur(s,o),c=r(`${Et}Delay`),f=r(`${Et}Duration`),h=Ur(c,f);let g=null,y=0,w=0;t===qe?i>0&&(g=qe,y=i,w=o.length):t===Et?h>0&&(g=Et,y=h,w=f.length):(y=Math.max(i,h),g=y>0?i>h?qe:Et:null,w=g?g===qe?o.length:f.length:0);const A=g===qe&&/\b(transform|all)(,|$)/.test(r(`${qe}Property`).toString());return{type:g,timeout:y,propCount:w,hasTransform:A}}function Ur(e,t){for(;e.lengthKr(n)+Kr(e[r])))}function Kr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ul(){return document.body.offsetHeight}function dl(e,t,n){const r=e[Bt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const hl=Symbol("_vod");function pl(e,t,n){const r=e.style,s=me(n);if(n&&!s){if(t&&!me(t))for(const o in t)n[o]==null&&Dn(r,o,"");for(const o in n)Dn(r,o,n[o])}else{const o=r.display;s?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),hl in e&&(r.display=o)}}const zr=/\s*!important$/;function Dn(e,t,n){if(R(n))n.forEach(r=>Dn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=gl(e,t);zr.test(n)?e.setProperty(xt(r),n.replace(zr,""),"important"):e[r]=n}}const $r=["Webkit","Moz","ms"],xn={};function gl(e,t){const n=xn[t];if(n)return n;let r=vt(t);if(r!=="filter"&&r in e)return xn[t]=r;r=es(r);for(let s=0;s<$r.length;s++){const o=$r[s]+r;if(o in e)return xn[t]=o}return t}const kr="http://www.w3.org/1999/xlink";function ml(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(kr,t.slice(6,t.length)):e.setAttributeNS(kr,t,n);else{const o=uo(t);n==null||o&&!ts(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function bl(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const c=e.tagName;if(t==="value"&&c!=="PROGRESS"&&!c.includes("-")){e._value=n;const h=c==="OPTION"?e.getAttribute("value"):e.value,g=n??"";h!==g&&(e.value=g),n==null&&e.removeAttribute(t);return}let f=!1;if(n===""||n==null){const h=typeof e[t];h==="boolean"?n=ts(n):n==null&&h==="string"?(n="",f=!0):h==="number"&&(n=0,f=!0)}try{e[t]=n}catch{}f&&e.removeAttribute(t)}function Zs(e,t,n,r){e.addEventListener(t,n,r)}function vl(e,t,n,r){e.removeEventListener(t,n,r)}const Wr=Symbol("_vei");function _l(e,t,n,r,s=null){const o=e[Wr]||(e[Wr]={}),i=o[t];if(r&&i)i.value=r;else{const[c,f]=yl(t);if(r){const h=o[t]=Cl(r,s);Zs(e,c,h,f)}else i&&(vl(e,c,i,f),o[t]=void 0)}}const Vr=/(?:Once|Passive|Capture)$/;function yl(e){let t;if(Vr.test(e)){t={};let r;for(;r=e.match(Vr);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):xt(e.slice(2)),t]}let wn=0;const xl=Promise.resolve(),wl=()=>wn||(xl.then(()=>wn=0),wn=Date.now());function Cl(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Oe(Ml(r,n.value),t,5,[r])};return n.value=e,n.attached=wl(),n}function Ml(e,t){if(R(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const qr=/^on[a-z]/,El=(e,t,n,r,s=!1,o,i,c,f)=>{t==="class"?dl(e,r,s):t==="style"?pl(e,n,r):nn(t)?Kn(t)||_l(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tl(e,t,r,s))?bl(e,t,r,o,i,c,f):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ml(e,t,r,s))};function Tl(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&qr.test(t)&&z(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||qr.test(t)&&me(n)?!1:t in e}const Zr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return R(t)?n=>Vt(t,n):t},Cn=Symbol("_assign"),Il={deep:!0,created(e,t,n){e[Cn]=Zr(n),Zs(e,"change",()=>{const r=e._modelValue,s=Fl(e),o=e.checked,i=e[Cn];if(R(r)){const c=ns(r,s),f=c!==-1;if(o&&!f)i(r.concat(s));else if(!o&&f){const h=[...r];h.splice(c,1),i(h)}}else if($n(r)){const c=new Set(r);o?c.add(s):c.delete(s),i(c)}else i(Js(e,o))})},mounted:Jr,beforeUpdate(e,t,n){e[Cn]=Zr(n),Jr(e,t,n)}};function Jr(e,{value:t,oldValue:n},r){e._modelValue=t,R(t)?e.checked=ns(t,r.props.value)>-1:$n(t)?e.checked=t.has(r.props.value):t!==n&&(e.checked=on(t,Js(e,!0)))}function Fl(e){return"_value"in e?e._value:e.value}function Js(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Al=ge({patchProp:El},il);let Yr;function Pl(){return Yr||(Yr=Li(Al))}const zl=(...e)=>{const t=Pl().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ol(r);if(!s)return;const o=t._component;!z(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,s instanceof SVGElement);return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function Ol(e){return me(e)?document.querySelector(e):e}var ir={};(function e(t,n,r,s){var o=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL),i=typeof Path2D=="function"&&typeof DOMMatrix=="function";function c(){}function f(d){var u=n.exports.Promise,H=u!==void 0?u:t.Promise;return typeof H=="function"?new H(d):(d(c,c),null)}var h=function(){var d=Math.floor(16.666666666666668),u,H,S={},N=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(u=function(U){var $=Math.random();return S[$]=requestAnimationFrame(function L(j){N===j||N+d-1{const r={x:.5,y:.6};if(e){const s=e.getBoundingClientRect(),o=s.left+s.width/2,i=s.top+s.height/2;r.x=o/window.innerWidth,r.y=i/window.innerHeight}n=n===null?20:n,Xr(t?{particleCount:n,spread:70,origin:r,colors:Qr,gravity:.5,startVelocity:25,shapes:["star","circle","square"],scalar:.95}:{particleCount:300,spread:80,origin:r,colors:Qr,gravity:.5})};const Ll={class:""},Sl=pe("p",{class:"font-bold"},"Verify that you're human:",-1),Nl={key:0,class:"w-10 absolute text-green-600 -bottom-1 -start-1",viewBox:"0 0 24 24"},Bl=pe("path",{fill:"currentColor",d:"M9 16.17L4.83 12l-1.42 1.41L9 19L21 7l-1.41-1.41z"},null,-1),Hl=[Bl],jl=pe("p",{class:"ms-4"},"I support Israel",-1),Dl=pe("svg",{alt:"Israeli Flag",class:"w-7 ms-3",viewBox:"0 0 36 36"},[pe("path",{fill:"#EDECEC",d:"M20.666 19l-.467.809h.934zM18 21.618l.467-.809h-.934z"}),pe("path",{fill:"#FFF",d:"M0 25h36V11H0v14zM.294 7.5h35.413A4 4 0 0 0 32 5H4A3.999 3.999 0 0 0 .294 7.5z"}),pe("path",{fill:"#FFF",d:"M21.133 16.191h-.934l.467.809zm-5.332 0h-.934l.467.809zm3.243 3.618L20.089 18l-1.045-1.809h-2.088L15.911 18l1.045 1.809zM15.334 19l-.467.809h.934zM18 14.382l-.467.809h.934z"}),pe("path",{fill:"#0038B8",d:"M.294 7.5A3.982 3.982 0 0 0 0 9v2h36V9c0-.531-.106-1.036-.294-1.5H.294z"}),pe("path",{fill:"#FFF",d:"M.294 28.5h35.413A4 4 0 0 1 32 31H4a3.999 3.999 0 0 1-3.706-2.5z"}),pe("path",{fill:"#0038B8",d:"M.294 28.5A3.982 3.982 0 0 1 0 27v-2h36v2c0 .531-.106 1.036-.294 1.5H.294zm16.084-7.691L18 23.618l1.622-2.809h3.243L21.244 18l1.622-2.809h-3.243L18 12.382l-1.622 2.809h-3.243L14.756 18l-1.622 2.809h3.244zm1.622.809l-.467-.809h.934l-.467.809zm3.133-5.427l-.467.809l-.467-.808h.934zM20.666 19l.467.808h-.934l.467-.808zM18 14.382l.467.809h-.934l.467-.809zm-1.044 1.809h2.089L20.089 18l-1.044 1.809h-2.089L15.911 18l1.045-1.809zm-1.155 0l-.467.809l-.467-.808h.934zM15.334 19l.467.808h-.934l.467-.808z"})],-1),Ul=pe("p",{class:"text-gray-700 mt-2 text-sm"}," Please click the checkbox above to prove that you're not a robot. ",-1),Kl=pe("p",{class:"text-gray-700 mt-2 text-sm"},[pe("a",{href:"https://oct7map.com/",target:"_blank",class:"underline text-gray-600 hover:text-blue-900"},"Having trouble?")],-1),$l={__name:"Captcha",setup(e){const t=_r(null),n=_r(!1);return qt(n,r=>{r&&Rl(t.value)}),(r,s)=>(Hn(),Rr("div",Ll,[Sl,pe("label",{ref_key:"captchaContainer",ref:t,for:"captcha",class:"px-4 pe-6 py-3 mt-2 border-2 relative inline-flex select-none cursor-pointer transition-all hover:border-blue-600 bg-gray-50 hover:bg-gray-100 rounded items-center"},[si(pe("input",{id:"captcha",type:"checkbox",class:"opacity-0 appearance-none absolute top-0 start-0 w-px h-px","onUpdate:modelValue":s[0]||(s[0]=o=>n.value=o)},null,512),[[Il,n.value]]),pe("div",{class:sn([{"ring-2":!n.value},"relative bg-white rounded w-5 h-5 flex items-center justify-center"])},[Ce(or,{name:"fade"},{default:Es(()=>[n.value?(Hn(),Rr("svg",Nl,Hl)):$i("",!0)]),_:1})],2),jl,Dl],512),Ul,Kl]))}};export{$l as _,Rr as a,Ce as b,zl as c,Hn as o}; 3 | --------------------------------------------------------------------------------