diff --git a/assets/vue/example-custom-uu-list/.eslintrc.json b/assets/vue/example-custom-uu-list/.eslintrc.json
new file mode 100644
index 00000000..2ec56870
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/.eslintrc.json
@@ -0,0 +1,47 @@
+{
+    "root": true,
+    "extends": [
+        "eslint:recommended",
+        "plugin:vue/vue3-recommended",
+        "plugin:@typescript-eslint/recommended",
+        "prettier"
+    ],
+    "parserOptions": {
+        "ecmaVersion": "latest",
+        "parser": "@typescript-eslint/parser",
+        "sourceType": "module",
+        "extraFileExtensions": [".vue"]
+    },
+    "overrides": [
+        {
+          "files": ["*.ts"],
+
+          "parserOptions": {
+            "project": ["./tsconfig.json"] // Specify it only for TypeScript files
+          }
+        }
+      ],
+    "plugins": [
+        "vue",
+        "@typescript-eslint"
+    ],
+    "rules": {
+        "@typescript-eslint/no-non-null-assertion": "off",
+        "@typescript-eslint/no-inferrable-types": "off",
+        "vue/html-self-closing": ["error", {
+            "html": {
+                "void": "any",
+                "normal": "always",
+                "component": "always"
+            },
+            "svg": "always",
+            "math": "always"
+        }],
+        "@typescript-eslint/no-unused-vars": ["warn", {
+            "varsIgnorePattern": "(props)|(emits?)|_"
+        }],
+        "vue/require-v-for-key": "warn",
+        "vue/no-v-model-argument": "off" // NO idea why this rule exists
+    },
+    "ignorePatterns": ["**/*.test.ts", "dist/*", "node_modules/*"]
+}
diff --git a/assets/vue/example-custom-uu-list/.gitignore b/assets/vue/example-custom-uu-list/.gitignore
new file mode 100644
index 00000000..d5aa0f8a
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/.gitignore
@@ -0,0 +1,15 @@
+.sass-cache/
+*.css.map
+*.sass.map
+*.scss.map
+!dist/css/*.css.map
+
+node_modules
+vite.config.d.ts
+*.log*
+.cache
+.output
+.env
+generated
+
+.idea
diff --git a/assets/vue/example-custom-uu-list/README.md b/assets/vue/example-custom-uu-list/README.md
new file mode 100644
index 00000000..a52aec3c
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/README.md
@@ -0,0 +1,13 @@
+# Custom UU-List example
+
+An example of a custom DSCList-based UU-List. You can copy this folder
+as a basis.
+
+## Use as a template:
+
+1. Copy the contents of this dir to a folder in your project
+2. Install deps (yarn install)
+3. Update cdh-vue-lib to latest release using yarn
+4. Rename `CustomList.vue` to a more descriptive name, and update the `index.ts` import
+5. Change the indicated values in `vite.config.ts`; use the name you used for the file above
+6. Go make your own implementation!
\ No newline at end of file
diff --git a/assets/vue/example-custom-uu-list/package.json b/assets/vue/example-custom-uu-list/package.json
new file mode 100644
index 00000000..de5d7701
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/package.json
@@ -0,0 +1,22 @@
+{
+  "name": "uu-list",
+  "version": "1.0.0",
+  "author": "Humanities IT Portal development",
+  "license": "Apache-2.0",
+  "scripts": {
+    "dev": "vite dev",
+    "build": "vite build",
+    "preview": "vite preview"
+  },
+  "dependencies": {
+    "@intlify/unplugin-vue-i18n": "^1.5.0",
+    "cdh-vue-lib": "git+https://github.com/CentreForDigitalHumanities/Vue-lib.git#v0.3.2",
+    "vue-i18n": "9"
+  },
+  "devDependencies": {
+    "@vitejs/plugin-vue": "^4.3.4",
+    "typescript": "^5.2.2",
+    "vite": "^4.4.9",
+    "vue": "^3.3.4"
+  }
+}
diff --git a/assets/vue/example-custom-uu-list/src/CustomList.vue b/assets/vue/example-custom-uu-list/src/CustomList.vue
new file mode 100644
index 00000000..e3f3add7
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/src/CustomList.vue
@@ -0,0 +1,87 @@
+<script setup>
+import {DSCList} from "cdh-vue-lib/components";
+import {useI18n} from "vue-i18n";
+
+// Required stuff
+const props = defineProps(['config']);
+
+const {t} = useI18n()
+
+// Demo stuff
+function statusColor(status) {
+  switch (status) {
+    case "C":
+      return "green"
+
+    case "R":
+      return "orange"
+
+    case "O":
+      return "red"
+
+    default:
+      return ""
+  }
+}
+</script>
+
+<!-- Here you can define your translations. Please remember to use `t` in your template instead of `$t` -->
+<i18n>
+{
+  "en": {
+    "name": "Name",
+    "refnum": "Reference Number",
+    "status": "Status"
+  },
+  "nl": {
+    "name": "Naam",
+    "refnum": "Referentie Nummer",
+    "status": "Status"
+  }
+}
+</i18n>
+
+<template>
+  <!-- Required stuff -->
+  <DSCList :config="config">
+    <template #data="{data, isLoading}">
+      <!-- Custom stuff -->
+      <!-- Add your table here -->
+      <div>
+        <div v-if="isLoading">
+          <!-- Show a 'loading' message if data is being loaded -->
+          Loading...
+        </div>
+        <table class="table" v-else>
+          <thead>
+          <tr>
+            <th>
+              {{ t('name') }}
+            </th>
+            <th>
+              {{ t('refnum') }}
+            </th>
+            <th>
+              {{ t('status') }}
+            </th>
+          </tr>
+          </thead>
+          <tbody>
+          <tr v-for="datum in data">
+            <td>
+              {{ datum.project_name }}
+            </td>
+            <td>
+              {{ datum.reference_number }}
+            </td>
+            <td :class="`text-bg-${statusColor(datum.status)}`">
+              {{ datum.get_status_display }}
+            </td>
+          </tr>
+          </tbody>
+        </table>
+      </div>
+      <!-- end custom stuff, begin required stuff -->
+    </template>
+  </DSCList>
+</template>
diff --git a/assets/vue/example-custom-uu-list/src/index.ts b/assets/vue/example-custom-uu-list/src/index.ts
new file mode 100644
index 00000000..a35c5744
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/src/index.ts
@@ -0,0 +1,4 @@
+import CustomList from "./CustomList.vue";
+import "cdh-vue-lib/dist/style.css"
+
+export default CustomList;
\ No newline at end of file
diff --git a/assets/vue/example-custom-uu-list/tsconfig.json b/assets/vue/example-custom-uu-list/tsconfig.json
new file mode 100644
index 00000000..4d0d1dee
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/tsconfig.json
@@ -0,0 +1,44 @@
+{
+  "compilerOptions": {
+    "target": "esnext",
+    "module": "esnext",
+    "strict": true,
+    "jsx": "preserve",
+    "moduleResolution": "node",
+    "declaration": true,
+    "outDir": "dist",
+    "skipLibCheck": true,
+    "esModuleInterop": true,
+    "allowSyntheticDefaultImports": true,
+    "forceConsistentCasingInFileNames": true,
+    "useDefineForClassFields": true,
+    "resolveJsonModule": true,
+    "sourceMap": true,
+    "baseUrl": ".",
+    "typeRoots": [
+      "src/stubs.d.ts"
+    ],
+    "paths": {
+      "@/*": [
+        "./src/*"
+      ]
+    },
+    "lib": [
+      "esnext",
+      "dom",
+      "dom.iterable",
+      "scripthost"
+    ]
+  },
+  "include": [
+    "src/**/*.ts",
+    "src/**/*.tsx",
+    "src/**/*.vue",
+    "tests/**/*.ts",
+    "tests/**/*.tsx"
+  ],
+  "exclude": [
+    "node_modules",
+    "vite.config.ts"
+  ]
+}
\ No newline at end of file
diff --git a/assets/vue/example-custom-uu-list/vite.config.ts b/assets/vue/example-custom-uu-list/vite.config.ts
new file mode 100644
index 00000000..73dee3df
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/vite.config.ts
@@ -0,0 +1,48 @@
+import {defineConfig} from "vite";
+import {resolve} from "path";
+import vue from "@vitejs/plugin-vue";
+import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+    plugins: [vue(), VueI18nPlugin({})],
+    base: '/static/',
+    build: {
+        minify: false,
+        outDir: "../../../dev/dev_vue/static/dev_vue/example-custom-uu-list/", // TODO: change this to your desired static dir
+        emptyOutDir: true,
+        lib: {
+            // src/index.ts is where we have exported the component(s)
+            entry: resolve(__dirname, "src/index.ts"),
+            name: "CustomList", // TODO: CHANGE THIS FOR YOUR OWN COMPONENT
+            // the name of the output files when the build is run
+            fileName: "CustomList",// TODO: CHANGE THIS FOR YOUR OWN COMPONENT
+            formats: ['iife']
+        },
+        rollupOptions: {
+            // make sure to externalize deps that shouldn't be bundled
+            // into your library
+            external: ["vue", "vue-i18n"],
+            output: {
+                // Provide global variables to use in the UMD build
+                // for externalized deps
+                globals: {
+                    vue: "Vue",
+                    'vue-i18n': "VueI18n",
+                },
+                chunkFileNames: undefined,
+            },
+        },
+    },
+    resolve: {
+      alias: {
+        "@": resolve(__dirname, "./src"),
+      },
+    },
+    optimizeDeps: {
+      include: ['src/**/*.vue', 'src/index.ts'],
+    },
+    define: {
+      'process.env': {}
+    }
+});
diff --git a/assets/vue/example-custom-uu-list/yarn.lock b/assets/vue/example-custom-uu-list/yarn.lock
new file mode 100644
index 00000000..1ba617c8
--- /dev/null
+++ b/assets/vue/example-custom-uu-list/yarn.lock
@@ -0,0 +1,877 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
+  version "7.22.13"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.13.tgz#23fb17892b2be7afef94f573031c2f4b42839a2b"
+  integrity sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==
+
+"@babel/parser@^7.23.0":
+  version "7.23.3"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.3.tgz#0ce0be31a4ca4f1884b5786057cadcb6c3be58f9"
+  integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==
+
+"@esbuild/android-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
+  integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
+
+"@esbuild/android-arm@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
+  integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
+
+"@esbuild/android-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
+  integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
+
+"@esbuild/darwin-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
+  integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
+
+"@esbuild/darwin-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
+  integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
+
+"@esbuild/freebsd-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
+  integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
+
+"@esbuild/freebsd-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
+  integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
+
+"@esbuild/linux-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
+  integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
+
+"@esbuild/linux-arm@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
+  integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
+
+"@esbuild/linux-ia32@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
+  integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
+
+"@esbuild/linux-loong64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
+  integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
+
+"@esbuild/linux-mips64el@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
+  integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
+
+"@esbuild/linux-ppc64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
+  integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
+
+"@esbuild/linux-riscv64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
+  integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
+
+"@esbuild/linux-s390x@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
+  integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
+
+"@esbuild/linux-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
+  integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
+
+"@esbuild/netbsd-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
+  integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
+
+"@esbuild/openbsd-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
+  integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
+
+"@esbuild/sunos-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
+  integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
+
+"@esbuild/win32-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
+  integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
+
+"@esbuild/win32-ia32@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
+  integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
+
+"@esbuild/win32-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
+  integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
+
+"@intlify/bundle-utils@^7.4.0":
+  version "7.4.0"
+  resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-7.4.0.tgz#b4dc41026d2d98d2e8a2bd83851c1883a48f1254"
+  integrity sha512-AQfjBe2HUxzyN8ignIk3WhhSuVcSuirgzOzkd17nb337rCbI4Gv/t1R60UUyIqFoFdviLb/wLcDUzTD/xXjv9w==
+  dependencies:
+    "@intlify/message-compiler" "^9.4.0"
+    "@intlify/shared" "^9.4.0"
+    acorn "^8.8.2"
+    escodegen "^2.0.0"
+    estree-walker "^2.0.2"
+    jsonc-eslint-parser "^2.3.0"
+    magic-string "^0.30.0"
+    mlly "^1.2.0"
+    source-map-js "^1.0.1"
+    yaml-eslint-parser "^1.2.2"
+
+"@intlify/core-base@9.5.0":
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.5.0.tgz#cbb17a27029ccfd0a83a837931baee08b887af60"
+  integrity sha512-y3ufM1RJbI/DSmJf3lYs9ACq3S/iRvaSsE3rPIk0MGH7fp+JxU6rdryv/EYcwfcr3Y1aHFlCBir6S391hRZ57w==
+  dependencies:
+    "@intlify/message-compiler" "9.5.0"
+    "@intlify/shared" "9.5.0"
+
+"@intlify/message-compiler@9.5.0":
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.5.0.tgz#1b4916bf11ca7024f9c15be0d6b4de7be5317808"
+  integrity sha512-CAhVNfEZcOVFg0/5MNyt+OFjvs4J/ARjCj2b+54/FvFP0EDJI5lIqMTSDBE7k0atMROSP0SvWCkwu/AZ5xkK1g==
+  dependencies:
+    "@intlify/shared" "9.5.0"
+    source-map-js "^1.0.2"
+
+"@intlify/message-compiler@^9.4.0":
+  version "9.7.0"
+  resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.7.0.tgz#6371127c5a2a4f50ec59728f85a7786e3478c931"
+  integrity sha512-/YdZCio2L2tCM5bZ2eMHbSEIQNPh1QqvZIOLI/yCVKXLscis7O0SsR2nmuU/DfCJ3iSeI8juw82C2wLvfsAeww==
+  dependencies:
+    "@intlify/shared" "9.7.0"
+    source-map-js "^1.0.2"
+
+"@intlify/shared@9.5.0":
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.5.0.tgz#185d9ab9f6b4bb4f4d133cfdd51432e9b94c2c44"
+  integrity sha512-tAxV14LMXZDZbu32XzLMTsowNlgJNmLwWHYzvMUl6L8gvQeoYiZONjY7AUsqZW8TOZDX9lfvF6adPkk9FSRdDA==
+
+"@intlify/shared@9.7.0", "@intlify/shared@^9.4.0":
+  version "9.7.0"
+  resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.7.0.tgz#96166a54b781997db92259772e9621d3f7dff9a5"
+  integrity sha512-PUkEuk//YKu4CHS5ah3mNa3XL/+TZj6rAY/6yYN+GCNFd2u+uWUkeuwE4Q6t8dydRWlErOePHHS0KyNoof/oBw==
+
+"@intlify/unplugin-vue-i18n@^1.5.0":
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-1.5.0.tgz#fe2e67d50beefc4b67702a7bcec23062123cb52d"
+  integrity sha512-jW0MCCdwxybxcwjEfCunAcKjVoxyO3i+cnLL6v+MNGRLUHqrpELF6zQAJUhgAK2afhY7mCliy8RxTFWKdXm26w==
+  dependencies:
+    "@intlify/bundle-utils" "^7.4.0"
+    "@intlify/shared" "^9.4.0"
+    "@rollup/pluginutils" "^5.0.2"
+    "@vue/compiler-sfc" "^3.2.47"
+    debug "^4.3.3"
+    fast-glob "^3.2.12"
+    js-yaml "^4.1.0"
+    json5 "^2.2.3"
+    pathe "^1.0.0"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+    unplugin "^1.1.0"
+
+"@jridgewell/sourcemap-codec@^1.4.15":
+  version "1.4.15"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+  integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+
+"@nodelib/fs.scandir@2.1.5":
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+  dependencies:
+    "@nodelib/fs.scandir" "2.1.5"
+    fastq "^1.6.0"
+
+"@rollup/pluginutils@^5.0.2":
+  version "5.0.5"
+  resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.5.tgz#bbb4c175e19ebfeeb8c132c2eea0ecb89941a66c"
+  integrity sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==
+  dependencies:
+    "@types/estree" "^1.0.0"
+    estree-walker "^2.0.2"
+    picomatch "^2.3.1"
+
+"@types/estree@^1.0.0":
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
+  integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+
+"@vitejs/plugin-vue@^4.3.4":
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz#a289dff38e01949fe7be581d5542cabaeb961dec"
+  integrity sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==
+
+"@vue/compiler-core@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128"
+  integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
+  dependencies:
+    "@babel/parser" "^7.21.3"
+    "@vue/shared" "3.3.4"
+    estree-walker "^2.0.2"
+    source-map-js "^1.0.2"
+
+"@vue/compiler-core@3.3.8":
+  version "3.3.8"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz#301bb60d0245265a88ed5b30e200fbf223acb313"
+  integrity sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==
+  dependencies:
+    "@babel/parser" "^7.23.0"
+    "@vue/shared" "3.3.8"
+    estree-walker "^2.0.2"
+    source-map-js "^1.0.2"
+
+"@vue/compiler-dom@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151"
+  integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
+  dependencies:
+    "@vue/compiler-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/compiler-dom@3.3.8":
+  version "3.3.8"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz#09d832514b9b8d9415a3816b065d69dbefcc7e9b"
+  integrity sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==
+  dependencies:
+    "@vue/compiler-core" "3.3.8"
+    "@vue/shared" "3.3.8"
+
+"@vue/compiler-sfc@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df"
+  integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
+  dependencies:
+    "@babel/parser" "^7.20.15"
+    "@vue/compiler-core" "3.3.4"
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/compiler-ssr" "3.3.4"
+    "@vue/reactivity-transform" "3.3.4"
+    "@vue/shared" "3.3.4"
+    estree-walker "^2.0.2"
+    magic-string "^0.30.0"
+    postcss "^8.1.10"
+    source-map-js "^1.0.2"
+
+"@vue/compiler-sfc@^3.2.47":
+  version "3.3.8"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz#40b18e48aa00260950964d1d72157668521be0e1"
+  integrity sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==
+  dependencies:
+    "@babel/parser" "^7.23.0"
+    "@vue/compiler-core" "3.3.8"
+    "@vue/compiler-dom" "3.3.8"
+    "@vue/compiler-ssr" "3.3.8"
+    "@vue/reactivity-transform" "3.3.8"
+    "@vue/shared" "3.3.8"
+    estree-walker "^2.0.2"
+    magic-string "^0.30.5"
+    postcss "^8.4.31"
+    source-map-js "^1.0.2"
+
+"@vue/compiler-ssr@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777"
+  integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
+  dependencies:
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/compiler-ssr@3.3.8":
+  version "3.3.8"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz#136eed54411e4694815d961048a237191063fbce"
+  integrity sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==
+  dependencies:
+    "@vue/compiler-dom" "3.3.8"
+    "@vue/shared" "3.3.8"
+
+"@vue/devtools-api@^6.5.0":
+  version "6.5.1"
+  resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697"
+  integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==
+
+"@vue/reactivity-transform@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929"
+  integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
+  dependencies:
+    "@babel/parser" "^7.20.15"
+    "@vue/compiler-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+    estree-walker "^2.0.2"
+    magic-string "^0.30.0"
+
+"@vue/reactivity-transform@3.3.8":
+  version "3.3.8"
+  resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz#6d07649013b0be5c670f0ab6cc7ddd3150ad03f2"
+  integrity sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==
+  dependencies:
+    "@babel/parser" "^7.23.0"
+    "@vue/compiler-core" "3.3.8"
+    "@vue/shared" "3.3.8"
+    estree-walker "^2.0.2"
+    magic-string "^0.30.5"
+
+"@vue/reactivity@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
+  integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
+  dependencies:
+    "@vue/shared" "3.3.4"
+
+"@vue/runtime-core@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1"
+  integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
+  dependencies:
+    "@vue/reactivity" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/runtime-dom@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566"
+  integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
+  dependencies:
+    "@vue/runtime-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+    csstype "^3.1.1"
+
+"@vue/server-renderer@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c"
+  integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
+  dependencies:
+    "@vue/compiler-ssr" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/shared@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780"
+  integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
+
+"@vue/shared@3.3.8":
+  version "3.3.8"
+  resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.8.tgz#f044942142e1d3a395f24132e6203a784838542d"
+  integrity sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==
+
+acorn-jsx@^5.3.2:
+  version "5.3.2"
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^8.10.0, acorn@^8.11.2, acorn@^8.5.0, acorn@^8.8.2, acorn@^8.9.0:
+  version "8.11.2"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
+  integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
+
+anymatch@~3.1.2:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+  integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+  dependencies:
+    normalize-path "^3.0.0"
+    picomatch "^2.0.4"
+
+argparse@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+  integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+binary-extensions@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bootstrap@5.3.1:
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.1.tgz#8ca07040ad15d7f75891d1504cf14c5dedfb1cfe"
+  integrity sha512-jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==
+
+braces@^3.0.2, braces@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+  dependencies:
+    fill-range "^7.0.1"
+
+"cdh-vue-lib@git+https://github.com/CentreForDigitalHumanities/Vue-lib.git#v0.3.2":
+  version "0.3.2"
+  resolved "git+https://github.com/CentreForDigitalHumanities/Vue-lib.git#5ec7ea2bdc3ff0c898408c4a0bc1a39526326716"
+  dependencies:
+    uu-bootstrap "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.5.0-alpha.0"
+    uuid "^9.0.0"
+    vue-i18n "9"
+
+chokidar@^3.5.3:
+  version "3.5.3"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+  integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+  dependencies:
+    anymatch "~3.1.2"
+    braces "~3.0.2"
+    glob-parent "~5.1.2"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.6.0"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+csstype@^3.1.1:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
+  integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
+
+debug@^4.3.3:
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+  dependencies:
+    ms "2.1.2"
+
+esbuild@^0.18.10:
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
+  integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
+  optionalDependencies:
+    "@esbuild/android-arm" "0.18.20"
+    "@esbuild/android-arm64" "0.18.20"
+    "@esbuild/android-x64" "0.18.20"
+    "@esbuild/darwin-arm64" "0.18.20"
+    "@esbuild/darwin-x64" "0.18.20"
+    "@esbuild/freebsd-arm64" "0.18.20"
+    "@esbuild/freebsd-x64" "0.18.20"
+    "@esbuild/linux-arm" "0.18.20"
+    "@esbuild/linux-arm64" "0.18.20"
+    "@esbuild/linux-ia32" "0.18.20"
+    "@esbuild/linux-loong64" "0.18.20"
+    "@esbuild/linux-mips64el" "0.18.20"
+    "@esbuild/linux-ppc64" "0.18.20"
+    "@esbuild/linux-riscv64" "0.18.20"
+    "@esbuild/linux-s390x" "0.18.20"
+    "@esbuild/linux-x64" "0.18.20"
+    "@esbuild/netbsd-x64" "0.18.20"
+    "@esbuild/openbsd-x64" "0.18.20"
+    "@esbuild/sunos-x64" "0.18.20"
+    "@esbuild/win32-arm64" "0.18.20"
+    "@esbuild/win32-ia32" "0.18.20"
+    "@esbuild/win32-x64" "0.18.20"
+
+escodegen@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17"
+  integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==
+  dependencies:
+    esprima "^4.0.1"
+    estraverse "^5.2.0"
+    esutils "^2.0.2"
+  optionalDependencies:
+    source-map "~0.6.1"
+
+eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.4.1:
+  version "3.4.3"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
+  integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
+
+espree@^9.0.0:
+  version "9.6.1"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
+  integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
+  dependencies:
+    acorn "^8.9.0"
+    acorn-jsx "^5.3.2"
+    eslint-visitor-keys "^3.4.1"
+
+esprima@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+estraverse@^5.2.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+estree-walker@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+esutils@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+fast-glob@^3.2.12:
+  version "3.3.2"
+  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
+  integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
+  dependencies:
+    "@nodelib/fs.stat" "^2.0.2"
+    "@nodelib/fs.walk" "^1.2.3"
+    glob-parent "^5.1.2"
+    merge2 "^1.3.0"
+    micromatch "^4.0.4"
+
+fastq@^1.6.0:
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
+  integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
+  dependencies:
+    reusify "^1.0.4"
+
+fill-range@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+  dependencies:
+    to-regex-range "^5.0.1"
+
+fsevents@~2.3.2:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
+is-binary-path@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+  dependencies:
+    binary-extensions "^2.0.0"
+
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-glob@^4.0.1, is-glob@~4.0.1:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+  dependencies:
+    is-extglob "^2.1.1"
+
+is-number@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+js-yaml@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+  integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+  dependencies:
+    argparse "^2.0.1"
+
+json5@^2.2.3:
+  version "2.2.3"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+  integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonc-eslint-parser@^2.3.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461"
+  integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==
+  dependencies:
+    acorn "^8.5.0"
+    eslint-visitor-keys "^3.0.0"
+    espree "^9.0.0"
+    semver "^7.3.5"
+
+jsonc-parser@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
+  integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
+
+lodash@^4.17.21:
+  version "4.17.21"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+lru-cache@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  dependencies:
+    yallist "^4.0.0"
+
+magic-string@^0.30.0:
+  version "0.30.3"
+  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85"
+  integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==
+  dependencies:
+    "@jridgewell/sourcemap-codec" "^1.4.15"
+
+magic-string@^0.30.5:
+  version "0.30.5"
+  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9"
+  integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
+  dependencies:
+    "@jridgewell/sourcemap-codec" "^1.4.15"
+
+merge2@^1.3.0:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.4:
+  version "4.0.5"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+  integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+  dependencies:
+    braces "^3.0.2"
+    picomatch "^2.3.1"
+
+mlly@^1.2.0:
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e"
+  integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==
+  dependencies:
+    acorn "^8.10.0"
+    pathe "^1.1.1"
+    pkg-types "^1.0.3"
+    ufo "^1.3.0"
+
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+nanoid@^3.3.6:
+  version "3.3.6"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
+  integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+pathe@^1.0.0, pathe@^1.1.0, pathe@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a"
+  integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
+
+picocolors@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pkg-types@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868"
+  integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==
+  dependencies:
+    jsonc-parser "^3.2.0"
+    mlly "^1.2.0"
+    pathe "^1.1.0"
+
+postcss@^8.1.10, postcss@^8.4.27:
+  version "8.4.29"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd"
+  integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
+  dependencies:
+    nanoid "^3.3.6"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
+postcss@^8.4.31:
+  version "8.4.31"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
+  integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
+  dependencies:
+    nanoid "^3.3.6"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
+queue-microtask@^1.2.2:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+readdirp@~3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+  dependencies:
+    picomatch "^2.2.1"
+
+reusify@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rollup@^3.27.1:
+  version "3.28.1"
+  resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.1.tgz#fb44aa6d5e65c7e13fd5bcfff266d0c4ea9ba433"
+  integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+run-parallel@^1.1.9:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+  dependencies:
+    queue-microtask "^1.2.2"
+
+semver@^7.3.5:
+  version "7.5.4"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+  integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+  dependencies:
+    lru-cache "^6.0.0"
+
+source-map-js@^1.0.1, source-map-js@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+source-map@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+to-regex-range@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  dependencies:
+    is-number "^7.0.0"
+
+typescript@^5.2.2:
+  version "5.2.2"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
+  integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
+
+ufo@^1.3.0:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496"
+  integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==
+
+unplugin@^1.1.0:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.5.1.tgz#806688376fa3dcca4d2fa2c5d27cf6cd0370fbef"
+  integrity sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==
+  dependencies:
+    acorn "^8.11.2"
+    chokidar "^3.5.3"
+    webpack-sources "^3.2.3"
+    webpack-virtual-modules "^0.6.0"
+
+"uu-bootstrap@git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.5.0-alpha.0":
+  version "1.5.0-alpha.0"
+  resolved "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#0bd740cae32d73770ed4ca7f4818612c8b4bff91"
+  dependencies:
+    bootstrap "5.3.1"
+
+uuid@^9.0.0:
+  version "9.0.0"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
+  integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
+
+vite@^4.4.9:
+  version "4.4.9"
+  resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d"
+  integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==
+  dependencies:
+    esbuild "^0.18.10"
+    postcss "^8.4.27"
+    rollup "^3.27.1"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+vue-i18n@9:
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.5.0.tgz#361a820f591f6d9689435a42763fd1dae224833b"
+  integrity sha512-NiI3Ph1qMstNf7uhYh8trQBOBFLxeJgcOxBq51pCcZ28Vs18Y7BDS58r8HGDKCYgXdLUYqPDXdKatIF4bvBVZg==
+  dependencies:
+    "@intlify/core-base" "9.5.0"
+    "@intlify/shared" "9.5.0"
+    "@vue/devtools-api" "^6.5.0"
+
+vue@^3.3.4:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"
+  integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
+  dependencies:
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/compiler-sfc" "3.3.4"
+    "@vue/runtime-dom" "3.3.4"
+    "@vue/server-renderer" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+webpack-sources@^3.2.3:
+  version "3.2.3"
+  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
+webpack-virtual-modules@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.0.tgz#95eb2cb160a8cb84a73bdc2b5c806693f690ad35"
+  integrity sha512-KnaMTE6EItz/f2q4Gwg5/rmeKVi79OR58NoYnwDJqCk9ywMtTGbBnBcfoBtN4QbYu0lWXvyMoH2Owxuhe4qI6Q==
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml-eslint-parser@^1.2.2:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/yaml-eslint-parser/-/yaml-eslint-parser-1.2.2.tgz#1a9673ebe254328cfc2fa99f297f6d8c9364ccd8"
+  integrity sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==
+  dependencies:
+    eslint-visitor-keys "^3.0.0"
+    lodash "^4.17.21"
+    yaml "^2.0.0"
+
+yaml@^2.0.0:
+  version "2.3.4"
+  resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
+  integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
diff --git a/assets/vue/uu-list/.eslintrc.json b/assets/vue/uu-list/.eslintrc.json
new file mode 100644
index 00000000..2ec56870
--- /dev/null
+++ b/assets/vue/uu-list/.eslintrc.json
@@ -0,0 +1,47 @@
+{
+    "root": true,
+    "extends": [
+        "eslint:recommended",
+        "plugin:vue/vue3-recommended",
+        "plugin:@typescript-eslint/recommended",
+        "prettier"
+    ],
+    "parserOptions": {
+        "ecmaVersion": "latest",
+        "parser": "@typescript-eslint/parser",
+        "sourceType": "module",
+        "extraFileExtensions": [".vue"]
+    },
+    "overrides": [
+        {
+          "files": ["*.ts"],
+
+          "parserOptions": {
+            "project": ["./tsconfig.json"] // Specify it only for TypeScript files
+          }
+        }
+      ],
+    "plugins": [
+        "vue",
+        "@typescript-eslint"
+    ],
+    "rules": {
+        "@typescript-eslint/no-non-null-assertion": "off",
+        "@typescript-eslint/no-inferrable-types": "off",
+        "vue/html-self-closing": ["error", {
+            "html": {
+                "void": "any",
+                "normal": "always",
+                "component": "always"
+            },
+            "svg": "always",
+            "math": "always"
+        }],
+        "@typescript-eslint/no-unused-vars": ["warn", {
+            "varsIgnorePattern": "(props)|(emits?)|_"
+        }],
+        "vue/require-v-for-key": "warn",
+        "vue/no-v-model-argument": "off" // NO idea why this rule exists
+    },
+    "ignorePatterns": ["**/*.test.ts", "dist/*", "node_modules/*"]
+}
diff --git a/assets/vue/uu-list/.gitignore b/assets/vue/uu-list/.gitignore
new file mode 100644
index 00000000..d5aa0f8a
--- /dev/null
+++ b/assets/vue/uu-list/.gitignore
@@ -0,0 +1,15 @@
+.sass-cache/
+*.css.map
+*.sass.map
+*.scss.map
+!dist/css/*.css.map
+
+node_modules
+vite.config.d.ts
+*.log*
+.cache
+.output
+.env
+generated
+
+.idea
diff --git a/assets/vue/uu-list/package.json b/assets/vue/uu-list/package.json
new file mode 100644
index 00000000..d5ea3f4b
--- /dev/null
+++ b/assets/vue/uu-list/package.json
@@ -0,0 +1,20 @@
+{
+  "name": "uu-list",
+  "version": "1.0.0",
+  "author": "Humanities IT Portal development",
+  "license": "Apache-2.0",
+  "scripts": {
+    "dev": "vite dev",
+    "build": "vite build",
+    "preview": "vite preview"
+  },
+  "dependencies": {
+    "cdh-vue-lib": "git+https://github.com/CentreForDigitalHumanities/Vue-lib.git#v0.3.2"
+  },
+  "devDependencies": {
+    "@vitejs/plugin-vue": "^4.3.4",
+    "typescript": "^5.2.2",
+    "vite": "^4.4.9",
+    "vue": "^3.3.4"
+  }
+}
diff --git a/assets/vue/uu-list/src/index.ts b/assets/vue/uu-list/src/index.ts
new file mode 100644
index 00000000..bd9a82bb
--- /dev/null
+++ b/assets/vue/uu-list/src/index.ts
@@ -0,0 +1,3 @@
+import {DSCList} from "cdh-vue-lib/components";
+import "cdh-vue-lib/dist/style.css"
+export default DSCList;
\ No newline at end of file
diff --git a/assets/vue/uu-list/tsconfig.json b/assets/vue/uu-list/tsconfig.json
new file mode 100644
index 00000000..4d0d1dee
--- /dev/null
+++ b/assets/vue/uu-list/tsconfig.json
@@ -0,0 +1,44 @@
+{
+  "compilerOptions": {
+    "target": "esnext",
+    "module": "esnext",
+    "strict": true,
+    "jsx": "preserve",
+    "moduleResolution": "node",
+    "declaration": true,
+    "outDir": "dist",
+    "skipLibCheck": true,
+    "esModuleInterop": true,
+    "allowSyntheticDefaultImports": true,
+    "forceConsistentCasingInFileNames": true,
+    "useDefineForClassFields": true,
+    "resolveJsonModule": true,
+    "sourceMap": true,
+    "baseUrl": ".",
+    "typeRoots": [
+      "src/stubs.d.ts"
+    ],
+    "paths": {
+      "@/*": [
+        "./src/*"
+      ]
+    },
+    "lib": [
+      "esnext",
+      "dom",
+      "dom.iterable",
+      "scripthost"
+    ]
+  },
+  "include": [
+    "src/**/*.ts",
+    "src/**/*.tsx",
+    "src/**/*.vue",
+    "tests/**/*.ts",
+    "tests/**/*.tsx"
+  ],
+  "exclude": [
+    "node_modules",
+    "vite.config.ts"
+  ]
+}
\ No newline at end of file
diff --git a/assets/vue/uu-list/vite.config.ts b/assets/vue/uu-list/vite.config.ts
new file mode 100644
index 00000000..799073d6
--- /dev/null
+++ b/assets/vue/uu-list/vite.config.ts
@@ -0,0 +1,48 @@
+import {defineConfig} from "vite";
+import {resolve} from "path";
+import vue from "@vitejs/plugin-vue";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+    plugins: [vue()],
+    base: '/static/',
+    build: {
+        // minify: 'esbuild',
+        minify: false,
+        outDir: "../../../src/cdh/vue3/static/cdh.vue3/components/uu-list/",
+        emptyOutDir: true,
+        lib: {
+            // src/index.ts is where we have exported the component(s)
+            entry: resolve(__dirname, "src/index.ts"),
+            name: "UUList",
+            // the name of the output files when the build is run
+            fileName: "UUList",
+            formats: ['iife']
+        },
+        rollupOptions: {
+            // make sure to externalize deps that shouldn't be bundled
+            // into your library
+            external: ["vue", "vueI18n"],
+            output: {
+                // Provide global variables to use in the UMD build
+                // for externalized deps
+                globals: {
+                    vue: "Vue",
+                    vueI18n: "vueI18n",
+                },
+                chunkFileNames: undefined,
+            },
+        },
+    },
+    resolve: {
+      alias: {
+        "@": resolve(__dirname, "./src"),
+      },
+    },
+    optimizeDeps: {
+      include: ['src/**/*.vue', 'src/index.ts'],
+    },
+    define: {
+      'process.env': {}
+    }
+});
diff --git a/assets/vue/uu-list/yarn.lock b/assets/vue/uu-list/yarn.lock
new file mode 100644
index 00000000..8f550e33
--- /dev/null
+++ b/assets/vue/uu-list/yarn.lock
@@ -0,0 +1,385 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
+  version "7.22.13"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.13.tgz#23fb17892b2be7afef94f573031c2f4b42839a2b"
+  integrity sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==
+
+"@esbuild/android-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
+  integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
+
+"@esbuild/android-arm@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
+  integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
+
+"@esbuild/android-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
+  integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
+
+"@esbuild/darwin-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
+  integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
+
+"@esbuild/darwin-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
+  integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
+
+"@esbuild/freebsd-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
+  integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
+
+"@esbuild/freebsd-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
+  integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
+
+"@esbuild/linux-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
+  integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
+
+"@esbuild/linux-arm@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
+  integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
+
+"@esbuild/linux-ia32@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
+  integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
+
+"@esbuild/linux-loong64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
+  integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
+
+"@esbuild/linux-mips64el@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
+  integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
+
+"@esbuild/linux-ppc64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
+  integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
+
+"@esbuild/linux-riscv64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
+  integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
+
+"@esbuild/linux-s390x@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
+  integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
+
+"@esbuild/linux-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
+  integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
+
+"@esbuild/netbsd-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
+  integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
+
+"@esbuild/openbsd-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
+  integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
+
+"@esbuild/sunos-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
+  integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
+
+"@esbuild/win32-arm64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
+  integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
+
+"@esbuild/win32-ia32@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
+  integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
+
+"@esbuild/win32-x64@0.18.20":
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
+  integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
+
+"@intlify/core-base@9.5.0":
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.5.0.tgz#cbb17a27029ccfd0a83a837931baee08b887af60"
+  integrity sha512-y3ufM1RJbI/DSmJf3lYs9ACq3S/iRvaSsE3rPIk0MGH7fp+JxU6rdryv/EYcwfcr3Y1aHFlCBir6S391hRZ57w==
+  dependencies:
+    "@intlify/message-compiler" "9.5.0"
+    "@intlify/shared" "9.5.0"
+
+"@intlify/message-compiler@9.5.0":
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.5.0.tgz#1b4916bf11ca7024f9c15be0d6b4de7be5317808"
+  integrity sha512-CAhVNfEZcOVFg0/5MNyt+OFjvs4J/ARjCj2b+54/FvFP0EDJI5lIqMTSDBE7k0atMROSP0SvWCkwu/AZ5xkK1g==
+  dependencies:
+    "@intlify/shared" "9.5.0"
+    source-map-js "^1.0.2"
+
+"@intlify/shared@9.5.0":
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.5.0.tgz#185d9ab9f6b4bb4f4d133cfdd51432e9b94c2c44"
+  integrity sha512-tAxV14LMXZDZbu32XzLMTsowNlgJNmLwWHYzvMUl6L8gvQeoYiZONjY7AUsqZW8TOZDX9lfvF6adPkk9FSRdDA==
+
+"@jridgewell/sourcemap-codec@^1.4.15":
+  version "1.4.15"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+  integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+
+"@vitejs/plugin-vue@^4.3.4":
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz#a289dff38e01949fe7be581d5542cabaeb961dec"
+  integrity sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==
+
+"@vue/compiler-core@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128"
+  integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
+  dependencies:
+    "@babel/parser" "^7.21.3"
+    "@vue/shared" "3.3.4"
+    estree-walker "^2.0.2"
+    source-map-js "^1.0.2"
+
+"@vue/compiler-dom@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151"
+  integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
+  dependencies:
+    "@vue/compiler-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/compiler-sfc@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df"
+  integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
+  dependencies:
+    "@babel/parser" "^7.20.15"
+    "@vue/compiler-core" "3.3.4"
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/compiler-ssr" "3.3.4"
+    "@vue/reactivity-transform" "3.3.4"
+    "@vue/shared" "3.3.4"
+    estree-walker "^2.0.2"
+    magic-string "^0.30.0"
+    postcss "^8.1.10"
+    source-map-js "^1.0.2"
+
+"@vue/compiler-ssr@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777"
+  integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
+  dependencies:
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/devtools-api@^6.5.0":
+  version "6.5.1"
+  resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697"
+  integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==
+
+"@vue/reactivity-transform@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929"
+  integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
+  dependencies:
+    "@babel/parser" "^7.20.15"
+    "@vue/compiler-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+    estree-walker "^2.0.2"
+    magic-string "^0.30.0"
+
+"@vue/reactivity@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
+  integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
+  dependencies:
+    "@vue/shared" "3.3.4"
+
+"@vue/runtime-core@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1"
+  integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
+  dependencies:
+    "@vue/reactivity" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/runtime-dom@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566"
+  integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
+  dependencies:
+    "@vue/runtime-core" "3.3.4"
+    "@vue/shared" "3.3.4"
+    csstype "^3.1.1"
+
+"@vue/server-renderer@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c"
+  integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
+  dependencies:
+    "@vue/compiler-ssr" "3.3.4"
+    "@vue/shared" "3.3.4"
+
+"@vue/shared@3.3.4":
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780"
+  integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
+
+bootstrap@5.3.1:
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.1.tgz#8ca07040ad15d7f75891d1504cf14c5dedfb1cfe"
+  integrity sha512-jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==
+
+"cdh-vue-lib@git+https://github.com/CentreForDigitalHumanities/Vue-lib.git#v0.3.2":
+  version "0.3.2"
+  resolved "git+https://github.com/CentreForDigitalHumanities/Vue-lib.git#5ec7ea2bdc3ff0c898408c4a0bc1a39526326716"
+  dependencies:
+    uu-bootstrap "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.5.0-alpha.0"
+    uuid "^9.0.0"
+    vue-i18n "9"
+
+csstype@^3.1.1:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
+  integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
+
+esbuild@^0.18.10:
+  version "0.18.20"
+  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
+  integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
+  optionalDependencies:
+    "@esbuild/android-arm" "0.18.20"
+    "@esbuild/android-arm64" "0.18.20"
+    "@esbuild/android-x64" "0.18.20"
+    "@esbuild/darwin-arm64" "0.18.20"
+    "@esbuild/darwin-x64" "0.18.20"
+    "@esbuild/freebsd-arm64" "0.18.20"
+    "@esbuild/freebsd-x64" "0.18.20"
+    "@esbuild/linux-arm" "0.18.20"
+    "@esbuild/linux-arm64" "0.18.20"
+    "@esbuild/linux-ia32" "0.18.20"
+    "@esbuild/linux-loong64" "0.18.20"
+    "@esbuild/linux-mips64el" "0.18.20"
+    "@esbuild/linux-ppc64" "0.18.20"
+    "@esbuild/linux-riscv64" "0.18.20"
+    "@esbuild/linux-s390x" "0.18.20"
+    "@esbuild/linux-x64" "0.18.20"
+    "@esbuild/netbsd-x64" "0.18.20"
+    "@esbuild/openbsd-x64" "0.18.20"
+    "@esbuild/sunos-x64" "0.18.20"
+    "@esbuild/win32-arm64" "0.18.20"
+    "@esbuild/win32-ia32" "0.18.20"
+    "@esbuild/win32-x64" "0.18.20"
+
+estree-walker@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+fsevents@~2.3.2:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+magic-string@^0.30.0:
+  version "0.30.3"
+  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85"
+  integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==
+  dependencies:
+    "@jridgewell/sourcemap-codec" "^1.4.15"
+
+nanoid@^3.3.6:
+  version "3.3.6"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
+  integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
+
+picocolors@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+postcss@^8.1.10, postcss@^8.4.27:
+  version "8.4.29"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd"
+  integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
+  dependencies:
+    nanoid "^3.3.6"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
+rollup@^3.27.1:
+  version "3.28.1"
+  resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.1.tgz#fb44aa6d5e65c7e13fd5bcfff266d0c4ea9ba433"
+  integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+source-map-js@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+typescript@^5.2.2:
+  version "5.2.2"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
+  integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
+
+"uu-bootstrap@git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.5.0-alpha.0":
+  version "1.5.0-alpha.0"
+  resolved "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#0bd740cae32d73770ed4ca7f4818612c8b4bff91"
+  dependencies:
+    bootstrap "5.3.1"
+
+uuid@^9.0.0:
+  version "9.0.0"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
+  integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
+
+vite@^4.4.9:
+  version "4.4.9"
+  resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d"
+  integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==
+  dependencies:
+    esbuild "^0.18.10"
+    postcss "^8.4.27"
+    rollup "^3.27.1"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+vue-i18n@9:
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.5.0.tgz#361a820f591f6d9689435a42763fd1dae224833b"
+  integrity sha512-NiI3Ph1qMstNf7uhYh8trQBOBFLxeJgcOxBq51pCcZ28Vs18Y7BDS58r8HGDKCYgXdLUYqPDXdKatIF4bvBVZg==
+  dependencies:
+    "@intlify/core-base" "9.5.0"
+    "@intlify/shared" "9.5.0"
+    "@vue/devtools-api" "^6.5.0"
+
+vue@^3.3.4:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"
+  integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
+  dependencies:
+    "@vue/compiler-dom" "3.3.4"
+    "@vue/compiler-sfc" "3.3.4"
+    "@vue/runtime-dom" "3.3.4"
+    "@vue/server-renderer" "3.3.4"
+    "@vue/shared" "3.3.4"
diff --git a/dev/dev_project/settings.py b/dev/dev_project/settings.py
index 7fda6837..e80add2b 100644
--- a/dev/dev_project/settings.py
+++ b/dev/dev_project/settings.py
@@ -32,7 +32,6 @@
 ALLOWED_HOSTS = ['localhost', '127.0.0.1']
 INTERNAL_IPS = ['127.0.0.1']
 
-
 # Application definition
 
 INSTALLED_APPS = [
@@ -40,6 +39,7 @@
     'cdh.core',
     'cdh.rest',
     'cdh.vue',
+    'cdh.vue3',
     'cdh.files',
     'cdh.integration_platform',
 
@@ -59,6 +59,7 @@
 
     # DRF
     'rest_framework',
+    'django_filters',
 
     # Impersonate
     'impersonate',
@@ -70,6 +71,7 @@
     'main',
     'dev_files',
     'dev_integration_platform',
+    'dev_vue',
 ]
 
 MIDDLEWARE = [
@@ -86,6 +88,12 @@
     'csp.middleware.CSPMiddleware',
 ]
 
+REST_FRAMEWORK = {
+    'DEFAULT_FILTER_BACKENDS': [
+        'django_filters.rest_framework.DjangoFilterBackend'
+    ],
+}
+
 if DEBUG and ENABLE_DEBUG_TOOLBAR:
     INSTALLED_APPS.append('debug_toolbar')
     MIDDLEWARE.append('debug_toolbar.middleware.DebugToolbarMiddleware', )
@@ -205,7 +213,7 @@
 
 # Django CSP
 # http://django-csp.readthedocs.io/en/latest/index.html
-CSP_REPORT_ONLY = False
+CSP_REPORT_ONLY = True
 CSP_UPGRADE_INSECURE_REQUESTS = not DEBUG
 CSP_INCLUDE_NONCE_IN = ['script-src']
 
diff --git a/dev/dev_project/urls.py b/dev/dev_project/urls.py
index 6f157413..3f70c835 100644
--- a/dev/dev_project/urls.py
+++ b/dev/dev_project/urls.py
@@ -18,32 +18,32 @@
 from django.contrib import admin
 from django.urls import include, path
 
-handler404 = 'main.error_views.error_404'
-handler500 = 'main.error_views.error_500'
-handler403 = 'main.error_views.error_403'
-handler400 = 'main.error_views.error_400'
+handler404 = "main.error_views.error_404"
+handler500 = "main.error_views.error_500"
+handler403 = "main.error_views.error_403"
+handler400 = "main.error_views.error_400"
 
 urlpatterns = [
-    path('admin/', admin.site.urls),
-    path('saml/', include('djangosaml2.urls')),
-    path('', include('main.urls')),
-    path('files/', include('dev_files.urls')),
-    path('integration_platform/', include('dev_integration_platform.urls')),
-
-    path('impersonate/', include('impersonate.urls')),
-    path('cdhcore/', include('cdh.core.urls')),
-    path('i18n/', include('django.conf.urls.i18n')),
+    path("admin/", admin.site.urls),
+    path("saml/", include("djangosaml2.urls")),
+    path("", include("main.urls")),
+    path("files/", include("dev_files.urls")),
+    path("vue/", include("dev_vue.urls")),
+    path("integration_platform/", include("dev_integration_platform.urls")),
+    path("impersonate/", include("impersonate.urls")),
+    path("cdhcore/", include("cdh.core.urls")),
+    path("i18n/", include("django.conf.urls.i18n")),
 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT, show_indexes=True)
 
 
-admin.site.site_header = ''
-admin.site.site_title = ''
-admin.site.index_title = ''
+admin.site.site_header = ""
+admin.site.site_title = ""
+admin.site.index_title = ""
 
 
 if settings.DEBUG:
     import debug_toolbar
-    urlpatterns = [
-        path('__debug__/', include(debug_toolbar.urls)),
 
+    urlpatterns = [
+        path("__debug__/", include(debug_toolbar.urls)),
     ] + urlpatterns
diff --git a/dev/dev_vue/__init__.py b/dev/dev_vue/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/dev/dev_vue/admin.py b/dev/dev_vue/admin.py
new file mode 100644
index 00000000..8c38f3f3
--- /dev/null
+++ b/dev/dev_vue/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/dev/dev_vue/apps.py b/dev/dev_vue/apps.py
new file mode 100644
index 00000000..9ffe0bab
--- /dev/null
+++ b/dev/dev_vue/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class DevRestConfig(AppConfig):
+    default_auto_field = 'django.db.models.BigAutoField'
+    name = 'dev_vue'
diff --git a/dev/dev_vue/management/__init__.py b/dev/dev_vue/management/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/dev/dev_vue/management/commands/__init__.py b/dev/dev_vue/management/commands/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/dev/dev_vue/management/commands/create_test_data.py b/dev/dev_vue/management/commands/create_test_data.py
new file mode 100644
index 00000000..d4c29a5b
--- /dev/null
+++ b/dev/dev_vue/management/commands/create_test_data.py
@@ -0,0 +1,50 @@
+"""
+Creates one million bs data entries for testing
+
+Not a fixture because it would be a very large file full of bs
+"""
+
+import logging
+
+from django.core.management.base import BaseCommand
+from django.db import transaction
+from django.utils.timezone import make_aware
+from faker import Faker
+from random import choice
+
+from dev_vue.models import ExampleData
+
+logger = logging.getLogger(__name__)
+
+
+class Command(BaseCommand):
+
+    def handle(self, *args, **options):
+        print("Sit back, this will take a while. Up to half an hour depending on your PC.")
+        faker = Faker()
+
+        # The transaction is not needed, but does speed up SQLite performance
+        # as everything is done in the one connection, reducing overhead
+        with transaction.atomic():
+            for i in range(1, 1000000):
+                progress(i, 1000000)
+                ExampleData.objects.create(**{
+                        'project_name':     faker.bs(),
+                        'project_owner':    faker.name(),
+                        'reference_number': i,
+                        'created':          make_aware(faker.date_time_between()),
+                        'project_type':     choice(ExampleData.TypeOptions.values),
+                        'status':           choice(ExampleData.StatusOptions.values)
+                    })
+
+
+def progress(iteration, total, width=80, start="\r", newline_on_complete=True):
+    width = width - 2
+    tally = f" {iteration}/{total}"
+    width -= len(tally)
+    filledLength = int(width * iteration // total)
+    bar = "█" * filledLength + "-" * (width - filledLength)
+    print(f"{start}|{bar}|{tally}", end="")
+    # Print New Line on Complete
+    if newline_on_complete and iteration == total:
+        print()
diff --git a/dev/dev_vue/menus.py b/dev/dev_vue/menus.py
new file mode 100644
index 00000000..e455587b
--- /dev/null
+++ b/dev/dev_vue/menus.py
@@ -0,0 +1,31 @@
+from django.urls import reverse
+from menu import Menu, MenuItem
+
+
+sub_menus = []
+
+sub_menus.append(
+    MenuItem(
+        "UU-List",
+        reverse("dev_vue:list"),
+        exact_url=True,
+    )
+)
+
+sub_menus.append(
+    MenuItem(
+        "Example custom UU-List",
+        reverse("dev_vue:custom-list"),
+        exact_url=True,
+    )
+)
+
+Menu.add_item(
+    "main",
+    MenuItem(
+        "Vue",
+        "#",
+        exact_url=True,
+        children=sub_menus,
+    ),
+)
diff --git a/dev/dev_vue/migrations/0001_initial.py b/dev/dev_vue/migrations/0001_initial.py
new file mode 100644
index 00000000..2d1195f5
--- /dev/null
+++ b/dev/dev_vue/migrations/0001_initial.py
@@ -0,0 +1,25 @@
+# Generated by Django 4.0.8 on 2023-08-07 10:41
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    initial = True
+
+    dependencies = [
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='ExampleData',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('project_name', models.TextField()),
+                ('project_owner', models.TextField()),
+                ('reference_number', models.TextField()),
+                ('status', models.CharField(choices=[('O', 'Open'), ('R', 'In review'), ('C', 'Concluded')], default='O', max_length=2)),
+                ('created', models.DateTimeField(auto_now_add=True)),
+            ],
+        ),
+    ]
diff --git a/dev/dev_vue/migrations/0002_exampledata_project_type.py b/dev/dev_vue/migrations/0002_exampledata_project_type.py
new file mode 100644
index 00000000..8c1e854c
--- /dev/null
+++ b/dev/dev_vue/migrations/0002_exampledata_project_type.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.8 on 2023-08-11 11:59
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dev_vue', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='exampledata',
+            name='project_type',
+            field=models.CharField(choices=[('S', 'Standard'), ('E', 'External'), ('TS', 'Top secret'), ('TK', 'Topsy Kretts')], default='S', max_length=2),
+        ),
+    ]
diff --git a/dev/dev_vue/migrations/0003_alter_exampledata_created.py b/dev/dev_vue/migrations/0003_alter_exampledata_created.py
new file mode 100644
index 00000000..bcb9ebb5
--- /dev/null
+++ b/dev/dev_vue/migrations/0003_alter_exampledata_created.py
@@ -0,0 +1,19 @@
+# Generated by Django 4.0.8 on 2023-08-11 13:37
+
+import datetime
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dev_vue', '0002_exampledata_project_type'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='exampledata',
+            name='created',
+            field=models.DateTimeField(default=datetime.datetime.now),
+        ),
+    ]
diff --git a/dev/dev_vue/migrations/__init__.py b/dev/dev_vue/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/dev/dev_vue/models.py b/dev/dev_vue/models.py
new file mode 100644
index 00000000..afb0542d
--- /dev/null
+++ b/dev/dev_vue/models.py
@@ -0,0 +1,38 @@
+from datetime import datetime
+
+from django.db import models
+
+
+class ExampleData(models.Model):
+    class StatusOptions(models.TextChoices):
+        OPEN = "O", "Open"
+        IN_REVIEW = "R", "In review"
+        CONCLUDED = "C", "Concluded"
+
+    class TypeOptions(models.TextChoices):
+        STANDARD = "S", "Standard"
+        EXTERNAL = "E", "External"
+        TOP_SECRET = "TS", "Top secret"
+        # This is a reference to the movie 'The number 23'. Can highly
+        # recommend that movie... if you are less than sober
+        TOPSY_KRETTS = "TK", "Topsy Kretts"
+
+    project_name = models.TextField()
+
+    project_owner = models.TextField()
+
+    reference_number = models.TextField()
+
+    status = models.CharField(
+        choices=StatusOptions.choices,
+        default=StatusOptions.OPEN,
+        max_length=2,
+    )
+
+    project_type = models.CharField(
+        choices=TypeOptions.choices,
+        default=TypeOptions.STANDARD,
+        max_length=2,
+    )
+
+    created = models.DateTimeField(default=datetime.now)
diff --git a/dev/dev_vue/serializers.py b/dev/dev_vue/serializers.py
new file mode 100644
index 00000000..da373ad1
--- /dev/null
+++ b/dev/dev_vue/serializers.py
@@ -0,0 +1,56 @@
+from cdh.vue3.components.uu_list import (
+    DDVActionDividerField,
+    DDVLinkField,
+    DDVActionsField,
+)
+from cdh.rest.server.serializers import ModelDisplaySerializer
+from dev_vue.models import ExampleData
+
+
+class ExampleDataSerializer(ModelDisplaySerializer):
+    """This is the demo/test serializer for UU-List"""
+
+    edit_button = DDVLinkField(
+        text="Edit",
+        link="dev_vue:dummy",
+        link_attr="pk",
+        check=lambda o: o.status == ExampleData.StatusOptions.OPEN,
+    )
+    actions = DDVActionsField(
+        [
+            DDVLinkField(
+                text="Edit",
+                link="dev_vue:dummy",
+                link_attr="pk",
+                check=lambda o: o.status == ExampleData.StatusOptions.OPEN,
+            ),
+            DDVLinkField(
+                text="Review",
+                link="dev_vue:list",
+                check=lambda o: o.status == ExampleData.StatusOptions.IN_REVIEW,
+            ),
+            DDVLinkField(
+                text="Assign",
+                link="https://www.youtube.com/watch?v=dQw4w9WgXcQ",
+                new_tab=True,
+                check=lambda o: o.status == ExampleData.StatusOptions.IN_REVIEW,
+            ),
+            DDVLinkField(
+                text="Print",
+                link="dev_vue:list",
+            ),
+            DDVActionDividerField(
+                check=lambda o: o.status == ExampleData.StatusOptions.OPEN,
+            ),
+            DDVLinkField(
+                text="Delete",
+                link="dev_vue:list",
+                classes="text-danger fw-bold",
+                check=lambda o: o.status == ExampleData.StatusOptions.OPEN,
+            ),
+        ]
+    )
+
+    class Meta:
+        model = ExampleData
+        fields = "__all__"
diff --git a/dev/dev_vue/static/dev_vue/example-custom-uu-list/CustomList.iife.js b/dev/dev_vue/static/dev_vue/example-custom-uu-list/CustomList.iife.js
new file mode 100644
index 00000000..fb899a15
--- /dev/null
+++ b/dev/dev_vue/static/dev_vue/example-custom-uu-list/CustomList.iife.js
@@ -0,0 +1,1282 @@
+var CustomList = function(vue, vueI18n) {
+  "use strict";
+  let getRandomValues;
+  const rnds8 = new Uint8Array(16);
+  function rng() {
+    if (!getRandomValues) {
+      getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
+      if (!getRandomValues) {
+        throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
+      }
+    }
+    return getRandomValues(rnds8);
+  }
+  const byteToHex = [];
+  for (let i = 0; i < 256; ++i) {
+    byteToHex.push((i + 256).toString(16).slice(1));
+  }
+  function unsafeStringify(arr, offset = 0) {
+    return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
+  }
+  const randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
+  const native = {
+    randomUUID
+  };
+  function v4(options, buf, offset) {
+    if (native.randomUUID && !buf && !options) {
+      return native.randomUUID();
+    }
+    options = options || {};
+    const rnds = options.random || (options.rng || rng)();
+    rnds[6] = rnds[6] & 15 | 64;
+    rnds[8] = rnds[8] & 63 | 128;
+    if (buf) {
+      offset = offset || 0;
+      for (let i = 0; i < 16; ++i) {
+        buf[offset + i] = rnds[i];
+      }
+      return buf;
+    }
+    return unsafeStringify(rnds);
+  }
+  /*!
+  * Copyright 2022, 2023 Utrecht University
+  *
+  * Licensed under the EUPL, Version 1.2 only
+  * You may not use this work except in compliance with the
+  Licence.
+  * A copy of the Licence is provided in the 'LICENCE' file in this project.
+  * You may also obtain a copy of the Licence at:
+  *
+  * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+  *
+  * Unless required by applicable law or agreed to in
+  writing, software distributed under the Licence is
+  distributed on an "AS IS" basis,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+  express or implied.
+  * See the Licence for the specific language governing
+  permissions and limitations under the Licence.
+  */
+  function t(e) {
+    return e.target.value;
+  }
+  /*!
+  * Copyright 2022, 2023 Utrecht University
+  *
+  * Licensed under the EUPL, Version 1.2 only
+  * You may not use this work except in compliance with the
+  Licence.
+  * A copy of the Licence is provided in the 'LICENCE' file in this project.
+  * You may also obtain a copy of the Licence at:
+  *
+  * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+  *
+  * Unless required by applicable law or agreed to in
+  writing, software distributed under the Licence is
+  distributed on an "AS IS" basis,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+  express or implied.
+  * See the Licence for the specific language governing
+  permissions and limitations under the Licence.
+  */
+  const re = ["href", "target"], ie = { class: "btn-text" }, ue = ["type", "name", "disabled"], de = { class: "btn-text" }, Y = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSButton",
+    props: {
+      id: { default: null },
+      href: { default: void 0 },
+      name: { default: void 0 },
+      variant: { default: "dark" },
+      size: { default: "normal" },
+      outlined: { type: Boolean, default: false },
+      active: { type: Boolean, default: false },
+      disabled: { type: Boolean, default: false },
+      loading: { type: Boolean, default: false },
+      input: { default: "button" },
+      newTab: { type: Boolean, default: false },
+      cssClasses: { default: "" }
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => {
+        let n = "btn ";
+        return t2.size === "large" ? n += "btn-lg " : t2.size === "small" && (n += "btn-sm "), t2.outlined ? n += "btn-outline-" : n += "btn-", n += `${t2.variant} `, t2.loading && (n += "btn-loading "), t2.active && (n += "active "), n;
+      });
+      return (n, e) => n.href ? (vue.openBlock(), vue.createElementBlock("a", {
+        key: 0,
+        href: n.href,
+        class: vue.normalizeClass(o.value),
+        target: n.newTab ? "_blank" : "_self"
+      }, [
+        vue.createElementVNode("span", ie, [
+          vue.renderSlot(n.$slots, "default")
+        ])
+      ], 10, re)) : (vue.openBlock(), vue.createElementBlock("button", {
+        key: 1,
+        type: n.input,
+        class: vue.normalizeClass(o.value),
+        name: n.name,
+        disabled: n.disabled
+      }, [
+        vue.createElementVNode("span", de, [
+          vue.renderSlot(n.$slots, "default")
+        ])
+      ], 10, ue));
+    }
+  });
+  const Ve = ["id", "value", "checked", "onClick"], De = ["for"], Ue = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSMultiSelect",
+    props: {
+      options: {},
+      modelValue: {},
+      containerClasses: { default: "" },
+      uniqueId: { default: v4().toString() }
+    },
+    emits: ["update:modelValue", "update:model-value"],
+    setup(i, { emit: t2 }) {
+      const o = i;
+      function n(e) {
+        const l = o.modelValue.includes(e);
+        let a = [...o.modelValue];
+        if (!l)
+          a.push(e);
+        else {
+          const u = a.indexOf(e);
+          u > -1 && a.splice(u, 1);
+        }
+        t2("update:modelValue", a);
+      }
+      return (e, l) => (vue.openBlock(), vue.createElementBlock("div", null, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.options, ([a, u]) => (vue.openBlock(), vue.createElementBlock("div", {
+          key: a,
+          class: vue.normalizeClass(["form-check", e.containerClasses])
+        }, [
+          vue.createElementVNode("input", {
+            id: "id_" + a + "_" + e.uniqueId,
+            type: "checkbox",
+            class: "form-check-input",
+            value: a,
+            checked: o.modelValue.includes(a),
+            onClick: (_) => n(a)
+          }, null, 8, Ve),
+          vue.createElementVNode("label", {
+            class: "form-check-label",
+            for: +"_" + e.uniqueId
+          }, vue.toDisplayString(u), 9, De)
+        ], 2))), 128))
+      ]));
+    }
+  }), Le = {
+    class: "pagination justify-content-center",
+    role: "navigation",
+    "aria-label": "pagination"
+  }, Oe = ["onClick"], Ie = {
+    key: 1,
+    class: "page-link"
+  }, q = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSPagination",
+    props: {
+      maxPages: {},
+      currentpage: {},
+      showButtons: { type: Boolean, default: true },
+      numOptions: { default: 2 }
+    },
+    emits: ["change-page"],
+    setup(i, { emit: t2 }) {
+      const o = i;
+      function n(u, _, y) {
+        return Math.min(Math.max(u, _), y);
+      }
+      const e = vue.computed(() => {
+        const u = o.numOptions, _ = o.currentpage - u, y = o.currentpage + u + 1, P = [], I = [];
+        let U;
+        for (let $ = 1; $ <= o.maxPages; $++)
+          ($ === 1 || $ === o.maxPages || $ >= _ && $ < y) && P.push($);
+        for (const $ of P)
+          U && ($ - U === 2 ? I.push(U + 1) : $ - U !== 1 && I.push(-42)), I.push($), U = $;
+        return I;
+      });
+      function l(u) {
+        u = n(u, 1, o.maxPages), t2("change-page", u);
+      }
+      const { t: a } = vueI18n.useI18n();
+      return (u, _) => (vue.openBlock(), vue.createElementBlock("ul", Le, [
+        vue.createElementVNode("li", {
+          class: vue.normalizeClass(["page-item page-button", u.currentpage === 1 ? "disabled" : ""])
+        }, [
+          u.showButtons ? (vue.openBlock(), vue.createElementBlock("a", {
+            key: 0,
+            class: "page-link",
+            onClick: _[0] || (_[0] = (y) => l(u.currentpage - 1))
+          }, vue.toDisplayString(vue.unref(a)("previous")), 1)) : vue.createCommentVNode("", true)
+        ], 2),
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.value, (y) => (vue.openBlock(), vue.createElementBlock("li", {
+          key: y,
+          class: vue.normalizeClass([
+            "page-item",
+            (y === -42 ? "disabled page-ellipsis " : "") + (y === u.currentpage ? "active" : "")
+          ])
+        }, [
+          y !== -42 ? (vue.openBlock(), vue.createElementBlock("a", {
+            key: 0,
+            class: "page-link",
+            onClick: (P) => l(y)
+          }, vue.toDisplayString(y), 9, Oe)) : (vue.openBlock(), vue.createElementBlock("span", Ie, "…"))
+        ], 2))), 128)),
+        vue.createElementVNode("li", {
+          class: vue.normalizeClass(["page-item page-button", u.currentpage >= u.maxPages ? "disabled" : ""])
+        }, [
+          u.showButtons ? (vue.openBlock(), vue.createElementBlock("a", {
+            key: 0,
+            class: "page-link",
+            onClick: _[1] || (_[1] = (y) => l(u.currentpage + 1))
+          }, vue.toDisplayString(vue.unref(a)("next")), 1)) : vue.createCommentVNode("", true)
+        ], 2)
+      ]));
+    }
+  });
+  function Q(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          next: (o) => {
+            const { normalize: n } = o;
+            return n(["Next"]);
+          },
+          previous: (o) => {
+            const { normalize: n } = o;
+            return n(["Previous"]);
+          }
+        },
+        nl: {
+          next: (o) => {
+            const { normalize: n } = o;
+            return n(["Volgende"]);
+          },
+          previous: (o) => {
+            const { normalize: n } = o;
+            return n(["Vorige"]);
+          }
+        }
+      }
+    });
+  }
+  typeof Q == "function" && Q(q);
+  const Pe = ["id", "value", "checked", "onClick"], Ee = ["for"], Ne = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSRadioSelect",
+    props: {
+      options: {},
+      modelValue: {},
+      containerClasses: { default: "" }
+    },
+    emits: ["update:modelValue", "update:model-value"],
+    setup(i, { emit: t2 }) {
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("div", null, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.options, ([e, l]) => (vue.openBlock(), vue.createElementBlock("div", {
+          key: e,
+          class: vue.normalizeClass(["form-check", o.containerClasses])
+        }, [
+          vue.createElementVNode("input", {
+            id: "id_" + e,
+            type: "radio",
+            class: "form-check-input",
+            value: e,
+            checked: o.modelValue == e,
+            onClick: (a) => t2("update:model-value", e)
+          }, null, 8, Pe),
+          vue.createElementVNode("label", {
+            class: "form-check-label",
+            for: "id_" + e
+          }, vue.toDisplayString(l), 9, Ee)
+        ], 2))), 128))
+      ]));
+    }
+  }), Me = { class: "uu-sidebar" }, Te = ["data-bs-target"], qe = ["id"], Re = { class: "uu-sidebar-content" }, je = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSSidebar",
+    props: {
+      id: { default: null },
+      placement: { default: "left" },
+      mobilePlacement: { default: "top" },
+      stickySidebar: { type: Boolean, default: false },
+      mobileStickySidebar: { type: Boolean, default: false }
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => t2.id !== null ? t2.id : "id_" + v4().toString().replace(/-/g, "")), n = vue.computed(() => {
+        let e = "";
+        return t2.placement === "right" && (e += "uu-sidebar-right "), t2.mobilePlacement === "bottom" && (e += "uu-sidebar-mobile-bottom "), t2.stickySidebar && (e += "uu-sidebar-sticky "), t2.mobileStickySidebar && (e += "uu-sidebar-mobile-sticky "), e;
+      });
+      return (e, l) => (vue.openBlock(), vue.createElementBlock("div", {
+        class: vue.normalizeClass(["uu-sidebar-container", n.value])
+      }, [
+        vue.createElementVNode("aside", Me, [
+          vue.createElementVNode("button", {
+            class: "uu-sidebar-toggle",
+            type: "button",
+            "data-bs-toggle": "collapse",
+            "data-bs-target": "#" + o.value,
+            "aria-expanded": "false"
+          }, [
+            vue.renderSlot(e.$slots, "sidebar-button")
+          ], 8, Te),
+          vue.createElementVNode("div", {
+            id: o.value,
+            class: "uu-sidebar-collapse collapse"
+          }, [
+            vue.renderSlot(e.$slots, "sidebar")
+          ], 8, qe)
+        ]),
+        vue.createElementVNode("div", Re, [
+          vue.renderSlot(e.$slots, "default")
+        ])
+      ], 2));
+    }
+  }), Fe = { class: "uu-list-filter" }, Ze = { class: "uu-list-filter-label" }, Ge = {
+    key: 2,
+    class: "uu-list-filter-field"
+  }, Qe = ["value"], We = /* @__PURE__ */ vue.defineComponent({
+    __name: "Filter",
+    props: {
+      filter: {},
+      value: {}
+    },
+    emits: ["update:value"],
+    setup(i, { emit: t$1 }) {
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("div", Fe, [
+        vue.createElementVNode("div", Ze, vue.toDisplayString(o.filter.label), 1),
+        o.filter.type === "checkbox" ? (vue.openBlock(), vue.createBlock(vue.unref(Ue), {
+          key: 0,
+          options: o.filter.options ?? [],
+          "model-value": o.value ?? [],
+          "onUpdate:modelValue": n[0] || (n[0] = (e) => t$1("update:value", e))
+        }, null, 8, ["options", "model-value"])) : vue.createCommentVNode("", true),
+        o.filter.type === "radio" ? (vue.openBlock(), vue.createBlock(vue.unref(Ne), {
+          key: 1,
+          options: o.filter.options ?? [],
+          "model-value": o.value ?? "",
+          "onUpdate:modelValue": n[1] || (n[1] = (e) => t$1("update:value", e))
+        }, null, 8, ["options", "model-value"])) : vue.createCommentVNode("", true),
+        o.filter.type === "date" ? (vue.openBlock(), vue.createElementBlock("div", Ge, [
+          vue.createElementVNode("input", {
+            type: "date",
+            value: o.value,
+            class: "form-control",
+            onInput: n[2] || (n[2] = (e) => t$1("update:value", vue.unref(t)(e)))
+          }, null, 40, Qe)
+        ])) : vue.createCommentVNode("", true)
+      ]));
+    }
+  }), Ae = { key: 0 }, x = /* @__PURE__ */ vue.defineComponent({
+    __name: "FilterBar",
+    props: {
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i;
+      function n(e, l) {
+        let a = { ...o.filterValues };
+        a[e] = l, t2("update:filter-values", a);
+      }
+      return (e, l) => e.filters ? (vue.openBlock(), vue.createElementBlock("div", Ae, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.filters, (a) => (vue.openBlock(), vue.createBlock(We, {
+          key: a.field,
+          filter: a,
+          value: e.filterValues[a.field] ?? void 0,
+          "onUpdate:value": (u) => n(a.field, u)
+        }, null, 8, ["filter", "value", "onUpdate:value"]))), 128))
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), He = { class: "search" }, Je = ["value", "placeholder"], R = /* @__PURE__ */ vue.defineComponent({
+    __name: "SearchControl",
+    props: {
+      modelValue: {}
+    },
+    emits: ["update:modelValue", "update:model-value"],
+    setup(i, { emit: t$1 }) {
+      function o(a, u = 500) {
+        let _;
+        return (...y) => {
+          clearTimeout(_), _ = setTimeout(() => {
+            a.apply(this, y);
+          }, u);
+        };
+      }
+      function n(a) {
+        t$1("update:modelValue", a);
+      }
+      const e = o((a) => n(a)), { t: l } = vueI18n.useI18n();
+      return (a, u) => (vue.openBlock(), vue.createElementBlock("div", He, [
+        vue.createElementVNode("input", {
+          id: "search",
+          class: "form-control",
+          value: a.modelValue,
+          placeholder: vue.unref(l)("placeholder"),
+          onInput: u[0] || (u[0] = (_) => vue.unref(e)(vue.unref(t)(_)))
+        }, null, 40, Je)
+      ]));
+    }
+  });
+  function W(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          placeholder: (o) => {
+            const { normalize: n } = o;
+            return n(["Search"]);
+          }
+        },
+        nl: {
+          placeholder: (o) => {
+            const { normalize: n } = o;
+            return n(["Zoeken"]);
+          }
+        }
+      }
+    });
+  }
+  typeof W == "function" && W(R);
+  const Ke = ["value"], Xe = ["value"], ee = /* @__PURE__ */ vue.defineComponent({
+    __name: "PageSizeControl",
+    props: {
+      pageSize: {},
+      pageSizeOptions: {}
+    },
+    emits: ["update:pageSize", "update:page-size"],
+    setup(i, { emit: t$1 }) {
+      const o = i;
+      function n(e) {
+        if (typeof e == "string")
+          try {
+            e = Number(e);
+          } catch {
+            e = o.pageSizeOptions[0] ?? 10;
+          }
+        t$1("update:pageSize", e);
+      }
+      return (e, l) => (vue.openBlock(), vue.createElementBlock("select", {
+        value: e.pageSize,
+        class: "form-select",
+        onChange: l[0] || (l[0] = (a) => n(vue.unref(t)(a)))
+      }, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.pageSizeOptions, (a) => (vue.openBlock(), vue.createElementBlock("option", {
+          key: a,
+          value: a
+        }, vue.toDisplayString(a), 9, Xe))), 128))
+      ], 40, Ke));
+    }
+  }), Ye = ["value"], xe = ["value"], te = /* @__PURE__ */ vue.defineComponent({
+    __name: "SortControl",
+    props: {
+      currentSort: {},
+      sortOptions: {}
+    },
+    emits: ["update:current-sort", "update:currentSort"],
+    setup(i, { emit: t$1 }) {
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("select", {
+        value: o.currentSort,
+        class: "form-select",
+        onChange: n[0] || (n[0] = (e) => o.$emit("update:current-sort", vue.unref(t)(e).trim()))
+      }, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.sortOptions, ({ field: e, label: l }) => (vue.openBlock(), vue.createElementBlock("option", {
+          key: e,
+          value: e
+        }, vue.toDisplayString(l), 9, xe))), 128))
+      ], 40, Ye));
+    }
+  }), et = { key: 0 }, j = /* @__PURE__ */ vue.defineComponent({
+    __name: "SearchResultNum",
+    props: {
+      searchQuery: {},
+      pageNum: {},
+      totalNum: {}
+    },
+    setup(i) {
+      const { t: t2 } = vueI18n.useI18n();
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("div", null, [
+        o.searchQuery ? (vue.openBlock(), vue.createElementBlock("span", et, vue.toDisplayString(vue.unref(t2)("search", { query: o.searchQuery })), 1)) : vue.createCommentVNode("", true),
+        vue.createTextVNode(" " + vue.toDisplayString(vue.unref(t2)("showing", {
+          pageNum: o.pageNum,
+          totalNum: Intl.NumberFormat().format(o.totalNum)
+        })), 1)
+      ]));
+    }
+  });
+  function A(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          search: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n(["Search result: ", e(l("query")), ","]);
+          },
+          showing: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n(["showing ", e(l("pageNum")), " of ", e(l("totalNum")), " results"]);
+          }
+        },
+        nl: {
+          search: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n(["Zoekresultaat: ", e(l("query")), ","]);
+          },
+          showing: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n([e(l("pageNum")), " van ", e(l("totalNum")), " getoond"]);
+          }
+        }
+      }
+    });
+  }
+  typeof A == "function" && A(j);
+  const tt = { class: "uu-container" }, nt = { class: "uu-list" }, ot = { class: "uu-list-controls" }, at = {
+    key: 1,
+    class: "uu-list-order-control"
+  }, st = { class: "uu-list-page-size-control" }, lt = {
+    key: 0,
+    class: "uu-list-filters"
+  }, rt = { class: "uu-list-content" }, it = /* @__PURE__ */ vue.defineComponent({
+    __name: "Default",
+    props: {
+      data: {},
+      isLoading: { type: Boolean },
+      totalData: {},
+      currentPage: {},
+      searchEnabled: { type: Boolean },
+      search: {},
+      sortEnabled: { type: Boolean },
+      currentSort: {},
+      sortOptions: {},
+      pageSize: {},
+      pageSizeOptions: {},
+      filtersEnabled: { type: Boolean },
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:current-page", "update:search", "update:current-sort", "update:page-size", "update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i, n = vue.computed(() => Math.ceil(o.totalData / o.pageSize));
+      return (e, l) => {
+        var a;
+        return vue.openBlock(), vue.createElementBlock("div", tt, [
+          vue.createElementVNode("div", nt, [
+            vue.createElementVNode("div", ot, [
+              e.searchEnabled ? (vue.openBlock(), vue.createBlock(R, {
+                key: 0,
+                "model-value": e.search,
+                class: "uu-list-search-control",
+                "onUpdate:modelValue": l[0] || (l[0] = (u) => e.$emit("update:search", u))
+              }, null, 8, ["model-value"])) : vue.createCommentVNode("", true),
+              vue.createVNode(j, {
+                "search-query": e.search,
+                "page-num": ((a = e.data) == null ? void 0 : a.length) ?? 0,
+                "total-num": e.totalData,
+                class: "uu-list-search-text-control"
+              }, null, 8, ["search-query", "page-num", "total-num"]),
+              e.sortEnabled ? (vue.openBlock(), vue.createElementBlock("div", at, [
+                vue.createVNode(te, {
+                  "current-sort": e.currentSort,
+                  "sort-options": e.sortOptions,
+                  "onUpdate:currentSort": l[1] || (l[1] = (u) => t2("update:current-sort", u))
+                }, null, 8, ["current-sort", "sort-options"])
+              ])) : vue.createCommentVNode("", true),
+              vue.createElementVNode("div", st, [
+                vue.createVNode(ee, {
+                  "page-size-options": e.pageSizeOptions,
+                  "page-size": e.pageSize,
+                  "onUpdate:pageSize": l[2] || (l[2] = (u) => t2("update:page-size", u))
+                }, null, 8, ["page-size-options", "page-size"])
+              ])
+            ]),
+            e.filtersEnabled ? (vue.openBlock(), vue.createElementBlock("div", lt, [
+              vue.renderSlot(e.$slots, "filters-top", {
+                data: e.data,
+                isLoading: e.isLoading
+              }),
+              vue.createVNode(x, {
+                filters: e.filters,
+                "filter-values": e.filterValues,
+                "onUpdate:filterValues": l[3] || (l[3] = (u) => e.$emit("update:filter-values", u))
+              }, null, 8, ["filters", "filter-values"]),
+              vue.renderSlot(e.$slots, "filters-bottom", {
+                data: e.data,
+                isLoading: e.isLoading
+              })
+            ])) : vue.createCommentVNode("", true),
+            vue.createElementVNode("div", rt, [
+              vue.renderSlot(e.$slots, "data", {
+                data: e.data,
+                isLoading: e.isLoading
+              }),
+              vue.createElementVNode("div", null, [
+                e.data ? (vue.openBlock(), vue.createBlock(vue.unref(q), {
+                  key: 0,
+                  "max-pages": n.value,
+                  currentpage: e.currentPage,
+                  onChangePage: l[4] || (l[4] = (u) => e.$emit("update:current-page", u))
+                }, null, 8, ["max-pages", "currentpage"])) : vue.createCommentVNode("", true)
+              ])
+            ])
+          ])
+        ]);
+      };
+    }
+  }), ut = { class: "w-100 d-flex align-items-center gap-3 uu-list-controls" }, dt = {
+    key: 0,
+    class: "ms-auto"
+  }, ne = /* @__PURE__ */ vue.defineComponent({
+    __name: "Sidebar",
+    props: {
+      data: {},
+      isLoading: { type: Boolean },
+      totalData: {},
+      currentPage: {},
+      searchEnabled: { type: Boolean },
+      search: {},
+      sortEnabled: { type: Boolean },
+      currentSort: {},
+      sortOptions: {},
+      pageSize: {},
+      pageSizeOptions: {},
+      filtersEnabled: { type: Boolean },
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:current-page", "update:search", "update:current-sort", "update:page-size", "update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i, n = vue.computed(() => Math.ceil(o.totalData / o.pageSize));
+      return (e, l) => (vue.openBlock(), vue.createBlock(vue.unref(je), { class: "uu-list-sidebar" }, {
+        sidebar: vue.withCtx(() => [
+          e.searchEnabled ? (vue.openBlock(), vue.createBlock(R, {
+            key: 0,
+            "model-value": e.search,
+            "onUpdate:modelValue": l[0] || (l[0] = (a) => e.$emit("update:search", a))
+          }, null, 8, ["model-value"])) : vue.createCommentVNode("", true),
+          vue.renderSlot(e.$slots, "filters-top", {
+            data: e.data,
+            isLoading: e.isLoading
+          }),
+          e.filters ? (vue.openBlock(), vue.createBlock(x, {
+            key: 1,
+            filters: e.filters,
+            "filter-values": e.filterValues,
+            "onUpdate:filterValues": l[1] || (l[1] = (a) => e.$emit("update:filter-values", a))
+          }, null, 8, ["filters", "filter-values"])) : vue.createCommentVNode("", true),
+          vue.renderSlot(e.$slots, "filters-bottom", {
+            data: e.data,
+            isLoading: e.isLoading
+          })
+        ]),
+        default: vue.withCtx(() => {
+          var a;
+          return [
+            vue.createElementVNode("div", null, [
+              vue.createElementVNode("div", ut, [
+                vue.createVNode(j, {
+                  "search-query": e.search,
+                  "page-num": ((a = e.data) == null ? void 0 : a.length) ?? 0,
+                  "total-num": e.totalData
+                }, null, 8, ["search-query", "page-num", "total-num"]),
+                e.sortEnabled ? (vue.openBlock(), vue.createElementBlock("div", dt, [
+                  vue.createVNode(te, {
+                    "current-sort": e.currentSort,
+                    "sort-options": e.sortOptions,
+                    "onUpdate:currentSort": l[2] || (l[2] = (u) => t2("update:current-sort", u))
+                  }, null, 8, ["current-sort", "sort-options"])
+                ])) : vue.createCommentVNode("", true),
+                vue.createElementVNode("div", null, [
+                  vue.createVNode(ee, {
+                    "page-size-options": e.pageSizeOptions,
+                    "page-size": e.pageSize,
+                    "onUpdate:pageSize": l[3] || (l[3] = (u) => t2("update:page-size", u))
+                  }, null, 8, ["page-size-options", "page-size"])
+                ])
+              ]),
+              vue.renderSlot(e.$slots, "data", {
+                data: e.data,
+                isLoading: e.isLoading
+              }),
+              vue.createElementVNode("div", null, [
+                e.data ? (vue.openBlock(), vue.createBlock(vue.unref(q), {
+                  key: 0,
+                  "max-pages": n.value,
+                  currentpage: e.currentPage,
+                  onChangePage: l[4] || (l[4] = (u) => e.$emit("update:current-page", u))
+                }, null, 8, ["max-pages", "currentpage"])) : vue.createCommentVNode("", true)
+              ])
+            ])
+          ];
+        }),
+        _: 3
+      }));
+    }
+  });
+  function H(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Loading...."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["No items to display"]);
+          }
+        },
+        nl: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Gegevens worden laden..."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["Geen gegevens om te tonen"]);
+          }
+        }
+      }
+    });
+  }
+  typeof H == "function" && H(ne);
+  const pt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DebugVisualizer",
+    props: {
+      data: { default: void 0 },
+      isLoading: { type: Boolean, default: false }
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("pre", null, vue.toDisplayString(t2.data), 1));
+    }
+  }), ct = /* @__PURE__ */ vue.defineComponent({
+    __name: "UUList",
+    props: {
+      container: { default: "default" },
+      data: {},
+      isLoading: { type: Boolean, default: false },
+      totalData: {},
+      currentPage: {},
+      searchEnabled: { type: Boolean, default: false },
+      search: { default: "" },
+      sortEnabled: { type: Boolean, default: false },
+      currentSort: { default: "" },
+      sortOptions: { default: () => [] },
+      pageSize: { default: 10 },
+      pageSizeOptions: { default: () => [10, 25, 50] },
+      filtersEnabled: { type: Boolean, default: false },
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:current-page", "update:search", "update:current-sort", "update:page-size", "update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i, n = vue.computed(() => {
+        switch (o.container) {
+          case "sidebar":
+            return ne;
+          default:
+            return it;
+        }
+      });
+      return (e, l) => (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(n.value), {
+        "is-loading": e.isLoading,
+        data: e.data,
+        "total-data": e.totalData,
+        "search-enabled": e.searchEnabled,
+        search: e.search,
+        "sort-enabled": e.sortEnabled,
+        "current-sort": e.currentSort,
+        "current-page": e.currentPage,
+        "page-size-options": e.pageSizeOptions,
+        "sort-options": e.sortOptions,
+        "page-size": e.pageSize,
+        "filters-enabled": e.filtersEnabled,
+        filters: e.filters,
+        "filter-values": e.filterValues,
+        "onUpdate:search": l[0] || (l[0] = (a) => t2("update:search", a)),
+        "onUpdate:currentSort": l[1] || (l[1] = (a) => t2("update:current-sort", a)),
+        "onUpdate:pageSize": l[2] || (l[2] = (a) => t2("update:page-size", a)),
+        "onUpdate:currentPage": l[3] || (l[3] = (a) => t2("update:current-page", a)),
+        "onUpdate:filterValues": l[4] || (l[4] = (a) => t2("update:filter-values", a))
+      }, {
+        data: vue.withCtx(({ data: a, isLoading: u }) => [
+          vue.renderSlot(e.$slots, "data", {
+            data: a,
+            isLoading: u
+          }, () => [
+            vue.createVNode(pt, {
+              data: a,
+              "is-loading": u
+            }, null, 8, ["data", "is-loading"])
+          ])
+        ]),
+        "filters-top": vue.withCtx(({ data: a, isLoading: u }) => [
+          vue.renderSlot(e.$slots, "filters-top", {
+            data: a,
+            isLoading: u
+          })
+        ]),
+        "filters-bottom": vue.withCtx(({ data: a, isLoading: u }) => [
+          vue.renderSlot(e.$slots, "filters-bottom", {
+            data: a,
+            isLoading: u
+          })
+        ]),
+        _: 3
+      }, 40, ["is-loading", "data", "total-data", "search-enabled", "search", "sort-enabled", "current-sort", "current-page", "page-size-options", "sort-options", "page-size", "filters-enabled", "filters", "filter-values"]));
+    }
+  }), mt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVString",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("span", {
+        class: vue.normalizeClass(t2.column.classes)
+      }, vue.toDisplayString(t2.item[t2.column.field]), 3));
+    }
+  }), ft = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVDate",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => {
+        let n = null;
+        try {
+          n = new Date(t2.item[t2.column.field]);
+        } catch (a) {
+          return console.error(a), "";
+        }
+        let e;
+        if (t2.column.language !== void 0 && t2.column.language !== null && (e = t2.column.language), typeof t2.column.format == "string") {
+          let a = null;
+          switch (t2.column.format) {
+            case "date":
+              a = {
+                dateStyle: "medium"
+              };
+              break;
+            case "time":
+              a = {
+                timeStyle: "short"
+              };
+              break;
+            case "datetime":
+              a = {
+                dateStyle: "medium",
+                timeStyle: "short"
+              };
+              break;
+          }
+          return new Intl.DateTimeFormat(e, a).format(n);
+        }
+        return typeof t2.column.format == "object" && t2.column.format !== null ? new Intl.DateTimeFormat(
+          e,
+          t2.column.format
+        ).format(n) : new Intl.DateTimeFormat(e).format(n);
+      });
+      return (n, e) => (vue.openBlock(), vue.createElementBlock("span", {
+        class: vue.normalizeClass(n.column.classes)
+      }, vue.toDisplayString(o.value), 3));
+    }
+  }), gt = { key: 0 }, ht = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVButton",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => t2.item[t2.column.field] ? (vue.openBlock(), vue.createElementBlock("span", gt, [
+        vue.createVNode(vue.unref(Y), {
+          href: t2.item[t2.column.field].link,
+          "css-classes": t2.item[t2.column.field].classes,
+          "new-tab": t2.item[t2.column.field].new_tab,
+          size: t2.column.size,
+          variant: t2.column.variant
+        }, {
+          default: vue.withCtx(() => [
+            vue.createTextVNode(vue.toDisplayString(t2.item[t2.column.field].text), 1)
+          ]),
+          _: 1
+        }, 8, ["href", "css-classes", "new-tab", "size", "variant"])
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), vt = { key: 0 }, bt = ["href", "target"], yt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVLink",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => t2.item[t2.column.field] ? (vue.openBlock(), vue.createElementBlock("span", vt, [
+        vue.createElementVNode("a", {
+          href: t2.item[t2.column.field].link,
+          class: vue.normalizeClass(t2.column.classes),
+          target: t2.item[t2.column.field].new_tab ? "_blank" : "_self"
+        }, vue.toDisplayString(t2.item[t2.column.field].text), 11, bt)
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), _t = ["innerHTML"], $t = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVHTML",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("span", {
+        innerHTML: t2.item[t2.column.field]
+      }, null, 8, _t));
+    }
+  }), kt = {
+    key: 0,
+    class: "dropdown"
+  }, zt = /* @__PURE__ */ vue.createStaticVNode('<button class="btn p-1" type="button" data-bs-toggle="dropdown" aria-expanded="false" style="line-height:1rem;"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 13.75C12.9665 13.75 13.75 12.9665 13.75 12C13.75 11.0335 12.9665 10.25 12 10.25C11.0335 10.25 10.25 11.0335 10.25 12C10.25 12.9665 11.0335 13.75 12 13.75Z" fill="#000000"></path><path d="M19 13.75C19.9665 13.75 20.75 12.9665 20.75 12C20.75 11.0335 19.9665 10.25 19 10.25C18.0335 10.25 17.25 11.0335 17.25 12C17.25 12.9665 18.0335 13.75 19 13.75Z" fill="#000000"></path><path d="M5 13.75C5.9665 13.75 6.75 12.9665 6.75 12C6.75 11.0335 5.9665 10.25 5 10.25C4.0335 10.25 3.25 11.0335 3.25 12C3.25 12.9665 4.0335 13.75 5 13.75Z" fill="#000000"></path></svg></button>', 1), St = { class: "dropdown-menu" }, wt = {
+    key: 0,
+    class: "dropdown-divider"
+  }, Ct = ["href", "target"], Bt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVActions",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => t2.item[t2.column.field].entries());
+      return (n, e) => o.value ? (vue.openBlock(), vue.createElementBlock("div", kt, [
+        zt,
+        vue.createElementVNode("ul", St, [
+          (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.value, ([l, a]) => (vue.openBlock(), vue.createElementBlock("li", { key: l }, [
+            a.divider ? (vue.openBlock(), vue.createElementBlock("hr", wt)) : (vue.openBlock(), vue.createElementBlock("a", {
+              key: 1,
+              href: a.link,
+              class: vue.normalizeClass(["dropdown-item", a.classes ?? ""]),
+              target: a.new_tab ? "_blank" : "_self"
+            }, vue.toDisplayString(a.text), 11, Ct))
+          ]))), 128))
+        ])
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), Vt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVColumn",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => t2.column.type == "string" ? (vue.openBlock(), vue.createBlock(mt, {
+        key: 0,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "date" ? (vue.openBlock(), vue.createBlock(ft, {
+        key: 1,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "button" ? (vue.openBlock(), vue.createBlock(ht, {
+        key: 2,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "link" ? (vue.openBlock(), vue.createBlock(yt, {
+        key: 3,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "html" ? (vue.openBlock(), vue.createBlock($t, {
+        key: 4,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "actions" ? (vue.openBlock(), vue.createBlock(Bt, {
+        key: 5,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : vue.createCommentVNode("", true);
+    }
+  }), Dt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVRow",
+    props: {
+      item: {},
+      columns: {}
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("tr", null, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(t2.columns, (n) => (vue.openBlock(), vue.createElementBlock("td", {
+          key: n.field,
+          class: "align-middle"
+        }, [
+          vue.createVNode(Vt, {
+            column: n,
+            item: t2.item
+          }, null, 8, ["column", "item"])
+        ]))), 128))
+      ]));
+    }
+  }), Ut = {
+    key: 0,
+    class: "alert alert-info w-100"
+  }, Lt = { key: 0 }, Ot = { key: 1 }, It = ["colspan"], oe = /* @__PURE__ */ vue.defineComponent({
+    __name: "DataDefinedVisualizer",
+    props: {
+      data: { default: null },
+      columns: {},
+      isLoading: { type: Boolean, default: false }
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => t2.data === null || t2.data === void 0 || t2.data.length === 0), { t: n } = vueI18n.useI18n();
+      return (e, l) => e.isLoading && o.value ? (vue.openBlock(), vue.createElementBlock("div", Ut, vue.toDisplayString(vue.unref(n)("loading")), 1)) : (vue.openBlock(), vue.createElementBlock("table", {
+        key: 1,
+        class: vue.normalizeClass(["table", e.isLoading ? "loading" : ""])
+      }, [
+        vue.createElementVNode("thead", null, [
+          vue.createElementVNode("tr", null, [
+            (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.columns, (a) => (vue.openBlock(), vue.createElementBlock("th", {
+              key: a.field
+            }, vue.toDisplayString(a.label), 1))), 128))
+          ])
+        ]),
+        o.value ? (vue.openBlock(), vue.createElementBlock("tbody", Ot, [
+          vue.createElementVNode("tr", null, [
+            vue.createElementVNode("td", {
+              colspan: e.columns.length
+            }, vue.toDisplayString(vue.unref(n)("no_data")), 9, It)
+          ])
+        ])) : (vue.openBlock(), vue.createElementBlock("tbody", Lt, [
+          (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.data, (a) => (vue.openBlock(), vue.createBlock(Dt, {
+            key: a.id,
+            item: a,
+            columns: e.columns
+          }, null, 8, ["item", "columns"]))), 128))
+        ]))
+      ], 2));
+    }
+  });
+  function J(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Loading...."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["No items to display"]);
+          }
+        },
+        nl: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Gegevens worden laden..."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["Geen gegevens om te tonen"]);
+          }
+        }
+      }
+    });
+  }
+  typeof J == "function" && J(oe);
+  const Ft = /* @__PURE__ */ vue.defineComponent({
+    __name: "DSCList",
+    props: {
+      config: {}
+    },
+    setup(i) {
+      const t2 = i, o = vue.ref(t2.config.pageSize), n = vue.ref(1), e = vue.ref(""), l = vue.ref("id"), a = vue.ref(true);
+      function u() {
+        var m;
+        let p = {};
+        return (m = t2.config.filters) == null || m.forEach((k) => {
+          var O;
+          if (k.initial) {
+            p[k.field] = k.initial;
+            return;
+          }
+          switch (k.type) {
+            case "date":
+              p[k.field] = null;
+              break;
+            case "checkbox":
+              p[k.field] = [];
+              break;
+            case "radio":
+              ((O = k.options) == null ? void 0 : O.length) != 0 && k.options && (p[k.field] = k.options[0][0]);
+              break;
+          }
+        }), p;
+      }
+      const _ = vue.ref(u());
+      let y = vue.ref(null);
+      const P = vue.computed(() => {
+        let p = [];
+        p.push("page_size=" + encodeURIComponent(o.value));
+        for (const [m, k] of Object.entries(_.value))
+          k != null && (typeof k == "object" ? k.forEach(
+            (O) => p.push(m + "=" + encodeURIComponent(O))
+          ) : p.push(m + "=" + encodeURIComponent(k)));
+        return e.value && p.push("search=" + encodeURIComponent(e.value)), p.push("ordering=" + encodeURIComponent(l.value)), n.value = 1, p;
+      }), I = vue.computed(() => {
+        let p = P.value, m = "page=" + encodeURIComponent(n.value);
+        return p.length !== 0 && (m = "&" + m), "?" + p.join("&") + m;
+      }), U = vue.computed(() => {
+        let p = new URL(window.location.protocol + "//" + window.location.host);
+        return p.pathname = t2.config.dataUri, p.search = I.value, console.log(p.toString()), p.toString();
+      });
+      vue.watch(U, () => {
+        F();
+      });
+      const $ = vue.ref(null);
+      function F() {
+        $.value && $.value.abort(), $.value = new AbortController(), a.value = true, fetch(U.value, { signal: $.value.signal }).then((p) => {
+          p.json().then((m) => {
+            y.value = m, a.value = false, m.ordering && (l.value = m.ordering), $.value = null;
+          });
+        }).catch((p) => {
+          console.log(p);
+        });
+      }
+      return vue.onMounted(() => {
+        F();
+      }), (p, m) => {
+        var k, O, Z;
+        return vue.openBlock(), vue.createBlock(ct, {
+          "is-loading": a.value,
+          data: ((k = vue.unref(y)) == null ? void 0 : k.results) ?? void 0,
+          "total-data": ((O = vue.unref(y)) == null ? void 0 : O.count) ?? 0,
+          "search-enabled": p.config.searchEnabled,
+          search: e.value,
+          "sort-enabled": p.config.sortEnabled,
+          "current-sort": l.value,
+          "page-size-options": p.config.pageSizeOptions,
+          "sort-options": p.config.sortOptions ?? [],
+          "page-size": ((Z = vue.unref(y)) == null ? void 0 : Z.page_size) ?? 10,
+          "current-page": n.value,
+          "filters-enabled": p.config.filtersEnabled,
+          filters: p.config.filters ?? [],
+          "filter-values": _.value,
+          container: p.config.container,
+          "onUpdate:search": m[0] || (m[0] = (C) => e.value = C),
+          "onUpdate:currentSort": m[1] || (m[1] = (C) => l.value = C),
+          "onUpdate:pageSize": m[2] || (m[2] = (C) => o.value = C),
+          "onUpdate:currentPage": m[3] || (m[3] = (C) => n.value = C),
+          "onUpdate:filterValues": m[4] || (m[4] = (C) => _.value = C)
+        }, {
+          data: vue.withCtx(({ data: C, isLoading: G }) => [
+            vue.renderSlot(p.$slots, "data", {
+              data: C,
+              isLoading: G
+            }, () => [
+              vue.createVNode(oe, {
+                data: C,
+                columns: p.config.columns,
+                "is-loading": G
+              }, null, 8, ["data", "columns", "is-loading"])
+            ])
+          ]),
+          _: 3
+        }, 8, ["is-loading", "data", "total-data", "search-enabled", "search", "sort-enabled", "current-sort", "page-size-options", "sort-options", "page-size", "current-page", "filters-enabled", "filters", "filter-values", "container"]);
+      };
+    }
+  });
+  function block0(Component) {
+    const _Component = Component;
+    _Component.__i18n = _Component.__i18n || [];
+    _Component.__i18n.push({
+      "locale": "",
+      "resource": {
+        "en": {
+          "name": (ctx) => {
+            const { normalize: _normalize } = ctx;
+            return _normalize(["Name"]);
+          },
+          "refnum": (ctx) => {
+            const { normalize: _normalize } = ctx;
+            return _normalize(["Reference Number"]);
+          },
+          "status": (ctx) => {
+            const { normalize: _normalize } = ctx;
+            return _normalize(["Status"]);
+          }
+        },
+        "nl": {
+          "name": (ctx) => {
+            const { normalize: _normalize } = ctx;
+            return _normalize(["Naam"]);
+          },
+          "refnum": (ctx) => {
+            const { normalize: _normalize } = ctx;
+            return _normalize(["Referentie Nummer"]);
+          },
+          "status": (ctx) => {
+            const { normalize: _normalize } = ctx;
+            return _normalize(["Status"]);
+          }
+        }
+      }
+    });
+  }
+  const _hoisted_1 = { key: 0 };
+  const _hoisted_2 = {
+    key: 1,
+    class: "table"
+  };
+  const _sfc_main = {
+    __name: "CustomList",
+    props: ["config"],
+    setup(__props) {
+      const { t: t2 } = vueI18n.useI18n();
+      function statusColor(status) {
+        switch (status) {
+          case "C":
+            return "green";
+          case "R":
+            return "orange";
+          case "O":
+            return "red";
+          default:
+            return "";
+        }
+      }
+      return (_ctx, _cache) => {
+        return vue.openBlock(), vue.createBlock(vue.unref(Ft), { config: __props.config }, {
+          data: vue.withCtx(({ data, isLoading }) => [
+            vue.createElementVNode("div", null, [
+              isLoading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, " Loading... ")) : (vue.openBlock(), vue.createElementBlock("table", _hoisted_2, [
+                vue.createElementVNode("thead", null, [
+                  vue.createElementVNode("tr", null, [
+                    vue.createElementVNode("th", null, vue.toDisplayString(vue.unref(t2)("name")), 1),
+                    vue.createElementVNode("th", null, vue.toDisplayString(vue.unref(t2)("refnum")), 1),
+                    vue.createElementVNode("th", null, vue.toDisplayString(vue.unref(t2)("status")), 1)
+                  ])
+                ]),
+                vue.createElementVNode("tbody", null, [
+                  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(data, (datum) => {
+                    return vue.openBlock(), vue.createElementBlock("tr", null, [
+                      vue.createElementVNode("td", null, vue.toDisplayString(datum.project_name), 1),
+                      vue.createElementVNode("td", null, vue.toDisplayString(datum.reference_number), 1),
+                      vue.createElementVNode("td", {
+                        class: vue.normalizeClass(`text-bg-${statusColor(datum.status)}`)
+                      }, vue.toDisplayString(datum.get_status_display), 3)
+                    ]);
+                  }), 256))
+                ])
+              ]))
+            ])
+          ]),
+          _: 1
+        }, 8, ["config"]);
+      };
+    }
+  };
+  if (typeof block0 === "function")
+    block0(_sfc_main);
+  const style = "";
+  return _sfc_main;
+}(Vue, VueI18n);
diff --git a/dev/dev_vue/static/dev_vue/example-custom-uu-list/style.css b/dev/dev_vue/static/dev_vue/example-custom-uu-list/style.css
new file mode 100644
index 00000000..393f0ebd
--- /dev/null
+++ b/dev/dev_vue/static/dev_vue/example-custom-uu-list/style.css
@@ -0,0 +1,20 @@
+/*!
+* Copyright 2022, 2023 Utrecht University
+*
+* Licensed under the EUPL, Version 1.2 only
+* You may not use this work except in compliance with the
+Licence.
+* A copy of the Licence is provided in the 'LICENCE' file in this project.
+* You may also obtain a copy of the Licence at:
+*
+* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+*
+* Unless required by applicable law or agreed to in
+writing, software distributed under the Licence is
+distributed on an "AS IS" basis,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+express or implied.
+* See the Licence for the specific language governing
+permissions and limitations under the Licence.
+*/
+.card-header-icon[data-v-06938a02]{cursor:pointer}.dropdown.dropdown-select .dropdown-menu{padding-top:0}.dropdown.dropdown-select .dropdown-item:hover{background:#ffcd00;color:#000}.dropdown.dropdown-select label{width:100%}
diff --git a/dev/dev_vue/templates/dev_vue/example-custom-list.html b/dev/dev_vue/templates/dev_vue/example-custom-list.html
new file mode 100644
index 00000000..ae2b1938
--- /dev/null
+++ b/dev/dev_vue/templates/dev_vue/example-custom-list.html
@@ -0,0 +1,13 @@
+{% extends "base/base.html" %}
+{% load static %}
+{% load vue3 %}
+
+{% block html_head %}
+    {% load_vue_libs %}
+    <script src="{% static 'dev_vue/example-custom-uu-list/CustomList.iife.js' %}"></script>
+    <link href="{% static 'dev_vue/example-custom-uu-list/style.css' %}" rel="stylesheet" />
+{% endblock %}
+
+{% block content %}
+    {% vue CustomList :config=uu_list_config %}
+{% endblock %}
diff --git a/dev/dev_vue/templates/dev_vue/list.html b/dev/dev_vue/templates/dev_vue/list.html
new file mode 100644
index 00000000..2e4c0535
--- /dev/null
+++ b/dev/dev_vue/templates/dev_vue/list.html
@@ -0,0 +1,13 @@
+{% extends "base/base.html" %}
+{% load static %}
+{% load vue3 %}
+
+{% block html_head %}
+    {% load_vue_libs %}
+    <script src="{% static 'cdh.vue3/components/uu-list/UUList.iife.js' %}"></script>
+    <link href="{% static 'cdh.vue3/components/uu-list/style.css' %}" rel="stylesheet" />
+{% endblock %}
+
+{% block content %}
+    {% vue UUList :config=uu_list_config %}
+{% endblock %}
diff --git a/dev/dev_vue/tests.py b/dev/dev_vue/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/dev/dev_vue/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/dev/dev_vue/urls.py b/dev/dev_vue/urls.py
new file mode 100644
index 00000000..46f5be2d
--- /dev/null
+++ b/dev/dev_vue/urls.py
@@ -0,0 +1,13 @@
+from django.urls import path
+
+from .views import ExampleDataListView, ListView, ExampleCustomListView
+
+app_name = "dev_vue"
+
+urlpatterns = [
+    path("uu-list/", ListView.as_view(), name="list"),
+    path("uu-list/<int:pk>/", ListView.as_view(), name="dummy"),
+    path("custom-list/", ExampleCustomListView.as_view(), name="custom-list"),
+    path("custom-list/<int:pk>/", ExampleCustomListView.as_view(), name="custom-dummy"),
+    path("api/data/", ExampleDataListView.as_view(), name="data"),
+]
diff --git a/dev/dev_vue/views.py b/dev/dev_vue/views.py
new file mode 100644
index 00000000..dc162103
--- /dev/null
+++ b/dev/dev_vue/views.py
@@ -0,0 +1,136 @@
+import time
+
+from django.urls import reverse_lazy
+from django_filters import rest_framework as filters
+from rest_framework.filters import OrderingFilter, SearchFilter
+
+from cdh.vue3.components.uu_list import (
+    DDVActions,
+    DDVButton,
+    DDVDate,
+    DDVString,
+    DDVListView,
+    UUListAPIView,
+)
+
+from .models import ExampleData
+from .serializers import ExampleDataSerializer
+
+#
+# DDV UU-List example
+# This contains all Python code needed for the DDV UU-List,
+# except the serializer 'ExampleDataSerializer' imported above
+#
+
+
+class ExampleDataFilterSet(filters.FilterSet):
+    """This is a Django-filters filterset.
+
+    This class is used to create GET-parameter based filter fields, which
+    will be read by the API view to enable advanced filtering. You don't need
+    to do anything special related to filters aside from this class.
+
+    These filters will be transformed to QS filters under the hood.
+    If a filter was not set in the request, the filter will be no-op
+
+    See Django-filters docs for detailed docs.
+    """
+
+    # This is a filter acting on the created field of ExampleData
+    # The resulting QS filter would be 'created__lte={value}'
+    created_before = filters.DateFilter(
+        label="Created before",
+        field_name="created",
+        lookup_expr="lte",
+    )
+    # This is a filter acting on the created field of ExampleData
+    # The resulting QS filter would be 'created__gte={value}'
+    created_after = filters.DateFilter(
+        label="Created after",
+        field_name="created",
+        lookup_expr="gte",
+    )
+
+    # Will filter the status filter on a set of N given choices
+    # The resulting QS filter would be `status__in=[...]`
+    status = filters.MultipleChoiceFilter(
+        label="Status",
+        field_name="status",
+        choices=ExampleData.StatusOptions.choices,
+    )
+
+    # Will filter the status filter on a given choice
+    # The resulting QS filter would be `project_type={value}`
+    project_type = filters.ChoiceFilter(
+        label="Type",
+        field_name="project_type",
+        choices=ExampleData.TypeOptions.choices,
+    )
+
+    class Meta:
+        model = ExampleData
+        fields = ["status", "project_type"]
+
+
+class ExampleDataListView(UUListAPIView):
+    """
+    See the base class(es) for information on what these fields are
+    """
+
+    queryset = ExampleData.objects.all()
+    serializer_class = ExampleDataSerializer
+    filter_backends = [OrderingFilter, SearchFilter, filters.DjangoFilterBackend]
+    filterset_class = ExampleDataFilterSet
+    search_fields = ["project_name", "project_owner", "reference_number"]
+    ordering_fields = [
+        "id",
+        "reference_number",
+        "project_name",
+        "project_owner",
+        "created",
+    ]
+    ordering = ["project_name"]
+
+
+class ListView(DDVListView):
+    template_name = "dev_vue/list.html"
+    model = ExampleData
+    data_uri = reverse_lazy("dev_vue:data")
+    data_view = ExampleDataListView
+    initial_filter_values = {"project_type": ExampleData.TypeOptions.EXTERNAL}
+    columns = [
+        DDVString(
+            field="project_name",
+            label="Project",
+        ),
+        DDVString(
+            field="reference_number",
+            label="Ref.Num",
+            css_classes="fw-bold text-danger",
+        ),
+        DDVString(
+            field="project_owner",
+            label="Project Owner",
+        ),
+        DDVString(
+            field="get_status_display",
+            label="Status",
+        ),
+        DDVDate(
+            field="created",
+            label="Created on",
+        ),
+        DDVButton(
+            field="edit_button",
+            label="",
+            size="small",
+        ),
+        DDVActions(
+            field="actions",
+            label="",
+        ),
+    ]
+
+
+class ExampleCustomListView(ListView):
+    template_name = "dev_vue/example-custom-list.html"
diff --git a/package.json b/package.json
index 1ded856e..ea4095c5 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
   "author": "Hum IT Portal Development & ILS Labs",
   "license": "Apache-2.0",
   "dependencies": {
-    "uu-bootstrap": "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.4.0"
+    "uu-bootstrap": "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.5.0-alpha.0"
   },
   "scripts": {
     "build-css": "yarn _build-css src/cdh/core/static/cdh.core/css/bootstrap.css --style=compressed",
diff --git a/pyproject.toml b/pyproject.toml
index 36d26635..85b96348 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -65,6 +65,7 @@ rest = [
     "requests",
     "PyJWT",
     "djangorestframework",
+    "django-filter",
     "Django >=3.0,<5.0",
 ]
 vue = [
@@ -83,5 +84,6 @@ docs = [
 dev = [
     "pip-tools",
     "bpython",
+    "faker",
     "cdh-django-core[all,docs]",
 ]
diff --git a/src/cdh/core/file_loading.py b/src/cdh/core/file_loading.py
index 2b43f2e0..97467ec7 100644
--- a/src/cdh/core/file_loading.py
+++ b/src/cdh/core/file_loading.py
@@ -1,9 +1,14 @@
+from deprecated.sphinx import deprecated
 from django.templatetags.static import static
 
 js = set()
 css = set()
 
 
+@deprecated(
+    version='3.1',
+    reason="Fundamentally flawed. Please explore your own alternatives"
+)
 def add_js_file(file, reverse=True):
     """Registers a JS File to be loaded. Mostly intended for apps in the
     shared core to dynamically insert their files into the base template"""
@@ -13,6 +18,10 @@ def add_js_file(file, reverse=True):
     js.add(file)
 
 
+@deprecated(
+    version='3.1',
+    reason="Fundamentally flawed. Please explore your own alternatives"
+)
 def add_css_file(file, reverse=True):
     """Registers a CSS File to be loaded on this page. Mostly intended for apps
     in the shared core to dynamically insert their files into the base
diff --git a/src/cdh/core/forms.py b/src/cdh/core/forms.py
index c581ef71..0f5b7edd 100644
--- a/src/cdh/core/forms.py
+++ b/src/cdh/core/forms.py
@@ -493,6 +493,12 @@ class TinyMCEWidget(forms.Widget):
     """A TinyMCE widget for HTML editting"""
 
     template_name = "cdh.core/forms/widgets/tinymce.html"
+    class Media:
+        js = [
+            'cdh.core/js/tinymce/tinymce.min.js',
+            'cdh.core/js/tinymce/tinymce-jquery.min.js',
+            'cdh.core/js/tinymce/shim.js'
+        ]
 
     def __init__(
         self,
@@ -528,10 +534,6 @@ def __init__(
         self.plugins = plugins
         self.toolbar = toolbar
 
-        add_js_file("cdh.core/js/tinymce/tinymce.min.js")
-        add_js_file("cdh.core/js/tinymce/tinymce-jquery.min.js")
-        add_js_file("cdh.core/js/tinymce/shim.js")
-
     def get_context(self, *args, **kwargs):
         context = super().get_context(*args, **kwargs)
 
diff --git a/src/cdh/core/mail/widgets.py b/src/cdh/core/mail/widgets.py
index 6f78be2e..f44640f8 100644
--- a/src/cdh/core/mail/widgets.py
+++ b/src/cdh/core/mail/widgets.py
@@ -11,6 +11,8 @@ class EmailContentEditWidget(TinyMCEWidget):
 
     Will add a 'preview email' button to the editor.
     """
+    class Media:
+        js = ['cdh.core/js/tinymce-preview-mail-plugin.js']
 
     def __init__(
             self,
@@ -40,8 +42,6 @@ def __init__(
         self.toolbar += " | preview-mail"
         self.plugins.append('preview-mail')
 
-        add_js_file('cdh.core/js/tinymce-preview-mail-plugin.js')
-
     def get_context(self, *args, **kwargs):
         context = super().get_context(*args, **kwargs)
 
diff --git a/src/cdh/core/middleware/local_thread_middleware.py b/src/cdh/core/middleware/local_thread_middleware.py
index e23bf7f4..9bcad207 100644
--- a/src/cdh/core/middleware/local_thread_middleware.py
+++ b/src/cdh/core/middleware/local_thread_middleware.py
@@ -36,20 +36,35 @@ def __init__(self, get_response):
         self.get_response = get_response
 
     def __call__(self, request):
-        # request.user closure; asserts laziness;
-        # memorization is implemented in
-        # request.user (non-data descriptor)
-        _do_set_current_user(lambda self: getattr(request, 'user', None))
+        self.process_request(request)
+        try:
+            response = self.get_response(request)
+        except Exception as e:
+            self.process_exception(request, e)
+            raise
+        return self.process_response(request, response)
+
+    def process_request(self, request):
         _do_set_current_request(lambda self: request)
-        response = self.get_response(request)
+
+    def process_response(self, request, response):
+        # Clear the local cache, just to be sure it won't leak
+        _do_set_current_request(lambda self: None)
         return response
 
+    def process_exception(self, request, exception):
+        # Clear the local cache, just to be sure it won't leak
+        _do_set_current_request(lambda self: None)
+
 
 def get_current_session():
     current_request = getattr(_thread_locals, 'request', None)
     if callable(current_request):
         return current_request().session
 
+    if current_request is None:
+        return None
+
     return current_request.session
 
 
@@ -62,10 +77,14 @@ def get_current_request():
 
 
 def get_current_user():
-    current_user = getattr(_thread_locals, 'user', None)
-    if callable(current_user):
-        return current_user()
-    return current_user
+    current_request = getattr(_thread_locals, 'request', None)
+    if callable(current_request):
+        return current_request().user
+
+    if current_request is None:
+        return None
+
+    return current_request.user
 
 
 def get_current_authenticated_user():
diff --git a/src/cdh/core/static/cdh.core/css/bootstrap.css b/src/cdh/core/static/cdh.core/css/bootstrap.css
index e3068885..742d5f2c 100644
--- a/src/cdh/core/static/cdh.core/css/bootstrap.css
+++ b/src/cdh/core/static/cdh.core/css/bootstrap.css
@@ -2,11 +2,11 @@
  * Bootstrap  v5.3.1 (https://getbootstrap.com/)
  * Copyright 2011-2023 The Bootstrap Authors
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */@font-face{font-family:"Open Sans";font-style:normal;font-weight:300;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:500;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:800;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:300;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:400;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:500;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:600;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:700;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:800;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.svg#OpenSans") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:300;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:300;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:400;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:400;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:700;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:700;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:900;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:900;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.svg#Merriweather") format("svg")}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#000 !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#000 !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-error{color:#fff !important;background-color:RGBA(var(--bs-error-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-blue{color:#fff !important;background-color:RGBA(var(--bs-blue-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark-blue{color:#fff !important;background-color:RGBA(var(--bs-dark-blue-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-indigo{color:#fff !important;background-color:RGBA(var(--bs-indigo-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-purple{color:#fff !important;background-color:RGBA(var(--bs-purple-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-pink{color:#fff !important;background-color:RGBA(var(--bs-pink-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-red{color:#fff !important;background-color:RGBA(var(--bs-red-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-bordeaux-red{color:#fff !important;background-color:RGBA(var(--bs-bordeaux-red-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-brown{color:#fff !important;background-color:RGBA(var(--bs-brown-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-cream{color:#000 !important;background-color:RGBA(var(--bs-cream-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-orange{color:#000 !important;background-color:RGBA(var(--bs-orange-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-yellow{color:#000 !important;background-color:RGBA(var(--bs-yellow-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-green{color:#000 !important;background-color:RGBA(var(--bs-green-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-teal{color:#000 !important;background-color:RGBA(var(--bs-teal-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-cyan{color:#000 !important;background-color:RGBA(var(--bs-cyan-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-white{color:#000 !important;background-color:RGBA(var(--bs-white-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-gray{color:#fff !important;background-color:RGBA(var(--bs-gray-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-gray-dark{color:#fff !important;background-color:RGBA(var(--bs-gray-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(255, 215, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 215, 51, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(0, 0, 0, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(0, 0, 0, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(87, 198, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(87, 198, 100, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(245, 171, 126, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(245, 171, 126, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(154, 8, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154, 8, 42, var(--bs-link-underline-opacity, 1)) !important}.link-error{color:RGBA(var(--bs-error-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-error-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-error:hover,.link-error:focus{color:RGBA(154, 8, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154, 8, 42, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(242, 242, 242, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(242, 242, 242, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(30, 30, 30, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(30, 30, 30, var(--bs-link-underline-opacity, 1)) !important}.link-blue{color:RGBA(var(--bs-blue-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-blue-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-blue:hover,.link-blue:focus{color:RGBA(66, 108, 158, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(66, 108, 158, var(--bs-link-underline-opacity, 1)) !important}.link-dark-blue{color:RGBA(var(--bs-dark-blue-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-blue-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark-blue:hover,.link-dark-blue:focus{color:RGBA(0, 14, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(0, 14, 51, var(--bs-link-underline-opacity, 1)) !important}.link-indigo{color:RGBA(var(--bs-indigo-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-indigo-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-indigo:hover,.link-indigo:focus{color:RGBA(82, 13, 194, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(82, 13, 194, var(--bs-link-underline-opacity, 1)) !important}.link-purple{color:RGBA(var(--bs-purple-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-purple-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-purple:hover,.link-purple:focus{color:RGBA(73, 26, 104, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(73, 26, 104, var(--bs-link-underline-opacity, 1)) !important}.link-pink{color:RGBA(var(--bs-pink-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-pink-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-pink:hover,.link-pink:focus{color:RGBA(171, 41, 106, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(171, 41, 106, var(--bs-link-underline-opacity, 1)) !important}.link-red{color:RGBA(var(--bs-red-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-red-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-red:hover,.link-red:focus{color:RGBA(154, 8, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154, 8, 42, var(--bs-link-underline-opacity, 1)) !important}.link-bordeaux-red{color:RGBA(var(--bs-bordeaux-red-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-bordeaux-red-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-bordeaux-red:hover,.link-bordeaux-red:focus{color:RGBA(136, 17, 68, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(136, 17, 68, var(--bs-link-underline-opacity, 1)) !important}.link-brown{color:RGBA(var(--bs-brown-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-brown-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-brown:hover,.link-brown:focus{color:RGBA(88, 47, 28, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(88, 47, 28, var(--bs-link-underline-opacity, 1)) !important}.link-cream{color:RGBA(var(--bs-cream-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-cream-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-cream:hover,.link-cream:focus{color:RGBA(255, 235, 188, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 235, 188, var(--bs-link-underline-opacity, 1)) !important}.link-orange{color:RGBA(var(--bs-orange-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-orange-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-orange:hover,.link-orange:focus{color:RGBA(245, 171, 126, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(245, 171, 126, var(--bs-link-underline-opacity, 1)) !important}.link-yellow{color:RGBA(var(--bs-yellow-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-yellow-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-yellow:hover,.link-yellow:focus{color:RGBA(255, 215, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 215, 51, var(--bs-link-underline-opacity, 1)) !important}.link-green{color:RGBA(var(--bs-green-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-green-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-green:hover,.link-green:focus{color:RGBA(87, 198, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(87, 198, 100, var(--bs-link-underline-opacity, 1)) !important}.link-teal{color:RGBA(var(--bs-teal-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-teal-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-teal:hover,.link-teal:focus{color:RGBA(80, 185, 169, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(80, 185, 169, var(--bs-link-underline-opacity, 1)) !important}.link-cyan{color:RGBA(var(--bs-cyan-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-cyan-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-cyan:hover,.link-cyan:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-white{color:RGBA(var(--bs-white-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-white-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-white:hover,.link-white:focus{color:RGBA(255, 255, 255, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 255, 255, var(--bs-link-underline-opacity, 1)) !important}.link-gray{color:RGBA(var(--bs-gray-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-gray-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-gray:hover,.link-gray:focus{color:RGBA(86, 86, 86, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 86, 86, var(--bs-link-underline-opacity, 1)) !important}.link-gray-dark{color:RGBA(var(--bs-gray-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-gray-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-gray-dark:hover,.link-gray-dark:focus{color:RGBA(42, 42, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(42, 42, 42, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-error{--bs-focus-ring-color: rgba(var(--bs-error-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.focus-ring-blue{--bs-focus-ring-color: rgba(var(--bs-blue-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark-blue{--bs-focus-ring-color: rgba(var(--bs-dark-blue-rgb), var(--bs-focus-ring-opacity))}.focus-ring-indigo{--bs-focus-ring-color: rgba(var(--bs-indigo-rgb), var(--bs-focus-ring-opacity))}.focus-ring-purple{--bs-focus-ring-color: rgba(var(--bs-purple-rgb), var(--bs-focus-ring-opacity))}.focus-ring-pink{--bs-focus-ring-color: rgba(var(--bs-pink-rgb), var(--bs-focus-ring-opacity))}.focus-ring-red{--bs-focus-ring-color: rgba(var(--bs-red-rgb), var(--bs-focus-ring-opacity))}.focus-ring-bordeaux-red{--bs-focus-ring-color: rgba(var(--bs-bordeaux-red-rgb), var(--bs-focus-ring-opacity))}.focus-ring-brown{--bs-focus-ring-color: rgba(var(--bs-brown-rgb), var(--bs-focus-ring-opacity))}.focus-ring-cream{--bs-focus-ring-color: rgba(var(--bs-cream-rgb), var(--bs-focus-ring-opacity))}.focus-ring-orange{--bs-focus-ring-color: rgba(var(--bs-orange-rgb), var(--bs-focus-ring-opacity))}.focus-ring-yellow{--bs-focus-ring-color: rgba(var(--bs-yellow-rgb), var(--bs-focus-ring-opacity))}.focus-ring-green{--bs-focus-ring-color: rgba(var(--bs-green-rgb), var(--bs-focus-ring-opacity))}.focus-ring-teal{--bs-focus-ring-color: rgba(var(--bs-teal-rgb), var(--bs-focus-ring-opacity))}.focus-ring-cyan{--bs-focus-ring-color: rgba(var(--bs-cyan-rgb), var(--bs-focus-ring-opacity))}.focus-ring-white{--bs-focus-ring-color: rgba(var(--bs-white-rgb), var(--bs-focus-ring-opacity))}.focus-ring-gray{--bs-focus-ring-color: rgba(var(--bs-gray-rgb), var(--bs-focus-ring-opacity))}.focus-ring-gray-dark{--bs-focus-ring-color: rgba(var(--bs-gray-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-error{--bs-border-opacity: 1;border-color:rgba(var(--bs-error-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-blue{--bs-border-opacity: 1;border-color:rgba(var(--bs-blue-rgb), var(--bs-border-opacity)) !important}.border-dark-blue{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-blue-rgb), var(--bs-border-opacity)) !important}.border-indigo{--bs-border-opacity: 1;border-color:rgba(var(--bs-indigo-rgb), var(--bs-border-opacity)) !important}.border-purple{--bs-border-opacity: 1;border-color:rgba(var(--bs-purple-rgb), var(--bs-border-opacity)) !important}.border-pink{--bs-border-opacity: 1;border-color:rgba(var(--bs-pink-rgb), var(--bs-border-opacity)) !important}.border-red{--bs-border-opacity: 1;border-color:rgba(var(--bs-red-rgb), var(--bs-border-opacity)) !important}.border-bordeaux-red{--bs-border-opacity: 1;border-color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-border-opacity)) !important}.border-brown{--bs-border-opacity: 1;border-color:rgba(var(--bs-brown-rgb), var(--bs-border-opacity)) !important}.border-cream{--bs-border-opacity: 1;border-color:rgba(var(--bs-cream-rgb), var(--bs-border-opacity)) !important}.border-orange{--bs-border-opacity: 1;border-color:rgba(var(--bs-orange-rgb), var(--bs-border-opacity)) !important}.border-yellow{--bs-border-opacity: 1;border-color:rgba(var(--bs-yellow-rgb), var(--bs-border-opacity)) !important}.border-green{--bs-border-opacity: 1;border-color:rgba(var(--bs-green-rgb), var(--bs-border-opacity)) !important}.border-teal{--bs-border-opacity: 1;border-color:rgba(var(--bs-teal-rgb), var(--bs-border-opacity)) !important}.border-cyan{--bs-border-opacity: 1;border-color:rgba(var(--bs-cyan-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-gray{--bs-border-opacity: 1;border-color:rgba(var(--bs-gray-rgb), var(--bs-border-opacity)) !important}.border-gray-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-gray-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.295rem + 0.54vw) !important}.fs-3{font-size:calc(1.265rem + 0.18vw) !important}.fs-4{font-size:1.2rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.4 !important}.lh-base{line-height:1.6 !important}.lh-lg{line-height:2.1 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-error{--bs-text-opacity: 1;color:rgba(var(--bs-error-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-blue{--bs-text-opacity: 1;color:rgba(var(--bs-blue-rgb), var(--bs-text-opacity)) !important}.text-dark-blue{--bs-text-opacity: 1;color:rgba(var(--bs-dark-blue-rgb), var(--bs-text-opacity)) !important}.text-indigo{--bs-text-opacity: 1;color:rgba(var(--bs-indigo-rgb), var(--bs-text-opacity)) !important}.text-purple{--bs-text-opacity: 1;color:rgba(var(--bs-purple-rgb), var(--bs-text-opacity)) !important}.text-pink{--bs-text-opacity: 1;color:rgba(var(--bs-pink-rgb), var(--bs-text-opacity)) !important}.text-red{--bs-text-opacity: 1;color:rgba(var(--bs-red-rgb), var(--bs-text-opacity)) !important}.text-bordeaux-red{--bs-text-opacity: 1;color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-text-opacity)) !important}.text-brown{--bs-text-opacity: 1;color:rgba(var(--bs-brown-rgb), var(--bs-text-opacity)) !important}.text-cream{--bs-text-opacity: 1;color:rgba(var(--bs-cream-rgb), var(--bs-text-opacity)) !important}.text-orange{--bs-text-opacity: 1;color:rgba(var(--bs-orange-rgb), var(--bs-text-opacity)) !important}.text-yellow{--bs-text-opacity: 1;color:rgba(var(--bs-yellow-rgb), var(--bs-text-opacity)) !important}.text-green{--bs-text-opacity: 1;color:rgba(var(--bs-green-rgb), var(--bs-text-opacity)) !important}.text-teal{--bs-text-opacity: 1;color:rgba(var(--bs-teal-rgb), var(--bs-text-opacity)) !important}.text-cyan{--bs-text-opacity: 1;color:rgba(var(--bs-cyan-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-gray{--bs-text-opacity: 1;color:rgba(var(--bs-gray-rgb), var(--bs-text-opacity)) !important}.text-gray-dark{--bs-text-opacity: 1;color:rgba(var(--bs-gray-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-error{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-error-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-blue{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-blue-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark-blue{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-blue-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-indigo{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-indigo-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-purple{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-purple-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-pink{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-pink-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-red{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-red-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-bordeaux-red{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-brown{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-brown-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-cream{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-cream-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-orange{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-orange-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-yellow{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-yellow-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-green{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-green-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-teal{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-teal-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-cyan{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-cyan-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-white{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-white-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-gray{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-gray-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-gray-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-gray-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-error{--bs-bg-opacity: 1;background-color:rgba(var(--bs-error-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-blue{--bs-bg-opacity: 1;background-color:rgba(var(--bs-blue-rgb), var(--bs-bg-opacity)) !important}.bg-dark-blue{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-blue-rgb), var(--bs-bg-opacity)) !important}.bg-indigo{--bs-bg-opacity: 1;background-color:rgba(var(--bs-indigo-rgb), var(--bs-bg-opacity)) !important}.bg-purple{--bs-bg-opacity: 1;background-color:rgba(var(--bs-purple-rgb), var(--bs-bg-opacity)) !important}.bg-pink{--bs-bg-opacity: 1;background-color:rgba(var(--bs-pink-rgb), var(--bs-bg-opacity)) !important}.bg-red{--bs-bg-opacity: 1;background-color:rgba(var(--bs-red-rgb), var(--bs-bg-opacity)) !important}.bg-bordeaux-red{--bs-bg-opacity: 1;background-color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-bg-opacity)) !important}.bg-brown{--bs-bg-opacity: 1;background-color:rgba(var(--bs-brown-rgb), var(--bs-bg-opacity)) !important}.bg-cream{--bs-bg-opacity: 1;background-color:rgba(var(--bs-cream-rgb), var(--bs-bg-opacity)) !important}.bg-orange{--bs-bg-opacity: 1;background-color:rgba(var(--bs-orange-rgb), var(--bs-bg-opacity)) !important}.bg-yellow{--bs-bg-opacity: 1;background-color:rgba(var(--bs-yellow-rgb), var(--bs-bg-opacity)) !important}.bg-green{--bs-bg-opacity: 1;background-color:rgba(var(--bs-green-rgb), var(--bs-bg-opacity)) !important}.bg-teal{--bs-bg-opacity: 1;background-color:rgba(var(--bs-teal-rgb), var(--bs-bg-opacity)) !important}.bg-cyan{--bs-bg-opacity: 1;background-color:rgba(var(--bs-cyan-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-gray{--bs-bg-opacity: 1;background-color:rgba(var(--bs-gray-rgb), var(--bs-bg-opacity)) !important}.bg-gray-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-gray-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}.cursor-auto{cursor:auto !important}.cursor-pointer{cursor:pointer !important}.cursor-grab{cursor:grab !important}.cursor-copy{cursor:copy !important}.cursor-default{cursor:default !important}.cursor-help{cursor:help !important}.cursor-text{cursor:text !important}.cursor-none{cursor:none !important}.cursor-not-allowed{cursor:not-allowed !important}.cursor-progress{cursor:progress !important}.cursor-wait{cursor:wait !important}.cursor-zoom-in{cursor:zoom-in !important}.cursor-zoom-out{cursor:zoom-out !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}.cursor-sm-auto{cursor:auto !important}.cursor-sm-pointer{cursor:pointer !important}.cursor-sm-grab{cursor:grab !important}.cursor-sm-copy{cursor:copy !important}.cursor-sm-default{cursor:default !important}.cursor-sm-help{cursor:help !important}.cursor-sm-text{cursor:text !important}.cursor-sm-none{cursor:none !important}.cursor-sm-not-allowed{cursor:not-allowed !important}.cursor-sm-progress{cursor:progress !important}.cursor-sm-wait{cursor:wait !important}.cursor-sm-zoom-in{cursor:zoom-in !important}.cursor-sm-zoom-out{cursor:zoom-out !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}.cursor-md-auto{cursor:auto !important}.cursor-md-pointer{cursor:pointer !important}.cursor-md-grab{cursor:grab !important}.cursor-md-copy{cursor:copy !important}.cursor-md-default{cursor:default !important}.cursor-md-help{cursor:help !important}.cursor-md-text{cursor:text !important}.cursor-md-none{cursor:none !important}.cursor-md-not-allowed{cursor:not-allowed !important}.cursor-md-progress{cursor:progress !important}.cursor-md-wait{cursor:wait !important}.cursor-md-zoom-in{cursor:zoom-in !important}.cursor-md-zoom-out{cursor:zoom-out !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}.cursor-lg-auto{cursor:auto !important}.cursor-lg-pointer{cursor:pointer !important}.cursor-lg-grab{cursor:grab !important}.cursor-lg-copy{cursor:copy !important}.cursor-lg-default{cursor:default !important}.cursor-lg-help{cursor:help !important}.cursor-lg-text{cursor:text !important}.cursor-lg-none{cursor:none !important}.cursor-lg-not-allowed{cursor:not-allowed !important}.cursor-lg-progress{cursor:progress !important}.cursor-lg-wait{cursor:wait !important}.cursor-lg-zoom-in{cursor:zoom-in !important}.cursor-lg-zoom-out{cursor:zoom-out !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}.cursor-xl-auto{cursor:auto !important}.cursor-xl-pointer{cursor:pointer !important}.cursor-xl-grab{cursor:grab !important}.cursor-xl-copy{cursor:copy !important}.cursor-xl-default{cursor:default !important}.cursor-xl-help{cursor:help !important}.cursor-xl-text{cursor:text !important}.cursor-xl-none{cursor:none !important}.cursor-xl-not-allowed{cursor:not-allowed !important}.cursor-xl-progress{cursor:progress !important}.cursor-xl-wait{cursor:wait !important}.cursor-xl-zoom-in{cursor:zoom-in !important}.cursor-xl-zoom-out{cursor:zoom-out !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}.cursor-xxl-auto{cursor:auto !important}.cursor-xxl-pointer{cursor:pointer !important}.cursor-xxl-grab{cursor:grab !important}.cursor-xxl-copy{cursor:copy !important}.cursor-xxl-default{cursor:default !important}.cursor-xxl-help{cursor:help !important}.cursor-xxl-text{cursor:text !important}.cursor-xxl-none{cursor:none !important}.cursor-xxl-not-allowed{cursor:not-allowed !important}.cursor-xxl-progress{cursor:progress !important}.cursor-xxl-wait{cursor:wait !important}.cursor-xxl-zoom-in{cursor:zoom-in !important}.cursor-xxl-zoom-out{cursor:zoom-out !important}}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.7rem !important}.fs-3{font-size:1.4rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}:root,[data-bs-theme=light]{--bs-blue: #5287c6;--bs-dark-blue: #001240;--bs-indigo: #6610f2;--bs-purple: #5b2182;--bs-pink: #d63384;--bs-red: #c00a35;--bs-bordeaux-red: #aa1555;--bs-brown: #6e3b23;--bs-cream: #ffe6ab;--bs-orange: #f3965e;--bs-yellow: #ffcd00;--bs-green: #2db83d;--bs-teal: #24a793;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c6c6c;--bs-gray-dark: #343434;--bs-gray-100: #efefef;--bs-gray-200: #e9e9e9;--bs-gray-300: #dedede;--bs-gray-400: #cecece;--bs-gray-500: #adadad;--bs-gray-600: #6c6c6c;--bs-gray-700: #494949;--bs-gray-800: #343434;--bs-gray-900: #212121;--bs-primary: #ffcd00;--bs-secondary: #000;--bs-success: #2db83d;--bs-info: #0dcaf0;--bs-warning: #f3965e;--bs-danger: #c00a35;--bs-error: #c00a35;--bs-light: #efefef;--bs-dark: #262626;--bs-blue: #5287c6;--bs-dark-blue: #001240;--bs-indigo: #6610f2;--bs-purple: #5b2182;--bs-pink: #d63384;--bs-red: #c00a35;--bs-bordeaux-red: #aa1555;--bs-brown: #6e3b23;--bs-cream: #ffe6ab;--bs-orange: #f3965e;--bs-yellow: #ffcd00;--bs-green: #2db83d;--bs-teal: #24a793;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c6c6c;--bs-gray-dark: #343434;--bs-primary-rgb: 255, 205, 0;--bs-secondary-rgb: 0, 0, 0;--bs-success-rgb: 45, 184, 61;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 243, 150, 94;--bs-danger-rgb: 192, 10, 53;--bs-error-rgb: 192, 10, 53;--bs-light-rgb: 239, 239, 239;--bs-dark-rgb: 38, 38, 38;--bs-blue-rgb: 82, 135, 198;--bs-dark-blue-rgb: 0, 18, 64;--bs-indigo-rgb: 102, 16, 242;--bs-purple-rgb: 91, 33, 130;--bs-pink-rgb: 214, 51, 132;--bs-red-rgb: 192, 10, 53;--bs-bordeaux-red-rgb: 170, 21, 85;--bs-brown-rgb: 110, 59, 35;--bs-cream-rgb: 255, 230, 171;--bs-orange-rgb: 243, 150, 94;--bs-yellow-rgb: 255, 205, 0;--bs-green-rgb: 45, 184, 61;--bs-teal-rgb: 36, 167, 147;--bs-cyan-rgb: 13, 202, 240;--bs-white-rgb: 255, 255, 255;--bs-gray-rgb: 108, 108, 108;--bs-gray-dark-rgb: 52, 52, 52;--bs-primary-text-emphasis: #665200;--bs-secondary-text-emphasis: black;--bs-success-text-emphasis: #124a18;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #613c26;--bs-danger-text-emphasis: #4d0415;--bs-light-text-emphasis: #494949;--bs-dark-text-emphasis: #494949;--bs-primary-bg-subtle: #fff5cc;--bs-secondary-bg-subtle: #cccccc;--bs-success-bg-subtle: #d5f1d8;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fdeadf;--bs-danger-bg-subtle: #f2ced7;--bs-light-bg-subtle: #f7f7f7;--bs-dark-bg-subtle: #cecece;--bs-primary-border-subtle: #ffeb99;--bs-secondary-border-subtle: #999999;--bs-success-border-subtle: #abe3b1;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #fad5bf;--bs-danger-border-subtle: #e69dae;--bs-light-border-subtle: #e9e9e9;--bs-dark-border-subtle: #adadad;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: "Open Sans", "Verdana", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.6;--bs-body-color: #212121;--bs-body-color-rgb: 33, 33, 33;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 33, 33, 0.75);--bs-secondary-color-rgb: 33, 33, 33;--bs-secondary-bg: #e9e9e9;--bs-secondary-bg-rgb: 233, 233, 233;--bs-tertiary-color: rgba(33, 33, 33, 0.5);--bs-tertiary-color-rgb: 33, 33, 33;--bs-tertiary-bg: #efefef;--bs-tertiary-bg-rgb: 239, 239, 239;--bs-heading-color: inherit;--bs-link-color: #000;--bs-link-color-rgb: 0, 0, 0;--bs-link-decoration: underline;--bs-link-hover-color: black;--bs-link-hover-color-rgb: 0, 0, 0;--bs-code-color: #000;--bs-highlight-bg: #fff5cc;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dedede;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0;--bs-border-radius-sm: 0;--bs-border-radius-lg: 0;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(255, 205, 0, 0.25);--bs-form-valid-color: #2db83d;--bs-form-valid-border-color: #2db83d;--bs-form-invalid-color: #c00a35;--bs-form-invalid-border-color: #c00a35}*,*::before,*::after{box-sizing:border-box}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.295rem + 0.54vw)}@media(min-width: 1200px){h2,.h2{font-size:1.7rem}}h3,.h3{font-size:calc(1.265rem + 0.18vw)}@media(min-width: 1200px){h3,.h3{font-size:1.4rem}}h4,.h4{font-size:1.2rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.85em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.85em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:0.85em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:0}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c6c6c}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 0;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 0;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: 0.25rem}.g-1,.gy-1{--bs-gutter-y: 0.25rem}.g-2,.gx-2{--bs-gutter-x: 0.5rem}.g-2,.gy-2{--bs-gutter-y: 0.5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media(min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: 0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: 0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: 0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: 0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media(min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: 0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y: 0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x: 0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y: 0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media(min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: 0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: 0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: 0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: 0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media(min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: 0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: 0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: 0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: 0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media(min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: 0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: 0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: 0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: 0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table,.dt,.datatables{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, 0.01);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, 0.05);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*,.dt>:not(caption)>*>*,.datatables>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody,.dt>tbody,.datatables>tbody{vertical-align:inherit}.table>thead,.dt>thead,.datatables>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #fff5cc;--bs-table-border-color: #e6ddb8;--bs-table-striped-bg: #fcf3ca;--bs-table-striped-color: #000;--bs-table-active-bg: #e6ddb8;--bs-table-active-color: #000;--bs-table-hover-bg: #f2e9c2;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #cccccc;--bs-table-border-color: #b8b8b8;--bs-table-striped-bg: #cacaca;--bs-table-striped-color: #000;--bs-table-active-bg: #b8b8b8;--bs-table-active-color: #000;--bs-table-hover-bg: #c2c2c2;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d5f1d8;--bs-table-border-color: #c0d9c2;--bs-table-striped-bg: #d3efd6;--bs-table-striped-color: #000;--bs-table-active-bg: #c0d9c2;--bs-table-active-color: #000;--bs-table-hover-bg: #cae5cd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #cdf2f9;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #c5e8ef;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fdeadf;--bs-table-border-color: #e4d3c9;--bs-table-striped-bg: #fae8dd;--bs-table-striped-color: #000;--bs-table-active-bg: #e4d3c9;--bs-table-active-color: #000;--bs-table-hover-bg: #f0ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f2ced7;--bs-table-border-color: #dab9c2;--bs-table-striped-bg: #f0ccd5;--bs-table-striped-color: #000;--bs-table-active-bg: #dab9c2;--bs-table-active-color: #000;--bs-table-hover-bg: #e6c4cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #efefef;--bs-table-border-color: #d7d7d7;--bs-table-striped-bg: #ededed;--bs-table-striped-color: #000;--bs-table-active-bg: #d7d7d7;--bs-table-active-color: #000;--bs-table-hover-bg: #e3e3e3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #262626;--bs-table-border-color: #3c3c3c;--bs-table-striped-bg: #282828;--bs-table-striped-color: #fff;--bs-table-active-bg: #3c3c3c;--bs-table-active-color: #fff;--bs-table-hover-bg: #313131;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-weight:500;color:#262626}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;font-weight:500;line-height:1.6;color:#262626}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);appearance:none;background-color:#fff;background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:#fff;border-color:#000;outline:0;box-shadow:none}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.6em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.6;color:var(--bs-body-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.6em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.6em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343434' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0 !important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#000;outline:0;box-shadow:none}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:0 !important}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:0 !important}.form-check{display:block;min-height:1.6rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: #fff;width:1em;height:1em;margin-top:.3em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#000;outline:0;box-shadow:0 0 0 .25rem rgba(255,205,0,.25)}.form-check-input:checked{background-color:#5287c6;border-color:#5287c6}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#ffcd00;border-color:#ffcd00;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23000'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1rem;padding:0;appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,none}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,none}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;background-color:#ffcd00;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#fff0b3}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#ffcd00;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#fff0b3}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:#fff;border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c6c6c}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.6em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232db83d' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.4em + 0.1875rem) center;background-size:calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.6em + 0.75rem);background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232db83d' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.6em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 0 rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.6em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c00a35'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c00a35' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.4em + 0.1875rem) center;background-size:calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.6em + 0.75rem);background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c00a35'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c00a35' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.6em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 0 rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 1rem;--bs-btn-padding-y: 0.5rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.6;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: 0.25rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0 rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: black;--bs-btn-hover-border-color: black;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: black;--bs-btn-active-border-color: black;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #000;--bs-btn-disabled-border-color: #000}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-error{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #bfbfbf;--bs-btn-focus-shadow-rgb: 203, 203, 203;--bs-btn-active-color: #000;--bs-btn-active-bg: #bfbfbf;--bs-btn-active-border-color: #b3b3b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #efefef;--bs-btn-disabled-border-color: #efefef}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #3c3c3c;--bs-btn-focus-shadow-rgb: 71, 71, 71;--bs-btn-active-color: #fff;--bs-btn-active-bg: #515151;--bs-btn-active-border-color: #3c3c3c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #262626;--bs-btn-disabled-border-color: #262626}.btn-blue{--bs-btn-color: #fff;--bs-btn-bg: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #426c9e;--bs-btn-focus-shadow-rgb: 108, 153, 207;--bs-btn-active-color: #fff;--bs-btn-active-bg: #426c9e;--bs-btn-active-border-color: #3e6595;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5287c6;--bs-btn-disabled-border-color: #5287c6}.btn-dark-blue{--bs-btn-color: #fff;--bs-btn-bg: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #000e33;--bs-btn-focus-shadow-rgb: 38, 54, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000e33;--bs-btn-active-border-color: #000e30;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #001240;--bs-btn-disabled-border-color: #001240}.btn-indigo{--bs-btn-color: #fff;--bs-btn-bg: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #520dc2;--bs-btn-focus-shadow-rgb: 125, 52, 244;--bs-btn-active-color: #fff;--bs-btn-active-bg: #520dc2;--bs-btn-active-border-color: #4d0cb6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6610f2;--bs-btn-disabled-border-color: #6610f2}.btn-purple{--bs-btn-color: #fff;--bs-btn-bg: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #491a68;--bs-btn-focus-shadow-rgb: 116, 66, 149;--bs-btn-active-color: #fff;--bs-btn-active-bg: #491a68;--bs-btn-active-border-color: #441962;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5b2182;--bs-btn-disabled-border-color: #5b2182}.btn-pink{--bs-btn-color: #fff;--bs-btn-bg: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #ab296a;--bs-btn-focus-shadow-rgb: 220, 82, 150;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ab296a;--bs-btn-active-border-color: #a12663;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d63384;--bs-btn-disabled-border-color: #d63384}.btn-red{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-bordeaux-red{--bs-btn-color: #fff;--bs-btn-bg: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #881144;--bs-btn-focus-shadow-rgb: 183, 56, 111;--bs-btn-active-color: #fff;--bs-btn-active-bg: #881144;--bs-btn-active-border-color: #801040;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #aa1555;--bs-btn-disabled-border-color: #aa1555}.btn-brown{--bs-btn-color: #fff;--bs-btn-bg: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #582f1c;--bs-btn-focus-shadow-rgb: 132, 88, 68;--bs-btn-active-color: #fff;--bs-btn-active-bg: #582f1c;--bs-btn-active-border-color: #532c1a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6e3b23;--bs-btn-disabled-border-color: #6e3b23}.btn-cream{--bs-btn-color: #000;--bs-btn-bg: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe9b3;--bs-btn-focus-shadow-rgb: 217, 196, 145;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffebbc;--bs-btn-active-border-color: #ffe9b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffe6ab;--bs-btn-disabled-border-color: #ffe6ab}.btn-orange{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-yellow{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-green{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-teal{--bs-btn-color: #000;--bs-btn-bg: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #3ab09e;--bs-btn-focus-shadow-rgb: 31, 142, 125;--bs-btn-active-color: #000;--bs-btn-active-bg: #50b9a9;--bs-btn-active-border-color: #3ab09e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #24a793;--bs-btn-disabled-border-color: #24a793}.btn-cyan{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-white{--bs-btn-color: #000;--bs-btn-bg: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: white;--bs-btn-hover-border-color: white;--bs-btn-focus-shadow-rgb: 217, 217, 217;--bs-btn-active-color: #000;--bs-btn-active-bg: white;--bs-btn-active-border-color: white;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #fff;--bs-btn-disabled-border-color: #fff}.btn-gray{--bs-btn-color: #fff;--bs-btn-bg: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #565656;--bs-btn-focus-shadow-rgb: 130, 130, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565656;--bs-btn-active-border-color: #515151;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c6c6c;--bs-btn-disabled-border-color: #6c6c6c}.btn-gray-dark{--bs-btn-color: #fff;--bs-btn-bg: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #2a2a2a;--bs-btn-focus-shadow-rgb: 82, 82, 82;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2a2a2a;--bs-btn-active-border-color: #272727;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343434;--bs-btn-disabled-border-color: #343434}.btn-outline-primary{--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #000;--bs-btn-hover-border-color: #000;--bs-btn-focus-shadow-rgb: 0, 0, 0;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000;--bs-btn-active-border-color: #000;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #000;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-outline-error{--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #efefef;--bs-btn-focus-shadow-rgb: 239, 239, 239;--bs-btn-active-color: #000;--bs-btn-active-bg: #efefef;--bs-btn-active-border-color: #efefef;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #efefef;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #efefef;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #262626;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: #262626;--bs-btn-active-border-color: #262626;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #262626;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #262626;--bs-gradient: none}.btn-outline-blue{--bs-btn-color: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #5287c6;--bs-btn-focus-shadow-rgb: 82, 135, 198;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5287c6;--bs-btn-active-border-color: #5287c6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5287c6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5287c6;--bs-gradient: none}.btn-outline-dark-blue{--bs-btn-color: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #001240;--bs-btn-focus-shadow-rgb: 0, 18, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #001240;--bs-btn-active-border-color: #001240;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #001240;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #001240;--bs-gradient: none}.btn-outline-indigo{--bs-btn-color: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #6610f2;--bs-btn-focus-shadow-rgb: 102, 16, 242;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6610f2;--bs-btn-active-border-color: #6610f2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6610f2;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6610f2;--bs-gradient: none}.btn-outline-purple{--bs-btn-color: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #5b2182;--bs-btn-focus-shadow-rgb: 91, 33, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5b2182;--bs-btn-active-border-color: #5b2182;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5b2182;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5b2182;--bs-gradient: none}.btn-outline-pink{--bs-btn-color: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #d63384;--bs-btn-focus-shadow-rgb: 214, 51, 132;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d63384;--bs-btn-active-border-color: #d63384;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #d63384;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #d63384;--bs-gradient: none}.btn-outline-red{--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-outline-bordeaux-red{--bs-btn-color: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #aa1555;--bs-btn-focus-shadow-rgb: 170, 21, 85;--bs-btn-active-color: #fff;--bs-btn-active-bg: #aa1555;--bs-btn-active-border-color: #aa1555;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #aa1555;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #aa1555;--bs-gradient: none}.btn-outline-brown{--bs-btn-color: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #6e3b23;--bs-btn-focus-shadow-rgb: 110, 59, 35;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6e3b23;--bs-btn-active-border-color: #6e3b23;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6e3b23;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6e3b23;--bs-gradient: none}.btn-outline-cream{--bs-btn-color: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe6ab;--bs-btn-focus-shadow-rgb: 255, 230, 171;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffe6ab;--bs-btn-active-border-color: #ffe6ab;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffe6ab;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffe6ab;--bs-gradient: none}.btn-outline-orange{--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-outline-yellow{--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-outline-green{--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-outline-teal{--bs-btn-color: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #24a793;--bs-btn-focus-shadow-rgb: 36, 167, 147;--bs-btn-active-color: #000;--bs-btn-active-bg: #24a793;--bs-btn-active-border-color: #24a793;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #24a793;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #24a793;--bs-gradient: none}.btn-outline-cyan{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-white{--bs-btn-color: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #fff;--bs-btn-hover-border-color: #fff;--bs-btn-focus-shadow-rgb: 255, 255, 255;--bs-btn-active-color: #000;--bs-btn-active-bg: #fff;--bs-btn-active-border-color: #fff;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #fff;--bs-gradient: none}.btn-outline-gray{--bs-btn-color: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #6c6c6c;--bs-btn-focus-shadow-rgb: 108, 108, 108;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c6c6c;--bs-btn-active-border-color: #6c6c6c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6c6c6c;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c6c6c;--bs-gradient: none}.btn-outline-gray-dark{--bs-btn-color: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #343434;--bs-btn-focus-shadow-rgb: 52, 52, 52;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343434;--bs-btn-active-border-color: #343434;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #343434;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343434;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c6c6c;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 38, 38;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: 0.25rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: 0.25rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #ffcd00;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c6c6c;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dedede;--bs-dropdown-bg: #343434;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dedede;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #ffcd00;--bs-dropdown-link-disabled-color: #adadad;--bs-dropdown-header-color: #adadad}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(255,205,0,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: #cecece;--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) #cecece;--bs-nav-tabs-link-active-color: #000;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #cecece #cecece #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0);border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #000;--bs-nav-pills-link-active-bg: #ffcd00}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: 0.5rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25rem;--bs-navbar-toggler-padding-x: 0.75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 33, 33, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius: 0.25rem;--bs-navbar-toggler-focus-width: 0;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, 0.55);--bs-navbar-hover-color: rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 0;--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - 0);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #000;--bs-accordion-btn-bg: #ffcd00;--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212121'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23665200'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #000;--bs-accordion-btn-focus-box-shadow: none;--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #000;--bs-accordion-active-bg: #ffcd00}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: #000;--bs-pagination-bg: #dedede;--bs-pagination-border-width: 0;--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: 0.25rem;--bs-pagination-hover-color: #000;--bs-pagination-hover-bg: #ffcd00;--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: #000;--bs-pagination-focus-bg: #ffcd00;--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(255, 205, 0, 0.25);--bs-pagination-active-color: #000;--bs-pagination-active-bg: #ffcd00;--bs-pagination-active-border-color: #ffcd00;--bs-pagination-disabled-color: #adadad;--bs-pagination-disabled-bg: #efefef;--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(0 * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 0.5rem;--bs-alert-margin-bottom: 0.5rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 0 solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:.625rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-error{--bs-alert-color: var(--bs-error-text-emphasis);--bs-alert-bg: var(--bs-error-bg-subtle);--bs-alert-border-color: var(--bs-error-border-subtle);--bs-alert-link-color: var(--bs-error-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.alert-blue{--bs-alert-color: var(--bs-blue-text-emphasis);--bs-alert-bg: var(--bs-blue-bg-subtle);--bs-alert-border-color: var(--bs-blue-border-subtle);--bs-alert-link-color: var(--bs-blue-text-emphasis)}.alert-dark-blue{--bs-alert-color: var(--bs-dark-blue-text-emphasis);--bs-alert-bg: var(--bs-dark-blue-bg-subtle);--bs-alert-border-color: var(--bs-dark-blue-border-subtle);--bs-alert-link-color: var(--bs-dark-blue-text-emphasis)}.alert-indigo{--bs-alert-color: var(--bs-indigo-text-emphasis);--bs-alert-bg: var(--bs-indigo-bg-subtle);--bs-alert-border-color: var(--bs-indigo-border-subtle);--bs-alert-link-color: var(--bs-indigo-text-emphasis)}.alert-purple{--bs-alert-color: var(--bs-purple-text-emphasis);--bs-alert-bg: var(--bs-purple-bg-subtle);--bs-alert-border-color: var(--bs-purple-border-subtle);--bs-alert-link-color: var(--bs-purple-text-emphasis)}.alert-pink{--bs-alert-color: var(--bs-pink-text-emphasis);--bs-alert-bg: var(--bs-pink-bg-subtle);--bs-alert-border-color: var(--bs-pink-border-subtle);--bs-alert-link-color: var(--bs-pink-text-emphasis)}.alert-red{--bs-alert-color: var(--bs-red-text-emphasis);--bs-alert-bg: var(--bs-red-bg-subtle);--bs-alert-border-color: var(--bs-red-border-subtle);--bs-alert-link-color: var(--bs-red-text-emphasis)}.alert-bordeaux-red{--bs-alert-color: var(--bs-bordeaux-red-text-emphasis);--bs-alert-bg: var(--bs-bordeaux-red-bg-subtle);--bs-alert-border-color: var(--bs-bordeaux-red-border-subtle);--bs-alert-link-color: var(--bs-bordeaux-red-text-emphasis)}.alert-brown{--bs-alert-color: var(--bs-brown-text-emphasis);--bs-alert-bg: var(--bs-brown-bg-subtle);--bs-alert-border-color: var(--bs-brown-border-subtle);--bs-alert-link-color: var(--bs-brown-text-emphasis)}.alert-cream{--bs-alert-color: var(--bs-cream-text-emphasis);--bs-alert-bg: var(--bs-cream-bg-subtle);--bs-alert-border-color: var(--bs-cream-border-subtle);--bs-alert-link-color: var(--bs-cream-text-emphasis)}.alert-orange{--bs-alert-color: var(--bs-orange-text-emphasis);--bs-alert-bg: var(--bs-orange-bg-subtle);--bs-alert-border-color: var(--bs-orange-border-subtle);--bs-alert-link-color: var(--bs-orange-text-emphasis)}.alert-yellow{--bs-alert-color: var(--bs-yellow-text-emphasis);--bs-alert-bg: var(--bs-yellow-bg-subtle);--bs-alert-border-color: var(--bs-yellow-border-subtle);--bs-alert-link-color: var(--bs-yellow-text-emphasis)}.alert-green{--bs-alert-color: var(--bs-green-text-emphasis);--bs-alert-bg: var(--bs-green-bg-subtle);--bs-alert-border-color: var(--bs-green-border-subtle);--bs-alert-link-color: var(--bs-green-text-emphasis)}.alert-teal{--bs-alert-color: var(--bs-teal-text-emphasis);--bs-alert-bg: var(--bs-teal-bg-subtle);--bs-alert-border-color: var(--bs-teal-border-subtle);--bs-alert-link-color: var(--bs-teal-text-emphasis)}.alert-cyan{--bs-alert-color: var(--bs-cyan-text-emphasis);--bs-alert-bg: var(--bs-cyan-bg-subtle);--bs-alert-border-color: var(--bs-cyan-border-subtle);--bs-alert-link-color: var(--bs-cyan-text-emphasis)}.alert-white{--bs-alert-color: var(--bs-white-text-emphasis);--bs-alert-bg: var(--bs-white-bg-subtle);--bs-alert-border-color: var(--bs-white-border-subtle);--bs-alert-link-color: var(--bs-white-text-emphasis)}.alert-gray{--bs-alert-color: var(--bs-gray-text-emphasis);--bs-alert-bg: var(--bs-gray-bg-subtle);--bs-alert-border-color: var(--bs-gray-border-subtle);--bs-alert-link-color: var(--bs-gray-text-emphasis)}.alert-gray-dark{--bs-alert-color: var(--bs-gray-dark-text-emphasis);--bs-alert-bg: var(--bs-gray-dark-bg-subtle);--bs-alert-border-color: var(--bs-gray-dark-border-subtle);--bs-alert-link-color: var(--bs-gray-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #ffcd00;--bs-progress-bar-transition: width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #ffcd00;--bs-list-group-active-border-color: #ffcd00;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-error{--bs-list-group-color: var(--bs-error-text-emphasis);--bs-list-group-bg: var(--bs-error-bg-subtle);--bs-list-group-border-color: var(--bs-error-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-error-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-error-border-subtle);--bs-list-group-active-color: var(--bs-error-bg-subtle);--bs-list-group-active-bg: var(--bs-error-text-emphasis);--bs-list-group-active-border-color: var(--bs-error-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.list-group-item-blue{--bs-list-group-color: var(--bs-blue-text-emphasis);--bs-list-group-bg: var(--bs-blue-bg-subtle);--bs-list-group-border-color: var(--bs-blue-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-blue-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-blue-border-subtle);--bs-list-group-active-color: var(--bs-blue-bg-subtle);--bs-list-group-active-bg: var(--bs-blue-text-emphasis);--bs-list-group-active-border-color: var(--bs-blue-text-emphasis)}.list-group-item-dark-blue{--bs-list-group-color: var(--bs-dark-blue-text-emphasis);--bs-list-group-bg: var(--bs-dark-blue-bg-subtle);--bs-list-group-border-color: var(--bs-dark-blue-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-blue-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-blue-border-subtle);--bs-list-group-active-color: var(--bs-dark-blue-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-blue-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-blue-text-emphasis)}.list-group-item-indigo{--bs-list-group-color: var(--bs-indigo-text-emphasis);--bs-list-group-bg: var(--bs-indigo-bg-subtle);--bs-list-group-border-color: var(--bs-indigo-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-indigo-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-indigo-border-subtle);--bs-list-group-active-color: var(--bs-indigo-bg-subtle);--bs-list-group-active-bg: var(--bs-indigo-text-emphasis);--bs-list-group-active-border-color: var(--bs-indigo-text-emphasis)}.list-group-item-purple{--bs-list-group-color: var(--bs-purple-text-emphasis);--bs-list-group-bg: var(--bs-purple-bg-subtle);--bs-list-group-border-color: var(--bs-purple-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-purple-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-purple-border-subtle);--bs-list-group-active-color: var(--bs-purple-bg-subtle);--bs-list-group-active-bg: var(--bs-purple-text-emphasis);--bs-list-group-active-border-color: var(--bs-purple-text-emphasis)}.list-group-item-pink{--bs-list-group-color: var(--bs-pink-text-emphasis);--bs-list-group-bg: var(--bs-pink-bg-subtle);--bs-list-group-border-color: var(--bs-pink-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-pink-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-pink-border-subtle);--bs-list-group-active-color: var(--bs-pink-bg-subtle);--bs-list-group-active-bg: var(--bs-pink-text-emphasis);--bs-list-group-active-border-color: var(--bs-pink-text-emphasis)}.list-group-item-red{--bs-list-group-color: var(--bs-red-text-emphasis);--bs-list-group-bg: var(--bs-red-bg-subtle);--bs-list-group-border-color: var(--bs-red-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-red-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-red-border-subtle);--bs-list-group-active-color: var(--bs-red-bg-subtle);--bs-list-group-active-bg: var(--bs-red-text-emphasis);--bs-list-group-active-border-color: var(--bs-red-text-emphasis)}.list-group-item-bordeaux-red{--bs-list-group-color: var(--bs-bordeaux-red-text-emphasis);--bs-list-group-bg: var(--bs-bordeaux-red-bg-subtle);--bs-list-group-border-color: var(--bs-bordeaux-red-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-bordeaux-red-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-bordeaux-red-border-subtle);--bs-list-group-active-color: var(--bs-bordeaux-red-bg-subtle);--bs-list-group-active-bg: var(--bs-bordeaux-red-text-emphasis);--bs-list-group-active-border-color: var(--bs-bordeaux-red-text-emphasis)}.list-group-item-brown{--bs-list-group-color: var(--bs-brown-text-emphasis);--bs-list-group-bg: var(--bs-brown-bg-subtle);--bs-list-group-border-color: var(--bs-brown-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-brown-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-brown-border-subtle);--bs-list-group-active-color: var(--bs-brown-bg-subtle);--bs-list-group-active-bg: var(--bs-brown-text-emphasis);--bs-list-group-active-border-color: var(--bs-brown-text-emphasis)}.list-group-item-cream{--bs-list-group-color: var(--bs-cream-text-emphasis);--bs-list-group-bg: var(--bs-cream-bg-subtle);--bs-list-group-border-color: var(--bs-cream-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-cream-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-cream-border-subtle);--bs-list-group-active-color: var(--bs-cream-bg-subtle);--bs-list-group-active-bg: var(--bs-cream-text-emphasis);--bs-list-group-active-border-color: var(--bs-cream-text-emphasis)}.list-group-item-orange{--bs-list-group-color: var(--bs-orange-text-emphasis);--bs-list-group-bg: var(--bs-orange-bg-subtle);--bs-list-group-border-color: var(--bs-orange-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-orange-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-orange-border-subtle);--bs-list-group-active-color: var(--bs-orange-bg-subtle);--bs-list-group-active-bg: var(--bs-orange-text-emphasis);--bs-list-group-active-border-color: var(--bs-orange-text-emphasis)}.list-group-item-yellow{--bs-list-group-color: var(--bs-yellow-text-emphasis);--bs-list-group-bg: var(--bs-yellow-bg-subtle);--bs-list-group-border-color: var(--bs-yellow-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-yellow-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-yellow-border-subtle);--bs-list-group-active-color: var(--bs-yellow-bg-subtle);--bs-list-group-active-bg: var(--bs-yellow-text-emphasis);--bs-list-group-active-border-color: var(--bs-yellow-text-emphasis)}.list-group-item-green{--bs-list-group-color: var(--bs-green-text-emphasis);--bs-list-group-bg: var(--bs-green-bg-subtle);--bs-list-group-border-color: var(--bs-green-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-green-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-green-border-subtle);--bs-list-group-active-color: var(--bs-green-bg-subtle);--bs-list-group-active-bg: var(--bs-green-text-emphasis);--bs-list-group-active-border-color: var(--bs-green-text-emphasis)}.list-group-item-teal{--bs-list-group-color: var(--bs-teal-text-emphasis);--bs-list-group-bg: var(--bs-teal-bg-subtle);--bs-list-group-border-color: var(--bs-teal-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-teal-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-teal-border-subtle);--bs-list-group-active-color: var(--bs-teal-bg-subtle);--bs-list-group-active-bg: var(--bs-teal-text-emphasis);--bs-list-group-active-border-color: var(--bs-teal-text-emphasis)}.list-group-item-cyan{--bs-list-group-color: var(--bs-cyan-text-emphasis);--bs-list-group-bg: var(--bs-cyan-bg-subtle);--bs-list-group-border-color: var(--bs-cyan-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-cyan-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-cyan-border-subtle);--bs-list-group-active-color: var(--bs-cyan-bg-subtle);--bs-list-group-active-bg: var(--bs-cyan-text-emphasis);--bs-list-group-active-border-color: var(--bs-cyan-text-emphasis)}.list-group-item-white{--bs-list-group-color: var(--bs-white-text-emphasis);--bs-list-group-bg: var(--bs-white-bg-subtle);--bs-list-group-border-color: var(--bs-white-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-white-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-white-border-subtle);--bs-list-group-active-color: var(--bs-white-bg-subtle);--bs-list-group-active-bg: var(--bs-white-text-emphasis);--bs-list-group-active-border-color: var(--bs-white-text-emphasis)}.list-group-item-gray{--bs-list-group-color: var(--bs-gray-text-emphasis);--bs-list-group-bg: var(--bs-gray-bg-subtle);--bs-list-group-border-color: var(--bs-gray-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-gray-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-gray-border-subtle);--bs-list-group-active-color: var(--bs-gray-bg-subtle);--bs-list-group-active-bg: var(--bs-gray-text-emphasis);--bs-list-group-active-border-color: var(--bs-gray-text-emphasis)}.list-group-item-gray-dark{--bs-list-group-color: var(--bs-gray-dark-text-emphasis);--bs-list-group-bg: var(--bs-gray-dark-bg-subtle);--bs-list-group-border-color: var(--bs-gray-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-gray-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-gray-dark-border-subtle);--bs-list-group-active-color: var(--bs-gray-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-gray-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-gray-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(255, 205, 0, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:0;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 0;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 9002;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: #212121;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: 0;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius: 0;--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 0;--bs-modal-title-line-height: 1.6;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 0.0625rem;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin:calc(-0.5*var(--bs-modal-header-padding-y)) calc(-0.5*var(--bs-modal-header-padding-x)) calc(-0.5*var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.6}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%}}.accordion-item{margin-bottom:1rem}.alert-primary{--bs-alert-color: #000;--bs-alert-bg: #fff5cc;--bs-alert-border-color: #fff0b3;--bs-alert-link-color: #000}.alert-secondary{--bs-alert-color: #000;--bs-alert-bg: #cccccc;--bs-alert-border-color: #b3b3b3;--bs-alert-link-color: #000}.alert-success{--bs-alert-color: #000;--bs-alert-bg: #d5f1d8;--bs-alert-border-color: #c0eac5;--bs-alert-link-color: #000}.alert-info{--bs-alert-color: #000;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb;--bs-alert-link-color: #000}.alert-warning{--bs-alert-color: #000;--bs-alert-bg: #fdeadf;--bs-alert-border-color: #fbe0cf;--bs-alert-link-color: #000}.alert-danger{--bs-alert-color: #000;--bs-alert-bg: #f2ced7;--bs-alert-border-color: #ecb6c2;--bs-alert-link-color: #000}.alert-error{--bs-alert-color: #000;--bs-alert-bg: #f2ced7;--bs-alert-border-color: #ecb6c2;--bs-alert-link-color: #000}.alert-light{--bs-alert-color: #000;--bs-alert-bg: #fcfcfc;--bs-alert-border-color: #fafafa;--bs-alert-link-color: #000}.alert-dark{--bs-alert-color: #000;--bs-alert-bg: #d4d4d4;--bs-alert-border-color: #bebebe;--bs-alert-link-color: #000}.alert-blue{--bs-alert-color: #000;--bs-alert-bg: #dce7f4;--bs-alert-border-color: #cbdbee;--bs-alert-link-color: #000}.alert-dark-blue{--bs-alert-color: #000;--bs-alert-bg: #ccd0d9;--bs-alert-border-color: #b3b8c6;--bs-alert-link-color: #000}.alert-indigo{--bs-alert-color: #000;--bs-alert-bg: #e0cffc;--bs-alert-border-color: #d1b7fb;--bs-alert-link-color: #000}.alert-purple{--bs-alert-color: #000;--bs-alert-bg: #ded3e6;--bs-alert-border-color: #cebcda;--bs-alert-link-color: #000}.alert-pink{--bs-alert-color: #000;--bs-alert-bg: #f7d6e6;--bs-alert-border-color: #f3c2da;--bs-alert-link-color: #000}.alert-red{--bs-alert-color: #000;--bs-alert-bg: #f2ced7;--bs-alert-border-color: #ecb6c2;--bs-alert-link-color: #000}.alert-bordeaux-red{--bs-alert-color: #000;--bs-alert-bg: #eed0dd;--bs-alert-border-color: #e6b9cc;--bs-alert-link-color: #000}.alert-brown{--bs-alert-color: #000;--bs-alert-bg: #e2d8d3;--bs-alert-border-color: #d4c4bd;--bs-alert-link-color: #000}.alert-cream{--bs-alert-color: #000;--bs-alert-bg: #fffaee;--bs-alert-border-color: #fff8e6;--bs-alert-link-color: #000}.alert-orange{--bs-alert-color: #000;--bs-alert-bg: #fdeadf;--bs-alert-border-color: #fbe0cf;--bs-alert-link-color: #000}.alert-yellow{--bs-alert-color: #000;--bs-alert-bg: #fff5cc;--bs-alert-border-color: #fff0b3;--bs-alert-link-color: #000}.alert-green{--bs-alert-color: #000;--bs-alert-bg: #d5f1d8;--bs-alert-border-color: #c0eac5;--bs-alert-link-color: #000}.alert-teal{--bs-alert-color: #000;--bs-alert-bg: #d3ede9;--bs-alert-border-color: #bde5df;--bs-alert-link-color: #000}.alert-cyan{--bs-alert-color: #000;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb;--bs-alert-link-color: #000}.alert-white{--bs-alert-color: #000;--bs-alert-bg: white;--bs-alert-border-color: white;--bs-alert-link-color: #000}.alert-gray{--bs-alert-color: #000;--bs-alert-bg: #e2e2e2;--bs-alert-border-color: lightgray;--bs-alert-link-color: #000}.alert-gray-dark{--bs-alert-color: #000;--bs-alert-bg: #d6d6d6;--bs-alert-border-color: #c2c2c2;--bs-alert-link-color: #000}.alert p:last-child{margin-bottom:0}.text-bg-hover-primary:hover{color:#000 !important;background-color:RGBA(255, 205, 0, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-secondary:hover{color:#fff !important;background-color:RGBA(0, 0, 0, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-success:hover{color:#000 !important;background-color:RGBA(45, 184, 61, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-info:hover{color:#000 !important;background-color:RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-warning:hover{color:#000 !important;background-color:RGBA(243, 150, 94, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-danger:hover{color:#fff !important;background-color:RGBA(192, 10, 53, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-error:hover{color:#fff !important;background-color:RGBA(192, 10, 53, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-light:hover{color:#000 !important;background-color:RGBA(239, 239, 239, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-dark:hover{color:#fff !important;background-color:RGBA(38, 38, 38, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-blue:hover{color:#fff !important;background-color:RGBA(82, 135, 198, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-dark-blue:hover{color:#fff !important;background-color:RGBA(0, 18, 64, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-indigo:hover{color:#fff !important;background-color:RGBA(102, 16, 242, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-purple:hover{color:#fff !important;background-color:RGBA(91, 33, 130, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-pink:hover{color:#fff !important;background-color:RGBA(214, 51, 132, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-red:hover{color:#fff !important;background-color:RGBA(192, 10, 53, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-bordeaux-red:hover{color:#fff !important;background-color:RGBA(170, 21, 85, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-brown:hover{color:#fff !important;background-color:RGBA(110, 59, 35, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-cream:hover{color:#000 !important;background-color:RGBA(255, 230, 171, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-orange:hover{color:#000 !important;background-color:RGBA(243, 150, 94, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-yellow:hover{color:#000 !important;background-color:RGBA(255, 205, 0, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-green:hover{color:#000 !important;background-color:RGBA(45, 184, 61, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-teal:hover{color:#000 !important;background-color:RGBA(36, 167, 147, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-cyan:hover{color:#000 !important;background-color:RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-white:hover{color:#000 !important;background-color:RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-gray:hover{color:#fff !important;background-color:RGBA(108, 108, 108, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-gray-dark:hover{color:#fff !important;background-color:RGBA(52, 52, 52, var(--bs-bg-opacity, 1)) !important}.btn{font-weight:bold}.btn.btn-arrow-right:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn.btn-arrow-left:not([class^=btn-outline]):not([class*=" btn-outline"]){--bs-btn-border-width: 0;--bs-btn-padding-x: calc(1rem + var(--bs-border-width));--bs-btn-padding-y: calc(0.5rem + var(--bs-border-width))}.btn.btn-arrow-right.btn-sm:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-sm>.btn.btn-arrow-right:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn.btn-arrow-left.btn-sm:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-sm>.btn.btn-arrow-left:not([class^=btn-outline]):not([class*=" btn-outline"]){--bs-btn-border-width: 0;--bs-btn-padding-x: calc(0.5rem + var(--bs-border-width));--bs-btn-padding-y: calc(0.25rem + var(--bs-border-width))}.btn.btn-arrow-right.btn-lg:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-lg>.btn.btn-arrow-right:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn.btn-arrow-left.btn-lg:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-lg>.btn.btn-arrow-left:not([class^=btn-outline]):not([class*=" btn-outline"]){--bs-btn-border-width: 0;--bs-btn-padding-x: calc(1rem + var(--bs-border-width));--bs-btn-padding-y: calc(0.5rem + var(--bs-border-width))}.btn.btn-arrow-right::after,.btn.btn-arrow-right::before,.btn.btn-arrow-left::after,.btn.btn-arrow-left::before{display:inline-block;font-weight:900;border:.0625rem solid rgba(0,0,0,0);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn.btn-arrow-right::after,.btn.btn-arrow-right::before,.btn.btn-arrow-left::after,.btn.btn-arrow-left::before{transition:none}}.btn.btn-arrow-right:hover::after,.btn.btn-arrow-right:hover::before,.btn.btn-arrow-left:hover::after,.btn.btn-arrow-left:hover::before{background:var(--bs-btn-hover-color);color:var(--bs-btn-hover-bg);border-color:#000}.btn.btn-arrow-right::after{content:">";padding:var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x)) var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x));margin:calc(0px - var(--bs-btn-padding-y)) calc(0px - var(--bs-btn-padding-x)) calc(0px - var(--bs-btn-padding-y)) calc(.7*var(--bs-btn-padding-x));border-top-right-radius:var(--bs-btn-border-radius);border-bottom-right-radius:var(--bs-btn-border-radius)}.btn.btn-arrow-left::before{content:"<";padding:var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x)) var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x));margin:calc(0px - var(--bs-btn-padding-y)) calc(.7*var(--bs-btn-padding-x)) calc(0px - var(--bs-btn-padding-y)) calc(0px - var(--bs-btn-padding-x));border-top-left-radius:var(--bs-btn-border-radius);border-bottom-left-radius:var(--bs-btn-border-radius)}.btn.btn-loading{position:relative;color:rgba(0,0,0,0)}.btn.btn-loading .btn-text{color:rgba(0,0,0,0)}.btn.btn-loading::after{border:.125rem solid #000;border-radius:999999px;border-top-color:rgba(0,0,0,0) !important;content:"";display:block;height:1em;width:1em;position:absolute;left:calc(50% - .5em);top:calc(50% - .5em);animation:spinner-border .5s infinite linear}.btn.btn-loading.btn-primary::after{border-color:#000}.btn.btn-loading.btn-secondary::after{border-color:#fff}.btn.btn-loading.btn-success::after{border-color:#000}.btn.btn-loading.btn-info::after{border-color:#000}.btn.btn-loading.btn-warning::after{border-color:#000}.btn.btn-loading.btn-danger::after{border-color:#fff}.btn.btn-loading.btn-error::after{border-color:#fff}.btn.btn-loading.btn-light::after{border-color:#000}.btn.btn-loading.btn-dark::after{border-color:#fff}.btn.btn-loading.btn-blue::after{border-color:#fff}.btn.btn-loading.btn-dark-blue::after{border-color:#fff}.btn.btn-loading.btn-indigo::after{border-color:#fff}.btn.btn-loading.btn-purple::after{border-color:#fff}.btn.btn-loading.btn-pink::after{border-color:#fff}.btn.btn-loading.btn-red::after{border-color:#fff}.btn.btn-loading.btn-bordeaux-red::after{border-color:#fff}.btn.btn-loading.btn-brown::after{border-color:#fff}.btn.btn-loading.btn-cream::after{border-color:#000}.btn.btn-loading.btn-orange::after{border-color:#000}.btn.btn-loading.btn-yellow::after{border-color:#000}.btn.btn-loading.btn-green::after{border-color:#000}.btn.btn-loading.btn-teal::after{border-color:#000}.btn.btn-loading.btn-cyan::after{border-color:#000}.btn.btn-loading.btn-white::after{border-color:#000}.btn.btn-loading.btn-gray::after{border-color:#fff}.btn.btn-loading.btn-gray-dark::after{border-color:#fff}.btn-group{gap:.5rem}.btn-check:checked+.btn.btn-checked-primary,.btn-check:active+.btn.btn-checked-primary{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-check:checked+.btn.btn-checked-outline-primary,.btn-check:active+.btn.btn-checked-outline-primary{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-secondary,.btn-check:active+.btn.btn-checked-secondary{--bs-btn-color: #fff;--bs-btn-bg: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: black;--bs-btn-hover-border-color: black;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: black;--bs-btn-active-border-color: black;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #000;--bs-btn-disabled-border-color: #000}.btn-check:checked+.btn.btn-checked-outline-secondary,.btn-check:active+.btn.btn-checked-outline-secondary{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #000;--bs-btn-hover-border-color: #000;--bs-btn-focus-shadow-rgb: 0, 0, 0;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000;--bs-btn-active-border-color: #000;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #000;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-success,.btn-check:active+.btn.btn-checked-success{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-check:checked+.btn.btn-checked-outline-success,.btn-check:active+.btn.btn-checked-outline-success{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-info,.btn-check:active+.btn.btn-checked-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-check:checked+.btn.btn-checked-outline-info,.btn-check:active+.btn.btn-checked-outline-info{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-warning,.btn-check:active+.btn.btn-checked-warning{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-check:checked+.btn.btn-checked-outline-warning,.btn-check:active+.btn.btn-checked-outline-warning{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-danger,.btn-check:active+.btn.btn-checked-danger{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-check:checked+.btn.btn-checked-outline-danger,.btn-check:active+.btn.btn-checked-outline-danger{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-error,.btn-check:active+.btn.btn-checked-error{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-check:checked+.btn.btn-checked-outline-error,.btn-check:active+.btn.btn-checked-outline-error{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-light,.btn-check:active+.btn.btn-checked-light{--bs-btn-color: #000;--bs-btn-bg: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #bfbfbf;--bs-btn-focus-shadow-rgb: 203, 203, 203;--bs-btn-active-color: #000;--bs-btn-active-bg: #bfbfbf;--bs-btn-active-border-color: #b3b3b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #efefef;--bs-btn-disabled-border-color: #efefef}.btn-check:checked+.btn.btn-checked-outline-light,.btn-check:active+.btn.btn-checked-outline-light{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #efefef;--bs-btn-focus-shadow-rgb: 239, 239, 239;--bs-btn-active-color: #000;--bs-btn-active-bg: #efefef;--bs-btn-active-border-color: #efefef;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #efefef;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #efefef;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-dark,.btn-check:active+.btn.btn-checked-dark{--bs-btn-color: #fff;--bs-btn-bg: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #3c3c3c;--bs-btn-focus-shadow-rgb: 71, 71, 71;--bs-btn-active-color: #fff;--bs-btn-active-bg: #515151;--bs-btn-active-border-color: #3c3c3c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #262626;--bs-btn-disabled-border-color: #262626}.btn-check:checked+.btn.btn-checked-outline-dark,.btn-check:active+.btn.btn-checked-outline-dark{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #262626;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: #262626;--bs-btn-active-border-color: #262626;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #262626;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #262626;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-blue,.btn-check:active+.btn.btn-checked-blue{--bs-btn-color: #fff;--bs-btn-bg: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #426c9e;--bs-btn-focus-shadow-rgb: 108, 153, 207;--bs-btn-active-color: #fff;--bs-btn-active-bg: #426c9e;--bs-btn-active-border-color: #3e6595;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5287c6;--bs-btn-disabled-border-color: #5287c6}.btn-check:checked+.btn.btn-checked-outline-blue,.btn-check:active+.btn.btn-checked-outline-blue{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #5287c6;--bs-btn-focus-shadow-rgb: 82, 135, 198;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5287c6;--bs-btn-active-border-color: #5287c6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5287c6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5287c6;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-dark-blue,.btn-check:active+.btn.btn-checked-dark-blue{--bs-btn-color: #fff;--bs-btn-bg: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #000e33;--bs-btn-focus-shadow-rgb: 38, 54, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000e33;--bs-btn-active-border-color: #000e30;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #001240;--bs-btn-disabled-border-color: #001240}.btn-check:checked+.btn.btn-checked-outline-dark-blue,.btn-check:active+.btn.btn-checked-outline-dark-blue{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #001240;--bs-btn-focus-shadow-rgb: 0, 18, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #001240;--bs-btn-active-border-color: #001240;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #001240;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #001240;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-indigo,.btn-check:active+.btn.btn-checked-indigo{--bs-btn-color: #fff;--bs-btn-bg: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #520dc2;--bs-btn-focus-shadow-rgb: 125, 52, 244;--bs-btn-active-color: #fff;--bs-btn-active-bg: #520dc2;--bs-btn-active-border-color: #4d0cb6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6610f2;--bs-btn-disabled-border-color: #6610f2}.btn-check:checked+.btn.btn-checked-outline-indigo,.btn-check:active+.btn.btn-checked-outline-indigo{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #6610f2;--bs-btn-focus-shadow-rgb: 102, 16, 242;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6610f2;--bs-btn-active-border-color: #6610f2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6610f2;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6610f2;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-purple,.btn-check:active+.btn.btn-checked-purple{--bs-btn-color: #fff;--bs-btn-bg: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #491a68;--bs-btn-focus-shadow-rgb: 116, 66, 149;--bs-btn-active-color: #fff;--bs-btn-active-bg: #491a68;--bs-btn-active-border-color: #441962;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5b2182;--bs-btn-disabled-border-color: #5b2182}.btn-check:checked+.btn.btn-checked-outline-purple,.btn-check:active+.btn.btn-checked-outline-purple{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #5b2182;--bs-btn-focus-shadow-rgb: 91, 33, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5b2182;--bs-btn-active-border-color: #5b2182;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5b2182;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5b2182;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-pink,.btn-check:active+.btn.btn-checked-pink{--bs-btn-color: #fff;--bs-btn-bg: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #ab296a;--bs-btn-focus-shadow-rgb: 220, 82, 150;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ab296a;--bs-btn-active-border-color: #a12663;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d63384;--bs-btn-disabled-border-color: #d63384}.btn-check:checked+.btn.btn-checked-outline-pink,.btn-check:active+.btn.btn-checked-outline-pink{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #d63384;--bs-btn-focus-shadow-rgb: 214, 51, 132;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d63384;--bs-btn-active-border-color: #d63384;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #d63384;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #d63384;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-red,.btn-check:active+.btn.btn-checked-red{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-check:checked+.btn.btn-checked-outline-red,.btn-check:active+.btn.btn-checked-outline-red{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-bordeaux-red,.btn-check:active+.btn.btn-checked-bordeaux-red{--bs-btn-color: #fff;--bs-btn-bg: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #881144;--bs-btn-focus-shadow-rgb: 183, 56, 111;--bs-btn-active-color: #fff;--bs-btn-active-bg: #881144;--bs-btn-active-border-color: #801040;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #aa1555;--bs-btn-disabled-border-color: #aa1555}.btn-check:checked+.btn.btn-checked-outline-bordeaux-red,.btn-check:active+.btn.btn-checked-outline-bordeaux-red{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #aa1555;--bs-btn-focus-shadow-rgb: 170, 21, 85;--bs-btn-active-color: #fff;--bs-btn-active-bg: #aa1555;--bs-btn-active-border-color: #aa1555;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #aa1555;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #aa1555;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-brown,.btn-check:active+.btn.btn-checked-brown{--bs-btn-color: #fff;--bs-btn-bg: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #582f1c;--bs-btn-focus-shadow-rgb: 132, 88, 68;--bs-btn-active-color: #fff;--bs-btn-active-bg: #582f1c;--bs-btn-active-border-color: #532c1a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6e3b23;--bs-btn-disabled-border-color: #6e3b23}.btn-check:checked+.btn.btn-checked-outline-brown,.btn-check:active+.btn.btn-checked-outline-brown{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #6e3b23;--bs-btn-focus-shadow-rgb: 110, 59, 35;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6e3b23;--bs-btn-active-border-color: #6e3b23;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6e3b23;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6e3b23;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-cream,.btn-check:active+.btn.btn-checked-cream{--bs-btn-color: #000;--bs-btn-bg: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe9b3;--bs-btn-focus-shadow-rgb: 217, 196, 145;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffebbc;--bs-btn-active-border-color: #ffe9b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffe6ab;--bs-btn-disabled-border-color: #ffe6ab}.btn-check:checked+.btn.btn-checked-outline-cream,.btn-check:active+.btn.btn-checked-outline-cream{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe6ab;--bs-btn-focus-shadow-rgb: 255, 230, 171;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffe6ab;--bs-btn-active-border-color: #ffe6ab;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffe6ab;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffe6ab;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-orange,.btn-check:active+.btn.btn-checked-orange{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-check:checked+.btn.btn-checked-outline-orange,.btn-check:active+.btn.btn-checked-outline-orange{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-yellow,.btn-check:active+.btn.btn-checked-yellow{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-check:checked+.btn.btn-checked-outline-yellow,.btn-check:active+.btn.btn-checked-outline-yellow{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-green,.btn-check:active+.btn.btn-checked-green{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-check:checked+.btn.btn-checked-outline-green,.btn-check:active+.btn.btn-checked-outline-green{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-teal,.btn-check:active+.btn.btn-checked-teal{--bs-btn-color: #000;--bs-btn-bg: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #3ab09e;--bs-btn-focus-shadow-rgb: 31, 142, 125;--bs-btn-active-color: #000;--bs-btn-active-bg: #50b9a9;--bs-btn-active-border-color: #3ab09e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #24a793;--bs-btn-disabled-border-color: #24a793}.btn-check:checked+.btn.btn-checked-outline-teal,.btn-check:active+.btn.btn-checked-outline-teal{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #24a793;--bs-btn-focus-shadow-rgb: 36, 167, 147;--bs-btn-active-color: #000;--bs-btn-active-bg: #24a793;--bs-btn-active-border-color: #24a793;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #24a793;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #24a793;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-cyan,.btn-check:active+.btn.btn-checked-cyan{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-check:checked+.btn.btn-checked-outline-cyan,.btn-check:active+.btn.btn-checked-outline-cyan{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-white,.btn-check:active+.btn.btn-checked-white{--bs-btn-color: #000;--bs-btn-bg: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: white;--bs-btn-hover-border-color: white;--bs-btn-focus-shadow-rgb: 217, 217, 217;--bs-btn-active-color: #000;--bs-btn-active-bg: white;--bs-btn-active-border-color: white;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #fff;--bs-btn-disabled-border-color: #fff}.btn-check:checked+.btn.btn-checked-outline-white,.btn-check:active+.btn.btn-checked-outline-white{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #fff;--bs-btn-hover-border-color: #fff;--bs-btn-focus-shadow-rgb: 255, 255, 255;--bs-btn-active-color: #000;--bs-btn-active-bg: #fff;--bs-btn-active-border-color: #fff;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #fff;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-gray,.btn-check:active+.btn.btn-checked-gray{--bs-btn-color: #fff;--bs-btn-bg: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #565656;--bs-btn-focus-shadow-rgb: 130, 130, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565656;--bs-btn-active-border-color: #515151;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c6c6c;--bs-btn-disabled-border-color: #6c6c6c}.btn-check:checked+.btn.btn-checked-outline-gray,.btn-check:active+.btn.btn-checked-outline-gray{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #6c6c6c;--bs-btn-focus-shadow-rgb: 108, 108, 108;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c6c6c;--bs-btn-active-border-color: #6c6c6c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6c6c6c;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c6c6c;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-gray-dark,.btn-check:active+.btn.btn-checked-gray-dark{--bs-btn-color: #fff;--bs-btn-bg: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #2a2a2a;--bs-btn-focus-shadow-rgb: 82, 82, 82;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2a2a2a;--bs-btn-active-border-color: #272727;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343434;--bs-btn-disabled-border-color: #343434}.btn-check:checked+.btn.btn-checked-outline-gray-dark,.btn-check:active+.btn.btn-checked-outline-gray-dark{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #343434;--bs-btn-focus-shadow-rgb: 52, 52, 52;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343434;--bs-btn-active-border-color: #343434;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #343434;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343434;--bs-gradient: none}.pagination{--bs-pagination-gap: 0.625rem;--bs-pagination-size: 2.5rem;--bs-pagination-button-bg: #000;--bs-pagination-button-color: #fff;--bs-pagination-ellipsis-color: #494949;gap:var(--bs-pagination-gap)}.pagination .page-item{height:100%}.pagination .page-item .page-link{cursor:pointer;height:var(--bs-pagination-size);line-height:var(--bs-pagination-size);padding-top:0;padding-bottom:0;text-align:center}.pagination .page-item:not(.page-button):not(.next):not(.previous):not(.first):not(.last) .page-link{width:var(--bs-pagination-size);padding:0}.pagination .page-item.page-button{font-weight:bold;user-select:none}.pagination .page-item.page-button .page-link{background-color:var(--bs-pagination-button-bg);color:var(--bs-pagination-button-color)}.pagination .page-item.page-button.disabled{cursor:not-allowed}.pagination .page-item.page-button.disabled .page-link{background-color:var(--bs-pagination-disabled-bg);color:var(--bs-pagination-disabled-color)}.pagination .page-item.active{font-weight:bold}.pagination .page-item.page-ellipsis .page-link{background:rgba(0,0,0,0);cursor:default;font-size:0}.pagination .page-item.page-ellipsis .page-link:before{font-size:1rem;color:var(--bs-pagination-ellipsis-color);content:"…"}.modal{--bs-modal-header-bg: #ffcd00;--bs-modal-header-color: #000;--bs-modal-header-font-weight: 500}.modal .modal-header{background-color:var(--bs-modal-header-bg);color:var(--bs-modal-header-color);font-weight:var(--bs-modal-header-font-weight)}.table.table-sticky-header thead,.table-sticky-header.dt thead,.table-sticky-header.datatables thead{position:sticky;top:0}.table.table-sticky-header.table-sticky-header-top-0 thead,.table-sticky-header.table-sticky-header-top-0.dt thead,.table-sticky-header.table-sticky-header-top-0.datatables thead{top:0 !important}.table.table-sticky-footer tfoot,.table-sticky-footer.dt tfoot,.table-sticky-footer.datatables tfoot{position:sticky;bottom:0}@media(max-width: 768px){.uu-root-container .table.table-sticky-header thead,.uu-root-container .table-sticky-header.dt thead,.uu-root-container .table-sticky-header.datatables thead{top:var(--bs-uu-navbar-mobile-height)}}.flex-fill{min-width:0}.font-serif{font-family:"Merriweather",serif}h1.hdr-underlined,.hdr-underlined.h1{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h2.hdr-underlined,.hdr-underlined.h2{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h3.hdr-underlined,.hdr-underlined.h3{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h4.hdr-underlined,.hdr-underlined.h4{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h5.hdr-underlined,.hdr-underlined.h5{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h6.hdr-underlined,.hdr-underlined.h6{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h7.hdr-underlined{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}code,pre.code{--bs-code-bg: #cecece;--bs-code-color: #000;--bs-code-border-radius: 0.2em;--bs-code-padding-y: 0.2em;--bs-code-padding-x: 0.4em;--bs-code-font-size: 0.85em;background:var(--bs-code-bg);color:var(--bs-code-color);padding:var(--bs-code-padding-y) var(--bs-code-padding-x);margin:0;font-size:var(--bs-code-font-size);border-radius:var(--bs-code-border-radius)}pre.code{overflow:auto}.stepper{--bs-stepper-color: #212121;--bs-stepper-disabled-color: var(--bs-secondary-color);--bs-stepper-complete-bg: #75b798;--bs-stepper-complete-color: #000;--bs-stepper-incomplete-bg: #ffcd00;--bs-stepper-incomplete-color: #000;--bs-stepper-inactive-bg: #cecece;--bs-stepper-inactive-color: #000;--bs-stepper-min-width: 15.625rem;--bs-stepper-padding-y: 0.75rem;--bs-stepper-line-width: 0.125rem;position:relative;z-index:1;min-width:var(--bs-stepper-min-width)}.stepper a{text-decoration:none;color:var(--bs-stepper-color)}.stepper>ul::before{content:"";display:block;position:absolute;left:calc(2rem / 2 - 1px);top:1rem;height:calc(100% - 1rem);width:var(--bs-stepper-line-width);background:var(--bs-stepper-inactive-bg);z-index:-1}.stepper ul{list-style:none;padding-left:0;margin:0}.stepper ul li{line-height:2rem}.stepper ul li>.stepper-item{display:flex;flex-direction:row;align-items:center;gap:1rem}.stepper ul li>.stepper-item.active{font-weight:600}.stepper ul li>.stepper-item.disabled{color:var(--bs-stepper-disabled-color);font-style:italic}.stepper ul li>.stepper-item.complete .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.complete,.stepper ul li>.stepper-item.finished .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.finished{background:var(--bs-stepper-complete-bg);color:var(--bs-stepper-complete-color)}.stepper ul li>.stepper-item.incomplete .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.incomplete{background:var(--bs-stepper-incomplete-bg);color:var(--bs-stepper-incomplete-color)}.stepper ul li>.stepper-item.disabled .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.disabled{font-style:normal}.stepper ul li>.stepper-item .stepper-bubble{background:var(--bs-stepper-inactive-bg);flex:0 0 auto;color:var(--bs-stepper-inactive-color);font-weight:bold;line-height:2rem;font-size:.8rem;display:inline-block;border-radius:100%;text-align:center}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-largest{width:2rem;height:2rem;margin-left:0rem;margin-right:0rem;line-height:2rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-large{width:1.66rem;height:1.66rem;margin-left:.17rem;margin-right:.77rem;line-height:1.66rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-medium{width:1.32rem;height:1.32rem;margin-left:.34rem;margin-right:1.54rem;line-height:1.32rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-normal{width:1.32rem;height:1.32rem;margin-left:.34rem;margin-right:1.54rem;line-height:1.32rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-small{width:.98rem;height:.98rem;margin-left:.51rem;margin-right:2.31rem;line-height:.98rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-smallest{width:.64rem;height:.64rem;margin-left:.68rem;margin-right:3.08rem;line-height:.64rem}.stepper ul li:not(:last-of-type){padding-bottom:var(--bs-stepper-padding-y)}.stepper ul li>ul{padding-top:var(--bs-stepper-padding-y)}.tiles{--bs-tiles-gap: 0.625rem;--bs-tiles-padding: 1rem;--bs-tiles-bg: #efefef;--bs-tiles-color: #000;--bs-tiles-hover-bg: #ffcd00;--bs-tiles-hover-color: #000;--bs-tiles-n-xs: 2;--bs-tiles-n: var(--bs-tiles-n-xs);--bs-tiles-n-sm: 4;--bs-tiles-n-md: 5;--bs-tiles-n-lg: 6;--bs-tiles-n-xl: 7;width:100%;display:grid;gap:var(--bs-tiles-gap);grid-template-columns:repeat(var(--bs-tiles-n), 1fr)}@media(min-width: 576px){.tiles{--bs-tiles-n: var(--bs-tiles-n-sm)}}@media(min-width: 768px){.tiles{--bs-tiles-n: var(--bs-tiles-n-md)}}@media(min-width: 992px){.tiles{--bs-tiles-n: var(--bs-tiles-n-lg)}}@media(min-width: 1200px){.tiles{--bs-tiles-n: var(--bs-tiles-n-xl)}}.tiles .tile{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--bs-tiles-padding);aspect-ratio:1/1;background:var(--bs-tiles-bg);color:var(--bs-tiles-color)}.tiles .tile:hover{background:var(--bs-tiles-hover-bg);color:var(--bs-tiles-hover-color)}.tiles .tile p:last-child{margin:0}.tiles a.tile,.tiles .tile a{cursor:pointer;text-decoration:none}.tiles.tiles-n-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-12{--bs-tiles-n: 12 !important}@media(min-width: 576px){.tiles.tiles-n-sm-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-sm-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-sm-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-sm-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-sm-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-sm-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-sm-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-sm-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-sm-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-sm-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-sm-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-sm-12{--bs-tiles-n: 12 !important}}@media(min-width: 768px){.tiles.tiles-n-md-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-md-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-md-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-md-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-md-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-md-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-md-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-md-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-md-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-md-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-md-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-md-12{--bs-tiles-n: 12 !important}}@media(min-width: 992px){.tiles.tiles-n-lg-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-lg-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-lg-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-lg-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-lg-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-lg-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-lg-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-lg-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-lg-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-lg-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-lg-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-lg-12{--bs-tiles-n: 12 !important}}@media(min-width: 1200px){.tiles.tiles-n-xl-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-xl-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-xl-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-xl-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-xl-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-xl-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-xl-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-xl-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-xl-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-xl-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-xl-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-xl-12{--bs-tiles-n: 12 !important}}@media(min-width: 1400px){.tiles.tiles-n-xxl-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-xxl-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-xxl-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-xxl-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-xxl-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-xxl-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-xxl-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-xxl-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-xxl-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-xxl-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-xxl-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-xxl-12{--bs-tiles-n: 12 !important}}.modal-nav-tabs{--bs-modal-nav-tabs-gap: 0.625rem;--bs-modal-nav-tabs-color: inherit;--bs-modal-nav-tabs-bg: none;--bs-modal-nav-tabs-active-color: var(--bs-modal-color);--bs-modal-nav-tabs-active-bg: var(--bs-modal-bg);--bs-modal-nav-tabs-hover-color: #000;--bs-modal-nav-tabs-hover-bg: #efefef;margin-bottom:calc(0px - var(--bs-modal-header-padding-y));border-bottom:0;gap:var(--bs-modal-nav-tabs-gap);overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;max-width:100%}.modal-nav-tabs .nav-link{background-color:var(--bs-modal-nav-tabs-bg);color:var(--bs-modal-nav-tabs-color);white-space:nowrap}.modal-nav-tabs .nav-link.active{color:var(--bs-modal-nav-tabs-active-color);background-color:var(--bs-modal-nav-tabs-active-bg);border-color:rgba(0,0,0,0)}.modal-nav-tabs .nav-link:not(.active):hover,.modal-nav-tabs .nav-link:not(.active):focus{color:var(--bs-modal-nav-tabs-hover-color);background-color:var(--bs-modal-nav-tabs-hover-bg);border-color:rgba(0,0,0,0)}.uu-root-container{width:100%;max-width:var(--bs-uu-container-width);min-height:100vh;margin:0 auto;display:flex;align-items:center;flex-direction:column;padding:0;background:var(--bs-uu-container-bg);color:var(--bs-uu-container-color)}.uu-root-container{--bs-uu-container-width: 100rem;--bs-uu-container-bg: #fff;--bs-uu-container-color: #212529;--bs-uu-container-padding-y: 1rem;--bs-uu-container-padding-x: 1rem;--bs-uu-content-width: 75rem;--bs-uu-border-color: #cecece;--bs-uu-border-color-light: #e9e9e9;--bs-uu-border-color-dark: #343434;--bs-uu-header-padding-y: 0.7rem;--bs-uu-header-font-size: 0.9rem;--bs-uu-header-title-color: #094d8e;--bs-uu-header-border-gap: 1.2rem;--bs-uu-navbar-mobile-height: 3.125rem;--bs-uu-navbar-navlink-padding-x: 0.75rem;--bs-uu-navbar-navlink-padding-y: 0.75rem;--bs-uu-unified-header-height: 4.5rem;--bs-uu-unified-header-mobile-height: 3rem;--bs-uu-unified-header-border-size: 0.0625rem;--bs-uu-unified-header-padding-x: 2rem;--bs-uu-unified-header-padding-mobile-x: 1rem;--bs-uu-unified-header-navlink-indicator-height: 0.3125rem;--bs-uu-unified-header-navlink-mobile-bg: #000;--bs-uu-unified-header-navlink-mobile-color: #fff;--bs-uu-brand-padding-x: 2.5rem;--bs-uu-brand-padding-y: 1rem;--bs-uu-brand-logo-padding-x: 0;--bs-uu-brand-logo-padding-y: 0.5rem;--bs-uu-brand-sender-bg: #ffcd00;--bs-uu-brand-sender-color: #000;--bs-uu-brand-sender-min-width: 220px;--bs-uu-brand-sender-max-width: 300px;--bs-uu-footer-padding-y: 2.5rem;--bs-uu-footer-color: #cecece;--bs-uu-footer-background-color: #262626;--bs-uu-hero-bg: #ffcd00;--bs-uu-hero-color: #000;--bs-uu-hero-padding-y: 1rem;--bs-uu-hero-font-weight: 400;--bs-uu-cover-default-height: 400px;--bs-uu-cover-copyright-padding-x: 0.625rem;--bs-uu-cover-copyright-padding-y: 0.625rem;--bs-uu-cover-copyright-text-size: 0.8rem;--bs-uu-cover-copyright-text-color: #dedede;--bs-uu-cover-copyright-background-color: rgba(0, 0, 0, 0.5);--bs-uu-sidebar-width: 21.875rem;--bs-uu-sidebar-padding-x: 1.25rem;--bs-uu-sidebar-padding-y: 1.25rem;--bs-uu-sidebar-mobile-padding-y: 0.625rem;--bs-uu-sidebar-gap: 6.25rem;--bs-uu-sidebar-background: #e9e9e9;--bs-uu-sidebar-color: #212529;--bs-uu-sidebar-header-font-weight: 200;--bs-uu-sidebar-header-padding-y: 0.625rem;--bs-uu-sidebar-nav-padding-y: 0.4375rem;--bs-uu-sidebar-nav-padding-x: 0;--bs-uu-sidebar-nav-disabled-color: #6c6c6c;--bs-uu-sidebar-nav-active-font-weight: 600;--bs-uu-form-column-gap: 2rem;--bs-uu-form-row-gap: 1.5rem;--bs-uu-form-field-padding-x: 1.5rem;--bs-uu-form-field-padding-y: 1.3rem;--bs-uu-form-field-padding-y-compensation: 0.3125rem;--bs-uu-form-field-bg: #efefef;--bs-uu-form-field-input-group-bg: #f8f8f8;--bs-uu-form-aside-font-size: 0.9rem;--bs-uu-form-aside-color: var(--bs-secondary-color);--bs-uu-form-help-padding-x: 0;--bs-uu-form-help-padding-y: 0.5rem}.uu-root-container .uu-content{width:100%;display:flex;align-items:center;flex:1 1 auto;flex-direction:column;padding:0;margin:0}.uu-root-container .uu-fullwidth-container,.uu-root-container .-uu-spaced-container,.uu-root-container .uu-footer,.uu-root-container .uu-hero,.uu-root-container .uu-cover .uu-cover-hero,.uu-root-container .uu-container,.uu-root-container .uu-inner-container{width:100%;display:flex;flex-wrap:wrap;padding:var(--bs-uu-container-padding-y) var(--bs-uu-container-padding-x)}@media(min-width: 76rem){.uu-root-container .-uu-spaced-container,.uu-root-container .uu-footer,.uu-root-container .uu-hero,.uu-root-container .uu-cover .uu-cover-hero,.uu-root-container .uu-container,.uu-root-container .uu-inner-container{padding-left:calc(50% - var(--bs-uu-content-width)/2);padding-right:calc(50% - var(--bs-uu-content-width)/2)}}.uu-container+.uu-container,.uu-inner-container+.uu-container,.uu-container+.uu-inner-container,.uu-inner-container+.uu-inner-container{padding-top:0}.uu-root-container .uu-header{width:100%;display:flex;align-items:center;flex-direction:column;font-size:var(--bs-uu-header-font-size)}.uu-root-container .uu-header .uu-header-row{display:flex;flex-direction:row;align-items:stretch;width:100%;padding-left:calc(50% - var(--bs-uu-content-width)/2);padding-right:calc(50% - var(--bs-uu-content-width)/2)}@media(max-width: 768px){.uu-root-container .uu-header .uu-header-row{display:none}}.uu-root-container .uu-header .uu-header-row>*{padding-top:var(--bs-uu-header-padding-y);padding-bottom:var(--bs-uu-header-padding-y);align-items:center;display:flex}@media(max-width: 76rem){.uu-root-container .uu-header .uu-header-row{padding-left:var(--bs-uu-container-padding-x);padding-right:var(--bs-uu-container-padding-x)}}.uu-root-container .uu-header .uu-header-row:not(:last-child){border-bottom:.0625rem solid var(--bs-uu-border-color-light)}.uu-root-container .uu-header .uu-header-row .border-left{padding-left:var(--bs-uu-header-border-gap);border-left:.0625rem solid var(--bs-uu-border-color-light)}.uu-root-container .uu-header .uu-header-row .border-right{padding-right:var(--bs-uu-header-border-gap);border-right:.0625rem solid var(--bs-uu-border-color-light)}.uu-root-container .uu-header .uu-header-row .uu-header-title,.uu-root-container .uu-header .uu-header-row .uu-header-title a{color:var(--bs-uu-header-title-color);text-decoration:none;font-size:1.7rem}.uu-root-container .uu-header .uu-header-row .uu-logo img{max-height:3rem}.uu-root-container .uu-header .uu-header-row a,.uu-root-container .uu-header .uu-header-row a:hover,.uu-root-container .uu-header .uu-header-row a:focus,.uu-root-container .uu-header .uu-header-row a:active{text-decoration:none}.uu-root-container .uu-navbar{width:100%;background:#000;flex-wrap:nowrap;justify-content:flex-start}@media(max-width: 768px){.uu-root-container .uu-navbar{background:#fff !important;color:#000 !important;border-bottom:.0625rem solid var(--bs-uu-border-color);flex-wrap:wrap;justify-content:space-between;position:sticky;top:0;z-index:9001;height:var(--bs-uu-navbar-mobile-height)}}.uu-root-container .uu-navbar .uu-navbar-container{width:100%;padding-left:calc(
+ */@font-face{font-family:"Open Sans";font-style:normal;font-weight:300;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-regular.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:500;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:normal;font-weight:800;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:300;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-300italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:400;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:500;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-500italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:600;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-600italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:700;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-700italic.svg#OpenSans") format("svg")}@font-face{font-family:"Open Sans";font-style:italic;font-weight:800;src:url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.eot");src:local(""),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.woff2") format("woff2"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.woff") format("woff"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.ttf") format("truetype"),url("/static/cdh.core/fonts/open-sans/open-sans-v28-latin-ext_latin-800italic.svg#OpenSans") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:300;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:300;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-300italic.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:400;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-regular.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:400;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-italic.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:700;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:700;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-700italic.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:normal;font-weight:900;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900.svg#Merriweather") format("svg")}@font-face{font-family:"Merriweather";font-style:italic;font-weight:900;src:url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.eot");src:local(""),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.eot?#iefix") format("embedded-opentype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.woff2") format("woff2"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.woff") format("woff"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.ttf") format("truetype"),url("/static/cdh.core/fonts/merriweather/merriweather-v30-latin-900italic.svg#Merriweather") format("svg")}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#000 !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#000 !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-error{color:#fff !important;background-color:RGBA(var(--bs-error-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-blue{color:#fff !important;background-color:RGBA(var(--bs-blue-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark-blue{color:#fff !important;background-color:RGBA(var(--bs-dark-blue-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-indigo{color:#fff !important;background-color:RGBA(var(--bs-indigo-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-purple{color:#fff !important;background-color:RGBA(var(--bs-purple-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-pink{color:#fff !important;background-color:RGBA(var(--bs-pink-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-red{color:#fff !important;background-color:RGBA(var(--bs-red-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-bordeaux-red{color:#fff !important;background-color:RGBA(var(--bs-bordeaux-red-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-brown{color:#fff !important;background-color:RGBA(var(--bs-brown-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-cream{color:#000 !important;background-color:RGBA(var(--bs-cream-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-orange{color:#000 !important;background-color:RGBA(var(--bs-orange-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-yellow{color:#000 !important;background-color:RGBA(var(--bs-yellow-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-green{color:#000 !important;background-color:RGBA(var(--bs-green-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-teal{color:#000 !important;background-color:RGBA(var(--bs-teal-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-cyan{color:#000 !important;background-color:RGBA(var(--bs-cyan-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-white{color:#000 !important;background-color:RGBA(var(--bs-white-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-gray{color:#fff !important;background-color:RGBA(var(--bs-gray-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-gray-dark{color:#fff !important;background-color:RGBA(var(--bs-gray-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(255, 215, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 215, 51, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(0, 0, 0, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(0, 0, 0, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(87, 198, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(87, 198, 100, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(245, 171, 126, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(245, 171, 126, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(154, 8, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154, 8, 42, var(--bs-link-underline-opacity, 1)) !important}.link-error{color:RGBA(var(--bs-error-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-error-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-error:hover,.link-error:focus{color:RGBA(154, 8, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154, 8, 42, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(242, 242, 242, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(242, 242, 242, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(30, 30, 30, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(30, 30, 30, var(--bs-link-underline-opacity, 1)) !important}.link-blue{color:RGBA(var(--bs-blue-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-blue-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-blue:hover,.link-blue:focus{color:RGBA(66, 108, 158, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(66, 108, 158, var(--bs-link-underline-opacity, 1)) !important}.link-dark-blue{color:RGBA(var(--bs-dark-blue-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-blue-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark-blue:hover,.link-dark-blue:focus{color:RGBA(0, 14, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(0, 14, 51, var(--bs-link-underline-opacity, 1)) !important}.link-indigo{color:RGBA(var(--bs-indigo-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-indigo-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-indigo:hover,.link-indigo:focus{color:RGBA(82, 13, 194, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(82, 13, 194, var(--bs-link-underline-opacity, 1)) !important}.link-purple{color:RGBA(var(--bs-purple-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-purple-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-purple:hover,.link-purple:focus{color:RGBA(73, 26, 104, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(73, 26, 104, var(--bs-link-underline-opacity, 1)) !important}.link-pink{color:RGBA(var(--bs-pink-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-pink-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-pink:hover,.link-pink:focus{color:RGBA(171, 41, 106, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(171, 41, 106, var(--bs-link-underline-opacity, 1)) !important}.link-red{color:RGBA(var(--bs-red-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-red-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-red:hover,.link-red:focus{color:RGBA(154, 8, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(154, 8, 42, var(--bs-link-underline-opacity, 1)) !important}.link-bordeaux-red{color:RGBA(var(--bs-bordeaux-red-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-bordeaux-red-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-bordeaux-red:hover,.link-bordeaux-red:focus{color:RGBA(136, 17, 68, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(136, 17, 68, var(--bs-link-underline-opacity, 1)) !important}.link-brown{color:RGBA(var(--bs-brown-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-brown-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-brown:hover,.link-brown:focus{color:RGBA(88, 47, 28, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(88, 47, 28, var(--bs-link-underline-opacity, 1)) !important}.link-cream{color:RGBA(var(--bs-cream-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-cream-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-cream:hover,.link-cream:focus{color:RGBA(255, 235, 188, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 235, 188, var(--bs-link-underline-opacity, 1)) !important}.link-orange{color:RGBA(var(--bs-orange-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-orange-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-orange:hover,.link-orange:focus{color:RGBA(245, 171, 126, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(245, 171, 126, var(--bs-link-underline-opacity, 1)) !important}.link-yellow{color:RGBA(var(--bs-yellow-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-yellow-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-yellow:hover,.link-yellow:focus{color:RGBA(255, 215, 51, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 215, 51, var(--bs-link-underline-opacity, 1)) !important}.link-green{color:RGBA(var(--bs-green-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-green-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-green:hover,.link-green:focus{color:RGBA(87, 198, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(87, 198, 100, var(--bs-link-underline-opacity, 1)) !important}.link-teal{color:RGBA(var(--bs-teal-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-teal-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-teal:hover,.link-teal:focus{color:RGBA(80, 185, 169, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(80, 185, 169, var(--bs-link-underline-opacity, 1)) !important}.link-cyan{color:RGBA(var(--bs-cyan-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-cyan-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-cyan:hover,.link-cyan:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-white{color:RGBA(var(--bs-white-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-white-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-white:hover,.link-white:focus{color:RGBA(255, 255, 255, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 255, 255, var(--bs-link-underline-opacity, 1)) !important}.link-gray{color:RGBA(var(--bs-gray-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-gray-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-gray:hover,.link-gray:focus{color:RGBA(86, 86, 86, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 86, 86, var(--bs-link-underline-opacity, 1)) !important}.link-gray-dark{color:RGBA(var(--bs-gray-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-gray-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-gray-dark:hover,.link-gray-dark:focus{color:RGBA(42, 42, 42, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(42, 42, 42, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-error{--bs-focus-ring-color: rgba(var(--bs-error-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.focus-ring-blue{--bs-focus-ring-color: rgba(var(--bs-blue-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark-blue{--bs-focus-ring-color: rgba(var(--bs-dark-blue-rgb), var(--bs-focus-ring-opacity))}.focus-ring-indigo{--bs-focus-ring-color: rgba(var(--bs-indigo-rgb), var(--bs-focus-ring-opacity))}.focus-ring-purple{--bs-focus-ring-color: rgba(var(--bs-purple-rgb), var(--bs-focus-ring-opacity))}.focus-ring-pink{--bs-focus-ring-color: rgba(var(--bs-pink-rgb), var(--bs-focus-ring-opacity))}.focus-ring-red{--bs-focus-ring-color: rgba(var(--bs-red-rgb), var(--bs-focus-ring-opacity))}.focus-ring-bordeaux-red{--bs-focus-ring-color: rgba(var(--bs-bordeaux-red-rgb), var(--bs-focus-ring-opacity))}.focus-ring-brown{--bs-focus-ring-color: rgba(var(--bs-brown-rgb), var(--bs-focus-ring-opacity))}.focus-ring-cream{--bs-focus-ring-color: rgba(var(--bs-cream-rgb), var(--bs-focus-ring-opacity))}.focus-ring-orange{--bs-focus-ring-color: rgba(var(--bs-orange-rgb), var(--bs-focus-ring-opacity))}.focus-ring-yellow{--bs-focus-ring-color: rgba(var(--bs-yellow-rgb), var(--bs-focus-ring-opacity))}.focus-ring-green{--bs-focus-ring-color: rgba(var(--bs-green-rgb), var(--bs-focus-ring-opacity))}.focus-ring-teal{--bs-focus-ring-color: rgba(var(--bs-teal-rgb), var(--bs-focus-ring-opacity))}.focus-ring-cyan{--bs-focus-ring-color: rgba(var(--bs-cyan-rgb), var(--bs-focus-ring-opacity))}.focus-ring-white{--bs-focus-ring-color: rgba(var(--bs-white-rgb), var(--bs-focus-ring-opacity))}.focus-ring-gray{--bs-focus-ring-color: rgba(var(--bs-gray-rgb), var(--bs-focus-ring-opacity))}.focus-ring-gray-dark{--bs-focus-ring-color: rgba(var(--bs-gray-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-error{--bs-border-opacity: 1;border-color:rgba(var(--bs-error-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-blue{--bs-border-opacity: 1;border-color:rgba(var(--bs-blue-rgb), var(--bs-border-opacity)) !important}.border-dark-blue{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-blue-rgb), var(--bs-border-opacity)) !important}.border-indigo{--bs-border-opacity: 1;border-color:rgba(var(--bs-indigo-rgb), var(--bs-border-opacity)) !important}.border-purple{--bs-border-opacity: 1;border-color:rgba(var(--bs-purple-rgb), var(--bs-border-opacity)) !important}.border-pink{--bs-border-opacity: 1;border-color:rgba(var(--bs-pink-rgb), var(--bs-border-opacity)) !important}.border-red{--bs-border-opacity: 1;border-color:rgba(var(--bs-red-rgb), var(--bs-border-opacity)) !important}.border-bordeaux-red{--bs-border-opacity: 1;border-color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-border-opacity)) !important}.border-brown{--bs-border-opacity: 1;border-color:rgba(var(--bs-brown-rgb), var(--bs-border-opacity)) !important}.border-cream{--bs-border-opacity: 1;border-color:rgba(var(--bs-cream-rgb), var(--bs-border-opacity)) !important}.border-orange{--bs-border-opacity: 1;border-color:rgba(var(--bs-orange-rgb), var(--bs-border-opacity)) !important}.border-yellow{--bs-border-opacity: 1;border-color:rgba(var(--bs-yellow-rgb), var(--bs-border-opacity)) !important}.border-green{--bs-border-opacity: 1;border-color:rgba(var(--bs-green-rgb), var(--bs-border-opacity)) !important}.border-teal{--bs-border-opacity: 1;border-color:rgba(var(--bs-teal-rgb), var(--bs-border-opacity)) !important}.border-cyan{--bs-border-opacity: 1;border-color:rgba(var(--bs-cyan-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-gray{--bs-border-opacity: 1;border-color:rgba(var(--bs-gray-rgb), var(--bs-border-opacity)) !important}.border-gray-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-gray-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.295rem + 0.54vw) !important}.fs-3{font-size:calc(1.265rem + 0.18vw) !important}.fs-4{font-size:1.2rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.4 !important}.lh-base{line-height:1.6 !important}.lh-lg{line-height:2.1 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-error{--bs-text-opacity: 1;color:rgba(var(--bs-error-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-blue{--bs-text-opacity: 1;color:rgba(var(--bs-blue-rgb), var(--bs-text-opacity)) !important}.text-dark-blue{--bs-text-opacity: 1;color:rgba(var(--bs-dark-blue-rgb), var(--bs-text-opacity)) !important}.text-indigo{--bs-text-opacity: 1;color:rgba(var(--bs-indigo-rgb), var(--bs-text-opacity)) !important}.text-purple{--bs-text-opacity: 1;color:rgba(var(--bs-purple-rgb), var(--bs-text-opacity)) !important}.text-pink{--bs-text-opacity: 1;color:rgba(var(--bs-pink-rgb), var(--bs-text-opacity)) !important}.text-red{--bs-text-opacity: 1;color:rgba(var(--bs-red-rgb), var(--bs-text-opacity)) !important}.text-bordeaux-red{--bs-text-opacity: 1;color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-text-opacity)) !important}.text-brown{--bs-text-opacity: 1;color:rgba(var(--bs-brown-rgb), var(--bs-text-opacity)) !important}.text-cream{--bs-text-opacity: 1;color:rgba(var(--bs-cream-rgb), var(--bs-text-opacity)) !important}.text-orange{--bs-text-opacity: 1;color:rgba(var(--bs-orange-rgb), var(--bs-text-opacity)) !important}.text-yellow{--bs-text-opacity: 1;color:rgba(var(--bs-yellow-rgb), var(--bs-text-opacity)) !important}.text-green{--bs-text-opacity: 1;color:rgba(var(--bs-green-rgb), var(--bs-text-opacity)) !important}.text-teal{--bs-text-opacity: 1;color:rgba(var(--bs-teal-rgb), var(--bs-text-opacity)) !important}.text-cyan{--bs-text-opacity: 1;color:rgba(var(--bs-cyan-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-gray{--bs-text-opacity: 1;color:rgba(var(--bs-gray-rgb), var(--bs-text-opacity)) !important}.text-gray-dark{--bs-text-opacity: 1;color:rgba(var(--bs-gray-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-error{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-error-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-blue{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-blue-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark-blue{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-blue-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-indigo{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-indigo-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-purple{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-purple-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-pink{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-pink-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-red{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-red-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-bordeaux-red{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-brown{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-brown-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-cream{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-cream-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-orange{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-orange-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-yellow{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-yellow-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-green{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-green-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-teal{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-teal-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-cyan{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-cyan-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-white{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-white-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-gray{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-gray-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-gray-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-gray-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-error{--bs-bg-opacity: 1;background-color:rgba(var(--bs-error-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-blue{--bs-bg-opacity: 1;background-color:rgba(var(--bs-blue-rgb), var(--bs-bg-opacity)) !important}.bg-dark-blue{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-blue-rgb), var(--bs-bg-opacity)) !important}.bg-indigo{--bs-bg-opacity: 1;background-color:rgba(var(--bs-indigo-rgb), var(--bs-bg-opacity)) !important}.bg-purple{--bs-bg-opacity: 1;background-color:rgba(var(--bs-purple-rgb), var(--bs-bg-opacity)) !important}.bg-pink{--bs-bg-opacity: 1;background-color:rgba(var(--bs-pink-rgb), var(--bs-bg-opacity)) !important}.bg-red{--bs-bg-opacity: 1;background-color:rgba(var(--bs-red-rgb), var(--bs-bg-opacity)) !important}.bg-bordeaux-red{--bs-bg-opacity: 1;background-color:rgba(var(--bs-bordeaux-red-rgb), var(--bs-bg-opacity)) !important}.bg-brown{--bs-bg-opacity: 1;background-color:rgba(var(--bs-brown-rgb), var(--bs-bg-opacity)) !important}.bg-cream{--bs-bg-opacity: 1;background-color:rgba(var(--bs-cream-rgb), var(--bs-bg-opacity)) !important}.bg-orange{--bs-bg-opacity: 1;background-color:rgba(var(--bs-orange-rgb), var(--bs-bg-opacity)) !important}.bg-yellow{--bs-bg-opacity: 1;background-color:rgba(var(--bs-yellow-rgb), var(--bs-bg-opacity)) !important}.bg-green{--bs-bg-opacity: 1;background-color:rgba(var(--bs-green-rgb), var(--bs-bg-opacity)) !important}.bg-teal{--bs-bg-opacity: 1;background-color:rgba(var(--bs-teal-rgb), var(--bs-bg-opacity)) !important}.bg-cyan{--bs-bg-opacity: 1;background-color:rgba(var(--bs-cyan-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-gray{--bs-bg-opacity: 1;background-color:rgba(var(--bs-gray-rgb), var(--bs-bg-opacity)) !important}.bg-gray-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-gray-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}.cursor-auto{cursor:auto !important}.cursor-pointer{cursor:pointer !important}.cursor-grab{cursor:grab !important}.cursor-copy{cursor:copy !important}.cursor-default{cursor:default !important}.cursor-help{cursor:help !important}.cursor-text{cursor:text !important}.cursor-none{cursor:none !important}.cursor-not-allowed{cursor:not-allowed !important}.cursor-progress{cursor:progress !important}.cursor-wait{cursor:wait !important}.cursor-zoom-in{cursor:zoom-in !important}.cursor-zoom-out{cursor:zoom-out !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}.cursor-sm-auto{cursor:auto !important}.cursor-sm-pointer{cursor:pointer !important}.cursor-sm-grab{cursor:grab !important}.cursor-sm-copy{cursor:copy !important}.cursor-sm-default{cursor:default !important}.cursor-sm-help{cursor:help !important}.cursor-sm-text{cursor:text !important}.cursor-sm-none{cursor:none !important}.cursor-sm-not-allowed{cursor:not-allowed !important}.cursor-sm-progress{cursor:progress !important}.cursor-sm-wait{cursor:wait !important}.cursor-sm-zoom-in{cursor:zoom-in !important}.cursor-sm-zoom-out{cursor:zoom-out !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}.cursor-md-auto{cursor:auto !important}.cursor-md-pointer{cursor:pointer !important}.cursor-md-grab{cursor:grab !important}.cursor-md-copy{cursor:copy !important}.cursor-md-default{cursor:default !important}.cursor-md-help{cursor:help !important}.cursor-md-text{cursor:text !important}.cursor-md-none{cursor:none !important}.cursor-md-not-allowed{cursor:not-allowed !important}.cursor-md-progress{cursor:progress !important}.cursor-md-wait{cursor:wait !important}.cursor-md-zoom-in{cursor:zoom-in !important}.cursor-md-zoom-out{cursor:zoom-out !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}.cursor-lg-auto{cursor:auto !important}.cursor-lg-pointer{cursor:pointer !important}.cursor-lg-grab{cursor:grab !important}.cursor-lg-copy{cursor:copy !important}.cursor-lg-default{cursor:default !important}.cursor-lg-help{cursor:help !important}.cursor-lg-text{cursor:text !important}.cursor-lg-none{cursor:none !important}.cursor-lg-not-allowed{cursor:not-allowed !important}.cursor-lg-progress{cursor:progress !important}.cursor-lg-wait{cursor:wait !important}.cursor-lg-zoom-in{cursor:zoom-in !important}.cursor-lg-zoom-out{cursor:zoom-out !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}.cursor-xl-auto{cursor:auto !important}.cursor-xl-pointer{cursor:pointer !important}.cursor-xl-grab{cursor:grab !important}.cursor-xl-copy{cursor:copy !important}.cursor-xl-default{cursor:default !important}.cursor-xl-help{cursor:help !important}.cursor-xl-text{cursor:text !important}.cursor-xl-none{cursor:none !important}.cursor-xl-not-allowed{cursor:not-allowed !important}.cursor-xl-progress{cursor:progress !important}.cursor-xl-wait{cursor:wait !important}.cursor-xl-zoom-in{cursor:zoom-in !important}.cursor-xl-zoom-out{cursor:zoom-out !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}.cursor-xxl-auto{cursor:auto !important}.cursor-xxl-pointer{cursor:pointer !important}.cursor-xxl-grab{cursor:grab !important}.cursor-xxl-copy{cursor:copy !important}.cursor-xxl-default{cursor:default !important}.cursor-xxl-help{cursor:help !important}.cursor-xxl-text{cursor:text !important}.cursor-xxl-none{cursor:none !important}.cursor-xxl-not-allowed{cursor:not-allowed !important}.cursor-xxl-progress{cursor:progress !important}.cursor-xxl-wait{cursor:wait !important}.cursor-xxl-zoom-in{cursor:zoom-in !important}.cursor-xxl-zoom-out{cursor:zoom-out !important}}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.7rem !important}.fs-3{font-size:1.4rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}:root,[data-bs-theme=light]{--bs-blue: #5287c6;--bs-dark-blue: #001240;--bs-indigo: #6610f2;--bs-purple: #5b2182;--bs-pink: #d63384;--bs-red: #c00a35;--bs-bordeaux-red: #aa1555;--bs-brown: #6e3b23;--bs-cream: #ffe6ab;--bs-orange: #f3965e;--bs-yellow: #ffcd00;--bs-green: #2db83d;--bs-teal: #24a793;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c6c6c;--bs-gray-dark: #343434;--bs-gray-100: #efefef;--bs-gray-200: #e9e9e9;--bs-gray-300: #dedede;--bs-gray-400: #cecece;--bs-gray-500: #adadad;--bs-gray-600: #6c6c6c;--bs-gray-700: #494949;--bs-gray-800: #343434;--bs-gray-900: #212121;--bs-primary: #ffcd00;--bs-secondary: #000;--bs-success: #2db83d;--bs-info: #0dcaf0;--bs-warning: #f3965e;--bs-danger: #c00a35;--bs-error: #c00a35;--bs-light: #efefef;--bs-dark: #262626;--bs-blue: #5287c6;--bs-dark-blue: #001240;--bs-indigo: #6610f2;--bs-purple: #5b2182;--bs-pink: #d63384;--bs-red: #c00a35;--bs-bordeaux-red: #aa1555;--bs-brown: #6e3b23;--bs-cream: #ffe6ab;--bs-orange: #f3965e;--bs-yellow: #ffcd00;--bs-green: #2db83d;--bs-teal: #24a793;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c6c6c;--bs-gray-dark: #343434;--bs-primary-rgb: 255, 205, 0;--bs-secondary-rgb: 0, 0, 0;--bs-success-rgb: 45, 184, 61;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 243, 150, 94;--bs-danger-rgb: 192, 10, 53;--bs-error-rgb: 192, 10, 53;--bs-light-rgb: 239, 239, 239;--bs-dark-rgb: 38, 38, 38;--bs-blue-rgb: 82, 135, 198;--bs-dark-blue-rgb: 0, 18, 64;--bs-indigo-rgb: 102, 16, 242;--bs-purple-rgb: 91, 33, 130;--bs-pink-rgb: 214, 51, 132;--bs-red-rgb: 192, 10, 53;--bs-bordeaux-red-rgb: 170, 21, 85;--bs-brown-rgb: 110, 59, 35;--bs-cream-rgb: 255, 230, 171;--bs-orange-rgb: 243, 150, 94;--bs-yellow-rgb: 255, 205, 0;--bs-green-rgb: 45, 184, 61;--bs-teal-rgb: 36, 167, 147;--bs-cyan-rgb: 13, 202, 240;--bs-white-rgb: 255, 255, 255;--bs-gray-rgb: 108, 108, 108;--bs-gray-dark-rgb: 52, 52, 52;--bs-primary-text-emphasis: #665200;--bs-secondary-text-emphasis: black;--bs-success-text-emphasis: #124a18;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #613c26;--bs-danger-text-emphasis: #4d0415;--bs-light-text-emphasis: #494949;--bs-dark-text-emphasis: #494949;--bs-primary-bg-subtle: #fff5cc;--bs-secondary-bg-subtle: #cccccc;--bs-success-bg-subtle: #d5f1d8;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fdeadf;--bs-danger-bg-subtle: #f2ced7;--bs-light-bg-subtle: #f7f7f7;--bs-dark-bg-subtle: #cecece;--bs-primary-border-subtle: #ffeb99;--bs-secondary-border-subtle: #999999;--bs-success-border-subtle: #abe3b1;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #fad5bf;--bs-danger-border-subtle: #e69dae;--bs-light-border-subtle: #e9e9e9;--bs-dark-border-subtle: #adadad;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: "Open Sans", "Verdana", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.6;--bs-body-color: #212121;--bs-body-color-rgb: 33, 33, 33;--bs-body-bg: #f6f6f6;--bs-body-bg-rgb: 246, 246, 246;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 33, 33, 0.75);--bs-secondary-color-rgb: 33, 33, 33;--bs-secondary-bg: #e9e9e9;--bs-secondary-bg-rgb: 233, 233, 233;--bs-tertiary-color: rgba(33, 33, 33, 0.5);--bs-tertiary-color-rgb: 33, 33, 33;--bs-tertiary-bg: #efefef;--bs-tertiary-bg-rgb: 239, 239, 239;--bs-heading-color: inherit;--bs-link-color: #000;--bs-link-color-rgb: 0, 0, 0;--bs-link-decoration: underline;--bs-link-hover-color: black;--bs-link-hover-color-rgb: 0, 0, 0;--bs-code-color: #000;--bs-highlight-bg: #fff5cc;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dedede;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0;--bs-border-radius-sm: 0;--bs-border-radius-lg: 0;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(255, 205, 0, 0.25);--bs-form-valid-color: #2db83d;--bs-form-valid-border-color: #2db83d;--bs-form-invalid-color: #c00a35;--bs-form-invalid-border-color: #c00a35}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dedede;--bs-body-color-rgb: 222, 222, 222;--bs-body-bg: #212121;--bs-body-bg-rgb: 33, 33, 33;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 222, 222, 0.75);--bs-secondary-color-rgb: 222, 222, 222;--bs-secondary-bg: #343434;--bs-secondary-bg-rgb: 52, 52, 52;--bs-tertiary-color: rgba(222, 222, 222, 0.5);--bs-tertiary-color-rgb: 222, 222, 222;--bs-tertiary-bg: #2b2b2b;--bs-tertiary-bg-rgb: 43, 43, 43;--bs-primary-text-emphasis: #ffe166;--bs-secondary-text-emphasis: #666666;--bs-success-text-emphasis: #81d48b;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #f8c09e;--bs-danger-text-emphasis: #d96c86;--bs-light-text-emphasis: #efefef;--bs-dark-text-emphasis: #dedede;--bs-primary-bg-subtle: #332900;--bs-secondary-bg-subtle: black;--bs-success-bg-subtle: #09250c;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #311e13;--bs-danger-bg-subtle: #26020b;--bs-light-bg-subtle: #343434;--bs-dark-bg-subtle: #1a1a1a;--bs-primary-border-subtle: #997b00;--bs-secondary-border-subtle: black;--bs-success-border-subtle: #1b6e25;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #925a38;--bs-danger-border-subtle: #730620;--bs-light-border-subtle: #494949;--bs-dark-border-subtle: #343434;--bs-heading-color: inherit;--bs-link-color: #ffe166;--bs-link-hover-color: #ffe785;--bs-link-color-rgb: 255, 225, 102;--bs-link-hover-color-rgb: 255, 231, 133;--bs-code-color: #fff;--bs-border-color: #494949;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #81d48b;--bs-form-valid-border-color: #81d48b;--bs-form-invalid-color: #d96c86;--bs-form-invalid-border-color: #d96c86}*,*::before,*::after{box-sizing:border-box}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.295rem + 0.54vw)}@media(min-width: 1200px){h2,.h2{font-size:1.7rem}}h3,.h3{font-size:calc(1.265rem + 0.18vw)}@media(min-width: 1200px){h3,.h3{font-size:1.4rem}}h4,.h4{font-size:1.2rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.85em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.85em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:0.85em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:0}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c6c6c}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 0;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 0;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: 0.25rem}.g-1,.gy-1{--bs-gutter-y: 0.25rem}.g-2,.gx-2{--bs-gutter-x: 0.5rem}.g-2,.gy-2{--bs-gutter-y: 0.5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media(min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: 0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: 0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: 0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: 0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media(min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: 0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y: 0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x: 0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y: 0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media(min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: 0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: 0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: 0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: 0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media(min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: 0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: 0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: 0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: 0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media(min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: 0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: 0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: 0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: 0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table,.dt,.datatables{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, 0.01);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, 0.05);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*,.dt>:not(caption)>*>*,.datatables>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody,.dt>tbody,.datatables>tbody{vertical-align:inherit}.table>thead,.dt>thead,.datatables>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #fff5cc;--bs-table-border-color: #e6ddb8;--bs-table-striped-bg: #fcf3ca;--bs-table-striped-color: #000;--bs-table-active-bg: #e6ddb8;--bs-table-active-color: #000;--bs-table-hover-bg: #f2e9c2;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #cccccc;--bs-table-border-color: #b8b8b8;--bs-table-striped-bg: #cacaca;--bs-table-striped-color: #000;--bs-table-active-bg: #b8b8b8;--bs-table-active-color: #000;--bs-table-hover-bg: #c2c2c2;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d5f1d8;--bs-table-border-color: #c0d9c2;--bs-table-striped-bg: #d3efd6;--bs-table-striped-color: #000;--bs-table-active-bg: #c0d9c2;--bs-table-active-color: #000;--bs-table-hover-bg: #cae5cd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #cdf2f9;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #c5e8ef;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fdeadf;--bs-table-border-color: #e4d3c9;--bs-table-striped-bg: #fae8dd;--bs-table-striped-color: #000;--bs-table-active-bg: #e4d3c9;--bs-table-active-color: #000;--bs-table-hover-bg: #f0ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f2ced7;--bs-table-border-color: #dab9c2;--bs-table-striped-bg: #f0ccd5;--bs-table-striped-color: #000;--bs-table-active-bg: #dab9c2;--bs-table-active-color: #000;--bs-table-hover-bg: #e6c4cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #efefef;--bs-table-border-color: #d7d7d7;--bs-table-striped-bg: #ededed;--bs-table-striped-color: #000;--bs-table-active-bg: #d7d7d7;--bs-table-active-color: #000;--bs-table-hover-bg: #e3e3e3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #262626;--bs-table-border-color: #3c3c3c;--bs-table-striped-bg: #282828;--bs-table-striped-color: #fff;--bs-table-active-bg: #3c3c3c;--bs-table-active-color: #fff;--bs-table-hover-bg: #313131;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-weight:500;color:#262626}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;font-weight:500;line-height:1.6;color:#262626}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);appearance:none;background-color:#fff;background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:#fff;border-color:#000;outline:0;box-shadow:none}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.6em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.6;color:var(--bs-body-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.6em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.6em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343434' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0 !important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#000;outline:0;box-shadow:none}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:0 !important}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:0 !important}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dedede' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.6rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: #fff;width:1em;height:1em;margin-top:.3em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#000;outline:0;box-shadow:0 0 0 .25rem rgba(255,205,0,.25)}.form-check-input:checked{background-color:#5287c6;border-color:#5287c6}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#ffcd00;border-color:#ffcd00;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23000'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1rem;padding:0;appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f6f6f6,none}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f6f6f6,none}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;background-color:#ffcd00;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#fff0b3}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#ffcd00;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#fff0b3}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:#fff;border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c6c6c}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.6em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232db83d' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.4em + 0.1875rem) center;background-size:calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.6em + 0.75rem);background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232db83d' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.6em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 0 rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.6em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c00a35'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c00a35' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.4em + 0.1875rem) center;background-size:calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.6em + 0.75rem);background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c00a35'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c00a35' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.8em + 0.375rem) calc(0.8em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 0 rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.6em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 0 rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 1rem;--bs-btn-padding-y: 0.5rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.6;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: 0.25rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0 rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: black;--bs-btn-hover-border-color: black;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: black;--bs-btn-active-border-color: black;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #000;--bs-btn-disabled-border-color: #000}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-error{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #bfbfbf;--bs-btn-focus-shadow-rgb: 203, 203, 203;--bs-btn-active-color: #000;--bs-btn-active-bg: #bfbfbf;--bs-btn-active-border-color: #b3b3b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #efefef;--bs-btn-disabled-border-color: #efefef}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #3c3c3c;--bs-btn-focus-shadow-rgb: 71, 71, 71;--bs-btn-active-color: #fff;--bs-btn-active-bg: #515151;--bs-btn-active-border-color: #3c3c3c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #262626;--bs-btn-disabled-border-color: #262626}.btn-blue{--bs-btn-color: #fff;--bs-btn-bg: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #426c9e;--bs-btn-focus-shadow-rgb: 108, 153, 207;--bs-btn-active-color: #fff;--bs-btn-active-bg: #426c9e;--bs-btn-active-border-color: #3e6595;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5287c6;--bs-btn-disabled-border-color: #5287c6}.btn-dark-blue{--bs-btn-color: #fff;--bs-btn-bg: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #000e33;--bs-btn-focus-shadow-rgb: 38, 54, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000e33;--bs-btn-active-border-color: #000e30;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #001240;--bs-btn-disabled-border-color: #001240}.btn-indigo{--bs-btn-color: #fff;--bs-btn-bg: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #520dc2;--bs-btn-focus-shadow-rgb: 125, 52, 244;--bs-btn-active-color: #fff;--bs-btn-active-bg: #520dc2;--bs-btn-active-border-color: #4d0cb6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6610f2;--bs-btn-disabled-border-color: #6610f2}.btn-purple{--bs-btn-color: #fff;--bs-btn-bg: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #491a68;--bs-btn-focus-shadow-rgb: 116, 66, 149;--bs-btn-active-color: #fff;--bs-btn-active-bg: #491a68;--bs-btn-active-border-color: #441962;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5b2182;--bs-btn-disabled-border-color: #5b2182}.btn-pink{--bs-btn-color: #fff;--bs-btn-bg: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #ab296a;--bs-btn-focus-shadow-rgb: 220, 82, 150;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ab296a;--bs-btn-active-border-color: #a12663;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d63384;--bs-btn-disabled-border-color: #d63384}.btn-red{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-bordeaux-red{--bs-btn-color: #fff;--bs-btn-bg: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #881144;--bs-btn-focus-shadow-rgb: 183, 56, 111;--bs-btn-active-color: #fff;--bs-btn-active-bg: #881144;--bs-btn-active-border-color: #801040;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #aa1555;--bs-btn-disabled-border-color: #aa1555}.btn-brown{--bs-btn-color: #fff;--bs-btn-bg: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #582f1c;--bs-btn-focus-shadow-rgb: 132, 88, 68;--bs-btn-active-color: #fff;--bs-btn-active-bg: #582f1c;--bs-btn-active-border-color: #532c1a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6e3b23;--bs-btn-disabled-border-color: #6e3b23}.btn-cream{--bs-btn-color: #000;--bs-btn-bg: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe9b3;--bs-btn-focus-shadow-rgb: 217, 196, 145;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffebbc;--bs-btn-active-border-color: #ffe9b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffe6ab;--bs-btn-disabled-border-color: #ffe6ab}.btn-orange{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-yellow{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-green{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-teal{--bs-btn-color: #000;--bs-btn-bg: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #3ab09e;--bs-btn-focus-shadow-rgb: 31, 142, 125;--bs-btn-active-color: #000;--bs-btn-active-bg: #50b9a9;--bs-btn-active-border-color: #3ab09e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #24a793;--bs-btn-disabled-border-color: #24a793}.btn-cyan{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-white{--bs-btn-color: #000;--bs-btn-bg: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: white;--bs-btn-hover-border-color: white;--bs-btn-focus-shadow-rgb: 217, 217, 217;--bs-btn-active-color: #000;--bs-btn-active-bg: white;--bs-btn-active-border-color: white;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #fff;--bs-btn-disabled-border-color: #fff}.btn-gray{--bs-btn-color: #fff;--bs-btn-bg: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #565656;--bs-btn-focus-shadow-rgb: 130, 130, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565656;--bs-btn-active-border-color: #515151;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c6c6c;--bs-btn-disabled-border-color: #6c6c6c}.btn-gray-dark{--bs-btn-color: #fff;--bs-btn-bg: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #2a2a2a;--bs-btn-focus-shadow-rgb: 82, 82, 82;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2a2a2a;--bs-btn-active-border-color: #272727;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343434;--bs-btn-disabled-border-color: #343434}.btn-outline-primary{--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #000;--bs-btn-hover-border-color: #000;--bs-btn-focus-shadow-rgb: 0, 0, 0;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000;--bs-btn-active-border-color: #000;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #000;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-outline-error{--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #efefef;--bs-btn-focus-shadow-rgb: 239, 239, 239;--bs-btn-active-color: #000;--bs-btn-active-bg: #efefef;--bs-btn-active-border-color: #efefef;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #efefef;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #efefef;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #262626;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: #262626;--bs-btn-active-border-color: #262626;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #262626;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #262626;--bs-gradient: none}.btn-outline-blue{--bs-btn-color: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #5287c6;--bs-btn-focus-shadow-rgb: 82, 135, 198;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5287c6;--bs-btn-active-border-color: #5287c6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5287c6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5287c6;--bs-gradient: none}.btn-outline-dark-blue{--bs-btn-color: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #001240;--bs-btn-focus-shadow-rgb: 0, 18, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #001240;--bs-btn-active-border-color: #001240;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #001240;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #001240;--bs-gradient: none}.btn-outline-indigo{--bs-btn-color: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #6610f2;--bs-btn-focus-shadow-rgb: 102, 16, 242;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6610f2;--bs-btn-active-border-color: #6610f2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6610f2;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6610f2;--bs-gradient: none}.btn-outline-purple{--bs-btn-color: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #5b2182;--bs-btn-focus-shadow-rgb: 91, 33, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5b2182;--bs-btn-active-border-color: #5b2182;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5b2182;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5b2182;--bs-gradient: none}.btn-outline-pink{--bs-btn-color: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #d63384;--bs-btn-focus-shadow-rgb: 214, 51, 132;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d63384;--bs-btn-active-border-color: #d63384;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #d63384;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #d63384;--bs-gradient: none}.btn-outline-red{--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-outline-bordeaux-red{--bs-btn-color: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #aa1555;--bs-btn-focus-shadow-rgb: 170, 21, 85;--bs-btn-active-color: #fff;--bs-btn-active-bg: #aa1555;--bs-btn-active-border-color: #aa1555;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #aa1555;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #aa1555;--bs-gradient: none}.btn-outline-brown{--bs-btn-color: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #6e3b23;--bs-btn-focus-shadow-rgb: 110, 59, 35;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6e3b23;--bs-btn-active-border-color: #6e3b23;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6e3b23;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6e3b23;--bs-gradient: none}.btn-outline-cream{--bs-btn-color: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe6ab;--bs-btn-focus-shadow-rgb: 255, 230, 171;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffe6ab;--bs-btn-active-border-color: #ffe6ab;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffe6ab;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffe6ab;--bs-gradient: none}.btn-outline-orange{--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-outline-yellow{--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-outline-green{--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-outline-teal{--bs-btn-color: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #24a793;--bs-btn-focus-shadow-rgb: 36, 167, 147;--bs-btn-active-color: #000;--bs-btn-active-bg: #24a793;--bs-btn-active-border-color: #24a793;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #24a793;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #24a793;--bs-gradient: none}.btn-outline-cyan{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-white{--bs-btn-color: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #fff;--bs-btn-hover-border-color: #fff;--bs-btn-focus-shadow-rgb: 255, 255, 255;--bs-btn-active-color: #000;--bs-btn-active-bg: #fff;--bs-btn-active-border-color: #fff;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #fff;--bs-gradient: none}.btn-outline-gray{--bs-btn-color: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #6c6c6c;--bs-btn-focus-shadow-rgb: 108, 108, 108;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c6c6c;--bs-btn-active-border-color: #6c6c6c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6c6c6c;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c6c6c;--bs-gradient: none}.btn-outline-gray-dark{--bs-btn-color: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #343434;--bs-btn-focus-shadow-rgb: 52, 52, 52;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343434;--bs-btn-active-border-color: #343434;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #343434;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343434;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c6c6c;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 38, 38;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: 0.25rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: 0.25rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #ffcd00;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c6c6c;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dedede;--bs-dropdown-bg: #343434;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dedede;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #ffcd00;--bs-dropdown-link-disabled-color: #adadad;--bs-dropdown-header-color: #adadad}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(255,205,0,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: #cecece;--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) #cecece;--bs-nav-tabs-link-active-color: #000;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #cecece #cecece #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0);border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #000;--bs-nav-pills-link-active-bg: #ffcd00}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: 0.5rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25rem;--bs-navbar-toggler-padding-x: 0.75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 33, 33, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius: 0.25rem;--bs-navbar-toggler-focus-width: 0;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, 0.55);--bs-navbar-hover-color: rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 0;--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - 0);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #000;--bs-accordion-btn-bg: #ffcd00;--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212121'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23665200'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #000;--bs-accordion-btn-focus-box-shadow: none;--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #000;--bs-accordion-active-bg: #ffcd00}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffe166'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffe166'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: #000;--bs-pagination-bg: #dedede;--bs-pagination-border-width: 0;--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: 0.25rem;--bs-pagination-hover-color: #000;--bs-pagination-hover-bg: #ffcd00;--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: #000;--bs-pagination-focus-bg: #ffcd00;--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(255, 205, 0, 0.25);--bs-pagination-active-color: #000;--bs-pagination-active-bg: #ffcd00;--bs-pagination-active-border-color: #ffcd00;--bs-pagination-disabled-color: #adadad;--bs-pagination-disabled-bg: #efefef;--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(0 * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 0.5rem;--bs-alert-margin-bottom: 0.5rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 0 solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:.625rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-error{--bs-alert-color: var(--bs-error-text-emphasis);--bs-alert-bg: var(--bs-error-bg-subtle);--bs-alert-border-color: var(--bs-error-border-subtle);--bs-alert-link-color: var(--bs-error-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.alert-blue{--bs-alert-color: var(--bs-blue-text-emphasis);--bs-alert-bg: var(--bs-blue-bg-subtle);--bs-alert-border-color: var(--bs-blue-border-subtle);--bs-alert-link-color: var(--bs-blue-text-emphasis)}.alert-dark-blue{--bs-alert-color: var(--bs-dark-blue-text-emphasis);--bs-alert-bg: var(--bs-dark-blue-bg-subtle);--bs-alert-border-color: var(--bs-dark-blue-border-subtle);--bs-alert-link-color: var(--bs-dark-blue-text-emphasis)}.alert-indigo{--bs-alert-color: var(--bs-indigo-text-emphasis);--bs-alert-bg: var(--bs-indigo-bg-subtle);--bs-alert-border-color: var(--bs-indigo-border-subtle);--bs-alert-link-color: var(--bs-indigo-text-emphasis)}.alert-purple{--bs-alert-color: var(--bs-purple-text-emphasis);--bs-alert-bg: var(--bs-purple-bg-subtle);--bs-alert-border-color: var(--bs-purple-border-subtle);--bs-alert-link-color: var(--bs-purple-text-emphasis)}.alert-pink{--bs-alert-color: var(--bs-pink-text-emphasis);--bs-alert-bg: var(--bs-pink-bg-subtle);--bs-alert-border-color: var(--bs-pink-border-subtle);--bs-alert-link-color: var(--bs-pink-text-emphasis)}.alert-red{--bs-alert-color: var(--bs-red-text-emphasis);--bs-alert-bg: var(--bs-red-bg-subtle);--bs-alert-border-color: var(--bs-red-border-subtle);--bs-alert-link-color: var(--bs-red-text-emphasis)}.alert-bordeaux-red{--bs-alert-color: var(--bs-bordeaux-red-text-emphasis);--bs-alert-bg: var(--bs-bordeaux-red-bg-subtle);--bs-alert-border-color: var(--bs-bordeaux-red-border-subtle);--bs-alert-link-color: var(--bs-bordeaux-red-text-emphasis)}.alert-brown{--bs-alert-color: var(--bs-brown-text-emphasis);--bs-alert-bg: var(--bs-brown-bg-subtle);--bs-alert-border-color: var(--bs-brown-border-subtle);--bs-alert-link-color: var(--bs-brown-text-emphasis)}.alert-cream{--bs-alert-color: var(--bs-cream-text-emphasis);--bs-alert-bg: var(--bs-cream-bg-subtle);--bs-alert-border-color: var(--bs-cream-border-subtle);--bs-alert-link-color: var(--bs-cream-text-emphasis)}.alert-orange{--bs-alert-color: var(--bs-orange-text-emphasis);--bs-alert-bg: var(--bs-orange-bg-subtle);--bs-alert-border-color: var(--bs-orange-border-subtle);--bs-alert-link-color: var(--bs-orange-text-emphasis)}.alert-yellow{--bs-alert-color: var(--bs-yellow-text-emphasis);--bs-alert-bg: var(--bs-yellow-bg-subtle);--bs-alert-border-color: var(--bs-yellow-border-subtle);--bs-alert-link-color: var(--bs-yellow-text-emphasis)}.alert-green{--bs-alert-color: var(--bs-green-text-emphasis);--bs-alert-bg: var(--bs-green-bg-subtle);--bs-alert-border-color: var(--bs-green-border-subtle);--bs-alert-link-color: var(--bs-green-text-emphasis)}.alert-teal{--bs-alert-color: var(--bs-teal-text-emphasis);--bs-alert-bg: var(--bs-teal-bg-subtle);--bs-alert-border-color: var(--bs-teal-border-subtle);--bs-alert-link-color: var(--bs-teal-text-emphasis)}.alert-cyan{--bs-alert-color: var(--bs-cyan-text-emphasis);--bs-alert-bg: var(--bs-cyan-bg-subtle);--bs-alert-border-color: var(--bs-cyan-border-subtle);--bs-alert-link-color: var(--bs-cyan-text-emphasis)}.alert-white{--bs-alert-color: var(--bs-white-text-emphasis);--bs-alert-bg: var(--bs-white-bg-subtle);--bs-alert-border-color: var(--bs-white-border-subtle);--bs-alert-link-color: var(--bs-white-text-emphasis)}.alert-gray{--bs-alert-color: var(--bs-gray-text-emphasis);--bs-alert-bg: var(--bs-gray-bg-subtle);--bs-alert-border-color: var(--bs-gray-border-subtle);--bs-alert-link-color: var(--bs-gray-text-emphasis)}.alert-gray-dark{--bs-alert-color: var(--bs-gray-dark-text-emphasis);--bs-alert-bg: var(--bs-gray-dark-bg-subtle);--bs-alert-border-color: var(--bs-gray-dark-border-subtle);--bs-alert-link-color: var(--bs-gray-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #ffcd00;--bs-progress-bar-transition: width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #ffcd00;--bs-list-group-active-border-color: #ffcd00;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-error{--bs-list-group-color: var(--bs-error-text-emphasis);--bs-list-group-bg: var(--bs-error-bg-subtle);--bs-list-group-border-color: var(--bs-error-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-error-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-error-border-subtle);--bs-list-group-active-color: var(--bs-error-bg-subtle);--bs-list-group-active-bg: var(--bs-error-text-emphasis);--bs-list-group-active-border-color: var(--bs-error-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.list-group-item-blue{--bs-list-group-color: var(--bs-blue-text-emphasis);--bs-list-group-bg: var(--bs-blue-bg-subtle);--bs-list-group-border-color: var(--bs-blue-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-blue-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-blue-border-subtle);--bs-list-group-active-color: var(--bs-blue-bg-subtle);--bs-list-group-active-bg: var(--bs-blue-text-emphasis);--bs-list-group-active-border-color: var(--bs-blue-text-emphasis)}.list-group-item-dark-blue{--bs-list-group-color: var(--bs-dark-blue-text-emphasis);--bs-list-group-bg: var(--bs-dark-blue-bg-subtle);--bs-list-group-border-color: var(--bs-dark-blue-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-blue-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-blue-border-subtle);--bs-list-group-active-color: var(--bs-dark-blue-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-blue-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-blue-text-emphasis)}.list-group-item-indigo{--bs-list-group-color: var(--bs-indigo-text-emphasis);--bs-list-group-bg: var(--bs-indigo-bg-subtle);--bs-list-group-border-color: var(--bs-indigo-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-indigo-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-indigo-border-subtle);--bs-list-group-active-color: var(--bs-indigo-bg-subtle);--bs-list-group-active-bg: var(--bs-indigo-text-emphasis);--bs-list-group-active-border-color: var(--bs-indigo-text-emphasis)}.list-group-item-purple{--bs-list-group-color: var(--bs-purple-text-emphasis);--bs-list-group-bg: var(--bs-purple-bg-subtle);--bs-list-group-border-color: var(--bs-purple-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-purple-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-purple-border-subtle);--bs-list-group-active-color: var(--bs-purple-bg-subtle);--bs-list-group-active-bg: var(--bs-purple-text-emphasis);--bs-list-group-active-border-color: var(--bs-purple-text-emphasis)}.list-group-item-pink{--bs-list-group-color: var(--bs-pink-text-emphasis);--bs-list-group-bg: var(--bs-pink-bg-subtle);--bs-list-group-border-color: var(--bs-pink-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-pink-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-pink-border-subtle);--bs-list-group-active-color: var(--bs-pink-bg-subtle);--bs-list-group-active-bg: var(--bs-pink-text-emphasis);--bs-list-group-active-border-color: var(--bs-pink-text-emphasis)}.list-group-item-red{--bs-list-group-color: var(--bs-red-text-emphasis);--bs-list-group-bg: var(--bs-red-bg-subtle);--bs-list-group-border-color: var(--bs-red-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-red-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-red-border-subtle);--bs-list-group-active-color: var(--bs-red-bg-subtle);--bs-list-group-active-bg: var(--bs-red-text-emphasis);--bs-list-group-active-border-color: var(--bs-red-text-emphasis)}.list-group-item-bordeaux-red{--bs-list-group-color: var(--bs-bordeaux-red-text-emphasis);--bs-list-group-bg: var(--bs-bordeaux-red-bg-subtle);--bs-list-group-border-color: var(--bs-bordeaux-red-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-bordeaux-red-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-bordeaux-red-border-subtle);--bs-list-group-active-color: var(--bs-bordeaux-red-bg-subtle);--bs-list-group-active-bg: var(--bs-bordeaux-red-text-emphasis);--bs-list-group-active-border-color: var(--bs-bordeaux-red-text-emphasis)}.list-group-item-brown{--bs-list-group-color: var(--bs-brown-text-emphasis);--bs-list-group-bg: var(--bs-brown-bg-subtle);--bs-list-group-border-color: var(--bs-brown-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-brown-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-brown-border-subtle);--bs-list-group-active-color: var(--bs-brown-bg-subtle);--bs-list-group-active-bg: var(--bs-brown-text-emphasis);--bs-list-group-active-border-color: var(--bs-brown-text-emphasis)}.list-group-item-cream{--bs-list-group-color: var(--bs-cream-text-emphasis);--bs-list-group-bg: var(--bs-cream-bg-subtle);--bs-list-group-border-color: var(--bs-cream-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-cream-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-cream-border-subtle);--bs-list-group-active-color: var(--bs-cream-bg-subtle);--bs-list-group-active-bg: var(--bs-cream-text-emphasis);--bs-list-group-active-border-color: var(--bs-cream-text-emphasis)}.list-group-item-orange{--bs-list-group-color: var(--bs-orange-text-emphasis);--bs-list-group-bg: var(--bs-orange-bg-subtle);--bs-list-group-border-color: var(--bs-orange-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-orange-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-orange-border-subtle);--bs-list-group-active-color: var(--bs-orange-bg-subtle);--bs-list-group-active-bg: var(--bs-orange-text-emphasis);--bs-list-group-active-border-color: var(--bs-orange-text-emphasis)}.list-group-item-yellow{--bs-list-group-color: var(--bs-yellow-text-emphasis);--bs-list-group-bg: var(--bs-yellow-bg-subtle);--bs-list-group-border-color: var(--bs-yellow-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-yellow-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-yellow-border-subtle);--bs-list-group-active-color: var(--bs-yellow-bg-subtle);--bs-list-group-active-bg: var(--bs-yellow-text-emphasis);--bs-list-group-active-border-color: var(--bs-yellow-text-emphasis)}.list-group-item-green{--bs-list-group-color: var(--bs-green-text-emphasis);--bs-list-group-bg: var(--bs-green-bg-subtle);--bs-list-group-border-color: var(--bs-green-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-green-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-green-border-subtle);--bs-list-group-active-color: var(--bs-green-bg-subtle);--bs-list-group-active-bg: var(--bs-green-text-emphasis);--bs-list-group-active-border-color: var(--bs-green-text-emphasis)}.list-group-item-teal{--bs-list-group-color: var(--bs-teal-text-emphasis);--bs-list-group-bg: var(--bs-teal-bg-subtle);--bs-list-group-border-color: var(--bs-teal-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-teal-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-teal-border-subtle);--bs-list-group-active-color: var(--bs-teal-bg-subtle);--bs-list-group-active-bg: var(--bs-teal-text-emphasis);--bs-list-group-active-border-color: var(--bs-teal-text-emphasis)}.list-group-item-cyan{--bs-list-group-color: var(--bs-cyan-text-emphasis);--bs-list-group-bg: var(--bs-cyan-bg-subtle);--bs-list-group-border-color: var(--bs-cyan-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-cyan-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-cyan-border-subtle);--bs-list-group-active-color: var(--bs-cyan-bg-subtle);--bs-list-group-active-bg: var(--bs-cyan-text-emphasis);--bs-list-group-active-border-color: var(--bs-cyan-text-emphasis)}.list-group-item-white{--bs-list-group-color: var(--bs-white-text-emphasis);--bs-list-group-bg: var(--bs-white-bg-subtle);--bs-list-group-border-color: var(--bs-white-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-white-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-white-border-subtle);--bs-list-group-active-color: var(--bs-white-bg-subtle);--bs-list-group-active-bg: var(--bs-white-text-emphasis);--bs-list-group-active-border-color: var(--bs-white-text-emphasis)}.list-group-item-gray{--bs-list-group-color: var(--bs-gray-text-emphasis);--bs-list-group-bg: var(--bs-gray-bg-subtle);--bs-list-group-border-color: var(--bs-gray-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-gray-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-gray-border-subtle);--bs-list-group-active-color: var(--bs-gray-bg-subtle);--bs-list-group-active-bg: var(--bs-gray-text-emphasis);--bs-list-group-active-border-color: var(--bs-gray-text-emphasis)}.list-group-item-gray-dark{--bs-list-group-color: var(--bs-gray-dark-text-emphasis);--bs-list-group-bg: var(--bs-gray-dark-bg-subtle);--bs-list-group-border-color: var(--bs-gray-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-gray-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-gray-dark-border-subtle);--bs-list-group-active-color: var(--bs-gray-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-gray-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-gray-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(255, 205, 0, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:0;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 0;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 9002;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: #212121;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: 0;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius: 0;--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 0;--bs-modal-title-line-height: 1.6;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 0.0625rem;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin:calc(-0.5*var(--bs-modal-header-padding-y)) calc(-0.5*var(--bs-modal-header-padding-x)) calc(-0.5*var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.6}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%}}.accordion-item{margin-bottom:1rem}.alert-primary{--bs-alert-color: #000;--bs-alert-bg: #fff5cc;--bs-alert-border-color: #fff0b3;--bs-alert-link-color: #000}.alert-secondary{--bs-alert-color: #000;--bs-alert-bg: #cccccc;--bs-alert-border-color: #b3b3b3;--bs-alert-link-color: #000}.alert-success{--bs-alert-color: #000;--bs-alert-bg: #d5f1d8;--bs-alert-border-color: #c0eac5;--bs-alert-link-color: #000}.alert-info{--bs-alert-color: #000;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb;--bs-alert-link-color: #000}.alert-warning{--bs-alert-color: #000;--bs-alert-bg: #fdeadf;--bs-alert-border-color: #fbe0cf;--bs-alert-link-color: #000}.alert-danger{--bs-alert-color: #000;--bs-alert-bg: #f2ced7;--bs-alert-border-color: #ecb6c2;--bs-alert-link-color: #000}.alert-error{--bs-alert-color: #000;--bs-alert-bg: #f2ced7;--bs-alert-border-color: #ecb6c2;--bs-alert-link-color: #000}.alert-light{--bs-alert-color: #000;--bs-alert-bg: #fcfcfc;--bs-alert-border-color: #fafafa;--bs-alert-link-color: #000}.alert-dark{--bs-alert-color: #000;--bs-alert-bg: #d4d4d4;--bs-alert-border-color: #bebebe;--bs-alert-link-color: #000}.alert-blue{--bs-alert-color: #000;--bs-alert-bg: #dce7f4;--bs-alert-border-color: #cbdbee;--bs-alert-link-color: #000}.alert-dark-blue{--bs-alert-color: #000;--bs-alert-bg: #ccd0d9;--bs-alert-border-color: #b3b8c6;--bs-alert-link-color: #000}.alert-indigo{--bs-alert-color: #000;--bs-alert-bg: #e0cffc;--bs-alert-border-color: #d1b7fb;--bs-alert-link-color: #000}.alert-purple{--bs-alert-color: #000;--bs-alert-bg: #ded3e6;--bs-alert-border-color: #cebcda;--bs-alert-link-color: #000}.alert-pink{--bs-alert-color: #000;--bs-alert-bg: #f7d6e6;--bs-alert-border-color: #f3c2da;--bs-alert-link-color: #000}.alert-red{--bs-alert-color: #000;--bs-alert-bg: #f2ced7;--bs-alert-border-color: #ecb6c2;--bs-alert-link-color: #000}.alert-bordeaux-red{--bs-alert-color: #000;--bs-alert-bg: #eed0dd;--bs-alert-border-color: #e6b9cc;--bs-alert-link-color: #000}.alert-brown{--bs-alert-color: #000;--bs-alert-bg: #e2d8d3;--bs-alert-border-color: #d4c4bd;--bs-alert-link-color: #000}.alert-cream{--bs-alert-color: #000;--bs-alert-bg: #fffaee;--bs-alert-border-color: #fff8e6;--bs-alert-link-color: #000}.alert-orange{--bs-alert-color: #000;--bs-alert-bg: #fdeadf;--bs-alert-border-color: #fbe0cf;--bs-alert-link-color: #000}.alert-yellow{--bs-alert-color: #000;--bs-alert-bg: #fff5cc;--bs-alert-border-color: #fff0b3;--bs-alert-link-color: #000}.alert-green{--bs-alert-color: #000;--bs-alert-bg: #d5f1d8;--bs-alert-border-color: #c0eac5;--bs-alert-link-color: #000}.alert-teal{--bs-alert-color: #000;--bs-alert-bg: #d3ede9;--bs-alert-border-color: #bde5df;--bs-alert-link-color: #000}.alert-cyan{--bs-alert-color: #000;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb;--bs-alert-link-color: #000}.alert-white{--bs-alert-color: #000;--bs-alert-bg: white;--bs-alert-border-color: white;--bs-alert-link-color: #000}.alert-gray{--bs-alert-color: #000;--bs-alert-bg: #e2e2e2;--bs-alert-border-color: lightgray;--bs-alert-link-color: #000}.alert-gray-dark{--bs-alert-color: #000;--bs-alert-bg: #d6d6d6;--bs-alert-border-color: #c2c2c2;--bs-alert-link-color: #000}.alert p:last-child{margin-bottom:0}.text-bg-hover-primary:hover{color:#000 !important;background-color:RGBA(255, 205, 0, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-secondary:hover{color:#fff !important;background-color:RGBA(0, 0, 0, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-success:hover{color:#000 !important;background-color:RGBA(45, 184, 61, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-info:hover{color:#000 !important;background-color:RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-warning:hover{color:#000 !important;background-color:RGBA(243, 150, 94, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-danger:hover{color:#fff !important;background-color:RGBA(192, 10, 53, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-error:hover{color:#fff !important;background-color:RGBA(192, 10, 53, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-light:hover{color:#000 !important;background-color:RGBA(239, 239, 239, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-dark:hover{color:#fff !important;background-color:RGBA(38, 38, 38, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-blue:hover{color:#fff !important;background-color:RGBA(82, 135, 198, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-dark-blue:hover{color:#fff !important;background-color:RGBA(0, 18, 64, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-indigo:hover{color:#fff !important;background-color:RGBA(102, 16, 242, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-purple:hover{color:#fff !important;background-color:RGBA(91, 33, 130, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-pink:hover{color:#fff !important;background-color:RGBA(214, 51, 132, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-red:hover{color:#fff !important;background-color:RGBA(192, 10, 53, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-bordeaux-red:hover{color:#fff !important;background-color:RGBA(170, 21, 85, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-brown:hover{color:#fff !important;background-color:RGBA(110, 59, 35, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-cream:hover{color:#000 !important;background-color:RGBA(255, 230, 171, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-orange:hover{color:#000 !important;background-color:RGBA(243, 150, 94, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-yellow:hover{color:#000 !important;background-color:RGBA(255, 205, 0, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-green:hover{color:#000 !important;background-color:RGBA(45, 184, 61, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-teal:hover{color:#000 !important;background-color:RGBA(36, 167, 147, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-cyan:hover{color:#000 !important;background-color:RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-white:hover{color:#000 !important;background-color:RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-gray:hover{color:#fff !important;background-color:RGBA(108, 108, 108, var(--bs-bg-opacity, 1)) !important}.text-bg-hover-gray-dark:hover{color:#fff !important;background-color:RGBA(52, 52, 52, var(--bs-bg-opacity, 1)) !important}.btn{font-weight:bold}.btn.btn-arrow-right:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn.btn-arrow-left:not([class^=btn-outline]):not([class*=" btn-outline"]){--bs-btn-border-width: 0;--bs-btn-padding-x: calc(1rem + var(--bs-border-width));--bs-btn-padding-y: calc(0.5rem + var(--bs-border-width))}.btn.btn-arrow-right.btn-sm:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-sm>.btn.btn-arrow-right:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn.btn-arrow-left.btn-sm:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-sm>.btn.btn-arrow-left:not([class^=btn-outline]):not([class*=" btn-outline"]){--bs-btn-border-width: 0;--bs-btn-padding-x: calc(0.5rem + var(--bs-border-width));--bs-btn-padding-y: calc(0.25rem + var(--bs-border-width))}.btn.btn-arrow-right.btn-lg:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-lg>.btn.btn-arrow-right:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn.btn-arrow-left.btn-lg:not([class^=btn-outline]):not([class*=" btn-outline"]),.btn-group-lg>.btn.btn-arrow-left:not([class^=btn-outline]):not([class*=" btn-outline"]){--bs-btn-border-width: 0;--bs-btn-padding-x: calc(1rem + var(--bs-border-width));--bs-btn-padding-y: calc(0.5rem + var(--bs-border-width))}.btn.btn-arrow-right::after,.btn.btn-arrow-right::before,.btn.btn-arrow-left::after,.btn.btn-arrow-left::before{display:inline-block;font-weight:900;border:.0625rem solid rgba(0,0,0,0);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn.btn-arrow-right::after,.btn.btn-arrow-right::before,.btn.btn-arrow-left::after,.btn.btn-arrow-left::before{transition:none}}.btn.btn-arrow-right:hover::after,.btn.btn-arrow-right:hover::before,.btn.btn-arrow-left:hover::after,.btn.btn-arrow-left:hover::before{background:var(--bs-btn-hover-color);color:var(--bs-btn-hover-bg);border-color:#000}.btn.btn-arrow-right::after{content:">";padding:var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x)) var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x));margin:calc(0px - var(--bs-btn-padding-y)) calc(0px - var(--bs-btn-padding-x)) calc(0px - var(--bs-btn-padding-y)) calc(.7*var(--bs-btn-padding-x));border-top-right-radius:var(--bs-btn-border-radius);border-bottom-right-radius:var(--bs-btn-border-radius)}.btn.btn-arrow-left::before{content:"<";padding:var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x)) var(--bs-btn-padding-y) calc(.8*var(--bs-btn-padding-x));margin:calc(0px - var(--bs-btn-padding-y)) calc(.7*var(--bs-btn-padding-x)) calc(0px - var(--bs-btn-padding-y)) calc(0px - var(--bs-btn-padding-x));border-top-left-radius:var(--bs-btn-border-radius);border-bottom-left-radius:var(--bs-btn-border-radius)}.btn.btn-loading{position:relative;color:rgba(0,0,0,0)}.btn.btn-loading .btn-text{color:rgba(0,0,0,0)}.btn.btn-loading::after{border:.125rem solid #000;border-radius:999999px;border-top-color:rgba(0,0,0,0) !important;content:"";display:block;height:1em;width:1em;position:absolute;left:calc(50% - .5em);top:calc(50% - .5em);animation:spinner-border .5s infinite linear}.btn.btn-loading.btn-primary::after{border-color:#000}.btn.btn-loading.btn-secondary::after{border-color:#fff}.btn.btn-loading.btn-success::after{border-color:#000}.btn.btn-loading.btn-info::after{border-color:#000}.btn.btn-loading.btn-warning::after{border-color:#000}.btn.btn-loading.btn-danger::after{border-color:#fff}.btn.btn-loading.btn-error::after{border-color:#fff}.btn.btn-loading.btn-light::after{border-color:#000}.btn.btn-loading.btn-dark::after{border-color:#fff}.btn.btn-loading.btn-blue::after{border-color:#fff}.btn.btn-loading.btn-dark-blue::after{border-color:#fff}.btn.btn-loading.btn-indigo::after{border-color:#fff}.btn.btn-loading.btn-purple::after{border-color:#fff}.btn.btn-loading.btn-pink::after{border-color:#fff}.btn.btn-loading.btn-red::after{border-color:#fff}.btn.btn-loading.btn-bordeaux-red::after{border-color:#fff}.btn.btn-loading.btn-brown::after{border-color:#fff}.btn.btn-loading.btn-cream::after{border-color:#000}.btn.btn-loading.btn-orange::after{border-color:#000}.btn.btn-loading.btn-yellow::after{border-color:#000}.btn.btn-loading.btn-green::after{border-color:#000}.btn.btn-loading.btn-teal::after{border-color:#000}.btn.btn-loading.btn-cyan::after{border-color:#000}.btn.btn-loading.btn-white::after{border-color:#000}.btn.btn-loading.btn-gray::after{border-color:#fff}.btn.btn-loading.btn-gray-dark::after{border-color:#fff}.btn-group{gap:.5rem}.btn-check:checked+.btn.btn-checked-primary,.btn-check:active+.btn.btn-checked-primary{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-check:checked+.btn.btn-checked-outline-primary,.btn-check:active+.btn.btn-checked-outline-primary{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-secondary,.btn-check:active+.btn.btn-checked-secondary{--bs-btn-color: #fff;--bs-btn-bg: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: black;--bs-btn-hover-border-color: black;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: black;--bs-btn-active-border-color: black;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #000;--bs-btn-disabled-border-color: #000}.btn-check:checked+.btn.btn-checked-outline-secondary,.btn-check:active+.btn.btn-checked-outline-secondary{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #000;--bs-btn-border-color: #000;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #000;--bs-btn-hover-border-color: #000;--bs-btn-focus-shadow-rgb: 0, 0, 0;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000;--bs-btn-active-border-color: #000;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #000;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-success,.btn-check:active+.btn.btn-checked-success{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-check:checked+.btn.btn-checked-outline-success,.btn-check:active+.btn.btn-checked-outline-success{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-info,.btn-check:active+.btn.btn-checked-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-check:checked+.btn.btn-checked-outline-info,.btn-check:active+.btn.btn-checked-outline-info{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-warning,.btn-check:active+.btn.btn-checked-warning{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-check:checked+.btn.btn-checked-outline-warning,.btn-check:active+.btn.btn-checked-outline-warning{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-danger,.btn-check:active+.btn.btn-checked-danger{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-check:checked+.btn.btn-checked-outline-danger,.btn-check:active+.btn.btn-checked-outline-danger{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-error,.btn-check:active+.btn.btn-checked-error{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-check:checked+.btn.btn-checked-outline-error,.btn-check:active+.btn.btn-checked-outline-error{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-light,.btn-check:active+.btn.btn-checked-light{--bs-btn-color: #000;--bs-btn-bg: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #bfbfbf;--bs-btn-focus-shadow-rgb: 203, 203, 203;--bs-btn-active-color: #000;--bs-btn-active-bg: #bfbfbf;--bs-btn-active-border-color: #b3b3b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #efefef;--bs-btn-disabled-border-color: #efefef}.btn-check:checked+.btn.btn-checked-outline-light,.btn-check:active+.btn.btn-checked-outline-light{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #efefef;--bs-btn-border-color: #efefef;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #efefef;--bs-btn-hover-border-color: #efefef;--bs-btn-focus-shadow-rgb: 239, 239, 239;--bs-btn-active-color: #000;--bs-btn-active-bg: #efefef;--bs-btn-active-border-color: #efefef;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #efefef;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #efefef;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-dark,.btn-check:active+.btn.btn-checked-dark{--bs-btn-color: #fff;--bs-btn-bg: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #3c3c3c;--bs-btn-focus-shadow-rgb: 71, 71, 71;--bs-btn-active-color: #fff;--bs-btn-active-bg: #515151;--bs-btn-active-border-color: #3c3c3c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #262626;--bs-btn-disabled-border-color: #262626}.btn-check:checked+.btn.btn-checked-outline-dark,.btn-check:active+.btn.btn-checked-outline-dark{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #262626;--bs-btn-border-color: #262626;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #262626;--bs-btn-hover-border-color: #262626;--bs-btn-focus-shadow-rgb: 38, 38, 38;--bs-btn-active-color: #fff;--bs-btn-active-bg: #262626;--bs-btn-active-border-color: #262626;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #262626;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #262626;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-blue,.btn-check:active+.btn.btn-checked-blue{--bs-btn-color: #fff;--bs-btn-bg: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #426c9e;--bs-btn-focus-shadow-rgb: 108, 153, 207;--bs-btn-active-color: #fff;--bs-btn-active-bg: #426c9e;--bs-btn-active-border-color: #3e6595;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5287c6;--bs-btn-disabled-border-color: #5287c6}.btn-check:checked+.btn.btn-checked-outline-blue,.btn-check:active+.btn.btn-checked-outline-blue{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #5287c6;--bs-btn-border-color: #5287c6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5287c6;--bs-btn-hover-border-color: #5287c6;--bs-btn-focus-shadow-rgb: 82, 135, 198;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5287c6;--bs-btn-active-border-color: #5287c6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5287c6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5287c6;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-dark-blue,.btn-check:active+.btn.btn-checked-dark-blue{--bs-btn-color: #fff;--bs-btn-bg: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #000e33;--bs-btn-focus-shadow-rgb: 38, 54, 93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #000e33;--bs-btn-active-border-color: #000e30;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #001240;--bs-btn-disabled-border-color: #001240}.btn-check:checked+.btn.btn-checked-outline-dark-blue,.btn-check:active+.btn.btn-checked-outline-dark-blue{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #001240;--bs-btn-border-color: #001240;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #001240;--bs-btn-hover-border-color: #001240;--bs-btn-focus-shadow-rgb: 0, 18, 64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #001240;--bs-btn-active-border-color: #001240;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #001240;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #001240;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-indigo,.btn-check:active+.btn.btn-checked-indigo{--bs-btn-color: #fff;--bs-btn-bg: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #520dc2;--bs-btn-focus-shadow-rgb: 125, 52, 244;--bs-btn-active-color: #fff;--bs-btn-active-bg: #520dc2;--bs-btn-active-border-color: #4d0cb6;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6610f2;--bs-btn-disabled-border-color: #6610f2}.btn-check:checked+.btn.btn-checked-outline-indigo,.btn-check:active+.btn.btn-checked-outline-indigo{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #6610f2;--bs-btn-border-color: #6610f2;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6610f2;--bs-btn-hover-border-color: #6610f2;--bs-btn-focus-shadow-rgb: 102, 16, 242;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6610f2;--bs-btn-active-border-color: #6610f2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6610f2;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6610f2;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-purple,.btn-check:active+.btn.btn-checked-purple{--bs-btn-color: #fff;--bs-btn-bg: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #491a68;--bs-btn-focus-shadow-rgb: 116, 66, 149;--bs-btn-active-color: #fff;--bs-btn-active-bg: #491a68;--bs-btn-active-border-color: #441962;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #5b2182;--bs-btn-disabled-border-color: #5b2182}.btn-check:checked+.btn.btn-checked-outline-purple,.btn-check:active+.btn.btn-checked-outline-purple{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #5b2182;--bs-btn-border-color: #5b2182;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5b2182;--bs-btn-hover-border-color: #5b2182;--bs-btn-focus-shadow-rgb: 91, 33, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5b2182;--bs-btn-active-border-color: #5b2182;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #5b2182;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #5b2182;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-pink,.btn-check:active+.btn.btn-checked-pink{--bs-btn-color: #fff;--bs-btn-bg: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #ab296a;--bs-btn-focus-shadow-rgb: 220, 82, 150;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ab296a;--bs-btn-active-border-color: #a12663;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d63384;--bs-btn-disabled-border-color: #d63384}.btn-check:checked+.btn.btn-checked-outline-pink,.btn-check:active+.btn.btn-checked-outline-pink{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #d63384;--bs-btn-border-color: #d63384;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d63384;--bs-btn-hover-border-color: #d63384;--bs-btn-focus-shadow-rgb: 214, 51, 132;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d63384;--bs-btn-active-border-color: #d63384;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #d63384;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #d63384;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-red,.btn-check:active+.btn.btn-checked-red{--bs-btn-color: #fff;--bs-btn-bg: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #9a082a;--bs-btn-focus-shadow-rgb: 201, 47, 83;--bs-btn-active-color: #fff;--bs-btn-active-bg: #9a082a;--bs-btn-active-border-color: #900828;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #c00a35;--bs-btn-disabled-border-color: #c00a35}.btn-check:checked+.btn.btn-checked-outline-red,.btn-check:active+.btn.btn-checked-outline-red{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #c00a35;--bs-btn-border-color: #c00a35;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #c00a35;--bs-btn-hover-border-color: #c00a35;--bs-btn-focus-shadow-rgb: 192, 10, 53;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c00a35;--bs-btn-active-border-color: #c00a35;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #c00a35;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c00a35;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-bordeaux-red,.btn-check:active+.btn.btn-checked-bordeaux-red{--bs-btn-color: #fff;--bs-btn-bg: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #881144;--bs-btn-focus-shadow-rgb: 183, 56, 111;--bs-btn-active-color: #fff;--bs-btn-active-bg: #881144;--bs-btn-active-border-color: #801040;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #aa1555;--bs-btn-disabled-border-color: #aa1555}.btn-check:checked+.btn.btn-checked-outline-bordeaux-red,.btn-check:active+.btn.btn-checked-outline-bordeaux-red{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #aa1555;--bs-btn-border-color: #aa1555;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #aa1555;--bs-btn-hover-border-color: #aa1555;--bs-btn-focus-shadow-rgb: 170, 21, 85;--bs-btn-active-color: #fff;--bs-btn-active-bg: #aa1555;--bs-btn-active-border-color: #aa1555;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #aa1555;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #aa1555;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-brown,.btn-check:active+.btn.btn-checked-brown{--bs-btn-color: #fff;--bs-btn-bg: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #582f1c;--bs-btn-focus-shadow-rgb: 132, 88, 68;--bs-btn-active-color: #fff;--bs-btn-active-bg: #582f1c;--bs-btn-active-border-color: #532c1a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6e3b23;--bs-btn-disabled-border-color: #6e3b23}.btn-check:checked+.btn.btn-checked-outline-brown,.btn-check:active+.btn.btn-checked-outline-brown{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #6e3b23;--bs-btn-border-color: #6e3b23;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6e3b23;--bs-btn-hover-border-color: #6e3b23;--bs-btn-focus-shadow-rgb: 110, 59, 35;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6e3b23;--bs-btn-active-border-color: #6e3b23;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6e3b23;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6e3b23;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-cream,.btn-check:active+.btn.btn-checked-cream{--bs-btn-color: #000;--bs-btn-bg: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe9b3;--bs-btn-focus-shadow-rgb: 217, 196, 145;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffebbc;--bs-btn-active-border-color: #ffe9b3;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffe6ab;--bs-btn-disabled-border-color: #ffe6ab}.btn-check:checked+.btn.btn-checked-outline-cream,.btn-check:active+.btn.btn-checked-outline-cream{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #ffe6ab;--bs-btn-border-color: #ffe6ab;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffe6ab;--bs-btn-hover-border-color: #ffe6ab;--bs-btn-focus-shadow-rgb: 255, 230, 171;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffe6ab;--bs-btn-active-border-color: #ffe6ab;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffe6ab;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffe6ab;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-orange,.btn-check:active+.btn.btn-checked-orange{--bs-btn-color: #000;--bs-btn-bg: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f4a16e;--bs-btn-focus-shadow-rgb: 207, 128, 80;--bs-btn-active-color: #000;--bs-btn-active-bg: #f5ab7e;--bs-btn-active-border-color: #f4a16e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f3965e;--bs-btn-disabled-border-color: #f3965e}.btn-check:checked+.btn.btn-checked-outline-orange,.btn-check:active+.btn.btn-checked-outline-orange{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #f3965e;--bs-btn-border-color: #f3965e;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f3965e;--bs-btn-hover-border-color: #f3965e;--bs-btn-focus-shadow-rgb: 243, 150, 94;--bs-btn-active-color: #000;--bs-btn-active-bg: #f3965e;--bs-btn-active-border-color: #f3965e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #f3965e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f3965e;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-yellow,.btn-check:active+.btn.btn-checked-yellow{--bs-btn-color: #000;--bs-btn-bg: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffd21a;--bs-btn-focus-shadow-rgb: 217, 174, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffd733;--bs-btn-active-border-color: #ffd21a;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffcd00;--bs-btn-disabled-border-color: #ffcd00}.btn-check:checked+.btn.btn-checked-outline-yellow,.btn-check:active+.btn.btn-checked-outline-yellow{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #ffcd00;--bs-btn-border-color: #ffcd00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffcd00;--bs-btn-hover-border-color: #ffcd00;--bs-btn-focus-shadow-rgb: 255, 205, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd00;--bs-btn-active-border-color: #ffcd00;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #ffcd00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffcd00;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-green,.btn-check:active+.btn.btn-checked-green{--bs-btn-color: #000;--bs-btn-bg: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #42bf50;--bs-btn-focus-shadow-rgb: 38, 156, 52;--bs-btn-active-color: #000;--bs-btn-active-bg: #57c664;--bs-btn-active-border-color: #42bf50;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #2db83d;--bs-btn-disabled-border-color: #2db83d}.btn-check:checked+.btn.btn-checked-outline-green,.btn-check:active+.btn.btn-checked-outline-green{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #2db83d;--bs-btn-border-color: #2db83d;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #2db83d;--bs-btn-hover-border-color: #2db83d;--bs-btn-focus-shadow-rgb: 45, 184, 61;--bs-btn-active-color: #000;--bs-btn-active-bg: #2db83d;--bs-btn-active-border-color: #2db83d;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #2db83d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #2db83d;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-teal,.btn-check:active+.btn.btn-checked-teal{--bs-btn-color: #000;--bs-btn-bg: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #3ab09e;--bs-btn-focus-shadow-rgb: 31, 142, 125;--bs-btn-active-color: #000;--bs-btn-active-bg: #50b9a9;--bs-btn-active-border-color: #3ab09e;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #24a793;--bs-btn-disabled-border-color: #24a793}.btn-check:checked+.btn.btn-checked-outline-teal,.btn-check:active+.btn.btn-checked-outline-teal{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #24a793;--bs-btn-border-color: #24a793;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #24a793;--bs-btn-hover-border-color: #24a793;--bs-btn-focus-shadow-rgb: 36, 167, 147;--bs-btn-active-color: #000;--bs-btn-active-bg: #24a793;--bs-btn-active-border-color: #24a793;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #24a793;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #24a793;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-cyan,.btn-check:active+.btn.btn-checked-cyan{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-check:checked+.btn.btn-checked-outline-cyan,.btn-check:active+.btn.btn-checked-outline-cyan{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-white,.btn-check:active+.btn.btn-checked-white{--bs-btn-color: #000;--bs-btn-bg: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: white;--bs-btn-hover-border-color: white;--bs-btn-focus-shadow-rgb: 217, 217, 217;--bs-btn-active-color: #000;--bs-btn-active-bg: white;--bs-btn-active-border-color: white;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #fff;--bs-btn-disabled-border-color: #fff}.btn-check:checked+.btn.btn-checked-outline-white,.btn-check:active+.btn.btn-checked-outline-white{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #fff;--bs-btn-border-color: #fff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #fff;--bs-btn-hover-border-color: #fff;--bs-btn-focus-shadow-rgb: 255, 255, 255;--bs-btn-active-color: #000;--bs-btn-active-bg: #fff;--bs-btn-active-border-color: #fff;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #fff;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-gray,.btn-check:active+.btn.btn-checked-gray{--bs-btn-color: #fff;--bs-btn-bg: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #565656;--bs-btn-focus-shadow-rgb: 130, 130, 130;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565656;--bs-btn-active-border-color: #515151;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c6c6c;--bs-btn-disabled-border-color: #6c6c6c}.btn-check:checked+.btn.btn-checked-outline-gray,.btn-check:active+.btn.btn-checked-outline-gray{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #6c6c6c;--bs-btn-border-color: #6c6c6c;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c6c6c;--bs-btn-hover-border-color: #6c6c6c;--bs-btn-focus-shadow-rgb: 108, 108, 108;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c6c6c;--bs-btn-active-border-color: #6c6c6c;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #6c6c6c;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c6c6c;--bs-gradient: none}.btn-check:checked+.btn.btn-checked-gray-dark,.btn-check:active+.btn.btn-checked-gray-dark{--bs-btn-color: #fff;--bs-btn-bg: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #2a2a2a;--bs-btn-focus-shadow-rgb: 82, 82, 82;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2a2a2a;--bs-btn-active-border-color: #272727;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343434;--bs-btn-disabled-border-color: #343434}.btn-check:checked+.btn.btn-checked-outline-gray-dark,.btn-check:active+.btn.btn-checked-outline-gray-dark{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);--bs-btn-color: #343434;--bs-btn-border-color: #343434;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343434;--bs-btn-hover-border-color: #343434;--bs-btn-focus-shadow-rgb: 52, 52, 52;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343434;--bs-btn-active-border-color: #343434;--bs-btn-active-shadow: none;--bs-btn-disabled-color: #343434;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343434;--bs-gradient: none}.pagination{--bs-pagination-gap: 0.625rem;--bs-pagination-size: 2.5rem;--bs-pagination-button-bg: #000;--bs-pagination-button-color: #fff;--bs-pagination-ellipsis-color: #494949;gap:var(--bs-pagination-gap)}.pagination .page-item{height:100%}.pagination .page-item .page-link{cursor:pointer;height:var(--bs-pagination-size);line-height:var(--bs-pagination-size);padding-top:0;padding-bottom:0;text-align:center}.pagination .page-item:not(.page-button):not(.next):not(.previous):not(.first):not(.last) .page-link{width:var(--bs-pagination-size);padding:0}.pagination .page-item.page-button{font-weight:bold;user-select:none}.pagination .page-item.page-button .page-link{background-color:var(--bs-pagination-button-bg);color:var(--bs-pagination-button-color)}.pagination .page-item.page-button.disabled{cursor:not-allowed}.pagination .page-item.page-button.disabled .page-link{background-color:var(--bs-pagination-disabled-bg);color:var(--bs-pagination-disabled-color)}.pagination .page-item.active{font-weight:bold}.pagination .page-item.page-ellipsis .page-link{background:rgba(0,0,0,0);cursor:default;font-size:0}.pagination .page-item.page-ellipsis .page-link:before{font-size:1rem;color:var(--bs-pagination-ellipsis-color);content:"…"}[data-bs-theme=dark] .pagination{--bs-pagination-button-bg-dark: #000;--bs-pagination-ellipsis-color: #dedede;--bs-pagination-color: #fff;--bs-pagination-bg: #6c6c6c;--bs-pagination-focus-color: #000;--bs-pagination-focus-bg: #ffcd00;--bs-pagination-hover-color: #000;--bs-pagination-hover-bg: #ffcd00;--bs-pagination-active-color: #000;--bs-pagination-active-bg: #ffcd00;--bs-pagination-disabled-color: #adadad;--bs-pagination-disabled-bg: #494949}.modal{--bs-modal-header-bg: #ffcd00;--bs-modal-header-color: #000;--bs-modal-header-font-weight: 500}.modal .modal-header{background-color:var(--bs-modal-header-bg);color:var(--bs-modal-header-color);font-weight:var(--bs-modal-header-font-weight)}[data-bs-theme=dark] .modal{--bs-modal-bg: #343434;--bs-modal-color: #efefef;--bs-modal-header-bg: #ffcd00;--bs-modal-header-color: #000}.table.table-sticky-header thead,.table-sticky-header.dt thead,.table-sticky-header.datatables thead{position:sticky;top:0}.table.table-sticky-header.table-sticky-header-top-0 thead,.table-sticky-header.table-sticky-header-top-0.dt thead,.table-sticky-header.table-sticky-header-top-0.datatables thead{top:0 !important}.table.table-sticky-footer tfoot,.table-sticky-footer.dt tfoot,.table-sticky-footer.datatables tfoot{position:sticky;bottom:0}.table.loading tbody,.loading.dt tbody,.loading.datatables tbody{position:relative}.table.loading tbody td,.loading.dt tbody td,.loading.datatables tbody td{opacity:.4}.table.loading tbody:after,.loading.dt tbody:after,.loading.datatables tbody:after{border:.2rem solid var(--bs-secondary);border-radius:999999px;border-top-color:rgba(0,0,0,0) !important;content:"";display:block;height:3em;width:3em;position:absolute;left:calc(50% - 1.5em);top:calc(50% - 1.5em);animation:spinner-border .5s infinite linear}@media(max-width: 768px){.uu-root-container .table.table-sticky-header thead,.uu-root-container .table-sticky-header.dt thead,.uu-root-container .table-sticky-header.datatables thead{top:var(--bs-uu-navbar-mobile-height)}}.form-control,.form-select{--bs-input-bg: #fff;background-color:var(--bs-input-bg)}[data-bs-theme=dark] .form-control,[data-bs-theme=dark] .form-select{--bs-input-bg: #212121}.flex-fill{min-width:0}.font-serif{font-family:"Merriweather",serif}h1.hdr-underlined,.hdr-underlined.h1{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h2.hdr-underlined,.hdr-underlined.h2{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h3.hdr-underlined,.hdr-underlined.h3{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h4.hdr-underlined,.hdr-underlined.h4{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h5.hdr-underlined,.hdr-underlined.h5{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h6.hdr-underlined,.hdr-underlined.h6{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}h7.hdr-underlined{border-bottom:.0625rem solid #cecece;padding-bottom:.625rem}code,pre.code{--bs-code-bg: #cecece;--bs-code-color: #000;--bs-code-border-radius: 0.2em;--bs-code-padding-y: 0.2em;--bs-code-padding-x: 0.4em;--bs-code-font-size: 0.85em;background:var(--bs-code-bg);color:var(--bs-code-color);padding:var(--bs-code-padding-y) var(--bs-code-padding-x);margin:0;font-size:var(--bs-code-font-size);border-radius:var(--bs-code-border-radius)}pre.code{overflow:auto}[data-bs-theme=dark] code,[data-bs-theme=dark] pre.code{--bs-code-bg: #494949;--bs-code-color: #fff}.stepper{--bs-stepper-color: #212121;--bs-stepper-disabled-color: var(--bs-secondary-color);--bs-stepper-complete-bg: #75b798;--bs-stepper-complete-color: #000;--bs-stepper-incomplete-bg: #ffcd00;--bs-stepper-incomplete-color: #000;--bs-stepper-inactive-bg: #cecece;--bs-stepper-inactive-color: #000;--bs-stepper-min-width: 15.625rem;--bs-stepper-padding-y: 0.75rem;--bs-stepper-line-width: 0.125rem;position:relative;z-index:1;min-width:var(--bs-stepper-min-width)}.stepper a{text-decoration:none;color:var(--bs-stepper-color)}.stepper>ul::before{content:"";display:block;position:absolute;left:calc(2rem / 2 - 1px);top:1rem;height:calc(100% - 1rem);width:var(--bs-stepper-line-width);background:var(--bs-stepper-inactive-bg);z-index:-1}.stepper ul{list-style:none;padding-left:0;margin:0}.stepper ul li{line-height:2rem}.stepper ul li>.stepper-item{display:flex;flex-direction:row;align-items:center;gap:1rem}.stepper ul li>.stepper-item.active{font-weight:600}.stepper ul li>.stepper-item.disabled{color:var(--bs-stepper-disabled-color);font-style:italic}.stepper ul li>.stepper-item.complete .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.complete,.stepper ul li>.stepper-item.finished .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.finished{background:var(--bs-stepper-complete-bg);color:var(--bs-stepper-complete-color)}.stepper ul li>.stepper-item.incomplete .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.incomplete{background:var(--bs-stepper-incomplete-bg);color:var(--bs-stepper-incomplete-color)}.stepper ul li>.stepper-item.disabled .stepper-bubble,.stepper ul li>.stepper-item .stepper-bubble.disabled{font-style:normal}.stepper ul li>.stepper-item .stepper-bubble{background:var(--bs-stepper-inactive-bg);flex:0 0 auto;color:var(--bs-stepper-inactive-color);font-weight:bold;line-height:2rem;font-size:.8rem;display:inline-block;border-radius:100%;text-align:center}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-largest{width:2rem;height:2rem;margin-left:0rem;margin-right:0rem;line-height:2rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-large{width:1.66rem;height:1.66rem;margin-left:.17rem;margin-right:.77rem;line-height:1.66rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-medium{width:1.32rem;height:1.32rem;margin-left:.34rem;margin-right:1.54rem;line-height:1.32rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-normal{width:1.32rem;height:1.32rem;margin-left:.34rem;margin-right:1.54rem;line-height:1.32rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-small{width:.98rem;height:.98rem;margin-left:.51rem;margin-right:2.31rem;line-height:.98rem}.stepper ul li>.stepper-item .stepper-bubble.stepper-bubble-smallest{width:.64rem;height:.64rem;margin-left:.68rem;margin-right:3.08rem;line-height:.64rem}.stepper ul li:not(:last-of-type){padding-bottom:var(--bs-stepper-padding-y)}.stepper ul li>ul{padding-top:var(--bs-stepper-padding-y)}[data-bs-theme=dark] .stepper{--bs-stepper-color: #dedede;--bs-stepper-disabled-color: var(--bs-secondary-color);--bs-stepper-complete-bg: #198754;--bs-stepper-complete-color: #fff;--bs-stepper-incomplete-bg: #cc9a06;--bs-stepper-incomplete-color: #fff;--bs-stepper-inactive-bg: #6c6c6c;--bs-stepper-inactive-color: #fff}.tiles{--bs-tiles-gap: 0.625rem;--bs-tiles-padding: 1rem;--bs-tiles-bg: #efefef;--bs-tiles-color: #000;--bs-tiles-hover-bg: #ffcd00;--bs-tiles-hover-color: #000;--bs-tiles-n-xs: 2;--bs-tiles-n: var(--bs-tiles-n-xs);--bs-tiles-n-sm: 4;--bs-tiles-n-md: 5;--bs-tiles-n-lg: 6;--bs-tiles-n-xl: 7;width:100%;display:grid;gap:var(--bs-tiles-gap);grid-template-columns:repeat(var(--bs-tiles-n), 1fr)}@media(min-width: 576px){.tiles{--bs-tiles-n: var(--bs-tiles-n-sm)}}@media(min-width: 768px){.tiles{--bs-tiles-n: var(--bs-tiles-n-md)}}@media(min-width: 992px){.tiles{--bs-tiles-n: var(--bs-tiles-n-lg)}}@media(min-width: 1200px){.tiles{--bs-tiles-n: var(--bs-tiles-n-xl)}}.tiles .tile{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--bs-tiles-padding);aspect-ratio:1/1;background:var(--bs-tiles-bg);color:var(--bs-tiles-color)}.tiles .tile:hover{background:var(--bs-tiles-hover-bg);color:var(--bs-tiles-hover-color)}.tiles .tile p:last-child{margin:0}.tiles a.tile,.tiles .tile a{cursor:pointer;text-decoration:none}.tiles.tiles-n-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-12{--bs-tiles-n: 12 !important}@media(min-width: 576px){.tiles.tiles-n-sm-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-sm-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-sm-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-sm-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-sm-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-sm-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-sm-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-sm-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-sm-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-sm-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-sm-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-sm-12{--bs-tiles-n: 12 !important}}@media(min-width: 768px){.tiles.tiles-n-md-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-md-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-md-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-md-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-md-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-md-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-md-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-md-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-md-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-md-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-md-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-md-12{--bs-tiles-n: 12 !important}}@media(min-width: 992px){.tiles.tiles-n-lg-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-lg-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-lg-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-lg-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-lg-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-lg-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-lg-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-lg-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-lg-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-lg-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-lg-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-lg-12{--bs-tiles-n: 12 !important}}@media(min-width: 1200px){.tiles.tiles-n-xl-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-xl-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-xl-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-xl-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-xl-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-xl-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-xl-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-xl-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-xl-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-xl-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-xl-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-xl-12{--bs-tiles-n: 12 !important}}@media(min-width: 1400px){.tiles.tiles-n-xxl-1{--bs-tiles-n: 1 !important}.tiles.tiles-n-xxl-2{--bs-tiles-n: 2 !important}.tiles.tiles-n-xxl-3{--bs-tiles-n: 3 !important}.tiles.tiles-n-xxl-4{--bs-tiles-n: 4 !important}.tiles.tiles-n-xxl-5{--bs-tiles-n: 5 !important}.tiles.tiles-n-xxl-6{--bs-tiles-n: 6 !important}.tiles.tiles-n-xxl-7{--bs-tiles-n: 7 !important}.tiles.tiles-n-xxl-8{--bs-tiles-n: 8 !important}.tiles.tiles-n-xxl-9{--bs-tiles-n: 9 !important}.tiles.tiles-n-xxl-10{--bs-tiles-n: 10 !important}.tiles.tiles-n-xxl-11{--bs-tiles-n: 11 !important}.tiles.tiles-n-xxl-12{--bs-tiles-n: 12 !important}}[data-bs-theme=dark] .tiles{--bs-tiles-bg: #494949;--bs-tiles-color: #fff;--bs-tiles-hover-bg: #ffcd00;--bs-tiles-hover-color: #000}.modal-nav-tabs{--bs-modal-nav-tabs-gap: 0.625rem;--bs-modal-nav-tabs-color: inherit;--bs-modal-nav-tabs-bg: none;--bs-modal-nav-tabs-active-color: var(--bs-modal-color);--bs-modal-nav-tabs-active-bg: var(--bs-modal-bg);--bs-modal-nav-tabs-hover-color: #000;--bs-modal-nav-tabs-hover-bg: #efefef;margin-bottom:calc(0px - var(--bs-modal-header-padding-y));border-bottom:0;gap:var(--bs-modal-nav-tabs-gap);overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;max-width:100%}.modal-nav-tabs .nav-link{background-color:var(--bs-modal-nav-tabs-bg);color:var(--bs-modal-nav-tabs-color);white-space:nowrap}.modal-nav-tabs .nav-link.active{color:var(--bs-modal-nav-tabs-active-color);background-color:var(--bs-modal-nav-tabs-active-bg);border-color:rgba(0,0,0,0)}.modal-nav-tabs .nav-link:not(.active):hover,.modal-nav-tabs .nav-link:not(.active):focus{color:var(--bs-modal-nav-tabs-hover-color);background-color:var(--bs-modal-nav-tabs-hover-bg);border-color:rgba(0,0,0,0)}.uu-root-container{width:100%;max-width:var(--bs-uu-container-width);min-height:100vh;margin:0 auto;display:flex;align-items:center;flex-direction:column;padding:0;background:var(--bs-uu-container-bg);color:var(--bs-uu-container-color)}.uu-root-container{--bs-uu-container-width: 100rem;--bs-uu-container-bg: #fff;--bs-uu-container-color: #212529;--bs-uu-container-padding-y: 1rem;--bs-uu-container-padding-x: 1rem;--bs-uu-content-width: 75rem;--bs-uu-border-color: #cecece;--bs-uu-border-color-light: #e9e9e9;--bs-uu-border-color-dark: #343434;--bs-uu-header-padding-y: 0.7rem;--bs-uu-header-font-size: 0.9rem;--bs-uu-header-title-color: #094d8e;--bs-uu-header-border-gap: 1.2rem;--bs-uu-navbar-mobile-height: 3.125rem;--bs-uu-navbar-navlink-padding-x: 0.75rem;--bs-uu-navbar-navlink-padding-y: 0.75rem;--bs-uu-unified-header-height: 4.5rem;--bs-uu-unified-header-mobile-height: 3rem;--bs-uu-unified-header-border-size: 0.0625rem;--bs-uu-unified-header-padding-x: 2rem;--bs-uu-unified-header-padding-mobile-x: 1rem;--bs-uu-unified-header-navlink-indicator-height: 0.3125rem;--bs-uu-unified-header-navlink-mobile-bg: #000;--bs-uu-unified-header-navlink-mobile-color: #fff;--bs-uu-brand-padding-x: 2.5rem;--bs-uu-brand-padding-y: 1rem;--bs-uu-brand-logo-padding-x: 0;--bs-uu-brand-logo-padding-y: 0.5rem;--bs-uu-brand-sender-bg: #ffcd00;--bs-uu-brand-sender-color: #000;--bs-uu-brand-sender-min-width: 220px;--bs-uu-brand-sender-max-width: 300px;--bs-uu-footer-padding-y: 2.5rem;--bs-uu-footer-color: #cecece;--bs-uu-footer-background-color: #262626;--bs-uu-hero-bg: #ffcd00;--bs-uu-hero-color: #000;--bs-uu-hero-padding-y: 1rem;--bs-uu-hero-font-weight: 400;--bs-uu-cover-default-height: 400px;--bs-uu-cover-copyright-padding-x: 0.625rem;--bs-uu-cover-copyright-padding-y: 0.625rem;--bs-uu-cover-copyright-text-size: 0.8rem;--bs-uu-cover-copyright-text-color: #dedede;--bs-uu-cover-copyright-background-color: rgba(0, 0, 0, 0.5);--bs-uu-sidebar-width: 21.875rem;--bs-uu-sidebar-padding-x: 1.25rem;--bs-uu-sidebar-padding-y: 1.25rem;--bs-uu-sidebar-mobile-padding-y: 0.625rem;--bs-uu-sidebar-gap: 6.25rem;--bs-uu-sidebar-background: #e9e9e9;--bs-uu-sidebar-color: #212529;--bs-uu-sidebar-header-font-weight: 200;--bs-uu-sidebar-header-padding-y: 0.625rem;--bs-uu-sidebar-nav-padding-y: 0.4375rem;--bs-uu-sidebar-nav-padding-x: 0;--bs-uu-sidebar-nav-disabled-color: #6c6c6c;--bs-uu-sidebar-nav-active-font-weight: 600;--bs-uu-form-column-gap: 2rem;--bs-uu-form-row-gap: 1.5rem;--bs-uu-form-field-padding-x: 1.5rem;--bs-uu-form-field-padding-y: 1.3rem;--bs-uu-form-field-padding-y-compensation: 0.3125rem;--bs-uu-form-field-bg: #efefef;--bs-uu-form-field-input-group-bg: #f8f8f8;--bs-uu-form-aside-font-size: 0.9rem;--bs-uu-form-aside-color: var(--bs-secondary-color);--bs-uu-form-help-padding-x: 0;--bs-uu-form-help-padding-y: 0.5rem}.uu-root-container .uu-content{width:100%;display:flex;align-items:center;flex:1 1 auto;flex-direction:column;padding:0;margin:0}.uu-root-container .uu-fullwidth-container,.uu-root-container .-uu-spaced-container,.uu-root-container .uu-footer,.uu-root-container .uu-hero,.uu-root-container .uu-cover .uu-cover-hero,.uu-root-container .uu-container,.uu-root-container .uu-inner-container{width:100%;display:flex;flex-wrap:wrap;padding:var(--bs-uu-container-padding-y) var(--bs-uu-container-padding-x)}@media(min-width: 76rem){.uu-root-container .-uu-spaced-container,.uu-root-container .uu-footer,.uu-root-container .uu-hero,.uu-root-container .uu-cover .uu-cover-hero,.uu-root-container .uu-container,.uu-root-container .uu-inner-container{padding-left:calc(50% - var(--bs-uu-content-width)/2);padding-right:calc(50% - var(--bs-uu-content-width)/2)}}.uu-container+.uu-container,.uu-inner-container+.uu-container,.uu-container+.uu-inner-container,.uu-inner-container+.uu-inner-container{padding-top:0}.uu-root-container .uu-header{width:100%;display:flex;align-items:center;flex-direction:column;font-size:var(--bs-uu-header-font-size)}.uu-root-container .uu-header .uu-header-row{display:flex;flex-direction:row;align-items:stretch;width:100%;padding-left:calc(50% - var(--bs-uu-content-width)/2);padding-right:calc(50% - var(--bs-uu-content-width)/2)}@media(max-width: 768px){.uu-root-container .uu-header .uu-header-row{display:none}}.uu-root-container .uu-header .uu-header-row>*{padding-top:var(--bs-uu-header-padding-y);padding-bottom:var(--bs-uu-header-padding-y);align-items:center;display:flex}@media(max-width: 76rem){.uu-root-container .uu-header .uu-header-row{padding-left:var(--bs-uu-container-padding-x);padding-right:var(--bs-uu-container-padding-x)}}.uu-root-container .uu-header .uu-header-row:not(:last-child){border-bottom:.0625rem solid var(--bs-uu-border-color-light)}.uu-root-container .uu-header .uu-header-row .border-left{padding-left:var(--bs-uu-header-border-gap);border-left:.0625rem solid var(--bs-uu-border-color-light)}.uu-root-container .uu-header .uu-header-row .border-right{padding-right:var(--bs-uu-header-border-gap);border-right:.0625rem solid var(--bs-uu-border-color-light)}.uu-root-container .uu-header .uu-header-row .uu-header-title,.uu-root-container .uu-header .uu-header-row .uu-header-title a{color:var(--bs-uu-header-title-color);text-decoration:none;font-size:1.7rem}.uu-root-container .uu-header .uu-header-row .uu-logo img{max-height:3rem}.uu-root-container .uu-header .uu-header-row a,.uu-root-container .uu-header .uu-header-row a:hover,.uu-root-container .uu-header .uu-header-row a:focus,.uu-root-container .uu-header .uu-header-row a:active{text-decoration:none}.uu-root-container .uu-navbar{width:100%;background:#000;flex-wrap:nowrap;justify-content:flex-start}@media(max-width: 768px){.uu-root-container .uu-navbar{background:#fff !important;color:#000 !important;border-bottom:.0625rem solid var(--bs-uu-border-color);flex-wrap:wrap;justify-content:space-between;position:sticky;top:0;z-index:9001;height:var(--bs-uu-navbar-mobile-height)}}.uu-root-container .uu-navbar .uu-navbar-container{width:100%;padding-left:calc(
             calc(50% - var(--bs-uu-content-width) / 2) - var(--bs-uu-navbar-navlink-padding-x)
         );padding-right:calc(
             calc(50% - var(--bs-uu-content-width) / 2) - var(--bs-uu-navbar-navlink-padding-x)
         );display:flex;justify-content:space-between;align-items:center;flex-wrap:inherit}@media(max-width: 76rem){.uu-root-container .uu-navbar .uu-navbar-container{padding-left:calc(var(--bs-uu-container-padding-x) - var(--bs-uu-navbar-navlink-padding-x));padding-right:calc(var(--bs-uu-container-padding-x) - var(--bs-uu-navbar-navlink-padding-x))}}@media(max-width: 768px){.uu-root-container .uu-navbar .uu-navbar-container{padding-left:0;padding-right:0}}.uu-root-container .uu-navbar .navbar-brand{padding-left:.75rem}@media(min-width: 768px){.uu-root-container .uu-navbar .navbar-brand{display:none}}.uu-root-container .uu-navbar .navbar-brand img{height:1.5rem}@media(min-width: 768px){.uu-root-container .uu-navbar .navbar-toggler{display:none}.uu-root-container .uu-navbar .navbar-collapse{display:flex !important;flex-basis:auto}}.uu-root-container .uu-navbar .navbar-nav{--bs-nav-link-color: #fff;--bs-nav-link-disabled-color: #adadad;--bs-nav-link-hover-color: #ffcd00}@media(min-width: 768px){.uu-root-container .uu-navbar .navbar-nav{flex-direction:row}}.uu-root-container .uu-navbar .navbar-nav .dropdown-menu{--bs-dropdown-bg: #fff;border-top:none}.uu-root-container .uu-navbar .navbar-nav .dropdown-menu[data-bs-popper]{margin-top:0}@media(min-width: 768px){.uu-root-container .uu-navbar .navbar-nav .dropdown-menu{position:absolute}}.uu-root-container .uu-navbar .navbar-nav .dropdown-menu .dropdown-item.active,.uu-root-container .uu-navbar .navbar-nav .dropdown-menu .dropdown-item:active{color:inherit;background:inherit;font-weight:bold}@media(min-width: 768px){.uu-root-container .uu-navbar .navbar-nav .nav-link{padding:var(--bs-uu-navbar-navlink-padding-y) var(--bs-uu-navbar-navlink-padding-x)}}@media(max-width: 768px){.uu-root-container .uu-navbar .navbar-nav .nav-link{background:#000;padding-left:var(--bs-uu-container-padding-x);padding-right:var(--bs-uu-container-padding-x);border-top:.0625rem solid var(--bs-uu-border-color-dark)}}.uu-root-container .uu-navbar .navbar-nav .nav-link.dropdown-toggle.show::after{transform:rotate(180deg)}.uu-root-container .uu-navbar .navbar-nav .show>.nav-link,.uu-root-container .uu-navbar .navbar-nav .nav-link.active,.uu-root-container .uu-navbar .navbar-nav .nav-link.show{color:var(--bs-nav-link-hover-color)}.uu-root-container .uu-navbar .navbar-toggler{color:#fff;border-color:rgba(0,0,0,0)}.uu-root-container .uu-navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 33, 33, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.uu-root-container .uu-navbar .navbar-text{color:#fff}.uu-root-container .uu-navbar .navbar-text a,.uu-root-container .uu-navbar .navbar-text a:hover,.uu-root-container .uu-navbar .navbar-text a:focus{color:#ffcd00}@media(max-width: 768px){.uu-root-container .uu-navbar .navbar-text{color:#000}}.uu-root-container .uu-fullwidth-unified-header,.uu-root-container .uu-unified-header{width:100%;background:var(--bs-uu-container-bg);display:flex;height:var(--bs-uu-unified-header-height);flex-wrap:nowrap;flex-direction:row;align-items:stretch;justify-content:flex-start;font-size:1rem;padding-left:var(--bs-uu-unified-header-padding-x);padding-right:var(--bs-uu-unified-header-padding-x);border-bottom:var(--bs-uu-unified-header-border-size) solid var(--bs-uu-border-color-light)}@media(max-width: 768px){.uu-root-container .uu-fullwidth-unified-header,.uu-root-container .uu-unified-header{height:var(--bs-uu-unified-header-mobile-height);padding-left:var(--bs-uu-unified-header-padding-mobile-x);padding-right:var(--bs-uu-unified-header-padding-mobile-x);position:sticky;top:0;z-index:9000}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container,.uu-root-container .uu-unified-header .uu-unified-header-container{width:100%;display:flex;justify-content:space-between;align-items:stretch;flex-wrap:inherit}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-text,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-text{padding-top:var(--bs-uu-header-padding-y);padding-bottom:var(--bs-uu-header-padding-y);align-items:center;display:flex;font-size:var(--bs-uu-header-font-size)}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .border-left,.uu-root-container .uu-unified-header .uu-unified-header-container .border-left{padding-left:var(--bs-uu-header-border-gap) !important;border-left:var(--bs-uu-unified-header-border-size) solid var(--bs-uu-border-color-light) !important}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .border-right,.uu-root-container .uu-unified-header .uu-unified-header-container .border-right{padding-right:var(--bs-uu-header-border-gap) !important;border-right:var(--bs-uu-unified-header-border-size) solid var(--bs-uu-border-color-light) !important}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand{flex:1 0 auto;display:grid;grid-template-columns:auto auto;align-items:stretch;padding:0}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand .uu-logo,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand .uu-logo{height:var(--bs-uu-unified-header-height);padding:var(--bs-uu-brand-padding-y) var(--bs-uu-brand-padding-x) var(--bs-uu-brand-padding-y) 0}@media(max-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand .uu-logo,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand .uu-logo{height:var(--bs-uu-unified-header-mobile-height);padding:var(--bs-uu-brand-logo-padding-y) var(--bs-uu-brand-logo-padding-x)}}@media(max-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand{grid-template-columns:unset;grid-template-rows:1fr 1fr;margin-left:0}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand .uu-logo img,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand .uu-logo img{height:100%}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand .uu-sender,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand .uu-sender{display:flex;height:var(--bs-uu-unified-header-height);align-items:center;justify-content:center;background:var(--bs-uu-brand-sender-bg);color:var(--bs-uu-brand-sender-color);font-family:"Merriweather",serif;font-weight:bolder;min-width:var(--bs-uu-brand-sender-min-width);max-width:var(--bs-uu-brand-sender-max-width);text-align:center;padding:1rem 2.5rem}@media(max-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .uu-brand .uu-sender,.uu-root-container .uu-unified-header .uu-unified-header-container .uu-brand .uu-sender{display:none}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container>.uu-logo img,.uu-root-container .uu-unified-header .uu-unified-header-container>.uu-logo img{max-height:calc(var(--bs-uu-unified-header-height) - 2*var(--bs-uu-header-padding-y))}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-toggler,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-toggler{border:none;padding:0;border-radius:0}@media(min-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-toggler,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-toggler{display:none}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-collapse,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-collapse{display:flex;padding:0;height:var(--bs-uu-unified-header-height);align-items:stretch}}@media(max-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-collapse,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-collapse{position:fixed;top:var(--bs-uu-unified-header-mobile-height);left:0;width:100%}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav{height:var(--bs-uu-unified-header-height);--bs-nav-link-color: #000;--bs-nav-link-disabled-color: #adadad;--bs-nav-link-hover-border-color: #ffcd00}@media(min-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav{flex-direction:row}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu{--bs-dropdown-bg: #fff;border-top:none;margin-top:0 !important;margin-left:0 !important}@media(min-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu{position:absolute}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu .dropdown-item.active,.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu .dropdown-item:active,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu .dropdown-item.active,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .dropdown-menu .dropdown-item:active{color:inherit;background:inherit;font-weight:bold}@media(min-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .nav-link,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .nav-link{padding:0 var(--bs-uu-navbar-navlink-padding-x);display:flex;align-items:center;height:var(--bs-uu-unified-header-height);border-top:var(--bs-uu-unified-header-navlink-indicator-height) solid rgba(0,0,0,0);border-bottom:var(--bs-uu-unified-header-navlink-indicator-height) solid rgba(0,0,0,0)}}@media(max-width: 768px){.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .nav-link,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .nav-link{background:var(--bs-uu-unified-header-navlink-mobile-bg);color:var(--bs-uu-unified-header-navlink-mobile-color);padding-left:var(--bs-uu-container-padding-x);padding-right:var(--bs-uu-container-padding-x);border-top:var(--bs-uu-unified-header-border-size) solid var(--bs-uu-border-color-dark)}}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .nav-link.dropdown-toggle.show::after,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .nav-link.dropdown-toggle.show::after{transform:rotate(180deg)}.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .show>.nav-link,.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .nav-link.active,.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .nav-link:hover,.uu-root-container .uu-fullwidth-unified-header .uu-unified-header-container .navbar-nav .nav-link.show,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .show>.nav-link,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .nav-link.active,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .nav-link:hover,.uu-root-container .uu-unified-header .uu-unified-header-container .navbar-nav .nav-link.show{border-bottom-color:var(--bs-nav-link-hover-border-color)}.uu-root-container .uu-unified-header{padding-left:var(--bs-uu-container-padding-x);padding-right:var(--bs-uu-container-padding-x)}@media(min-width: 76rem){.uu-root-container .uu-unified-header{padding-left:calc(50% - var(--bs-uu-content-width)/2);padding-right:calc(50% - var(--bs-uu-content-width)/2)}}.uu-root-container .uu-hero,.uu-root-container .uu-cover .uu-cover-hero{background:var(--bs-uu-hero-bg);color:var(--bs-uu-hero-color);padding-top:var(--bs-uu-hero-padding-y);padding-bottom:var(--bs-uu-hero-padding-y);font-weight:var(--bs-uu-hero-font-weight)}.uu-root-container .uu-hero>h1,.uu-root-container .uu-cover .uu-cover-hero>h1,.uu-root-container .uu-hero>.h1,.uu-root-container .uu-cover .uu-cover-hero>.h1{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero>h2,.uu-root-container .uu-cover .uu-cover-hero>h2,.uu-root-container .uu-hero>.h2,.uu-root-container .uu-cover .uu-cover-hero>.h2{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero>h3,.uu-root-container .uu-cover .uu-cover-hero>h3,.uu-root-container .uu-hero>.h3,.uu-root-container .uu-cover .uu-cover-hero>.h3{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero>h4,.uu-root-container .uu-cover .uu-cover-hero>h4,.uu-root-container .uu-hero>.h4,.uu-root-container .uu-cover .uu-cover-hero>.h4{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero>h5,.uu-root-container .uu-cover .uu-cover-hero>h5,.uu-root-container .uu-hero>.h5,.uu-root-container .uu-cover .uu-cover-hero>.h5{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero>h6,.uu-root-container .uu-cover .uu-cover-hero>h6,.uu-root-container .uu-hero>.h6,.uu-root-container .uu-cover .uu-cover-hero>.h6{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero>h7,.uu-root-container .uu-cover .uu-cover-hero>h7,.uu-root-container .uu-hero>.h7,.uu-root-container .uu-cover .uu-cover-hero>.h7{font-weight:var(--bs-uu-hero-font-weight);margin:0}.uu-root-container .uu-hero p:last-child,.uu-root-container .uu-cover .uu-cover-hero p:last-child{margin:0;padding:0}.uu-root-container .uu-cover{display:flex;position:relative;justify-content:center;overflow:hidden;width:100%;max-height:var(--bs-uu-cover-default-height)}.uu-root-container .uu-cover.h-200{max-height:200px}.uu-root-container .uu-cover.h-300{max-height:300px}.uu-root-container .uu-cover.h-400{max-height:400px}.uu-root-container .uu-cover.h-500{max-height:500px}@media(max-width: 575.98px){.uu-root-container .uu-cover.h-sm-200{max-height:200px}.uu-root-container .uu-cover.h-sm-300{max-height:300px}.uu-root-container .uu-cover.h-sm-400{max-height:400px}.uu-root-container .uu-cover.h-sm-500{max-height:500px}}@media(max-width: 767.98px){.uu-root-container .uu-cover.h-md-200{max-height:200px}.uu-root-container .uu-cover.h-md-300{max-height:300px}.uu-root-container .uu-cover.h-md-400{max-height:400px}.uu-root-container .uu-cover.h-md-500{max-height:500px}}@media(max-width: 991.98px){.uu-root-container .uu-cover.h-lg-200{max-height:200px}.uu-root-container .uu-cover.h-lg-300{max-height:300px}.uu-root-container .uu-cover.h-lg-400{max-height:400px}.uu-root-container .uu-cover.h-lg-500{max-height:500px}}@media(max-width: 1199.98px){.uu-root-container .uu-cover.h-xl-200{max-height:200px}.uu-root-container .uu-cover.h-xl-300{max-height:300px}.uu-root-container .uu-cover.h-xl-400{max-height:400px}.uu-root-container .uu-cover.h-xl-500{max-height:500px}}@media(max-width: 1399.98px){.uu-root-container .uu-cover.h-xxl-200{max-height:200px}.uu-root-container .uu-cover.h-xxl-300{max-height:300px}.uu-root-container .uu-cover.h-xxl-400{max-height:400px}.uu-root-container .uu-cover.h-xxl-500{max-height:500px}}.uu-root-container .uu-cover .uu-cover-image{display:block;height:100%;width:100%}@media(max-width: 768px){.uu-root-container .uu-cover .uu-cover-image{width:unset}}.uu-root-container .uu-cover .uu-cover-copyright{position:absolute;bottom:0;left:0;padding:var(--bs-uu-cover-copyright-padding-y) var(--bs-uu-cover-copyright-padding-x);background-color:var(--bs-uu-cover-copyright-background-color);color:var(--bs-uu-cover-copyright-text-color);font-size:var(--bs-uu-cover-copyright-text-size)}.uu-root-container .uu-cover .uu-cover-copyright a{color:inherit}.uu-root-container .uu-cover .uu-cover-copyright.uu-cover-copyright-right{right:0;left:unset}.uu-root-container .uu-cover .uu-cover-copyright.uu-cover-copyright-top{top:0;bottom:unset}.uu-root-container .uu-cover .uu-cover-hero{position:absolute;bottom:0;width:calc(100% - calc(var(--bs-uu-sidebar-width) + 50% - var(--bs-uu-content-width) / 2 + var(--bs-uu-sidebar-padding-x)))}@media(max-width: 76rem){.uu-root-container .uu-cover .uu-cover-hero{width:calc(100% - calc(var(--bs-uu-sidebar-width) + var(--bs-uu-sidebar-padding-x) * 2))}}.uu-root-container .uu-cover .uu-cover-hero:not(.uu-cover-hero-left){right:0;padding-left:var(--bs-uu-sidebar-gap)}.uu-root-container .uu-cover .uu-cover-hero.uu-cover-hero-left{left:0;padding-right:var(--bs-uu-sidebar-gap)}@media(max-width: 992px){.uu-root-container .uu-cover .uu-cover-hero{width:100%}.uu-root-container .uu-cover .uu-cover-hero:not(.uu-cover-hero-left),.uu-root-container .uu-cover .uu-cover-hero.uu-cover-hero-left{padding-left:var(--bs-uu-container-padding-x);padding-right:var(--bs-uu-container-padding-x)}}.uu-root-container .uu-sidebar-container{position:relative;width:100%;flex-grow:1;display:flex;flex-direction:row;gap:var(--bs-uu-sidebar-gap)}@media(max-width: 992px){.uu-root-container .uu-sidebar-container{flex-direction:column;gap:0}}.uu-root-container .uu-sidebar-container .uu-sidebar{order:1;background:var(--bs-uu-sidebar-background);color:var(--bs-uu-sidebar-color);flex:0 0 calc(var(--bs-uu-sidebar-width) + 50% - var(--bs-uu-content-width)/2 + var(--bs-uu-sidebar-padding-x));padding:var(--bs-uu-sidebar-padding-y) var(--bs-uu-sidebar-padding-x) var(--bs-uu-sidebar-padding-y) calc(50% - var(--bs-uu-content-width)/2);z-index:100}@media(max-width: 76rem){.uu-root-container .uu-sidebar-container .uu-sidebar{padding-left:var(--bs-uu-sidebar-padding-x);flex-basis:calc(var(--bs-uu-sidebar-width) + var(--bs-uu-sidebar-padding-x)*2)}}@media(max-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar{flex-basis:auto;padding:var(--bs-uu-sidebar-mobile-padding-y) var(--bs-uu-container-padding-x)}}.uu-root-container .uu-sidebar-container .uu-sidebar img,.uu-root-container .uu-sidebar-container .uu-sidebar code,.uu-root-container .uu-sidebar-container .uu-sidebar p,.uu-root-container .uu-sidebar-container .uu-sidebar span,.uu-root-container .uu-sidebar-container .uu-sidebar pre{display:inline-block}.uu-root-container .uu-sidebar-container .uu-sidebar div,.uu-root-container .uu-sidebar-container .uu-sidebar img,.uu-root-container .uu-sidebar-container .uu-sidebar code,.uu-root-container .uu-sidebar-container .uu-sidebar p,.uu-root-container .uu-sidebar-container .uu-sidebar span,.uu-root-container .uu-sidebar-container .uu-sidebar pre{max-width:var(--bs-uu-sidebar-width)}@media(max-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar div,.uu-root-container .uu-sidebar-container .uu-sidebar img,.uu-root-container .uu-sidebar-container .uu-sidebar code,.uu-root-container .uu-sidebar-container .uu-sidebar p,.uu-root-container .uu-sidebar-container .uu-sidebar span,.uu-root-container .uu-sidebar-container .uu-sidebar pre{max-width:100%}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-toggle{font-size:1.1rem;margin:0;border:none;text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0;background:rgba(0,0,0,0)}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-toggle:hover{background:none}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-toggle::after{border-bottom:0;border-left:.3em solid rgba(0,0,0,0);border-right:.3em solid rgba(0,0,0,0);border-top:.3em solid;content:"";display:inline-block;transition:transform .3s linear}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-toggle[aria-expanded=true]::after{transform:rotate(180deg)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-toggle{display:none}}@media(max-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse{padding-top:var(--bs-uu-container-padding-y)}}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse{display:block}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h1,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h1{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h1.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h2,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h2{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h2.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h3,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h3{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h3.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h4,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h4{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h4.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h5,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h5{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h5.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h6,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h6{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h6.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h7,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h7{border-bottom:.1875rem solid var(--bs-uu-border-color);padding-bottom:var(--bs-uu-sidebar-header-padding-y);margin-bottom:0;font-weight:var(--bs-uu-sidebar-header-font-weight)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .h7.uu-sidebar-header-linked{margin-right:calc(-1*var(--bs-uu-sidebar-padding-x))}}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav{flex-direction:column}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav{padding-left:1.5rem}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav-link{color:var(--bs-body-color);border-bottom:.0625rem solid var(--bs-uu-border-color);padding:var(--bs-uu-sidebar-nav-padding-y) var(--bs-uu-sidebar-nav-padding-y)}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav-link.is-active{font-weight:bold}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav-link:hover,.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav-link:focus{text-decoration:underline}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav-link.disabled{color:var(--bs-uu-sidebar-nav-disabled-color);cursor:not-allowed}.uu-root-container .uu-sidebar-container .uu-sidebar .uu-sidebar-collapse .nav .nav-link.active{font-weight:var(--bs-uu-sidebar-nav-active-font-weight)}.uu-root-container .uu-sidebar-container .uu-sidebar-content{order:2;flex:1 1 auto;min-width:0;padding:var(--bs-uu-sidebar-padding-y) var(--bs-uu-container-padding-x) var(--bs-uu-sidebar-padding-y)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content{padding-right:max(
                 calc(50% - var(--bs-uu-content-width) / 2),
                 var(--bs-uu-container-padding-x)
-            );padding-left:0;padding-top:var(--bs-uu-sidebar-padding-y)}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h1.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h1.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h2.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h2.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h3.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h3.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h4.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h4.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h5.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h5.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h6.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h6.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h7.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h7.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}@media(min-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-sticky .uu-sidebar>*{position:sticky;top:var(--bs-uu-sidebar-padding-y)}}@media(max-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-sticky .uu-sidebar{position:sticky;top:0}.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-sticky.uu-sidebar-mobile-bottom .uu-sidebar{top:unset;bottom:0}}@media(max-width: 768px){.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-sticky .uu-sidebar{position:sticky;top:var(--bs-uu-navbar-mobile-height)}}@media(max-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-bottom .uu-sidebar{order:2}.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-bottom .uu-sidebar-content{order:1}}@media(min-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar{order:2;padding-left:var(--bs-uu-sidebar-padding-x);padding-right:calc(50% - var(--bs-uu-content-width)/2)}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h1.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h2.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h3.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h4.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h5.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h6.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h7.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content{order:1;padding-right:0;padding-left:calc(50% - var(--bs-uu-content-width)/2)}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h1.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h2.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h3.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h4.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h5.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h6.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h7.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}}@media(min-width: 992px)and (max-width: 76rem){.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content{padding-left:var(--bs-uu-sidebar-padding-x)}}.uu-root-container .uu-form .uu-form-text-row .uu-form-text-aside,.uu-root-container .uu-form .uu-form-row .uu-form-help{color:var(--bs-uu-form-aside-color);font-size:var(--bs-uu-form-aside-font-size)}.uu-root-container .uu-form .uu-form-text-row .uu-form-text-aside p:last-child,.uu-root-container .uu-form .uu-form-row .uu-form-help p:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-row,.uu-root-container .uu-form .uu-form-text-row{display:grid;margin-bottom:var(--bs-uu-form-row-gap);grid-template-rows:auto auto}@media(min-width: 992px){.uu-root-container .uu-form .uu-form-row,.uu-root-container .uu-form .uu-form-text-row{grid-template-rows:unset;grid-template-columns:2fr 1fr;gap:var(--bs-uu-form-column-gap)}}.uu-root-container .uu-form .uu-form-row .uu-form-field{background-color:var(--bs-uu-form-field-bg);padding:calc(var(--bs-uu-form-field-padding-y) - var(--bs-uu-form-field-padding-y-compensation)) var(--bs-uu-form-field-padding-y) var(--bs-uu-form-field-padding-y)}.uu-root-container .uu-form .uu-form-row .uu-form-field .input-group-text,.uu-root-container .uu-form .uu-form-row .uu-form-field .form-control::file-selector-button{background:var(--bs-uu-form-field-input-group-bg)}.uu-root-container .uu-form .uu-form-row .uu-form-help{padding:var(--bs-uu-form-help-padding-y) var(--bs-uu-form-help-padding-x)}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h1:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h1:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h2:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h2:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h3:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h3:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h4:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h4:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h5:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h5:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h6:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h6:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h7:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h7:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text p:last-child{margin-bottom:0}.uu-root-container .uu-form.uu-form-no-gap .uu-form-row{margin-bottom:0}.uu-root-container .uu-form.uu-form-no-gap .uu-form-row+.uu-form-row .uu-form-field{padding-top:0}.uu-root-container .uu-form .uu-form-row.uu-form-no-gap{margin-bottom:0;padding-bottom:0}.uu-root-container .uu-form.uu-form-no-aside .uu-form-text-row,.uu-root-container .uu-form .uu-form-text-row.uu-form-no-aside{grid-template-rows:1fr}@media(min-width: 992px){.uu-root-container .uu-form.uu-form-no-aside .uu-form-text-row,.uu-root-container .uu-form .uu-form-text-row.uu-form-no-aside{grid-template-rows:unset;grid-template-columns:1fr}}.uu-root-container .uu-form.uu-form-no-aside .uu-form-text-row .uu-form-text-aside,.uu-root-container .uu-form .uu-form-text-row.uu-form-no-aside .uu-form-text-aside{display:none}.uu-root-container .uu-form.uu-form-no-help .uu-form-row,.uu-root-container .uu-form .uu-form-row.uu-form-no-help{grid-template-rows:1fr}@media(min-width: 992px){.uu-root-container .uu-form.uu-form-no-help .uu-form-row,.uu-root-container .uu-form .uu-form-row.uu-form-no-help{grid-template-rows:unset;grid-template-columns:1fr}}.uu-root-container .uu-form.uu-form-no-help .uu-form-row .uu-form-help,.uu-root-container .uu-form .uu-form-row.uu-form-no-help .uu-form-help{display:none}.uu-root-container .uu-footer{flex-wrap:wrap;background:var(--bs-uu-footer-background-color);color:var(--bs-uu-footer-color);align-items:center;padding-top:var(--bs-uu-footer-padding-y);padding-bottom:var(--bs-uu-footer-padding-y)}@media(max-width: 768px){.uu-root-container .uu-footer{gap:1.25rem}}.uu-root-container .uu-footer p:last-child{margin:0;padding:0}.uu-root-container .uu-footer a,.uu-root-container .uu-footer a:hover,.uu-root-container .uu-footer a:focus,.uu-root-container .uu-footer a:active{color:var(--bs-uu-footer-color)}.uu-root-container .table,.uu-root-container .dt,.uu-root-container .datatables{--bs-table-bg: var(--bs-uu-container-bg)}@font-face{font-family:"icomoon";src:url("../fonts/IcoMoon-Free.ttf") format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"icomoon-additional";src:url("../fonts/icomoon.ttf") format("truetype");font-weight:normal;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:"icomoon" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}[class^=icon-additional-],[class*=" icon-additional-"]{font-family:"icomoon-additional" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}[class^=icon-]:hover,[class*=" icon-"]:hover{text-decoration:none}.select2-container{display:block}select+.select2-container{z-index:1}.select2-container *:focus{outline:0}.select2-container .select2-selection{width:100%;min-height:calc(1.6em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem .75rem;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);background-color:#fff;border:var(--bs-border-width) solid #dedede;border-radius:0 !important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.select2-container .select2-selection{transition:none}}.select2-container.select2-container--focus .select2-selection,.select2-container.select2-container--open .select2-selection{border-color:#000;box-shadow:none}.select2-container.select2-container--open.select2-container--below .select2-selection{border-bottom:0 solid rgba(0,0,0,0);border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container.select2-container--open.select2-container--above .select2-selection{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2-search{width:100%}.select2-container .select2-search--inline .select2-search__field{vertical-align:top}.select2-container .select2-selection--single .select2-selection__clear,.select2-container .select2-selection--multiple .select2-selection__clear{position:absolute;top:50%;right:2.25rem;width:.75rem;height:.75rem;padding:.25em .25em;overflow:hidden;text-indent:100%;white-space:nowrap;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat;transform:translateY(-50%)}.select2-container .select2-selection--single .select2-selection__clear:hover,.select2-container .select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat}.select2-container .select2-selection--single .select2-selection__clear>span,.select2-container .select2-selection--multiple .select2-selection__clear>span{display:none}.select2-container+.select2-container{z-index:9003}.select2-container .select2-dropdown{z-index:9003;overflow:hidden;color:var(--bs-body-color);background-color:#fff;border-color:#000;border-radius:0 !important}.select2-container .select2-dropdown.select2-dropdown--below{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2-dropdown.select2-dropdown--above{border-bottom:0 solid rgba(0,0,0,0);border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container .select2-dropdown .select2-search{padding:.375rem .75rem}.select2-container .select2-dropdown .select2-search .select2-search__field{display:block;width:100%;padding:.375rem .75rem;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);background-color:#fff;background-clip:padding-box;border:var(--bs-border-width) solid #dedede;appearance:none;border-radius:0 !important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.select2-container .select2-dropdown .select2-search .select2-search__field{transition:none}}.select2-container .select2-dropdown .select2-search .select2-search__field:focus{border-color:#000;box-shadow:none}.select2-container .select2-dropdown .select2-results__options:not(.select2-results__options--nested){max-height:15rem;overflow-y:auto}.select2-container .select2-dropdown .select2-results__options .select2-results__option{padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__message{color:var(--bs-secondary-color)}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted{color:#000;background-color:#e9e9e9}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected,.select2-container .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted){color:#000;background-color:#ffcd00}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--disabled,.select2-container .select2-dropdown .select2-results__options .select2-results__option[aria-disabled=true]{color:var(--bs-secondary-color)}.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group]{padding:0}.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.375rem .375rem;font-weight:500;line-height:1.6;color:#000}.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.375rem .75rem}.select2-container .select2-selection--single{padding:.375rem 2.25rem .375rem .75rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343434' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.select2-container .select2-selection--single .select2-selection__rendered{padding:0;font-weight:400;line-height:1.6;color:var(--bs-body-color)}.select2-container .select2-selection--single .select2-selection__rendered .select2-selection__placeholder{font-weight:400;line-height:1.6;color:var(--bs-secondary-color)}.select2-container .select2-selection--single .select2-selection__arrow{display:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:flex;flex-direction:row;flex-wrap:wrap;padding-left:0;margin:0;list-style:none}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{display:flex;flex-direction:row;align-items:center;padding:.35em .65em;margin-right:.375rem;margin-bottom:.375rem;font-size:1rem;color:var(--bs-body-color);cursor:auto;border:var(--bs-border-width) solid #dedede;border-radius:0 !important}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:.75rem;height:.75rem;padding:.25em .25em;margin-right:.25rem;overflow:hidden;text-indent:100%;white-space:nowrap;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat;border:0}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove>span{display:none}.select2-container .select2-selection--multiple .select2-search{display:block;width:100%;height:1.6rem}.select2-container .select2-selection--multiple .select2-search .select2-search__field{width:100%;height:1.6rem;margin-top:0;margin-left:0;font-family:inherit;line-height:1.6;background-color:rgba(0,0,0,0)}.select2-container .select2-selection--multiple .select2-selection__clear{right:.75rem}.select2-container.select2-container--disabled .select2-selection,.select2-container.select2-container--disabled.select2-container--focus .select2-selection{color:var(--bs-secondary-color);cursor:not-allowed;background-color:var(--bs-secondary-bg);border-color:#dedede;box-shadow:none}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__clear,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__clear{display:none}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__choice,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__choice{cursor:not-allowed}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{display:none}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__rendered:not(:empty),.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__rendered:not(:empty){padding-bottom:0}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__rendered:not(:empty)+.select2-search,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__rendered:not(:empty)+.select2-search{display:none}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu).select2-container .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu).select2-container .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-text~.select2-container--bootstrap-5 .select2-selection,.input-group>.btn~.select2-container--bootstrap-5 .select2-selection,.input-group>.dropdown-menu~.select2-container .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .select2-container{flex-grow:1}.input-group .select2-container .select2-selection{height:100%}.is-valid+.select2-container .select2-selection,.was-validated select:valid+.select2-container .select2-selection{border-color:#2db83d}.is-valid+.select2-container.select2-container--focus .select2-selection,.is-valid+.select2-container.select2-container--open .select2-selection,.was-validated select:valid+.select2-container.select2-container--focus .select2-selection,.was-validated select:valid+.select2-container.select2-container--open .select2-selection{border-color:#2db83d;box-shadow:0 0 0 0 rgba(45,184,61,.25)}.is-valid+.select2-container.select2-container--open.select2-container--below .select2-selection,.was-validated select:valid+.select2-container.select2-container--open.select2-container--below .select2-selection{border-bottom:0 solid rgba(0,0,0,0)}.is-valid+.select2-container.select2-container--open.select2-container--above .select2-selection,.was-validated select:valid+.select2-container.select2-container--open.select2-container--above .select2-selection{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.is-invalid+.select2-container .select2-selection,.was-validated select:invalid+.select2-container .select2-selection{border-color:#c00a35}.is-invalid+.select2-container.select2-container--focus .select2-selection,.is-invalid+.select2-container.select2-container--open .select2-selection,.was-validated select:invalid+.select2-container.select2-container--focus .select2-selection,.was-validated select:invalid+.select2-container.select2-container--open .select2-selection{border-color:#c00a35;box-shadow:0 0 0 0 rgba(192,10,53,.25)}.is-invalid+.select2-container.select2-container--open.select2-container--below .select2-selection,.was-validated select:invalid+.select2-container.select2-container--open.select2-container--below .select2-selection{border-bottom:0 solid rgba(0,0,0,0)}.is-invalid+.select2-container.select2-container--open.select2-container--above .select2-selection,.was-validated select:invalid+.select2-container.select2-container--open.select2-container--above .select2-selection{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2--small.select2-selection{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:0 !important}.select2-container .select2--small.select2-selection--single .select2-selection__clear,.select2-container .select2--small.select2-selection--multiple .select2-selection__clear{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--single .select2-selection__clear:hover,.select2-container .select2--small.select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--single .select2-search,.select2-container .select2--small.select2-selection--single .select2-search .select2-search__field,.select2-container .select2--small.select2-selection--multiple .select2-search,.select2-container .select2--small.select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.select2-container .select2--small.select2-dropdown{border-radius:0 !important}.select2-container .select2--small.select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2--small.select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container .select2--small.select2-dropdown .select2-search .select2-search__field{padding:.25rem .5rem;font-size:0.875rem}.select2-container .select2--small.select2-dropdown .select2-results__options .select2-results__option{padding:.25rem .5rem;font-size:0.875rem}.select2-container .select2--small.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.25rem .25rem}.select2-container .select2--small.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.25rem .5rem}.select2-container .select2--small.select2-selection--single{padding:.25rem 2.25rem .25rem .5rem}.select2-container .select2--small.select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:0.875rem}.select2-container .select2--small.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--multiple .select2-selection__clear{right:.5rem}.select2-container .select2--large.select2-selection{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:0 !important}.select2-container .select2--large.select2-selection--single .select2-selection__clear,.select2-container .select2--large.select2-selection--multiple .select2-selection__clear{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--single .select2-selection__clear:hover,.select2-container .select2--large.select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--single .select2-search,.select2-container .select2--large.select2-selection--single .select2-search .select2-search__field,.select2-container .select2--large.select2-selection--multiple .select2-search,.select2-container .select2--large.select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.select2-container .select2--large.select2-dropdown{border-radius:0 !important}.select2-container .select2--large.select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2--large.select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container .select2--large.select2-dropdown .select2-search .select2-search__field{padding:.5rem 1rem;font-size:1.25rem}.select2-container .select2--large.select2-dropdown .select2-results__options .select2-results__option{padding:.5rem 1rem;font-size:1.25rem}.select2-container .select2--large.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.5rem .5rem}.select2-container .select2--large.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.5rem 1rem}.select2-container .select2--large.select2-selection--single{padding:.5rem 2.25rem .5rem 1rem}.select2-container .select2--large.select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:1.25rem}.select2-container .select2--large.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--multiple .select2-selection__clear{right:1rem}.form-select-sm~.select2-container .select2-selection{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:0 !important}.form-select-sm~.select2-container .select2-selection--single .select2-selection__clear,.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__clear{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--single .select2-selection__clear:hover,.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--single .select2-search,.form-select-sm~.select2-container .select2-selection--single .select2-search .select2-search__field,.form-select-sm~.select2-container .select2-selection--multiple .select2-search,.form-select-sm~.select2-container .select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.form-select-sm~.select2-container .select2-dropdown{border-radius:0 !important}.form-select-sm~.select2-container .select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.form-select-sm~.select2-container .select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.form-select-sm~.select2-container .select2-dropdown .select2-search .select2-search__field{padding:.25rem .5rem;font-size:0.875rem}.form-select-sm~.select2-container .select2-dropdown .select2-results__options .select2-results__option{padding:.25rem .5rem;font-size:0.875rem}.form-select-sm~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.25rem .25rem}.form-select-sm~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.25rem .5rem}.form-select-sm~.select2-container .select2-selection--single{padding:.25rem 2.25rem .25rem .5rem}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:0.875rem}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__clear{right:.5rem}.form-select-lg~.select2-container .select2-selection{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:0 !important}.form-select-lg~.select2-container .select2-selection--single .select2-selection__clear,.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__clear{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--single .select2-selection__clear:hover,.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--single .select2-search,.form-select-lg~.select2-container .select2-selection--single .select2-search .select2-search__field,.form-select-lg~.select2-container .select2-selection--multiple .select2-search,.form-select-lg~.select2-container .select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.form-select-lg~.select2-container .select2-dropdown{border-radius:0 !important}.form-select-lg~.select2-container .select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.form-select-lg~.select2-container .select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.form-select-lg~.select2-container .select2-dropdown .select2-search .select2-search__field{padding:.5rem 1rem;font-size:1.25rem}.form-select-lg~.select2-container .select2-dropdown .select2-results__options .select2-results__option{padding:.5rem 1rem;font-size:1.25rem}.form-select-lg~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.5rem .5rem}.form-select-lg~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.5rem 1rem}.form-select-lg~.select2-container .select2-selection--single{padding:.5rem 2.25rem .5rem 1rem}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:1.25rem}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__clear{right:1rem}.uu-header .uu-header-row .language-form button,.uu-unified-header-container button,.language-form button{background:none;text-transform:uppercase;border:none;font-weight:400;color:#6c6c6c}.uu-navbar .icon-additional-home:before,.uu-unified-header-container .icon-additional-home:before{content:"H"}.input-group~.invalid-feedback,.input-group~.valid-feedback{display:block}/*# sourceMappingURL=bootstrap.css.map */
+            );padding-left:0;padding-top:var(--bs-uu-sidebar-padding-y)}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h1.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h1.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h2.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h2.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h3.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h3.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h4.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h4.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h5.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h5.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h6.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h6.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}.uu-root-container .uu-sidebar-container .uu-sidebar-content h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h7.uu-sidebar-header-linked{border-bottom:.0625rem solid var(--bs-uu-border-color);padding-bottom:calc(var(--bs-uu-sidebar-header-padding-y) + .0625rem)}@media(min-width: 992px){.uu-root-container .uu-sidebar-container .uu-sidebar-content h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container .uu-sidebar-content .h7.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-gap);margin-left:calc(-1*var(--bs-uu-sidebar-gap))}}@media(min-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-sticky .uu-sidebar>*{position:sticky;top:var(--bs-uu-sidebar-padding-y)}}@media(max-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-sticky .uu-sidebar{position:sticky;top:0}.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-sticky.uu-sidebar-mobile-bottom .uu-sidebar{top:unset;bottom:0}}@media(max-width: 768px){.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-sticky .uu-sidebar{position:sticky;top:var(--bs-uu-navbar-mobile-height)}}@media(max-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-bottom .uu-sidebar{order:2}.uu-root-container .uu-sidebar-container.uu-sidebar-mobile-bottom .uu-sidebar-content{order:1}}@media(min-width: 992px){.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar{order:2;padding-left:var(--bs-uu-sidebar-padding-x);padding-right:calc(50% - var(--bs-uu-content-width)/2)}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h1.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h2.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h3.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h4.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h5.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h6.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar .uu-sidebar-collapse .h7.uu-sidebar-header-linked{padding-left:var(--bs-uu-sidebar-padding-x);margin-right:0;margin-left:calc(-1*var(--bs-uu-sidebar-padding-x))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content{order:1;padding-right:0;padding-left:calc(50% - var(--bs-uu-content-width)/2)}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h1.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h1.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h2.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h2.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h3.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h3.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h4.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h4.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h5.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h5.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h6.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h6.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content h7.uu-sidebar-header-linked,.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content .h7.uu-sidebar-header-linked{padding-left:0;padding-right:var(--bs-uu-sidebar-gap);margin-left:0;margin-right:calc(-1*var(--bs-uu-sidebar-gap))}}@media(min-width: 992px)and (max-width: 76rem){.uu-root-container .uu-sidebar-container.uu-sidebar-right .uu-sidebar-content{padding-left:var(--bs-uu-sidebar-padding-x)}}.uu-root-container .uu-form .uu-form-text-row .uu-form-text-aside,.uu-root-container .uu-form .uu-form-row .uu-form-help{color:var(--bs-uu-form-aside-color);font-size:var(--bs-uu-form-aside-font-size)}.uu-root-container .uu-form .uu-form-text-row .uu-form-text-aside p:last-child,.uu-root-container .uu-form .uu-form-row .uu-form-help p:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-row,.uu-root-container .uu-form .uu-form-text-row{display:grid;margin-bottom:var(--bs-uu-form-row-gap);grid-template-rows:auto auto}@media(min-width: 992px){.uu-root-container .uu-form .uu-form-row,.uu-root-container .uu-form .uu-form-text-row{grid-template-rows:unset;grid-template-columns:2fr 1fr;gap:var(--bs-uu-form-column-gap)}}.uu-root-container .uu-form .uu-form-row .uu-form-field{background-color:var(--bs-uu-form-field-bg);padding:calc(var(--bs-uu-form-field-padding-y) - var(--bs-uu-form-field-padding-y-compensation)) var(--bs-uu-form-field-padding-y) var(--bs-uu-form-field-padding-y)}.uu-root-container .uu-form .uu-form-row .uu-form-field .input-group-text,.uu-root-container .uu-form .uu-form-row .uu-form-field .form-control::file-selector-button{background:var(--bs-uu-form-field-input-group-bg)}.uu-root-container .uu-form .uu-form-row .uu-form-help{padding:var(--bs-uu-form-help-padding-y) var(--bs-uu-form-help-padding-x)}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h1:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h1:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h2:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h2:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h3:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h3:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h4:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h4:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h5:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h5:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h6:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h6:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text .h7:last-child,.uu-root-container .uu-form .uu-form-text-row .uu-form-text h7:last-child{margin-bottom:0}.uu-root-container .uu-form .uu-form-text-row .uu-form-text p:last-child{margin-bottom:0}.uu-root-container .uu-form.uu-form-no-gap .uu-form-row{margin-bottom:0}.uu-root-container .uu-form.uu-form-no-gap .uu-form-row+.uu-form-row .uu-form-field{padding-top:0}.uu-root-container .uu-form .uu-form-row.uu-form-no-gap{margin-bottom:0;padding-bottom:0}.uu-root-container .uu-form.uu-form-no-aside .uu-form-text-row,.uu-root-container .uu-form .uu-form-text-row.uu-form-no-aside{grid-template-rows:1fr}@media(min-width: 992px){.uu-root-container .uu-form.uu-form-no-aside .uu-form-text-row,.uu-root-container .uu-form .uu-form-text-row.uu-form-no-aside{grid-template-rows:unset;grid-template-columns:1fr}}.uu-root-container .uu-form.uu-form-no-aside .uu-form-text-row .uu-form-text-aside,.uu-root-container .uu-form .uu-form-text-row.uu-form-no-aside .uu-form-text-aside{display:none}.uu-root-container .uu-form.uu-form-no-help .uu-form-row,.uu-root-container .uu-form .uu-form-row.uu-form-no-help{grid-template-rows:1fr}@media(min-width: 992px){.uu-root-container .uu-form.uu-form-no-help .uu-form-row,.uu-root-container .uu-form .uu-form-row.uu-form-no-help{grid-template-rows:unset;grid-template-columns:1fr}}.uu-root-container .uu-form.uu-form-no-help .uu-form-row .uu-form-help,.uu-root-container .uu-form .uu-form-row.uu-form-no-help .uu-form-help{display:none}.uu-root-container .uu-footer{flex-wrap:wrap;background:var(--bs-uu-footer-background-color);color:var(--bs-uu-footer-color);align-items:center;padding-top:var(--bs-uu-footer-padding-y);padding-bottom:var(--bs-uu-footer-padding-y)}@media(max-width: 768px){.uu-root-container .uu-footer{gap:1.25rem}}.uu-root-container .uu-footer p:last-child{margin:0;padding:0}.uu-root-container .uu-footer a,.uu-root-container .uu-footer a:hover,.uu-root-container .uu-footer a:focus,.uu-root-container .uu-footer a:active{color:var(--bs-uu-footer-color)}.uu-root-container .table,.uu-root-container .dt,.uu-root-container .datatables{--bs-table-bg: var(--bs-uu-container-bg)}.uu-list,.uu-list-sidebar{--bs-uu-list-gap-y: 1rem;--bs-uu-list-gap-x: 1.5rem;--bs-uu-list-controls-bg: #efefef;--bs-uu-list-controls-padding-x: 1rem;--bs-uu-list-controls-padding-y: 1rem;--bs-uu-list-controls-gap: 1rem;--bs-uu-list-controls-search-width: 17rem;--bs-uu-list-filters-width: 18rem;--bs-uu-list-filters-gap: 1rem;--bs-uu-list-filters-padding-x: 1rem;--bs-uu-list-filters-padding-y: 0.5rem;--bs-uu-list-filters-label-gap: 1rem 1rem 0.5rem 1rem;--bs-uu-list-filters-border-color: #cecece;--bs-uu-list-filters-border-width: 0.0625rem}[data-bs-theme=dark] .uu-list,[data-bs-theme=dark] .uu-list-sidebar{--bs-uu-list-controls-bg: #343434;--bs-uu-list-filters-border-color: #6c6c6c}.uu-list{display:grid;width:100%;gap:var(--bs-uu-list-gap-y) var(--bs-uu-list-gap-x);grid-template-columns:var(--bs-uu-list-filters-width) auto;grid-template-rows:auto auto;grid-template-areas:"controls controls" "filters content"}.uu-list .uu-list-controls{grid-area:controls;width:100%;background:var(--bs-uu-list-controls-bg);display:grid;grid-template-columns:max-content auto max-content max-content;grid-template-areas:"search searchText order pageSize";align-items:center;padding:var(--bs-uu-list-controls-padding-y) var(--bs-uu-list-controls-padding-x);gap:var(--bs-uu-list-controls-gap)}.uu-list .uu-list-controls .uu-list-search-control{grid-area:search;width:var(--bs-uu-list-controls-search-width)}.uu-list .uu-list-controls .uu-list-search-text-control{grid-area:searchText}.uu-list .uu-list-controls .uu-list-order-control{grid-area:order}.uu-list .uu-list-controls .uu-list-page-size-control{grid-area:pageSize}.uu-list .uu-list-filters{grid-area:filters;background:var(--bs-uu-list-controls-bg)}.uu-list .uu-list-content{grid-column-start:filters;grid-column-end:content}.uu-list .uu-list-filters~.uu-list-content{grid-area:content}.uu-list-sidebar{--bs-uu-sidebar-width: var(--bs-uu-list-filters-width)}.uu-list-filter{--bs-border-color: var(--bs-uu-list-filters-border-color);margin-bottom:var(--bs-uu-list-filters-gap)}.uu-list-filter .uu-list-filter-label{border-bottom:var(--bs-uu-list-filters-border-width) solid var(--bs-uu-list-filters-border-color);padding:var(--bs-uu-list-filters-label-gap);font-weight:500}.uu-list-filter .uu-list-filter-field{padding:var(--bs-uu-list-filters-padding-y) var(--bs-uu-list-filters-padding-x)}.uu-list-filter .form-check{border-bottom:var(--bs-uu-list-filters-border-width) solid var(--bs-uu-list-filters-border-color);display:flex;width:100%;padding:var(--bs-uu-list-filters-padding-y) var(--bs-uu-list-filters-padding-x);gap:.75rem;align-items:center}.uu-list-filter .form-check .form-check-input{flex:0 0 auto;margin:0}.uu-list-filter .form-check .form-check-label{flex:1 1 auto}@font-face{font-family:"icomoon";src:url("../fonts/IcoMoon-Free.ttf") format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"icomoon-additional";src:url("../fonts/icomoon.ttf") format("truetype");font-weight:normal;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:"icomoon" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}[class^=icon-additional-],[class*=" icon-additional-"]{font-family:"icomoon-additional" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none}[class^=icon-]:hover,[class*=" icon-"]:hover{text-decoration:none}.select2-container{display:block}select+.select2-container{z-index:1}.select2-container *:focus{outline:0}.select2-container .select2-selection{width:100%;min-height:calc(1.6em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem .75rem;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);background-color:#fff;border:var(--bs-border-width) solid #dedede;border-radius:0 !important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.select2-container .select2-selection{transition:none}}.select2-container.select2-container--focus .select2-selection,.select2-container.select2-container--open .select2-selection{border-color:#000;box-shadow:none}.select2-container.select2-container--open.select2-container--below .select2-selection{border-bottom:0 solid rgba(0,0,0,0);border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container.select2-container--open.select2-container--above .select2-selection{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2-search{width:100%}.select2-container .select2-search--inline .select2-search__field{vertical-align:top}.select2-container .select2-selection--single .select2-selection__clear,.select2-container .select2-selection--multiple .select2-selection__clear{position:absolute;top:50%;right:2.25rem;width:.75rem;height:.75rem;padding:.25em .25em;overflow:hidden;text-indent:100%;white-space:nowrap;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat;transform:translateY(-50%)}.select2-container .select2-selection--single .select2-selection__clear:hover,.select2-container .select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat}.select2-container .select2-selection--single .select2-selection__clear>span,.select2-container .select2-selection--multiple .select2-selection__clear>span{display:none}.select2-container+.select2-container{z-index:9003}.select2-container .select2-dropdown{z-index:9003;overflow:hidden;color:var(--bs-body-color);background-color:#fff;border-color:#000;border-radius:0 !important}.select2-container .select2-dropdown.select2-dropdown--below{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2-dropdown.select2-dropdown--above{border-bottom:0 solid rgba(0,0,0,0);border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container .select2-dropdown .select2-search{padding:.375rem .75rem}.select2-container .select2-dropdown .select2-search .select2-search__field{display:block;width:100%;padding:.375rem .75rem;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.6;color:var(--bs-body-color);background-color:#fff;background-clip:padding-box;border:var(--bs-border-width) solid #dedede;appearance:none;border-radius:0 !important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.select2-container .select2-dropdown .select2-search .select2-search__field{transition:none}}.select2-container .select2-dropdown .select2-search .select2-search__field:focus{border-color:#000;box-shadow:none}.select2-container .select2-dropdown .select2-results__options:not(.select2-results__options--nested){max-height:15rem;overflow-y:auto}.select2-container .select2-dropdown .select2-results__options .select2-results__option{padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.6}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__message{color:var(--bs-secondary-color)}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted{color:#000;background-color:#e9e9e9}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected,.select2-container .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted){color:#000;background-color:#ffcd00}.select2-container .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--disabled,.select2-container .select2-dropdown .select2-results__options .select2-results__option[aria-disabled=true]{color:var(--bs-secondary-color)}.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group]{padding:0}.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.375rem .375rem;font-weight:500;line-height:1.6;color:#000}.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.375rem .75rem}.select2-container .select2-selection--single{padding:.375rem 2.25rem .375rem .75rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343434' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.select2-container .select2-selection--single .select2-selection__rendered{padding:0;font-weight:400;line-height:1.6;color:var(--bs-body-color)}.select2-container .select2-selection--single .select2-selection__rendered .select2-selection__placeholder{font-weight:400;line-height:1.6;color:var(--bs-secondary-color)}.select2-container .select2-selection--single .select2-selection__arrow{display:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:flex;flex-direction:row;flex-wrap:wrap;padding-left:0;margin:0;list-style:none}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{display:flex;flex-direction:row;align-items:center;padding:.35em .65em;margin-right:.375rem;margin-bottom:.375rem;font-size:1rem;color:var(--bs-body-color);cursor:auto;border:var(--bs-border-width) solid #dedede;border-radius:0 !important}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:.75rem;height:.75rem;padding:.25em .25em;margin-right:.25rem;overflow:hidden;text-indent:100%;white-space:nowrap;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat;border:0}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove>span{display:none}.select2-container .select2-selection--multiple .select2-search{display:block;width:100%;height:1.6rem}.select2-container .select2-selection--multiple .select2-search .select2-search__field{width:100%;height:1.6rem;margin-top:0;margin-left:0;font-family:inherit;line-height:1.6;background-color:rgba(0,0,0,0)}.select2-container .select2-selection--multiple .select2-selection__clear{right:.75rem}.select2-container.select2-container--disabled .select2-selection,.select2-container.select2-container--disabled.select2-container--focus .select2-selection{color:var(--bs-secondary-color);cursor:not-allowed;background-color:var(--bs-secondary-bg);border-color:#dedede;box-shadow:none}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__clear,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__clear{display:none}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__choice,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__choice{cursor:not-allowed}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{display:none}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__rendered:not(:empty),.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__rendered:not(:empty){padding-bottom:0}.select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__rendered:not(:empty)+.select2-search,.select2-container.select2-container--disabled.select2-container--focus .select2-selection--multiple .select2-selection__rendered:not(:empty)+.select2-search{display:none}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu).select2-container .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu).select2-container .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-text~.select2-container--bootstrap-5 .select2-selection,.input-group>.btn~.select2-container--bootstrap-5 .select2-selection,.input-group>.dropdown-menu~.select2-container .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .select2-container{flex-grow:1}.input-group .select2-container .select2-selection{height:100%}.is-valid+.select2-container .select2-selection,.was-validated select:valid+.select2-container .select2-selection{border-color:#2db83d}.is-valid+.select2-container.select2-container--focus .select2-selection,.is-valid+.select2-container.select2-container--open .select2-selection,.was-validated select:valid+.select2-container.select2-container--focus .select2-selection,.was-validated select:valid+.select2-container.select2-container--open .select2-selection{border-color:#2db83d;box-shadow:0 0 0 0 rgba(45,184,61,.25)}.is-valid+.select2-container.select2-container--open.select2-container--below .select2-selection,.was-validated select:valid+.select2-container.select2-container--open.select2-container--below .select2-selection{border-bottom:0 solid rgba(0,0,0,0)}.is-valid+.select2-container.select2-container--open.select2-container--above .select2-selection,.was-validated select:valid+.select2-container.select2-container--open.select2-container--above .select2-selection{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.is-invalid+.select2-container .select2-selection,.was-validated select:invalid+.select2-container .select2-selection{border-color:#c00a35}.is-invalid+.select2-container.select2-container--focus .select2-selection,.is-invalid+.select2-container.select2-container--open .select2-selection,.was-validated select:invalid+.select2-container.select2-container--focus .select2-selection,.was-validated select:invalid+.select2-container.select2-container--open .select2-selection{border-color:#c00a35;box-shadow:0 0 0 0 rgba(192,10,53,.25)}.is-invalid+.select2-container.select2-container--open.select2-container--below .select2-selection,.was-validated select:invalid+.select2-container.select2-container--open.select2-container--below .select2-selection{border-bottom:0 solid rgba(0,0,0,0)}.is-invalid+.select2-container.select2-container--open.select2-container--above .select2-selection,.was-validated select:invalid+.select2-container.select2-container--open.select2-container--above .select2-selection{border-top:0 solid rgba(0,0,0,0);border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2--small.select2-selection{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:0 !important}.select2-container .select2--small.select2-selection--single .select2-selection__clear,.select2-container .select2--small.select2-selection--multiple .select2-selection__clear{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--single .select2-selection__clear:hover,.select2-container .select2--small.select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--single .select2-search,.select2-container .select2--small.select2-selection--single .select2-search .select2-search__field,.select2-container .select2--small.select2-selection--multiple .select2-search,.select2-container .select2--small.select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.select2-container .select2--small.select2-dropdown{border-radius:0 !important}.select2-container .select2--small.select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2--small.select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container .select2--small.select2-dropdown .select2-search .select2-search__field{padding:.25rem .5rem;font-size:0.875rem}.select2-container .select2--small.select2-dropdown .select2-results__options .select2-results__option{padding:.25rem .5rem;font-size:0.875rem}.select2-container .select2--small.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.25rem .25rem}.select2-container .select2--small.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.25rem .5rem}.select2-container .select2--small.select2-selection--single{padding:.25rem 2.25rem .25rem .5rem}.select2-container .select2--small.select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:0.875rem}.select2-container .select2--small.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.select2-container .select2--small.select2-selection--multiple .select2-selection__clear{right:.5rem}.select2-container .select2--large.select2-selection{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:0 !important}.select2-container .select2--large.select2-selection--single .select2-selection__clear,.select2-container .select2--large.select2-selection--multiple .select2-selection__clear{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--single .select2-selection__clear:hover,.select2-container .select2--large.select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--single .select2-search,.select2-container .select2--large.select2-selection--single .select2-search .select2-search__field,.select2-container .select2--large.select2-selection--multiple .select2-search,.select2-container .select2--large.select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.select2-container .select2--large.select2-dropdown{border-radius:0 !important}.select2-container .select2--large.select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.select2-container .select2--large.select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container .select2--large.select2-dropdown .select2-search .select2-search__field{padding:.5rem 1rem;font-size:1.25rem}.select2-container .select2--large.select2-dropdown .select2-results__options .select2-results__option{padding:.5rem 1rem;font-size:1.25rem}.select2-container .select2--large.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.5rem .5rem}.select2-container .select2--large.select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.5rem 1rem}.select2-container .select2--large.select2-selection--single{padding:.5rem 2.25rem .5rem 1rem}.select2-container .select2--large.select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:1.25rem}.select2-container .select2--large.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.select2-container .select2--large.select2-selection--multiple .select2-selection__clear{right:1rem}.form-select-sm~.select2-container .select2-selection{min-height:calc(1.6em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:0 !important}.form-select-sm~.select2-container .select2-selection--single .select2-selection__clear,.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__clear{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--single .select2-selection__clear:hover,.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--single .select2-search,.form-select-sm~.select2-container .select2-selection--single .select2-search .select2-search__field,.form-select-sm~.select2-container .select2-selection--multiple .select2-search,.form-select-sm~.select2-container .select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.form-select-sm~.select2-container .select2-dropdown{border-radius:0 !important}.form-select-sm~.select2-container .select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.form-select-sm~.select2-container .select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.form-select-sm~.select2-container .select2-dropdown .select2-search .select2-search__field{padding:.25rem .5rem;font-size:0.875rem}.form-select-sm~.select2-container .select2-dropdown .select2-results__options .select2-results__option{padding:.25rem .5rem;font-size:0.875rem}.form-select-sm~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.25rem .25rem}.form-select-sm~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.25rem .5rem}.form-select-sm~.select2-container .select2-selection--single{padding:.25rem 2.25rem .25rem .5rem}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:0.875rem}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:.5rem;height:.5rem;padding:.125rem .125rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.5rem auto no-repeat}.form-select-sm~.select2-container .select2-selection--multiple .select2-selection__clear{right:.5rem}.form-select-lg~.select2-container .select2-selection{min-height:calc(1.6em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:0 !important}.form-select-lg~.select2-container .select2-selection--single .select2-selection__clear,.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__clear{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--single .select2-selection__clear:hover,.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__clear:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--single .select2-search,.form-select-lg~.select2-container .select2-selection--single .select2-search .select2-search__field,.form-select-lg~.select2-container .select2-selection--multiple .select2-search,.form-select-lg~.select2-container .select2-selection--multiple .select2-search .select2-search__field{height:1.6em}.form-select-lg~.select2-container .select2-dropdown{border-radius:0 !important}.form-select-lg~.select2-container .select2-dropdown.select2-dropdown--below{border-top-left-radius:0;border-top-right-radius:0}.form-select-lg~.select2-container .select2-dropdown.select2-dropdown--above{border-bottom-right-radius:0;border-bottom-left-radius:0}.form-select-lg~.select2-container .select2-dropdown .select2-search .select2-search__field{padding:.5rem 1rem;font-size:1.25rem}.form-select-lg~.select2-container .select2-dropdown .select2-results__options .select2-results__option{padding:.5rem 1rem;font-size:1.25rem}.form-select-lg~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__group{padding:.5rem .5rem}.form-select-lg~.select2-container .select2-dropdown .select2-results__options .select2-results__option[role=group] .select2-results__options--nested .select2-results__option{padding:.5rem 1rem}.form-select-lg~.select2-container .select2-selection--single{padding:.5rem 2.25rem .5rem 1rem}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{padding:.35em .65em;font-size:1.25rem}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove{width:1rem;height:1rem;padding:.5rem .5rem;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236f6f6f'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove:hover{background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat}.form-select-lg~.select2-container .select2-selection--multiple .select2-selection__clear{right:1rem}.uu-header .uu-header-row .language-form button,.uu-unified-header-container button,.language-form button{background:none;text-transform:uppercase;border:none;font-weight:400;color:#6c6c6c}.uu-navbar .icon-additional-home:before,.uu-unified-header-container .icon-additional-home:before{content:"H"}.input-group~.invalid-feedback,.input-group~.valid-feedback{display:block}/*# sourceMappingURL=bootstrap.css.map */
diff --git a/src/cdh/core/static/cdh.core/css/bootstrap.css.map b/src/cdh/core/static/cdh.core/css/bootstrap.css.map
index 179a6b11..849d3357 100644
--- a/src/cdh/core/static/cdh.core/css/bootstrap.css.map
+++ b/src/cdh/core/static/cdh.core/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../../../../node_modules/bootstrap/scss/mixins/_banner.scss","../../../../../../node_modules/uu-bootstrap/scss/fonts/_open-sans.scss","../../../../../../node_modules/uu-bootstrap/scss/fonts/_merriweather.scss","../../../../../../node_modules/bootstrap/scss/mixins/_clearfix.scss","../../../../../../node_modules/bootstrap/scss/helpers/_color-bg.scss","../../../../../../node_modules/bootstrap/scss/helpers/_colored-links.scss","../../../../../../node_modules/bootstrap/scss/helpers/_focus-ring.scss","../../../../../../node_modules/bootstrap/scss/helpers/_icon-link.scss","../../../../../../node_modules/bootstrap/scss/_variables.scss","../../../../../../node_modules/bootstrap/scss/mixins/_transition.scss","../../../../../../node_modules/bootstrap/scss/helpers/_ratio.scss","../../../../../../node_modules/bootstrap/scss/helpers/_position.scss","../../../../../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../../../../../node_modules/bootstrap/scss/helpers/_stacks.scss","../../../../../../node_modules/bootstrap/scss/helpers/_visually-hidden.scss","../../../../../../node_modules/bootstrap/scss/mixins/_visually-hidden.scss","../../../../../../node_modules/bootstrap/scss/helpers/_stretched-link.scss","../../../../../../node_modules/bootstrap/scss/helpers/_text-truncation.scss","../../../../../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../../../../../node_modules/bootstrap/scss/helpers/_vr.scss","../../../../../../node_modules/bootstrap/scss/mixins/_utilities.scss","../../../../../../node_modules/bootstrap/scss/utilities/_api.scss","../../../../../../node_modules/bootstrap/scss/_root.scss","../../../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../../../node_modules/bootstrap/scss/_type.scss","../../../../../../node_modules/bootstrap/scss/mixins/_lists.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_colors.scss","../../../../../../node_modules/bootstrap/scss/_images.scss","../../../../../../node_modules/bootstrap/scss/mixins/_image.scss","../../../../../../node_modules/bootstrap/scss/_containers.scss","../../../../../../node_modules/bootstrap/scss/mixins/_container.scss","../../../../../../node_modules/bootstrap/scss/_grid.scss","../../../../../../node_modules/bootstrap/scss/mixins/_grid.scss","../../../../../../node_modules/bootstrap/scss/_tables.scss","../../../../../../node_modules/bootstrap/scss/mixins/_table-variants.scss","../../../../../../node_modules/bootstrap/scss/forms/_labels.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/bootstrap/_form.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/bootstrap/_misc.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-text.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-control.scss","../../../../../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-select.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-check.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-range.scss","../../../../../../node_modules/bootstrap/scss/forms/_floating-labels.scss","../../../../../../node_modules/bootstrap/scss/forms/_input-group.scss","../../../../../../node_modules/bootstrap/scss/mixins/_forms.scss","../../../../../../node_modules/bootstrap/scss/_buttons.scss","../../../../../../node_modules/bootstrap/scss/mixins/_buttons.scss","../../../../../../node_modules/bootstrap/scss/_transitions.scss","../../../../../../node_modules/bootstrap/scss/_dropdown.scss","../../../../../../node_modules/bootstrap/scss/mixins/_caret.scss","../../../../../../node_modules/bootstrap/scss/_button-group.scss","../../../../../../node_modules/bootstrap/scss/_nav.scss","../../../../../../node_modules/bootstrap/scss/_navbar.scss","../../../../../../node_modules/bootstrap/scss/_card.scss","../../../../../../node_modules/bootstrap/scss/_accordion.scss","../../../../../../node_modules/bootstrap/scss/_breadcrumb.scss","../../../../../../node_modules/bootstrap/scss/_pagination.scss","../../../../../../node_modules/bootstrap/scss/mixins/_pagination.scss","../../../../../../node_modules/bootstrap/scss/_badge.scss","../../../../../../node_modules/bootstrap/scss/_alert.scss","../../../../../../node_modules/bootstrap/scss/_progress.scss","../../../../../../node_modules/bootstrap/scss/_list-group.scss","../../../../../../node_modules/bootstrap/scss/_close.scss","../../../../../../node_modules/bootstrap/scss/_toasts.scss","../../../../../../node_modules/bootstrap/scss/_modal.scss","../../../../../../node_modules/bootstrap/scss/mixins/_backdrop.scss","../../../../../../node_modules/bootstrap/scss/_tooltip.scss","../../../../../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../../../../../node_modules/bootstrap/scss/_popover.scss","../../../../../../node_modules/bootstrap/scss/_carousel.scss","../../../../../../node_modules/bootstrap/scss/_spinners.scss","../../../../../../node_modules/bootstrap/scss/_offcanvas.scss","../../../../../../node_modules/bootstrap/scss/_placeholders.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_accordion.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_alert.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_background.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_button.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_pagination.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_modal.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_table.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_index.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_text.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_uu-layout.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_code.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_stepper.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_stepper.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_tiles.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_modal-nav-tabs.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_index.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_css_variables.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_containers.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_header.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_fonts.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_navbar.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_unified_header.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_hero.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_cover.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_sidebar.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_form.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_footer.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_table.scss","../../../../../../assets/scss/icomoon.scss","../../../../../../assets/scss/select2-bootstrap/_layout.scss","../../../../../../assets/scss/select2-bootstrap/_variables.scss","../../../../../../assets/scss/select2-bootstrap/_dropdown.scss","../../../../../../assets/scss/select2-bootstrap/_single.scss","../../../../../../assets/scss/select2-bootstrap/_multiple.scss","../../../../../../assets/scss/select2-bootstrap/_disabled.scss","../../../../../../assets/scss/select2-bootstrap/_input-group.scss","../../../../../../assets/scss/select2-bootstrap/_validation.scss","../../../../../../assets/scss/select2-bootstrap/_sizing.scss","../../../../../../assets/scss/bootstrap.scss"],"names":[],"mappings":"CACE;AAAA;AAAA;AAAA;AAAA,GCEF,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,sFACA,IACI,mhBAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,qFACA,IACI,8gBAeR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBCjPR,WACI,2BACA,kBACA,gBACA,8EACA,IACI,+eAeR,WACI,2BACA,kBACA,gBACA,oFACA,IACI,6gBAeR,WACI,2BACA,kBACA,gBACA,kFACA,IACI,mgBAeR,WACI,2BACA,kBACA,gBACA,iFACA,IACI,8fAeR,WACI,2BACA,kBACA,gBACA,8EACA,IACI,+eAeR,WACI,2BACA,kBACA,gBACA,oFACA,IACI,6gBAeR,WACI,2BACA,kBACA,gBACA,8EACA,IACI,+eAeR,WACI,2BACA,kBACA,gBACA,oFACA,IACI,6gBC1JN,iBACE,cACA,WACA,WCHF,iBACE,sBACA,iFAFF,mBACE,sBACA,mFAFF,iBACE,sBACA,iFAFF,cACE,sBACA,8EAFF,iBACE,sBACA,iFAFF,gBACE,sBACA,gFAFF,eACE,sBACA,+EAFF,eACE,sBACA,+EAFF,cACE,sBACA,8EAFF,cACE,sBACA,8EAFF,mBACE,sBACA,mFAFF,gBACE,sBACA,gFAFF,gBACE,sBACA,gFAFF,cACE,sBACA,8EAFF,aACE,sBACA,6EAFF,sBACE,sBACA,sFAFF,eACE,sBACA,+EAFF,eACE,sBACA,+EAFF,gBACE,sBACA,gFAFF,gBACE,sBACA,gFAFF,eACE,sBACA,+EAFF,cACE,sBACA,8EAFF,cACE,sBACA,8EAFF,eACE,sBACA,+EAFF,cACE,sBACA,8EAFF,mBACE,sBACA,mFCFF,cACE,wEACA,kGAGE,wCAGE,+DACA,yFATN,gBACE,0EACA,oGAGE,4CAGE,0DACA,oFATN,cACE,wEACA,kGAGE,wCAGE,+DACA,yFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,cACE,wEACA,kGAGE,wCAGE,gEACA,0FATN,aACE,uEACA,iGAGE,sCAGE,6DACA,uFATN,YACE,sEACA,gGAGE,oCAGE,6DACA,uFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,WACE,qEACA,+FAGE,kCAGE,6DACA,uFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,gBACE,0EACA,oGAGE,4CAGE,4DACA,sFATN,aACE,uEACA,iGAGE,sCAGE,8DACA,wFATN,aACE,uEACA,iGAGE,sCAGE,8DACA,wFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,UACE,oEACA,8FAGE,gCAGE,6DACA,uFATN,mBACE,6EACA,uGAGE,kDAGE,8DACA,wFATN,YACE,sEACA,gGAGE,oCAGE,6DACA,uFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,aACE,uEACA,iGAGE,sCAGE,gEACA,0FATN,aACE,uEACA,iGAGE,sCAGE,+DACA,yFATN,YACE,sEACA,gGAGE,oCAGE,+DACA,yFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,WACE,qEACA,+FAGE,kCAGE,6DACA,uFATN,gBACE,0EACA,oGAGE,4CAGE,6DACA,uFAOR,oBACE,+EACA,yGAGE,oDAEE,kFACA,4GC1BN,kBACE,UAEA,kJCHF,WACE,oBACA,IC6c4B,QD5c5B,mBACA,kFACA,sBC2c4B,MD1c5B,2BAEA,eACE,cACA,MCuc0B,IDtc1B,OCsc0B,IDrc1B,kBEIE,WFHF,0BEOE,uCFZJ,eEaM,iBFDJ,8DACE,mEGnBN,OACE,kBACA,WAEA,eACE,cACA,mCACA,WAGF,SACE,kBACA,MACA,OACA,WACA,YAKF,WACE,wBADF,WACE,uBADF,YACE,0BADF,YACE,kCCrBJ,WACE,eACA,MACA,QACA,OACA,QHqmCkC,KGlmCpC,cACE,eACA,QACA,SACA,OACA,QH6lCkC,KGrlChC,YACE,gBACA,MACA,QHilC8B,KG9kChC,eACE,gBACA,SACA,QH2kC8B,KI5iChC,yBDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,yBDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,yBDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,0BDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,0BDxCA,gBACE,gBACA,MACA,QHilC8B,KG9kChC,mBACE,gBACA,SACA,QH2kC8B,MK1mCpC,QACE,aACA,mBACA,mBACA,mBAGF,QACE,aACA,cACA,sBACA,mBCRF,2ECIE,qBACA,sBACA,qBACA,uBACA,2BACA,iCACA,8BACA,oBAGA,qGACE,6BCdF,uBACE,kBACA,MACA,QACA,SACA,OACA,QRgcsC,EQ/btC,WCRJ,+BCCE,uBACA,mBCNF,IACE,qBACA,mBACA,MXisB4B,uBWhsB5B,eACA,8BACA,QX2rB4B,IY/nBtB,gBAOI,mCAPJ,WAOI,8BAPJ,cAOI,iCAPJ,cAOI,iCAPJ,mBAOI,sCAPJ,gBAOI,mCAPJ,aAOI,sBAPJ,WAOI,uBAPJ,YAOI,sBAPJ,oBAOI,8BAPJ,kBAOI,4BAPJ,iBAOI,2BAPJ,kBAOI,iCAPJ,iBAOI,2BAPJ,WAOI,qBAPJ,YAOI,uBAPJ,YAOI,sBAPJ,YAOI,uBAPJ,aAOI,qBAPJ,eAOI,yBAPJ,iBAOI,2BAPJ,kBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,2BAPJ,mBAOI,6BAPJ,oBAOI,8BAPJ,mBAOI,6BAPJ,iBAOI,2BAPJ,mBAOI,6BAPJ,oBAOI,8BAPJ,mBAOI,6BAPJ,UAOI,0BAPJ,gBAOI,gCAPJ,SAOI,yBAPJ,QAOI,wBAPJ,eAOI,+BAPJ,SAOI,yBAPJ,aAOI,6BAPJ,cAOI,8BAPJ,QAOI,wBAPJ,eAOI,+BAPJ,QAOI,wBAPJ,QAOI,mDAPJ,WAOI,wDAPJ,WAOI,mDAPJ,aAOI,2BAjBJ,oBACE,iFADF,sBACE,mFADF,oBACE,iFADF,iBACE,8EADF,oBACE,iFADF,mBACE,gFADF,kBACE,+EADF,kBACE,+EADF,iBACE,8EADF,iBACE,8EADF,sBACE,mFADF,mBACE,gFADF,mBACE,gFADF,iBACE,8EADF,gBACE,6EADF,yBACE,sFADF,kBACE,+EADF,kBACE,+EADF,mBACE,gFADF,mBACE,gFADF,kBACE,+EADF,iBACE,8EADF,iBACE,8EADF,kBACE,+EADF,iBACE,8EADF,sBACE,mFASF,iBAOI,2BAPJ,mBAOI,6BAPJ,mBAOI,6BAPJ,gBAOI,0BAPJ,iBAOI,2BAPJ,OAOI,iBAPJ,QAOI,mBAPJ,SAOI,oBAPJ,UAOI,oBAPJ,WAOI,sBAPJ,YAOI,uBAPJ,SAOI,kBAPJ,UAOI,oBAPJ,WAOI,qBAPJ,OAOI,mBAPJ,QAOI,qBAPJ,SAOI,sBAPJ,kBAOI,2CAPJ,oBAOI,sCAPJ,oBAOI,sCAPJ,QAOI,uFAPJ,UAOI,oBAPJ,YAOI,2FAPJ,cAOI,wBAPJ,YAOI,6FAPJ,cAOI,0BAPJ,eAOI,8FAPJ,iBAOI,2BAPJ,cAOI,4FAPJ,gBAOI,yBAPJ,gBAIQ,uBAGJ,8EAPJ,kBAIQ,uBAGJ,gFAPJ,gBAIQ,uBAGJ,8EAPJ,aAIQ,uBAGJ,2EAPJ,gBAIQ,uBAGJ,8EAPJ,eAIQ,uBAGJ,6EAPJ,cAIQ,uBAGJ,4EAPJ,cAIQ,uBAGJ,4EAPJ,aAIQ,uBAGJ,2EAPJ,aAIQ,uBAGJ,2EAPJ,kBAIQ,uBAGJ,gFAPJ,eAIQ,uBAGJ,6EAPJ,eAIQ,uBAGJ,6EAPJ,aAIQ,uBAGJ,2EAPJ,YAIQ,uBAGJ,0EAPJ,qBAIQ,uBAGJ,mFAPJ,cAIQ,uBAGJ,4EAPJ,cAIQ,uBAGJ,4EAPJ,eAIQ,uBAGJ,6EAPJ,eAIQ,uBAGJ,6EAPJ,cAIQ,uBAGJ,4EAPJ,aAIQ,uBAGJ,2EAPJ,aAIQ,uBAGJ,2EAPJ,cAIQ,uBAGJ,4EAPJ,aAIQ,uBAGJ,2EAPJ,kBAIQ,uBAGJ,gFAPJ,cAIQ,uBAGJ,4EAPJ,uBAOI,wDAPJ,yBAOI,0DAPJ,uBAOI,wDAPJ,oBAOI,qDAPJ,uBAOI,wDAPJ,sBAOI,uDAPJ,qBAOI,sDAPJ,oBAOI,qDAPJ,UAOI,4BAPJ,UAOI,4BAPJ,UAOI,4BAPJ,UAOI,4BAPJ,UAOI,4BAjBJ,mBACE,yBADF,mBACE,0BADF,mBACE,yBADF,mBACE,0BADF,oBACE,uBASF,MAOI,qBAPJ,MAOI,qBAPJ,MAOI,qBAPJ,OAOI,sBAPJ,QAOI,sBAPJ,QAOI,0BAPJ,QAOI,uBAPJ,YAOI,2BAPJ,MAOI,sBAPJ,MAOI,sBAPJ,MAOI,sBAPJ,OAOI,uBAPJ,QAOI,uBAPJ,QAOI,2BAPJ,QAOI,wBAPJ,YAOI,4BAPJ,WAOI,yBAPJ,UAOI,8BAPJ,aAOI,iCAPJ,kBAOI,sCAPJ,qBAOI,yCAPJ,aAOI,uBAPJ,aAOI,uBAPJ,eAOI,yBAPJ,eAOI,yBAPJ,WAOI,0BAPJ,aAOI,4BAPJ,mBAOI,kCAPJ,uBAOI,sCAPJ,qBAOI,oCAPJ,wBAOI,kCAPJ,yBAOI,yCAPJ,wBAOI,wCAPJ,wBAOI,wCAPJ,mBAOI,kCAPJ,iBAOI,gCAPJ,oBAOI,8BAPJ,sBAOI,gCAPJ,qBAOI,+BAPJ,qBAOI,oCAPJ,mBAOI,kCAPJ,sBAOI,gCAPJ,uBAOI,uCAPJ,sBAOI,sCAPJ,uBAOI,iCAPJ,iBAOI,2BAPJ,kBAOI,iCAPJ,gBAOI,+BAPJ,mBAOI,6BAPJ,qBAOI,+BAPJ,oBAOI,8BAPJ,aAOI,oBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,YAOI,mBAPJ,KAOI,oBAPJ,KAOI,yBAPJ,KAOI,wBAPJ,KAOI,uBAPJ,KAOI,yBAPJ,KAOI,uBAPJ,QAOI,uBAPJ,MAOI,mDAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,yDAPJ,MAOI,6DAPJ,MAOI,yDAPJ,SAOI,yDAPJ,MAOI,mDAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,yDAPJ,MAOI,6DAPJ,MAOI,yDAPJ,SAOI,yDAPJ,MAOI,wBAPJ,MAOI,6BAPJ,MAOI,4BAPJ,MAOI,2BAPJ,MAOI,6BAPJ,MAOI,2BAPJ,SAOI,2BAPJ,MAOI,0BAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,+BAPJ,MAOI,6BAPJ,SAOI,6BAPJ,MAOI,2BAPJ,MAOI,gCAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,gCAPJ,MAOI,8BAPJ,SAOI,8BAPJ,MAOI,yBAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,4BAPJ,MAOI,8BAPJ,MAOI,4BAPJ,SAOI,4BAPJ,KAOI,qBAPJ,KAOI,0BAPJ,KAOI,yBAPJ,KAOI,wBAPJ,KAOI,0BAPJ,KAOI,wBAPJ,MAOI,qDAPJ,MAOI,+DAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,+DAPJ,MAOI,2DAPJ,MAOI,qDAPJ,MAOI,+DAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,+DAPJ,MAOI,2DAPJ,MAOI,yBAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,4BAPJ,MAOI,8BAPJ,MAOI,4BAPJ,MAOI,2BAPJ,MAOI,gCAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,gCAPJ,MAOI,8BAPJ,MAOI,4BAPJ,MAOI,iCAPJ,MAOI,gCAPJ,MAOI,+BAPJ,MAOI,iCAPJ,MAOI,+BAPJ,MAOI,0BAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,+BAPJ,MAOI,6BAPJ,OAOI,iBAPJ,OAOI,sBAPJ,OAOI,qBAPJ,OAOI,oBAPJ,OAOI,sBAPJ,OAOI,oBAPJ,WAOI,qBAPJ,WAOI,0BAPJ,WAOI,yBAPJ,WAOI,wBAPJ,WAOI,0BAPJ,WAOI,wBAPJ,cAOI,wBAPJ,cAOI,6BAPJ,cAOI,4BAPJ,cAOI,2BAPJ,cAOI,6BAPJ,cAOI,2BAPJ,gBAOI,gDAPJ,MAOI,4CAPJ,MAOI,6CAPJ,MAOI,6CAPJ,MAOI,4BAPJ,MAOI,4BAPJ,MAOI,0BAPJ,YAOI,6BAPJ,YAOI,6BAPJ,YAOI,+BAPJ,UAOI,2BAPJ,WAOI,2BAPJ,WAOI,2BAPJ,aAOI,2BAPJ,SAOI,2BAPJ,WAOI,8BAPJ,MAOI,yBAPJ,OAOI,2BAPJ,SAOI,2BAPJ,OAOI,2BAPJ,YAOI,2BAPJ,UAOI,4BAPJ,aAOI,6BAPJ,sBAOI,gCAPJ,2BAOI,qCAPJ,8BAOI,wCAPJ,gBAOI,oCAPJ,gBAOI,oCAPJ,iBAOI,qCAPJ,WAOI,8BAPJ,aAOI,8BAPJ,YAOI,iEAPJ,cAIQ,qBAGJ,qEAPJ,gBAIQ,qBAGJ,uEAPJ,cAIQ,qBAGJ,qEAPJ,WAIQ,qBAGJ,kEAPJ,cAIQ,qBAGJ,qEAPJ,aAIQ,qBAGJ,oEAPJ,YAIQ,qBAGJ,mEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,kEAPJ,WAIQ,qBAGJ,kEAPJ,gBAIQ,qBAGJ,uEAPJ,aAIQ,qBAGJ,oEAPJ,aAIQ,qBAGJ,oEAPJ,WAIQ,qBAGJ,kEAPJ,UAIQ,qBAGJ,iEAPJ,mBAIQ,qBAGJ,0EAPJ,YAIQ,qBAGJ,mEAPJ,YAIQ,qBAGJ,mEAPJ,aAIQ,qBAGJ,oEAPJ,aAIQ,qBAGJ,oEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,kEAPJ,WAIQ,qBAGJ,kEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,kEAPJ,gBAIQ,qBAGJ,uEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,wEAPJ,YAIQ,qBAGJ,2CAPJ,eAIQ,qBAGJ,gCAPJ,eAIQ,qBAGJ,sCAPJ,qBAIQ,qBAGJ,2CAPJ,oBAIQ,qBAGJ,0CAPJ,oBAIQ,qBAGJ,0CAPJ,YAIQ,qBAGJ,yBAjBJ,iBACE,wBADF,iBACE,uBADF,iBACE,wBADF,kBACE,qBASF,uBAOI,iDAPJ,yBAOI,mDAPJ,uBAOI,iDAPJ,oBAOI,8CAPJ,uBAOI,iDAPJ,sBAOI,gDAPJ,qBAOI,+CAPJ,oBAOI,8CAjBJ,iBACE,uBAIA,6BACE,uBANJ,iBACE,wBAIA,6BACE,wBANJ,iBACE,uBAIA,6BACE,uBANJ,iBACE,wBAIA,6BACE,wBANJ,kBACE,qBAIA,8BACE,qBAIJ,eAOI,wCAKF,2BAOI,wCAnBN,eAOI,uCAKF,2BAOI,uCAnBN,eAOI,wCAKF,2BAOI,wCAnBN,wBAIQ,+BAGJ,+FAPJ,0BAIQ,+BAGJ,iGAPJ,wBAIQ,+BAGJ,+FAPJ,qBAIQ,+BAGJ,4FAPJ,wBAIQ,+BAGJ,+FAPJ,uBAIQ,+BAGJ,8FAPJ,sBAIQ,+BAGJ,6FAPJ,sBAIQ,+BAGJ,6FAPJ,qBAIQ,+BAGJ,4FAPJ,qBAIQ,+BAGJ,4FAPJ,0BAIQ,+BAGJ,iGAPJ,uBAIQ,+BAGJ,8FAPJ,uBAIQ,+BAGJ,8FAPJ,qBAIQ,+BAGJ,4FAPJ,oBAIQ,+BAGJ,2FAPJ,6BAIQ,+BAGJ,oGAPJ,sBAIQ,+BAGJ,6FAPJ,sBAIQ,+BAGJ,6FAPJ,uBAIQ,+BAGJ,8FAPJ,uBAIQ,+BAGJ,8FAPJ,sBAIQ,+BAGJ,6FAPJ,qBAIQ,+BAGJ,4FAPJ,qBAIQ,+BAGJ,4FAPJ,sBAIQ,+BAGJ,6FAPJ,qBAIQ,+BAGJ,4FAPJ,0BAIQ,+BAGJ,iGAPJ,gBAIQ,+BAGJ,qGAjBJ,0BACE,+BAIA,sCACE,+BANJ,2BACE,iCAIA,uCACE,iCANJ,2BACE,kCAIA,uCACE,kCANJ,2BACE,iCAIA,uCACE,iCANJ,2BACE,kCAIA,uCACE,kCANJ,4BACE,+BAIA,wCACE,+BAIJ,YAIQ,mBAGJ,8EAPJ,cAIQ,mBAGJ,gFAPJ,YAIQ,mBAGJ,8EAPJ,SAIQ,mBAGJ,2EAPJ,YAIQ,mBAGJ,8EAPJ,WAIQ,mBAGJ,6EAPJ,UAIQ,mBAGJ,4EAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,2EAPJ,SAIQ,mBAGJ,2EAPJ,cAIQ,mBAGJ,gFAPJ,WAIQ,mBAGJ,6EAPJ,WAIQ,mBAGJ,6EAPJ,SAIQ,mBAGJ,2EAPJ,QAIQ,mBAGJ,0EAPJ,iBAIQ,mBAGJ,mFAPJ,UAIQ,mBAGJ,4EAPJ,UAIQ,mBAGJ,4EAPJ,WAIQ,mBAGJ,6EAPJ,WAIQ,mBAGJ,6EAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,2EAPJ,SAIQ,mBAGJ,2EAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,2EAPJ,cAIQ,mBAGJ,gFAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,8EAPJ,gBAIQ,mBAGJ,0CAPJ,mBAIQ,mBAGJ,mFAPJ,kBAIQ,mBAGJ,kFAjBJ,eACE,qBADF,eACE,sBADF,eACE,qBADF,eACE,sBADF,gBACE,mBASF,mBAOI,wDAPJ,qBAOI,0DAPJ,mBAOI,wDAPJ,gBAOI,qDAPJ,mBAOI,wDAPJ,kBAOI,uDAPJ,iBAOI,sDAPJ,gBAOI,qDAPJ,aAOI,+CAPJ,iBAOI,2BAPJ,kBAOI,4BAPJ,kBAOI,4BAPJ,SAOI,+BAPJ,SAOI,+BAPJ,SAOI,iDAPJ,WAOI,2BAPJ,WAOI,oDAPJ,WAOI,iDAPJ,WAOI,oDAPJ,WAOI,oDAPJ,WAOI,qDAPJ,gBAOI,6BAPJ,cAOI,sDAPJ,aAOI,qHAPJ,eAOI,yEAPJ,eAOI,2HAPJ,eAOI,qHAPJ,eAOI,2HAPJ,eAOI,2HAPJ,eAOI,6HAPJ,oBAOI,6EAPJ,kBAOI,+HAPJ,aAOI,yHAPJ,eAOI,6EAPJ,eAOI,+HAPJ,eAOI,yHAPJ,eAOI,+HAPJ,eAOI,+HAPJ,eAOI,iIAPJ,oBAOI,iFAPJ,kBAOI,mIAPJ,gBAOI,2HAPJ,kBAOI,+EAPJ,kBAOI,iIAPJ,kBAOI,2HAPJ,kBAOI,iIAPJ,kBAOI,iIAPJ,kBAOI,mIAPJ,uBAOI,mFAPJ,qBAOI,qIAPJ,eAOI,uHAPJ,iBAOI,2EAPJ,iBAOI,6HAPJ,iBAOI,uHAPJ,iBAOI,6HAPJ,iBAOI,6HAPJ,iBAOI,+HAPJ,sBAOI,+EAPJ,oBAOI,iIAPJ,SAOI,8BAPJ,WAOI,6BAPJ,MAOI,sBAPJ,KAOI,qBAPJ,KAOI,qBAPJ,KAOI,qBAPJ,KAOI,qBAPJ,aAOI,uBAPJ,gBAOI,0BAPJ,aAOI,uBAPJ,aAOI,uBAPJ,gBAOI,0BAPJ,aAOI,uBAPJ,aAOI,uBAPJ,aAOI,uBAPJ,oBAOI,8BAPJ,iBAOI,2BAPJ,aAOI,uBAPJ,gBAOI,0BAPJ,iBAOI,2BRVR,yBQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,yBQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,yBQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,0BQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,0BQGI,iBAOI,sBAPJ,eAOI,uBAPJ,gBAOI,sBAPJ,wBAOI,8BAPJ,sBAOI,4BAPJ,qBAOI,2BAPJ,sBAOI,iCAPJ,qBAOI,2BAPJ,cAOI,0BAPJ,oBAOI,gCAPJ,aAOI,yBAPJ,YAOI,wBAPJ,mBAOI,+BAPJ,aAOI,yBAPJ,iBAOI,6BAPJ,kBAOI,8BAPJ,YAOI,wBAPJ,mBAOI,+BAPJ,YAOI,wBAPJ,eAOI,yBAPJ,cAOI,8BAPJ,iBAOI,iCAPJ,sBAOI,sCAPJ,yBAOI,yCAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,mBAOI,yBAPJ,mBAOI,yBAPJ,eAOI,0BAPJ,iBAOI,4BAPJ,uBAOI,kCAPJ,2BAOI,sCAPJ,yBAOI,oCAPJ,4BAOI,kCAPJ,6BAOI,yCAPJ,4BAOI,wCAPJ,4BAOI,wCAPJ,uBAOI,kCAPJ,qBAOI,gCAPJ,wBAOI,8BAPJ,0BAOI,gCAPJ,yBAOI,+BAPJ,yBAOI,oCAPJ,uBAOI,kCAPJ,0BAOI,gCAPJ,2BAOI,uCAPJ,0BAOI,sCAPJ,2BAOI,iCAPJ,qBAOI,2BAPJ,sBAOI,iCAPJ,oBAOI,+BAPJ,uBAOI,6BAPJ,yBAOI,+BAPJ,wBAOI,8BAPJ,iBAOI,oBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,gBAOI,mBAPJ,SAOI,oBAPJ,SAOI,yBAPJ,SAOI,wBAPJ,SAOI,uBAPJ,SAOI,yBAPJ,SAOI,uBAPJ,YAOI,uBAPJ,UAOI,mDAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,yDAPJ,UAOI,6DAPJ,UAOI,yDAPJ,aAOI,yDAPJ,UAOI,mDAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,yDAPJ,UAOI,6DAPJ,UAOI,yDAPJ,aAOI,yDAPJ,UAOI,wBAPJ,UAOI,6BAPJ,UAOI,4BAPJ,UAOI,2BAPJ,UAOI,6BAPJ,UAOI,2BAPJ,aAOI,2BAPJ,UAOI,0BAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,+BAPJ,UAOI,6BAPJ,aAOI,6BAPJ,UAOI,2BAPJ,UAOI,gCAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,gCAPJ,UAOI,8BAPJ,aAOI,8BAPJ,UAOI,yBAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,4BAPJ,UAOI,8BAPJ,UAOI,4BAPJ,aAOI,4BAPJ,SAOI,qBAPJ,SAOI,0BAPJ,SAOI,yBAPJ,SAOI,wBAPJ,SAOI,0BAPJ,SAOI,wBAPJ,UAOI,qDAPJ,UAOI,+DAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,+DAPJ,UAOI,2DAPJ,UAOI,qDAPJ,UAOI,+DAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,+DAPJ,UAOI,2DAPJ,UAOI,yBAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,4BAPJ,UAOI,8BAPJ,UAOI,4BAPJ,UAOI,2BAPJ,UAOI,gCAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,gCAPJ,UAOI,8BAPJ,UAOI,4BAPJ,UAOI,iCAPJ,UAOI,gCAPJ,UAOI,+BAPJ,UAOI,iCAPJ,UAOI,+BAPJ,UAOI,0BAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,+BAPJ,UAOI,6BAPJ,WAOI,iBAPJ,WAOI,sBAPJ,WAOI,qBAPJ,WAOI,oBAPJ,WAOI,sBAPJ,WAOI,oBAPJ,eAOI,qBAPJ,eAOI,0BAPJ,eAOI,yBAPJ,eAOI,wBAPJ,eAOI,0BAPJ,eAOI,wBAPJ,kBAOI,wBAPJ,kBAOI,6BAPJ,kBAOI,4BAPJ,kBAOI,2BAPJ,kBAOI,6BAPJ,kBAOI,2BAPJ,gBAOI,2BAPJ,cAOI,4BAPJ,iBAOI,6BAPJ,iBAOI,uBAPJ,oBAOI,0BAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,oBAOI,0BAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,wBAOI,8BAPJ,qBAOI,2BAPJ,iBAOI,uBAPJ,oBAOI,0BAPJ,qBAOI,4BCtDZ,0BD+CQ,MAOI,0BAPJ,MAOI,4BAPJ,MAOI,6BCnCZ,aD4BQ,gBAOI,0BAPJ,sBAOI,gCAPJ,eAOI,yBAPJ,cAOI,wBAPJ,qBAOI,+BAPJ,eAOI,yBAPJ,mBAOI,6BAPJ,oBAOI,8BAPJ,cAOI,wBAPJ,qBAOI,+BAPJ,cAOI,yBEzEZ,4BASI,6VAIA,+MAIA,uhBAIA,qvBAIA,uRAIA,yPAIA,yRAGF,8BACA,wBAMA,mOACA,0GACA,0FAOA,iDC2OI,oBALI,KDpOR,2BACA,2BAKA,yBACA,gCACA,mBACA,gCAEA,0BACA,iCAEA,6CACA,qCACA,2BACA,qCAEA,2CACA,oCACA,0BACA,oCAGA,4BAEA,sBACA,6BACA,gCAEA,6BACA,mCAMA,sBACA,2BAGA,uBACA,yBACA,2BACA,oDAEA,sBACA,yBACA,yBACA,4BACA,6BACA,oDACA,+BAGA,mDACA,4DACA,qDACA,4DAIA,+BACA,8BACA,+CAIA,+BACA,sCACA,iCACA,wCE/GF,qBAGE,sBAeE,8CANJ,MAOM,wBAcN,KACE,SACA,uCD6OI,UALI,yBCtOR,uCACA,uCACA,2BACA,qCACA,mCACA,8BACA,0CASF,GACE,cACA,MhBmnB4B,QgBlnB5B,SACA,wCACA,QhBynB4B,IgB/mB9B,0CACE,aACA,chBwjB4B,MgBrjB5B,YhBwjB4B,IgBvjB5B,YhBwjB4B,IgBvjB5B,8BAGF,ODuMQ,iCA5JJ,0BC3CJ,OD8MQ,gBCzMR,ODkMQ,kCA5JJ,0BCtCJ,ODyMQ,kBCpMR,OD6LQ,kCA5JJ,0BCjCJ,ODoMQ,kBC/LR,ODoLM,UALI,OC1KV,OD+KM,UALI,OCrKV,OD0KM,UALI,KC1JV,EACE,aACA,chBwV0B,KgB9U5B,YACE,iCACA,YACA,8BAMF,QACE,mBACA,kBACA,oBAMF,MAEE,kBAGF,SAGE,aACA,mBAGF,wBAIE,gBAGF,GACE,YhB6b4B,IgBxb9B,GACE,oBACA,cAMF,WACE,gBAQF,SAEE,YhBsa4B,OgB9Z9B,aD6EM,UALI,QCjEV,WACE,QhBqf4B,QgBpf5B,wCASF,QAEE,kBDyDI,UALI,OClDR,cACA,wBAGF,mBACA,eAKA,EACE,gEACA,gBhBiNwC,UgB/MxC,QACE,oDAWF,4DAEE,cACA,qBAOJ,kBAIE,YhBiV4B,yBelUxB,UALI,ICFV,IACE,cACA,aACA,mBACA,cDGI,UALI,OCOR,SDFI,UALI,QCSN,cACA,kBAIJ,KDTM,UALI,OCgBR,2BACA,qBAGA,OACE,cAIJ,IACE,yBDrBI,UALI,OC4BR,MhBs5CkC,kBgBr5ClC,iBhBs5CkC,qBiB1rDhC,gBDuSF,QACE,UD5BE,UALI,IC4CV,OACE,gBAMF,QAEE,sBAQF,MACE,oBACA,yBAGF,QACE,YhB4X4B,MgB3X5B,ehB2X4B,MgB1X5B,MhB4Z4B,0BgB3Z5B,gBAOF,GAEE,mBACA,gCAGF,2BAME,qBACA,mBACA,eAQF,MACE,qBAMF,OAEE,gBAQF,iCACE,UAKF,sCAKE,SACA,oBD3HI,UALI,QCkIR,oBAIF,cAEE,oBAKF,cACE,eAGF,OAGE,iBAGA,gBACE,UAOJ,0IACE,wBAQF,gDAIE,0BAGE,4GACE,eAON,mBACE,UACA,kBAKF,SACE,gBAUF,SACE,YACA,UACA,SACA,SAQF,OACE,WACA,WACA,UACA,chBoN4B,MepatB,iCCmNN,oBD/WE,0BCwWJ,ODrMQ,kBC8MN,SACE,WAOJ,+OAOE,UAGF,4BACE,YASF,cACE,6BACA,oBAmBF,4BACE,wBAKF,+BACE,UAOF,uBACE,aACA,0BAKF,OACE,qBAKF,OACE,SAOF,QACE,kBACA,eAQF,SACE,wBAQF,SACE,wBEpkBF,MHmQM,UALI,QG5PR,YlBwoB4B,IkBnoB5B,WHgQM,iCG5PJ,YlBynBkB,IkBxnBlB,YlBwmB0B,IezgB1B,0BGpGF,WHuQM,gBGvQN,WHgQM,iCG5PJ,YlBynBkB,IkBxnBlB,YlBwmB0B,IezgB1B,0BGpGF,WHuQM,kBGvQN,WHgQM,iCG5PJ,YlBynBkB,IkBxnBlB,YlBwmB0B,IezgB1B,0BGpGF,WHuQM,gBGvQN,WHgQM,iCG5PJ,YlBynBkB,IkBxnBlB,YlBwmB0B,IezgB1B,0BGpGF,WHuQM,kBGvQN,WHgQM,iCG5PJ,YlBynBkB,IkBxnBlB,YlBwmB0B,IezgB1B,0BGpGF,WHuQM,gBGvQN,WHgQM,iCG5PJ,YlBynBkB,IkBxnBlB,YlBwmB0B,IezgB1B,0BGpGF,WHuQM,kBG/OR,eCvDE,eACA,gBD2DF,aC5DE,eACA,gBD8DF,kBACE,qBAEA,mCACE,alBsoB0B,MkB5nB9B,YH8MM,UALI,QGvMR,yBAIF,YACE,clBiUO,Ke1HH,UALI,QG/LR,wBACE,gBAIJ,mBACE,iBACA,clBuTO,Ke1HH,UALI,QGtLR,ME5ES,QF8ET,2BACE,aGhGJ,WCIE,eAGA,YDDF,eACE,QrB2jDkC,OqB1jDlC,iBrB2jDkC,kBqB1jDlC,2DJGE,sCKRF,eAGA,YDcF,QAEE,qBAGF,YACE,oBACA,cAGF,gBNyPM,UALI,QMlPR,MrB8iDkC,0BuBhlDlC,mGCHA,iBACA,iBACA,WACA,0CACA,yCACA,kBACA,iBpBsDE,yBmB5CE,yBACE,UvBkee,OIvbnB,yBmB5CE,uCACE,UvBkee,OIvbnB,yBmB5CE,qDACE,UvBkee,OIvbnB,0BmB5CE,mEACE,UvBkee,QIvbnB,0BmB5CE,kFACE,UvBkee,QyBlfvB,MAEI,2JAKF,KCNA,iBACA,iBACA,aACA,eAEA,uCACA,2CACA,0CDEE,OCOF,cACA,WACA,eACA,0CACA,yCACA,8BA+CI,KACE,YAGF,iBApCJ,cACA,WAcA,cACE,cACA,WAFF,cACE,cACA,UAFF,cACE,cACA,qBAFF,cACE,cACA,UAFF,cACE,cACA,UAFF,cACE,cACA,qBA+BE,UAhDJ,cACA,WAqDQ,OAhEN,cACA,kBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,QAhEN,cACA,mBA+DM,QAhEN,cACA,mBA+DM,QAhEN,cACA,WAuEQ,UAxDV,wBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,UAxDV,yBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,UAxDV,yBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,WAxDV,yBAwDU,WAxDV,yBAmEM,WAEE,iBAGF,WAEE,iBAPF,WAEE,uBAGF,WAEE,uBAPF,WAEE,sBAGF,WAEE,sBAPF,WAEE,oBAGF,WAEE,oBAPF,WAEE,sBAGF,WAEE,sBAPF,WAEE,oBAGF,WAEE,oBtB1DN,yBsBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBtB1DN,yBsBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBtB1DN,yBsBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBtB1DN,0BsBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBtB1DN,0BsBUE,SACE,YAGF,qBApCJ,cACA,WAcA,kBACE,cACA,WAFF,kBACE,cACA,UAFF,kBACE,cACA,qBAFF,kBACE,cACA,UAFF,kBACE,cACA,UAFF,kBACE,cACA,qBA+BE,cAhDJ,cACA,WAqDQ,WAhEN,cACA,kBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,YAhEN,cACA,mBA+DM,YAhEN,cACA,mBA+DM,YAhEN,cACA,WAuEQ,cAxDV,cAwDU,cAxDV,wBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,eAxDV,yBAwDU,eAxDV,yBAmEM,mBAEE,iBAGF,mBAEE,iBAPF,mBAEE,uBAGF,mBAEE,uBAPF,mBAEE,sBAGF,mBAEE,sBAPF,mBAEE,oBAGF,mBAEE,oBAPF,mBAEE,sBAGF,mBAEE,sBAPF,mBAEE,oBAGF,mBAEE,qBCrHV,uBAEE,+BACA,4BACA,gCACA,6BAEA,uCACA,iCACA,gDACA,kCACA,+CACA,2CACA,8CACA,yCACA,6CACA,yCAEA,WACA,c3BkYO,K2BjYP,e3BssB4B,I2BrsB5B,0CAOA,6EACE,oBAEA,qFACA,oCACA,oB3B8sB0B,uB2B7sB1B,2GAGF,yCACE,uBAGF,yCACE,sBAIJ,qBACE,+DAOF,aACE,iBAUA,4BACE,sBAeF,gCACE,sCAGA,kCACE,sCAOJ,oCACE,sBAGF,qCACE,mBAUF,2CACE,qDACA,+CAMF,yDACE,qDACA,+CAQJ,cACE,qDACA,+CAQA,8BACE,oDACA,8CC5IF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,iBAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,YAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,cAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,aAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,YAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CDiJA,kBACE,gBACA,iCvB3FF,4BuByFA,qBACE,gBACA,kCvB3FF,4BuByFA,qBACE,gBACA,kCvB3FF,4BuByFA,qBACE,gBACA,kCvB3FF,6BuByFA,qBACE,gBACA,kCvB3FF,6BuByFA,sBACE,gBACA,kCEnKN,YACE,c7Bq2BsC,M6Bl2BtC,YCJuB,IDKvB,MTmBS,QSdX,gBACE,oDACA,uDACA,gBd8QI,UALI,QctQR,YChBuB,IDiBvB,YEfiB,IFgBjB,MTMS,QSHX,mBACE,kDACA,qDdoQI,UALI,Qc3PV,mBACE,mDACA,sDd8PI,UALI,SiBtRV,WACE,WhC61BsC,OenkBlC,UALI,QiBjRR,MhC61BsC,0BiCl2BxC,cACE,cACA,WACA,uBlBwRI,UALI,KkBhRR,YjCkmB4B,IiCjmB5B,YFLiB,IEMjB,MjC03BsC,qBiCz3BtC,gBACA,iBbGM,KaFN,4BACA,2DhBGE,sChBHE,WgCMJ,0DhCFI,uCgChBN,chCiBQ,iBgCGN,yBACE,gBAEA,wDACE,eAKJ,oBACE,MjCo2BoC,qBiCn2BpC,iBblBI,KamBJ,abJI,KaKJ,UAKE,WHlCmB,KGsCvB,2CAME,eAMA,aAKA,SAKF,qCACE,cACA,UAIF,2BACE,MjC00BoC,0BiCx0BpC,UAQF,uBAEE,iBjC4yBoC,uBiCzyBpC,UAIF,oCACE,uBACA,0BACA,kBjCmrB0B,OiClrB1B,MjCoyBoC,qBkCl4BtC,iBlCmiCgC,sBiCn8B9B,oBACA,qBACA,mBACA,eACA,wBjC+rB0B,uBiC9rB1B,gBhCzFE,WgC0FF,mHhCtFE,uCgC0EJ,oChCzEM,iBgCwFN,yEACE,iBjC07B8B,uBiCj7BlC,wBACE,cACA,WACA,kBACA,gBACA,YFtHiB,IEuHjB,MjCyxBsC,qBiCxxBtC,+BACA,2BACA,sCAEA,8BACE,UAGF,gFAEE,gBACA,eAWJ,iBACE,WjC0wBsC,wDiCzwBtC,qBlByII,UALI,SEvQN,yCgBuIF,uCACE,qBACA,wBACA,kBjCmoB0B,MiC/nB9B,iBACE,WjC8vBsC,sDiC7vBtC,mBlB4HI,UALI,QEvQN,yCgBoJF,uCACE,mBACA,qBACA,kBjC0nB0B,KiClnB5B,sBACE,WjC2uBoC,yDiCxuBtC,yBACE,WjCwuBoC,wDiCruBtC,yBACE,WjCquBoC,sDiChuBxC,oBACE,MjCmuBsC,KiCluBtC,OjC4tBsC,yDiC3tBtC,QjCglB4B,QiC9kB5B,mDACE,eAGF,uCACE,oBhBvLA,sCgB2LF,0CACE,oBhB5LA,sCgBgMF,2CjC4sBsC,wDiC3sBtC,2CjC4sBsC,sDmC35BxC,aACE,yPAEA,cACA,WACA,uCpBqRI,UALI,KoB7QR,YnC+lB4B,ImC9lB5B,YJRiB,IISjB,MnCu3BsC,qBmCt3BtC,gBACA,sBACA,kFACA,4BACA,oBnC69BkC,oBmC59BlC,gBnC69BkC,UmC59BlC,2DlBHE,2BhBHE,WkCSJ,0DlCLI,uCkCfN,alCgBQ,iBkCMN,mBACE,afII,KeHJ,UAKE,WLxByB,KK4B7B,0DAEE,cnC4uB0B,OmC3uB1B,sBAGF,sBAEE,iBnCq1BoC,uBmCh1BtC,4BACE,oBACA,uCAIJ,gBACE,YnCquB4B,OmCpuB5B,enCouB4B,OmCnuB5B,anCouB4B,MejgBxB,UALI,SEvQN,2BkB8CJ,gBACE,YnCiuB4B,MmChuB5B,enCguB4B,MmC/tB5B,anCguB4B,KergBxB,UALI,QEvQN,2BmBfJ,YACE,cACA,WpCm6BwC,OoCl6BxC,apCm6BwC,MoCl6BxC,cpCm6BwC,QoCj6BxC,8BACE,WACA,mBAIJ,oBACE,cpCy5BwC,MoCx5BxC,eACA,iBAEA,sCACE,YACA,oBACA,cAIJ,kBACE,yBAEA,MpCy4BwC,IoCx4BxC,OpCw4BwC,IoCv4BxC,gBACA,mBACA,gBACA,yCACA,+CACA,4BACA,2BACA,wBACA,OpC04BwC,oDoCz4BxC,yBAGA,iCnB1BE,oBmB8BF,8BAEE,cpCk4BsC,IoC/3BxC,yBACE,OpCy3BsC,gBoCt3BxC,wBACE,ahB3BI,KgB4BJ,UACA,WpC+foB,iCoC5ftB,0BACE,iBhBrDG,QgBsDH,ahBtDG,QgBwDH,yCAII,wPAIJ,sCAII,gKAKN,+CACE,iBhBlFK,QgBmFL,ahBnFK,QgBwFH,kPAIJ,2BACE,oBACA,YACA,QpCi2BuC,GoC11BvC,2FACE,eACA,QpCw1BqC,GoC10B3C,aACE,apCm1BgC,MoCj1BhC,+BACE,4KAEA,MpC60B8B,IoC50B9B,mBACA,0CACA,gCnBhHA,kBhBHE,WmCqHF,qCnCjHE,uCmCyGJ,+BnCxGM,iBmCkHJ,qCACE,2JAGF,uCACE,oBpC40B4B,aoCv0B1B,2JAKN,gCACE,cpCuzB8B,MoCtzB9B,eAEA,kDACE,oBACA,cAKN,mBACE,qBACA,apCqyBgC,KoClyBlC,WACE,kBACA,sBACA,oBAIE,mDACE,oBACA,YACA,QpCspBwB,IqCh0B9B,YACE,WACA,YACA,UACA,gBACA,+BAEA,kBACE,UAIA,mDrC4gCuC,oBqC3gCvC,+CrC2gCuC,oBqCxgCzC,8BACE,SAGF,kCACE,MrC6/BuC,KqC5/BvC,OrC4/BuC,KqC3/BvC,oBACA,gBH1BF,yBG4BE,OrC2/BuC,EiBxgCvC,mBhBHE,WoCmBF,4FpCfE,uCoCMJ,kCpCLM,iBoCgBJ,yCHjCF,iBlC4hCyC,QqCt/BzC,2CACE,MrCs+B8B,KqCr+B9B,OrCs+B8B,MqCr+B9B,oBACA,OrCq+B8B,QqCp+B9B,iBrCq+B8B,sBqCp+B9B,2BpB7BA,mBoBkCF,8BACE,MrCk+BuC,KqCj+BvC,OrCi+BuC,KqCh+BvC,gBHpDF,yBGsDE,OrCi+BuC,EiBxgCvC,mBhBHE,WoC6CF,4FpCzCE,uCoCiCJ,8BpChCM,iBoC0CJ,qCH3DF,iBlC4hCyC,QqC59BzC,8BACE,MrC48B8B,KqC38B9B,OrC48B8B,MqC38B9B,oBACA,OrC28B8B,QqC18B9B,iBrC28B8B,sBqC18B9B,2BpBvDA,mBoB4DF,qBACE,oBAEA,2CACE,iBrC88BqC,0BqC38BvC,uCACE,iBrC08BqC,0BsCjiC3C,eACE,kBAEA,gGAGE,OtCsiCoC,gDsCriCpC,WtCqiCoC,gDsCpiCpC,YtCqiCoC,KsCliCtC,qBACE,kBACA,MACA,OACA,UACA,YACA,oBACA,gBACA,iBACA,uBACA,mBACA,oBACA,kDACA,qBrCRE,WqCSF,kDrCLE,uCqCTJ,qBrCUM,iBqCON,oEAEE,oBAEA,8FACE,oBAGF,oMAEE,YtC0gCkC,SsCzgClC,etC0gCkC,QsCvgCpC,sGACE,YtCqgCkC,SsCpgClC,etCqgCkC,QsCjgCtC,4BACE,YtC+/BoC,SsC9/BpC,etC+/BoC,QsCx/BpC,mLACE,2CACA,UtCy/BkC,oDsCv/BlC,+MACE,kBACA,mBACA,WACA,OtCi/BgC,MsCh/BhC,WACA,iBlBlDA,KHEJ,sCqBuDA,oDACE,2CACA,UtCw+BkC,oDsCn+BpC,6CACE,sCAIJ,2EAEE,MlBhEO,QkBkEP,yFACE,iBtCwyBkC,uBuC/3BxC,aACE,kBACA,aACA,eACA,oBACA,WAEA,iFAGE,kBACA,cACA,SACA,YAIF,0GAGE,UAMF,kBACE,kBACA,UAEA,wBACE,UAWN,kBACE,aACA,mBACA,uBxB8OI,UALI,KwBvOR,YvCyjB4B,IuCxjB5B,YR9CiB,IQ+CjB,MvCi1BsC,qBuCh1BtC,kBACA,mBACA,iBvCw6BsC,sBuCv6BtC,2DtBtCE,sCsBgDJ,kHAIE,mBxBwNI,UALI,QEvQN,yCsByDJ,kHAIE,qBxB+MI,UALI,SEvQN,yCsBkEJ,0DAEE,mBAaE,wVtBjEA,0BACA,6BsByEA,yUtB1EA,0BACA,6BsBsFF,0IACE,8CtB1EA,yBACA,4BsB6EF,uHtB9EE,yBACA,4BuBxBF,gBACE,aACA,WACA,WxCq0BoC,OenkBlC,UALI,QyB1PN,MxCgjCqB,2BwC7iCvB,eACE,kBACA,SACA,UACA,aACA,eACA,qBACA,iBzBqPE,UALI,SyB7ON,MxCmiCqB,KwCliCrB,iBxCkiCqB,kBiB7jCrB,sCuBgCA,8HAEE,cA/CF,0DAqDE,axCqhCmB,kCwClhCjB,cxC41BgC,sBwC31BhC,2PACA,4BACA,yDACA,8DAGF,sEACE,axC0gCiB,kCwCzgCjB,WxCygCiB,0CwC1kCrB,0EA0EI,cxC00BgC,sBwCz0BhC,8EA3EJ,wDAkFE,axCw/BmB,kCwCr/BjB,4NAEE,oQACA,cxCw5B8B,SwCv5B9B,6DACA,wEAIJ,oEACE,axC2+BiB,kCwC1+BjB,WxC0+BiB,0CwC1kCrB,sEAwGI,yCAxGJ,kEA+GE,axC29BmB,kCwCz9BnB,kFACE,iBxCw9BiB,2BwCr9BnB,8EACE,WxCo9BiB,0CwCj9BnB,sGACE,MxCg9BiB,2BwC38BrB,qDACE,iBAhIF,kVA0IM,UAtHR,kBACE,aACA,WACA,WxCq0BoC,OenkBlC,UALI,QyB1PN,MxCgjCqB,6BwC7iCvB,iBACE,kBACA,SACA,UACA,aACA,eACA,qBACA,iBzBqPE,UALI,SyB7ON,MxCmiCqB,KwCliCrB,iBxCkiCqB,iBiB7jCrB,sCuBgCA,8IAEE,cA/CF,8DAqDE,axCqhCmB,oCwClhCjB,cxC41BgC,sBwC31BhC,4UACA,4BACA,yDACA,8DAGF,0EACE,axC0gCiB,oCwCzgCjB,WxCygCiB,yCwC1kCrB,8EA0EI,cxC00BgC,sBwCz0BhC,8EA3EJ,4DAkFE,axCw/BmB,oCwCr/BjB,oOAEE,qVACA,cxCw5B8B,SwCv5B9B,6DACA,wEAIJ,wEACE,axC2+BiB,oCwC1+BjB,WxC0+BiB,yCwC1kCrB,0EAwGI,yCAxGJ,sEA+GE,axC29BmB,oCwCz9BnB,sFACE,iBxCw9BiB,6BwCr9BnB,kFACE,WxCo9BiB,yCwCj9BnB,0GACE,MxCg9BiB,6BwC38BrB,uDACE,iBAhIF,8VA4IM,UC9IV,KAEE,yBACA,2BACA,uB1BuRI,mBALI,K0BhRR,0BACA,0BACA,qCACA,yBACA,8CACA,mCACA,gCACA,yCACA,0BACA,gCACA,4EAGA,qBACA,wDACA,sC1BsQI,UALI,wB0B/PR,sCACA,sCACA,0BACA,kBACA,qBAEA,sBACA,eACA,iBACA,mExBjBE,0CiBfF,iBOkCqB,iBxCtBjB,WwCwBJ,mHxCpBI,uCwChBN,KxCiBQ,iBwCqBN,WACE,gCAEA,wCACA,8CAGF,sBAEE,0BACA,kCACA,wCAGF,mBACE,gCPrDF,iBOsDuB,uBACrB,8CACA,UAKE,0CAIJ,8BACE,8CACA,UAKE,0CAIJ,mGAKE,iCACA,yCAGA,+CAGA,yKAKI,0CAKN,mDAGE,mCACA,oBACA,2CAEA,iDACA,uCAYF,aCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,eCtGA,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,sCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qCDyFA,aCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,aCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,eCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,SCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,kBCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,yCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,eCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDmHA,qBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,uBCvGA,qBACA,4BACA,2BACA,wBACA,kCACA,mCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oBD0FA,qBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,qBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,uBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,qCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,iBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,0BCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,qBACA,4BACA,2BACA,wBACA,kCACA,yCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,uBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBDsGF,UACE,0BACA,qCACA,yBACA,mCACA,iDACA,yCACA,kDACA,0CACA,iCACA,4CACA,gCACA,sCAEA,gBzCuRwC,UyC7QxC,wBACE,0BAGF,gBACE,gCAWJ,2BCxIE,2BACA,yB3B8NI,mBALI,Q2BvNR,gCDyIF,2BC5IE,4BACA,2B3B8NI,mBALI,S2BvNR,gCCnEF,M1CgBM,W0CfJ,oB1CmBI,uC0CpBN,M1CqBQ,iB0ClBN,iBACE,UAMF,qBACE,aAIJ,YACE,SACA,gB1CDI,W0CEJ,iB1CEI,uC0CLN,Y1CMQ,iB0CDN,gCACE,QACA,Y1CNE,W0COF,gB1CHE,uEACE,iB2CpBR,sEAME,kBAGF,iBACE,mBCwBE,wBACE,qBACA,Y7C6hBwB,O6C5hBxB,e7C2hBwB,O6C1hBxB,WArCJ,sBACA,sCACA,gBACA,qCA0DE,8BACE,cD9CN,eAEE,2BACA,+BACA,2BACA,gCACA,+B7BuQI,wBALI,K6BhQR,0CACA,oCACA,+DACA,qDACA,mDACA,0FACA,6DACA,uCACA,4DACA,+CACA,qDACA,mDACA,sCACA,sCACA,4DACA,mCACA,sCACA,oCACA,qCACA,uCAGA,kBACA,kCACA,aACA,uCACA,kEACA,S7B0OI,UALI,6B6BnOR,+BACA,gBACA,gBACA,uCACA,4BACA,6E3BzCE,+C2B6CF,+BACE,SACA,OACA,qCAwBA,qBACE,qBAEA,qCACE,WACA,OAIJ,mBACE,mBAEA,mCACE,QACA,UxC1CJ,yBwC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WxC1CJ,yBwC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WxC1CJ,yBwC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WxC1CJ,0BwC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WxC1CJ,0BwC4BA,yBACE,qBAEA,yCACE,WACA,OAIJ,uBACE,mBAEA,uCACE,QACA,WAUN,uCACE,SACA,YACA,aACA,wCCpFA,gCACE,qBACA,Y7C6hBwB,O6C5hBxB,e7C2hBwB,O6C1hBxB,WA9BJ,aACA,sCACA,yBACA,qCAmDE,sCACE,cDgEJ,wCACE,MACA,WACA,UACA,aACA,sCClGA,iCACE,qBACA,Y7C6hBwB,O6C5hBxB,e7C2hBwB,O6C1hBxB,WAvBJ,oCACA,eACA,uCACA,uBA4CE,uCACE,cD0EF,iCACE,iBAMJ,0CACE,MACA,WACA,UACA,aACA,uCCnHA,mCACE,qBACA,Y7C6hBwB,O6C5hBxB,e7C2hBwB,O6C1hBxB,WAWA,mCACE,aAGF,oCACE,qBACA,a7C0gBsB,O6CzgBtB,e7CwgBsB,O6CvgBtB,WAnCN,oCACA,wBACA,uCAsCE,yCACE,cD2FF,oCACE,iBAON,kBACE,SACA,6CACA,gBACA,mDACA,UAMF,eACE,cACA,WACA,4EACA,WACA,Y5Cyb4B,I4Cxb5B,oCACA,mBACA,qBACA,mBACA,+BACA,S3BtKE,uD2ByKF,0CAEE,0CV1LF,iBU4LuB,iCAGvB,4CAEE,2CACA,qBVlMF,iBUmMuB,kCAGvB,gDAEE,6CACA,oBACA,+BAMJ,oBACE,cAIF,iBACE,cACA,gFACA,gB7BmEI,UALI,S6B5DR,sCACA,mBAIF,oBACE,cACA,4EACA,oCAIF,oBAEE,6BACA,0BACA,+DACA,2BACA,kCACA,qCACA,6DACA,uDACA,sCACA,sCACA,2CACA,oCEtPF,+BAEE,kBACA,oBACA,sBAEA,yCACE,kBACA,cAKF,kXAME,UAKJ,aACE,aACA,eACA,2BAEA,0BACE,WAIJ,W7BhBI,qB6BoBF,qFAEE,8CAIF,qJ7BVE,0BACA,6B6BmBF,6G7BNE,yBACA,4B6BwBJ,uBACE,qBACA,oBAEA,2GAGE,cAGF,0CACE,eAIJ,yEACE,sBACA,qBAGF,yEACE,qBACA,oBAoBF,oBACE,sBACA,uBACA,uBAEA,wDAEE,WAGF,4FAEE,6CAIF,qH7B1FE,6BACA,4B6B8FF,oF7B7GE,yBACA,0B8BxBJ,KAEE,8BACA,gCAEA,4BACA,0CACA,sDACA,wDAGA,aACA,eACA,eACA,gBACA,gBAGF,UACE,cACA,kEhCsQI,UALI,6BgC/PR,2CACA,+BACA,qBACA,gBACA,S9CfI,W8CgBJ,uF9CZI,uC8CGN,U9CFQ,iB8CaN,gCAEE,qCAIF,wBACE,UACA,W/CkhBoB,iC+C9gBtB,sCAEE,wCACA,oBACA,eAQJ,UAEE,mDACA,oCACA,qDACA,6FACA,sCACA,mCACA,6DAGA,oFAEA,oBACE,uDACA,2D9B7CA,wDACA,yD8B+CA,oDAGE,kBACA,wDAIJ,8DAEE,2CACA,mDACA,yDAGF,yBAEE,oD9BjEA,yBACA,0B8B2EJ,WAEE,sDACA,uCACA,uCAGA,qB9B5FE,gD8BgGF,uDAEE,4CbjHF,iBakHuB,mCASzB,eAEE,6BACA,0CACA,+DAGA,gCAEA,yBACE,gBACA,eACA,uEAEA,8DAEE,iCAIJ,+DAEE,Y/C0d0B,I+Czd1B,gDACA,iCAUF,wCAEE,cACA,kBAKF,kDAEE,aACA,YACA,kBAMF,iEACE,WAUF,uBACE,aAEF,qBACE,cC7LJ,QAEE,yBACA,yBACA,4DACA,iEACA,oEACA,gEACA,oCACA,mCACA,kCACA,+DACA,qEACA,uCACA,uCACA,uCACA,uCACA,4QACA,2EACA,2CACA,mCACA,6DAGA,kBACA,aACA,eACA,mBACA,8BACA,8DAMA,2JACE,aACA,kBACA,mBACA,8BAoBJ,cACE,6CACA,gDACA,+CjC4NI,UALI,iCiCrNR,mCACA,qBACA,mBAEA,wCAEE,yCAUJ,YAEE,2BACA,gCAEA,4BACA,4CACA,wDACA,8DAGA,aACA,sBACA,eACA,gBACA,gBAGE,wDAEE,oCAIJ,2BACE,gBASJ,aACE,YhD4gCkC,MgD3gClC,ehD2gCkC,MgD1gClC,6BAEA,yDAGE,oCAaJ,iBACE,gBACA,YAGA,mBAIF,gBACE,8EjCyII,UALI,mCiClIR,cACA,6BACA,+BACA,0E/BxIE,qDhBHE,W+C6IJ,oC/CzII,uC+CiIN,gB/ChIQ,iB+C0IN,sBACE,qBAGF,sBACE,qBACA,UACA,sDAMJ,qBACE,qBACA,YACA,aACA,sBACA,kDACA,4BACA,2BACA,qBAGF,mBACE,yCACA,gB5C1HE,yB4CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0B/C9NJ,W+CgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB5C5LR,yB4CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0B/C9NJ,W+CgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB5C5LR,yB4CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0B/C9NJ,W+CgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB5C5LR,0B4CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0B/C9NJ,W+CgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB5C5LR,0B4CsIA,mBAEI,iBACA,2BAEA,+BACE,mBAEA,8CACE,kBAGF,yCACE,kDACA,iDAIJ,sCACE,iBAGF,oCACE,wBACA,gBAGF,mCACE,aAGF,8BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0B/C9NJ,W+CgOI,KAGA,gDACE,aAGF,8CACE,aACA,YACA,UACA,oBAtDR,eAEI,iBACA,2BAEA,2BACE,mBAEA,0CACE,kBAGF,qCACE,kDACA,iDAIJ,kCACE,iBAGF,gCACE,wBACA,gBAGF,+BACE,aAGF,0BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0B/C9NJ,W+CgOI,KAGA,4CACE,aAGF,0CACE,aACA,YACA,UACA,mBAiBZ,yCAGE,6CACA,mDACA,sDACA,+BACA,8BACA,oCACA,2DACA,+QClRF,MAEE,yBACA,yBACA,iCACA,wBACA,2BACA,+CACA,2DACA,iDACA,uBACA,wFACA,gCACA,8BACA,uDACA,sBACA,mBACA,kBACA,gCACA,oCACA,0BAGA,kBACA,aACA,sBACA,YACA,6BACA,2BACA,qBACA,mCACA,2BACA,qEhCjBE,2CgCqBF,SACE,eACA,cAGF,kBACE,mBACA,sBAEA,8BACE,mBhCtBF,0DACA,2DgCyBA,6BACE,sBhCbF,8DACA,6DgCmBF,8DAEE,aAIJ,WAGE,cACA,wDACA,2BAGF,YACE,4CACA,iCAGF,eACE,oDACA,gBACA,oCAGF,sBACE,gBAQA,sBACE,oCAQJ,aACE,kEACA,gBACA,+BACA,uCACA,4EAEA,yBhC7FE,wFgCkGJ,aACE,kEACA,+BACA,uCACA,yEAEA,wBhCxGE,wFgCkHJ,kBACE,qDACA,oDACA,oDACA,gBAEA,mCACE,mCACA,sCAIJ,mBACE,qDACA,oDAIF,kBACE,kBACA,MACA,QACA,SACA,OACA,2ChC1IE,iDgC8IJ,yCAGE,WAGF,wBhC3II,0DACA,2DgC+IJ,2BhClII,8DACA,6DgC8IF,kBACE,0C7C3HA,yB6CuHJ,YAQI,aACA,mBAGA,kBAEE,YACA,gBAEA,wBACE,cACA,cAKA,mChC3KJ,0BACA,6BgC6KM,iGAGE,0BAEF,oGAGE,6BAIJ,oChC5KJ,yBACA,4BgC8KM,mGAGE,yBAEF,sGAGE,6BCpOZ,WAEE,2CACA,qCACA,+KACA,oDACA,+BACA,sDACA,sEACA,sCACA,mCACA,+BACA,+BACA,ySACA,uCACA,mDACA,+DACA,gTACA,4CACA,0CACA,uCACA,oCACA,kCACA,kCAIF,kBACE,kBACA,aACA,mBACA,WACA,4EnC2PI,UALI,KmCpPR,oCACA,gBACA,4CACA,SjCtBE,gBiCwBF,qBjD3BI,WiD4BJ,+BjDxBI,uCiDWN,kBjDVQ,iBiDyBN,kCACE,uCACA,+CACA,gGAEA,yCACE,qDACA,iDAKJ,yBACE,cACA,yCACA,0CACA,iBACA,WACA,8CACA,4BACA,mDjDlDE,WiDmDF,wCjD/CE,uCiDsCJ,yBjDrCM,iBiDiDN,wBACE,UAGF,wBACE,UACA,wDACA,UACA,oDAIJ,kBACE,gBAGF,gBACE,gCACA,wCACA,+EAEA,8BjC/DE,yDACA,0DiCiEA,gDjClEA,+DACA,gEiCsEF,oCACE,aAIF,6BjC9DE,6DACA,4DiCiEE,yDjClEF,mEACA,kEiCsEA,iDjCvEA,6DACA,4DiC4EJ,gBACE,8EASA,qCACE,eAGF,iCACE,eACA,cjCpHA,gBiCuHA,0DACA,4DAGE,gHjC3HF,gBkCnBJ,YAEE,6BACA,6BACA,oCAEA,qBACA,gCACA,yDACA,uCACA,6DAGA,aACA,eACA,sEACA,iDpC+QI,UALI,+BoCxQR,gBACA,0FAMA,kCACE,iDAEA,0CACE,WACA,kDACA,yCACA,uFAIJ,wBACE,6CCrCJ,YAEE,mCACA,oCrC4RI,0BALI,KqCrRR,4BACA,4BACA,gCACA,qDACA,uCACA,kCACA,kCACA,2DACA,kCACA,kCACA,wEACA,mCACA,mCACA,6CACA,wCACA,qCACA,8DAGA,ajCpBA,eACA,gBiCuBF,WACE,kBACA,cACA,sErCgQI,UALI,+BqCzPR,iCACA,qBACA,yCACA,iFnDpBI,WmDqBJ,mHnDjBI,uCmDQN,WnDPQ,iBmDkBN,iBACE,UACA,uCAEA,+CACA,qDAGF,iBACE,UACA,uCACA,+CACA,QpDyuCgC,EoDxuChC,iDAGF,qCAEE,UACA,wClBtDF,iBkBuDuB,+BACrB,sDAGF,yCAEE,0CACA,oBACA,kDACA,wDAKF,wCACE,YpD4sCgC,aoDvsC9B,kCnC9BF,0DACA,6DmCmCE,iCnClDF,2DACA,8DmCkEJ,eClGE,kCACA,mCtC0RI,0BALI,QsCnRR,0DDmGF,eCtGE,kCACA,mCtC0RI,0BALI,SsCnRR,0DCFF,OAEE,6BACA,6BvCuRI,qBALI,OuChRR,4BACA,uBACA,kDAGA,qBACA,4DvC+QI,UALI,0BuCxQR,wCACA,cACA,4BACA,kBACA,mBACA,wBrCJE,4CqCSF,aACE,aAKJ,YACE,kBACA,SChCF,OAEE,2BACA,2BACA,6BACA,iCACA,0BACA,qCACA,wDACA,kDACA,+BAGA,kBACA,4DACA,4CACA,4BACA,oCACA,8BtCHE,4CsCQJ,eAEE,cAIF,YACE,YvD6kB4B,IuD5kB5B,iCAQF,mBACE,cvDk+C8B,KuD/9C9B,8BACE,kBACA,MACA,QACA,UACA,qBAQF,eACE,kDACA,2CACA,yDACA,uDAJF,iBACE,oDACA,6CACA,2DACA,yDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,iBACE,oDACA,6CACA,2DACA,yDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,WACE,8CACA,uCACA,qDACA,mDAJF,oBACE,uDACA,gDACA,8DACA,4DAJF,aACE,gDACA,yCACA,uDACA,qDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,iBACE,oDACA,6CACA,2DACA,yDC5DF,gCACE,yBxDqhDgC,MwDhhDpC,4BAGE,2BzCkRI,wBALI,QyC3QR,yCACA,qDACA,qDACA,8BACA,8BACA,8CAGA,aACA,iCACA,gBzCsQI,UALI,6ByC/PR,uCvCRE,+CuCaJ,cACE,aACA,sBACA,uBACA,gBACA,mCACA,kBACA,mBACA,2CvDxBI,WuDyBJ,kCvDrBI,uCuDYN,cvDXQ,iBuDuBR,2NAEE,oEAGF,4BACE,iBAGF,0CACE,WAIA,uBACE,kDAGE,uCAJJ,uBAKM,gBC3DR,YAEE,4CACA,sCACA,qDACA,qDACA,uDACA,qCACA,uCACA,wDACA,6DACA,uDACA,0DACA,yDACA,0DACA,+CACA,mCACA,mCACA,6CAGA,aACA,sBAGA,eACA,gBxCXE,iDwCeJ,qBACE,qBACA,sBAEA,8CAEE,oCACA,0BASJ,wBACE,WACA,wCACA,mBAGA,4DAEE,UACA,8CACA,qBACA,sDAGF,+BACE,+CACA,uDAQJ,iBACE,kBACA,cACA,gFACA,iCACA,qBACA,yCACA,iFAEA,6BxCvDE,+BACA,gCwC0DF,4BxC7CE,mCACA,kCwCgDF,oDAEE,0CACA,oBACA,kDAIF,wBACE,UACA,wCACA,gDACA,sDAIF,kCACE,mBAEA,yCACE,sDACA,mDAaF,uBACE,mBAGE,qExCvDJ,6DAZA,0BwCwEI,qExCxEJ,2DAYA,4BwCiEI,+CACE,aAGF,yDACE,mDACA,oBAEA,gEACE,uDACA,oDrDtFR,yBqD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDrDtFR,yBqD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDrDtFR,yBqD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDrDtFR,0BqD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDrDtFR,0BqD8DA,2BACE,mBAGE,yExCvDJ,6DAZA,0BwCwEI,yExCxEJ,2DAYA,4BwCiEI,mDACE,aAGF,6DACE,mDACA,oBAEA,oEACE,uDACA,qDAcZ,kBxChJI,gBwCmJF,mCACE,mDAEA,8CACE,sBAaJ,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,qBACE,mDACA,4CACA,0DACA,6DACA,6DACA,8DACA,8DACA,sDACA,uDACA,iEAVF,8BACE,4DACA,qDACA,mEACA,6DACA,sEACA,8DACA,uEACA,+DACA,gEACA,0EAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEC5LJ,WAEE,2BACA,qVACA,4BACA,mCACA,mEACA,gCACA,sCACA,wEAGA,uBACA,M1DipD2B,I0DhpD3B,O1DgpD2B,I0D/oD3B,oBACA,gCACA,0EACA,SzCJE,gByCMF,oCAGA,iBACE,gCACA,qBACA,0CAGF,iBACE,UACA,4CACA,0CAGF,wCAEE,oBACA,iBACA,6CAQJ,iBAHE,wCCjDF,OAEE,wBACA,8BACA,6BACA,sBACA,4B5CyRI,qBALI,S4ClRR,mBACA,iDACA,gDACA,4DACA,kDACA,4CACA,mDACA,wDACA,mEAGA,gCACA,e5C2QI,UALI,0B4CpQR,4BACA,oBACA,oCACA,4BACA,uEACA,sC1CRE,4C0CWF,eACE,UAGF,kBACE,aAIJ,iBACE,wBAEA,kBACA,+BACA,kBACA,eACA,oBAEA,mCACE,sCAIJ,cACE,aACA,mBACA,4DACA,mCACA,2CACA,4BACA,qF1ChCE,0FACA,2F0CkCF,yBACE,kDACA,sCAIJ,YACE,kCACA,qBC9DF,OAEE,wBACA,wBACA,yBACA,0BACA,0BACA,oBACA,4DACA,gDACA,4BACA,+DACA,kCACA,kCACA,kCACA,qCACA,uDACA,kCACA,kCACA,8BACA,uBACA,uDACA,0CAGA,eACA,MACA,OACA,+BACA,aACA,WACA,YACA,kBACA,gBAGA,UAOF,cACE,kBACA,WACA,8BAEA,oBAGA,0B3D5CI,W2D6CF,uBACA,U5D87CgC,oBCx+C9B,uC2DwCJ,0B3DvCM,iB2D2CN,0BACE,U5D47CgC,K4Dx7ClC,kCACE,U5Dy7CgC,Y4Dr7CpC,yBACE,6CAEA,wCACE,gBACA,gBAGF,qCACE,gBAIJ,uBACE,aACA,mBACA,iDAIF,eACE,kBACA,aACA,sBACA,WAEA,4BACA,oBACA,oCACA,4BACA,uE3CrFE,4C2CyFF,UAIF,gBAEE,2BACA,uBACA,2BClHA,eACA,MACA,OACA,QDkH0B,0BCjH1B,YACA,aACA,iBD+G4D,sBC5G5D,+BACA,6BD2G0F,2BAK5F,cACE,aACA,cACA,mBACA,8BACA,uCACA,4F3CtGE,2DACA,4D2CwGF,yBACE,4FACA,gJAKJ,aACE,gBACA,8CAKF,YACE,kBAGA,cACA,gCAIF,cACE,aACA,cACA,eACA,mBACA,yBACA,sEACA,2CACA,yF3C1HE,+DACA,8D2C+HF,gBACE,2CxD5GA,yBwDkHF,OACE,2BACA,yDAIF,cACE,gCACA,kBACA,iBAGF,UACE,yBxD/HA,yBwDoIF,oBAEE,yBxDtIA,0BwD2IF,UACE,0BAUA,kBACE,YACA,eACA,YACA,SAEA,iCACE,YACA,S3C1MJ,gB2C8ME,gE3C9MF,gB2CmNE,8BACE,gBxD3JJ,4BwDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBxD3JJ,4BwDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBxD3JJ,4BwDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBxD3JJ,6BwDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBxD3JJ,6BwDyIA,2BACE,YACA,eACA,YACA,SAEA,0CACE,YACA,S3C1MJ,gB2C8ME,kF3C9MF,gB2CmNE,uCACE,iBEtOR,SAEE,0BACA,8BACA,+BACA,gCACA,sB/CwRI,uBALI,S+CjRR,sCACA,0CACA,oDACA,0BACA,iCACA,kCAGA,iCACA,cACA,gCClBA,Y/D+lB4B,0B+D7lB5B,kBACA,Y/DwmB4B,I+DvmB5B,YhCCiB,oBgCCjB,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,mBACA,oBACA,gBhDgRI,UALI,4B+ChQR,qBACA,UAEA,gDAEA,wBACE,cACA,oCACA,sCAEA,gCACE,kBACA,WACA,2BACA,mBAKN,2FACE,+CAEA,2GACE,SACA,qFACA,sCAKJ,6FACE,6CACA,qCACA,qCAEA,6GACE,WACA,4HACA,wCAMJ,iGACE,4CAEA,iHACE,YACA,qFACA,yCAKJ,8FACE,8CACA,qCACA,qCAEA,8GACE,UACA,4HACA,uCAsBJ,eACE,sCACA,gEACA,8BACA,kBACA,sC7CjGE,8C+CnBJ,SAEE,0BACA,8BjD4RI,uBALI,SiDrRR,mCACA,kDACA,8DACA,uDACA,4FACA,2DACA,oCACA,sCjDmRI,8BALI,KiD5QR,mCACA,+CACA,kCACA,kCACA,8CACA,+BACA,kCACA,0DAGA,iCACA,cACA,sCDzBA,Y/D+lB4B,0B+D7lB5B,kBACA,Y/DwmB4B,I+DvmB5B,YhCCiB,oBgCCjB,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,mBACA,oBACA,gBhDgRI,UALI,4BiD1PR,qBACA,sCACA,4BACA,2E/ChBE,8C+CoBF,wBACE,cACA,oCACA,sCAEA,+DAEE,kBACA,cACA,WACA,2BACA,mBACA,eAMJ,2FACE,kFAEA,oNAEE,qFAGF,2GACE,SACA,gDAGF,yGACE,sCACA,sCAOJ,6FACE,gFACA,qCACA,qCAEA,wNAEE,4HAGF,6GACE,OACA,kDAGF,2GACE,oCACA,wCAQJ,iGACE,+EAEA,gOAEE,qFAGF,iHACE,MACA,mDAGF,+GACE,mCACA,yCAKJ,mHACE,kBACA,MACA,SACA,cACA,oCACA,qDACA,WACA,+EAMF,8FACE,iFACA,qCACA,qCAEA,0NAEE,4HAGF,8GACE,QACA,iDAGF,4GACE,qCACA,uCAuBN,gBACE,8EACA,gBjD2GI,UALI,mCiDpGR,qCACA,6CACA,kF/C5JE,6DACA,8D+C8JF,sBACE,aAIJ,cACE,0EACA,mCCrLF,UACE,kBAGF,wBACE,mBAGF,gBACE,kBACA,WACA,gBtEtBA,uBACE,cACA,WACA,WsEuBJ,eACE,kBACA,aACA,WACA,WACA,mBACA,2BhElBI,WgEmBJ,0BhEfI,uCgEQN,ehEPQ,iBgEiBR,8DAGE,cAGF,wEAEE,2BAGF,wEAEE,4BASA,8BACE,UACA,4BACA,eAGF,iJAGE,UACA,UAGF,oFAEE,UACA,UhE5DE,WgE6DF,ehEzDE,uCgEqDJ,oFhEpDM,iBgEiER,8CAEE,kBACA,MACA,SACA,UAEA,aACA,mBACA,uBACA,MjE8gDmC,IiE7gDnC,UACA,M7CjFM,K6CkFN,kBACA,gBACA,SACA,QjEygDmC,GC/lD/B,WgEuFJ,kBhEnFI,uCgEkEN,8ChEjEQ,iBgEqFN,oHAEE,M7C3FI,K6C4FJ,qBACA,UACA,QjEigDiC,GiE9/CrC,uBACE,OAGF,uBACE,QAKF,wDAEE,qBACA,MjEkgDmC,KiEjgDnC,OjEigDmC,KiEhgDnC,4BACA,wBACA,0BAWF,4BACE,yQAEF,4BACE,0QAQF,qBACE,kBACA,QACA,SACA,OACA,UACA,aACA,uBACA,UAEA,ajE08CmC,IiEz8CnC,mBACA,YjEw8CmC,IiEt8CnC,sCACE,uBACA,cACA,MjEw8CiC,KiEv8CjC,OjEw8CiC,IiEv8CjC,UACA,ajEw8CiC,IiEv8CjC,YjEu8CiC,IiEt8CjC,mBACA,eACA,iB7CjKI,K6CkKJ,4BACA,SAEA,oCACA,uCACA,QjE+7CiC,GCvmD/B,WgEyKF,iBhErKE,uCgEoJJ,sChEnJM,iBgEuKN,6BACE,QjE47CiC,EiEn7CrC,kBACE,kBACA,UACA,OjEs7CmC,QiEr7CnC,SACA,YjEm7CmC,QiEl7CnC,ejEk7CmC,QiEj7CnC,M7C5LM,K6C6LN,kBAMA,sFAEE,OjEu7CiC,yBiEp7CnC,qDACE,iB7C1LI,K6C6LN,iCACE,M7C9LI,K8C5BR,8BAEE,qBACA,8BACA,gCACA,gDAEA,kBACA,6FAIF,0BACE,8CAIF,gBAEE,yBACA,0BACA,sCACA,kCACA,oCACA,4CAGA,yDACA,iCAGF,mBAEE,yBACA,0BACA,iCASF,wBACE,GACE,mBAEF,IACE,UACA,gBAKJ,cAEE,yBACA,0BACA,sCACA,oCACA,0CAGA,8BACA,UAGF,iBACE,yBACA,0BAIA,uCACE,8BAEE,oCC/EN,kFAEE,4BACA,4BACA,4BACA,+BACA,+BACA,2CACA,qCACA,oDACA,gEACA,mEACA,sDACA,sC/D6DE,4B+D5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UlE5BA,WkE8BA,gClE1BA,gEkEYJ,clEXM,iBGuDJ,4B+D5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oB/D5BJ,yB+D/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2C/DnCN,4B+D5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UlE5BA,WkE8BA,gClE1BA,gEkEYJ,clEXM,iBGuDJ,4B+D5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oB/D5BJ,yB+D/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2C/DnCN,4B+D5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UlE5BA,WkE8BA,gClE1BA,gEkEYJ,clEXM,iBGuDJ,4B+D5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oB/D5BJ,yB+D/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2C/DnCN,6B+D5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UlE5BA,WkE8BA,gClE1BA,iEkEYJ,clEXM,iBGuDJ,6B+D5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oB/D5BJ,0B+D/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2C/DnCN,6B+D5CF,eAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UlE5BA,WkE8BA,gClE1BA,iEkEYJ,elEXM,iBGuDJ,6B+D5BE,+BACE,MACA,OACA,gCACA,qFACA,4BAGF,6BACE,MACA,QACA,gCACA,oFACA,2BAGF,6BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,gCACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,wDAEE,eAGF,iEAGE,oB/D5BJ,0B+D/BF,eAiEM,4BACA,+BACA,0CAEA,iCACE,aAGF,+BACE,aACA,YACA,UACA,mBAEA,2CA/ER,WAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UlE5BA,WkE8BA,+BlE1BA,uCkEYJ,WlEXM,iBkE2BF,2BACE,MACA,OACA,gCACA,qFACA,4BAGF,yBACE,MACA,QACA,gCACA,oFACA,2BAGF,yBACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,4BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,gDAEE,eAGF,qDAGE,mBA2BR,oBNpHE,eACA,MACA,OACA,Q7DwmCkC,K6DvmClC,YACA,aACA,iBzCwBM,KyCrBN,mCACA,iC7D+9CkC,GmEj3CpC,kBACE,aACA,mBACA,8BACA,oEAEA,6BACE,sFACA,oDACA,sDACA,uDAIJ,iBACE,gBACA,kDAGF,gBACE,YACA,oEACA,gBChJF,aACE,qBACA,eACA,sBACA,YACA,8BACA,QpE8yCkC,GoE5yClC,yBACE,qBACA,WAKJ,gBACE,gBAGF,gBACE,gBAGF,gBACE,iBAKA,+BACE,mDAIJ,4BACE,IACE,QpEixCgC,IoE7wCpC,kBACE,+EACA,oBACA,8CAGF,4BACE,KACE,wBChDJ,gBACI,mBCGA,eACI,uBACA,uBACA,iCACA,4BAJJ,iBACI,uBACA,uBACA,iCACA,4BAJJ,eACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,eACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,iBACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,WACI,uBACA,uBACA,iCACA,4BAJJ,oBACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,qBACA,+BACA,4BAJJ,YACI,uBACA,uBACA,mCACA,4BAJJ,iBACI,uBACA,uBACA,iCACA,4BAKJ,oBACI,gBCZJ,6BACI,sBACA,uEAFJ,+BACI,sBACA,mEAFJ,6BACI,sBACA,uEAFJ,0BACI,sBACA,wEAFJ,6BACI,sBACA,wEAFJ,4BACI,sBACA,uEAFJ,2BACI,sBACA,uEAFJ,2BACI,sBACA,yEAFJ,0BACI,sBACA,sEAFJ,0BACI,sBACA,wEAFJ,+BACI,sBACA,qEAFJ,4BACI,sBACA,wEAFJ,4BACI,sBACA,uEAFJ,0BACI,sBACA,wEAFJ,yBACI,sBACA,uEAFJ,kCACI,sBACA,uEAFJ,2BACI,sBACA,uEAFJ,2BACI,sBACA,yEAFJ,4BACI,sBACA,wEAFJ,4BACI,sBACA,uEAFJ,2BACI,sBACA,uEAFJ,0BACI,sBACA,wEAFJ,0BACI,sBACA,wEAFJ,2BACI,sBACA,yEAFJ,0BACI,sBACA,yEAFJ,+BACI,sBACA,sECJR,KACI,iBAII,uJAGI,yBACA,wDACA,0DAIA,wVAGI,yBACA,0DACA,2DAKJ,wVAGI,yBACA,wDACA,0DAIR,gHAEI,qBACA,gBACA,oCvErBN,WuEsBM,mHvElBN,uCuEaE,gHvEZA,iBuEoBA,wIAEI,qCACA,6BACA,kBAIR,4BACI,YACA,0HAEA,oJAIA,oDACA,uDAGJ,4BACI,YACA,0HAEA,oJAIA,mDACA,sDAGJ,iBACI,kBACA,oBAEA,2BACI,oBAGJ,wBACI,0BACA,uBACA,0CACA,WACA,cACA,WACA,UACA,kBACA,sBACA,qBACA,6CAIS,oCACL,kBADK,sCACL,kBADK,oCACL,kBADK,iCACL,kBADK,oCACL,kBADK,mCACL,kBADK,kCACL,kBADK,kCACL,kBADK,iCACL,kBADK,iCACL,kBADK,sCACL,kBADK,mCACL,kBADK,mCACL,kBADK,iCACL,kBADK,gCACL,kBADK,yCACL,kBADK,kCACL,kBADK,kCACL,kBADK,mCACL,kBADK,mCACL,kBADK,kCACL,kBADK,iCACL,kBADK,iCACL,kBADK,kCACL,kBADK,iCACL,kBADK,sCACL,kBAMhB,WACI,IzCpGY,MyCwGZ,uF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,uGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,2F9BxFF,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,sCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qC8BoGE,2GAGI,0BACA,kCACA,wC9B7FN,qBACA,4BACA,2BACA,wBACA,kCACA,mCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oB8BkDE,uF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,uGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,uF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,uGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,2F9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,2GAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,qCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,+E9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,+FAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iG9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iHAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,yCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,qBACA,4BACA,2BACA,wBACA,kCACA,yCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,2F9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,2GAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB+B1DF,YAEI,8BACA,6BACA,gCACA,mCACA,wCAEA,6BAEA,uBACI,YACA,kCACI,eACA,iCACA,sCACA,cACA,iBACA,kBAGJ,qGACI,gCACA,UAGJ,mCACI,iBACA,iBAEA,8CACI,gDACA,wCAGJ,4CACI,mBAEA,uDACI,kDACA,0CAKZ,8BACI,iBAGJ,gDACI,yBACA,eACA,YACA,uDACI,eACA,0CACA,YCxDhB,OACI,8BACA,8BACA,mCAEA,qBACI,2CACA,mCACA,+CCJA,qGACI,gBACA,MAIA,mLACI,iBAMR,qGACI,gBACA,SAKZ,yBAEQ,8JACI,uCCeZ,WAEI,YC5CJ,YACI,iCAIA,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,kBACI,qCACA,eCuEsB,QC9E9B,cAEI,sBACA,sBACA,+BACA,2BACA,2BACA,4BACA,6BACA,2BACA,0DACA,SACA,mCACA,2CAGJ,SACI,cCfJ,SAEI,4BACA,uDACA,kCACA,kCACA,oCACA,oCACA,kCACA,kCACA,kCACA,gCACA,kCAEA,kBACA,UACA,sCAEA,WACI,qBACA,8BAGJ,oBACI,WACA,cACA,kBACA,0BACA,SACA,yBACA,mCACA,yCACA,WAGJ,YACI,gBACA,eACA,SAEA,eACI,iBAEA,6BACI,aACA,mBACA,mBACA,SAEA,oCACI,gBAGJ,sCACI,uCACA,kBAGJ,wNAII,yCACA,uCAGJ,gHAEI,2CACA,yCAGJ,4GAEI,kBAGJ,6CACI,yCACA,cACA,uCACA,iBACA,YC1DM,KD2DN,gBACA,qBACA,mBACA,kBAGI,oEAUI,MATc,KAUd,OAVc,KAWd,YARU,KASV,kBACA,YAbc,KADlB,kEAUI,MATc,QAUd,OAVc,QAWd,YARU,OASV,oBACA,YAbc,QADlB,mEAUI,MATc,QAUd,OAVc,QAWd,YARU,OASV,qBACA,YAbc,QADlB,mEAUI,MATc,QAUd,OAVc,QAWd,YARU,OASV,qBACA,YAbc,QADlB,kEAUI,MATc,OAUd,OAVc,OAWd,YARU,OASV,qBACA,YAbc,OADlB,qEAUI,MATc,OAUd,OAVc,OAWd,YARU,OASV,qBACA,YAbc,OAmB9B,kCACI,2CAGJ,kBACI,wCEpHhB,OAEI,yBACA,yBACA,uBACA,uBACA,6BACA,6BAGI,mBAEI,mCAFJ,4EAMJ,WACA,aACA,wBACA,qD9E4CA,yB8E/DJ,OAYY,oC9EmDR,yB8E/DJ,OAYY,oC9EmDR,yB8E/DJ,OAYY,oC9EmDR,0B8E/DJ,OAYY,oCASR,aACI,aACA,sBACA,uBACA,mBAEA,gCACA,iBAEA,8BACA,4BAEA,mBACI,oCACA,kCAGJ,0BACI,SAIR,6BAEI,eACA,qBAOQ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,kBACI,4BADJ,kBACI,4BADJ,kBACI,4B9EShB,yB8EVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6B9EShB,yB8EVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6B9EShB,yB8EVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6B9EShB,0B8EVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6B9EShB,0B8EVY,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,sBACI,4BADJ,sBACI,4BADJ,sBACI,6BCtDpB,gBACI,kCACA,mCACA,6BACA,wDACA,kDACA,sCACA,sCAEA,2DACA,gBACA,iCACA,gBACA,kBACA,iBACA,eAEA,0BACI,6CACA,qCACA,mBAGJ,iCACI,4CACA,oDACA,2BAGJ,0FAEI,2CACA,mDACA,2BC/BR,mBAEI,WACA,uCACA,iBACA,cACA,aACA,mBACA,sBACA,UACA,qCACA,mCCZJ,mBACI,gCACA,2BACA,iCACA,kCACA,kCACA,6BACA,8BACA,oCACA,mCAEA,iCACA,iCACA,oCACA,kCAEA,uCACA,0CACA,0CAEA,sCACA,2CACA,8CACA,uCACA,8CACA,2DACA,+CACA,kDACA,gCACA,8BACA,gCACA,qCACA,iCACA,iCACA,sCACA,sCAEA,iCACA,8BACA,yCAEA,yBACA,yBACA,6BACA,8BAEA,oCACA,4CACA,4CACA,0CACA,4CACA,6DAEA,iCACA,mCACA,mCACA,2CACA,6BACA,oCACA,+BACA,wCACA,2CACA,yCACA,iCACA,4CACA,4CAEA,8BACA,6BACA,qCACA,qCACA,qDACA,+BACA,2CACA,qCACA,oDACA,+BACA,oCC9EJ,+BACI,WACA,aACA,mBACA,cACA,sBACA,UACA,SAGJ,kQACI,WACA,aACA,eACA,0EAOA,yBAFJ,uNAGQ,aRoFuB,yCQnFvB,cRmFuB,0CQzEtB,wIACL,cChCJ,8BACI,WAEA,aACA,mBACA,sBACA,wCAEA,6CACI,aACA,mBACA,oBACA,WACA,aT2FuB,yCS1FvB,cT0FuB,yCSxFvB,yBARJ,6CASQ,cAIJ,+CACI,0CACA,6CACA,mBACA,aAGJ,yBApBJ,6CAqBQ,8CACA,gDAGJ,8DACI,6DAIA,0DACI,4CACA,2DAFJ,2DACI,6CACA,4DAIR,8HAEI,sCACA,qBACA,UChCG,ODmCP,0DACI,gBAGJ,+MAII,qBE3DZ,8BACI,WACA,WrE4BI,KqE3BJ,iBACA,2BAEA,yBANJ,8BAOQ,2BACA,sBACA,uDACA,eACA,8BACA,gBACA,MACA,aACA,0CAGJ,mDACI,WAKA,aAHoB;AAAA;AAAA,UAIpB,cAJoB;AAAA;AAAA,UAKpB,aACA,8BACA,mBACA,kBAEA,yBAbJ,mDAoBQ,aALa,+EAMb,cANa,gFASjB,yBAxBJ,mDAyBQ,eACA,iBAIR,4CACI,oBAEA,yBAHJ,4CAIQ,cAGJ,gDACI,cAIR,yBACI,8CACI,aAEJ,+CACI,wBACA,iBAIR,0CACI,0BACA,sCACA,mCAEA,yBALJ,0CAMQ,oBAGJ,yDACI,uBACA,gBAEA,yEAEI,aAGJ,yBATJ,yDAUQ,mBAGJ,8JAEI,cACA,mBACA,iBAKJ,yBADJ,oDAEQ,qFAIJ,yBANJ,oDAOQ,WrE7ER,KqE8EQ,8CACA,+CACA,0DAGJ,gFACI,yBAIR,8KAGI,qCAIR,8CACI,MrE/GA,KqEgHA,2BAGJ,mDACI,gQAGJ,2CACI,MrExHA,KqE0HA,mJAGI,MrE1IH,QqE6ID,yBATJ,2CAUQ,MrElHJ,MsE9BR,sFAEI,WAEA,qCAEA,aACA,0CACA,iBACA,mBACA,oBACA,2BACA,eACA,mDACA,oDACA,4FAGA,yBAlBJ,sFAmBQ,iDACA,0DACA,2DAEA,gBACA,MACA,cAGJ,gJACI,WACA,aACA,8BACA,oBACA,kBAEA,0KACI,0CACA,6CACA,mBACA,aACA,wCAIA,0KACI,uDACA,qGAFJ,4KACI,wDACA,sGAMR,oKACI,cACA,aACA,gCACA,oBACA,UAEA,sLACI,0CACA,iGAIA,yBANJ,sLAOQ,iDACA,6EAKR,yBApBJ,oKAqBQ,4BACA,2BACA,eAIA,8LACI,YAIR,0LACI,aACA,0CACA,mBACA,uBACA,wCACA,sCACA,iCACA,mBACA,8CACA,8CACA,kBACA,oBAEA,yBAdJ,0LAeQ,cAKZ,0KACI,sFAOJ,gLACI,YACA,UACA,gBAGJ,yBACI,gLACI,aAEJ,kLACI,aACA,UACA,0CACA,qBAIR,yBACI,kLACI,eACA,8CACA,OACA,YAIR,wKACI,0CAEA,0BACA,sCACA,0CAEA,yBAPJ,wKAQQ,oBAGJ,sMACI,uBACA,gBAGA,wBACA,yBAEA,yBARJ,sMASQ,mBAGJ,oeAEI,cACA,mBACA,iBAKJ,yBADJ,4LAEQ,gDAEA,aACA,mBACA,0CACA,oFAEA,wFAIJ,yBAbJ,4LAcQ,yDACA,uDACA,8CACA,+CACA,yFAIJ,oPACI,yBAIR,gyBAII,0DAMhB,sCACI,8CACA,+CAEA,yBAJJ,sCAKQ,aZ5GuB,yCY6GvB,cZ7GuB,0CaxG/B,wEAGI,gCACA,8BACA,wCACA,2CACA,0CAGI,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAIR,kGACI,SACA,UCnBR,6BACI,aACA,kBACA,uBACA,gBACA,WACA,6CAMY,mCACI,iBADJ,mCACI,iBADJ,mCACI,iBADJ,mCACI,iBxF6DhB,4BwF9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kBxF6DhB,4BwF9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kBxF6DhB,4BwF9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kBxF6DhB,6BwF9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kBxF6DhB,6BwF9DY,uCACI,iBADJ,uCACI,iBADJ,uCACI,iBADJ,uCACI,kBAMhB,6CACI,cACA,YACA,WACA,yBAJJ,6CAKQ,aAIR,iDACI,kBACA,SACA,OAEA,sFAEA,+DACA,8CACA,iDAEA,mDACI,cAGJ,0EACI,QACA,WAGJ,wEACI,MACA,aAKR,4CAEI,kBACA,SACA,4HAEA,yBANJ,4CAOQ,0FAIJ,qEACI,QACA,sCAIJ,+DACI,OACA,uCAGJ,yBAtBJ,4CAuBQ,WAGA,oIAEI,8CACA,gDCpFhB,yCACI,kBACA,WACA,YACA,aACA,mBACA,6BAEA,yBARJ,yCASQ,sBACA,OAGJ,qDACI,QACA,2CACA,iCACA,gHACA,8IAEA,YAEA,yBATJ,qDAUQ,4CAEA,WfuFyB,qEepF7B,yBAfJ,qDAgBQ,gBACA,gFAIJ,6RAKI,qBAGJ,sVAMI,qCACA,yBAPJ,sVAQQ,gBAIR,wEACI,ULpCG,OKqCH,SACA,YACA,gBACA,WACA,aACA,mBACA,8BACA,UACA,yBAEA,8EACI,gBAGJ,+EACI,gBACA,qCACA,sCACA,sBACA,WACA,qBACA,gCAGJ,mGACI,yBAGJ,yBA9BJ,wEA+BQ,cAKJ,yBADJ,0EAEQ,8CAGJ,yBALJ,0EAMQ,eAIA,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDAMhB,+EACI,sBAEA,oFACI,oBAGJ,yFACI,2BACA,uDACA,8EAGA,mGACI,iBAGJ,8LAEI,0BAGJ,kGACI,8CACA,mBAGJ,gGACI,wDAOpB,6DACI,QACA,cAEA,YACA,uGAGA,yBARJ,6DAUQ;AAAA;AAAA;AAAA,cAIA,eACA,4CAIA,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAShB,yBAEQ,yEACI,gBACA,oCAMZ,yBAEQ,8EACI,gBACA,MAIJ,uGACI,UACA,UAKZ,yBAEQ,8EACI,gBACA,uCAMZ,yBAEQ,8EACI,QAGJ,sFACI,SAMZ,yBAEQ,sEACI,QACA,4CACA,cfrIe,yCe2IH,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAOpB,8EACI,QACA,gBACA,afxJe,yCe2JX,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,gDAIR,+CAfJ,8EAgBQ,6CC9QhB,yHACI,oCACA,4CAEA,mJACI,gBAIR,uFAEI,aACA,wCAEA,6B1FgDJ,yB0FrDA,uFAQQ,yBACA,8BACA,kCAKJ,wDACI,4CAGA,qKAQA,sKAEI,kDAIR,uDAEI,0EAQI,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAIR,yEACI,gBAeR,wDACI,gBAIA,oFACI,cAIZ,wDACI,gBACA,iBAIJ,8HAEI,uB1F9BJ,yB0F4BA,8HAKQ,yBACA,2BAGJ,sKACI,aAKR,kHAEI,uB1F7CJ,yB0F2CA,kHAKQ,yBACA,2BAGJ,8IACI,aClHZ,8BAGI,eACA,gDACA,gCACA,mBACA,0CACA,6CAEA,yBAVJ,8BAWQ,aAGJ,2CACI,SACA,UAGJ,mJAII,gCCzBR,gFAGI,yCCDJ,WACI,sBACA,wDACA,mBACA,kBAGJ,WACI,iCACA,mDACA,mBACA,kBAGJ,iCAEI,iCACA,WACA,kBACA,mBACA,oBACA,oBACA,cAGA,mCACA,kCACA,qBAGJ,uDAEI,4CACA,WACA,kBACA,mBACA,oBACA,oBACA,cAGA,mCACA,kCACA,qBAGJ,6CACI,qBChDJ,mBACI,cAES,0BACL,UAGJ,2BACI,UAIJ,sCACI,WACA,WlG+4BgC,yDkG94BhC,uBACA,YCLyB,QpFmR3B,UALI,KmFvQF,YlGylBsB,IkGxlBtB,YnEdW,ImEeX,MlGi3BgC,qBkGh3BhC,iB9ELA,K8EMA,4CjFJJ,2BhBHE,WiGUE,0DACA,gBjGPF,uCiGPF,sCjGQI,iBiGYA,6HACI,a9EFJ,K8EGI,WpEzBmB,KoE8B3B,uFACI,oCjFCJ,6BACA,4BiFGA,uFACI,iCjFnBJ,yBACA,0BiFuBA,mCACI,WAIA,kEACI,mBAOJ,kJACI,kBACA,QACA,MlGq6BwB,QkGp6BxB,MCIqB,ODHrB,OCIqB,ODHrB,oBACA,gBACA,iBACA,mBACA,WCGqB,iXDFrB,2BAGA,8JACI,WCDiB,8WDKrB,4JACI,aEpFZ,sCACI,QDGyB,KCC7B,qCACI,QDFyB,KCGzB,gBACA,MpG63BgC,qBoG53BhC,iBhFOA,KgFNA,ahFqBA,KHbJ,2BmFJI,6DACI,iCnFYR,yBACA,0BmFRI,6DACI,oCnFoBR,6BACA,4BmFhBI,qDACI,uBAGA,4EACI,cACA,WACA,uBACA,YDvBiB,QpFmR3B,UALI,KqFrPM,YpGukBc,IoGtkBd,YrEhCG,IqEiCH,MpG+1BwB,qBoG91BxB,iBhFvBR,KgFwBQ,4BACA,4CACA,gBnFxBZ,2BhBHE,WmG+BU,0DnG3BV,uCmGWM,4EnGVJ,iBmG4BQ,kFACI,ahFlBZ,KgFmBY,WtEzCW,KsEgDnB,sGACI,WDWiB,MCVjB,gBAIJ,wFACI,uBrF8NV,UALI,KqFvNM,YpGyiBc,IoGxiBd,YrE9DG,IqEiEH,iHACI,MpG60BoB,0BoGz0BxB,6HACI,WACA,iBhF1DT,QgF8DK,iRAEI,WACA,iBhFjFX,QgFqFO,sOAEI,MpGklBU,0BoG9kBd,oGACI,UAGA,4HACI,wBACA,YpG0iBM,IoGziBN,YrEhGL,IqEiGK,MhFvEhB,KgF4EgB,+JACI,uBC5GxB,8CACI,uCACA,iPACA,4BACA,oBrG4+B4B,oBqG3+B5B,gBrG4+B4B,UqGz+B5B,2EACI,UACA,YrGimBkB,IqGhmBlB,YtENO,IsEOP,MrGy3B4B,qBqGt3B5B,2GACI,YrG2lBc,IqG1lBd,YtEZG,IsEaH,MrGk4BwB,0BqG73BhC,wEACI,aCtBJ,6EACI,aACA,mBACA,eACA,eACA,SACA,gBAGA,wGACI,aACA,mBACA,mBACA,oBACA,qBACA,sBvF6QV,UALI,KuFtQM,MtGk3BwB,qBsGj3BxB,YACA,4CrFHZ,2BqFOY,2IACI,MH8Ca,OG7Cb,OH8Ca,OG7Cb,oBACA,oBACA,gBACA,iBACA,mBACA,WH4Ca,iXG3Cb,SAEA,iJACI,WHyCS,8WGrCb,gJACI,aAOhB,gEACI,cACA,WACA,OHnDqB,OGsDrB,uFACI,WACA,OHxDiB,OGyDjB,aACA,cACA,YHjDiB,QGkDjB,YvExDG,IuEyDH,+BAKR,0EACI,MtG+sBkB,OuGhxBtB,6JACI,MvGwqBkB,0BuGvqBlB,mBACA,iBvG43B4B,uBuG33B5B,anFaD,QmFZC,gBAKA,qOACI,aAIJ,uOACI,mBACA,6SACI,aAKR,mQACI,iBAEA,mSACI,aC1BJ,mIvF8BZ,0BACA,6BuFrBY,gIvFoBZ,0BACA,6BuFXI,yNvFwBJ,yBACA,4BuFnBA,gCACI,YACA,mDACI,YC7BJ,kHACI,arF8BJ,QqFxBI,sUACI,arFuBR,QqFtBQ,WN4BiB,4BMtBrB,oNACI,oCAIJ,oNACI,iCxFEZ,yBACA,0BwFOI,sHACI,arFhCN,QqFsCM,8UACI,arFvCV,QqFwCU,WNCiB,4BMKrB,wNACI,oCAIJ,wNACI,iCxF7BZ,yBACA,0ByF3BA,qDACI,mEACA,qB3F2RF,UALI,SEvQN,2ByFRI,gLACI,YACA,aACA,wBACA,2XAEA,4LACI,wXAKJ,sWAEI,aAMZ,oDzFZA,2ByFgBI,4EzFPJ,yBACA,0ByFWI,4EzFEJ,6BACA,4ByFEQ,2FACI,qB3FiPV,UALI,S2FtOE,uGACI,qB3F0OV,UALI,S2FjOU,2IACI,sBAIA,8KACI,qBASxB,6DACI,oCAMI,uHACI,oB3F+MV,UALI,S2FvMM,0JACI,YACA,aACA,wBACA,2XAEA,gKACI,wXAMhB,yFACI,YA/FR,qDACI,iEACA,mB3F2RF,UALI,QEvQN,2ByFRI,gLACI,WACA,YACA,oBACA,yXAEA,4LACI,sXAKJ,sWAEI,aAMZ,oDzFZA,2ByFgBI,4EzFPJ,yBACA,0ByFWI,4EzFEJ,6BACA,4ByFEQ,2FACI,mB3FiPV,UALI,Q2FtOE,uGACI,mB3F0OV,UALI,Q2FjOU,2IACI,oBAIA,8KACI,mBASxB,6DACI,iCAMI,uHACI,oB3F+MV,UALI,Q2FvMM,0JACI,WACA,YACA,oBACA,yXAEA,gKACI,sXAMhB,yFACI,WA/FI,sDACR,mEACA,qB3F2RF,UALI,SEvQN,2ByFRI,kLACI,YACA,aACA,wBACA,2XAEA,8LACI,wXAKJ,0WAEI,aAMA,qDzFZZ,2ByFgBI,6EzFPJ,yBACA,0ByFWI,6EzFEJ,6BACA,4ByFEQ,4FACI,qB3FiPV,UALI,S2FtOE,wGACI,qB3F0OV,UALI,S2FjOU,4IACI,sBAIA,+KACI,qBASZ,8DACR,oCAMI,wHACI,oB3F+MV,UALI,S2FvMM,2JACI,YACA,aACA,wBACA,2XAEA,iKACI,wXAMhB,0FACI,YA/FI,sDACR,iEACA,mB3F2RF,UALI,QEvQN,2ByFRI,kLACI,WACA,YACA,oBACA,yXAEA,8LACI,sXAKJ,0WAEI,aAMA,qDzFZZ,2ByFgBI,6EzFPJ,yBACA,0ByFWI,6EzFEJ,6BACA,4ByFEQ,4FACI,mB3FiPV,UALI,Q2FtOE,wGACI,mB3F0OV,UALI,Q2FjOU,4IACI,oBAIA,+KACI,mBASZ,8DACR,iCAMI,wHACI,oB3F+MV,UALI,Q2FvMM,2JACI,WACA,YACA,oBACA,yXAEA,iKACI,sXAMhB,0FACI,WCzFR,0GACI,gBACA,yBACA,YACA,gBACA,MvFWG,QuFNP,kGACI,YAaJ,4DACI","file":"bootstrap.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../../../../node_modules/bootstrap/scss/mixins/_banner.scss","../../../../../../node_modules/uu-bootstrap/scss/fonts/_open-sans.scss","../../../../../../node_modules/uu-bootstrap/scss/fonts/_merriweather.scss","../../../../../../node_modules/bootstrap/scss/mixins/_clearfix.scss","../../../../../../node_modules/bootstrap/scss/helpers/_color-bg.scss","../../../../../../node_modules/bootstrap/scss/helpers/_colored-links.scss","../../../../../../node_modules/bootstrap/scss/helpers/_focus-ring.scss","../../../../../../node_modules/bootstrap/scss/helpers/_icon-link.scss","../../../../../../node_modules/bootstrap/scss/_variables.scss","../../../../../../node_modules/bootstrap/scss/mixins/_transition.scss","../../../../../../node_modules/bootstrap/scss/helpers/_ratio.scss","../../../../../../node_modules/bootstrap/scss/helpers/_position.scss","../../../../../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../../../../../node_modules/bootstrap/scss/helpers/_stacks.scss","../../../../../../node_modules/bootstrap/scss/helpers/_visually-hidden.scss","../../../../../../node_modules/bootstrap/scss/mixins/_visually-hidden.scss","../../../../../../node_modules/bootstrap/scss/helpers/_stretched-link.scss","../../../../../../node_modules/bootstrap/scss/helpers/_text-truncation.scss","../../../../../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../../../../../node_modules/bootstrap/scss/helpers/_vr.scss","../../../../../../node_modules/bootstrap/scss/mixins/_utilities.scss","../../../../../../node_modules/bootstrap/scss/utilities/_api.scss","../../../../../../node_modules/bootstrap/scss/_root.scss","../../../../../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../../../../../node_modules/bootstrap/scss/mixins/_color-mode.scss","../../../../../../node_modules/bootstrap/scss/_reboot.scss","../../../../../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../../../../../node_modules/bootstrap/scss/_type.scss","../../../../../../node_modules/bootstrap/scss/mixins/_lists.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_colors.scss","../../../../../../node_modules/bootstrap/scss/_images.scss","../../../../../../node_modules/bootstrap/scss/mixins/_image.scss","../../../../../../node_modules/bootstrap/scss/_containers.scss","../../../../../../node_modules/bootstrap/scss/mixins/_container.scss","../../../../../../node_modules/bootstrap/scss/_grid.scss","../../../../../../node_modules/bootstrap/scss/mixins/_grid.scss","../../../../../../node_modules/bootstrap/scss/_tables.scss","../../../../../../node_modules/bootstrap/scss/mixins/_table-variants.scss","../../../../../../node_modules/bootstrap/scss/forms/_labels.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/bootstrap/_form.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/bootstrap/_misc.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-text.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-control.scss","../../../../../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-select.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-check.scss","../../../../../../node_modules/bootstrap/scss/forms/_form-range.scss","../../../../../../node_modules/bootstrap/scss/forms/_floating-labels.scss","../../../../../../node_modules/bootstrap/scss/forms/_input-group.scss","../../../../../../node_modules/bootstrap/scss/mixins/_forms.scss","../../../../../../node_modules/bootstrap/scss/_buttons.scss","../../../../../../node_modules/bootstrap/scss/mixins/_buttons.scss","../../../../../../node_modules/bootstrap/scss/_transitions.scss","../../../../../../node_modules/bootstrap/scss/_dropdown.scss","../../../../../../node_modules/bootstrap/scss/mixins/_caret.scss","../../../../../../node_modules/bootstrap/scss/_button-group.scss","../../../../../../node_modules/bootstrap/scss/_nav.scss","../../../../../../node_modules/bootstrap/scss/_navbar.scss","../../../../../../node_modules/bootstrap/scss/_card.scss","../../../../../../node_modules/bootstrap/scss/_accordion.scss","../../../../../../node_modules/bootstrap/scss/_breadcrumb.scss","../../../../../../node_modules/bootstrap/scss/_pagination.scss","../../../../../../node_modules/bootstrap/scss/mixins/_pagination.scss","../../../../../../node_modules/bootstrap/scss/_badge.scss","../../../../../../node_modules/bootstrap/scss/_alert.scss","../../../../../../node_modules/bootstrap/scss/_progress.scss","../../../../../../node_modules/bootstrap/scss/_list-group.scss","../../../../../../node_modules/bootstrap/scss/_close.scss","../../../../../../node_modules/bootstrap/scss/_toasts.scss","../../../../../../node_modules/bootstrap/scss/_modal.scss","../../../../../../node_modules/bootstrap/scss/mixins/_backdrop.scss","../../../../../../node_modules/bootstrap/scss/_tooltip.scss","../../../../../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../../../../../node_modules/bootstrap/scss/_popover.scss","../../../../../../node_modules/bootstrap/scss/_carousel.scss","../../../../../../node_modules/bootstrap/scss/_spinners.scss","../../../../../../node_modules/bootstrap/scss/_offcanvas.scss","../../../../../../node_modules/bootstrap/scss/_placeholders.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_accordion.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_alert.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_background.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_button.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_pagination.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_modal.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_table.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_form.scss","../../../../../../node_modules/uu-bootstrap/scss/components/bootstrap/_index.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_text.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_uu-layout.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_code.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_stepper.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_stepper.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_tiles.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_modal-nav-tabs.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_index.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_css_variables.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_containers.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_header.scss","../../../../../../node_modules/uu-bootstrap/scss/configuration/_fonts.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_navbar.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_unified_header.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_hero.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_cover.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_sidebar.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_form.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_footer.scss","../../../../../../node_modules/uu-bootstrap/scss/components/uu-layout/_table.scss","../../../../../../node_modules/uu-bootstrap/scss/components/_uu-list.scss","../../../../../../assets/scss/icomoon.scss","../../../../../../assets/scss/select2-bootstrap/_layout.scss","../../../../../../assets/scss/select2-bootstrap/_variables.scss","../../../../../../assets/scss/select2-bootstrap/_dropdown.scss","../../../../../../assets/scss/select2-bootstrap/_single.scss","../../../../../../assets/scss/select2-bootstrap/_multiple.scss","../../../../../../assets/scss/select2-bootstrap/_disabled.scss","../../../../../../assets/scss/select2-bootstrap/_input-group.scss","../../../../../../assets/scss/select2-bootstrap/_validation.scss","../../../../../../assets/scss/select2-bootstrap/_sizing.scss","../../../../../../assets/scss/bootstrap.scss"],"names":[],"mappings":"CACE;AAAA;AAAA;AAAA;AAAA,GCEF,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,sFACA,IACI,mhBAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,kFACA,IACI,+fAeR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,qFACA,IACI,8gBAeR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBAgBR,WACI,wBACA,kBACA,gBACA,wFACA,IACI,6hBCjPR,WACI,2BACA,kBACA,gBACA,8EACA,IACI,+eAeR,WACI,2BACA,kBACA,gBACA,oFACA,IACI,6gBAeR,WACI,2BACA,kBACA,gBACA,kFACA,IACI,mgBAeR,WACI,2BACA,kBACA,gBACA,iFACA,IACI,8fAeR,WACI,2BACA,kBACA,gBACA,8EACA,IACI,+eAeR,WACI,2BACA,kBACA,gBACA,oFACA,IACI,6gBAeR,WACI,2BACA,kBACA,gBACA,8EACA,IACI,+eAeR,WACI,2BACA,kBACA,gBACA,oFACA,IACI,6gBC1JN,iBACE,cACA,WACA,WCHF,iBACE,sBACA,iFAFF,mBACE,sBACA,mFAFF,iBACE,sBACA,iFAFF,cACE,sBACA,8EAFF,iBACE,sBACA,iFAFF,gBACE,sBACA,gFAFF,eACE,sBACA,+EAFF,eACE,sBACA,+EAFF,cACE,sBACA,8EAFF,cACE,sBACA,8EAFF,mBACE,sBACA,mFAFF,gBACE,sBACA,gFAFF,gBACE,sBACA,gFAFF,cACE,sBACA,8EAFF,aACE,sBACA,6EAFF,sBACE,sBACA,sFAFF,eACE,sBACA,+EAFF,eACE,sBACA,+EAFF,gBACE,sBACA,gFAFF,gBACE,sBACA,gFAFF,eACE,sBACA,+EAFF,cACE,sBACA,8EAFF,cACE,sBACA,8EAFF,eACE,sBACA,+EAFF,cACE,sBACA,8EAFF,mBACE,sBACA,mFCFF,cACE,wEACA,kGAGE,wCAGE,+DACA,yFATN,gBACE,0EACA,oGAGE,4CAGE,0DACA,oFATN,cACE,wEACA,kGAGE,wCAGE,+DACA,yFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,cACE,wEACA,kGAGE,wCAGE,gEACA,0FATN,aACE,uEACA,iGAGE,sCAGE,6DACA,uFATN,YACE,sEACA,gGAGE,oCAGE,6DACA,uFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,WACE,qEACA,+FAGE,kCAGE,6DACA,uFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,gBACE,0EACA,oGAGE,4CAGE,4DACA,sFATN,aACE,uEACA,iGAGE,sCAGE,8DACA,wFATN,aACE,uEACA,iGAGE,sCAGE,8DACA,wFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,UACE,oEACA,8FAGE,gCAGE,6DACA,uFATN,mBACE,6EACA,uGAGE,kDAGE,8DACA,wFATN,YACE,sEACA,gGAGE,oCAGE,6DACA,uFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,aACE,uEACA,iGAGE,sCAGE,gEACA,0FATN,aACE,uEACA,iGAGE,sCAGE,+DACA,yFATN,YACE,sEACA,gGAGE,oCAGE,+DACA,yFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,WACE,qEACA,+FAGE,kCAGE,+DACA,yFATN,YACE,sEACA,gGAGE,oCAGE,gEACA,0FATN,WACE,qEACA,+FAGE,kCAGE,6DACA,uFATN,gBACE,0EACA,oGAGE,4CAGE,6DACA,uFAOR,oBACE,+EACA,yGAGE,oDAEE,kFACA,4GC1BN,kBACE,UAEA,kJCHF,WACE,oBACA,IC6c4B,QD5c5B,mBACA,kFACA,sBC2c4B,MD1c5B,2BAEA,eACE,cACA,MCuc0B,IDtc1B,OCsc0B,IDrc1B,kBEIE,WFHF,0BEOE,uCFZJ,eEaM,iBFDJ,8DACE,mEGnBN,OACE,kBACA,WAEA,eACE,cACA,mCACA,WAGF,SACE,kBACA,MACA,OACA,WACA,YAKF,WACE,wBADF,WACE,uBADF,YACE,0BADF,YACE,kCCrBJ,WACE,eACA,MACA,QACA,OACA,QHqmCkC,KGlmCpC,cACE,eACA,QACA,SACA,OACA,QH6lCkC,KGrlChC,YACE,gBACA,MACA,QHilC8B,KG9kChC,eACE,gBACA,SACA,QH2kC8B,KI5iChC,yBDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,yBDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,yBDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,0BDxCA,eACE,gBACA,MACA,QHilC8B,KG9kChC,kBACE,gBACA,SACA,QH2kC8B,MI5iChC,0BDxCA,gBACE,gBACA,MACA,QHilC8B,KG9kChC,mBACE,gBACA,SACA,QH2kC8B,MK1mCpC,QACE,aACA,mBACA,mBACA,mBAGF,QACE,aACA,cACA,sBACA,mBCRF,2ECIE,qBACA,sBACA,qBACA,uBACA,2BACA,iCACA,8BACA,oBAGA,qGACE,6BCdF,uBACE,kBACA,MACA,QACA,SACA,OACA,QRgcsC,EQ/btC,WCRJ,+BCCE,uBACA,mBCNF,IACE,qBACA,mBACA,MXisB4B,uBWhsB5B,eACA,8BACA,QX2rB4B,IY/nBtB,gBAOI,mCAPJ,WAOI,8BAPJ,cAOI,iCAPJ,cAOI,iCAPJ,mBAOI,sCAPJ,gBAOI,mCAPJ,aAOI,sBAPJ,WAOI,uBAPJ,YAOI,sBAPJ,oBAOI,8BAPJ,kBAOI,4BAPJ,iBAOI,2BAPJ,kBAOI,iCAPJ,iBAOI,2BAPJ,WAOI,qBAPJ,YAOI,uBAPJ,YAOI,sBAPJ,YAOI,uBAPJ,aAOI,qBAPJ,eAOI,yBAPJ,iBAOI,2BAPJ,kBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,2BAPJ,mBAOI,6BAPJ,oBAOI,8BAPJ,mBAOI,6BAPJ,iBAOI,2BAPJ,mBAOI,6BAPJ,oBAOI,8BAPJ,mBAOI,6BAPJ,UAOI,0BAPJ,gBAOI,gCAPJ,SAOI,yBAPJ,QAOI,wBAPJ,eAOI,+BAPJ,SAOI,yBAPJ,aAOI,6BAPJ,cAOI,8BAPJ,QAOI,wBAPJ,eAOI,+BAPJ,QAOI,wBAPJ,QAOI,mDAPJ,WAOI,wDAPJ,WAOI,mDAPJ,aAOI,2BAjBJ,oBACE,iFADF,sBACE,mFADF,oBACE,iFADF,iBACE,8EADF,oBACE,iFADF,mBACE,gFADF,kBACE,+EADF,kBACE,+EADF,iBACE,8EADF,iBACE,8EADF,sBACE,mFADF,mBACE,gFADF,mBACE,gFADF,iBACE,8EADF,gBACE,6EADF,yBACE,sFADF,kBACE,+EADF,kBACE,+EADF,mBACE,gFADF,mBACE,gFADF,kBACE,+EADF,iBACE,8EADF,iBACE,8EADF,kBACE,+EADF,iBACE,8EADF,sBACE,mFASF,iBAOI,2BAPJ,mBAOI,6BAPJ,mBAOI,6BAPJ,gBAOI,0BAPJ,iBAOI,2BAPJ,OAOI,iBAPJ,QAOI,mBAPJ,SAOI,oBAPJ,UAOI,oBAPJ,WAOI,sBAPJ,YAOI,uBAPJ,SAOI,kBAPJ,UAOI,oBAPJ,WAOI,qBAPJ,OAOI,mBAPJ,QAOI,qBAPJ,SAOI,sBAPJ,kBAOI,2CAPJ,oBAOI,sCAPJ,oBAOI,sCAPJ,QAOI,uFAPJ,UAOI,oBAPJ,YAOI,2FAPJ,cAOI,wBAPJ,YAOI,6FAPJ,cAOI,0BAPJ,eAOI,8FAPJ,iBAOI,2BAPJ,cAOI,4FAPJ,gBAOI,yBAPJ,gBAIQ,uBAGJ,8EAPJ,kBAIQ,uBAGJ,gFAPJ,gBAIQ,uBAGJ,8EAPJ,aAIQ,uBAGJ,2EAPJ,gBAIQ,uBAGJ,8EAPJ,eAIQ,uBAGJ,6EAPJ,cAIQ,uBAGJ,4EAPJ,cAIQ,uBAGJ,4EAPJ,aAIQ,uBAGJ,2EAPJ,aAIQ,uBAGJ,2EAPJ,kBAIQ,uBAGJ,gFAPJ,eAIQ,uBAGJ,6EAPJ,eAIQ,uBAGJ,6EAPJ,aAIQ,uBAGJ,2EAPJ,YAIQ,uBAGJ,0EAPJ,qBAIQ,uBAGJ,mFAPJ,cAIQ,uBAGJ,4EAPJ,cAIQ,uBAGJ,4EAPJ,eAIQ,uBAGJ,6EAPJ,eAIQ,uBAGJ,6EAPJ,cAIQ,uBAGJ,4EAPJ,aAIQ,uBAGJ,2EAPJ,aAIQ,uBAGJ,2EAPJ,cAIQ,uBAGJ,4EAPJ,aAIQ,uBAGJ,2EAPJ,kBAIQ,uBAGJ,gFAPJ,cAIQ,uBAGJ,4EAPJ,uBAOI,wDAPJ,yBAOI,0DAPJ,uBAOI,wDAPJ,oBAOI,qDAPJ,uBAOI,wDAPJ,sBAOI,uDAPJ,qBAOI,sDAPJ,oBAOI,qDAPJ,UAOI,4BAPJ,UAOI,4BAPJ,UAOI,4BAPJ,UAOI,4BAPJ,UAOI,4BAjBJ,mBACE,yBADF,mBACE,0BADF,mBACE,yBADF,mBACE,0BADF,oBACE,uBASF,MAOI,qBAPJ,MAOI,qBAPJ,MAOI,qBAPJ,OAOI,sBAPJ,QAOI,sBAPJ,QAOI,0BAPJ,QAOI,uBAPJ,YAOI,2BAPJ,MAOI,sBAPJ,MAOI,sBAPJ,MAOI,sBAPJ,OAOI,uBAPJ,QAOI,uBAPJ,QAOI,2BAPJ,QAOI,wBAPJ,YAOI,4BAPJ,WAOI,yBAPJ,UAOI,8BAPJ,aAOI,iCAPJ,kBAOI,sCAPJ,qBAOI,yCAPJ,aAOI,uBAPJ,aAOI,uBAPJ,eAOI,yBAPJ,eAOI,yBAPJ,WAOI,0BAPJ,aAOI,4BAPJ,mBAOI,kCAPJ,uBAOI,sCAPJ,qBAOI,oCAPJ,wBAOI,kCAPJ,yBAOI,yCAPJ,wBAOI,wCAPJ,wBAOI,wCAPJ,mBAOI,kCAPJ,iBAOI,gCAPJ,oBAOI,8BAPJ,sBAOI,gCAPJ,qBAOI,+BAPJ,qBAOI,oCAPJ,mBAOI,kCAPJ,sBAOI,gCAPJ,uBAOI,uCAPJ,sBAOI,sCAPJ,uBAOI,iCAPJ,iBAOI,2BAPJ,kBAOI,iCAPJ,gBAOI,+BAPJ,mBAOI,6BAPJ,qBAOI,+BAPJ,oBAOI,8BAPJ,aAOI,oBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,SAOI,mBAPJ,YAOI,mBAPJ,KAOI,oBAPJ,KAOI,yBAPJ,KAOI,wBAPJ,KAOI,uBAPJ,KAOI,yBAPJ,KAOI,uBAPJ,QAOI,uBAPJ,MAOI,mDAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,yDAPJ,MAOI,6DAPJ,MAOI,yDAPJ,SAOI,yDAPJ,MAOI,mDAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,yDAPJ,MAOI,6DAPJ,MAOI,yDAPJ,SAOI,yDAPJ,MAOI,wBAPJ,MAOI,6BAPJ,MAOI,4BAPJ,MAOI,2BAPJ,MAOI,6BAPJ,MAOI,2BAPJ,SAOI,2BAPJ,MAOI,0BAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,+BAPJ,MAOI,6BAPJ,SAOI,6BAPJ,MAOI,2BAPJ,MAOI,gCAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,gCAPJ,MAOI,8BAPJ,SAOI,8BAPJ,MAOI,yBAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,4BAPJ,MAOI,8BAPJ,MAOI,4BAPJ,SAOI,4BAPJ,KAOI,qBAPJ,KAOI,0BAPJ,KAOI,yBAPJ,KAOI,wBAPJ,KAOI,0BAPJ,KAOI,wBAPJ,MAOI,qDAPJ,MAOI,+DAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,+DAPJ,MAOI,2DAPJ,MAOI,qDAPJ,MAOI,+DAPJ,MAOI,6DAPJ,MAOI,2DAPJ,MAOI,+DAPJ,MAOI,2DAPJ,MAOI,yBAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,4BAPJ,MAOI,8BAPJ,MAOI,4BAPJ,MAOI,2BAPJ,MAOI,gCAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,gCAPJ,MAOI,8BAPJ,MAOI,4BAPJ,MAOI,iCAPJ,MAOI,gCAPJ,MAOI,+BAPJ,MAOI,iCAPJ,MAOI,+BAPJ,MAOI,0BAPJ,MAOI,+BAPJ,MAOI,8BAPJ,MAOI,6BAPJ,MAOI,+BAPJ,MAOI,6BAPJ,OAOI,iBAPJ,OAOI,sBAPJ,OAOI,qBAPJ,OAOI,oBAPJ,OAOI,sBAPJ,OAOI,oBAPJ,WAOI,qBAPJ,WAOI,0BAPJ,WAOI,yBAPJ,WAOI,wBAPJ,WAOI,0BAPJ,WAOI,wBAPJ,cAOI,wBAPJ,cAOI,6BAPJ,cAOI,4BAPJ,cAOI,2BAPJ,cAOI,6BAPJ,cAOI,2BAPJ,gBAOI,gDAPJ,MAOI,4CAPJ,MAOI,6CAPJ,MAOI,6CAPJ,MAOI,4BAPJ,MAOI,4BAPJ,MAOI,0BAPJ,YAOI,6BAPJ,YAOI,6BAPJ,YAOI,+BAPJ,UAOI,2BAPJ,WAOI,2BAPJ,WAOI,2BAPJ,aAOI,2BAPJ,SAOI,2BAPJ,WAOI,8BAPJ,MAOI,yBAPJ,OAOI,2BAPJ,SAOI,2BAPJ,OAOI,2BAPJ,YAOI,2BAPJ,UAOI,4BAPJ,aAOI,6BAPJ,sBAOI,gCAPJ,2BAOI,qCAPJ,8BAOI,wCAPJ,gBAOI,oCAPJ,gBAOI,oCAPJ,iBAOI,qCAPJ,WAOI,8BAPJ,aAOI,8BAPJ,YAOI,iEAPJ,cAIQ,qBAGJ,qEAPJ,gBAIQ,qBAGJ,uEAPJ,cAIQ,qBAGJ,qEAPJ,WAIQ,qBAGJ,kEAPJ,cAIQ,qBAGJ,qEAPJ,aAIQ,qBAGJ,oEAPJ,YAIQ,qBAGJ,mEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,kEAPJ,WAIQ,qBAGJ,kEAPJ,gBAIQ,qBAGJ,uEAPJ,aAIQ,qBAGJ,oEAPJ,aAIQ,qBAGJ,oEAPJ,WAIQ,qBAGJ,kEAPJ,UAIQ,qBAGJ,iEAPJ,mBAIQ,qBAGJ,0EAPJ,YAIQ,qBAGJ,mEAPJ,YAIQ,qBAGJ,mEAPJ,aAIQ,qBAGJ,oEAPJ,aAIQ,qBAGJ,oEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,kEAPJ,WAIQ,qBAGJ,kEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,kEAPJ,gBAIQ,qBAGJ,uEAPJ,YAIQ,qBAGJ,mEAPJ,WAIQ,qBAGJ,wEAPJ,YAIQ,qBAGJ,2CAPJ,eAIQ,qBAGJ,gCAPJ,eAIQ,qBAGJ,sCAPJ,qBAIQ,qBAGJ,2CAPJ,oBAIQ,qBAGJ,0CAPJ,oBAIQ,qBAGJ,0CAPJ,YAIQ,qBAGJ,yBAjBJ,iBACE,wBADF,iBACE,uBADF,iBACE,wBADF,kBACE,qBASF,uBAOI,iDAPJ,yBAOI,mDAPJ,uBAOI,iDAPJ,oBAOI,8CAPJ,uBAOI,iDAPJ,sBAOI,gDAPJ,qBAOI,+CAPJ,oBAOI,8CAjBJ,iBACE,uBAIA,6BACE,uBANJ,iBACE,wBAIA,6BACE,wBANJ,iBACE,uBAIA,6BACE,uBANJ,iBACE,wBAIA,6BACE,wBANJ,kBACE,qBAIA,8BACE,qBAIJ,eAOI,wCAKF,2BAOI,wCAnBN,eAOI,uCAKF,2BAOI,uCAnBN,eAOI,wCAKF,2BAOI,wCAnBN,wBAIQ,+BAGJ,+FAPJ,0BAIQ,+BAGJ,iGAPJ,wBAIQ,+BAGJ,+FAPJ,qBAIQ,+BAGJ,4FAPJ,wBAIQ,+BAGJ,+FAPJ,uBAIQ,+BAGJ,8FAPJ,sBAIQ,+BAGJ,6FAPJ,sBAIQ,+BAGJ,6FAPJ,qBAIQ,+BAGJ,4FAPJ,qBAIQ,+BAGJ,4FAPJ,0BAIQ,+BAGJ,iGAPJ,uBAIQ,+BAGJ,8FAPJ,uBAIQ,+BAGJ,8FAPJ,qBAIQ,+BAGJ,4FAPJ,oBAIQ,+BAGJ,2FAPJ,6BAIQ,+BAGJ,oGAPJ,sBAIQ,+BAGJ,6FAPJ,sBAIQ,+BAGJ,6FAPJ,uBAIQ,+BAGJ,8FAPJ,uBAIQ,+BAGJ,8FAPJ,sBAIQ,+BAGJ,6FAPJ,qBAIQ,+BAGJ,4FAPJ,qBAIQ,+BAGJ,4FAPJ,sBAIQ,+BAGJ,6FAPJ,qBAIQ,+BAGJ,4FAPJ,0BAIQ,+BAGJ,iGAPJ,gBAIQ,+BAGJ,qGAjBJ,0BACE,+BAIA,sCACE,+BANJ,2BACE,iCAIA,uCACE,iCANJ,2BACE,kCAIA,uCACE,kCANJ,2BACE,iCAIA,uCACE,iCANJ,2BACE,kCAIA,uCACE,kCANJ,4BACE,+BAIA,wCACE,+BAIJ,YAIQ,mBAGJ,8EAPJ,cAIQ,mBAGJ,gFAPJ,YAIQ,mBAGJ,8EAPJ,SAIQ,mBAGJ,2EAPJ,YAIQ,mBAGJ,8EAPJ,WAIQ,mBAGJ,6EAPJ,UAIQ,mBAGJ,4EAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,2EAPJ,SAIQ,mBAGJ,2EAPJ,cAIQ,mBAGJ,gFAPJ,WAIQ,mBAGJ,6EAPJ,WAIQ,mBAGJ,6EAPJ,SAIQ,mBAGJ,2EAPJ,QAIQ,mBAGJ,0EAPJ,iBAIQ,mBAGJ,mFAPJ,UAIQ,mBAGJ,4EAPJ,UAIQ,mBAGJ,4EAPJ,WAIQ,mBAGJ,6EAPJ,WAIQ,mBAGJ,6EAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,2EAPJ,SAIQ,mBAGJ,2EAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,2EAPJ,cAIQ,mBAGJ,gFAPJ,UAIQ,mBAGJ,4EAPJ,SAIQ,mBAGJ,8EAPJ,gBAIQ,mBAGJ,0CAPJ,mBAIQ,mBAGJ,mFAPJ,kBAIQ,mBAGJ,kFAjBJ,eACE,qBADF,eACE,sBADF,eACE,qBADF,eACE,sBADF,gBACE,mBASF,mBAOI,wDAPJ,qBAOI,0DAPJ,mBAOI,wDAPJ,gBAOI,qDAPJ,mBAOI,wDAPJ,kBAOI,uDAPJ,iBAOI,sDAPJ,gBAOI,qDAPJ,aAOI,+CAPJ,iBAOI,2BAPJ,kBAOI,4BAPJ,kBAOI,4BAPJ,SAOI,+BAPJ,SAOI,+BAPJ,SAOI,iDAPJ,WAOI,2BAPJ,WAOI,oDAPJ,WAOI,iDAPJ,WAOI,oDAPJ,WAOI,oDAPJ,WAOI,qDAPJ,gBAOI,6BAPJ,cAOI,sDAPJ,aAOI,qHAPJ,eAOI,yEAPJ,eAOI,2HAPJ,eAOI,qHAPJ,eAOI,2HAPJ,eAOI,2HAPJ,eAOI,6HAPJ,oBAOI,6EAPJ,kBAOI,+HAPJ,aAOI,yHAPJ,eAOI,6EAPJ,eAOI,+HAPJ,eAOI,yHAPJ,eAOI,+HAPJ,eAOI,+HAPJ,eAOI,iIAPJ,oBAOI,iFAPJ,kBAOI,mIAPJ,gBAOI,2HAPJ,kBAOI,+EAPJ,kBAOI,iIAPJ,kBAOI,2HAPJ,kBAOI,iIAPJ,kBAOI,iIAPJ,kBAOI,mIAPJ,uBAOI,mFAPJ,qBAOI,qIAPJ,eAOI,uHAPJ,iBAOI,2EAPJ,iBAOI,6HAPJ,iBAOI,uHAPJ,iBAOI,6HAPJ,iBAOI,6HAPJ,iBAOI,+HAPJ,sBAOI,+EAPJ,oBAOI,iIAPJ,SAOI,8BAPJ,WAOI,6BAPJ,MAOI,sBAPJ,KAOI,qBAPJ,KAOI,qBAPJ,KAOI,qBAPJ,KAOI,qBAPJ,aAOI,uBAPJ,gBAOI,0BAPJ,aAOI,uBAPJ,aAOI,uBAPJ,gBAOI,0BAPJ,aAOI,uBAPJ,aAOI,uBAPJ,aAOI,uBAPJ,oBAOI,8BAPJ,iBAOI,2BAPJ,aAOI,uBAPJ,gBAOI,0BAPJ,iBAOI,2BRVR,yBQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,yBQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,yBQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,0BQGI,gBAOI,sBAPJ,cAOI,uBAPJ,eAOI,sBAPJ,uBAOI,8BAPJ,qBAOI,4BAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,oBAOI,2BAPJ,aAOI,0BAPJ,mBAOI,gCAPJ,YAOI,yBAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,YAOI,yBAPJ,gBAOI,6BAPJ,iBAOI,8BAPJ,WAOI,wBAPJ,kBAOI,+BAPJ,WAOI,wBAPJ,cAOI,yBAPJ,aAOI,8BAPJ,gBAOI,iCAPJ,qBAOI,sCAPJ,wBAOI,yCAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,kBAOI,yBAPJ,kBAOI,yBAPJ,cAOI,0BAPJ,gBAOI,4BAPJ,sBAOI,kCAPJ,0BAOI,sCAPJ,wBAOI,oCAPJ,2BAOI,kCAPJ,4BAOI,yCAPJ,2BAOI,wCAPJ,2BAOI,wCAPJ,sBAOI,kCAPJ,oBAOI,gCAPJ,uBAOI,8BAPJ,yBAOI,gCAPJ,wBAOI,+BAPJ,wBAOI,oCAPJ,sBAOI,kCAPJ,yBAOI,gCAPJ,0BAOI,uCAPJ,yBAOI,sCAPJ,0BAOI,iCAPJ,oBAOI,2BAPJ,qBAOI,iCAPJ,mBAOI,+BAPJ,sBAOI,6BAPJ,wBAOI,+BAPJ,uBAOI,8BAPJ,gBAOI,oBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,YAOI,mBAPJ,eAOI,mBAPJ,QAOI,oBAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,uBAPJ,QAOI,yBAPJ,QAOI,uBAPJ,WAOI,uBAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,mDAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,yDAPJ,SAOI,6DAPJ,SAOI,yDAPJ,YAOI,yDAPJ,SAOI,wBAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,6BAPJ,SAOI,2BAPJ,YAOI,2BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,YAOI,6BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,YAOI,8BAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,YAOI,4BAPJ,QAOI,qBAPJ,QAOI,0BAPJ,QAOI,yBAPJ,QAOI,wBAPJ,QAOI,0BAPJ,QAOI,wBAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,qDAPJ,SAOI,+DAPJ,SAOI,6DAPJ,SAOI,2DAPJ,SAOI,+DAPJ,SAOI,2DAPJ,SAOI,yBAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,4BAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,2BAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,gCAPJ,SAOI,8BAPJ,SAOI,4BAPJ,SAOI,iCAPJ,SAOI,gCAPJ,SAOI,+BAPJ,SAOI,iCAPJ,SAOI,+BAPJ,SAOI,0BAPJ,SAOI,+BAPJ,SAOI,8BAPJ,SAOI,6BAPJ,SAOI,+BAPJ,SAOI,6BAPJ,UAOI,iBAPJ,UAOI,sBAPJ,UAOI,qBAPJ,UAOI,oBAPJ,UAOI,sBAPJ,UAOI,oBAPJ,cAOI,qBAPJ,cAOI,0BAPJ,cAOI,yBAPJ,cAOI,wBAPJ,cAOI,0BAPJ,cAOI,wBAPJ,iBAOI,wBAPJ,iBAOI,6BAPJ,iBAOI,4BAPJ,iBAOI,2BAPJ,iBAOI,6BAPJ,iBAOI,2BAPJ,eAOI,2BAPJ,aAOI,4BAPJ,gBAOI,6BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,gBAOI,uBAPJ,uBAOI,8BAPJ,oBAOI,2BAPJ,gBAOI,uBAPJ,mBAOI,0BAPJ,oBAOI,4BRVR,0BQGI,iBAOI,sBAPJ,eAOI,uBAPJ,gBAOI,sBAPJ,wBAOI,8BAPJ,sBAOI,4BAPJ,qBAOI,2BAPJ,sBAOI,iCAPJ,qBAOI,2BAPJ,cAOI,0BAPJ,oBAOI,gCAPJ,aAOI,yBAPJ,YAOI,wBAPJ,mBAOI,+BAPJ,aAOI,yBAPJ,iBAOI,6BAPJ,kBAOI,8BAPJ,YAOI,wBAPJ,mBAOI,+BAPJ,YAOI,wBAPJ,eAOI,yBAPJ,cAOI,8BAPJ,iBAOI,iCAPJ,sBAOI,sCAPJ,yBAOI,yCAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,mBAOI,yBAPJ,mBAOI,yBAPJ,eAOI,0BAPJ,iBAOI,4BAPJ,uBAOI,kCAPJ,2BAOI,sCAPJ,yBAOI,oCAPJ,4BAOI,kCAPJ,6BAOI,yCAPJ,4BAOI,wCAPJ,4BAOI,wCAPJ,uBAOI,kCAPJ,qBAOI,gCAPJ,wBAOI,8BAPJ,0BAOI,gCAPJ,yBAOI,+BAPJ,yBAOI,oCAPJ,uBAOI,kCAPJ,0BAOI,gCAPJ,2BAOI,uCAPJ,0BAOI,sCAPJ,2BAOI,iCAPJ,qBAOI,2BAPJ,sBAOI,iCAPJ,oBAOI,+BAPJ,uBAOI,6BAPJ,yBAOI,+BAPJ,wBAOI,8BAPJ,iBAOI,oBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,aAOI,mBAPJ,gBAOI,mBAPJ,SAOI,oBAPJ,SAOI,yBAPJ,SAOI,wBAPJ,SAOI,uBAPJ,SAOI,yBAPJ,SAOI,uBAPJ,YAOI,uBAPJ,UAOI,mDAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,yDAPJ,UAOI,6DAPJ,UAOI,yDAPJ,aAOI,yDAPJ,UAOI,mDAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,yDAPJ,UAOI,6DAPJ,UAOI,yDAPJ,aAOI,yDAPJ,UAOI,wBAPJ,UAOI,6BAPJ,UAOI,4BAPJ,UAOI,2BAPJ,UAOI,6BAPJ,UAOI,2BAPJ,aAOI,2BAPJ,UAOI,0BAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,+BAPJ,UAOI,6BAPJ,aAOI,6BAPJ,UAOI,2BAPJ,UAOI,gCAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,gCAPJ,UAOI,8BAPJ,aAOI,8BAPJ,UAOI,yBAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,4BAPJ,UAOI,8BAPJ,UAOI,4BAPJ,aAOI,4BAPJ,SAOI,qBAPJ,SAOI,0BAPJ,SAOI,yBAPJ,SAOI,wBAPJ,SAOI,0BAPJ,SAOI,wBAPJ,UAOI,qDAPJ,UAOI,+DAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,+DAPJ,UAOI,2DAPJ,UAOI,qDAPJ,UAOI,+DAPJ,UAOI,6DAPJ,UAOI,2DAPJ,UAOI,+DAPJ,UAOI,2DAPJ,UAOI,yBAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,4BAPJ,UAOI,8BAPJ,UAOI,4BAPJ,UAOI,2BAPJ,UAOI,gCAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,gCAPJ,UAOI,8BAPJ,UAOI,4BAPJ,UAOI,iCAPJ,UAOI,gCAPJ,UAOI,+BAPJ,UAOI,iCAPJ,UAOI,+BAPJ,UAOI,0BAPJ,UAOI,+BAPJ,UAOI,8BAPJ,UAOI,6BAPJ,UAOI,+BAPJ,UAOI,6BAPJ,WAOI,iBAPJ,WAOI,sBAPJ,WAOI,qBAPJ,WAOI,oBAPJ,WAOI,sBAPJ,WAOI,oBAPJ,eAOI,qBAPJ,eAOI,0BAPJ,eAOI,yBAPJ,eAOI,wBAPJ,eAOI,0BAPJ,eAOI,wBAPJ,kBAOI,wBAPJ,kBAOI,6BAPJ,kBAOI,4BAPJ,kBAOI,2BAPJ,kBAOI,6BAPJ,kBAOI,2BAPJ,gBAOI,2BAPJ,cAOI,4BAPJ,iBAOI,6BAPJ,iBAOI,uBAPJ,oBAOI,0BAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,oBAOI,0BAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,iBAOI,uBAPJ,wBAOI,8BAPJ,qBAOI,2BAPJ,iBAOI,uBAPJ,oBAOI,0BAPJ,qBAOI,4BCtDZ,0BD+CQ,MAOI,0BAPJ,MAOI,4BAPJ,MAOI,6BCnCZ,aD4BQ,gBAOI,0BAPJ,sBAOI,gCAPJ,eAOI,yBAPJ,cAOI,wBAPJ,qBAOI,+BAPJ,eAOI,yBAPJ,mBAOI,6BAPJ,oBAOI,8BAPJ,cAOI,wBAPJ,qBAOI,+BAPJ,cAOI,yBEzEZ,4BASI,6VAIA,+MAIA,uhBAIA,qvBAIA,uRAIA,yPAIA,yRAGF,8BACA,wBAMA,mOACA,0GACA,0FAOA,iDC2OI,oBALI,KDpOR,2BACA,2BAKA,yBACA,gCACA,sBACA,gCAEA,0BACA,iCAEA,6CACA,qCACA,2BACA,qCAEA,2CACA,oCACA,0BACA,oCAGA,4BAEA,sBACA,6BACA,gCAEA,6BACA,mCAMA,sBACA,2BAGA,uBACA,yBACA,2BACA,oDAEA,sBACA,yBACA,yBACA,4BACA,6BACA,oDACA,+BAGA,mDACA,4DACA,qDACA,4DAIA,+BACA,8BACA,+CAIA,+BACA,sCACA,iCACA,wCE/GE,qBFqHA,kBAGA,yBACA,mCACA,sBACA,6BAEA,0BACA,uCAEA,gDACA,wCACA,2BACA,kCAEA,8CACA,uCACA,0BACA,iCAGE,yRAIA,uPAIA,uRAGF,4BAEA,yBACA,+BACA,mCACA,yCAEA,sBAEA,2BACA,yDAEA,+BACA,sCACA,iCACA,wCGrKJ,qBAGE,sBAeE,8CANJ,MAOM,wBAcN,KACE,SACA,uCF6OI,UALI,yBEtOR,uCACA,uCACA,2BACA,qCACA,mCACA,8BACA,0CASF,GACE,cACA,MjBmnB4B,QiBlnB5B,SACA,wCACA,QjBynB4B,IiB/mB9B,0CACE,aACA,cjBwjB4B,MiBrjB5B,YjBwjB4B,IiBvjB5B,YjBwjB4B,IiBvjB5B,8BAGF,OFuMQ,iCA5JJ,0BE3CJ,OF8MQ,gBEzMR,OFkMQ,kCA5JJ,0BEtCJ,OFyMQ,kBEpMR,OF6LQ,kCA5JJ,0BEjCJ,OFoMQ,kBE/LR,OFoLM,UALI,OE1KV,OF+KM,UALI,OErKV,OF0KM,UALI,KE1JV,EACE,aACA,cjBwV0B,KiB9U5B,YACE,iCACA,YACA,8BAMF,QACE,mBACA,kBACA,oBAMF,MAEE,kBAGF,SAGE,aACA,mBAGF,wBAIE,gBAGF,GACE,YjB6b4B,IiBxb9B,GACE,oBACA,cAMF,WACE,gBAQF,SAEE,YjBsa4B,OiB9Z9B,aF6EM,UALI,QEjEV,WACE,QjBqf4B,QiBpf5B,wCASF,QAEE,kBFyDI,UALI,OElDR,cACA,wBAGF,mBACA,eAKA,EACE,gEACA,gBjBiNwC,UiB/MxC,QACE,oDAWF,4DAEE,cACA,qBAOJ,kBAIE,YjBiV4B,yBelUxB,UALI,IEFV,IACE,cACA,aACA,mBACA,cFGI,UALI,OEOR,SFFI,UALI,QESN,cACA,kBAIJ,KFTM,UALI,OEgBR,2BACA,qBAGA,OACE,cAIJ,IACE,yBFrBI,UALI,OE4BR,MjBs5CkC,kBiBr5ClC,iBjBs5CkC,qBkB1rDhC,gBDuSF,QACE,UF5BE,UALI,IE4CV,OACE,gBAMF,QAEE,sBAQF,MACE,oBACA,yBAGF,QACE,YjB4X4B,MiB3X5B,ejB2X4B,MiB1X5B,MjB4Z4B,0BiB3Z5B,gBAOF,GAEE,mBACA,gCAGF,2BAME,qBACA,mBACA,eAQF,MACE,qBAMF,OAEE,gBAQF,iCACE,UAKF,sCAKE,SACA,oBF3HI,UALI,QEkIR,oBAIF,cAEE,oBAKF,cACE,eAGF,OAGE,iBAGA,gBACE,UAOJ,0IACE,wBAQF,gDAIE,0BAGE,4GACE,eAON,mBACE,UACA,kBAKF,SACE,gBAUF,SACE,YACA,UACA,SACA,SAQF,OACE,WACA,WACA,UACA,cjBoN4B,MepatB,iCEmNN,oBF/WE,0BEwWJ,OFrMQ,kBE8MN,SACE,WAOJ,+OAOE,UAGF,4BACE,YASF,cACE,6BACA,oBAmBF,4BACE,wBAKF,+BACE,UAOF,uBACE,aACA,0BAKF,OACE,qBAKF,OACE,SAOF,QACE,kBACA,eAQF,SACE,wBAQF,SACE,wBEpkBF,MJmQM,UALI,QI5PR,YnBwoB4B,ImBnoB5B,WJgQM,iCI5PJ,YnBynBkB,ImBxnBlB,YnBwmB0B,IezgB1B,0BIpGF,WJuQM,gBIvQN,WJgQM,iCI5PJ,YnBynBkB,ImBxnBlB,YnBwmB0B,IezgB1B,0BIpGF,WJuQM,kBIvQN,WJgQM,iCI5PJ,YnBynBkB,ImBxnBlB,YnBwmB0B,IezgB1B,0BIpGF,WJuQM,gBIvQN,WJgQM,iCI5PJ,YnBynBkB,ImBxnBlB,YnBwmB0B,IezgB1B,0BIpGF,WJuQM,kBIvQN,WJgQM,iCI5PJ,YnBynBkB,ImBxnBlB,YnBwmB0B,IezgB1B,0BIpGF,WJuQM,gBIvQN,WJgQM,iCI5PJ,YnBynBkB,ImBxnBlB,YnBwmB0B,IezgB1B,0BIpGF,WJuQM,kBI/OR,eCvDE,eACA,gBD2DF,aC5DE,eACA,gBD8DF,kBACE,qBAEA,mCACE,anBsoB0B,MmB5nB9B,YJ8MM,UALI,QIvMR,yBAIF,YACE,cnBiUO,Ke1HH,UALI,QI/LR,wBACE,gBAIJ,mBACE,iBACA,cnBuTO,Ke1HH,UALI,QItLR,ME5ES,QF8ET,2BACE,aGhGJ,WCIE,eAGA,YDDF,eACE,QtB2jDkC,OsB1jDlC,iBtB2jDkC,kBsB1jDlC,2DJGE,sCKRF,eAGA,YDcF,QAEE,qBAGF,YACE,oBACA,cAGF,gBPyPM,UALI,QOlPR,MtB8iDkC,0BwBhlDlC,mGCHA,iBACA,iBACA,WACA,0CACA,yCACA,kBACA,iBrBsDE,yBoB5CE,yBACE,UxBkee,OIvbnB,yBoB5CE,uCACE,UxBkee,OIvbnB,yBoB5CE,qDACE,UxBkee,OIvbnB,0BoB5CE,mEACE,UxBkee,QIvbnB,0BoB5CE,kFACE,UxBkee,Q0BlfvB,MAEI,2JAKF,KCNA,iBACA,iBACA,aACA,eAEA,uCACA,2CACA,0CDEE,OCOF,cACA,WACA,eACA,0CACA,yCACA,8BA+CI,KACE,YAGF,iBApCJ,cACA,WAcA,cACE,cACA,WAFF,cACE,cACA,UAFF,cACE,cACA,qBAFF,cACE,cACA,UAFF,cACE,cACA,UAFF,cACE,cACA,qBA+BE,UAhDJ,cACA,WAqDQ,OAhEN,cACA,kBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,mBA+DM,OAhEN,cACA,UA+DM,QAhEN,cACA,mBA+DM,QAhEN,cACA,mBA+DM,QAhEN,cACA,WAuEQ,UAxDV,wBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,UAxDV,yBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,UAxDV,yBAwDU,UAxDV,yBAwDU,UAxDV,gBAwDU,WAxDV,yBAwDU,WAxDV,yBAmEM,WAEE,iBAGF,WAEE,iBAPF,WAEE,uBAGF,WAEE,uBAPF,WAEE,sBAGF,WAEE,sBAPF,WAEE,oBAGF,WAEE,oBAPF,WAEE,sBAGF,WAEE,sBAPF,WAEE,oBAGF,WAEE,oBvB1DN,yBuBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBvB1DN,yBuBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBvB1DN,yBuBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBvB1DN,0BuBUE,QACE,YAGF,oBApCJ,cACA,WAcA,iBACE,cACA,WAFF,iBACE,cACA,UAFF,iBACE,cACA,qBAFF,iBACE,cACA,UAFF,iBACE,cACA,UAFF,iBACE,cACA,qBA+BE,aAhDJ,cACA,WAqDQ,UAhEN,cACA,kBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,mBA+DM,UAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,WAuEQ,aAxDV,cAwDU,aAxDV,wBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,aAxDV,yBAwDU,aAxDV,yBAwDU,aAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAmEM,iBAEE,iBAGF,iBAEE,iBAPF,iBAEE,uBAGF,iBAEE,uBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,oBAPF,iBAEE,sBAGF,iBAEE,sBAPF,iBAEE,oBAGF,iBAEE,qBvB1DN,0BuBUE,SACE,YAGF,qBApCJ,cACA,WAcA,kBACE,cACA,WAFF,kBACE,cACA,UAFF,kBACE,cACA,qBAFF,kBACE,cACA,UAFF,kBACE,cACA,UAFF,kBACE,cACA,qBA+BE,cAhDJ,cACA,WAqDQ,WAhEN,cACA,kBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,mBA+DM,WAhEN,cACA,UA+DM,YAhEN,cACA,mBA+DM,YAhEN,cACA,mBA+DM,YAhEN,cACA,WAuEQ,cAxDV,cAwDU,cAxDV,wBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,cAxDV,yBAwDU,cAxDV,yBAwDU,cAxDV,gBAwDU,eAxDV,yBAwDU,eAxDV,yBAmEM,mBAEE,iBAGF,mBAEE,iBAPF,mBAEE,uBAGF,mBAEE,uBAPF,mBAEE,sBAGF,mBAEE,sBAPF,mBAEE,oBAGF,mBAEE,oBAPF,mBAEE,sBAGF,mBAEE,sBAPF,mBAEE,oBAGF,mBAEE,qBCrHV,uBAEE,+BACA,4BACA,gCACA,6BAEA,uCACA,iCACA,gDACA,kCACA,+CACA,2CACA,8CACA,yCACA,6CACA,yCAEA,WACA,c5BkYO,K4BjYP,e5BssB4B,I4BrsB5B,0CAOA,6EACE,oBAEA,qFACA,oCACA,oB5B8sB0B,uB4B7sB1B,2GAGF,yCACE,uBAGF,yCACE,sBAIJ,qBACE,+DAOF,aACE,iBAUA,4BACE,sBAeF,gCACE,sCAGA,kCACE,sCAOJ,oCACE,sBAGF,qCACE,mBAUF,2CACE,qDACA,+CAMF,yDACE,qDACA,+CAQJ,cACE,qDACA,+CAQA,8BACE,oDACA,8CC5IF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,iBAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,YAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,eAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,cAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,aAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CAlBF,YAOE,uBACA,uBACA,iCACA,+BACA,+BACA,8BACA,8BACA,6BACA,6BAEA,4BACA,0CDiJA,kBACE,gBACA,iCxB3FF,4BwByFA,qBACE,gBACA,kCxB3FF,4BwByFA,qBACE,gBACA,kCxB3FF,4BwByFA,qBACE,gBACA,kCxB3FF,6BwByFA,qBACE,gBACA,kCxB3FF,6BwByFA,sBACE,gBACA,kCEnKN,YACE,c9Bq2BsC,M8Bl2BtC,YCJuB,IDKvB,MTmBS,QSdX,gBACE,oDACA,uDACA,gBf8QI,UALI,QetQR,YChBuB,IDiBvB,YEfiB,IFgBjB,MTMS,QSHX,mBACE,kDACA,qDfoQI,UALI,Qe3PV,mBACE,mDACA,sDf8PI,UALI,SkBtRV,WACE,WjC61BsC,OenkBlC,UALI,QkBjRR,MjC61BsC,0BkCl2BxC,cACE,cACA,WACA,uBnBwRI,UALI,KmBhRR,YlCkmB4B,IkCjmB5B,YFLiB,IEMjB,MlC03BsC,qBkCz3BtC,gBACA,iBbGM,KaFN,4BACA,2DhBGE,sCjBHE,WiCMJ,0DjCFI,uCiChBN,cjCiBQ,iBiCGN,yBACE,gBAEA,wDACE,eAKJ,oBACE,MlCo2BoC,qBkCn2BpC,iBblBI,KamBJ,abJI,KaKJ,UAKE,WHlCmB,KGsCvB,2CAME,eAMA,aAKA,SAKF,qCACE,cACA,UAIF,2BACE,MlC00BoC,0BkCx0BpC,UAQF,uBAEE,iBlC4yBoC,uBkCzyBpC,UAIF,oCACE,uBACA,0BACA,kBlCmrB0B,OkClrB1B,MlCoyBoC,qBmCl4BtC,iBnCmiCgC,sBkCn8B9B,oBACA,qBACA,mBACA,eACA,wBlC+rB0B,uBkC9rB1B,gBjCzFE,WiC0FF,mHjCtFE,uCiC0EJ,oCjCzEM,iBiCwFN,yEACE,iBlC07B8B,uBkCj7BlC,wBACE,cACA,WACA,kBACA,gBACA,YFtHiB,IEuHjB,MlCyxBsC,qBkCxxBtC,+BACA,2BACA,sCAEA,8BACE,UAGF,gFAEE,gBACA,eAWJ,iBACE,WlC0wBsC,wDkCzwBtC,qBnByII,UALI,SGvQN,yCgBuIF,uCACE,qBACA,wBACA,kBlCmoB0B,MkC/nB9B,iBACE,WlC8vBsC,sDkC7vBtC,mBnB4HI,UALI,QGvQN,yCgBoJF,uCACE,mBACA,qBACA,kBlC0nB0B,KkClnB5B,sBACE,WlC2uBoC,yDkCxuBtC,yBACE,WlCwuBoC,wDkCruBtC,yBACE,WlCquBoC,sDkChuBxC,oBACE,MlCmuBsC,KkCluBtC,OlC4tBsC,yDkC3tBtC,QlCglB4B,QkC9kB5B,mDACE,eAGF,uCACE,oBhBvLA,sCgB2LF,0CACE,oBhB5LA,sCgBgMF,2ClC4sBsC,wDkC3sBtC,2ClC4sBsC,sDoC35BxC,aACE,yPAEA,cACA,WACA,uCrBqRI,UALI,KqB7QR,YpC+lB4B,IoC9lB5B,YJRiB,IISjB,MpCu3BsC,qBoCt3BtC,gBACA,sBACA,kFACA,4BACA,oBpC69BkC,oBoC59BlC,gBpC69BkC,UoC59BlC,2DlBHE,2BjBHE,WmCSJ,0DnCLI,uCmCfN,anCgBQ,iBmCMN,mBACE,afII,KeHJ,UAKE,WLxByB,KK4B7B,0DAEE,cpC4uB0B,OoC3uB1B,sBAGF,sBAEE,iBpCq1BoC,uBoCh1BtC,4BACE,oBACA,uCAIJ,gBACE,YpCquB4B,OoCpuB5B,epCouB4B,OoCnuB5B,apCouB4B,MejgBxB,UALI,SGvQN,2BkB8CJ,gBACE,YpCiuB4B,MoChuB5B,epCguB4B,MoC/tB5B,apCguB4B,KergBxB,UALI,QGvQN,2BkBwDA,kCACE,yPCxEN,YACE,cACA,WrCm6BwC,OqCl6BxC,arCm6BwC,MqCl6BxC,crCm6BwC,QqCj6BxC,8BACE,WACA,mBAIJ,oBACE,crCy5BwC,MqCx5BxC,eACA,iBAEA,sCACE,YACA,oBACA,cAIJ,kBACE,yBAEA,MrCy4BwC,IqCx4BxC,OrCw4BwC,IqCv4BxC,gBACA,mBACA,gBACA,yCACA,+CACA,4BACA,2BACA,wBACA,OrC04BwC,oDqCz4BxC,yBAGA,iCnB1BE,oBmB8BF,8BAEE,crCk4BsC,IqC/3BxC,yBACE,OrCy3BsC,gBqCt3BxC,wBACE,ahB3BI,KgB4BJ,UACA,WrC+foB,iCqC5ftB,0BACE,iBhBrDG,QgBsDH,ahBtDG,QgBwDH,yCAII,wPAIJ,sCAII,gKAKN,+CACE,iBhBlFK,QgBmFL,ahBnFK,QgBwFH,kPAIJ,2BACE,oBACA,YACA,QrCi2BuC,GqC11BvC,2FACE,eACA,QrCw1BqC,GqC10B3C,aACE,arCm1BgC,MqCj1BhC,+BACE,4KAEA,MrC60B8B,IqC50B9B,mBACA,0CACA,gCnBhHA,kBjBHE,WoCqHF,qCpCjHE,uCoCyGJ,+BpCxGM,iBoCkHJ,qCACE,2JAGF,uCACE,oBrC40B4B,aqCv0B1B,2JAKN,gCACE,crCuzB8B,MqCtzB9B,eAEA,kDACE,oBACA,cAKN,mBACE,qBACA,arCqyBgC,KqClyBlC,WACE,kBACA,sBACA,oBAIE,mDACE,oBACA,YACA,QrCspBwB,IqC/oB1B,8EACE,kLClLN,YACE,WACA,YACA,UACA,gBACA,+BAEA,kBACE,UAIA,mDtC4gCuC,uBsC3gCvC,+CtC2gCuC,uBsCxgCzC,8BACE,SAGF,kCACE,MtC6/BuC,KsC5/BvC,OtC4/BuC,KsC3/BvC,oBACA,gBH1BF,yBG4BE,OtC2/BuC,EkBxgCvC,mBjBHE,WqCmBF,4FrCfE,uCqCMJ,kCrCLM,iBqCgBJ,yCHjCF,iBnC4hCyC,QsCt/BzC,2CACE,MtCs+B8B,KsCr+B9B,OtCs+B8B,MsCr+B9B,oBACA,OtCq+B8B,QsCp+B9B,iBtCq+B8B,sBsCp+B9B,2BpB7BA,mBoBkCF,8BACE,MtCk+BuC,KsCj+BvC,OtCi+BuC,KsCh+BvC,gBHpDF,yBGsDE,OtCi+BuC,EkBxgCvC,mBjBHE,WqC6CF,4FrCzCE,uCqCiCJ,8BrChCM,iBqC0CJ,qCH3DF,iBnC4hCyC,QsC59BzC,8BACE,MtC48B8B,KsC38B9B,OtC48B8B,MsC38B9B,oBACA,OtC28B8B,QsC18B9B,iBtC28B8B,sBsC18B9B,2BpBvDA,mBoB4DF,qBACE,oBAEA,2CACE,iBtC88BqC,0BsC38BvC,uCACE,iBtC08BqC,0BuCjiC3C,eACE,kBAEA,gGAGE,OvCsiCoC,gDuCriCpC,WvCqiCoC,gDuCpiCpC,YvCqiCoC,KuCliCtC,qBACE,kBACA,MACA,OACA,UACA,YACA,oBACA,gBACA,iBACA,uBACA,mBACA,oBACA,kDACA,qBtCRE,WsCSF,kDtCLE,uCsCTJ,qBtCUM,iBsCON,oEAEE,oBAEA,8FACE,oBAGF,oMAEE,YvC0gCkC,SuCzgClC,evC0gCkC,QuCvgCpC,sGACE,YvCqgCkC,SuCpgClC,evCqgCkC,QuCjgCtC,4BACE,YvC+/BoC,SuC9/BpC,evC+/BoC,QuCx/BpC,mLACE,2CACA,UvCy/BkC,oDuCv/BlC,+MACE,kBACA,mBACA,WACA,OvCi/BgC,MuCh/BhC,WACA,iBlBlDA,KHEJ,sCqBuDA,oDACE,2CACA,UvCw+BkC,oDuCn+BpC,6CACE,sCAIJ,2EAEE,MlBhEO,QkBkEP,yFACE,iBvCwyBkC,uBwC/3BxC,aACE,kBACA,aACA,eACA,oBACA,WAEA,iFAGE,kBACA,cACA,SACA,YAIF,0GAGE,UAMF,kBACE,kBACA,UAEA,wBACE,UAWN,kBACE,aACA,mBACA,uBzB8OI,UALI,KyBvOR,YxCyjB4B,IwCxjB5B,YR9CiB,IQ+CjB,MxCi1BsC,qBwCh1BtC,kBACA,mBACA,iBxCw6BsC,sBwCv6BtC,2DtBtCE,sCsBgDJ,kHAIE,mBzBwNI,UALI,QGvQN,yCsByDJ,kHAIE,qBzB+MI,UALI,SGvQN,yCsBkEJ,0DAEE,mBAaE,wVtBjEA,0BACA,6BsByEA,yUtB1EA,0BACA,6BsBsFF,0IACE,8CtB1EA,yBACA,4BsB6EF,uHtB9EE,yBACA,4BuBxBF,gBACE,aACA,WACA,WzCq0BoC,OenkBlC,UALI,Q0B1PN,MzCgjCqB,2ByC7iCvB,eACE,kBACA,SACA,UACA,aACA,eACA,qBACA,iB1BqPE,UALI,S0B7ON,MzCmiCqB,KyCliCrB,iBzCkiCqB,kBkB7jCrB,sCuBgCA,8HAEE,cA/CF,0DAqDE,azCqhCmB,kCyClhCjB,czC41BgC,sByC31BhC,2PACA,4BACA,yDACA,8DAGF,sEACE,azC0gCiB,kCyCzgCjB,WzCygCiB,0CyC1kCrB,0EA0EI,czC00BgC,sByCz0BhC,8EA3EJ,wDAkFE,azCw/BmB,kCyCr/BjB,4NAEE,oQACA,czCw5B8B,SyCv5B9B,6DACA,wEAIJ,oEACE,azC2+BiB,kCyC1+BjB,WzC0+BiB,0CyC1kCrB,sEAwGI,yCAxGJ,kEA+GE,azC29BmB,kCyCz9BnB,kFACE,iBzCw9BiB,2ByCr9BnB,8EACE,WzCo9BiB,0CyCj9BnB,sGACE,MzCg9BiB,2ByC38BrB,qDACE,iBAhIF,kVA0IM,UAtHR,kBACE,aACA,WACA,WzCq0BoC,OenkBlC,UALI,Q0B1PN,MzCgjCqB,6ByC7iCvB,iBACE,kBACA,SACA,UACA,aACA,eACA,qBACA,iB1BqPE,UALI,S0B7ON,MzCmiCqB,KyCliCrB,iBzCkiCqB,iBkB7jCrB,sCuBgCA,8IAEE,cA/CF,8DAqDE,azCqhCmB,oCyClhCjB,czC41BgC,sByC31BhC,4UACA,4BACA,yDACA,8DAGF,0EACE,azC0gCiB,oCyCzgCjB,WzCygCiB,yCyC1kCrB,8EA0EI,czC00BgC,sByCz0BhC,8EA3EJ,4DAkFE,azCw/BmB,oCyCr/BjB,oOAEE,qVACA,czCw5B8B,SyCv5B9B,6DACA,wEAIJ,wEACE,azC2+BiB,oCyC1+BjB,WzC0+BiB,yCyC1kCrB,0EAwGI,yCAxGJ,sEA+GE,azC29BmB,oCyCz9BnB,sFACE,iBzCw9BiB,6ByCr9BnB,kFACE,WzCo9BiB,yCyCj9BnB,0GACE,MzCg9BiB,6ByC38BrB,uDACE,iBAhIF,8VA4IM,UC9IV,KAEE,yBACA,2BACA,uB3BuRI,mBALI,K2BhRR,0BACA,0BACA,qCACA,yBACA,8CACA,mCACA,gCACA,yCACA,0BACA,gCACA,4EAGA,qBACA,wDACA,sC3BsQI,UALI,wB2B/PR,sCACA,sCACA,0BACA,kBACA,qBAEA,sBACA,eACA,iBACA,mExBjBE,0CiBfF,iBOkCqB,iBzCtBjB,WyCwBJ,mHzCpBI,uCyChBN,KzCiBQ,iByCqBN,WACE,gCAEA,wCACA,8CAGF,sBAEE,0BACA,kCACA,wCAGF,mBACE,gCPrDF,iBOsDuB,uBACrB,8CACA,UAKE,0CAIJ,8BACE,8CACA,UAKE,0CAIJ,mGAKE,iCACA,yCAGA,+CAGA,yKAKI,0CAKN,mDAGE,mCACA,oBACA,2CAEA,iDACA,uCAYF,aCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,eCtGA,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,sCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qCDyFA,aCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,aCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,eCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,SCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,kBCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,YCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,WCtGA,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,yCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qCDyFA,UCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDyFA,eCtGA,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wCDmHA,qBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,uBCvGA,qBACA,4BACA,2BACA,wBACA,kCACA,mCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oBD0FA,qBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,qBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,uBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,qCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,iBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,0BCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,oBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,mBCvGA,qBACA,4BACA,2BACA,wBACA,kCACA,yCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oBD0FA,kBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBD0FA,uBCvGA,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oBDsGF,UACE,0BACA,qCACA,yBACA,mCACA,iDACA,yCACA,kDACA,0CACA,iCACA,4CACA,gCACA,sCAEA,gB1CuRwC,U0C7QxC,wBACE,0BAGF,gBACE,gCAWJ,2BCxIE,2BACA,yB5B8NI,mBALI,Q4BvNR,gCDyIF,2BC5IE,4BACA,2B5B8NI,mBALI,S4BvNR,gCCnEF,M3CgBM,W2CfJ,oB3CmBI,uC2CpBN,M3CqBQ,iB2ClBN,iBACE,UAMF,qBACE,aAIJ,YACE,SACA,gB3CDI,W2CEJ,iB3CEI,uC2CLN,Y3CMQ,iB2CDN,gCACE,QACA,Y3CNE,W2COF,gB3CHE,uEACE,iB4CpBR,sEAME,kBAGF,iBACE,mBCwBE,wBACE,qBACA,Y9C6hBwB,O8C5hBxB,e9C2hBwB,O8C1hBxB,WArCJ,sBACA,sCACA,gBACA,qCA0DE,8BACE,cD9CN,eAEE,2BACA,+BACA,2BACA,gCACA,+B9BuQI,wBALI,K8BhQR,0CACA,oCACA,+DACA,qDACA,mDACA,0FACA,6DACA,uCACA,4DACA,+CACA,qDACA,mDACA,sCACA,sCACA,4DACA,mCACA,sCACA,oCACA,qCACA,uCAGA,kBACA,kCACA,aACA,uCACA,kEACA,S9B0OI,UALI,6B8BnOR,+BACA,gBACA,gBACA,uCACA,4BACA,6E3BzCE,+C2B6CF,+BACE,SACA,OACA,qCAwBA,qBACE,qBAEA,qCACE,WACA,OAIJ,mBACE,mBAEA,mCACE,QACA,UzC1CJ,yByC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WzC1CJ,yByC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WzC1CJ,yByC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WzC1CJ,0ByC4BA,wBACE,qBAEA,wCACE,WACA,OAIJ,sBACE,mBAEA,sCACE,QACA,WzC1CJ,0ByC4BA,yBACE,qBAEA,yCACE,WACA,OAIJ,uBACE,mBAEA,uCACE,QACA,WAUN,uCACE,SACA,YACA,aACA,wCCpFA,gCACE,qBACA,Y9C6hBwB,O8C5hBxB,e9C2hBwB,O8C1hBxB,WA9BJ,aACA,sCACA,yBACA,qCAmDE,sCACE,cDgEJ,wCACE,MACA,WACA,UACA,aACA,sCClGA,iCACE,qBACA,Y9C6hBwB,O8C5hBxB,e9C2hBwB,O8C1hBxB,WAvBJ,oCACA,eACA,uCACA,uBA4CE,uCACE,cD0EF,iCACE,iBAMJ,0CACE,MACA,WACA,UACA,aACA,uCCnHA,mCACE,qBACA,Y9C6hBwB,O8C5hBxB,e9C2hBwB,O8C1hBxB,WAWA,mCACE,aAGF,oCACE,qBACA,a9C0gBsB,O8CzgBtB,e9CwgBsB,O8CvgBtB,WAnCN,oCACA,wBACA,uCAsCE,yCACE,cD2FF,oCACE,iBAON,kBACE,SACA,6CACA,gBACA,mDACA,UAMF,eACE,cACA,WACA,4EACA,WACA,Y7Cyb4B,I6Cxb5B,oCACA,mBACA,qBACA,mBACA,+BACA,S3BtKE,uD2ByKF,0CAEE,0CV1LF,iBU4LuB,iCAGvB,4CAEE,2CACA,qBVlMF,iBUmMuB,kCAGvB,gDAEE,6CACA,oBACA,+BAMJ,oBACE,cAIF,iBACE,cACA,gFACA,gB9BmEI,UALI,S8B5DR,sCACA,mBAIF,oBACE,cACA,4EACA,oCAIF,oBAEE,6BACA,0BACA,+DACA,2BACA,kCACA,qCACA,6DACA,uDACA,sCACA,sCACA,2CACA,oCEtPF,+BAEE,kBACA,oBACA,sBAEA,yCACE,kBACA,cAKF,kXAME,UAKJ,aACE,aACA,eACA,2BAEA,0BACE,WAIJ,W7BhBI,qB6BoBF,qFAEE,8CAIF,qJ7BVE,0BACA,6B6BmBF,6G7BNE,yBACA,4B6BwBJ,uBACE,qBACA,oBAEA,2GAGE,cAGF,0CACE,eAIJ,yEACE,sBACA,qBAGF,yEACE,qBACA,oBAoBF,oBACE,sBACA,uBACA,uBAEA,wDAEE,WAGF,4FAEE,6CAIF,qH7B1FE,6BACA,4B6B8FF,oF7B7GE,yBACA,0B8BxBJ,KAEE,8BACA,gCAEA,4BACA,0CACA,sDACA,wDAGA,aACA,eACA,eACA,gBACA,gBAGF,UACE,cACA,kEjCsQI,UALI,6BiC/PR,2CACA,+BACA,qBACA,gBACA,S/CfI,W+CgBJ,uF/CZI,uC+CGN,U/CFQ,iB+CaN,gCAEE,qCAIF,wBACE,UACA,WhDkhBoB,iCgD9gBtB,sCAEE,wCACA,oBACA,eAQJ,UAEE,mDACA,oCACA,qDACA,6FACA,sCACA,mCACA,6DAGA,oFAEA,oBACE,uDACA,2D9B7CA,wDACA,yD8B+CA,oDAGE,kBACA,wDAIJ,8DAEE,2CACA,mDACA,yDAGF,yBAEE,oD9BjEA,yBACA,0B8B2EJ,WAEE,sDACA,uCACA,uCAGA,qB9B5FE,gD8BgGF,uDAEE,4CbjHF,iBakHuB,mCASzB,eAEE,6BACA,0CACA,+DAGA,gCAEA,yBACE,gBACA,eACA,uEAEA,8DAEE,iCAIJ,+DAEE,YhD0d0B,IgDzd1B,gDACA,iCAUF,wCAEE,cACA,kBAKF,kDAEE,aACA,YACA,kBAMF,iEACE,WAUF,uBACE,aAEF,qBACE,cC7LJ,QAEE,yBACA,yBACA,4DACA,iEACA,oEACA,gEACA,oCACA,mCACA,kCACA,+DACA,qEACA,uCACA,uCACA,uCACA,uCACA,4QACA,2EACA,2CACA,mCACA,6DAGA,kBACA,aACA,eACA,mBACA,8BACA,8DAMA,2JACE,aACA,kBACA,mBACA,8BAoBJ,cACE,6CACA,gDACA,+ClC4NI,UALI,iCkCrNR,mCACA,qBACA,mBAEA,wCAEE,yCAUJ,YAEE,2BACA,gCAEA,4BACA,4CACA,wDACA,8DAGA,aACA,sBACA,eACA,gBACA,gBAGE,wDAEE,oCAIJ,2BACE,gBASJ,aACE,YjD4gCkC,MiD3gClC,ejD2gCkC,MiD1gClC,6BAEA,yDAGE,oCAaJ,iBACE,gBACA,YAGA,mBAIF,gBACE,8ElCyII,UALI,mCkClIR,cACA,6BACA,+BACA,0E/BxIE,qDjBHE,WgD6IJ,oChDzII,uCgDiIN,gBhDhIQ,iBgD0IN,sBACE,qBAGF,sBACE,qBACA,UACA,sDAMJ,qBACE,qBACA,YACA,aACA,sBACA,kDACA,4BACA,2BACA,qBAGF,mBACE,yCACA,gB7C1HE,yB6CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0BhD9NJ,WgDgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB7C5LR,yB6CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0BhD9NJ,WgDgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB7C5LR,yB6CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0BhD9NJ,WgDgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB7C5LR,0B6CsIA,kBAEI,iBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,kDACA,iDAIJ,qCACE,iBAGF,mCACE,wBACA,gBAGF,kCACE,aAGF,6BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0BhD9NJ,WgDgOI,KAGA,+CACE,aAGF,6CACE,aACA,YACA,UACA,oB7C5LR,0B6CsIA,mBAEI,iBACA,2BAEA,+BACE,mBAEA,8CACE,kBAGF,yCACE,kDACA,iDAIJ,sCACE,iBAGF,oCACE,wBACA,gBAGF,mCACE,aAGF,8BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0BhD9NJ,WgDgOI,KAGA,gDACE,aAGF,8CACE,aACA,YACA,UACA,oBAtDR,eAEI,iBACA,2BAEA,2BACE,mBAEA,0CACE,kBAGF,qCACE,kDACA,iDAIJ,kCACE,iBAGF,gCACE,wBACA,gBAGF,+BACE,aAGF,0BAEE,gBACA,aACA,YACA,sBACA,uBACA,8BACA,0CACA,oBACA,0BhD9NJ,WgDgOI,KAGA,4CACE,aAGF,0CACE,aACA,YACA,UACA,mBAiBZ,yCAGE,6CACA,mDACA,sDACA,+BACA,8BACA,oCACA,2DACA,+QAME,0CACE,+QCzRN,MAEE,yBACA,yBACA,iCACA,wBACA,2BACA,+CACA,2DACA,iDACA,uBACA,wFACA,gCACA,8BACA,uDACA,sBACA,mBACA,kBACA,gCACA,oCACA,0BAGA,kBACA,aACA,sBACA,YACA,6BACA,2BACA,qBACA,mCACA,2BACA,qEhCjBE,2CgCqBF,SACE,eACA,cAGF,kBACE,mBACA,sBAEA,8BACE,mBhCtBF,0DACA,2DgCyBA,6BACE,sBhCbF,8DACA,6DgCmBF,8DAEE,aAIJ,WAGE,cACA,wDACA,2BAGF,YACE,4CACA,iCAGF,eACE,oDACA,gBACA,oCAGF,sBACE,gBAQA,sBACE,oCAQJ,aACE,kEACA,gBACA,+BACA,uCACA,4EAEA,yBhC7FE,wFgCkGJ,aACE,kEACA,+BACA,uCACA,yEAEA,wBhCxGE,wFgCkHJ,kBACE,qDACA,oDACA,oDACA,gBAEA,mCACE,mCACA,sCAIJ,mBACE,qDACA,oDAIF,kBACE,kBACA,MACA,QACA,SACA,OACA,2ChC1IE,iDgC8IJ,yCAGE,WAGF,wBhC3II,0DACA,2DgC+IJ,2BhClII,8DACA,6DgC8IF,kBACE,0C9C3HA,yB8CuHJ,YAQI,aACA,mBAGA,kBAEE,YACA,gBAEA,wBACE,cACA,cAKA,mChC3KJ,0BACA,6BgC6KM,iGAGE,0BAEF,oGAGE,6BAIJ,oChC5KJ,yBACA,4BgC8KM,mGAGE,yBAEF,sGAGE,6BCpOZ,WAEE,2CACA,qCACA,+KACA,oDACA,+BACA,sDACA,sEACA,sCACA,mCACA,+BACA,+BACA,ySACA,uCACA,mDACA,+DACA,gTACA,4CACA,0CACA,uCACA,oCACA,kCACA,kCAIF,kBACE,kBACA,aACA,mBACA,WACA,4EpC2PI,UALI,KoCpPR,oCACA,gBACA,4CACA,SjCtBE,gBiCwBF,qBlD3BI,WkD4BJ,+BlDxBI,uCkDWN,kBlDVQ,iBkDyBN,kCACE,uCACA,+CACA,gGAEA,yCACE,qDACA,iDAKJ,yBACE,cACA,yCACA,0CACA,iBACA,WACA,8CACA,4BACA,mDlDlDE,WkDmDF,wClD/CE,uCkDsCJ,yBlDrCM,iBkDiDN,wBACE,UAGF,wBACE,UACA,wDACA,UACA,oDAIJ,kBACE,gBAGF,gBACE,gCACA,wCACA,+EAEA,8BjC/DE,yDACA,0DiCiEA,gDjClEA,+DACA,gEiCsEF,oCACE,aAIF,6BjC9DE,6DACA,4DiCiEE,yDjClEF,mEACA,kEiCsEA,iDjCvEA,6DACA,4DiC4EJ,gBACE,8EASA,qCACE,eAGF,iCACE,eACA,cjCpHA,gBiCuHA,0DACA,4DAGE,gHjC3HF,gBiCqIA,8CACE,ySACA,gTC1JN,YAEE,6BACA,6BACA,oCAEA,qBACA,gCACA,yDACA,uCACA,6DAGA,aACA,eACA,sEACA,iDrC+QI,UALI,+BqCxQR,gBACA,0FAMA,kCACE,iDAEA,0CACE,WACA,kDACA,yCACA,uFAIJ,wBACE,6CCrCJ,YAEE,mCACA,oCtC4RI,0BALI,KsCrRR,4BACA,4BACA,gCACA,qDACA,uCACA,kCACA,kCACA,2DACA,kCACA,kCACA,wEACA,mCACA,mCACA,6CACA,wCACA,qCACA,8DAGA,ajCpBA,eACA,gBiCuBF,WACE,kBACA,cACA,sEtCgQI,UALI,+BsCzPR,iCACA,qBACA,yCACA,iFpDpBI,WoDqBJ,mHpDjBI,uCoDQN,WpDPQ,iBoDkBN,iBACE,UACA,uCAEA,+CACA,qDAGF,iBACE,UACA,uCACA,+CACA,QrDyuCgC,EqDxuChC,iDAGF,qCAEE,UACA,wClBtDF,iBkBuDuB,+BACrB,sDAGF,yCAEE,0CACA,oBACA,kDACA,wDAKF,wCACE,YrD4sCgC,aqDvsC9B,kCnC9BF,0DACA,6DmCmCE,iCnClDF,2DACA,8DmCkEJ,eClGE,kCACA,mCvC0RI,0BALI,QuCnRR,0DDmGF,eCtGE,kCACA,mCvC0RI,0BALI,SuCnRR,0DCFF,OAEE,6BACA,6BxCuRI,qBALI,OwChRR,4BACA,uBACA,kDAGA,qBACA,4DxC+QI,UALI,0BwCxQR,wCACA,cACA,4BACA,kBACA,mBACA,wBrCJE,4CqCSF,aACE,aAKJ,YACE,kBACA,SChCF,OAEE,2BACA,2BACA,6BACA,iCACA,0BACA,qCACA,wDACA,kDACA,+BAGA,kBACA,4DACA,4CACA,4BACA,oCACA,8BtCHE,4CsCQJ,eAEE,cAIF,YACE,YxD6kB4B,IwD5kB5B,iCAQF,mBACE,cxDk+C8B,KwD/9C9B,8BACE,kBACA,MACA,QACA,UACA,qBAQF,eACE,kDACA,2CACA,yDACA,uDAJF,iBACE,oDACA,6CACA,2DACA,yDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,eACE,kDACA,2CACA,yDACA,uDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,iBACE,oDACA,6CACA,2DACA,yDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,WACE,8CACA,uCACA,qDACA,mDAJF,oBACE,uDACA,gDACA,8DACA,4DAJF,aACE,gDACA,yCACA,uDACA,qDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,cACE,iDACA,0CACA,wDACA,sDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,aACE,gDACA,yCACA,uDACA,qDAJF,YACE,+CACA,wCACA,sDACA,oDAJF,iBACE,oDACA,6CACA,2DACA,yDC5DF,gCACE,yBzDqhDgC,MyDhhDpC,4BAGE,2B1CkRI,wBALI,Q0C3QR,yCACA,qDACA,qDACA,8BACA,8BACA,8CAGA,aACA,iCACA,gB1CsQI,UALI,6B0C/PR,uCvCRE,+CuCaJ,cACE,aACA,sBACA,uBACA,gBACA,mCACA,kBACA,mBACA,2CxDxBI,WwDyBJ,kCxDrBI,uCwDYN,cxDXQ,iBwDuBR,2NAEE,oEAGF,4BACE,iBAGF,0CACE,WAIA,uBACE,kDAGE,uCAJJ,uBAKM,gBC3DR,YAEE,4CACA,sCACA,qDACA,qDACA,uDACA,qCACA,uCACA,wDACA,6DACA,uDACA,0DACA,yDACA,0DACA,+CACA,mCACA,mCACA,6CAGA,aACA,sBAGA,eACA,gBxCXE,iDwCeJ,qBACE,qBACA,sBAEA,8CAEE,oCACA,0BASJ,wBACE,WACA,wCACA,mBAGA,4DAEE,UACA,8CACA,qBACA,sDAGF,+BACE,+CACA,uDAQJ,iBACE,kBACA,cACA,gFACA,iCACA,qBACA,yCACA,iFAEA,6BxCvDE,+BACA,gCwC0DF,4BxC7CE,mCACA,kCwCgDF,oDAEE,0CACA,oBACA,kDAIF,wBACE,UACA,wCACA,gDACA,sDAIF,kCACE,mBAEA,yCACE,sDACA,mDAaF,uBACE,mBAGE,qExCvDJ,6DAZA,0BwCwEI,qExCxEJ,2DAYA,4BwCiEI,+CACE,aAGF,yDACE,mDACA,oBAEA,gEACE,uDACA,oDtDtFR,yBsD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDtDtFR,yBsD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDtDtFR,yBsD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDtDtFR,0BsD8DA,0BACE,mBAGE,wExCvDJ,6DAZA,0BwCwEI,wExCxEJ,2DAYA,4BwCiEI,kDACE,aAGF,4DACE,mDACA,oBAEA,mEACE,uDACA,qDtDtFR,0BsD8DA,2BACE,mBAGE,yExCvDJ,6DAZA,0BwCwEI,yExCxEJ,2DAYA,4BwCiEI,mDACE,aAGF,6DACE,mDACA,oBAEA,oEACE,uDACA,qDAcZ,kBxChJI,gBwCmJF,mCACE,mDAEA,8CACE,sBAaJ,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,yBACE,uDACA,gDACA,8DACA,6DACA,iEACA,8DACA,kEACA,0DACA,2DACA,qEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,qBACE,mDACA,4CACA,0DACA,6DACA,6DACA,8DACA,8DACA,sDACA,uDACA,iEAVF,8BACE,4DACA,qDACA,mEACA,6DACA,sEACA,8DACA,uEACA,+DACA,gEACA,0EAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,wBACE,sDACA,+CACA,6DACA,6DACA,gEACA,8DACA,iEACA,yDACA,0DACA,oEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,uBACE,qDACA,8CACA,4DACA,6DACA,+DACA,8DACA,gEACA,wDACA,yDACA,mEAVF,sBACE,oDACA,6CACA,2DACA,6DACA,8DACA,8DACA,+DACA,uDACA,wDACA,kEAVF,2BACE,yDACA,kDACA,gEACA,6DACA,mEACA,8DACA,oEACA,4DACA,6DACA,uEC5LJ,WAEE,2BACA,qVACA,4BACA,mCACA,mEACA,gCACA,sCACA,wEAGA,uBACA,M3DipD2B,I2DhpD3B,O3DgpD2B,I2D/oD3B,oBACA,gCACA,0EACA,SzCJE,gByCMF,oCAGA,iBACE,gCACA,qBACA,0CAGF,iBACE,UACA,4CACA,0CAGF,wCAEE,oBACA,iBACA,6CAQJ,iBAHE,wCASE,gCATF,wCCjDF,OAEE,wBACA,8BACA,6BACA,sBACA,4B7CyRI,qBALI,S6ClRR,mBACA,iDACA,gDACA,4DACA,kDACA,4CACA,mDACA,wDACA,mEAGA,gCACA,e7C2QI,UALI,0B6CpQR,4BACA,oBACA,oCACA,4BACA,uEACA,sC1CRE,4C0CWF,eACE,UAGF,kBACE,aAIJ,iBACE,wBAEA,kBACA,+BACA,kBACA,eACA,oBAEA,mCACE,sCAIJ,cACE,aACA,mBACA,4DACA,mCACA,2CACA,4BACA,qF1ChCE,0FACA,2F0CkCF,yBACE,kDACA,sCAIJ,YACE,kCACA,qBC9DF,OAEE,wBACA,wBACA,yBACA,0BACA,0BACA,oBACA,4DACA,gDACA,4BACA,+DACA,kCACA,kCACA,kCACA,qCACA,uDACA,kCACA,kCACA,8BACA,uBACA,uDACA,0CAGA,eACA,MACA,OACA,+BACA,aACA,WACA,YACA,kBACA,gBAGA,UAOF,cACE,kBACA,WACA,8BAEA,oBAGA,0B5D5CI,W4D6CF,uBACA,U7D87CgC,oBCx+C9B,uC4DwCJ,0B5DvCM,iB4D2CN,0BACE,U7D47CgC,K6Dx7ClC,kCACE,U7Dy7CgC,Y6Dr7CpC,yBACE,6CAEA,wCACE,gBACA,gBAGF,qCACE,gBAIJ,uBACE,aACA,mBACA,iDAIF,eACE,kBACA,aACA,sBACA,WAEA,4BACA,oBACA,oCACA,4BACA,uE3CrFE,4C2CyFF,UAIF,gBAEE,2BACA,uBACA,2BClHA,eACA,MACA,OACA,QDkH0B,0BCjH1B,YACA,aACA,iBD+G4D,sBC5G5D,+BACA,6BD2G0F,2BAK5F,cACE,aACA,cACA,mBACA,8BACA,uCACA,4F3CtGE,2DACA,4D2CwGF,yBACE,4FACA,gJAKJ,aACE,gBACA,8CAKF,YACE,kBAGA,cACA,gCAIF,cACE,aACA,cACA,eACA,mBACA,yBACA,sEACA,2CACA,yF3C1HE,+DACA,8D2C+HF,gBACE,2CzD5GA,yByDkHF,OACE,2BACA,yDAIF,cACE,gCACA,kBACA,iBAGF,UACE,yBzD/HA,yByDoIF,oBAEE,yBzDtIA,0ByD2IF,UACE,0BAUA,kBACE,YACA,eACA,YACA,SAEA,iCACE,YACA,S3C1MJ,gB2C8ME,gE3C9MF,gB2CmNE,8BACE,gBzD3JJ,4ByDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBzD3JJ,4ByDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBzD3JJ,4ByDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBzD3JJ,6ByDyIA,0BACE,YACA,eACA,YACA,SAEA,yCACE,YACA,S3C1MJ,gB2C8ME,gF3C9MF,gB2CmNE,sCACE,iBzD3JJ,6ByDyIA,2BACE,YACA,eACA,YACA,SAEA,0CACE,YACA,S3C1MJ,gB2C8ME,kF3C9MF,gB2CmNE,uCACE,iBEtOR,SAEE,0BACA,8BACA,+BACA,gCACA,sBhDwRI,uBALI,SgDjRR,sCACA,0CACA,oDACA,0BACA,iCACA,kCAGA,iCACA,cACA,gCClBA,YhE+lB4B,0BgE7lB5B,kBACA,YhEwmB4B,IgEvmB5B,YhCCiB,oBgCCjB,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,mBACA,oBACA,gBjDgRI,UALI,4BgDhQR,qBACA,UAEA,gDAEA,wBACE,cACA,oCACA,sCAEA,gCACE,kBACA,WACA,2BACA,mBAKN,2FACE,+CAEA,2GACE,SACA,qFACA,sCAKJ,6FACE,6CACA,qCACA,qCAEA,6GACE,WACA,4HACA,wCAMJ,iGACE,4CAEA,iHACE,YACA,qFACA,yCAKJ,8FACE,8CACA,qCACA,qCAEA,8GACE,UACA,4HACA,uCAsBJ,eACE,sCACA,gEACA,8BACA,kBACA,sC7CjGE,8C+CnBJ,SAEE,0BACA,8BlD4RI,uBALI,SkDrRR,mCACA,kDACA,8DACA,uDACA,4FACA,2DACA,oCACA,sClDmRI,8BALI,KkD5QR,mCACA,+CACA,kCACA,kCACA,8CACA,+BACA,kCACA,0DAGA,iCACA,cACA,sCDzBA,YhE+lB4B,0BgE7lB5B,kBACA,YhEwmB4B,IgEvmB5B,YhCCiB,oBgCCjB,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,mBACA,oBACA,gBjDgRI,UALI,4BkD1PR,qBACA,sCACA,4BACA,2E/ChBE,8C+CoBF,wBACE,cACA,oCACA,sCAEA,+DAEE,kBACA,cACA,WACA,2BACA,mBACA,eAMJ,2FACE,kFAEA,oNAEE,qFAGF,2GACE,SACA,gDAGF,yGACE,sCACA,sCAOJ,6FACE,gFACA,qCACA,qCAEA,wNAEE,4HAGF,6GACE,OACA,kDAGF,2GACE,oCACA,wCAQJ,iGACE,+EAEA,gOAEE,qFAGF,iHACE,MACA,mDAGF,+GACE,mCACA,yCAKJ,mHACE,kBACA,MACA,SACA,cACA,oCACA,qDACA,WACA,+EAMF,8FACE,iFACA,qCACA,qCAEA,0NAEE,4HAGF,8GACE,QACA,iDAGF,4GACE,qCACA,uCAuBN,gBACE,8EACA,gBlD2GI,UALI,mCkDpGR,qCACA,6CACA,kF/C5JE,6DACA,8D+C8JF,sBACE,aAIJ,cACE,0EACA,mCCrLF,UACE,kBAGF,wBACE,mBAGF,gBACE,kBACA,WACA,gBvEtBA,uBACE,cACA,WACA,WuEuBJ,eACE,kBACA,aACA,WACA,WACA,mBACA,2BjElBI,WiEmBJ,0BjEfI,uCiEQN,ejEPQ,iBiEiBR,8DAGE,cAGF,wEAEE,2BAGF,wEAEE,4BASA,8BACE,UACA,4BACA,eAGF,iJAGE,UACA,UAGF,oFAEE,UACA,UjE5DE,WiE6DF,ejEzDE,uCiEqDJ,oFjEpDM,iBiEiER,8CAEE,kBACA,MACA,SACA,UAEA,aACA,mBACA,uBACA,MlE8gDmC,IkE7gDnC,UACA,M7CjFM,K6CkFN,kBACA,gBACA,SACA,QlEygDmC,GC/lD/B,WiEuFJ,kBjEnFI,uCiEkEN,8CjEjEQ,iBiEqFN,oHAEE,M7C3FI,K6C4FJ,qBACA,UACA,QlEigDiC,GkE9/CrC,uBACE,OAGF,uBACE,QAKF,wDAEE,qBACA,MlEkgDmC,KkEjgDnC,OlEigDmC,KkEhgDnC,4BACA,wBACA,0BAWF,4BACE,yQAEF,4BACE,0QAQF,qBACE,kBACA,QACA,SACA,OACA,UACA,aACA,uBACA,UAEA,alE08CmC,IkEz8CnC,mBACA,YlEw8CmC,IkEt8CnC,sCACE,uBACA,cACA,MlEw8CiC,KkEv8CjC,OlEw8CiC,IkEv8CjC,UACA,alEw8CiC,IkEv8CjC,YlEu8CiC,IkEt8CjC,mBACA,eACA,iB7CjKI,K6CkKJ,4BACA,SAEA,oCACA,uCACA,QlE+7CiC,GCvmD/B,WiEyKF,iBjErKE,uCiEoJJ,sCjEnJM,iBiEuKN,6BACE,QlE47CiC,EkEn7CrC,kBACE,kBACA,UACA,OlEs7CmC,QkEr7CnC,SACA,YlEm7CmC,QkEl7CnC,elEk7CmC,QkEj7CnC,M7C5LM,K6C6LN,kBAMA,sFAEE,OlEu7CiC,yBkEp7CnC,qDACE,iB7C1LI,K6C6LN,iCACE,M7C9LI,K6CoLN,0OAEE,OlEu7CiC,yBkEp7CnC,yIACE,iB7C1LI,K6C6LN,iGACE,M7C9LI,K8C5BR,8BAEE,qBACA,8BACA,gCACA,gDAEA,kBACA,6FAIF,0BACE,8CAIF,gBAEE,yBACA,0BACA,sCACA,kCACA,oCACA,4CAGA,yDACA,iCAGF,mBAEE,yBACA,0BACA,iCASF,wBACE,GACE,mBAEF,IACE,UACA,gBAKJ,cAEE,yBACA,0BACA,sCACA,oCACA,0CAGA,8BACA,UAGF,iBACE,yBACA,0BAIA,uCACE,8BAEE,oCC/EN,kFAEE,4BACA,4BACA,4BACA,+BACA,+BACA,2CACA,qCACA,oDACA,gEACA,mEACA,sDACA,sChE6DE,4BgE5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UnE5BA,WmE8BA,gCnE1BA,gEmEYJ,cnEXM,iBGuDJ,4BgE5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oBhE5BJ,yBgE/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2ChEnCN,4BgE5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UnE5BA,WmE8BA,gCnE1BA,gEmEYJ,cnEXM,iBGuDJ,4BgE5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oBhE5BJ,yBgE/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2ChEnCN,4BgE5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UnE5BA,WmE8BA,gCnE1BA,gEmEYJ,cnEXM,iBGuDJ,4BgE5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oBhE5BJ,yBgE/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2ChEnCN,6BgE5CF,cAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UnE5BA,WmE8BA,gCnE1BA,iEmEYJ,cnEXM,iBGuDJ,6BgE5BE,8BACE,MACA,OACA,gCACA,qFACA,4BAGF,4BACE,MACA,QACA,gCACA,oFACA,2BAGF,4BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,+BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,sDAEE,eAGF,8DAGE,oBhE5BJ,0BgE/BF,cAiEM,4BACA,+BACA,0CAEA,gCACE,aAGF,8BACE,aACA,YACA,UACA,mBAEA,2ChEnCN,6BgE5CF,eAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UnE5BA,WmE8BA,gCnE1BA,iEmEYJ,enEXM,iBGuDJ,6BgE5BE,+BACE,MACA,OACA,gCACA,qFACA,4BAGF,6BACE,MACA,QACA,gCACA,oFACA,2BAGF,6BACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,gCACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,wDAEE,eAGF,iEAGE,oBhE5BJ,0BgE/BF,eAiEM,4BACA,+BACA,0CAEA,iCACE,aAGF,+BACE,aACA,YACA,UACA,mBAEA,2CA/ER,WAEI,eACA,SACA,mCACA,aACA,sBACA,eACA,gCACA,kBACA,wCACA,4BACA,UnE5BA,WmE8BA,+BnE1BA,uCmEYJ,WnEXM,iBmE2BF,2BACE,MACA,OACA,gCACA,qFACA,4BAGF,yBACE,MACA,QACA,gCACA,oFACA,2BAGF,yBACE,MACA,QACA,OACA,kCACA,gBACA,sFACA,4BAGF,4BACE,QACA,OACA,kCACA,gBACA,mFACA,2BAGF,gDAEE,eAGF,qDAGE,mBA2BR,oBNpHE,eACA,MACA,OACA,Q9DwmCkC,K8DvmClC,YACA,aACA,iBzCwBM,KyCrBN,mCACA,iC9D+9CkC,GoEj3CpC,kBACE,aACA,mBACA,8BACA,oEAEA,6BACE,sFACA,oDACA,sDACA,uDAIJ,iBACE,gBACA,kDAGF,gBACE,YACA,oEACA,gBChJF,aACE,qBACA,eACA,sBACA,YACA,8BACA,QrE8yCkC,GqE5yClC,yBACE,qBACA,WAKJ,gBACE,gBAGF,gBACE,gBAGF,gBACE,iBAKA,+BACE,mDAIJ,4BACE,IACE,QrEixCgC,IqE7wCpC,kBACE,+EACA,oBACA,8CAGF,4BACE,KACE,wBChDJ,gBACI,mBCGA,eACI,uBACA,uBACA,iCACA,4BAJJ,iBACI,uBACA,uBACA,iCACA,4BAJJ,eACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,eACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,iBACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,WACI,uBACA,uBACA,iCACA,4BAJJ,oBACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,cACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,YACI,uBACA,uBACA,iCACA,4BAJJ,aACI,uBACA,qBACA,+BACA,4BAJJ,YACI,uBACA,uBACA,mCACA,4BAJJ,iBACI,uBACA,uBACA,iCACA,4BAKJ,oBACI,gBCZJ,6BACI,sBACA,uEAFJ,+BACI,sBACA,mEAFJ,6BACI,sBACA,uEAFJ,0BACI,sBACA,wEAFJ,6BACI,sBACA,wEAFJ,4BACI,sBACA,uEAFJ,2BACI,sBACA,uEAFJ,2BACI,sBACA,yEAFJ,0BACI,sBACA,sEAFJ,0BACI,sBACA,wEAFJ,+BACI,sBACA,qEAFJ,4BACI,sBACA,wEAFJ,4BACI,sBACA,uEAFJ,0BACI,sBACA,wEAFJ,yBACI,sBACA,uEAFJ,kCACI,sBACA,uEAFJ,2BACI,sBACA,uEAFJ,2BACI,sBACA,yEAFJ,4BACI,sBACA,wEAFJ,4BACI,sBACA,uEAFJ,2BACI,sBACA,uEAFJ,0BACI,sBACA,wEAFJ,0BACI,sBACA,wEAFJ,2BACI,sBACA,yEAFJ,0BACI,sBACA,yEAFJ,+BACI,sBACA,sECJR,KACI,iBAII,uJAGI,yBACA,wDACA,0DAIA,wVAGI,yBACA,0DACA,2DAKJ,wVAGI,yBACA,wDACA,0DAIR,gHAEI,qBACA,gBACA,oCxErBN,WwEsBM,mHxElBN,uCwEaE,gHxEZA,iBwEoBA,wIAEI,qCACA,6BACA,kBAIR,4BACI,YACA,0HAEA,oJAIA,oDACA,uDAGJ,4BACI,YACA,0HAEA,oJAIA,mDACA,sDAGJ,iBACI,kBACA,oBAEA,2BACI,oBAGJ,wBACI,0BACA,uBACA,0CACA,WACA,cACA,WACA,UACA,kBACA,sBACA,qBACA,6CAIS,oCACL,kBADK,sCACL,kBADK,oCACL,kBADK,iCACL,kBADK,oCACL,kBADK,mCACL,kBADK,kCACL,kBADK,kCACL,kBADK,iCACL,kBADK,iCACL,kBADK,sCACL,kBADK,mCACL,kBADK,mCACL,kBADK,iCACL,kBADK,gCACL,kBADK,yCACL,kBADK,kCACL,kBADK,kCACL,kBADK,mCACL,kBADK,mCACL,kBADK,kCACL,kBADK,iCACL,kBADK,iCACL,kBADK,kCACL,kBADK,iCACL,kBADK,sCACL,kBAMhB,WACI,IzCpGY,MyCwGZ,uF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,uGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,2F9BxFF,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,sCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qC8BoGE,2GAGI,0BACA,kCACA,wC9B7FN,qBACA,4BACA,2BACA,wBACA,kCACA,mCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oB8BkDE,uF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,uGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,uF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,uGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,2F9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,2GAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,qCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,+E9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,+FAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iG9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iHAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,qF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,qGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,uCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,wCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,mF9BxFF,qBACA,kBACA,4BACA,2BACA,yBACA,mCACA,yCACA,4BACA,0BACA,oCACA,6BACA,8BACA,2BACA,qC8BoGE,mGAGI,0BACA,kCACA,wC9B7FN,qBACA,4BACA,2BACA,wBACA,kCACA,yCACA,4BACA,yBACA,mCACA,6BACA,8BACA,kCACA,qCACA,oB8BkDE,iF9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,iGAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,yCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB8BkDE,2F9BxFF,qBACA,qBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,8BACA,8BACA,wC8BoGE,2GAGI,0BACA,kCACA,wC9B7FN,wBACA,+BACA,2BACA,2BACA,qCACA,sCACA,4BACA,4BACA,sCACA,6BACA,iCACA,kCACA,wCACA,oB+B1DF,YAEI,8BACA,6BACA,gCACA,mCACA,wCAEA,6BAEA,uBACI,YACA,kCACI,eACA,iCACA,sCACA,cACA,iBACA,kBAGJ,qGACI,gCACA,UAGJ,mCACI,iBACA,iBAEA,8CACI,gDACA,wCAGJ,4CACI,mBAEA,uDACI,kDACA,0CAKZ,8BACI,iBAGJ,gDACI,yBACA,eACA,YACA,uDACI,eACA,0CACA,YAQR,iCACI,qCACA,wCACA,4BACA,4BACA,kCACA,kCACA,kCACA,kCACA,mCACA,mCACA,wCACA,qCC5EZ,OACI,8BACA,8BACA,mCAEA,qBACI,2CACA,mCACA,+CAMA,4BACI,uBACA,0BACA,8BACA,8BCdJ,qGACI,gBACA,MAIA,mLACI,iBAMR,qGACI,gBACA,SAIR,iEACI,kBAEA,0EACI,WAIR,mFACI,uCACA,uBACA,0CACA,WACA,cACA,WACA,UACA,kBACA,uBACA,sBACA,6CAIR,yBAEQ,8JACI,uCCjDZ,2BAEI,oBACA,oCAKI,qEAEI,uBCiCZ,WAEI,YC7CJ,YACI,iCAIA,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,qCACI,qCACA,eCuEsB,QDzE1B,kBACI,qCACA,eCuEsB,QC9E9B,cAEI,sBACA,sBACA,+BACA,2BACA,2BACA,4BACA,6BACA,2BACA,0DACA,SACA,mCACA,2CAGJ,SACI,cAKI,wDAEI,sBACA,sBCvBZ,SAEI,4BACA,uDACA,kCACA,kCACA,oCACA,oCACA,kCACA,kCACA,kCACA,gCACA,kCAEA,kBACA,UACA,sCAEA,WACI,qBACA,8BAGJ,oBACI,WACA,cACA,kBACA,0BACA,SACA,yBACA,mCACA,yCACA,WAGJ,YACI,gBACA,eACA,SAEA,eACI,iBAEA,6BACI,aACA,mBACA,mBACA,SAEA,oCACI,gBAGJ,sCACI,uCACA,kBAGJ,wNAII,yCACA,uCAGJ,gHAEI,2CACA,yCAGJ,4GAEI,kBAGJ,6CACI,yCACA,cACA,uCACA,iBACA,YC1DM,KD2DN,gBACA,qBACA,mBACA,kBAGI,oEAUI,MATc,KAUd,OAVc,KAWd,YARU,KASV,kBACA,YAbc,KADlB,kEAUI,MATc,QAUd,OAVc,QAWd,YARU,OASV,oBACA,YAbc,QADlB,mEAUI,MATc,QAUd,OAVc,QAWd,YARU,OASV,qBACA,YAbc,QADlB,mEAUI,MATc,QAUd,OAVc,QAWd,YARU,OASV,qBACA,YAbc,QADlB,kEAUI,MATc,OAUd,OAVc,OAWd,YARU,OASV,qBACA,YAbc,OADlB,qEAUI,MATc,OAUd,OAVc,OAWd,YARU,OASV,qBACA,YAbc,OAmB9B,kCACI,2CAGJ,kBACI,wCAQR,8BACI,4BACA,uDACA,kCACA,kCACA,oCACA,oCACA,kCACA,kCEpIZ,OAEI,yBACA,yBACA,uBACA,uBACA,6BACA,6BAGI,mBAEI,mCAFJ,4EAMJ,WACA,aACA,wBACA,qDhF4CA,yBgF/DJ,OAYY,oChFmDR,yBgF/DJ,OAYY,oChFmDR,yBgF/DJ,OAYY,oChFmDR,0BgF/DJ,OAYY,oCASR,aACI,aACA,sBACA,uBACA,mBAEA,gCACA,iBAEA,8BACA,4BAEA,mBACI,oCACA,kCAGJ,0BACI,SAIR,6BAEI,eACA,qBAOQ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,iBACI,2BADJ,kBACI,4BADJ,kBACI,4BADJ,kBACI,4BhFShB,yBgFVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6BhFShB,yBgFVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6BhFShB,yBgFVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6BhFShB,0BgFVY,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,oBACI,2BADJ,qBACI,4BADJ,qBACI,4BADJ,qBACI,6BhFShB,0BgFVY,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,qBACI,2BADJ,sBACI,4BADJ,sBACI,4BADJ,sBACI,6BAQZ,4BACI,uBACA,uBACA,6BACA,6BClEZ,gBACI,kCACA,mCACA,6BACA,wDACA,kDACA,sCACA,sCAEA,2DACA,gBACA,iCACA,gBACA,kBACA,iBACA,eAEA,0BACI,6CACA,qCACA,mBAGJ,iCACI,4CACA,oDACA,2BAGJ,0FAEI,2CACA,mDACA,2BC/BR,mBAEI,WACA,uCACA,iBACA,cACA,aACA,mBACA,sBACA,UACA,qCACA,mCCZJ,mBACI,gCACA,2BACA,iCACA,kCACA,kCACA,6BACA,8BACA,oCACA,mCAEA,iCACA,iCACA,oCACA,kCAEA,uCACA,0CACA,0CAEA,sCACA,2CACA,8CACA,uCACA,8CACA,2DACA,+CACA,kDACA,gCACA,8BACA,gCACA,qCACA,iCACA,iCACA,sCACA,sCAEA,iCACA,8BACA,yCAEA,yBACA,yBACA,6BACA,8BAEA,oCACA,4CACA,4CACA,0CACA,4CACA,6DAEA,iCACA,mCACA,mCACA,2CACA,6BACA,oCACA,+BACA,wCACA,2CACA,yCACA,iCACA,4CACA,4CAEA,8BACA,6BACA,qCACA,qCACA,qDACA,+BACA,2CACA,qCACA,oDACA,+BACA,oCC9EJ,+BACI,WACA,aACA,mBACA,cACA,sBACA,UACA,SAGJ,kQACI,WACA,aACA,eACA,0EAOA,yBAFJ,uNAGQ,aRoFuB,yCQnFvB,cRmFuB,0CQzEtB,wIACL,cChCJ,8BACI,WAEA,aACA,mBACA,sBACA,wCAEA,6CACI,aACA,mBACA,oBACA,WACA,aT2FuB,yCS1FvB,cT0FuB,yCSxFvB,yBARJ,6CASQ,cAIJ,+CACI,0CACA,6CACA,mBACA,aAGJ,yBApBJ,6CAqBQ,8CACA,gDAGJ,8DACI,6DAIA,0DACI,4CACA,2DAFJ,2DACI,6CACA,4DAIR,8HAEI,sCACA,qBACA,UChCG,ODmCP,0DACI,gBAGJ,+MAII,qBE3DZ,8BACI,WACA,WtE4BI,KsE3BJ,iBACA,2BAEA,yBANJ,8BAOQ,2BACA,sBACA,uDACA,eACA,8BACA,gBACA,MACA,aACA,0CAGJ,mDACI,WAKA,aAHoB;AAAA;AAAA,UAIpB,cAJoB;AAAA;AAAA,UAKpB,aACA,8BACA,mBACA,kBAEA,yBAbJ,mDAoBQ,aALa,+EAMb,cANa,gFASjB,yBAxBJ,mDAyBQ,eACA,iBAIR,4CACI,oBAEA,yBAHJ,4CAIQ,cAGJ,gDACI,cAIR,yBACI,8CACI,aAEJ,+CACI,wBACA,iBAIR,0CACI,0BACA,sCACA,mCAEA,yBALJ,0CAMQ,oBAGJ,yDACI,uBACA,gBAEA,yEAEI,aAGJ,yBATJ,yDAUQ,mBAGJ,8JAEI,cACA,mBACA,iBAKJ,yBADJ,oDAEQ,qFAIJ,yBANJ,oDAOQ,WtE7ER,KsE8EQ,8CACA,+CACA,0DAGJ,gFACI,yBAIR,8KAGI,qCAIR,8CACI,MtE/GA,KsEgHA,2BAGJ,mDACI,gQAGJ,2CACI,MtExHA,KsE0HA,mJAGI,MtE1IH,QsE6ID,yBATJ,2CAUQ,MtElHJ,MuE9BR,sFAEI,WAEA,qCAEA,aACA,0CACA,iBACA,mBACA,oBACA,2BACA,eACA,mDACA,oDACA,4FAGA,yBAlBJ,sFAmBQ,iDACA,0DACA,2DAEA,gBACA,MACA,cAGJ,gJACI,WACA,aACA,8BACA,oBACA,kBAEA,0KACI,0CACA,6CACA,mBACA,aACA,wCAIA,0KACI,uDACA,qGAFJ,4KACI,wDACA,sGAMR,oKACI,cACA,aACA,gCACA,oBACA,UAEA,sLACI,0CACA,iGAIA,yBANJ,sLAOQ,iDACA,6EAKR,yBApBJ,oKAqBQ,4BACA,2BACA,eAIA,8LACI,YAIR,0LACI,aACA,0CACA,mBACA,uBACA,wCACA,sCACA,iCACA,mBACA,8CACA,8CACA,kBACA,oBAEA,yBAdJ,0LAeQ,cAKZ,0KACI,sFAOJ,gLACI,YACA,UACA,gBAGJ,yBACI,gLACI,aAEJ,kLACI,aACA,UACA,0CACA,qBAIR,yBACI,kLACI,eACA,8CACA,OACA,YAIR,wKACI,0CAEA,0BACA,sCACA,0CAEA,yBAPJ,wKAQQ,oBAGJ,sMACI,uBACA,gBAGA,wBACA,yBAEA,yBARJ,sMASQ,mBAGJ,oeAEI,cACA,mBACA,iBAKJ,yBADJ,4LAEQ,gDAEA,aACA,mBACA,0CACA,oFAEA,wFAIJ,yBAbJ,4LAcQ,yDACA,uDACA,8CACA,+CACA,yFAIJ,oPACI,yBAIR,gyBAII,0DAMhB,sCACI,8CACA,+CAEA,yBAJJ,sCAKQ,aZ5GuB,yCY6GvB,cZ7GuB,0CaxG/B,wEAGI,gCACA,8BACA,wCACA,2CACA,0CAGI,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAHJ,8JAEI,0CACA,SAIR,kGACI,SACA,UCnBR,6BACI,aACA,kBACA,uBACA,gBACA,WACA,6CAMY,mCACI,iBADJ,mCACI,iBADJ,mCACI,iBADJ,mCACI,iB1F6DhB,4B0F9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kB1F6DhB,4B0F9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kB1F6DhB,4B0F9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kB1F6DhB,6B0F9DY,sCACI,iBADJ,sCACI,iBADJ,sCACI,iBADJ,sCACI,kB1F6DhB,6B0F9DY,uCACI,iBADJ,uCACI,iBADJ,uCACI,iBADJ,uCACI,kBAMhB,6CACI,cACA,YACA,WACA,yBAJJ,6CAKQ,aAIR,iDACI,kBACA,SACA,OAEA,sFAEA,+DACA,8CACA,iDAEA,mDACI,cAGJ,0EACI,QACA,WAGJ,wEACI,MACA,aAKR,4CAEI,kBACA,SACA,4HAEA,yBANJ,4CAOQ,0FAIJ,qEACI,QACA,sCAIJ,+DACI,OACA,uCAGJ,yBAtBJ,4CAuBQ,WAGA,oIAEI,8CACA,gDCpFhB,yCACI,kBACA,WACA,YACA,aACA,mBACA,6BAEA,yBARJ,yCASQ,sBACA,OAGJ,qDACI,QACA,2CACA,iCACA,gHACA,8IAEA,YAEA,yBATJ,qDAUQ,4CAEA,WfuFyB,qEepF7B,yBAfJ,qDAgBQ,gBACA,gFAIJ,6RAKI,qBAGJ,sVAMI,qCACA,yBAPJ,sVAQQ,gBAIR,wEACI,ULpCG,OKqCH,SACA,YACA,gBACA,WACA,aACA,mBACA,8BACA,UACA,yBAEA,8EACI,gBAGJ,+EACI,gBACA,qCACA,sCACA,sBACA,WACA,qBACA,gCAGJ,mGACI,yBAGJ,yBA9BJ,wEA+BQ,cAKJ,yBADJ,0EAEQ,8CAGJ,yBALJ,0EAMQ,eAIA,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDATZ,2JAEI,uDACA,qDACA,gBACA,oDAEA,yBACI,6MACI,sDAMhB,+EACI,sBAEA,oFACI,oBAGJ,yFACI,2BACA,uDACA,8EAGA,mGACI,iBAGJ,8LAEI,0BAGJ,kGACI,8CACA,mBAGJ,gGACI,wDAOpB,6DACI,QACA,cAEA,YACA,uGAGA,yBARJ,6DAUQ;AAAA;AAAA;AAAA,cAIA,eACA,4CAIA,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAPR,mLAEI,uDACA,sEAEA,yBALJ,mLAMQ,sCACA,+CAShB,yBAEQ,yEACI,gBACA,oCAMZ,yBAEQ,8EACI,gBACA,MAIJ,uGACI,UACA,UAKZ,yBAEQ,8EACI,gBACA,uCAMZ,yBAEQ,8EACI,QAGJ,sFACI,SAMZ,yBAEQ,sEACI,QACA,4CACA,cfrIe,yCe2IH,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAHJ,+OACI,4CACA,eACA,oDAOpB,8EACI,QACA,gBACA,afxJe,yCe2JX,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,+CALJ,qNAEI,eACA,uCACA,cACA,gDAIR,+CAfJ,8EAgBQ,6CC9QhB,yHACI,oCACA,4CAEA,mJACI,gBAIR,uFAEI,aACA,wCAEA,6B5FgDJ,yB4FrDA,uFAQQ,yBACA,8BACA,kCAKJ,wDACI,4CAGA,qKAQA,sKAEI,kDAIR,uDAEI,0EAQI,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAFJ,qJAEI,gBAIR,yEACI,gBAeR,wDACI,gBAIA,oFACI,cAIZ,wDACI,gBACA,iBAIJ,8HAEI,uB5F9BJ,yB4F4BA,8HAKQ,yBACA,2BAGJ,sKACI,aAKR,kHAEI,uB5F7CJ,yB4F2CA,kHAKQ,yBACA,2BAGJ,8IACI,aClHZ,8BAGI,eACA,gDACA,gCACA,mBACA,0CACA,6CAEA,yBAVJ,8BAWQ,aAGJ,2CACI,SACA,UAGJ,mJAII,gCCzBR,gFAGI,yCCHJ,0BAEI,yBACA,2BACA,kCACA,sCACA,sCACA,gCACA,0CACA,kCACA,+BACA,qCACA,uCACA,sDACA,2CACA,6CAKI,oEAEI,kCACA,2CAKZ,SACI,aACA,WACA,oDAEA,2DACA,6BACA,oBACI,sCAGJ,2BACI,mBACA,WACA,yCAEA,aACA,+DACA,uDACA,mBAEA,kFAEA,mCAEA,mDACI,iBAEA,8CAEJ,wDACI,qBAEJ,kDACI,gBAEJ,sDACI,mBAIR,0BACI,kBACA,yCAIJ,0BACI,0BACA,wBAEJ,2CACI,kBAIR,iBACI,uDAGJ,gBACI,0DACA,4CAEA,sCACI,kGAEA,4CACA,gBAEJ,sCACI,gFAGJ,4BACI,kGACA,aACA,WACA,gFAEA,WACA,mBAEA,8CACI,cACA,SAGJ,8CACI,cCnHZ,WACI,sBACA,wDACA,mBACA,kBAGJ,WACI,iCACA,mDACA,mBACA,kBAGJ,iCAEI,iCACA,WACA,kBACA,mBACA,oBACA,oBACA,cAGA,mCACA,kCACA,qBAGJ,uDAEI,4CACA,WACA,kBACA,mBACA,oBACA,oBACA,cAGA,mCACA,kCACA,qBAGJ,6CACI,qBChDJ,mBACI,cAES,0BACL,UAGJ,2BACI,UAIJ,sCACI,WACA,WrG+4BgC,yDqG94BhC,uBACA,YCLyB,QvFmR3B,UALI,KsFvQF,YrGylBsB,IqGxlBtB,YrEdW,IqEeX,MrGi3BgC,qBqGh3BhC,iBhFLA,KgFMA,4CnFJJ,2BjBHE,WoGUE,0DACA,gBpGPF,uCoGPF,sCpGQI,iBoGYA,6HACI,ahFFJ,KgFGI,WtEzBmB,KsE8B3B,uFACI,oCnFCJ,6BACA,4BmFGA,uFACI,iCnFnBJ,yBACA,0BmFuBA,mCACI,WAIA,kEACI,mBAOJ,kJACI,kBACA,QACA,MrGq6BwB,QqGp6BxB,MCIqB,ODHrB,OCIqB,ODHrB,oBACA,gBACA,iBACA,mBACA,WCGqB,iXDFrB,2BAGA,8JACI,WCDiB,8WDKrB,4JACI,aEpFZ,sCACI,QDGyB,KCC7B,qCACI,QDFyB,KCGzB,gBACA,MvG63BgC,qBuG53BhC,iBlFOA,KkFNA,alFqBA,KHbJ,2BqFJI,6DACI,iCrFYR,yBACA,0BqFRI,6DACI,oCrFoBR,6BACA,4BqFhBI,qDACI,uBAGA,4EACI,cACA,WACA,uBACA,YDvBiB,QvFmR3B,UALI,KwFrPM,YvGukBc,IuGtkBd,YvEhCG,IuEiCH,MvG+1BwB,qBuG91BxB,iBlFvBR,KkFwBQ,4BACA,4CACA,gBrFxBZ,2BjBHE,WsG+BU,0DtG3BV,uCsGWM,4EtGVJ,iBsG4BQ,kFACI,alFlBZ,KkFmBY,WxEzCW,KwEgDnB,sGACI,WDWiB,MCVjB,gBAIJ,wFACI,uBxF8NV,UALI,KwFvNM,YvGyiBc,IuGxiBd,YvE9DG,IuEiEH,iHACI,MvG60BoB,0BuGz0BxB,6HACI,WACA,iBlF1DT,QkF8DK,iRAEI,WACA,iBlFjFX,QkFqFO,sOAEI,MvGklBU,0BuG9kBd,oGACI,UAGA,4HACI,wBACA,YvG0iBM,IuGziBN,YvEhGL,IuEiGK,MlFvEhB,KkF4EgB,+JACI,uBC5GxB,8CACI,uCACA,iPACA,4BACA,oBxG4+B4B,oBwG3+B5B,gBxG4+B4B,UwGz+B5B,2EACI,UACA,YxGimBkB,IwGhmBlB,YxENO,IwEOP,MxGy3B4B,qBwGt3B5B,2GACI,YxG2lBc,IwG1lBd,YxEZG,IwEaH,MxGk4BwB,0BwG73BhC,wEACI,aCtBJ,6EACI,aACA,mBACA,eACA,eACA,SACA,gBAGA,wGACI,aACA,mBACA,mBACA,oBACA,qBACA,sB1F6QV,UALI,K0FtQM,MzGk3BwB,qByGj3BxB,YACA,4CvFHZ,2BuFOY,2IACI,MH8Ca,OG7Cb,OH8Ca,OG7Cb,oBACA,oBACA,gBACA,iBACA,mBACA,WH4Ca,iXG3Cb,SAEA,iJACI,WHyCS,8WGrCb,gJACI,aAOhB,gEACI,cACA,WACA,OHnDqB,OGsDrB,uFACI,WACA,OHxDiB,OGyDjB,aACA,cACA,YHjDiB,QGkDjB,YzExDG,IyEyDH,+BAKR,0EACI,MzG+sBkB,O0GhxBtB,6JACI,M1GwqBkB,0B0GvqBlB,mBACA,iB1G43B4B,uB0G33B5B,arFaD,QqFZC,gBAKA,qOACI,aAIJ,uOACI,mBACA,6SACI,aAKR,mQACI,iBAEA,mSACI,aC1BJ,mIzF8BZ,0BACA,6ByFrBY,gIzFoBZ,0BACA,6ByFXI,yNzFwBJ,yBACA,4ByFnBA,gCACI,YACA,mDACI,YC7BJ,kHACI,avF8BJ,QuFxBI,sUACI,avFuBR,QuFtBQ,WN4BiB,4BMtBrB,oNACI,oCAIJ,oNACI,iC1FEZ,yBACA,0B0FOI,sHACI,avFhCN,QuFsCM,8UACI,avFvCV,QuFwCU,WNCiB,4BMKrB,wNACI,oCAIJ,wNACI,iC1F7BZ,yBACA,0B2F3BA,qDACI,mEACA,qB9F2RF,UALI,SGvQN,2B2FRI,gLACI,YACA,aACA,wBACA,2XAEA,4LACI,wXAKJ,sWAEI,aAMZ,oD3FZA,2B2FgBI,4E3FPJ,yBACA,0B2FWI,4E3FEJ,6BACA,4B2FEQ,2FACI,qB9FiPV,UALI,S8FtOE,uGACI,qB9F0OV,UALI,S8FjOU,2IACI,sBAIA,8KACI,qBASxB,6DACI,oCAMI,uHACI,oB9F+MV,UALI,S8FvMM,0JACI,YACA,aACA,wBACA,2XAEA,gKACI,wXAMhB,yFACI,YA/FR,qDACI,iEACA,mB9F2RF,UALI,QGvQN,2B2FRI,gLACI,WACA,YACA,oBACA,yXAEA,4LACI,sXAKJ,sWAEI,aAMZ,oD3FZA,2B2FgBI,4E3FPJ,yBACA,0B2FWI,4E3FEJ,6BACA,4B2FEQ,2FACI,mB9FiPV,UALI,Q8FtOE,uGACI,mB9F0OV,UALI,Q8FjOU,2IACI,oBAIA,8KACI,mBASxB,6DACI,iCAMI,uHACI,oB9F+MV,UALI,Q8FvMM,0JACI,WACA,YACA,oBACA,yXAEA,gKACI,sXAMhB,yFACI,WA/FI,sDACR,mEACA,qB9F2RF,UALI,SGvQN,2B2FRI,kLACI,YACA,aACA,wBACA,2XAEA,8LACI,wXAKJ,0WAEI,aAMA,qD3FZZ,2B2FgBI,6E3FPJ,yBACA,0B2FWI,6E3FEJ,6BACA,4B2FEQ,4FACI,qB9FiPV,UALI,S8FtOE,wGACI,qB9F0OV,UALI,S8FjOU,4IACI,sBAIA,+KACI,qBASZ,8DACR,oCAMI,wHACI,oB9F+MV,UALI,S8FvMM,2JACI,YACA,aACA,wBACA,2XAEA,iKACI,wXAMhB,0FACI,YA/FI,sDACR,iEACA,mB9F2RF,UALI,QGvQN,2B2FRI,kLACI,WACA,YACA,oBACA,yXAEA,8LACI,sXAKJ,0WAEI,aAMA,qD3FZZ,2B2FgBI,6E3FPJ,yBACA,0B2FWI,6E3FEJ,6BACA,4B2FEQ,4FACI,mB9FiPV,UALI,Q8FtOE,wGACI,mB9F0OV,UALI,Q8FjOU,4IACI,oBAIA,+KACI,mBASZ,8DACR,iCAMI,wHACI,oB9F+MV,UALI,Q8FvMM,2JACI,WACA,YACA,oBACA,yXAEA,iKACI,sXAMhB,0FACI,WCzFR,0GACI,gBACA,yBACA,YACA,gBACA,MzFWG,QyFNP,kGACI,YAaJ,4DACI","file":"bootstrap.css"}
\ No newline at end of file
diff --git a/src/cdh/core/templates/base/minimal.html b/src/cdh/core/templates/base/minimal.html
index 87cc52a9..92387175 100644
--- a/src/cdh/core/templates/base/minimal.html
+++ b/src/cdh/core/templates/base/minimal.html
@@ -13,21 +13,26 @@
     </title>
 
     <!--
-                                _.---.
-                      |\---/|  / ) ca|
-          ------------;     |-/ /|foo|---
-                      )     (' / `---'
-          ===========(       ,'==========
-          ||   _     |      |
-          || o/ )    |      | o
-          || ( (    /       ;
-          ||  \ `._/       /
-          ||   `._        /|
-          ||      |\    _/||
-        __||_____.' )  |__||____________
-         ________\  |  |_________________
-                  \ \  `-.
-                   `-`---'  hjw
+         *                  *
+             __                *
+          ,db'    *     *
+         ,d8/       *        *    *
+         888
+         `db\       *     *
+           `o`_                    **
+      *               *   *    _      *
+            *                 / )
+         *    (\__/) *       ( (  *
+       ,-.,-.,)    (.,-.,-.,-.) ).,-.,-.
+      | @|  ={      }= | @|  / / | @|o |
+     _j__j__j_)     `-------/ /__j__j__j_
+     ________(               /___________
+      |  | @| \              || o|O | @|
+      |o |  |,'\       ,   ,'"|  |  |  |  hjw
+     vV\|/vV|`-'\  ,---\   | \Vv\hjwVv\//v
+                _) )    `. \ /
+               (__/       ) )
+                         (_/
 Miauw!
     -->
 
@@ -63,6 +68,10 @@
     <script src="{{ js_file }}" nonce="{{ request.csp_nonce }}"></script>
     {% endfor %}
 
+    {% if form %}
+    {{ form.media }}
+    {% endif %}
+
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 </head>
 <body class="{% block body-classes %}{% endblock %}">
diff --git a/src/cdh/files/apps.py b/src/cdh/files/apps.py
index d1214c55..de534d4e 100644
--- a/src/cdh/files/apps.py
+++ b/src/cdh/files/apps.py
@@ -1,7 +1,5 @@
 from django.apps import AppConfig
 
-from cdh.core.file_loading import add_css_file, add_js_file
-
 
 class FilesConfig(AppConfig):
     default_auto_field = 'django.db.models.BigAutoField'
@@ -10,6 +8,3 @@ class FilesConfig(AppConfig):
     def ready(self):
         import cdh.files.checks  # noQA, the import has side effects, linter!
         import cdh.files.signals # noQA, same story
-
-        add_js_file('cdh.files/widgets.js')
-        add_css_file('cdh.files/widgets.css')
diff --git a/src/cdh/files/forms/widgets.py b/src/cdh/files/forms/widgets.py
index 2f1b5523..8e5a31df 100644
--- a/src/cdh/files/forms/widgets.py
+++ b/src/cdh/files/forms/widgets.py
@@ -3,6 +3,12 @@
 
 
 class SimpleFileInput(FileInput):
+    class Media:
+        js = ['cdh.files/widgets.js']
+        css = {
+            'screen': ['cdh.files/widgets.css']
+        }
+
     clear_checkbox_label = _('Clear')
     initial_text = _('Currently')
     input_text = _('Change')
@@ -59,6 +65,12 @@ def value_omitted_from_data(self, data, files, name):
 
 
 class TrackedFileInput(SimpleFileInput):
+    class Media:
+        js = ['cdh.files/widgets.js']
+        css = {
+            'screen': ['cdh.files/widgets.css']
+        }
+
     template_name = 'cdh.files/widgets/tracked_file.html'
 
     # Strings used in the template
diff --git a/src/cdh/integration_platform/digital_identity_api/forms/widgets.py b/src/cdh/integration_platform/digital_identity_api/forms/widgets.py
index fcdba504..91f79085 100644
--- a/src/cdh/integration_platform/digital_identity_api/forms/widgets.py
+++ b/src/cdh/integration_platform/digital_identity_api/forms/widgets.py
@@ -4,17 +4,13 @@
 
 
 class SingleUserWidget(widgets.Input):
+    class Media:
+        js = [
+            'cdh.integration_platform/digital_identity_api/single_user_widget.js'
+        ]
     input_type = 'hidden'
     template_name = "cdh.integration_platform/digital_identity_api/single_user_widget.html"
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(*args, **kwargs)
-
-        add_js_file(
-            'cdh.integration_platform/digital_identity_api/single_user_widget'
-            '.js'
-        )
-
     @property
     def is_hidden(self):
         return False
diff --git a/src/cdh/vue3/components/__init__.py b/src/cdh/vue3/components/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/cdh/vue3/components/uu_list/__init__.py b/src/cdh/vue3/components/uu_list/__init__.py
new file mode 100644
index 00000000..775df459
--- /dev/null
+++ b/src/cdh/vue3/components/uu_list/__init__.py
@@ -0,0 +1,32 @@
+"""UU-List is a Vue component implementing a UU-designed list view
+with filtering, searching, ordering and pagination support.
+
+The base UU-List component (from cdh-vue-lib) is UI only, requiring
+any user to implement data fetching on their own.
+
+In addition, the UU-List does not, by default, have any way of
+visualizing the data. Instead, this is left to a 'Visualizer'
+component. It does, however, provide the Data-Defined Visualizer
+(DDV) as a pre-written visualizer that can be used.
+
+This package provides a pre-compiled implementation of UU-List using
+the DDV, already setup to fetch and process data from Django.
+It also provides the necessary backend code to easily provide the
+required views for this pre-compiled version of UU-List.
+
+Any implementer should be able to use both to quickly set up a page
+using UU-List, without any custom JS required. An example of a complete
+setup can be found in the DSC dev project.
+The source code of this pre-compiled version can be found in assets/vue/uu-list.
+
+However, the DDV is limited in its configurability. If you need to
+implement more advanced visualisation, you will need to compile
+your own version of UU-List. The assets dir in the DSC project
+provides an example to get you started. This example already
+contains all the hooks needed to tap into the provided backend classes,
+you will only eed to write a custom visualizer.
+"""
+from .columns import *
+from .paginator import *
+from .serializers import *
+from .views import *
diff --git a/src/cdh/vue3/components/uu_list/columns.py b/src/cdh/vue3/components/uu_list/columns.py
new file mode 100644
index 00000000..c4b890e8
--- /dev/null
+++ b/src/cdh/vue3/components/uu_list/columns.py
@@ -0,0 +1,151 @@
+"""A collection of column definition classes used by the Data-Defined
+Visualizer variant of the UU-List.
+"""
+from typing import Optional, Union
+
+from django.utils.translation import get_language
+
+
+class _DDVColumn:
+    """Base class for all DDV columns, should not be used directly"""
+
+    type: str = None
+
+    def __init__(self, field: str, label: str, css_classes: Optional[str] = None):
+        """
+        :param field: The key of the field used in the serializer to pull
+                      data from.If you are unsure, view the output of your
+                      API view and copy the key.
+        :param label: The text shown as the table header for this column
+        :param css_classes: Any CSS classes to add to the item in the table cell
+        """
+        self.field = field
+        self.label = label
+        self.classes = css_classes
+
+    def get_config(self):
+        return {
+            "type": self.type,
+            "field": self.field,
+            "label": self.label,
+            "classes": self.classes,
+        }
+
+
+class DDVString(_DDVColumn):
+    """Will simply display the contents of the given field as a string.
+
+    Note: HTML will be escaped! If you really want HTML, use DDVHtml.
+    Or, you know, use a custom UU-List implementation.
+    """
+
+    type = "string"
+
+
+class DDVHtml(_DDVColumn):
+    """Will display the contents of the given field without escaping HTML
+
+    NOTE: THIS IS POTENTIALLY UNSAFE! ALWAYS SANITIZE USER INPUT YOURSELF
+    Note 2: If you end up using this column a lot, it's probably better to
+    create a custom UU-List implementation over using the default DDV
+    implementation.
+    """
+
+    type = "html"
+
+
+class DDVDate(_DDVColumn):
+    """Will format a ISO 8601 formatted date(time) into a localized date(time).
+
+    Use DRF's Date(Time)Field in your serializer. (THis will be automatically
+    be the case if you use a ModelSerializer with the `fields` option)
+    """
+
+    type = "date"
+
+    def __init__(
+        self,
+        field: str,
+        label: str,
+        css_classes: Optional[str] = None,
+        format: Optional[Union[str, dict]] = None,
+        # Default to NL, even for EN languages to be consistent in format
+        language: Optional[str] = "nl",
+    ):
+        super().__init__(field, label, css_classes)
+        self.format = format
+        self.language = language
+
+    def get_config(self):
+        config = super().get_config()
+        config["format"] = self.format
+
+        # if locale is none, retrieve the current activated language
+        language = self.language or get_language()
+
+        config["language"] = language
+        return config
+
+
+class DDVLink(_DDVColumn):
+    """Will display a simple link in the table.
+
+    Use DDVLinkField in your serializer to populate the field that will be used
+
+    Note: this will display only a link. If you need a link inside a larger
+    text, use DDVHtml or create a custom UU-List implementation
+    """
+
+    type = "link"
+
+
+class DDVActions(_DDVColumn):
+    """Will display a list of actions inside a dropdown
+
+    Use DDVActionsField in your serializer to populate the field that will be used
+    """
+
+    type = "actions"
+
+
+class DDVButton(_DDVColumn):
+    """Will display a button in the table.
+
+    Use DDVLinkField in your serializer to populate the field that will be used
+    """
+
+    type = "button"
+
+    def __init__(
+        self,
+        field: str,
+        label: str,
+        variant: Optional[str] = None,
+        size: Optional[str] = None,
+    ):
+        """
+
+        :param field: The key of the field used in the serializer to pull
+                      data from.If you are unsure, view the output of your
+                      API view and copy the key.
+        :param label: The text shown as the table header for this column
+        :param variant: The BS button variant to use. See UU-Bootstrap for
+                        info on the options. Defaults to 'primary'.
+        :param size: small, normal or large. Defaults to 'normal'
+        """
+        super().__init__(field, label)
+        self.variant = variant
+        self.size = size
+
+    def get_config(self):
+        config = {
+            "type": self.type,
+            "field": self.field,
+            "label": self.label,
+        }
+        if self.variant:
+            config["variant"] = self.variant
+        if self.size:
+            config["size"] = self.size
+
+        return config
diff --git a/src/cdh/vue3/components/uu_list/paginator.py b/src/cdh/vue3/components/uu_list/paginator.py
new file mode 100644
index 00000000..cc874692
--- /dev/null
+++ b/src/cdh/vue3/components/uu_list/paginator.py
@@ -0,0 +1,38 @@
+from collections import OrderedDict
+
+from rest_framework.pagination import PageNumberPagination
+
+
+class StandardResultsSetPagination(PageNumberPagination):
+    page_size = 25
+    page_size_query_param = "page_size"
+    max_page_size = 1000
+
+    def get_paginated_response(self, data):
+        return OrderedDict(
+            [
+                ("count", self.page.paginator.count),
+                ("page_size", self.page.paginator.per_page),
+                ("pages", self.page.paginator.num_pages),
+                ("results", data),
+            ]
+        )
+
+    def get_paginated_response_schema(self, schema):
+        schema["properties"].extend(
+            {
+                "count": {
+                    "type": "integer",
+                    "example": 123,
+                },
+                "page_size": {
+                    "type": "integer",
+                    "example": 123,
+                },
+                "pages": {
+                    "type": "integer",
+                    "example": 123,
+                },
+            }
+        )
+        return schema
diff --git a/src/cdh/vue3/components/uu_list/serializers.py b/src/cdh/vue3/components/uu_list/serializers.py
new file mode 100644
index 00000000..89d6728d
--- /dev/null
+++ b/src/cdh/vue3/components/uu_list/serializers.py
@@ -0,0 +1,152 @@
+"""A collection of serializer fields needed for the proper operation of some
+columns in the Data-Defined Visualizer variant of the UU-List.
+"""
+from typing import List, Optional, Union
+
+from django.shortcuts import resolve_url
+from rest_framework import serializers
+
+
+class DDVLinkField(serializers.Field):
+    """DDVLinkField is a custom DRF serializer, which will format its
+    output for use in DDVLink, DDVButton and DDVAction DDV columns.
+
+    When using this field for DDVLink or DDVButton, you can use this class as
+    the serializer.
+    DDVAction columns should use the DDVActionsField serializer instead.
+
+    Note: classes is ignored when using DDVLink; use the column classes
+    argument instead
+    """
+
+    def __init__(
+        self,
+        *,
+        text: Union[str, callable],
+        link: Union[str, callable],
+        link_attr: Optional[str] = None,
+        new_tab: bool = False,
+        check: Optional[callable] = None,
+        classes: Optional[str] = None,
+        **kwargs,
+    ):
+        """Init
+
+        'The object' will refer to 'the object currently being serialized'.
+
+        :param text: The text on the action. Either a (trans)string or a
+                     callable, which accepts the object as a param and returns
+                     a string.
+        :type text: str | callable
+        :param link: The link the user should be navigated to when clicking
+                     the action. Either a string (both full urls as django
+                     named urls are supported) or a callable returning said
+                     string.
+        :type link: str | callable
+        :param link_attr: If supplied, the attribute given will be retrieved
+                          from the object and passed to the link resolver.
+                          Use this to supply things like the 'pk' to django
+                          named urls.
+        :type link_attr: str
+        :param check: If supplied, this callable will be used to check if
+                      this action should be displayed for the current object.
+                      The callable should accept one parameter, the object.
+        :type check: callable
+        :param classes: Any CSS classes to be applied to the action root-element
+        :type classes: str
+        :param kwargs: see DRF Field
+        """
+        self.text = text
+        self.link = link
+        self.link_attr = link_attr
+        self.new_tab = new_tab
+        self.check = check
+        self.classes = classes
+        kwargs["source"] = "*"
+        kwargs["read_only"] = True
+        super().__init__(**kwargs)
+
+    def to_representation(self, value):
+        if self.check is not None:
+            if not self.check(value):
+                return None
+
+        args = []
+        if self.link_attr is not None:
+            args.append(getattr(value, self.link_attr, None))
+
+        text = self.text
+        if callable(text):
+            text = text(value)
+
+        link = resolve_url(self.link, *args)
+        return {
+            "link": link,
+            "text": text,
+            "classes": self.classes,
+            "new_tab": self.new_tab,
+        }
+
+
+class DDVActionDividerField(serializers.Field):
+    """This is a simple class to add dividers between actions in
+    DDVActionsField"""
+
+    def __init__(self, check: Optional[callable] = None, **kwargs):
+        """
+        'The object' will refer to 'the object currently being serialized'.
+
+        :param check: If supplied, this callable will be used to check if
+                      this action should be displayed for the current object.
+                      The callable should accept one parameter, the object.
+        :type check: callable
+        """
+        self.check = check
+        kwargs["source"] = "*"
+        kwargs["read_only"] = True
+        super().__init__(**kwargs)
+
+    def to_representation(self, value):
+        if self.check is not None:
+            if not self.check(value):
+                return None
+
+        return {
+            "divider": True,
+        }
+
+
+class DDVActionsField(serializers.Field):
+    """A custom serializer to use for the DDVActions column."""
+
+    def __init__(
+        self, actions: List[Union[DDVLinkField, DDVActionDividerField]], **kwargs
+    ):
+        """
+        :param actions: a list of items to add to the actions dropdown. If no
+                        actions are defined (after checks are run), the column
+                        will automagically hide itself for this object.
+        :type actions: DDVLinkField | DDVActionDividerField
+        :param kwargs: see DRF Field
+        """
+        self.actions = actions
+        kwargs["source"] = "*"
+        kwargs["read_only"] = True
+        super().__init__(**kwargs)
+
+    def bind(self, field_name, parent):
+        for action in self.actions:
+            action.bind(field_name, parent)
+        super().bind(field_name, parent)
+
+    def to_representation(self, value):
+        values = []
+
+        for action in self.actions:
+            if action_representation := action.to_representation(value):
+                values.append(action_representation)
+
+        if len(values) == 0:
+            return None
+
+        return values
diff --git a/src/cdh/vue3/components/uu_list/views.py b/src/cdh/vue3/components/uu_list/views.py
new file mode 100644
index 00000000..badd1eb8
--- /dev/null
+++ b/src/cdh/vue3/components/uu_list/views.py
@@ -0,0 +1,269 @@
+from django.core.exceptions import ImproperlyConfigured
+from django.utils.translation import get_language
+from django.views import generic
+from django_filters import rest_framework as filters
+from rest_framework import generics
+from rest_framework.filters import SearchFilter, OrderingFilter
+from rest_framework.response import Response
+
+from .paginator import StandardResultsSetPagination
+
+
+class UUListAPIView(generics.ListAPIView):
+    """This is the API view, used by UU-List to retrieve its data
+
+    This class can be used by both the default DDV UU-List, and a custom UU-List
+    implementation.
+    """
+
+    # These filter backends determine what functionality is available
+    # The DDVListView and UUListView classes will automagically enable the
+    # frontend features depending on what filter types are enabled.
+    # There three are the only ones supported, but any (or all) may be omitted
+    # Note: there are two similarly named mechanisms at play here; In the docs
+    # we mostly use 'filters' to refer to django-filters; but this var refers
+    # to DRF's filter system. (And we enable django-filters here)
+    # OrderingFilter: enables sorting support
+    # SearchFilter: Enables the search bar
+    # filters.DjangoFilterBackend: enables advanced filters using django-filters
+    filter_backends = [OrderingFilter, SearchFilter, filters.DjangoFilterBackend]
+    # The Django-filters filterset class to use. Can be left None if
+    # django-filters is not enabled
+    filterset_class = None
+    # The fields on the QS that can be used to sort
+    # Labels will be taken from the fields verbose_name, unless overriden in
+    # UUListView/DDVListView
+    ordering = ["id"]
+    # Leave this alone unless you know what to do with it
+    # This overrides to pagination class to one that produces the format
+    # expected by UU-List
+    pagination_class = StandardResultsSetPagination
+
+    def get_paginated_response(self, data):
+        data = super().get_paginated_response(data)
+        data["ordering"] = self.request.query_params.get('ordering', self.ordering)
+
+        return Response(data)
+
+
+class UUListView(generic.TemplateView):
+    """A base class for _custom_ UU-List pages.
+
+    This custom view generates the initial configuration used by all UU-List
+    implementations.
+
+    Your template can then initiate the component in the template using:
+    {% vue UUList :config=uu_list_config %}
+
+    Is extended by DDVListView, thus the variables here also apply to that
+    class.
+
+    This class has multiple methods that may be overriden to modify the
+    automagical config generation.
+    """
+
+    # Page size options, should contain 25
+    page_size_options = [10, 25, 50, 100]
+    # The model viewed, should be exactly the same one as used in
+    # UUListApiView's serializer
+    # May also be set by overriding the get_model method
+    model = None
+    # The URL of the UUListApiView to retrieve actual data from
+    # Note: you should use reverse_lazy!
+    # May also be set by overriding the get_data_uri method
+    data_uri = None
+    # Should be a direct reference to the class that handles the url
+    # set in `data_uri`. This is used to probe what capabilities that
+    # class has enabled
+    data_view = None
+    # The name of the template context variable used to store the initial config
+    # If you change this, make sure to modify your template accordingly
+    context_config_var = "uu_list_config"
+    # Determines the visual layout used; default is the newer design.
+    # Alternatively, use 'sidebar' to use a UU-Sidebar based design.
+    # Note: sidebar only makes sense if the django-filters backend and/or search
+    # is enabled.
+    container = "default"
+    # This will set the initial value for any filter. Key should be the 'field'
+    # name.
+    # Multiple-choice filters need the value to be in list-form, others a plain
+    # value
+    # Single-choice filters without a defined initial value will use the
+    # first option available.
+    initial_filter_values = {}
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+
+        if self.get_model() is None:
+            raise ImproperlyConfigured(
+                "UUListView classes must define the (root) model as "
+                "<class>.model or override <class>.get_model()"
+            )
+        if self.get_data_uri() is None:
+            raise ImproperlyConfigured(
+                "UUListView classes must define the uri of the API view as "
+                "<class>.data_uri. (Preferably using reverse_lazy) "
+                "Alternatively, override <class>.get_data_uri()."
+            )
+        if self.get_data_view() is None:
+            raise ImproperlyConfigured(
+                "UUListView classes must define the used API view as "
+                "<class>.data_view. "
+            )
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+
+        context[self.context_config_var] = {
+            "dataUri": self.get_data_uri(),
+            "filtersEnabled": self.get_filters_enabled(),
+            "filters": self.get_filters(),
+            "pageSize": self.get_page_size(),
+            "pageSizeOptions": self.get_page_size_options(),
+            "sortEnabled": self.get_sort_enabled(),
+            "sortOptions": self.get_sort_options(),
+            "searchEnabled": self.get_search_enabled(),
+            "locale": self.get_locale(),
+            "container": self.get_container(),
+        }
+
+        return context
+
+    def get_locale(self):
+        """Modify this method to return 'en'|'nl' if your app does not use
+        those labels for the languages. (In other words, if your app uses
+        'en-US' instead of 'en', etc).
+        """
+        return get_language()
+
+    def get_model(self):
+        return self.model
+
+    def get_data_view(self):
+        return self.data_view
+
+    def get_data_uri(self):
+        # Cast to string, as it's probably a lazy value and the vue tag
+        # DOES NOT like lazy values.... Ugh
+        return str(self.data_uri)
+
+    def get_page_size(self):
+        return self.get_data_view().pagination_class.page_size
+
+    def get_page_size_options(self):
+        return self.page_size_options
+
+    def get_search_enabled(self):
+        return SearchFilter in self.get_data_view().filter_backends
+
+    def get_sort_enabled(self):
+        return OrderingFilter in self.get_data_view().filter_backends
+
+    def get_filters_enabled(self):
+        return filters.DjangoFilterBackend in self.get_data_view().filter_backends
+
+    def get_initial_filter_values(self):
+        return self.initial_filter_values
+
+    def get_filters(self):
+        if not self.get_filters_enabled():
+            return []
+
+        from django_filters.rest_framework import (
+            ChoiceFilter,
+            MultipleChoiceFilter,
+            DateFilter,
+        )
+
+        initial_filter_values = self.get_initial_filter_values()
+
+        filter_map = {
+            ChoiceFilter: "radio",
+            MultipleChoiceFilter: "checkbox",
+            DateFilter: "date",
+        }
+        filter_defs = []
+        dataview_filters = self.get_data_view().filterset_class.get_filters().items()
+        for field, filter_object in dataview_filters:
+            if type(filter_object) not in filter_map:
+                continue
+
+            filter_def = {
+                "field": field,
+                "label": filter_object.label,
+                "type": filter_map.get(type(filter_object)),
+            }
+
+            if filter_def["type"] in ["checkbox", "radio"]:
+                filter_def["options"] = filter_object.extra["choices"]
+
+            if field in initial_filter_values:
+                filter_def["initial"] = initial_filter_values[field]
+
+            filter_defs.append(filter_def)
+
+        return filter_defs
+
+    def get_sort_options(self):
+        """Override this method if you want to customize the labels used for
+        the sorting options.
+        """
+        if not self.get_sort_enabled():
+            return []
+
+        def get_field_name(field):
+            return self.get_model()._meta.get_field(field).verbose_name
+
+        options = []
+
+        for field in self.get_data_view().ordering_fields:
+            options.append({"field": field, "label": f"{get_field_name(field)} ↑"})
+            options.append(
+                {"field": f"-{field}", "label": f"{get_field_name(field)} ↓"}
+            )
+
+        return options
+
+    def get_container(self):
+        return self.container
+
+
+class DDVListView(UUListView):
+    """Extension of UUListView which will also add DDV configuration.
+
+    The DDV, or Data-Defined Visualizer variant of UU-List is the default
+    UU-List implementation of DSC, and allows for fully-backend defined usage
+    of UU-List. (Read: no custom JS required).
+
+    It uses a preset defined list of 'columns' to build a table. The order
+    of 'self.columns' will also be the order of the columns in the table.
+
+    See ./columns.py for information on what columns are available.
+
+    Some columns need a custom serializer field to be used, which is documented
+    on the relevant column classes.
+    """
+
+    columns = None
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        if self.get_columns() is None:
+            raise ImproperlyConfigured(
+                "UUListView classes must define columns as "
+                "<class>.columns or override <class>.get_columns"
+            )
+
+    def get_columns(self):
+        return self.columns
+
+    def get_columns_config(self):
+        return [column.get_config() for column in self.get_columns()]
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+
+        context[self.context_config_var]["columns"] = self.get_columns_config()
+
+        return context
diff --git a/src/cdh/vue3/static/cdh.vue3/components/uu-list/UUList.iife.js b/src/cdh/vue3/static/cdh.vue3/components/uu-list/UUList.iife.js
new file mode 100644
index 00000000..3718d933
--- /dev/null
+++ b/src/cdh/vue3/static/cdh.vue3/components/uu-list/UUList.iife.js
@@ -0,0 +1,5687 @@
+var UUList = function(vue) {
+  "use strict";
+  let getRandomValues;
+  const rnds8 = new Uint8Array(16);
+  function rng() {
+    if (!getRandomValues) {
+      getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
+      if (!getRandomValues) {
+        throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
+      }
+    }
+    return getRandomValues(rnds8);
+  }
+  const byteToHex = [];
+  for (let i = 0; i < 256; ++i) {
+    byteToHex.push((i + 256).toString(16).slice(1));
+  }
+  function unsafeStringify(arr, offset = 0) {
+    return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
+  }
+  const randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
+  const native = {
+    randomUUID
+  };
+  function v4(options, buf, offset) {
+    if (native.randomUUID && !buf && !options) {
+      return native.randomUUID();
+    }
+    options = options || {};
+    const rnds = options.random || (options.rng || rng)();
+    rnds[6] = rnds[6] & 15 | 64;
+    rnds[8] = rnds[8] & 63 | 128;
+    if (buf) {
+      offset = offset || 0;
+      for (let i = 0; i < 16; ++i) {
+        buf[offset + i] = rnds[i];
+      }
+      return buf;
+    }
+    return unsafeStringify(rnds);
+  }
+  /*!
+    * shared v9.6.2
+    * (c) 2023 kazuya kawaguchi
+    * Released under the MIT License.
+    */
+  const inBrowser = typeof window !== "undefined";
+  let mark;
+  let measure;
+  if ({}.NODE_ENV !== "production") {
+    const perf = inBrowser && window.performance;
+    if (perf && perf.mark && perf.measure && perf.clearMarks && // @ts-ignore browser compat
+    perf.clearMeasures) {
+      mark = (tag) => {
+        perf.mark(tag);
+      };
+      measure = (name, startTag, endTag) => {
+        perf.measure(name, startTag, endTag);
+        perf.clearMarks(startTag);
+        perf.clearMarks(endTag);
+      };
+    }
+  }
+  const RE_ARGS$1 = /\{([0-9a-zA-Z]+)\}/g;
+  function format$2(message, ...args) {
+    if (args.length === 1 && isObject$1(args[0])) {
+      args = args[0];
+    }
+    if (!args || !args.hasOwnProperty) {
+      args = {};
+    }
+    return message.replace(RE_ARGS$1, (match, identifier) => {
+      return args.hasOwnProperty(identifier) ? args[identifier] : "";
+    });
+  }
+  const makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);
+  const generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });
+  const friendlyJSONstringify = (json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027");
+  const isNumber = (val) => typeof val === "number" && isFinite(val);
+  const isDate = (val) => toTypeString(val) === "[object Date]";
+  const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
+  const isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;
+  const assign$1 = Object.assign;
+  let _globalThis;
+  const getGlobalThis = () => {
+    return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
+  };
+  function escapeHtml(rawText) {
+    return rawText.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
+  }
+  const hasOwnProperty = Object.prototype.hasOwnProperty;
+  function hasOwn(obj, key) {
+    return hasOwnProperty.call(obj, key);
+  }
+  const isArray = Array.isArray;
+  const isFunction = (val) => typeof val === "function";
+  const isString$1 = (val) => typeof val === "string";
+  const isBoolean = (val) => typeof val === "boolean";
+  const isObject$1 = (val) => val !== null && typeof val === "object";
+  const objectToString = Object.prototype.toString;
+  const toTypeString = (value) => objectToString.call(value);
+  const isPlainObject = (val) => {
+    if (!isObject$1(val))
+      return false;
+    const proto = Object.getPrototypeOf(val);
+    return proto === null || proto.constructor === Object;
+  };
+  const toDisplayString = (val) => {
+    return val == null ? "" : isArray(val) || isPlainObject(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val);
+  };
+  function join$1(items, separator = "") {
+    return items.reduce((str, item, index) => index === 0 ? str + item : str + separator + item, "");
+  }
+  const RANGE = 2;
+  function generateCodeFrame(source, start = 0, end = source.length) {
+    const lines = source.split(/\r?\n/);
+    let count = 0;
+    const res = [];
+    for (let i = 0; i < lines.length; i++) {
+      count += lines[i].length + 1;
+      if (count >= start) {
+        for (let j2 = i - RANGE; j2 <= i + RANGE || end > count; j2++) {
+          if (j2 < 0 || j2 >= lines.length)
+            continue;
+          const line = j2 + 1;
+          res.push(`${line}${" ".repeat(3 - String(line).length)}|  ${lines[j2]}`);
+          const lineLength = lines[j2].length;
+          if (j2 === i) {
+            const pad = start - (count - lineLength) + 1;
+            const length = Math.max(1, end > count ? lineLength - pad : end - start);
+            res.push(`   |  ` + " ".repeat(pad) + "^".repeat(length));
+          } else if (j2 > i) {
+            if (end > count) {
+              const length = Math.max(Math.min(end - count, lineLength), 1);
+              res.push(`   |  ` + "^".repeat(length));
+            }
+            count += lineLength + 1;
+          }
+        }
+        break;
+      }
+    }
+    return res.join("\n");
+  }
+  function incrementer(code2) {
+    let current = code2;
+    return () => ++current;
+  }
+  function warn(msg, err) {
+    if (typeof console !== "undefined") {
+      console.warn(`[intlify] ` + msg);
+      if (err) {
+        console.warn(err.stack);
+      }
+    }
+  }
+  const hasWarned = {};
+  function warnOnce(msg) {
+    if (!hasWarned[msg]) {
+      hasWarned[msg] = true;
+      warn(msg);
+    }
+  }
+  function createEmitter() {
+    const events = /* @__PURE__ */ new Map();
+    const emitter = {
+      events,
+      on(event, handler) {
+        const handlers = events.get(event);
+        const added = handlers && handlers.push(handler);
+        if (!added) {
+          events.set(event, [handler]);
+        }
+      },
+      off(event, handler) {
+        const handlers = events.get(event);
+        if (handlers) {
+          handlers.splice(handlers.indexOf(handler) >>> 0, 1);
+        }
+      },
+      emit(event, payload) {
+        (events.get(event) || []).slice().map((handler) => handler(payload));
+        (events.get("*") || []).slice().map((handler) => handler(event, payload));
+      }
+    };
+    return emitter;
+  }
+  /*!
+    * message-compiler v9.6.2
+    * (c) 2023 kazuya kawaguchi
+    * Released under the MIT License.
+    */
+  function createPosition(line, column, offset) {
+    return { line, column, offset };
+  }
+  function createLocation(start, end, source) {
+    const loc = { start, end };
+    if (source != null) {
+      loc.source = source;
+    }
+    return loc;
+  }
+  const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g;
+  function format$1(message, ...args) {
+    if (args.length === 1 && isObject(args[0])) {
+      args = args[0];
+    }
+    if (!args || !args.hasOwnProperty) {
+      args = {};
+    }
+    return message.replace(RE_ARGS, (match, identifier) => {
+      return args.hasOwnProperty(identifier) ? args[identifier] : "";
+    });
+  }
+  const assign = Object.assign;
+  const isString = (val) => typeof val === "string";
+  const isObject = (val) => val !== null && typeof val === "object";
+  function join(items, separator = "") {
+    return items.reduce((str, item, index) => index === 0 ? str + item : str + separator + item, "");
+  }
+  const CompileErrorCodes = {
+    // tokenizer error codes
+    EXPECTED_TOKEN: 1,
+    INVALID_TOKEN_IN_PLACEHOLDER: 2,
+    UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,
+    UNKNOWN_ESCAPE_SEQUENCE: 4,
+    INVALID_UNICODE_ESCAPE_SEQUENCE: 5,
+    UNBALANCED_CLOSING_BRACE: 6,
+    UNTERMINATED_CLOSING_BRACE: 7,
+    EMPTY_PLACEHOLDER: 8,
+    NOT_ALLOW_NEST_PLACEHOLDER: 9,
+    INVALID_LINKED_FORMAT: 10,
+    // parser error codes
+    MUST_HAVE_MESSAGES_IN_PLURAL: 11,
+    UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,
+    UNEXPECTED_EMPTY_LINKED_KEY: 13,
+    UNEXPECTED_LEXICAL_ANALYSIS: 14,
+    // generator error codes
+    UNHANDLED_CODEGEN_NODE_TYPE: 15,
+    // minifier error codes
+    UNHANDLED_MINIFIER_NODE_TYPE: 16,
+    // Special value for higher-order compilers to pick up the last code
+    // to avoid collision of error codes. This should always be kept as the last
+    // item.
+    __EXTEND_POINT__: 17
+  };
+  const errorMessages$2 = {
+    // tokenizer error messages
+    [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,
+    [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,
+    [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,
+    [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\{0}`,
+    [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,
+    [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,
+    [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,
+    [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,
+    [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,
+    [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,
+    // parser error messages
+    [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,
+    [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,
+    [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,
+    [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,
+    // generator error messages
+    [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,
+    // minimizer error messages
+    [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`
+  };
+  function createCompileError(code2, loc, options = {}) {
+    const { domain, messages, args } = options;
+    const msg = format$1((messages || errorMessages$2)[code2] || "", ...args || []);
+    const error = new SyntaxError(String(msg));
+    error.code = code2;
+    if (loc) {
+      error.location = loc;
+    }
+    error.domain = domain;
+    return error;
+  }
+  function defaultOnError(error) {
+    throw error;
+  }
+  const RE_HTML_TAG = /<\/?[\w\s="/.':;#-\/]+>/;
+  const detectHtmlTag = (source) => RE_HTML_TAG.test(source);
+  const CHAR_SP = " ";
+  const CHAR_CR = "\r";
+  const CHAR_LF = "\n";
+  const CHAR_LS = String.fromCharCode(8232);
+  const CHAR_PS = String.fromCharCode(8233);
+  function createScanner(str) {
+    const _buf = str;
+    let _index = 0;
+    let _line = 1;
+    let _column = 1;
+    let _peekOffset = 0;
+    const isCRLF = (index2) => _buf[index2] === CHAR_CR && _buf[index2 + 1] === CHAR_LF;
+    const isLF = (index2) => _buf[index2] === CHAR_LF;
+    const isPS = (index2) => _buf[index2] === CHAR_PS;
+    const isLS = (index2) => _buf[index2] === CHAR_LS;
+    const isLineEnd = (index2) => isCRLF(index2) || isLF(index2) || isPS(index2) || isLS(index2);
+    const index = () => _index;
+    const line = () => _line;
+    const column = () => _column;
+    const peekOffset = () => _peekOffset;
+    const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];
+    const currentChar = () => charAt(_index);
+    const currentPeek = () => charAt(_index + _peekOffset);
+    function next() {
+      _peekOffset = 0;
+      if (isLineEnd(_index)) {
+        _line++;
+        _column = 0;
+      }
+      if (isCRLF(_index)) {
+        _index++;
+      }
+      _index++;
+      _column++;
+      return _buf[_index];
+    }
+    function peek() {
+      if (isCRLF(_index + _peekOffset)) {
+        _peekOffset++;
+      }
+      _peekOffset++;
+      return _buf[_index + _peekOffset];
+    }
+    function reset() {
+      _index = 0;
+      _line = 1;
+      _column = 1;
+      _peekOffset = 0;
+    }
+    function resetPeek(offset = 0) {
+      _peekOffset = offset;
+    }
+    function skipToPeek() {
+      const target = _index + _peekOffset;
+      while (target !== _index) {
+        next();
+      }
+      _peekOffset = 0;
+    }
+    return {
+      index,
+      line,
+      column,
+      peekOffset,
+      charAt,
+      currentChar,
+      currentPeek,
+      next,
+      peek,
+      reset,
+      resetPeek,
+      skipToPeek
+    };
+  }
+  const EOF = void 0;
+  const DOT = ".";
+  const LITERAL_DELIMITER = "'";
+  const ERROR_DOMAIN$3 = "tokenizer";
+  function createTokenizer(source, options = {}) {
+    const location = options.location !== false;
+    const _scnr = createScanner(source);
+    const currentOffset = () => _scnr.index();
+    const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());
+    const _initLoc = currentPosition();
+    const _initOffset = currentOffset();
+    const _context = {
+      currentType: 14,
+      offset: _initOffset,
+      startLoc: _initLoc,
+      endLoc: _initLoc,
+      lastType: 14,
+      lastOffset: _initOffset,
+      lastStartLoc: _initLoc,
+      lastEndLoc: _initLoc,
+      braceNest: 0,
+      inLinked: false,
+      text: ""
+    };
+    const context = () => _context;
+    const { onError } = options;
+    function emitError(code2, pos, offset, ...args) {
+      const ctx = context();
+      pos.column += offset;
+      pos.offset += offset;
+      if (onError) {
+        const loc = location ? createLocation(ctx.startLoc, pos) : null;
+        const err = createCompileError(code2, loc, {
+          domain: ERROR_DOMAIN$3,
+          args
+        });
+        onError(err);
+      }
+    }
+    function getToken(context2, type, value) {
+      context2.endLoc = currentPosition();
+      context2.currentType = type;
+      const token = { type };
+      if (location) {
+        token.loc = createLocation(context2.startLoc, context2.endLoc);
+      }
+      if (value != null) {
+        token.value = value;
+      }
+      return token;
+    }
+    const getEndToken = (context2) => getToken(
+      context2,
+      14
+      /* TokenTypes.EOF */
+    );
+    function eat(scnr, ch) {
+      if (scnr.currentChar() === ch) {
+        scnr.next();
+        return ch;
+      } else {
+        emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
+        return "";
+      }
+    }
+    function peekSpaces(scnr) {
+      let buf = "";
+      while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {
+        buf += scnr.currentPeek();
+        scnr.peek();
+      }
+      return buf;
+    }
+    function skipSpaces(scnr) {
+      const buf = peekSpaces(scnr);
+      scnr.skipToPeek();
+      return buf;
+    }
+    function isIdentifierStart(ch) {
+      if (ch === EOF) {
+        return false;
+      }
+      const cc = ch.charCodeAt(0);
+      return cc >= 97 && cc <= 122 || // a-z
+      cc >= 65 && cc <= 90 || // A-Z
+      cc === 95;
+    }
+    function isNumberStart(ch) {
+      if (ch === EOF) {
+        return false;
+      }
+      const cc = ch.charCodeAt(0);
+      return cc >= 48 && cc <= 57;
+    }
+    function isNamedIdentifierStart(scnr, context2) {
+      const { currentType } = context2;
+      if (currentType !== 2) {
+        return false;
+      }
+      peekSpaces(scnr);
+      const ret = isIdentifierStart(scnr.currentPeek());
+      scnr.resetPeek();
+      return ret;
+    }
+    function isListIdentifierStart(scnr, context2) {
+      const { currentType } = context2;
+      if (currentType !== 2) {
+        return false;
+      }
+      peekSpaces(scnr);
+      const ch = scnr.currentPeek() === "-" ? scnr.peek() : scnr.currentPeek();
+      const ret = isNumberStart(ch);
+      scnr.resetPeek();
+      return ret;
+    }
+    function isLiteralStart(scnr, context2) {
+      const { currentType } = context2;
+      if (currentType !== 2) {
+        return false;
+      }
+      peekSpaces(scnr);
+      const ret = scnr.currentPeek() === LITERAL_DELIMITER;
+      scnr.resetPeek();
+      return ret;
+    }
+    function isLinkedDotStart(scnr, context2) {
+      const { currentType } = context2;
+      if (currentType !== 8) {
+        return false;
+      }
+      peekSpaces(scnr);
+      const ret = scnr.currentPeek() === ".";
+      scnr.resetPeek();
+      return ret;
+    }
+    function isLinkedModifierStart(scnr, context2) {
+      const { currentType } = context2;
+      if (currentType !== 9) {
+        return false;
+      }
+      peekSpaces(scnr);
+      const ret = isIdentifierStart(scnr.currentPeek());
+      scnr.resetPeek();
+      return ret;
+    }
+    function isLinkedDelimiterStart(scnr, context2) {
+      const { currentType } = context2;
+      if (!(currentType === 8 || currentType === 12)) {
+        return false;
+      }
+      peekSpaces(scnr);
+      const ret = scnr.currentPeek() === ":";
+      scnr.resetPeek();
+      return ret;
+    }
+    function isLinkedReferStart(scnr, context2) {
+      const { currentType } = context2;
+      if (currentType !== 10) {
+        return false;
+      }
+      const fn = () => {
+        const ch = scnr.currentPeek();
+        if (ch === "{") {
+          return isIdentifierStart(scnr.peek());
+        } else if (ch === "@" || ch === "%" || ch === "|" || ch === ":" || ch === "." || ch === CHAR_SP || !ch) {
+          return false;
+        } else if (ch === CHAR_LF) {
+          scnr.peek();
+          return fn();
+        } else {
+          return isIdentifierStart(ch);
+        }
+      };
+      const ret = fn();
+      scnr.resetPeek();
+      return ret;
+    }
+    function isPluralStart(scnr) {
+      peekSpaces(scnr);
+      const ret = scnr.currentPeek() === "|";
+      scnr.resetPeek();
+      return ret;
+    }
+    function detectModuloStart(scnr) {
+      const spaces = peekSpaces(scnr);
+      const ret = scnr.currentPeek() === "%" && scnr.peek() === "{";
+      scnr.resetPeek();
+      return {
+        isModulo: ret,
+        hasSpace: spaces.length > 0
+      };
+    }
+    function isTextStart(scnr, reset = true) {
+      const fn = (hasSpace = false, prev = "", detectModulo = false) => {
+        const ch = scnr.currentPeek();
+        if (ch === "{") {
+          return prev === "%" ? false : hasSpace;
+        } else if (ch === "@" || !ch) {
+          return prev === "%" ? true : hasSpace;
+        } else if (ch === "%") {
+          scnr.peek();
+          return fn(hasSpace, "%", true);
+        } else if (ch === "|") {
+          return prev === "%" || detectModulo ? true : !(prev === CHAR_SP || prev === CHAR_LF);
+        } else if (ch === CHAR_SP) {
+          scnr.peek();
+          return fn(true, CHAR_SP, detectModulo);
+        } else if (ch === CHAR_LF) {
+          scnr.peek();
+          return fn(true, CHAR_LF, detectModulo);
+        } else {
+          return true;
+        }
+      };
+      const ret = fn();
+      reset && scnr.resetPeek();
+      return ret;
+    }
+    function takeChar(scnr, fn) {
+      const ch = scnr.currentChar();
+      if (ch === EOF) {
+        return EOF;
+      }
+      if (fn(ch)) {
+        scnr.next();
+        return ch;
+      }
+      return null;
+    }
+    function takeIdentifierChar(scnr) {
+      const closure = (ch) => {
+        const cc = ch.charCodeAt(0);
+        return cc >= 97 && cc <= 122 || // a-z
+        cc >= 65 && cc <= 90 || // A-Z
+        cc >= 48 && cc <= 57 || // 0-9
+        cc === 95 || // _
+        cc === 36;
+      };
+      return takeChar(scnr, closure);
+    }
+    function takeDigit(scnr) {
+      const closure = (ch) => {
+        const cc = ch.charCodeAt(0);
+        return cc >= 48 && cc <= 57;
+      };
+      return takeChar(scnr, closure);
+    }
+    function takeHexDigit(scnr) {
+      const closure = (ch) => {
+        const cc = ch.charCodeAt(0);
+        return cc >= 48 && cc <= 57 || // 0-9
+        cc >= 65 && cc <= 70 || // A-F
+        cc >= 97 && cc <= 102;
+      };
+      return takeChar(scnr, closure);
+    }
+    function getDigits(scnr) {
+      let ch = "";
+      let num = "";
+      while (ch = takeDigit(scnr)) {
+        num += ch;
+      }
+      return num;
+    }
+    function readModulo(scnr) {
+      skipSpaces(scnr);
+      const ch = scnr.currentChar();
+      if (ch !== "%") {
+        emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
+      }
+      scnr.next();
+      return "%";
+    }
+    function readText(scnr) {
+      let buf = "";
+      while (true) {
+        const ch = scnr.currentChar();
+        if (ch === "{" || ch === "}" || ch === "@" || ch === "|" || !ch) {
+          break;
+        } else if (ch === "%") {
+          if (isTextStart(scnr)) {
+            buf += ch;
+            scnr.next();
+          } else {
+            break;
+          }
+        } else if (ch === CHAR_SP || ch === CHAR_LF) {
+          if (isTextStart(scnr)) {
+            buf += ch;
+            scnr.next();
+          } else if (isPluralStart(scnr)) {
+            break;
+          } else {
+            buf += ch;
+            scnr.next();
+          }
+        } else {
+          buf += ch;
+          scnr.next();
+        }
+      }
+      return buf;
+    }
+    function readNamedIdentifier(scnr) {
+      skipSpaces(scnr);
+      let ch = "";
+      let name = "";
+      while (ch = takeIdentifierChar(scnr)) {
+        name += ch;
+      }
+      if (scnr.currentChar() === EOF) {
+        emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+      }
+      return name;
+    }
+    function readListIdentifier(scnr) {
+      skipSpaces(scnr);
+      let value = "";
+      if (scnr.currentChar() === "-") {
+        scnr.next();
+        value += `-${getDigits(scnr)}`;
+      } else {
+        value += getDigits(scnr);
+      }
+      if (scnr.currentChar() === EOF) {
+        emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+      }
+      return value;
+    }
+    function readLiteral(scnr) {
+      skipSpaces(scnr);
+      eat(scnr, `'`);
+      let ch = "";
+      let literal = "";
+      const fn = (x2) => x2 !== LITERAL_DELIMITER && x2 !== CHAR_LF;
+      while (ch = takeChar(scnr, fn)) {
+        if (ch === "\\") {
+          literal += readEscapeSequence(scnr);
+        } else {
+          literal += ch;
+        }
+      }
+      const current = scnr.currentChar();
+      if (current === CHAR_LF || current === EOF) {
+        emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);
+        if (current === CHAR_LF) {
+          scnr.next();
+          eat(scnr, `'`);
+        }
+        return literal;
+      }
+      eat(scnr, `'`);
+      return literal;
+    }
+    function readEscapeSequence(scnr) {
+      const ch = scnr.currentChar();
+      switch (ch) {
+        case "\\":
+        case `'`:
+          scnr.next();
+          return `\\${ch}`;
+        case "u":
+          return readUnicodeEscapeSequence(scnr, ch, 4);
+        case "U":
+          return readUnicodeEscapeSequence(scnr, ch, 6);
+        default:
+          emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);
+          return "";
+      }
+    }
+    function readUnicodeEscapeSequence(scnr, unicode, digits) {
+      eat(scnr, unicode);
+      let sequence = "";
+      for (let i = 0; i < digits; i++) {
+        const ch = takeHexDigit(scnr);
+        if (!ch) {
+          emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`);
+          break;
+        }
+        sequence += ch;
+      }
+      return `\\${unicode}${sequence}`;
+    }
+    function readInvalidIdentifier(scnr) {
+      skipSpaces(scnr);
+      let ch = "";
+      let identifiers = "";
+      const closure = (ch2) => ch2 !== "{" && ch2 !== "}" && ch2 !== CHAR_SP && ch2 !== CHAR_LF;
+      while (ch = takeChar(scnr, closure)) {
+        identifiers += ch;
+      }
+      return identifiers;
+    }
+    function readLinkedModifier(scnr) {
+      let ch = "";
+      let name = "";
+      while (ch = takeIdentifierChar(scnr)) {
+        name += ch;
+      }
+      return name;
+    }
+    function readLinkedRefer(scnr) {
+      const fn = (detect = false, buf) => {
+        const ch = scnr.currentChar();
+        if (ch === "{" || ch === "%" || ch === "@" || ch === "|" || ch === "(" || ch === ")" || !ch) {
+          return buf;
+        } else if (ch === CHAR_SP) {
+          return buf;
+        } else if (ch === CHAR_LF || ch === DOT) {
+          buf += ch;
+          scnr.next();
+          return fn(detect, buf);
+        } else {
+          buf += ch;
+          scnr.next();
+          return fn(true, buf);
+        }
+      };
+      return fn(false, "");
+    }
+    function readPlural(scnr) {
+      skipSpaces(scnr);
+      const plural = eat(
+        scnr,
+        "|"
+        /* TokenChars.Pipe */
+      );
+      skipSpaces(scnr);
+      return plural;
+    }
+    function readTokenInPlaceholder(scnr, context2) {
+      let token = null;
+      const ch = scnr.currentChar();
+      switch (ch) {
+        case "{":
+          if (context2.braceNest >= 1) {
+            emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);
+          }
+          scnr.next();
+          token = getToken(
+            context2,
+            2,
+            "{"
+            /* TokenChars.BraceLeft */
+          );
+          skipSpaces(scnr);
+          context2.braceNest++;
+          return token;
+        case "}":
+          if (context2.braceNest > 0 && context2.currentType === 2) {
+            emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);
+          }
+          scnr.next();
+          token = getToken(
+            context2,
+            3,
+            "}"
+            /* TokenChars.BraceRight */
+          );
+          context2.braceNest--;
+          context2.braceNest > 0 && skipSpaces(scnr);
+          if (context2.inLinked && context2.braceNest === 0) {
+            context2.inLinked = false;
+          }
+          return token;
+        case "@":
+          if (context2.braceNest > 0) {
+            emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+          }
+          token = readTokenInLinked(scnr, context2) || getEndToken(context2);
+          context2.braceNest = 0;
+          return token;
+        default:
+          let validNamedIdentifier = true;
+          let validListIdentifier = true;
+          let validLiteral = true;
+          if (isPluralStart(scnr)) {
+            if (context2.braceNest > 0) {
+              emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+            }
+            token = getToken(context2, 1, readPlural(scnr));
+            context2.braceNest = 0;
+            context2.inLinked = false;
+            return token;
+          }
+          if (context2.braceNest > 0 && (context2.currentType === 5 || context2.currentType === 6 || context2.currentType === 7)) {
+            emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+            context2.braceNest = 0;
+            return readToken(scnr, context2);
+          }
+          if (validNamedIdentifier = isNamedIdentifierStart(scnr, context2)) {
+            token = getToken(context2, 5, readNamedIdentifier(scnr));
+            skipSpaces(scnr);
+            return token;
+          }
+          if (validListIdentifier = isListIdentifierStart(scnr, context2)) {
+            token = getToken(context2, 6, readListIdentifier(scnr));
+            skipSpaces(scnr);
+            return token;
+          }
+          if (validLiteral = isLiteralStart(scnr, context2)) {
+            token = getToken(context2, 7, readLiteral(scnr));
+            skipSpaces(scnr);
+            return token;
+          }
+          if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
+            token = getToken(context2, 13, readInvalidIdentifier(scnr));
+            emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);
+            skipSpaces(scnr);
+            return token;
+          }
+          break;
+      }
+      return token;
+    }
+    function readTokenInLinked(scnr, context2) {
+      const { currentType } = context2;
+      let token = null;
+      const ch = scnr.currentChar();
+      if ((currentType === 8 || currentType === 9 || currentType === 12 || currentType === 10) && (ch === CHAR_LF || ch === CHAR_SP)) {
+        emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
+      }
+      switch (ch) {
+        case "@":
+          scnr.next();
+          token = getToken(
+            context2,
+            8,
+            "@"
+            /* TokenChars.LinkedAlias */
+          );
+          context2.inLinked = true;
+          return token;
+        case ".":
+          skipSpaces(scnr);
+          scnr.next();
+          return getToken(
+            context2,
+            9,
+            "."
+            /* TokenChars.LinkedDot */
+          );
+        case ":":
+          skipSpaces(scnr);
+          scnr.next();
+          return getToken(
+            context2,
+            10,
+            ":"
+            /* TokenChars.LinkedDelimiter */
+          );
+        default:
+          if (isPluralStart(scnr)) {
+            token = getToken(context2, 1, readPlural(scnr));
+            context2.braceNest = 0;
+            context2.inLinked = false;
+            return token;
+          }
+          if (isLinkedDotStart(scnr, context2) || isLinkedDelimiterStart(scnr, context2)) {
+            skipSpaces(scnr);
+            return readTokenInLinked(scnr, context2);
+          }
+          if (isLinkedModifierStart(scnr, context2)) {
+            skipSpaces(scnr);
+            return getToken(context2, 12, readLinkedModifier(scnr));
+          }
+          if (isLinkedReferStart(scnr, context2)) {
+            skipSpaces(scnr);
+            if (ch === "{") {
+              return readTokenInPlaceholder(scnr, context2) || token;
+            } else {
+              return getToken(context2, 11, readLinkedRefer(scnr));
+            }
+          }
+          if (currentType === 8) {
+            emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
+          }
+          context2.braceNest = 0;
+          context2.inLinked = false;
+          return readToken(scnr, context2);
+      }
+    }
+    function readToken(scnr, context2) {
+      let token = {
+        type: 14
+        /* TokenTypes.EOF */
+      };
+      if (context2.braceNest > 0) {
+        return readTokenInPlaceholder(scnr, context2) || getEndToken(context2);
+      }
+      if (context2.inLinked) {
+        return readTokenInLinked(scnr, context2) || getEndToken(context2);
+      }
+      const ch = scnr.currentChar();
+      switch (ch) {
+        case "{":
+          return readTokenInPlaceholder(scnr, context2) || getEndToken(context2);
+        case "}":
+          emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);
+          scnr.next();
+          return getToken(
+            context2,
+            3,
+            "}"
+            /* TokenChars.BraceRight */
+          );
+        case "@":
+          return readTokenInLinked(scnr, context2) || getEndToken(context2);
+        default:
+          if (isPluralStart(scnr)) {
+            token = getToken(context2, 1, readPlural(scnr));
+            context2.braceNest = 0;
+            context2.inLinked = false;
+            return token;
+          }
+          const { isModulo, hasSpace } = detectModuloStart(scnr);
+          if (isModulo) {
+            return hasSpace ? getToken(context2, 0, readText(scnr)) : getToken(context2, 4, readModulo(scnr));
+          }
+          if (isTextStart(scnr)) {
+            return getToken(context2, 0, readText(scnr));
+          }
+          break;
+      }
+      return token;
+    }
+    function nextToken() {
+      const { currentType, offset, startLoc, endLoc } = _context;
+      _context.lastType = currentType;
+      _context.lastOffset = offset;
+      _context.lastStartLoc = startLoc;
+      _context.lastEndLoc = endLoc;
+      _context.offset = currentOffset();
+      _context.startLoc = currentPosition();
+      if (_scnr.currentChar() === EOF) {
+        return getToken(
+          _context,
+          14
+          /* TokenTypes.EOF */
+        );
+      }
+      return readToken(_scnr, _context);
+    }
+    return {
+      nextToken,
+      currentOffset,
+      currentPosition,
+      context
+    };
+  }
+  const ERROR_DOMAIN$2 = "parser";
+  const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;
+  function fromEscapeSequence(match, codePoint4, codePoint6) {
+    switch (match) {
+      case `\\\\`:
+        return `\\`;
+      case `\\'`:
+        return `'`;
+      default: {
+        const codePoint = parseInt(codePoint4 || codePoint6, 16);
+        if (codePoint <= 55295 || codePoint >= 57344) {
+          return String.fromCodePoint(codePoint);
+        }
+        return "�";
+      }
+    }
+  }
+  function createParser(options = {}) {
+    const location = options.location !== false;
+    const { onError } = options;
+    function emitError(tokenzer, code2, start, offset, ...args) {
+      const end = tokenzer.currentPosition();
+      end.offset += offset;
+      end.column += offset;
+      if (onError) {
+        const loc = location ? createLocation(start, end) : null;
+        const err = createCompileError(code2, loc, {
+          domain: ERROR_DOMAIN$2,
+          args
+        });
+        onError(err);
+      }
+    }
+    function startNode(type, offset, loc) {
+      const node = { type };
+      if (location) {
+        node.start = offset;
+        node.end = offset;
+        node.loc = { start: loc, end: loc };
+      }
+      return node;
+    }
+    function endNode(node, offset, pos, type) {
+      if (type) {
+        node.type = type;
+      }
+      if (location) {
+        node.end = offset;
+        if (node.loc) {
+          node.loc.end = pos;
+        }
+      }
+    }
+    function parseText(tokenizer, value) {
+      const context = tokenizer.context();
+      const node = startNode(3, context.offset, context.startLoc);
+      node.value = value;
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    function parseList(tokenizer, index) {
+      const context = tokenizer.context();
+      const { lastOffset: offset, lastStartLoc: loc } = context;
+      const node = startNode(5, offset, loc);
+      node.index = parseInt(index, 10);
+      tokenizer.nextToken();
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    function parseNamed(tokenizer, key) {
+      const context = tokenizer.context();
+      const { lastOffset: offset, lastStartLoc: loc } = context;
+      const node = startNode(4, offset, loc);
+      node.key = key;
+      tokenizer.nextToken();
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    function parseLiteral(tokenizer, value) {
+      const context = tokenizer.context();
+      const { lastOffset: offset, lastStartLoc: loc } = context;
+      const node = startNode(9, offset, loc);
+      node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);
+      tokenizer.nextToken();
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    function parseLinkedModifier(tokenizer) {
+      const token = tokenizer.nextToken();
+      const context = tokenizer.context();
+      const { lastOffset: offset, lastStartLoc: loc } = context;
+      const node = startNode(8, offset, loc);
+      if (token.type !== 12) {
+        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);
+        node.value = "";
+        endNode(node, offset, loc);
+        return {
+          nextConsumeToken: token,
+          node
+        };
+      }
+      if (token.value == null) {
+        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+      }
+      node.value = token.value || "";
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return {
+        node
+      };
+    }
+    function parseLinkedKey(tokenizer, value) {
+      const context = tokenizer.context();
+      const node = startNode(7, context.offset, context.startLoc);
+      node.value = value;
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    function parseLinked(tokenizer) {
+      const context = tokenizer.context();
+      const linkedNode = startNode(6, context.offset, context.startLoc);
+      let token = tokenizer.nextToken();
+      if (token.type === 9) {
+        const parsed = parseLinkedModifier(tokenizer);
+        linkedNode.modifier = parsed.node;
+        token = parsed.nextConsumeToken || tokenizer.nextToken();
+      }
+      if (token.type !== 10) {
+        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+      }
+      token = tokenizer.nextToken();
+      if (token.type === 2) {
+        token = tokenizer.nextToken();
+      }
+      switch (token.type) {
+        case 11:
+          if (token.value == null) {
+            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          linkedNode.key = parseLinkedKey(tokenizer, token.value || "");
+          break;
+        case 5:
+          if (token.value == null) {
+            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          linkedNode.key = parseNamed(tokenizer, token.value || "");
+          break;
+        case 6:
+          if (token.value == null) {
+            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          linkedNode.key = parseList(tokenizer, token.value || "");
+          break;
+        case 7:
+          if (token.value == null) {
+            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          linkedNode.key = parseLiteral(tokenizer, token.value || "");
+          break;
+        default:
+          emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);
+          const nextContext = tokenizer.context();
+          const emptyLinkedKeyNode = startNode(7, nextContext.offset, nextContext.startLoc);
+          emptyLinkedKeyNode.value = "";
+          endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);
+          linkedNode.key = emptyLinkedKeyNode;
+          endNode(linkedNode, nextContext.offset, nextContext.startLoc);
+          return {
+            nextConsumeToken: token,
+            node: linkedNode
+          };
+      }
+      endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return {
+        node: linkedNode
+      };
+    }
+    function parseMessage(tokenizer) {
+      const context = tokenizer.context();
+      const startOffset = context.currentType === 1 ? tokenizer.currentOffset() : context.offset;
+      const startLoc = context.currentType === 1 ? context.endLoc : context.startLoc;
+      const node = startNode(2, startOffset, startLoc);
+      node.items = [];
+      let nextToken = null;
+      do {
+        const token = nextToken || tokenizer.nextToken();
+        nextToken = null;
+        switch (token.type) {
+          case 0:
+            if (token.value == null) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+            }
+            node.items.push(parseText(tokenizer, token.value || ""));
+            break;
+          case 6:
+            if (token.value == null) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+            }
+            node.items.push(parseList(tokenizer, token.value || ""));
+            break;
+          case 5:
+            if (token.value == null) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+            }
+            node.items.push(parseNamed(tokenizer, token.value || ""));
+            break;
+          case 7:
+            if (token.value == null) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+            }
+            node.items.push(parseLiteral(tokenizer, token.value || ""));
+            break;
+          case 8:
+            const parsed = parseLinked(tokenizer);
+            node.items.push(parsed.node);
+            nextToken = parsed.nextConsumeToken || null;
+            break;
+        }
+      } while (context.currentType !== 14 && context.currentType !== 1);
+      const endOffset = context.currentType === 1 ? context.lastOffset : tokenizer.currentOffset();
+      const endLoc = context.currentType === 1 ? context.lastEndLoc : tokenizer.currentPosition();
+      endNode(node, endOffset, endLoc);
+      return node;
+    }
+    function parsePlural(tokenizer, offset, loc, msgNode) {
+      const context = tokenizer.context();
+      let hasEmptyMessage = msgNode.items.length === 0;
+      const node = startNode(1, offset, loc);
+      node.cases = [];
+      node.cases.push(msgNode);
+      do {
+        const msg = parseMessage(tokenizer);
+        if (!hasEmptyMessage) {
+          hasEmptyMessage = msg.items.length === 0;
+        }
+        node.cases.push(msg);
+      } while (context.currentType !== 14);
+      if (hasEmptyMessage) {
+        emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);
+      }
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    function parseResource(tokenizer) {
+      const context = tokenizer.context();
+      const { offset, startLoc } = context;
+      const msgNode = parseMessage(tokenizer);
+      if (context.currentType === 14) {
+        return msgNode;
+      } else {
+        return parsePlural(tokenizer, offset, startLoc, msgNode);
+      }
+    }
+    function parse2(source) {
+      const tokenizer = createTokenizer(source, assign({}, options));
+      const context = tokenizer.context();
+      const node = startNode(0, context.offset, context.startLoc);
+      if (location && node.loc) {
+        node.loc.source = source;
+      }
+      node.body = parseResource(tokenizer);
+      if (options.onCacheKey) {
+        node.cacheKey = options.onCacheKey(source);
+      }
+      if (context.currentType !== 14) {
+        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || "");
+      }
+      endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+      return node;
+    }
+    return { parse: parse2 };
+  }
+  function getTokenCaption(token) {
+    if (token.type === 14) {
+      return "EOF";
+    }
+    const name = (token.value || "").replace(/\r?\n/gu, "\\n");
+    return name.length > 10 ? name.slice(0, 9) + "…" : name;
+  }
+  function createTransformer(ast, options = {}) {
+    const _context = {
+      ast,
+      helpers: /* @__PURE__ */ new Set()
+    };
+    const context = () => _context;
+    const helper = (name) => {
+      _context.helpers.add(name);
+      return name;
+    };
+    return { context, helper };
+  }
+  function traverseNodes(nodes, transformer) {
+    for (let i = 0; i < nodes.length; i++) {
+      traverseNode(nodes[i], transformer);
+    }
+  }
+  function traverseNode(node, transformer) {
+    switch (node.type) {
+      case 1:
+        traverseNodes(node.cases, transformer);
+        transformer.helper(
+          "plural"
+          /* HelperNameMap.PLURAL */
+        );
+        break;
+      case 2:
+        traverseNodes(node.items, transformer);
+        break;
+      case 6:
+        const linked = node;
+        traverseNode(linked.key, transformer);
+        transformer.helper(
+          "linked"
+          /* HelperNameMap.LINKED */
+        );
+        transformer.helper(
+          "type"
+          /* HelperNameMap.TYPE */
+        );
+        break;
+      case 5:
+        transformer.helper(
+          "interpolate"
+          /* HelperNameMap.INTERPOLATE */
+        );
+        transformer.helper(
+          "list"
+          /* HelperNameMap.LIST */
+        );
+        break;
+      case 4:
+        transformer.helper(
+          "interpolate"
+          /* HelperNameMap.INTERPOLATE */
+        );
+        transformer.helper(
+          "named"
+          /* HelperNameMap.NAMED */
+        );
+        break;
+    }
+  }
+  function transform(ast, options = {}) {
+    const transformer = createTransformer(ast);
+    transformer.helper(
+      "normalize"
+      /* HelperNameMap.NORMALIZE */
+    );
+    ast.body && traverseNode(ast.body, transformer);
+    const context = transformer.context();
+    ast.helpers = Array.from(context.helpers);
+  }
+  function optimize(ast) {
+    const body = ast.body;
+    if (body.type === 2) {
+      optimizeMessageNode(body);
+    } else {
+      body.cases.forEach((c) => optimizeMessageNode(c));
+    }
+    return ast;
+  }
+  function optimizeMessageNode(message) {
+    if (message.items.length === 1) {
+      const item = message.items[0];
+      if (item.type === 3 || item.type === 9) {
+        message.static = item.value;
+        delete item.value;
+      }
+    } else {
+      const values = [];
+      for (let i = 0; i < message.items.length; i++) {
+        const item = message.items[i];
+        if (!(item.type === 3 || item.type === 9)) {
+          break;
+        }
+        if (item.value == null) {
+          break;
+        }
+        values.push(item.value);
+      }
+      if (values.length === message.items.length) {
+        message.static = join(values);
+        for (let i = 0; i < message.items.length; i++) {
+          const item = message.items[i];
+          if (item.type === 3 || item.type === 9) {
+            delete item.value;
+          }
+        }
+      }
+    }
+  }
+  const ERROR_DOMAIN$1 = "minifier";
+  function minify(node) {
+    node.t = node.type;
+    switch (node.type) {
+      case 0:
+        const resource = node;
+        minify(resource.body);
+        resource.b = resource.body;
+        delete resource.body;
+        break;
+      case 1:
+        const plural = node;
+        const cases = plural.cases;
+        for (let i = 0; i < cases.length; i++) {
+          minify(cases[i]);
+        }
+        plural.c = cases;
+        delete plural.cases;
+        break;
+      case 2:
+        const message = node;
+        const items = message.items;
+        for (let i = 0; i < items.length; i++) {
+          minify(items[i]);
+        }
+        message.i = items;
+        delete message.items;
+        if (message.static) {
+          message.s = message.static;
+          delete message.static;
+        }
+        break;
+      case 3:
+      case 9:
+      case 8:
+      case 7:
+        const valueNode = node;
+        if (valueNode.value) {
+          valueNode.v = valueNode.value;
+          delete valueNode.value;
+        }
+        break;
+      case 6:
+        const linked = node;
+        minify(linked.key);
+        linked.k = linked.key;
+        delete linked.key;
+        if (linked.modifier) {
+          minify(linked.modifier);
+          linked.m = linked.modifier;
+          delete linked.modifier;
+        }
+        break;
+      case 5:
+        const list = node;
+        list.i = list.index;
+        delete list.index;
+        break;
+      case 4:
+        const named = node;
+        named.k = named.key;
+        delete named.key;
+        break;
+      default: {
+        throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {
+          domain: ERROR_DOMAIN$1,
+          args: [node.type]
+        });
+      }
+    }
+    delete node.type;
+  }
+  const ERROR_DOMAIN = "parser";
+  function createCodeGenerator(ast, options) {
+    const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;
+    const location = options.location !== false;
+    const _context = {
+      filename,
+      code: "",
+      column: 1,
+      line: 1,
+      offset: 0,
+      map: void 0,
+      breakLineCode,
+      needIndent: _needIndent,
+      indentLevel: 0
+    };
+    if (location && ast.loc) {
+      _context.source = ast.loc.source;
+    }
+    const context = () => _context;
+    function push(code2, node) {
+      _context.code += code2;
+    }
+    function _newline(n, withBreakLine = true) {
+      const _breakLineCode = withBreakLine ? breakLineCode : "";
+      push(_needIndent ? _breakLineCode + `  `.repeat(n) : _breakLineCode);
+    }
+    function indent(withNewLine = true) {
+      const level = ++_context.indentLevel;
+      withNewLine && _newline(level);
+    }
+    function deindent(withNewLine = true) {
+      const level = --_context.indentLevel;
+      withNewLine && _newline(level);
+    }
+    function newline() {
+      _newline(_context.indentLevel);
+    }
+    const helper = (key) => `_${key}`;
+    const needIndent = () => _context.needIndent;
+    return {
+      context,
+      push,
+      indent,
+      deindent,
+      newline,
+      helper,
+      needIndent
+    };
+  }
+  function generateLinkedNode(generator, node) {
+    const { helper } = generator;
+    generator.push(`${helper(
+      "linked"
+      /* HelperNameMap.LINKED */
+    )}(`);
+    generateNode(generator, node.key);
+    if (node.modifier) {
+      generator.push(`, `);
+      generateNode(generator, node.modifier);
+      generator.push(`, _type`);
+    } else {
+      generator.push(`, undefined, _type`);
+    }
+    generator.push(`)`);
+  }
+  function generateMessageNode(generator, node) {
+    const { helper, needIndent } = generator;
+    generator.push(`${helper(
+      "normalize"
+      /* HelperNameMap.NORMALIZE */
+    )}([`);
+    generator.indent(needIndent());
+    const length = node.items.length;
+    for (let i = 0; i < length; i++) {
+      generateNode(generator, node.items[i]);
+      if (i === length - 1) {
+        break;
+      }
+      generator.push(", ");
+    }
+    generator.deindent(needIndent());
+    generator.push("])");
+  }
+  function generatePluralNode(generator, node) {
+    const { helper, needIndent } = generator;
+    if (node.cases.length > 1) {
+      generator.push(`${helper(
+        "plural"
+        /* HelperNameMap.PLURAL */
+      )}([`);
+      generator.indent(needIndent());
+      const length = node.cases.length;
+      for (let i = 0; i < length; i++) {
+        generateNode(generator, node.cases[i]);
+        if (i === length - 1) {
+          break;
+        }
+        generator.push(", ");
+      }
+      generator.deindent(needIndent());
+      generator.push(`])`);
+    }
+  }
+  function generateResource(generator, node) {
+    if (node.body) {
+      generateNode(generator, node.body);
+    } else {
+      generator.push("null");
+    }
+  }
+  function generateNode(generator, node) {
+    const { helper } = generator;
+    switch (node.type) {
+      case 0:
+        generateResource(generator, node);
+        break;
+      case 1:
+        generatePluralNode(generator, node);
+        break;
+      case 2:
+        generateMessageNode(generator, node);
+        break;
+      case 6:
+        generateLinkedNode(generator, node);
+        break;
+      case 8:
+        generator.push(JSON.stringify(node.value), node);
+        break;
+      case 7:
+        generator.push(JSON.stringify(node.value), node);
+        break;
+      case 5:
+        generator.push(`${helper(
+          "interpolate"
+          /* HelperNameMap.INTERPOLATE */
+        )}(${helper(
+          "list"
+          /* HelperNameMap.LIST */
+        )}(${node.index}))`, node);
+        break;
+      case 4:
+        generator.push(`${helper(
+          "interpolate"
+          /* HelperNameMap.INTERPOLATE */
+        )}(${helper(
+          "named"
+          /* HelperNameMap.NAMED */
+        )}(${JSON.stringify(node.key)}))`, node);
+        break;
+      case 9:
+        generator.push(JSON.stringify(node.value), node);
+        break;
+      case 3:
+        generator.push(JSON.stringify(node.value), node);
+        break;
+      default: {
+        throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {
+          domain: ERROR_DOMAIN,
+          args: [node.type]
+        });
+      }
+    }
+  }
+  const generate = (ast, options = {}) => {
+    const mode = isString(options.mode) ? options.mode : "normal";
+    const filename = isString(options.filename) ? options.filename : "message.intl";
+    const sourceMap = !!options.sourceMap;
+    const breakLineCode = options.breakLineCode != null ? options.breakLineCode : mode === "arrow" ? ";" : "\n";
+    const needIndent = options.needIndent ? options.needIndent : mode !== "arrow";
+    const helpers = ast.helpers || [];
+    const generator = createCodeGenerator(ast, {
+      mode,
+      filename,
+      sourceMap,
+      breakLineCode,
+      needIndent
+    });
+    generator.push(mode === "normal" ? `function __msg__ (ctx) {` : `(ctx) => {`);
+    generator.indent(needIndent);
+    if (helpers.length > 0) {
+      generator.push(`const { ${join(helpers.map((s) => `${s}: _${s}`), ", ")} } = ctx`);
+      generator.newline();
+    }
+    generator.push(`return `);
+    generateNode(generator, ast);
+    generator.deindent(needIndent);
+    generator.push(`}`);
+    delete ast.helpers;
+    const { code: code2, map } = generator.context();
+    return {
+      ast,
+      code: code2,
+      map: map ? map.toJSON() : void 0
+      // eslint-disable-line @typescript-eslint/no-explicit-any
+    };
+  };
+  function baseCompile$1(source, options = {}) {
+    const assignedOptions = assign({}, options);
+    const jit = !!assignedOptions.jit;
+    const enalbeMinify = !!assignedOptions.minify;
+    const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;
+    const parser = createParser(assignedOptions);
+    const ast = parser.parse(source);
+    if (!jit) {
+      transform(ast, assignedOptions);
+      return generate(ast, assignedOptions);
+    } else {
+      enambeOptimize && optimize(ast);
+      enalbeMinify && minify(ast);
+      return { ast, code: "" };
+    }
+  }
+  /*!
+    * core-base v9.6.2
+    * (c) 2023 kazuya kawaguchi
+    * Released under the MIT License.
+    */
+  function initFeatureFlags$1() {
+    if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") {
+      getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
+    }
+    if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") {
+      getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;
+    }
+    if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") {
+      getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;
+    }
+  }
+  const pathStateMachine = [];
+  pathStateMachine[
+    0
+    /* States.BEFORE_PATH */
+  ] = {
+    [
+      "w"
+      /* PathCharTypes.WORKSPACE */
+    ]: [
+      0
+      /* States.BEFORE_PATH */
+    ],
+    [
+      "i"
+      /* PathCharTypes.IDENT */
+    ]: [
+      3,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "["
+      /* PathCharTypes.LEFT_BRACKET */
+    ]: [
+      4
+      /* States.IN_SUB_PATH */
+    ],
+    [
+      "o"
+      /* PathCharTypes.END_OF_FAIL */
+    ]: [
+      7
+      /* States.AFTER_PATH */
+    ]
+  };
+  pathStateMachine[
+    1
+    /* States.IN_PATH */
+  ] = {
+    [
+      "w"
+      /* PathCharTypes.WORKSPACE */
+    ]: [
+      1
+      /* States.IN_PATH */
+    ],
+    [
+      "."
+      /* PathCharTypes.DOT */
+    ]: [
+      2
+      /* States.BEFORE_IDENT */
+    ],
+    [
+      "["
+      /* PathCharTypes.LEFT_BRACKET */
+    ]: [
+      4
+      /* States.IN_SUB_PATH */
+    ],
+    [
+      "o"
+      /* PathCharTypes.END_OF_FAIL */
+    ]: [
+      7
+      /* States.AFTER_PATH */
+    ]
+  };
+  pathStateMachine[
+    2
+    /* States.BEFORE_IDENT */
+  ] = {
+    [
+      "w"
+      /* PathCharTypes.WORKSPACE */
+    ]: [
+      2
+      /* States.BEFORE_IDENT */
+    ],
+    [
+      "i"
+      /* PathCharTypes.IDENT */
+    ]: [
+      3,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "0"
+      /* PathCharTypes.ZERO */
+    ]: [
+      3,
+      0
+      /* Actions.APPEND */
+    ]
+  };
+  pathStateMachine[
+    3
+    /* States.IN_IDENT */
+  ] = {
+    [
+      "i"
+      /* PathCharTypes.IDENT */
+    ]: [
+      3,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "0"
+      /* PathCharTypes.ZERO */
+    ]: [
+      3,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "w"
+      /* PathCharTypes.WORKSPACE */
+    ]: [
+      1,
+      1
+      /* Actions.PUSH */
+    ],
+    [
+      "."
+      /* PathCharTypes.DOT */
+    ]: [
+      2,
+      1
+      /* Actions.PUSH */
+    ],
+    [
+      "["
+      /* PathCharTypes.LEFT_BRACKET */
+    ]: [
+      4,
+      1
+      /* Actions.PUSH */
+    ],
+    [
+      "o"
+      /* PathCharTypes.END_OF_FAIL */
+    ]: [
+      7,
+      1
+      /* Actions.PUSH */
+    ]
+  };
+  pathStateMachine[
+    4
+    /* States.IN_SUB_PATH */
+  ] = {
+    [
+      "'"
+      /* PathCharTypes.SINGLE_QUOTE */
+    ]: [
+      5,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      '"'
+      /* PathCharTypes.DOUBLE_QUOTE */
+    ]: [
+      6,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "["
+      /* PathCharTypes.LEFT_BRACKET */
+    ]: [
+      4,
+      2
+      /* Actions.INC_SUB_PATH_DEPTH */
+    ],
+    [
+      "]"
+      /* PathCharTypes.RIGHT_BRACKET */
+    ]: [
+      1,
+      3
+      /* Actions.PUSH_SUB_PATH */
+    ],
+    [
+      "o"
+      /* PathCharTypes.END_OF_FAIL */
+    ]: 8,
+    [
+      "l"
+      /* PathCharTypes.ELSE */
+    ]: [
+      4,
+      0
+      /* Actions.APPEND */
+    ]
+  };
+  pathStateMachine[
+    5
+    /* States.IN_SINGLE_QUOTE */
+  ] = {
+    [
+      "'"
+      /* PathCharTypes.SINGLE_QUOTE */
+    ]: [
+      4,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "o"
+      /* PathCharTypes.END_OF_FAIL */
+    ]: 8,
+    [
+      "l"
+      /* PathCharTypes.ELSE */
+    ]: [
+      5,
+      0
+      /* Actions.APPEND */
+    ]
+  };
+  pathStateMachine[
+    6
+    /* States.IN_DOUBLE_QUOTE */
+  ] = {
+    [
+      '"'
+      /* PathCharTypes.DOUBLE_QUOTE */
+    ]: [
+      4,
+      0
+      /* Actions.APPEND */
+    ],
+    [
+      "o"
+      /* PathCharTypes.END_OF_FAIL */
+    ]: 8,
+    [
+      "l"
+      /* PathCharTypes.ELSE */
+    ]: [
+      6,
+      0
+      /* Actions.APPEND */
+    ]
+  };
+  const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;
+  function isLiteral(exp) {
+    return literalValueRE.test(exp);
+  }
+  function stripQuotes(str) {
+    const a = str.charCodeAt(0);
+    const b = str.charCodeAt(str.length - 1);
+    return a === b && (a === 34 || a === 39) ? str.slice(1, -1) : str;
+  }
+  function getPathCharType(ch) {
+    if (ch === void 0 || ch === null) {
+      return "o";
+    }
+    const code2 = ch.charCodeAt(0);
+    switch (code2) {
+      case 91:
+      case 93:
+      case 46:
+      case 34:
+      case 39:
+        return ch;
+      case 95:
+      case 36:
+      case 45:
+        return "i";
+      case 9:
+      case 10:
+      case 13:
+      case 160:
+      case 65279:
+      case 8232:
+      case 8233:
+        return "w";
+    }
+    return "i";
+  }
+  function formatSubPath(path) {
+    const trimmed = path.trim();
+    if (path.charAt(0) === "0" && isNaN(parseInt(path))) {
+      return false;
+    }
+    return isLiteral(trimmed) ? stripQuotes(trimmed) : "*" + trimmed;
+  }
+  function parse(path) {
+    const keys = [];
+    let index = -1;
+    let mode = 0;
+    let subPathDepth = 0;
+    let c;
+    let key;
+    let newChar;
+    let type;
+    let transition;
+    let action;
+    let typeMap;
+    const actions = [];
+    actions[
+      0
+      /* Actions.APPEND */
+    ] = () => {
+      if (key === void 0) {
+        key = newChar;
+      } else {
+        key += newChar;
+      }
+    };
+    actions[
+      1
+      /* Actions.PUSH */
+    ] = () => {
+      if (key !== void 0) {
+        keys.push(key);
+        key = void 0;
+      }
+    };
+    actions[
+      2
+      /* Actions.INC_SUB_PATH_DEPTH */
+    ] = () => {
+      actions[
+        0
+        /* Actions.APPEND */
+      ]();
+      subPathDepth++;
+    };
+    actions[
+      3
+      /* Actions.PUSH_SUB_PATH */
+    ] = () => {
+      if (subPathDepth > 0) {
+        subPathDepth--;
+        mode = 4;
+        actions[
+          0
+          /* Actions.APPEND */
+        ]();
+      } else {
+        subPathDepth = 0;
+        if (key === void 0) {
+          return false;
+        }
+        key = formatSubPath(key);
+        if (key === false) {
+          return false;
+        } else {
+          actions[
+            1
+            /* Actions.PUSH */
+          ]();
+        }
+      }
+    };
+    function maybeUnescapeQuote() {
+      const nextChar = path[index + 1];
+      if (mode === 5 && nextChar === "'" || mode === 6 && nextChar === '"') {
+        index++;
+        newChar = "\\" + nextChar;
+        actions[
+          0
+          /* Actions.APPEND */
+        ]();
+        return true;
+      }
+    }
+    while (mode !== null) {
+      index++;
+      c = path[index];
+      if (c === "\\" && maybeUnescapeQuote()) {
+        continue;
+      }
+      type = getPathCharType(c);
+      typeMap = pathStateMachine[mode];
+      transition = typeMap[type] || typeMap[
+        "l"
+        /* PathCharTypes.ELSE */
+      ] || 8;
+      if (transition === 8) {
+        return;
+      }
+      mode = transition[0];
+      if (transition[1] !== void 0) {
+        action = actions[transition[1]];
+        if (action) {
+          newChar = c;
+          if (action() === false) {
+            return;
+          }
+        }
+      }
+      if (mode === 7) {
+        return keys;
+      }
+    }
+  }
+  const cache = /* @__PURE__ */ new Map();
+  function resolveWithKeyValue(obj, path) {
+    return isObject$1(obj) ? obj[path] : null;
+  }
+  function resolveValue(obj, path) {
+    if (!isObject$1(obj)) {
+      return null;
+    }
+    let hit = cache.get(path);
+    if (!hit) {
+      hit = parse(path);
+      if (hit) {
+        cache.set(path, hit);
+      }
+    }
+    if (!hit) {
+      return null;
+    }
+    const len = hit.length;
+    let last = obj;
+    let i = 0;
+    while (i < len) {
+      const val = last[hit[i]];
+      if (val === void 0) {
+        return null;
+      }
+      if (isFunction(last)) {
+        return null;
+      }
+      last = val;
+      i++;
+    }
+    return last;
+  }
+  const DEFAULT_MODIFIER = (str) => str;
+  const DEFAULT_MESSAGE = (ctx) => "";
+  const DEFAULT_MESSAGE_DATA_TYPE = "text";
+  const DEFAULT_NORMALIZE = (values) => values.length === 0 ? "" : join$1(values);
+  const DEFAULT_INTERPOLATE = toDisplayString;
+  function pluralDefault(choice, choicesLength) {
+    choice = Math.abs(choice);
+    if (choicesLength === 2) {
+      return choice ? choice > 1 ? 1 : 0 : 1;
+    }
+    return choice ? Math.min(choice, 2) : 0;
+  }
+  function getPluralIndex(options) {
+    const index = isNumber(options.pluralIndex) ? options.pluralIndex : -1;
+    return options.named && (isNumber(options.named.count) || isNumber(options.named.n)) ? isNumber(options.named.count) ? options.named.count : isNumber(options.named.n) ? options.named.n : index : index;
+  }
+  function normalizeNamed(pluralIndex, props) {
+    if (!props.count) {
+      props.count = pluralIndex;
+    }
+    if (!props.n) {
+      props.n = pluralIndex;
+    }
+  }
+  function createMessageContext(options = {}) {
+    const locale = options.locale;
+    const pluralIndex = getPluralIndex(options);
+    const pluralRule = isObject$1(options.pluralRules) && isString$1(locale) && isFunction(options.pluralRules[locale]) ? options.pluralRules[locale] : pluralDefault;
+    const orgPluralRule = isObject$1(options.pluralRules) && isString$1(locale) && isFunction(options.pluralRules[locale]) ? pluralDefault : void 0;
+    const plural = (messages) => {
+      return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];
+    };
+    const _list = options.list || [];
+    const list = (index) => _list[index];
+    const _named = options.named || {};
+    isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);
+    const named = (key) => _named[key];
+    function message(key) {
+      const msg = isFunction(options.messages) ? options.messages(key) : isObject$1(options.messages) ? options.messages[key] : false;
+      return !msg ? options.parent ? options.parent.message(key) : DEFAULT_MESSAGE : msg;
+    }
+    const _modifier = (name) => options.modifiers ? options.modifiers[name] : DEFAULT_MODIFIER;
+    const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize) ? options.processor.normalize : DEFAULT_NORMALIZE;
+    const interpolate = isPlainObject(options.processor) && isFunction(options.processor.interpolate) ? options.processor.interpolate : DEFAULT_INTERPOLATE;
+    const type = isPlainObject(options.processor) && isString$1(options.processor.type) ? options.processor.type : DEFAULT_MESSAGE_DATA_TYPE;
+    const linked = (key, ...args) => {
+      const [arg1, arg2] = args;
+      let type2 = "text";
+      let modifier = "";
+      if (args.length === 1) {
+        if (isObject$1(arg1)) {
+          modifier = arg1.modifier || modifier;
+          type2 = arg1.type || type2;
+        } else if (isString$1(arg1)) {
+          modifier = arg1 || modifier;
+        }
+      } else if (args.length === 2) {
+        if (isString$1(arg1)) {
+          modifier = arg1 || modifier;
+        }
+        if (isString$1(arg2)) {
+          type2 = arg2 || type2;
+        }
+      }
+      const ret = message(key)(ctx);
+      const msg = (
+        // The message in vnode resolved with linked are returned as an array by processor.nomalize
+        type2 === "vnode" && isArray(ret) && modifier ? ret[0] : ret
+      );
+      return modifier ? _modifier(modifier)(msg, type2) : msg;
+    };
+    const ctx = {
+      [
+        "list"
+        /* HelperNameMap.LIST */
+      ]: list,
+      [
+        "named"
+        /* HelperNameMap.NAMED */
+      ]: named,
+      [
+        "plural"
+        /* HelperNameMap.PLURAL */
+      ]: plural,
+      [
+        "linked"
+        /* HelperNameMap.LINKED */
+      ]: linked,
+      [
+        "message"
+        /* HelperNameMap.MESSAGE */
+      ]: message,
+      [
+        "type"
+        /* HelperNameMap.TYPE */
+      ]: type,
+      [
+        "interpolate"
+        /* HelperNameMap.INTERPOLATE */
+      ]: interpolate,
+      [
+        "normalize"
+        /* HelperNameMap.NORMALIZE */
+      ]: normalize,
+      [
+        "values"
+        /* HelperNameMap.VALUES */
+      ]: assign$1({}, _list, _named)
+    };
+    return ctx;
+  }
+  let devtools = null;
+  function setDevToolsHook(hook) {
+    devtools = hook;
+  }
+  function initI18nDevTools(i18n, version, meta) {
+    devtools && devtools.emit("i18n:init", {
+      timestamp: Date.now(),
+      i18n,
+      version,
+      meta
+    });
+  }
+  const translateDevTools = /* @__PURE__ */ createDevToolsHook(
+    "function:translate"
+    /* IntlifyDevToolsHooks.FunctionTranslate */
+  );
+  function createDevToolsHook(hook) {
+    return (payloads) => devtools && devtools.emit(hook, payloads);
+  }
+  const CoreWarnCodes = {
+    NOT_FOUND_KEY: 1,
+    FALLBACK_TO_TRANSLATE: 2,
+    CANNOT_FORMAT_NUMBER: 3,
+    FALLBACK_TO_NUMBER_FORMAT: 4,
+    CANNOT_FORMAT_DATE: 5,
+    FALLBACK_TO_DATE_FORMAT: 6,
+    EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,
+    __EXTEND_POINT__: 8
+  };
+  const warnMessages$1 = {
+    [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,
+    [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,
+    [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,
+    [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,
+    [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,
+    [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,
+    [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`
+  };
+  function getWarnMessage$1(code2, ...args) {
+    return format$2(warnMessages$1[code2], ...args);
+  }
+  function getLocale(context, options) {
+    return options.locale != null ? resolveLocale(options.locale) : resolveLocale(context.locale);
+  }
+  let _resolveLocale;
+  function resolveLocale(locale) {
+    return isString$1(locale) ? locale : _resolveLocale != null && locale.resolvedOnce ? _resolveLocale : _resolveLocale = locale();
+  }
+  function fallbackWithSimple(ctx, fallback, start) {
+    return [.../* @__PURE__ */ new Set([
+      start,
+      ...isArray(fallback) ? fallback : isObject$1(fallback) ? Object.keys(fallback) : isString$1(fallback) ? [fallback] : [start]
+    ])];
+  }
+  function fallbackWithLocaleChain(ctx, fallback, start) {
+    const startLocale = isString$1(start) ? start : DEFAULT_LOCALE;
+    const context = ctx;
+    if (!context.__localeChainCache) {
+      context.__localeChainCache = /* @__PURE__ */ new Map();
+    }
+    let chain = context.__localeChainCache.get(startLocale);
+    if (!chain) {
+      chain = [];
+      let block = [start];
+      while (isArray(block)) {
+        block = appendBlockToChain(chain, block, fallback);
+      }
+      const defaults = isArray(fallback) || !isPlainObject(fallback) ? fallback : fallback["default"] ? fallback["default"] : null;
+      block = isString$1(defaults) ? [defaults] : defaults;
+      if (isArray(block)) {
+        appendBlockToChain(chain, block, false);
+      }
+      context.__localeChainCache.set(startLocale, chain);
+    }
+    return chain;
+  }
+  function appendBlockToChain(chain, block, blocks) {
+    let follow = true;
+    for (let i = 0; i < block.length && isBoolean(follow); i++) {
+      const locale = block[i];
+      if (isString$1(locale)) {
+        follow = appendLocaleToChain(chain, block[i], blocks);
+      }
+    }
+    return follow;
+  }
+  function appendLocaleToChain(chain, locale, blocks) {
+    let follow;
+    const tokens = locale.split("-");
+    do {
+      const target = tokens.join("-");
+      follow = appendItemToChain(chain, target, blocks);
+      tokens.splice(-1, 1);
+    } while (tokens.length && follow === true);
+    return follow;
+  }
+  function appendItemToChain(chain, target, blocks) {
+    let follow = false;
+    if (!chain.includes(target)) {
+      follow = true;
+      if (target) {
+        follow = target[target.length - 1] !== "!";
+        const locale = target.replace(/!/g, "");
+        chain.push(locale);
+        if ((isArray(blocks) || isPlainObject(blocks)) && blocks[locale]) {
+          follow = blocks[locale];
+        }
+      }
+    }
+    return follow;
+  }
+  const VERSION$1 = "9.6.2";
+  const NOT_REOSLVED = -1;
+  const DEFAULT_LOCALE = "en-US";
+  const MISSING_RESOLVE_VALUE = "";
+  const capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;
+  function getDefaultLinkedModifiers() {
+    return {
+      upper: (val, type) => {
+        return type === "text" && isString$1(val) ? val.toUpperCase() : type === "vnode" && isObject$1(val) && "__v_isVNode" in val ? val.children.toUpperCase() : val;
+      },
+      lower: (val, type) => {
+        return type === "text" && isString$1(val) ? val.toLowerCase() : type === "vnode" && isObject$1(val) && "__v_isVNode" in val ? val.children.toLowerCase() : val;
+      },
+      capitalize: (val, type) => {
+        return type === "text" && isString$1(val) ? capitalize(val) : type === "vnode" && isObject$1(val) && "__v_isVNode" in val ? capitalize(val.children) : val;
+      }
+    };
+  }
+  let _compiler;
+  function registerMessageCompiler(compiler) {
+    _compiler = compiler;
+  }
+  let _resolver;
+  function registerMessageResolver(resolver) {
+    _resolver = resolver;
+  }
+  let _fallbacker;
+  function registerLocaleFallbacker(fallbacker) {
+    _fallbacker = fallbacker;
+  }
+  let _additionalMeta = null;
+  const setAdditionalMeta = (meta) => {
+    _additionalMeta = meta;
+  };
+  const getAdditionalMeta = () => _additionalMeta;
+  let _fallbackContext = null;
+  const setFallbackContext = (context) => {
+    _fallbackContext = context;
+  };
+  const getFallbackContext = () => _fallbackContext;
+  let _cid = 0;
+  function createCoreContext(options = {}) {
+    const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
+    const version = isString$1(options.version) ? options.version : VERSION$1;
+    const locale = isString$1(options.locale) || isFunction(options.locale) ? options.locale : DEFAULT_LOCALE;
+    const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
+    const fallbackLocale = isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || isString$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale;
+    const messages = isPlainObject(options.messages) ? options.messages : { [_locale]: {} };
+    const datetimeFormats = isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale]: {} };
+    const numberFormats = isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale]: {} };
+    const modifiers = assign$1({}, options.modifiers || {}, getDefaultLinkedModifiers());
+    const pluralRules = options.pluralRules || {};
+    const missing = isFunction(options.missing) ? options.missing : null;
+    const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
+    const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
+    const fallbackFormat = !!options.fallbackFormat;
+    const unresolving = !!options.unresolving;
+    const postTranslation = isFunction(options.postTranslation) ? options.postTranslation : null;
+    const processor = isPlainObject(options.processor) ? options.processor : null;
+    const warnHtmlMessage = isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
+    const escapeParameter = !!options.escapeParameter;
+    const messageCompiler = isFunction(options.messageCompiler) ? options.messageCompiler : _compiler;
+    if ({}.NODE_ENV !== "production" && true && true && isFunction(options.messageCompiler)) {
+      warnOnce(getWarnMessage$1(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));
+    }
+    const messageResolver = isFunction(options.messageResolver) ? options.messageResolver : _resolver || resolveWithKeyValue;
+    const localeFallbacker = isFunction(options.localeFallbacker) ? options.localeFallbacker : _fallbacker || fallbackWithSimple;
+    const fallbackContext = isObject$1(options.fallbackContext) ? options.fallbackContext : void 0;
+    const internalOptions = options;
+    const __datetimeFormatters = isObject$1(internalOptions.__datetimeFormatters) ? internalOptions.__datetimeFormatters : /* @__PURE__ */ new Map();
+    const __numberFormatters = isObject$1(internalOptions.__numberFormatters) ? internalOptions.__numberFormatters : /* @__PURE__ */ new Map();
+    const __meta = isObject$1(internalOptions.__meta) ? internalOptions.__meta : {};
+    _cid++;
+    const context = {
+      version,
+      cid: _cid,
+      locale,
+      fallbackLocale,
+      messages,
+      modifiers,
+      pluralRules,
+      missing,
+      missingWarn,
+      fallbackWarn,
+      fallbackFormat,
+      unresolving,
+      postTranslation,
+      processor,
+      warnHtmlMessage,
+      escapeParameter,
+      messageCompiler,
+      messageResolver,
+      localeFallbacker,
+      fallbackContext,
+      onWarn,
+      __meta
+    };
+    {
+      context.datetimeFormats = datetimeFormats;
+      context.numberFormats = numberFormats;
+      context.__datetimeFormatters = __datetimeFormatters;
+      context.__numberFormatters = __numberFormatters;
+    }
+    if ({}.NODE_ENV !== "production") {
+      context.__v_emitter = internalOptions.__v_emitter != null ? internalOptions.__v_emitter : void 0;
+    }
+    if ({}.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
+      initI18nDevTools(context, version, __meta);
+    }
+    return context;
+  }
+  function isTranslateFallbackWarn(fallback, key) {
+    return fallback instanceof RegExp ? fallback.test(key) : fallback;
+  }
+  function isTranslateMissingWarn(missing, key) {
+    return missing instanceof RegExp ? missing.test(key) : missing;
+  }
+  function handleMissing(context, key, locale, missingWarn, type) {
+    const { missing, onWarn } = context;
+    if ({}.NODE_ENV !== "production") {
+      const emitter = context.__v_emitter;
+      if (emitter) {
+        emitter.emit("missing", {
+          locale,
+          key,
+          type,
+          groupId: `${type}:${key}`
+        });
+      }
+    }
+    if (missing !== null) {
+      const ret = missing(context, locale, key, type);
+      return isString$1(ret) ? ret : key;
+    } else {
+      if ({}.NODE_ENV !== "production" && isTranslateMissingWarn(missingWarn, key)) {
+        onWarn(getWarnMessage$1(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));
+      }
+      return key;
+    }
+  }
+  function updateFallbackLocale(ctx, locale, fallback) {
+    const context = ctx;
+    context.__localeChainCache = /* @__PURE__ */ new Map();
+    ctx.localeFallbacker(ctx, fallback, locale);
+  }
+  function format(ast) {
+    const msg = (ctx) => formatParts(ctx, ast);
+    return msg;
+  }
+  function formatParts(ctx, ast) {
+    const body = ast.b || ast.body;
+    if ((body.t || body.type) === 1) {
+      const plural = body;
+      const cases = plural.c || plural.cases;
+      return ctx.plural(cases.reduce((messages, c) => [
+        ...messages,
+        formatMessageParts(ctx, c)
+      ], []));
+    } else {
+      return formatMessageParts(ctx, body);
+    }
+  }
+  function formatMessageParts(ctx, node) {
+    const _static = node.s || node.static;
+    if (_static) {
+      return ctx.type === "text" ? _static : ctx.normalize([_static]);
+    } else {
+      const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);
+      return ctx.normalize(messages);
+    }
+  }
+  function formatMessagePart(ctx, node) {
+    const type = node.t || node.type;
+    switch (type) {
+      case 3:
+        const text = node;
+        return text.v || text.value;
+      case 9:
+        const literal = node;
+        return literal.v || literal.value;
+      case 4:
+        const named = node;
+        return ctx.interpolate(ctx.named(named.k || named.key));
+      case 5:
+        const list = node;
+        return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
+      case 6:
+        const linked = node;
+        const modifier = linked.m || linked.modifier;
+        return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : void 0, ctx.type);
+      case 7:
+        const linkedKey = node;
+        return linkedKey.v || linkedKey.value;
+      case 8:
+        const linkedModifier = node;
+        return linkedModifier.v || linkedModifier.value;
+      default:
+        throw new Error(`unhandled node type on format message part: ${type}`);
+    }
+  }
+  const code$2 = CompileErrorCodes.__EXTEND_POINT__;
+  const inc$2 = incrementer(code$2);
+  const CoreErrorCodes = {
+    INVALID_ARGUMENT: code$2,
+    INVALID_DATE_ARGUMENT: inc$2(),
+    INVALID_ISO_DATE_ARGUMENT: inc$2(),
+    NOT_SUPPORT_NON_STRING_MESSAGE: inc$2(),
+    __EXTEND_POINT__: inc$2()
+    // 22
+  };
+  function createCoreError(code2) {
+    return createCompileError(code2, null, {}.NODE_ENV !== "production" ? { messages: errorMessages$1 } : void 0);
+  }
+  const errorMessages$1 = {
+    [CoreErrorCodes.INVALID_ARGUMENT]: "Invalid arguments",
+    [CoreErrorCodes.INVALID_DATE_ARGUMENT]: "The date provided is an invalid Date object.Make sure your Date represents a valid date.",
+    [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: "The argument provided is not a valid ISO date string",
+    [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: "Not support non-string message"
+  };
+  const WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;
+  function checkHtmlMessage(source, warnHtmlMessage) {
+    if (warnHtmlMessage && detectHtmlTag(source)) {
+      warn(format$2(WARN_MESSAGE, { source }));
+    }
+  }
+  const defaultOnCacheKey = (message) => message;
+  let compileCache = /* @__PURE__ */ Object.create(null);
+  const isMessageAST = (val) => isObject$1(val) && (val.t === 0 || val.type === 0) && ("b" in val || "body" in val);
+  function baseCompile(message, options = {}) {
+    let detectError = false;
+    const onError = options.onError || defaultOnError;
+    options.onError = (err) => {
+      detectError = true;
+      onError(err);
+    };
+    return { ...baseCompile$1(message, options), detectError };
+  }
+  const compileToFunction = (message, context) => {
+    if (!isString$1(message)) {
+      throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);
+    }
+    {
+      const warnHtmlMessage = isBoolean(context.warnHtmlMessage) ? context.warnHtmlMessage : true;
+      ({}).NODE_ENV !== "production" && checkHtmlMessage(message, warnHtmlMessage);
+      const onCacheKey = context.onCacheKey || defaultOnCacheKey;
+      const cacheKey = onCacheKey(message);
+      const cached = compileCache[cacheKey];
+      if (cached) {
+        return cached;
+      }
+      const { code: code2, detectError } = baseCompile(message, context);
+      const msg = new Function(`return ${code2}`)();
+      return !detectError ? compileCache[cacheKey] = msg : msg;
+    }
+  };
+  function compile(message, context) {
+    if (__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__ && isString$1(message)) {
+      const warnHtmlMessage = isBoolean(context.warnHtmlMessage) ? context.warnHtmlMessage : true;
+      ({}).NODE_ENV !== "production" && checkHtmlMessage(message, warnHtmlMessage);
+      const onCacheKey = context.onCacheKey || defaultOnCacheKey;
+      const cacheKey = onCacheKey(message);
+      const cached = compileCache[cacheKey];
+      if (cached) {
+        return cached;
+      }
+      const { ast, detectError } = baseCompile(message, {
+        ...context,
+        location: {}.NODE_ENV !== "production",
+        jit: true
+      });
+      const msg = format(ast);
+      return !detectError ? compileCache[cacheKey] = msg : msg;
+    } else {
+      if ({}.NODE_ENV !== "production" && !isMessageAST(message)) {
+        warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);
+        return () => message;
+      }
+      const cacheKey = message.cacheKey;
+      if (cacheKey) {
+        const cached = compileCache[cacheKey];
+        if (cached) {
+          return cached;
+        }
+        return compileCache[cacheKey] = format(message);
+      } else {
+        return format(message);
+      }
+    }
+  }
+  const NOOP_MESSAGE_FUNCTION = () => "";
+  const isMessageFunction = (val) => isFunction(val);
+  function translate(context, ...args) {
+    const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;
+    const [key, options] = parseTranslateArgs(...args);
+    const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
+    const fallbackWarn = isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
+    const escapeParameter = isBoolean(options.escapeParameter) ? options.escapeParameter : context.escapeParameter;
+    const resolvedMessage = !!options.resolvedMessage;
+    const defaultMsgOrKey = isString$1(options.default) || isBoolean(options.default) ? !isBoolean(options.default) ? options.default : !messageCompiler ? () => key : key : fallbackFormat ? !messageCompiler ? () => key : key : "";
+    const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== "";
+    const locale = getLocale(context, options);
+    escapeParameter && escapeParams(options);
+    let [formatScope, targetLocale, message] = !resolvedMessage ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) : [
+      key,
+      locale,
+      messages[locale] || {}
+    ];
+    let format2 = formatScope;
+    let cacheBaseKey = key;
+    if (!resolvedMessage && !(isString$1(format2) || isMessageAST(format2) || isMessageFunction(format2))) {
+      if (enableDefaultMsg) {
+        format2 = defaultMsgOrKey;
+        cacheBaseKey = format2;
+      }
+    }
+    if (!resolvedMessage && (!(isString$1(format2) || isMessageAST(format2) || isMessageFunction(format2)) || !isString$1(targetLocale))) {
+      return unresolving ? NOT_REOSLVED : key;
+    }
+    if ({}.NODE_ENV !== "production" && isString$1(format2) && context.messageCompiler == null) {
+      warn(`The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return '${key}'.`);
+      return key;
+    }
+    let occurred = false;
+    const onError = () => {
+      occurred = true;
+    };
+    const msg = !isMessageFunction(format2) ? compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) : format2;
+    if (occurred) {
+      return format2;
+    }
+    const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);
+    const msgContext = createMessageContext(ctxOptions);
+    const messaged = evaluateMessage(context, msg, msgContext);
+    const ret = postTranslation ? postTranslation(messaged, key) : messaged;
+    if ({}.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
+      const payloads = {
+        timestamp: Date.now(),
+        key: isString$1(key) ? key : isMessageFunction(format2) ? format2.key : "",
+        locale: targetLocale || (isMessageFunction(format2) ? format2.locale : ""),
+        format: isString$1(format2) ? format2 : isMessageFunction(format2) ? format2.source : "",
+        message: ret
+      };
+      payloads.meta = assign$1({}, context.__meta, getAdditionalMeta() || {});
+      translateDevTools(payloads);
+    }
+    return ret;
+  }
+  function escapeParams(options) {
+    if (isArray(options.list)) {
+      options.list = options.list.map((item) => isString$1(item) ? escapeHtml(item) : item);
+    } else if (isObject$1(options.named)) {
+      Object.keys(options.named).forEach((key) => {
+        if (isString$1(options.named[key])) {
+          options.named[key] = escapeHtml(options.named[key]);
+        }
+      });
+    }
+  }
+  function resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {
+    const { messages, onWarn, messageResolver: resolveValue2, localeFallbacker } = context;
+    const locales = localeFallbacker(context, fallbackLocale, locale);
+    let message = {};
+    let targetLocale;
+    let format2 = null;
+    let from = locale;
+    let to = null;
+    const type = "translate";
+    for (let i = 0; i < locales.length; i++) {
+      targetLocale = to = locales[i];
+      if ({}.NODE_ENV !== "production" && locale !== targetLocale && isTranslateFallbackWarn(fallbackWarn, key)) {
+        onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {
+          key,
+          target: targetLocale
+        }));
+      }
+      if ({}.NODE_ENV !== "production" && locale !== targetLocale) {
+        const emitter = context.__v_emitter;
+        if (emitter) {
+          emitter.emit("fallback", {
+            type,
+            key,
+            from,
+            to,
+            groupId: `${type}:${key}`
+          });
+        }
+      }
+      message = messages[targetLocale] || {};
+      let start = null;
+      let startTag;
+      let endTag;
+      if ({}.NODE_ENV !== "production" && inBrowser) {
+        start = window.performance.now();
+        startTag = "intlify-message-resolve-start";
+        endTag = "intlify-message-resolve-end";
+        mark && mark(startTag);
+      }
+      if ((format2 = resolveValue2(message, key)) === null) {
+        format2 = message[key];
+      }
+      if ({}.NODE_ENV !== "production" && inBrowser) {
+        const end = window.performance.now();
+        const emitter = context.__v_emitter;
+        if (emitter && start && format2) {
+          emitter.emit("message-resolve", {
+            type: "message-resolve",
+            key,
+            message: format2,
+            time: end - start,
+            groupId: `${type}:${key}`
+          });
+        }
+        if (startTag && endTag && mark && measure) {
+          mark(endTag);
+          measure("intlify message resolve", startTag, endTag);
+        }
+      }
+      if (isString$1(format2) || isMessageAST(format2) || isMessageFunction(format2)) {
+        break;
+      }
+      const missingRet = handleMissing(
+        context,
+        // eslint-disable-line @typescript-eslint/no-explicit-any
+        key,
+        targetLocale,
+        missingWarn,
+        type
+      );
+      if (missingRet !== key) {
+        format2 = missingRet;
+      }
+      from = to;
+    }
+    return [format2, targetLocale, message];
+  }
+  function compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) {
+    const { messageCompiler, warnHtmlMessage } = context;
+    if (isMessageFunction(format2)) {
+      const msg2 = format2;
+      msg2.locale = msg2.locale || targetLocale;
+      msg2.key = msg2.key || key;
+      return msg2;
+    }
+    if (messageCompiler == null) {
+      const msg2 = () => format2;
+      msg2.locale = targetLocale;
+      msg2.key = key;
+      return msg2;
+    }
+    let start = null;
+    let startTag;
+    let endTag;
+    if ({}.NODE_ENV !== "production" && inBrowser) {
+      start = window.performance.now();
+      startTag = "intlify-message-compilation-start";
+      endTag = "intlify-message-compilation-end";
+      mark && mark(startTag);
+    }
+    const msg = messageCompiler(format2, getCompileContext(context, targetLocale, cacheBaseKey, format2, warnHtmlMessage, onError));
+    if ({}.NODE_ENV !== "production" && inBrowser) {
+      const end = window.performance.now();
+      const emitter = context.__v_emitter;
+      if (emitter && start) {
+        emitter.emit("message-compilation", {
+          type: "message-compilation",
+          message: format2,
+          time: end - start,
+          groupId: `${"translate"}:${key}`
+        });
+      }
+      if (startTag && endTag && mark && measure) {
+        mark(endTag);
+        measure("intlify message compilation", startTag, endTag);
+      }
+    }
+    msg.locale = targetLocale;
+    msg.key = key;
+    msg.source = format2;
+    return msg;
+  }
+  function evaluateMessage(context, msg, msgCtx) {
+    let start = null;
+    let startTag;
+    let endTag;
+    if ({}.NODE_ENV !== "production" && inBrowser) {
+      start = window.performance.now();
+      startTag = "intlify-message-evaluation-start";
+      endTag = "intlify-message-evaluation-end";
+      mark && mark(startTag);
+    }
+    const messaged = msg(msgCtx);
+    if ({}.NODE_ENV !== "production" && inBrowser) {
+      const end = window.performance.now();
+      const emitter = context.__v_emitter;
+      if (emitter && start) {
+        emitter.emit("message-evaluation", {
+          type: "message-evaluation",
+          value: messaged,
+          time: end - start,
+          groupId: `${"translate"}:${msg.key}`
+        });
+      }
+      if (startTag && endTag && mark && measure) {
+        mark(endTag);
+        measure("intlify message evaluation", startTag, endTag);
+      }
+    }
+    return messaged;
+  }
+  function parseTranslateArgs(...args) {
+    const [arg1, arg2, arg3] = args;
+    const options = {};
+    if (!isString$1(arg1) && !isNumber(arg1) && !isMessageFunction(arg1) && !isMessageAST(arg1)) {
+      throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+    }
+    const key = isNumber(arg1) ? String(arg1) : isMessageFunction(arg1) ? arg1 : arg1;
+    if (isNumber(arg2)) {
+      options.plural = arg2;
+    } else if (isString$1(arg2)) {
+      options.default = arg2;
+    } else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {
+      options.named = arg2;
+    } else if (isArray(arg2)) {
+      options.list = arg2;
+    }
+    if (isNumber(arg3)) {
+      options.plural = arg3;
+    } else if (isString$1(arg3)) {
+      options.default = arg3;
+    } else if (isPlainObject(arg3)) {
+      assign$1(options, arg3);
+    }
+    return [key, options];
+  }
+  function getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {
+    return {
+      locale,
+      key,
+      warnHtmlMessage,
+      onError: (err) => {
+        onError && onError(err);
+        if ({}.NODE_ENV !== "production") {
+          const _source = getSourceForCodeFrame(source);
+          const message = `Message compilation error: ${err.message}`;
+          const codeFrame = err.location && _source && generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);
+          const emitter = context.__v_emitter;
+          if (emitter && _source) {
+            emitter.emit("compile-error", {
+              message: _source,
+              error: err.message,
+              start: err.location && err.location.start.offset,
+              end: err.location && err.location.end.offset,
+              groupId: `${"translate"}:${key}`
+            });
+          }
+          console.error(codeFrame ? `${message}
+${codeFrame}` : message);
+        } else {
+          throw err;
+        }
+      },
+      onCacheKey: (source2) => generateFormatCacheKey(locale, key, source2)
+    };
+  }
+  function getSourceForCodeFrame(source) {
+    var _a;
+    if (isString$1(source))
+      ;
+    else {
+      if ((_a = source.loc) == null ? void 0 : _a.source) {
+        return source.loc.source;
+      }
+    }
+  }
+  function getMessageContextOptions(context, locale, message, options) {
+    const { modifiers, pluralRules, messageResolver: resolveValue2, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;
+    const resolveMessage = (key) => {
+      let val = resolveValue2(message, key);
+      if (val == null && fallbackContext) {
+        const [, , message2] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);
+        val = resolveValue2(message2, key);
+      }
+      if (isString$1(val) || isMessageAST(val)) {
+        let occurred = false;
+        const onError = () => {
+          occurred = true;
+        };
+        const msg = compileMessageFormat(context, key, locale, val, key, onError);
+        return !occurred ? msg : NOOP_MESSAGE_FUNCTION;
+      } else if (isMessageFunction(val)) {
+        return val;
+      } else {
+        return NOOP_MESSAGE_FUNCTION;
+      }
+    };
+    const ctxOptions = {
+      locale,
+      modifiers,
+      pluralRules,
+      messages: resolveMessage
+    };
+    if (context.processor) {
+      ctxOptions.processor = context.processor;
+    }
+    if (options.list) {
+      ctxOptions.list = options.list;
+    }
+    if (options.named) {
+      ctxOptions.named = options.named;
+    }
+    if (isNumber(options.plural)) {
+      ctxOptions.pluralIndex = options.plural;
+    }
+    return ctxOptions;
+  }
+  const intlDefined = typeof Intl !== "undefined";
+  const Availabilities = {
+    dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== "undefined",
+    numberFormat: intlDefined && typeof Intl.NumberFormat !== "undefined"
+  };
+  function datetime(context, ...args) {
+    const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;
+    const { __datetimeFormatters } = context;
+    if ({}.NODE_ENV !== "production" && !Availabilities.dateTimeFormat) {
+      onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_DATE));
+      return MISSING_RESOLVE_VALUE;
+    }
+    const [key, value, options, overrides] = parseDateTimeArgs(...args);
+    const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
+    const fallbackWarn = isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
+    const part = !!options.part;
+    const locale = getLocale(context, options);
+    const locales = localeFallbacker(
+      context,
+      // eslint-disable-line @typescript-eslint/no-explicit-any
+      fallbackLocale,
+      locale
+    );
+    if (!isString$1(key) || key === "") {
+      return new Intl.DateTimeFormat(locale, overrides).format(value);
+    }
+    let datetimeFormat = {};
+    let targetLocale;
+    let format2 = null;
+    let from = locale;
+    let to = null;
+    const type = "datetime format";
+    for (let i = 0; i < locales.length; i++) {
+      targetLocale = to = locales[i];
+      if ({}.NODE_ENV !== "production" && locale !== targetLocale && isTranslateFallbackWarn(fallbackWarn, key)) {
+        onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {
+          key,
+          target: targetLocale
+        }));
+      }
+      if ({}.NODE_ENV !== "production" && locale !== targetLocale) {
+        const emitter = context.__v_emitter;
+        if (emitter) {
+          emitter.emit("fallback", {
+            type,
+            key,
+            from,
+            to,
+            groupId: `${type}:${key}`
+          });
+        }
+      }
+      datetimeFormat = datetimeFormats[targetLocale] || {};
+      format2 = datetimeFormat[key];
+      if (isPlainObject(format2))
+        break;
+      handleMissing(context, key, targetLocale, missingWarn, type);
+      from = to;
+    }
+    if (!isPlainObject(format2) || !isString$1(targetLocale)) {
+      return unresolving ? NOT_REOSLVED : key;
+    }
+    let id = `${targetLocale}__${key}`;
+    if (!isEmptyObject(overrides)) {
+      id = `${id}__${JSON.stringify(overrides)}`;
+    }
+    let formatter = __datetimeFormatters.get(id);
+    if (!formatter) {
+      formatter = new Intl.DateTimeFormat(targetLocale, assign$1({}, format2, overrides));
+      __datetimeFormatters.set(id, formatter);
+    }
+    return !part ? formatter.format(value) : formatter.formatToParts(value);
+  }
+  const DATETIME_FORMAT_OPTIONS_KEYS = [
+    "localeMatcher",
+    "weekday",
+    "era",
+    "year",
+    "month",
+    "day",
+    "hour",
+    "minute",
+    "second",
+    "timeZoneName",
+    "formatMatcher",
+    "hour12",
+    "timeZone",
+    "dateStyle",
+    "timeStyle",
+    "calendar",
+    "dayPeriod",
+    "numberingSystem",
+    "hourCycle",
+    "fractionalSecondDigits"
+  ];
+  function parseDateTimeArgs(...args) {
+    const [arg1, arg2, arg3, arg4] = args;
+    const options = {};
+    let overrides = {};
+    let value;
+    if (isString$1(arg1)) {
+      const matches = arg1.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);
+      if (!matches) {
+        throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);
+      }
+      const dateTime = matches[3] ? matches[3].trim().startsWith("T") ? `${matches[1].trim()}${matches[3].trim()}` : `${matches[1].trim()}T${matches[3].trim()}` : matches[1].trim();
+      value = new Date(dateTime);
+      try {
+        value.toISOString();
+      } catch (e) {
+        throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);
+      }
+    } else if (isDate(arg1)) {
+      if (isNaN(arg1.getTime())) {
+        throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);
+      }
+      value = arg1;
+    } else if (isNumber(arg1)) {
+      value = arg1;
+    } else {
+      throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+    }
+    if (isString$1(arg2)) {
+      options.key = arg2;
+    } else if (isPlainObject(arg2)) {
+      Object.keys(arg2).forEach((key) => {
+        if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {
+          overrides[key] = arg2[key];
+        } else {
+          options[key] = arg2[key];
+        }
+      });
+    }
+    if (isString$1(arg3)) {
+      options.locale = arg3;
+    } else if (isPlainObject(arg3)) {
+      overrides = arg3;
+    }
+    if (isPlainObject(arg4)) {
+      overrides = arg4;
+    }
+    return [options.key || "", value, options, overrides];
+  }
+  function clearDateTimeFormat(ctx, locale, format2) {
+    const context = ctx;
+    for (const key in format2) {
+      const id = `${locale}__${key}`;
+      if (!context.__datetimeFormatters.has(id)) {
+        continue;
+      }
+      context.__datetimeFormatters.delete(id);
+    }
+  }
+  function number(context, ...args) {
+    const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;
+    const { __numberFormatters } = context;
+    if ({}.NODE_ENV !== "production" && !Availabilities.numberFormat) {
+      onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_NUMBER));
+      return MISSING_RESOLVE_VALUE;
+    }
+    const [key, value, options, overrides] = parseNumberArgs(...args);
+    const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
+    const fallbackWarn = isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
+    const part = !!options.part;
+    const locale = getLocale(context, options);
+    const locales = localeFallbacker(
+      context,
+      // eslint-disable-line @typescript-eslint/no-explicit-any
+      fallbackLocale,
+      locale
+    );
+    if (!isString$1(key) || key === "") {
+      return new Intl.NumberFormat(locale, overrides).format(value);
+    }
+    let numberFormat = {};
+    let targetLocale;
+    let format2 = null;
+    let from = locale;
+    let to = null;
+    const type = "number format";
+    for (let i = 0; i < locales.length; i++) {
+      targetLocale = to = locales[i];
+      if ({}.NODE_ENV !== "production" && locale !== targetLocale && isTranslateFallbackWarn(fallbackWarn, key)) {
+        onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {
+          key,
+          target: targetLocale
+        }));
+      }
+      if ({}.NODE_ENV !== "production" && locale !== targetLocale) {
+        const emitter = context.__v_emitter;
+        if (emitter) {
+          emitter.emit("fallback", {
+            type,
+            key,
+            from,
+            to,
+            groupId: `${type}:${key}`
+          });
+        }
+      }
+      numberFormat = numberFormats[targetLocale] || {};
+      format2 = numberFormat[key];
+      if (isPlainObject(format2))
+        break;
+      handleMissing(context, key, targetLocale, missingWarn, type);
+      from = to;
+    }
+    if (!isPlainObject(format2) || !isString$1(targetLocale)) {
+      return unresolving ? NOT_REOSLVED : key;
+    }
+    let id = `${targetLocale}__${key}`;
+    if (!isEmptyObject(overrides)) {
+      id = `${id}__${JSON.stringify(overrides)}`;
+    }
+    let formatter = __numberFormatters.get(id);
+    if (!formatter) {
+      formatter = new Intl.NumberFormat(targetLocale, assign$1({}, format2, overrides));
+      __numberFormatters.set(id, formatter);
+    }
+    return !part ? formatter.format(value) : formatter.formatToParts(value);
+  }
+  const NUMBER_FORMAT_OPTIONS_KEYS = [
+    "localeMatcher",
+    "style",
+    "currency",
+    "currencyDisplay",
+    "currencySign",
+    "useGrouping",
+    "minimumIntegerDigits",
+    "minimumFractionDigits",
+    "maximumFractionDigits",
+    "minimumSignificantDigits",
+    "maximumSignificantDigits",
+    "compactDisplay",
+    "notation",
+    "signDisplay",
+    "unit",
+    "unitDisplay",
+    "roundingMode",
+    "roundingPriority",
+    "roundingIncrement",
+    "trailingZeroDisplay"
+  ];
+  function parseNumberArgs(...args) {
+    const [arg1, arg2, arg3, arg4] = args;
+    const options = {};
+    let overrides = {};
+    if (!isNumber(arg1)) {
+      throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+    }
+    const value = arg1;
+    if (isString$1(arg2)) {
+      options.key = arg2;
+    } else if (isPlainObject(arg2)) {
+      Object.keys(arg2).forEach((key) => {
+        if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {
+          overrides[key] = arg2[key];
+        } else {
+          options[key] = arg2[key];
+        }
+      });
+    }
+    if (isString$1(arg3)) {
+      options.locale = arg3;
+    } else if (isPlainObject(arg3)) {
+      overrides = arg3;
+    }
+    if (isPlainObject(arg4)) {
+      overrides = arg4;
+    }
+    return [options.key || "", value, options, overrides];
+  }
+  function clearNumberFormat(ctx, locale, format2) {
+    const context = ctx;
+    for (const key in format2) {
+      const id = `${locale}__${key}`;
+      if (!context.__numberFormatters.has(id)) {
+        continue;
+      }
+      context.__numberFormatters.delete(id);
+    }
+  }
+  {
+    initFeatureFlags$1();
+  }
+  /*!
+    * vue-i18n v9.6.2
+    * (c) 2023 kazuya kawaguchi
+    * Released under the MIT License.
+    */
+  const VERSION = "9.6.2";
+  function initFeatureFlags() {
+    if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") {
+      getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;
+    }
+    if (typeof __VUE_I18N_LEGACY_API__ !== "boolean") {
+      getGlobalThis().__VUE_I18N_LEGACY_API__ = true;
+    }
+    if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") {
+      getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;
+    }
+    if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") {
+      getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;
+    }
+    if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") {
+      getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
+    }
+  }
+  const code$1 = CoreWarnCodes.__EXTEND_POINT__;
+  const inc$1 = incrementer(code$1);
+  const I18nWarnCodes = {
+    FALLBACK_TO_ROOT: code$1,
+    NOT_SUPPORTED_PRESERVE: inc$1(),
+    NOT_SUPPORTED_FORMATTER: inc$1(),
+    NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),
+    NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),
+    COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),
+    NOT_FOUND_PARENT_SCOPE: inc$1(),
+    IGNORE_OBJ_FLATTEN: inc$1(),
+    NOTICE_DROP_ALLOW_COMPOSITION: inc$1()
+    // 17
+  };
+  const warnMessages = {
+    [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,
+    [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,
+    [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,
+    [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,
+    [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,
+    [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,
+    [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,
+    [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,
+    [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`
+  };
+  function getWarnMessage(code2, ...args) {
+    return format$2(warnMessages[code2], ...args);
+  }
+  const code = CoreErrorCodes.__EXTEND_POINT__;
+  const inc = incrementer(code);
+  const I18nErrorCodes = {
+    // composer module errors
+    UNEXPECTED_RETURN_TYPE: code,
+    // legacy module errors
+    INVALID_ARGUMENT: inc(),
+    // i18n module errors
+    MUST_BE_CALL_SETUP_TOP: inc(),
+    NOT_INSTALLED: inc(),
+    NOT_AVAILABLE_IN_LEGACY_MODE: inc(),
+    // directive module errors
+    REQUIRED_VALUE: inc(),
+    INVALID_VALUE: inc(),
+    // vue-devtools errors
+    CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),
+    NOT_INSTALLED_WITH_PROVIDE: inc(),
+    // unexpected error
+    UNEXPECTED_ERROR: inc(),
+    // not compatible legacy vue-i18n constructor
+    NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),
+    // bridge support vue 2.x only
+    BRIDGE_SUPPORT_VUE_2_ONLY: inc(),
+    // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``
+    MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),
+    // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly
+    NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),
+    // for enhancement
+    __EXTEND_POINT__: inc()
+    // 37
+  };
+  function createI18nError(code2, ...args) {
+    return createCompileError(code2, null, {}.NODE_ENV !== "production" ? { messages: errorMessages, args } : void 0);
+  }
+  const errorMessages = {
+    [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: "Unexpected return type in composer",
+    [I18nErrorCodes.INVALID_ARGUMENT]: "Invalid argument",
+    [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: "Must be called at the top of a `setup` function",
+    [I18nErrorCodes.NOT_INSTALLED]: "Need to install with `app.use` function",
+    [I18nErrorCodes.UNEXPECTED_ERROR]: "Unexpected error",
+    [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: "Not available in legacy mode",
+    [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,
+    [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,
+    [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,
+    [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: "Need to install with `provide` function",
+    [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: "Not compatible legacy VueI18n.",
+    [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: "vue-i18n-bridge support Vue 2.x only",
+    [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: "Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode",
+    [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: "Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly"
+  };
+  const TranslateVNodeSymbol = /* @__PURE__ */ makeSymbol("__translateVNode");
+  const DatetimePartsSymbol = /* @__PURE__ */ makeSymbol("__datetimeParts");
+  const NumberPartsSymbol = /* @__PURE__ */ makeSymbol("__numberParts");
+  const EnableEmitter = /* @__PURE__ */ makeSymbol("__enableEmitter");
+  const DisableEmitter = /* @__PURE__ */ makeSymbol("__disableEmitter");
+  const SetPluralRulesSymbol = makeSymbol("__setPluralRules");
+  const InejctWithOptionSymbol = /* @__PURE__ */ makeSymbol("__injectWithOption");
+  const DisposeSymbol = /* @__PURE__ */ makeSymbol("__dispose");
+  function handleFlatJson(obj) {
+    if (!isObject$1(obj)) {
+      return obj;
+    }
+    for (const key in obj) {
+      if (!hasOwn(obj, key)) {
+        continue;
+      }
+      if (!key.includes(".")) {
+        if (isObject$1(obj[key])) {
+          handleFlatJson(obj[key]);
+        }
+      } else {
+        const subKeys = key.split(".");
+        const lastIndex = subKeys.length - 1;
+        let currentObj = obj;
+        let hasStringValue = false;
+        for (let i = 0; i < lastIndex; i++) {
+          if (!(subKeys[i] in currentObj)) {
+            currentObj[subKeys[i]] = {};
+          }
+          if (!isObject$1(currentObj[subKeys[i]])) {
+            ({}).NODE_ENV !== "production" && warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {
+              key: subKeys[i]
+            }));
+            hasStringValue = true;
+            break;
+          }
+          currentObj = currentObj[subKeys[i]];
+        }
+        if (!hasStringValue) {
+          currentObj[subKeys[lastIndex]] = obj[key];
+          delete obj[key];
+        }
+        if (isObject$1(currentObj[subKeys[lastIndex]])) {
+          handleFlatJson(currentObj[subKeys[lastIndex]]);
+        }
+      }
+    }
+    return obj;
+  }
+  function getLocaleMessages(locale, options) {
+    const { messages, __i18n, messageResolver, flatJson } = options;
+    const ret = isPlainObject(messages) ? messages : isArray(__i18n) ? {} : { [locale]: {} };
+    if (isArray(__i18n)) {
+      __i18n.forEach((custom) => {
+        if ("locale" in custom && "resource" in custom) {
+          const { locale: locale2, resource } = custom;
+          if (locale2) {
+            ret[locale2] = ret[locale2] || {};
+            deepCopy(resource, ret[locale2]);
+          } else {
+            deepCopy(resource, ret);
+          }
+        } else {
+          isString$1(custom) && deepCopy(JSON.parse(custom), ret);
+        }
+      });
+    }
+    if (messageResolver == null && flatJson) {
+      for (const key in ret) {
+        if (hasOwn(ret, key)) {
+          handleFlatJson(ret[key]);
+        }
+      }
+    }
+    return ret;
+  }
+  const isNotObjectOrIsArray = (val) => !isObject$1(val) || isArray(val);
+  function deepCopy(src, des) {
+    if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {
+      throw createI18nError(I18nErrorCodes.INVALID_VALUE);
+    }
+    for (const key in src) {
+      if (hasOwn(src, key)) {
+        if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {
+          des[key] = src[key];
+        } else {
+          deepCopy(src[key], des[key]);
+        }
+      }
+    }
+  }
+  function getComponentOptions(instance) {
+    return instance.type;
+  }
+  function adjustI18nResources(gl, options, componentOptions) {
+    let messages = isObject$1(options.messages) ? options.messages : {};
+    if ("__i18nGlobal" in componentOptions) {
+      messages = getLocaleMessages(gl.locale.value, {
+        messages,
+        __i18n: componentOptions.__i18nGlobal
+      });
+    }
+    const locales = Object.keys(messages);
+    if (locales.length) {
+      locales.forEach((locale) => {
+        gl.mergeLocaleMessage(locale, messages[locale]);
+      });
+    }
+    {
+      if (isObject$1(options.datetimeFormats)) {
+        const locales2 = Object.keys(options.datetimeFormats);
+        if (locales2.length) {
+          locales2.forEach((locale) => {
+            gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);
+          });
+        }
+      }
+      if (isObject$1(options.numberFormats)) {
+        const locales2 = Object.keys(options.numberFormats);
+        if (locales2.length) {
+          locales2.forEach((locale) => {
+            gl.mergeNumberFormat(locale, options.numberFormats[locale]);
+          });
+        }
+      }
+    }
+  }
+  function createTextNode(key) {
+    return vue.createVNode(vue.Text, null, key, 0);
+  }
+  const DEVTOOLS_META = "__INTLIFY_META__";
+  const NOOP_RETURN_ARRAY = () => [];
+  const NOOP_RETURN_FALSE = () => false;
+  let composerID = 0;
+  function defineCoreMissingHandler(missing) {
+    return (ctx, locale, key, type) => {
+      return missing(locale, key, vue.getCurrentInstance() || void 0, type);
+    };
+  }
+  const getMetaInfo = () => {
+    const instance = vue.getCurrentInstance();
+    let meta = null;
+    return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META]) ? { [DEVTOOLS_META]: meta } : null;
+  };
+  function createComposer(options = {}, VueI18nLegacy) {
+    const { __root, __injectWithOption } = options;
+    const _isGlobal = __root === void 0;
+    const flatJson = options.flatJson;
+    let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true;
+    const _locale = vue.ref(
+      // prettier-ignore
+      __root && _inheritLocale ? __root.locale.value : isString$1(options.locale) ? options.locale : DEFAULT_LOCALE
+    );
+    const _fallbackLocale = vue.ref(
+      // prettier-ignore
+      __root && _inheritLocale ? __root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
+    );
+    const _messages = vue.ref(getLocaleMessages(_locale.value, options));
+    const _datetimeFormats = vue.ref(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
+    const _numberFormats = vue.ref(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
+    let _missingWarn = __root ? __root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
+    let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
+    let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
+    let _fallbackFormat = !!options.fallbackFormat;
+    let _missing = isFunction(options.missing) ? options.missing : null;
+    let _runtimeMissing = isFunction(options.missing) ? defineCoreMissingHandler(options.missing) : null;
+    let _postTranslation = isFunction(options.postTranslation) ? options.postTranslation : null;
+    let _warnHtmlMessage = __root ? __root.warnHtmlMessage : isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
+    let _escapeParameter = !!options.escapeParameter;
+    const _modifiers = __root ? __root.modifiers : isPlainObject(options.modifiers) ? options.modifiers : {};
+    let _pluralRules = options.pluralRules || __root && __root.pluralRules;
+    let _context;
+    const getCoreContext = () => {
+      _isGlobal && setFallbackContext(null);
+      const ctxOptions = {
+        version: VERSION,
+        locale: _locale.value,
+        fallbackLocale: _fallbackLocale.value,
+        messages: _messages.value,
+        modifiers: _modifiers,
+        pluralRules: _pluralRules,
+        missing: _runtimeMissing === null ? void 0 : _runtimeMissing,
+        missingWarn: _missingWarn,
+        fallbackWarn: _fallbackWarn,
+        fallbackFormat: _fallbackFormat,
+        unresolving: true,
+        postTranslation: _postTranslation === null ? void 0 : _postTranslation,
+        warnHtmlMessage: _warnHtmlMessage,
+        escapeParameter: _escapeParameter,
+        messageResolver: options.messageResolver,
+        messageCompiler: options.messageCompiler,
+        __meta: { framework: "vue" }
+      };
+      {
+        ctxOptions.datetimeFormats = _datetimeFormats.value;
+        ctxOptions.numberFormats = _numberFormats.value;
+        ctxOptions.__datetimeFormatters = isPlainObject(_context) ? _context.__datetimeFormatters : void 0;
+        ctxOptions.__numberFormatters = isPlainObject(_context) ? _context.__numberFormatters : void 0;
+      }
+      if ({}.NODE_ENV !== "production") {
+        ctxOptions.__v_emitter = isPlainObject(_context) ? _context.__v_emitter : void 0;
+      }
+      const ctx = createCoreContext(ctxOptions);
+      _isGlobal && setFallbackContext(ctx);
+      return ctx;
+    };
+    _context = getCoreContext();
+    updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+    function trackReactivityValues() {
+      return [
+        _locale.value,
+        _fallbackLocale.value,
+        _messages.value,
+        _datetimeFormats.value,
+        _numberFormats.value
+      ];
+    }
+    const locale = vue.computed({
+      get: () => _locale.value,
+      set: (val) => {
+        _locale.value = val;
+        _context.locale = _locale.value;
+      }
+    });
+    const fallbackLocale = vue.computed({
+      get: () => _fallbackLocale.value,
+      set: (val) => {
+        _fallbackLocale.value = val;
+        _context.fallbackLocale = _fallbackLocale.value;
+        updateFallbackLocale(_context, _locale.value, val);
+      }
+    });
+    const messages = vue.computed(() => _messages.value);
+    const datetimeFormats = /* @__PURE__ */ vue.computed(() => _datetimeFormats.value);
+    const numberFormats = /* @__PURE__ */ vue.computed(() => _numberFormats.value);
+    function getPostTranslationHandler() {
+      return isFunction(_postTranslation) ? _postTranslation : null;
+    }
+    function setPostTranslationHandler(handler) {
+      _postTranslation = handler;
+      _context.postTranslation = handler;
+    }
+    function getMissingHandler() {
+      return _missing;
+    }
+    function setMissingHandler(handler) {
+      if (handler !== null) {
+        _runtimeMissing = defineCoreMissingHandler(handler);
+      }
+      _missing = handler;
+      _context.missing = _runtimeMissing;
+    }
+    function isResolvedTranslateMessage(type, arg) {
+      return type !== "translate" || !arg.resolvedMessage;
+    }
+    const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {
+      trackReactivityValues();
+      let ret;
+      try {
+        if ({}.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
+          setAdditionalMeta(getMetaInfo());
+        }
+        if (!_isGlobal) {
+          _context.fallbackContext = __root ? getFallbackContext() : void 0;
+        }
+        ret = fn(_context);
+      } finally {
+        if ({}.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
+          setAdditionalMeta(null);
+        }
+        if (!_isGlobal) {
+          _context.fallbackContext = void 0;
+        }
+      }
+      if (warnType !== "translate exists" && // for not `te` (e.g `t`)
+      isNumber(ret) && ret === NOT_REOSLVED || warnType === "translate exists" && !ret) {
+        const [key, arg2] = argumentParser();
+        if ({}.NODE_ENV !== "production" && __root && isString$1(key) && isResolvedTranslateMessage(warnType, arg2)) {
+          if (_fallbackRoot && (isTranslateFallbackWarn(_fallbackWarn, key) || isTranslateMissingWarn(_missingWarn, key))) {
+            warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {
+              key,
+              type: warnType
+            }));
+          }
+          if ({}.NODE_ENV !== "production") {
+            const { __v_emitter: emitter } = _context;
+            if (emitter && _fallbackRoot) {
+              emitter.emit("fallback", {
+                type: warnType,
+                key,
+                to: "global",
+                groupId: `${warnType}:${key}`
+              });
+            }
+          }
+        }
+        return __root && _fallbackRoot ? fallbackSuccess(__root) : fallbackFail(key);
+      } else if (successCondition(ret)) {
+        return ret;
+      } else {
+        throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);
+      }
+    };
+    function t2(...args) {
+      return wrapWithDeps((context) => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), "translate", (root) => Reflect.apply(root.t, root, [...args]), (key) => key, (val) => isString$1(val));
+    }
+    function rt2(...args) {
+      const [arg1, arg2, arg3] = args;
+      if (arg3 && !isObject$1(arg3)) {
+        throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+      }
+      return t2(...[arg1, arg2, assign$1({ resolvedMessage: true }, arg3 || {})]);
+    }
+    function d(...args) {
+      return wrapWithDeps((context) => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), "datetime format", (root) => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$1(val));
+    }
+    function n(...args) {
+      return wrapWithDeps((context) => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), "number format", (root) => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$1(val));
+    }
+    function normalize(values) {
+      return values.map((val) => isString$1(val) || isNumber(val) || isBoolean(val) ? createTextNode(String(val)) : val);
+    }
+    const interpolate = (val) => val;
+    const processor = {
+      normalize,
+      interpolate,
+      type: "vnode"
+    };
+    function translateVNode(...args) {
+      return wrapWithDeps(
+        (context) => {
+          let ret;
+          const _context2 = context;
+          try {
+            _context2.processor = processor;
+            ret = Reflect.apply(translate, null, [_context2, ...args]);
+          } finally {
+            _context2.processor = null;
+          }
+          return ret;
+        },
+        () => parseTranslateArgs(...args),
+        "translate",
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        (root) => root[TranslateVNodeSymbol](...args),
+        (key) => [createTextNode(key)],
+        (val) => isArray(val)
+      );
+    }
+    function numberParts(...args) {
+      return wrapWithDeps(
+        (context) => Reflect.apply(number, null, [context, ...args]),
+        () => parseNumberArgs(...args),
+        "number format",
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        (root) => root[NumberPartsSymbol](...args),
+        NOOP_RETURN_ARRAY,
+        (val) => isString$1(val) || isArray(val)
+      );
+    }
+    function datetimeParts(...args) {
+      return wrapWithDeps(
+        (context) => Reflect.apply(datetime, null, [context, ...args]),
+        () => parseDateTimeArgs(...args),
+        "datetime format",
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        (root) => root[DatetimePartsSymbol](...args),
+        NOOP_RETURN_ARRAY,
+        (val) => isString$1(val) || isArray(val)
+      );
+    }
+    function setPluralRules(rules) {
+      _pluralRules = rules;
+      _context.pluralRules = _pluralRules;
+    }
+    function te2(key, locale2) {
+      return wrapWithDeps(() => {
+        if (!key) {
+          return false;
+        }
+        const targetLocale = isString$1(locale2) ? locale2 : _locale.value;
+        const message = getLocaleMessage(targetLocale);
+        const resolved = _context.messageResolver(message, key);
+        return isMessageAST(resolved) || isMessageFunction(resolved) || isString$1(resolved);
+      }, () => [key], "translate exists", (root) => {
+        return Reflect.apply(root.te, root, [key, locale2]);
+      }, NOOP_RETURN_FALSE, (val) => isBoolean(val));
+    }
+    function resolveMessages(key) {
+      let messages2 = null;
+      const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);
+      for (let i = 0; i < locales.length; i++) {
+        const targetLocaleMessages = _messages.value[locales[i]] || {};
+        const messageValue = _context.messageResolver(targetLocaleMessages, key);
+        if (messageValue != null) {
+          messages2 = messageValue;
+          break;
+        }
+      }
+      return messages2;
+    }
+    function tm(key) {
+      const messages2 = resolveMessages(key);
+      return messages2 != null ? messages2 : __root ? __root.tm(key) || {} : {};
+    }
+    function getLocaleMessage(locale2) {
+      return _messages.value[locale2] || {};
+    }
+    function setLocaleMessage(locale2, message) {
+      if (flatJson) {
+        const _message = { [locale2]: message };
+        for (const key in _message) {
+          if (hasOwn(_message, key)) {
+            handleFlatJson(_message[key]);
+          }
+        }
+        message = _message[locale2];
+      }
+      _messages.value[locale2] = message;
+      _context.messages = _messages.value;
+    }
+    function mergeLocaleMessage(locale2, message) {
+      _messages.value[locale2] = _messages.value[locale2] || {};
+      const _message = { [locale2]: message };
+      for (const key in _message) {
+        if (hasOwn(_message, key)) {
+          handleFlatJson(_message[key]);
+        }
+      }
+      message = _message[locale2];
+      deepCopy(message, _messages.value[locale2]);
+      _context.messages = _messages.value;
+    }
+    function getDateTimeFormat(locale2) {
+      return _datetimeFormats.value[locale2] || {};
+    }
+    function setDateTimeFormat(locale2, format2) {
+      _datetimeFormats.value[locale2] = format2;
+      _context.datetimeFormats = _datetimeFormats.value;
+      clearDateTimeFormat(_context, locale2, format2);
+    }
+    function mergeDateTimeFormat(locale2, format2) {
+      _datetimeFormats.value[locale2] = assign$1(_datetimeFormats.value[locale2] || {}, format2);
+      _context.datetimeFormats = _datetimeFormats.value;
+      clearDateTimeFormat(_context, locale2, format2);
+    }
+    function getNumberFormat(locale2) {
+      return _numberFormats.value[locale2] || {};
+    }
+    function setNumberFormat(locale2, format2) {
+      _numberFormats.value[locale2] = format2;
+      _context.numberFormats = _numberFormats.value;
+      clearNumberFormat(_context, locale2, format2);
+    }
+    function mergeNumberFormat(locale2, format2) {
+      _numberFormats.value[locale2] = assign$1(_numberFormats.value[locale2] || {}, format2);
+      _context.numberFormats = _numberFormats.value;
+      clearNumberFormat(_context, locale2, format2);
+    }
+    composerID++;
+    if (__root && inBrowser) {
+      vue.watch(__root.locale, (val) => {
+        if (_inheritLocale) {
+          _locale.value = val;
+          _context.locale = val;
+          updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+        }
+      });
+      vue.watch(__root.fallbackLocale, (val) => {
+        if (_inheritLocale) {
+          _fallbackLocale.value = val;
+          _context.fallbackLocale = val;
+          updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+        }
+      });
+    }
+    const composer = {
+      id: composerID,
+      locale,
+      fallbackLocale,
+      get inheritLocale() {
+        return _inheritLocale;
+      },
+      set inheritLocale(val) {
+        _inheritLocale = val;
+        if (val && __root) {
+          _locale.value = __root.locale.value;
+          _fallbackLocale.value = __root.fallbackLocale.value;
+          updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+        }
+      },
+      get availableLocales() {
+        return Object.keys(_messages.value).sort();
+      },
+      messages,
+      get modifiers() {
+        return _modifiers;
+      },
+      get pluralRules() {
+        return _pluralRules || {};
+      },
+      get isGlobal() {
+        return _isGlobal;
+      },
+      get missingWarn() {
+        return _missingWarn;
+      },
+      set missingWarn(val) {
+        _missingWarn = val;
+        _context.missingWarn = _missingWarn;
+      },
+      get fallbackWarn() {
+        return _fallbackWarn;
+      },
+      set fallbackWarn(val) {
+        _fallbackWarn = val;
+        _context.fallbackWarn = _fallbackWarn;
+      },
+      get fallbackRoot() {
+        return _fallbackRoot;
+      },
+      set fallbackRoot(val) {
+        _fallbackRoot = val;
+      },
+      get fallbackFormat() {
+        return _fallbackFormat;
+      },
+      set fallbackFormat(val) {
+        _fallbackFormat = val;
+        _context.fallbackFormat = _fallbackFormat;
+      },
+      get warnHtmlMessage() {
+        return _warnHtmlMessage;
+      },
+      set warnHtmlMessage(val) {
+        _warnHtmlMessage = val;
+        _context.warnHtmlMessage = val;
+      },
+      get escapeParameter() {
+        return _escapeParameter;
+      },
+      set escapeParameter(val) {
+        _escapeParameter = val;
+        _context.escapeParameter = val;
+      },
+      t: t2,
+      getLocaleMessage,
+      setLocaleMessage,
+      mergeLocaleMessage,
+      getPostTranslationHandler,
+      setPostTranslationHandler,
+      getMissingHandler,
+      setMissingHandler,
+      [SetPluralRulesSymbol]: setPluralRules
+    };
+    {
+      composer.datetimeFormats = datetimeFormats;
+      composer.numberFormats = numberFormats;
+      composer.rt = rt2;
+      composer.te = te2;
+      composer.tm = tm;
+      composer.d = d;
+      composer.n = n;
+      composer.getDateTimeFormat = getDateTimeFormat;
+      composer.setDateTimeFormat = setDateTimeFormat;
+      composer.mergeDateTimeFormat = mergeDateTimeFormat;
+      composer.getNumberFormat = getNumberFormat;
+      composer.setNumberFormat = setNumberFormat;
+      composer.mergeNumberFormat = mergeNumberFormat;
+      composer[InejctWithOptionSymbol] = __injectWithOption;
+      composer[TranslateVNodeSymbol] = translateVNode;
+      composer[DatetimePartsSymbol] = datetimeParts;
+      composer[NumberPartsSymbol] = numberParts;
+    }
+    if ({}.NODE_ENV !== "production") {
+      composer[EnableEmitter] = (emitter) => {
+        _context.__v_emitter = emitter;
+      };
+      composer[DisableEmitter] = () => {
+        _context.__v_emitter = void 0;
+      };
+    }
+    return composer;
+  }
+  const baseFormatProps = {
+    tag: {
+      type: [String, Object]
+    },
+    locale: {
+      type: String
+    },
+    scope: {
+      type: String,
+      // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050
+      validator: (val) => val === "parent" || val === "global",
+      default: "parent"
+      /* ComponentI18nScope */
+    },
+    i18n: {
+      type: Object
+    }
+  };
+  function getInterpolateArg({ slots }, keys) {
+    if (keys.length === 1 && keys[0] === "default") {
+      const ret = slots.default ? slots.default() : [];
+      return ret.reduce((slot, current) => {
+        return [
+          ...slot,
+          // prettier-ignore
+          ...current.type === vue.Fragment ? current.children : [current]
+        ];
+      }, []);
+    } else {
+      return keys.reduce((arg, key) => {
+        const slot = slots[key];
+        if (slot) {
+          arg[key] = slot();
+        }
+        return arg;
+      }, {});
+    }
+  }
+  function getFragmentableTag(tag) {
+    return vue.Fragment;
+  }
+  /* @__PURE__ */ vue.defineComponent({
+    /* eslint-disable */
+    name: "i18n-t",
+    props: assign$1({
+      keypath: {
+        type: String,
+        required: true
+      },
+      plural: {
+        type: [Number, String],
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        validator: (val) => isNumber(val) || !isNaN(val)
+      }
+    }, baseFormatProps),
+    /* eslint-enable */
+    // eslint-disable-next-line @typescript-eslint/no-explicit-any
+    setup(props, context) {
+      const { slots, attrs } = context;
+      const i18n = props.i18n || useI18n({
+        useScope: props.scope,
+        __useComponent: true
+      });
+      return () => {
+        const keys = Object.keys(slots).filter((key) => key !== "_");
+        const options = {};
+        if (props.locale) {
+          options.locale = props.locale;
+        }
+        if (props.plural !== void 0) {
+          options.plural = isString$1(props.plural) ? +props.plural : props.plural;
+        }
+        const arg = getInterpolateArg(context, keys);
+        const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);
+        const assignedAttrs = assign$1({}, attrs);
+        const tag = isString$1(props.tag) || isObject$1(props.tag) ? props.tag : getFragmentableTag();
+        return vue.h(tag, assignedAttrs, children);
+      };
+    }
+  });
+  function isVNode(target) {
+    return isArray(target) && !isString$1(target[0]);
+  }
+  function renderFormatter(props, context, slotKeys, partFormatter) {
+    const { slots, attrs } = context;
+    return () => {
+      const options = { part: true };
+      let overrides = {};
+      if (props.locale) {
+        options.locale = props.locale;
+      }
+      if (isString$1(props.format)) {
+        options.key = props.format;
+      } else if (isObject$1(props.format)) {
+        if (isString$1(props.format.key)) {
+          options.key = props.format.key;
+        }
+        overrides = Object.keys(props.format).reduce((options2, prop) => {
+          return slotKeys.includes(prop) ? assign$1({}, options2, { [prop]: props.format[prop] }) : options2;
+        }, {});
+      }
+      const parts = partFormatter(...[props.value, options, overrides]);
+      let children = [options.key];
+      if (isArray(parts)) {
+        children = parts.map((part, index) => {
+          const slot = slots[part.type];
+          const node = slot ? slot({ [part.type]: part.value, index, parts }) : [part.value];
+          if (isVNode(node)) {
+            node[0].key = `${part.type}-${index}`;
+          }
+          return node;
+        });
+      } else if (isString$1(parts)) {
+        children = [parts];
+      }
+      const assignedAttrs = assign$1({}, attrs);
+      const tag = isString$1(props.tag) || isObject$1(props.tag) ? props.tag : getFragmentableTag();
+      return vue.h(tag, assignedAttrs, children);
+    };
+  }
+  /* @__PURE__ */ vue.defineComponent({
+    /* eslint-disable */
+    name: "i18n-n",
+    props: assign$1({
+      value: {
+        type: Number,
+        required: true
+      },
+      format: {
+        type: [String, Object]
+      }
+    }, baseFormatProps),
+    /* eslint-enable */
+    // eslint-disable-next-line @typescript-eslint/no-explicit-any
+    setup(props, context) {
+      const i18n = props.i18n || useI18n({
+        useScope: "parent",
+        __useComponent: true
+      });
+      return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => (
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        i18n[NumberPartsSymbol](...args)
+      ));
+    }
+  });
+  /* @__PURE__ */ vue.defineComponent({
+    /* eslint-disable */
+    name: "i18n-d",
+    props: assign$1({
+      value: {
+        type: [Number, Date],
+        required: true
+      },
+      format: {
+        type: [String, Object]
+      }
+    }, baseFormatProps),
+    /* eslint-enable */
+    // eslint-disable-next-line @typescript-eslint/no-explicit-any
+    setup(props, context) {
+      const i18n = props.i18n || useI18n({
+        useScope: "parent",
+        __useComponent: true
+      });
+      return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => (
+        // eslint-disable-next-line @typescript-eslint/no-explicit-any
+        i18n[DatetimePartsSymbol](...args)
+      ));
+    }
+  });
+  function addTimelineEvent(event, payload) {
+  }
+  const I18nInjectionKey = /* @__PURE__ */ makeSymbol("global-vue-i18n");
+  function useI18n(options = {}) {
+    const instance = vue.getCurrentInstance();
+    if (instance == null) {
+      throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);
+    }
+    if (!instance.isCE && instance.appContext.app != null && !instance.appContext.app.__VUE_I18N_SYMBOL__) {
+      throw createI18nError(I18nErrorCodes.NOT_INSTALLED);
+    }
+    const i18n = getI18nInstance(instance);
+    const gl = getGlobalComposer(i18n);
+    const componentOptions = getComponentOptions(instance);
+    const scope = getScope(options, componentOptions);
+    if (__VUE_I18N_LEGACY_API__) {
+      if (i18n.mode === "legacy" && !options.__useComponent) {
+        if (!i18n.allowComposition) {
+          throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);
+        }
+        return useI18nForLegacy(instance, scope, gl, options);
+      }
+    }
+    if (scope === "global") {
+      adjustI18nResources(gl, options, componentOptions);
+      return gl;
+    }
+    if (scope === "parent") {
+      let composer2 = getComposer(i18n, instance, options.__useComponent);
+      if (composer2 == null) {
+        if ({}.NODE_ENV !== "production") {
+          warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));
+        }
+        composer2 = gl;
+      }
+      return composer2;
+    }
+    const i18nInternal = i18n;
+    let composer = i18nInternal.__getInstance(instance);
+    if (composer == null) {
+      const composerOptions = assign$1({}, options);
+      if ("__i18n" in componentOptions) {
+        composerOptions.__i18n = componentOptions.__i18n;
+      }
+      if (gl) {
+        composerOptions.__root = gl;
+      }
+      composer = createComposer(composerOptions);
+      if (i18nInternal.__composerExtend) {
+        composer[DisposeSymbol] = i18nInternal.__composerExtend(composer);
+      }
+      setupLifeCycle(i18nInternal, instance, composer);
+      i18nInternal.__setInstance(instance, composer);
+    }
+    return composer;
+  }
+  function getI18nInstance(instance) {
+    {
+      const i18n = vue.inject(!instance.isCE ? instance.appContext.app.__VUE_I18N_SYMBOL__ : I18nInjectionKey);
+      if (!i18n) {
+        throw createI18nError(!instance.isCE ? I18nErrorCodes.UNEXPECTED_ERROR : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);
+      }
+      return i18n;
+    }
+  }
+  function getScope(options, componentOptions) {
+    return isEmptyObject(options) ? "__i18n" in componentOptions ? "local" : "global" : !options.useScope ? "local" : options.useScope;
+  }
+  function getGlobalComposer(i18n) {
+    return i18n.mode === "composition" ? i18n.global : i18n.global.__composer;
+  }
+  function getComposer(i18n, target, useComponent = false) {
+    let composer = null;
+    const root = target.root;
+    let current = getParentComponentInstance(target, useComponent);
+    while (current != null) {
+      const i18nInternal = i18n;
+      if (i18n.mode === "composition") {
+        composer = i18nInternal.__getInstance(current);
+      } else {
+        if (__VUE_I18N_LEGACY_API__) {
+          const vueI18n = i18nInternal.__getInstance(current);
+          if (vueI18n != null) {
+            composer = vueI18n.__composer;
+            if (useComponent && composer && !composer[InejctWithOptionSymbol]) {
+              composer = null;
+            }
+          }
+        }
+      }
+      if (composer != null) {
+        break;
+      }
+      if (root === current) {
+        break;
+      }
+      current = current.parent;
+    }
+    return composer;
+  }
+  function getParentComponentInstance(target, useComponent = false) {
+    if (target == null) {
+      return null;
+    }
+    {
+      return !useComponent ? target.parent : target.vnode.ctx || target.parent;
+    }
+  }
+  function setupLifeCycle(i18n, target, composer) {
+    let emitter = null;
+    {
+      vue.onMounted(() => {
+        if (({}.NODE_ENV !== "production" || false) && true && target.vnode.el) {
+          target.vnode.el.__VUE_I18N__ = composer;
+          emitter = createEmitter();
+          const _composer = composer;
+          _composer[EnableEmitter] && _composer[EnableEmitter](emitter);
+          emitter.on("*", addTimelineEvent);
+        }
+      }, target);
+      vue.onUnmounted(() => {
+        const _composer = composer;
+        if (({}.NODE_ENV !== "production" || false) && true && target.vnode.el && target.vnode.el.__VUE_I18N__) {
+          emitter && emitter.off("*", addTimelineEvent);
+          _composer[DisableEmitter] && _composer[DisableEmitter]();
+          delete target.vnode.el.__VUE_I18N__;
+        }
+        i18n.__deleteInstance(target);
+        const dispose = _composer[DisposeSymbol];
+        if (dispose) {
+          dispose();
+          delete _composer[DisposeSymbol];
+        }
+      }, target);
+    }
+  }
+  function useI18nForLegacy(instance, scope, root, options = {}) {
+    const isLocalScope = scope === "local";
+    const _composer = vue.shallowRef(null);
+    if (isLocalScope && instance.proxy && !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {
+      throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);
+    }
+    const _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : !isString$1(options.locale);
+    const _locale = vue.ref(
+      // prettier-ignore
+      !isLocalScope || _inheritLocale ? root.locale.value : isString$1(options.locale) ? options.locale : DEFAULT_LOCALE
+    );
+    const _fallbackLocale = vue.ref(
+      // prettier-ignore
+      !isLocalScope || _inheritLocale ? root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
+    );
+    const _messages = vue.ref(getLocaleMessages(_locale.value, options));
+    const _datetimeFormats = vue.ref(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
+    const _numberFormats = vue.ref(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
+    const _missingWarn = isLocalScope ? root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
+    const _fallbackWarn = isLocalScope ? root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
+    const _fallbackRoot = isLocalScope ? root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
+    const _fallbackFormat = !!options.fallbackFormat;
+    const _missing = isFunction(options.missing) ? options.missing : null;
+    const _postTranslation = isFunction(options.postTranslation) ? options.postTranslation : null;
+    const _warnHtmlMessage = isLocalScope ? root.warnHtmlMessage : isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
+    const _escapeParameter = !!options.escapeParameter;
+    const _modifiers = isLocalScope ? root.modifiers : isPlainObject(options.modifiers) ? options.modifiers : {};
+    const _pluralRules = options.pluralRules || isLocalScope && root.pluralRules;
+    function trackReactivityValues() {
+      return [
+        _locale.value,
+        _fallbackLocale.value,
+        _messages.value,
+        _datetimeFormats.value,
+        _numberFormats.value
+      ];
+    }
+    const locale = vue.computed({
+      get: () => {
+        return _composer.value ? _composer.value.locale.value : _locale.value;
+      },
+      set: (val) => {
+        if (_composer.value) {
+          _composer.value.locale.value = val;
+        }
+        _locale.value = val;
+      }
+    });
+    const fallbackLocale = vue.computed({
+      get: () => {
+        return _composer.value ? _composer.value.fallbackLocale.value : _fallbackLocale.value;
+      },
+      set: (val) => {
+        if (_composer.value) {
+          _composer.value.fallbackLocale.value = val;
+        }
+        _fallbackLocale.value = val;
+      }
+    });
+    const messages = vue.computed(() => {
+      if (_composer.value) {
+        return _composer.value.messages.value;
+      } else {
+        return _messages.value;
+      }
+    });
+    const datetimeFormats = vue.computed(() => _datetimeFormats.value);
+    const numberFormats = vue.computed(() => _numberFormats.value);
+    function getPostTranslationHandler() {
+      return _composer.value ? _composer.value.getPostTranslationHandler() : _postTranslation;
+    }
+    function setPostTranslationHandler(handler) {
+      if (_composer.value) {
+        _composer.value.setPostTranslationHandler(handler);
+      }
+    }
+    function getMissingHandler() {
+      return _composer.value ? _composer.value.getMissingHandler() : _missing;
+    }
+    function setMissingHandler(handler) {
+      if (_composer.value) {
+        _composer.value.setMissingHandler(handler);
+      }
+    }
+    function warpWithDeps(fn) {
+      trackReactivityValues();
+      return fn();
+    }
+    function t2(...args) {
+      return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args])) : warpWithDeps(() => "");
+    }
+    function rt2(...args) {
+      return _composer.value ? Reflect.apply(_composer.value.rt, null, [...args]) : "";
+    }
+    function d(...args) {
+      return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args])) : warpWithDeps(() => "");
+    }
+    function n(...args) {
+      return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args])) : warpWithDeps(() => "");
+    }
+    function tm(key) {
+      return _composer.value ? _composer.value.tm(key) : {};
+    }
+    function te2(key, locale2) {
+      return _composer.value ? _composer.value.te(key, locale2) : false;
+    }
+    function getLocaleMessage(locale2) {
+      return _composer.value ? _composer.value.getLocaleMessage(locale2) : {};
+    }
+    function setLocaleMessage(locale2, message) {
+      if (_composer.value) {
+        _composer.value.setLocaleMessage(locale2, message);
+        _messages.value[locale2] = message;
+      }
+    }
+    function mergeLocaleMessage(locale2, message) {
+      if (_composer.value) {
+        _composer.value.mergeLocaleMessage(locale2, message);
+      }
+    }
+    function getDateTimeFormat(locale2) {
+      return _composer.value ? _composer.value.getDateTimeFormat(locale2) : {};
+    }
+    function setDateTimeFormat(locale2, format2) {
+      if (_composer.value) {
+        _composer.value.setDateTimeFormat(locale2, format2);
+        _datetimeFormats.value[locale2] = format2;
+      }
+    }
+    function mergeDateTimeFormat(locale2, format2) {
+      if (_composer.value) {
+        _composer.value.mergeDateTimeFormat(locale2, format2);
+      }
+    }
+    function getNumberFormat(locale2) {
+      return _composer.value ? _composer.value.getNumberFormat(locale2) : {};
+    }
+    function setNumberFormat(locale2, format2) {
+      if (_composer.value) {
+        _composer.value.setNumberFormat(locale2, format2);
+        _numberFormats.value[locale2] = format2;
+      }
+    }
+    function mergeNumberFormat(locale2, format2) {
+      if (_composer.value) {
+        _composer.value.mergeNumberFormat(locale2, format2);
+      }
+    }
+    const wrapper = {
+      get id() {
+        return _composer.value ? _composer.value.id : -1;
+      },
+      locale,
+      fallbackLocale,
+      messages,
+      datetimeFormats,
+      numberFormats,
+      get inheritLocale() {
+        return _composer.value ? _composer.value.inheritLocale : _inheritLocale;
+      },
+      set inheritLocale(val) {
+        if (_composer.value) {
+          _composer.value.inheritLocale = val;
+        }
+      },
+      get availableLocales() {
+        return _composer.value ? _composer.value.availableLocales : Object.keys(_messages.value);
+      },
+      get modifiers() {
+        return _composer.value ? _composer.value.modifiers : _modifiers;
+      },
+      get pluralRules() {
+        return _composer.value ? _composer.value.pluralRules : _pluralRules;
+      },
+      get isGlobal() {
+        return _composer.value ? _composer.value.isGlobal : false;
+      },
+      get missingWarn() {
+        return _composer.value ? _composer.value.missingWarn : _missingWarn;
+      },
+      set missingWarn(val) {
+        if (_composer.value) {
+          _composer.value.missingWarn = val;
+        }
+      },
+      get fallbackWarn() {
+        return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;
+      },
+      set fallbackWarn(val) {
+        if (_composer.value) {
+          _composer.value.missingWarn = val;
+        }
+      },
+      get fallbackRoot() {
+        return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;
+      },
+      set fallbackRoot(val) {
+        if (_composer.value) {
+          _composer.value.fallbackRoot = val;
+        }
+      },
+      get fallbackFormat() {
+        return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;
+      },
+      set fallbackFormat(val) {
+        if (_composer.value) {
+          _composer.value.fallbackFormat = val;
+        }
+      },
+      get warnHtmlMessage() {
+        return _composer.value ? _composer.value.warnHtmlMessage : _warnHtmlMessage;
+      },
+      set warnHtmlMessage(val) {
+        if (_composer.value) {
+          _composer.value.warnHtmlMessage = val;
+        }
+      },
+      get escapeParameter() {
+        return _composer.value ? _composer.value.escapeParameter : _escapeParameter;
+      },
+      set escapeParameter(val) {
+        if (_composer.value) {
+          _composer.value.escapeParameter = val;
+        }
+      },
+      t: t2,
+      getPostTranslationHandler,
+      setPostTranslationHandler,
+      getMissingHandler,
+      setMissingHandler,
+      rt: rt2,
+      d,
+      n,
+      tm,
+      te: te2,
+      getLocaleMessage,
+      setLocaleMessage,
+      mergeLocaleMessage,
+      getDateTimeFormat,
+      setDateTimeFormat,
+      mergeDateTimeFormat,
+      getNumberFormat,
+      setNumberFormat,
+      mergeNumberFormat
+    };
+    function sync(composer) {
+      composer.locale.value = _locale.value;
+      composer.fallbackLocale.value = _fallbackLocale.value;
+      Object.keys(_messages.value).forEach((locale2) => {
+        composer.mergeLocaleMessage(locale2, _messages.value[locale2]);
+      });
+      Object.keys(_datetimeFormats.value).forEach((locale2) => {
+        composer.mergeDateTimeFormat(locale2, _datetimeFormats.value[locale2]);
+      });
+      Object.keys(_numberFormats.value).forEach((locale2) => {
+        composer.mergeNumberFormat(locale2, _numberFormats.value[locale2]);
+      });
+      composer.escapeParameter = _escapeParameter;
+      composer.fallbackFormat = _fallbackFormat;
+      composer.fallbackRoot = _fallbackRoot;
+      composer.fallbackWarn = _fallbackWarn;
+      composer.missingWarn = _missingWarn;
+      composer.warnHtmlMessage = _warnHtmlMessage;
+    }
+    vue.onBeforeMount(() => {
+      if (instance.proxy == null || instance.proxy.$i18n == null) {
+        throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);
+      }
+      const composer = _composer.value = instance.proxy.$i18n.__composer;
+      if (scope === "global") {
+        _locale.value = composer.locale.value;
+        _fallbackLocale.value = composer.fallbackLocale.value;
+        _messages.value = composer.messages.value;
+        _datetimeFormats.value = composer.datetimeFormats.value;
+        _numberFormats.value = composer.numberFormats.value;
+      } else if (isLocalScope) {
+        sync(composer);
+      }
+    });
+    return wrapper;
+  }
+  {
+    initFeatureFlags();
+  }
+  if (__INTLIFY_JIT_COMPILATION__) {
+    registerMessageCompiler(compile);
+  } else {
+    registerMessageCompiler(compileToFunction);
+  }
+  registerMessageResolver(resolveValue);
+  registerLocaleFallbacker(fallbackWithLocaleChain);
+  if ({}.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
+    const target = getGlobalThis();
+    target.__INTLIFY__ = true;
+    setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);
+  }
+  /*!
+  * Copyright 2022, 2023 Utrecht University
+  *
+  * Licensed under the EUPL, Version 1.2 only
+  * You may not use this work except in compliance with the
+  Licence.
+  * A copy of the Licence is provided in the 'LICENCE' file in this project.
+  * You may also obtain a copy of the Licence at:
+  *
+  * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+  *
+  * Unless required by applicable law or agreed to in
+  writing, software distributed under the Licence is
+  distributed on an "AS IS" basis,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+  express or implied.
+  * See the Licence for the specific language governing
+  permissions and limitations under the Licence.
+  */
+  function t(e) {
+    return e.target.value;
+  }
+  /*!
+  * Copyright 2022, 2023 Utrecht University
+  *
+  * Licensed under the EUPL, Version 1.2 only
+  * You may not use this work except in compliance with the
+  Licence.
+  * A copy of the Licence is provided in the 'LICENCE' file in this project.
+  * You may also obtain a copy of the Licence at:
+  *
+  * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+  *
+  * Unless required by applicable law or agreed to in
+  writing, software distributed under the Licence is
+  distributed on an "AS IS" basis,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+  express or implied.
+  * See the Licence for the specific language governing
+  permissions and limitations under the Licence.
+  */
+  const re = ["href", "target"], ie = { class: "btn-text" }, ue = ["type", "name", "disabled"], de = { class: "btn-text" }, X = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSButton",
+    props: {
+      id: { default: null },
+      href: { default: void 0 },
+      name: { default: void 0 },
+      variant: { default: "dark" },
+      size: { default: "normal" },
+      outlined: { type: Boolean, default: false },
+      active: { type: Boolean, default: false },
+      disabled: { type: Boolean, default: false },
+      loading: { type: Boolean, default: false },
+      input: { default: "button" },
+      newTab: { type: Boolean, default: false },
+      cssClasses: { default: "" }
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => {
+        let n = "btn ";
+        return t2.size === "large" ? n += "btn-lg " : t2.size === "small" && (n += "btn-sm "), t2.outlined ? n += "btn-outline-" : n += "btn-", n += `${t2.variant} `, t2.loading && (n += "btn-loading "), t2.active && (n += "active "), n;
+      });
+      return (n, e) => n.href ? (vue.openBlock(), vue.createElementBlock("a", {
+        key: 0,
+        href: n.href,
+        class: vue.normalizeClass(o.value),
+        target: n.newTab ? "_blank" : "_self"
+      }, [
+        vue.createElementVNode("span", ie, [
+          vue.renderSlot(n.$slots, "default")
+        ])
+      ], 10, re)) : (vue.openBlock(), vue.createElementBlock("button", {
+        key: 1,
+        type: n.input,
+        class: vue.normalizeClass(o.value),
+        name: n.name,
+        disabled: n.disabled
+      }, [
+        vue.createElementVNode("span", de, [
+          vue.renderSlot(n.$slots, "default")
+        ])
+      ], 10, ue));
+    }
+  });
+  const Ve = ["id", "value", "checked", "onClick"], De = ["for"], Ue = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSMultiSelect",
+    props: {
+      options: {},
+      modelValue: {},
+      containerClasses: { default: "" },
+      uniqueId: { default: v4().toString() }
+    },
+    emits: ["update:modelValue", "update:model-value"],
+    setup(i, { emit: t2 }) {
+      const o = i;
+      function n(e) {
+        const l = o.modelValue.includes(e);
+        let a = [...o.modelValue];
+        if (!l)
+          a.push(e);
+        else {
+          const u = a.indexOf(e);
+          u > -1 && a.splice(u, 1);
+        }
+        t2("update:modelValue", a);
+      }
+      return (e, l) => (vue.openBlock(), vue.createElementBlock("div", null, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.options, ([a, u]) => (vue.openBlock(), vue.createElementBlock("div", {
+          key: a,
+          class: vue.normalizeClass(["form-check", e.containerClasses])
+        }, [
+          vue.createElementVNode("input", {
+            id: "id_" + a + "_" + e.uniqueId,
+            type: "checkbox",
+            class: "form-check-input",
+            value: a,
+            checked: o.modelValue.includes(a),
+            onClick: (_) => n(a)
+          }, null, 8, Ve),
+          vue.createElementVNode("label", {
+            class: "form-check-label",
+            for: +"_" + e.uniqueId
+          }, vue.toDisplayString(u), 9, De)
+        ], 2))), 128))
+      ]));
+    }
+  }), Le = {
+    class: "pagination justify-content-center",
+    role: "navigation",
+    "aria-label": "pagination"
+  }, Oe = ["onClick"], Ie = {
+    key: 1,
+    class: "page-link"
+  }, q = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSPagination",
+    props: {
+      maxPages: {},
+      currentpage: {},
+      showButtons: { type: Boolean, default: true },
+      numOptions: { default: 2 }
+    },
+    emits: ["change-page"],
+    setup(i, { emit: t2 }) {
+      const o = i;
+      function n(u, _, y) {
+        return Math.min(Math.max(u, _), y);
+      }
+      const e = vue.computed(() => {
+        const u = o.numOptions, _ = o.currentpage - u, y = o.currentpage + u + 1, P = [], I = [];
+        let U;
+        for (let $ = 1; $ <= o.maxPages; $++)
+          ($ === 1 || $ === o.maxPages || $ >= _ && $ < y) && P.push($);
+        for (const $ of P)
+          U && ($ - U === 2 ? I.push(U + 1) : $ - U !== 1 && I.push(-42)), I.push($), U = $;
+        return I;
+      });
+      function l(u) {
+        u = n(u, 1, o.maxPages), t2("change-page", u);
+      }
+      const { t: a } = useI18n();
+      return (u, _) => (vue.openBlock(), vue.createElementBlock("ul", Le, [
+        vue.createElementVNode("li", {
+          class: vue.normalizeClass(["page-item page-button", u.currentpage === 1 ? "disabled" : ""])
+        }, [
+          u.showButtons ? (vue.openBlock(), vue.createElementBlock("a", {
+            key: 0,
+            class: "page-link",
+            onClick: _[0] || (_[0] = (y) => l(u.currentpage - 1))
+          }, vue.toDisplayString(vue.unref(a)("previous")), 1)) : vue.createCommentVNode("", true)
+        ], 2),
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.value, (y) => (vue.openBlock(), vue.createElementBlock("li", {
+          key: y,
+          class: vue.normalizeClass([
+            "page-item",
+            (y === -42 ? "disabled page-ellipsis " : "") + (y === u.currentpage ? "active" : "")
+          ])
+        }, [
+          y !== -42 ? (vue.openBlock(), vue.createElementBlock("a", {
+            key: 0,
+            class: "page-link",
+            onClick: (P) => l(y)
+          }, vue.toDisplayString(y), 9, Oe)) : (vue.openBlock(), vue.createElementBlock("span", Ie, "…"))
+        ], 2))), 128)),
+        vue.createElementVNode("li", {
+          class: vue.normalizeClass(["page-item page-button", u.currentpage >= u.maxPages ? "disabled" : ""])
+        }, [
+          u.showButtons ? (vue.openBlock(), vue.createElementBlock("a", {
+            key: 0,
+            class: "page-link",
+            onClick: _[1] || (_[1] = (y) => l(u.currentpage + 1))
+          }, vue.toDisplayString(vue.unref(a)("next")), 1)) : vue.createCommentVNode("", true)
+        ], 2)
+      ]));
+    }
+  });
+  function G(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          next: (o) => {
+            const { normalize: n } = o;
+            return n(["Next"]);
+          },
+          previous: (o) => {
+            const { normalize: n } = o;
+            return n(["Previous"]);
+          }
+        },
+        nl: {
+          next: (o) => {
+            const { normalize: n } = o;
+            return n(["Volgende"]);
+          },
+          previous: (o) => {
+            const { normalize: n } = o;
+            return n(["Vorige"]);
+          }
+        }
+      }
+    });
+  }
+  typeof G == "function" && G(q);
+  const Pe = ["id", "value", "checked", "onClick"], Ee = ["for"], Ne = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSRadioSelect",
+    props: {
+      options: {},
+      modelValue: {},
+      containerClasses: { default: "" }
+    },
+    emits: ["update:modelValue", "update:model-value"],
+    setup(i, { emit: t2 }) {
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("div", null, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.options, ([e, l]) => (vue.openBlock(), vue.createElementBlock("div", {
+          key: e,
+          class: vue.normalizeClass(["form-check", o.containerClasses])
+        }, [
+          vue.createElementVNode("input", {
+            id: "id_" + e,
+            type: "radio",
+            class: "form-check-input",
+            value: e,
+            checked: o.modelValue == e,
+            onClick: (a) => t2("update:model-value", e)
+          }, null, 8, Pe),
+          vue.createElementVNode("label", {
+            class: "form-check-label",
+            for: "id_" + e
+          }, vue.toDisplayString(l), 9, Ee)
+        ], 2))), 128))
+      ]));
+    }
+  }), Me = { class: "uu-sidebar" }, Te = ["data-bs-target"], qe = ["id"], Re = { class: "uu-sidebar-content" }, je = /* @__PURE__ */ vue.defineComponent({
+    __name: "BSSidebar",
+    props: {
+      id: { default: null },
+      placement: { default: "left" },
+      mobilePlacement: { default: "top" },
+      stickySidebar: { type: Boolean, default: false },
+      mobileStickySidebar: { type: Boolean, default: false }
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => t2.id !== null ? t2.id : "id_" + v4().toString().replace(/-/g, "")), n = vue.computed(() => {
+        let e = "";
+        return t2.placement === "right" && (e += "uu-sidebar-right "), t2.mobilePlacement === "bottom" && (e += "uu-sidebar-mobile-bottom "), t2.stickySidebar && (e += "uu-sidebar-sticky "), t2.mobileStickySidebar && (e += "uu-sidebar-mobile-sticky "), e;
+      });
+      return (e, l) => (vue.openBlock(), vue.createElementBlock("div", {
+        class: vue.normalizeClass(["uu-sidebar-container", n.value])
+      }, [
+        vue.createElementVNode("aside", Me, [
+          vue.createElementVNode("button", {
+            class: "uu-sidebar-toggle",
+            type: "button",
+            "data-bs-toggle": "collapse",
+            "data-bs-target": "#" + o.value,
+            "aria-expanded": "false"
+          }, [
+            vue.renderSlot(e.$slots, "sidebar-button")
+          ], 8, Te),
+          vue.createElementVNode("div", {
+            id: o.value,
+            class: "uu-sidebar-collapse collapse"
+          }, [
+            vue.renderSlot(e.$slots, "sidebar")
+          ], 8, qe)
+        ]),
+        vue.createElementVNode("div", Re, [
+          vue.renderSlot(e.$slots, "default")
+        ])
+      ], 2));
+    }
+  }), Fe = { class: "uu-list-filter" }, Ze = { class: "uu-list-filter-label" }, Ge = {
+    key: 2,
+    class: "uu-list-filter-field"
+  }, Qe = ["value"], We = /* @__PURE__ */ vue.defineComponent({
+    __name: "Filter",
+    props: {
+      filter: {},
+      value: {}
+    },
+    emits: ["update:value"],
+    setup(i, { emit: t$1 }) {
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("div", Fe, [
+        vue.createElementVNode("div", Ze, vue.toDisplayString(o.filter.label), 1),
+        o.filter.type === "checkbox" ? (vue.openBlock(), vue.createBlock(vue.unref(Ue), {
+          key: 0,
+          options: o.filter.options ?? [],
+          "model-value": o.value ?? [],
+          "onUpdate:modelValue": n[0] || (n[0] = (e) => t$1("update:value", e))
+        }, null, 8, ["options", "model-value"])) : vue.createCommentVNode("", true),
+        o.filter.type === "radio" ? (vue.openBlock(), vue.createBlock(vue.unref(Ne), {
+          key: 1,
+          options: o.filter.options ?? [],
+          "model-value": o.value ?? "",
+          "onUpdate:modelValue": n[1] || (n[1] = (e) => t$1("update:value", e))
+        }, null, 8, ["options", "model-value"])) : vue.createCommentVNode("", true),
+        o.filter.type === "date" ? (vue.openBlock(), vue.createElementBlock("div", Ge, [
+          vue.createElementVNode("input", {
+            type: "date",
+            value: o.value,
+            class: "form-control",
+            onInput: n[2] || (n[2] = (e) => t$1("update:value", vue.unref(t)(e)))
+          }, null, 40, Qe)
+        ])) : vue.createCommentVNode("", true)
+      ]));
+    }
+  }), Ae = { key: 0 }, Y = /* @__PURE__ */ vue.defineComponent({
+    __name: "FilterBar",
+    props: {
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i;
+      function n(e, l) {
+        let a = { ...o.filterValues };
+        a[e] = l, t2("update:filter-values", a);
+      }
+      return (e, l) => e.filters ? (vue.openBlock(), vue.createElementBlock("div", Ae, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.filters, (a) => (vue.openBlock(), vue.createBlock(We, {
+          key: a.field,
+          filter: a,
+          value: e.filterValues[a.field] ?? void 0,
+          "onUpdate:value": (u) => n(a.field, u)
+        }, null, 8, ["filter", "value", "onUpdate:value"]))), 128))
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), He = { class: "search" }, Je = ["value", "placeholder"], R = /* @__PURE__ */ vue.defineComponent({
+    __name: "SearchControl",
+    props: {
+      modelValue: {}
+    },
+    emits: ["update:modelValue", "update:model-value"],
+    setup(i, { emit: t$1 }) {
+      function o(a, u = 500) {
+        let _;
+        return (...y) => {
+          clearTimeout(_), _ = setTimeout(() => {
+            a.apply(this, y);
+          }, u);
+        };
+      }
+      function n(a) {
+        t$1("update:modelValue", a);
+      }
+      const e = o((a) => n(a)), { t: l } = useI18n();
+      return (a, u) => (vue.openBlock(), vue.createElementBlock("div", He, [
+        vue.createElementVNode("input", {
+          id: "search",
+          class: "form-control",
+          value: a.modelValue,
+          placeholder: vue.unref(l)("placeholder"),
+          onInput: u[0] || (u[0] = (_) => vue.unref(e)(vue.unref(t)(_)))
+        }, null, 40, Je)
+      ]));
+    }
+  });
+  function Q(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          placeholder: (o) => {
+            const { normalize: n } = o;
+            return n(["Search"]);
+          }
+        },
+        nl: {
+          placeholder: (o) => {
+            const { normalize: n } = o;
+            return n(["Zoeken"]);
+          }
+        }
+      }
+    });
+  }
+  typeof Q == "function" && Q(R);
+  const Ke = ["value"], Xe = ["value"], x = /* @__PURE__ */ vue.defineComponent({
+    __name: "PageSizeControl",
+    props: {
+      pageSize: {},
+      pageSizeOptions: {}
+    },
+    emits: ["update:pageSize", "update:page-size"],
+    setup(i, { emit: t$1 }) {
+      const o = i;
+      function n(e) {
+        if (typeof e == "string")
+          try {
+            e = Number(e);
+          } catch {
+            e = o.pageSizeOptions[0] ?? 10;
+          }
+        t$1("update:pageSize", e);
+      }
+      return (e, l) => (vue.openBlock(), vue.createElementBlock("select", {
+        value: e.pageSize,
+        class: "form-select",
+        onChange: l[0] || (l[0] = (a) => n(vue.unref(t)(a)))
+      }, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.pageSizeOptions, (a) => (vue.openBlock(), vue.createElementBlock("option", {
+          key: a,
+          value: a
+        }, vue.toDisplayString(a), 9, Xe))), 128))
+      ], 40, Ke));
+    }
+  }), Ye = ["value"], xe = ["value"], ee = /* @__PURE__ */ vue.defineComponent({
+    __name: "SortControl",
+    props: {
+      currentSort: {},
+      sortOptions: {}
+    },
+    emits: ["update:current-sort", "update:currentSort"],
+    setup(i, { emit: t$1 }) {
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("select", {
+        value: o.currentSort,
+        class: "form-select",
+        onChange: n[0] || (n[0] = (e) => o.$emit("update:current-sort", vue.unref(t)(e).trim()))
+      }, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.sortOptions, ({ field: e, label: l }) => (vue.openBlock(), vue.createElementBlock("option", {
+          key: e,
+          value: e
+        }, vue.toDisplayString(l), 9, xe))), 128))
+      ], 40, Ye));
+    }
+  }), et = { key: 0 }, j = /* @__PURE__ */ vue.defineComponent({
+    __name: "SearchResultNum",
+    props: {
+      searchQuery: {},
+      pageNum: {},
+      totalNum: {}
+    },
+    setup(i) {
+      const { t: t2 } = useI18n();
+      return (o, n) => (vue.openBlock(), vue.createElementBlock("div", null, [
+        o.searchQuery ? (vue.openBlock(), vue.createElementBlock("span", et, vue.toDisplayString(vue.unref(t2)("search", { query: o.searchQuery })), 1)) : vue.createCommentVNode("", true),
+        vue.createTextVNode(" " + vue.toDisplayString(vue.unref(t2)("showing", {
+          pageNum: o.pageNum,
+          totalNum: Intl.NumberFormat().format(o.totalNum)
+        })), 1)
+      ]));
+    }
+  });
+  function W(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          search: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n(["Search result: ", e(l("query")), ","]);
+          },
+          showing: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n(["showing ", e(l("pageNum")), " of ", e(l("totalNum")), " results"]);
+          }
+        },
+        nl: {
+          search: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n(["Zoekresultaat: ", e(l("query")), ","]);
+          },
+          showing: (o) => {
+            const { normalize: n, interpolate: e, named: l } = o;
+            return n([e(l("pageNum")), " van ", e(l("totalNum")), " getoond"]);
+          }
+        }
+      }
+    });
+  }
+  typeof W == "function" && W(j);
+  const tt = { class: "uu-container" }, nt = { class: "uu-list" }, ot = { class: "uu-list-controls" }, at = {
+    key: 1,
+    class: "uu-list-order-control"
+  }, st = { class: "uu-list-page-size-control" }, lt = {
+    key: 0,
+    class: "uu-list-filters"
+  }, rt = { class: "uu-list-content" }, it = /* @__PURE__ */ vue.defineComponent({
+    __name: "Default",
+    props: {
+      data: {},
+      isLoading: { type: Boolean },
+      totalData: {},
+      currentPage: {},
+      searchEnabled: { type: Boolean },
+      search: {},
+      sortEnabled: { type: Boolean },
+      currentSort: {},
+      sortOptions: {},
+      pageSize: {},
+      pageSizeOptions: {},
+      filtersEnabled: { type: Boolean },
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:current-page", "update:search", "update:current-sort", "update:page-size", "update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i, n = vue.computed(() => Math.ceil(o.totalData / o.pageSize));
+      return (e, l) => {
+        var a;
+        return vue.openBlock(), vue.createElementBlock("div", tt, [
+          vue.createElementVNode("div", nt, [
+            vue.createElementVNode("div", ot, [
+              e.searchEnabled ? (vue.openBlock(), vue.createBlock(R, {
+                key: 0,
+                "model-value": e.search,
+                class: "uu-list-search-control",
+                "onUpdate:modelValue": l[0] || (l[0] = (u) => e.$emit("update:search", u))
+              }, null, 8, ["model-value"])) : vue.createCommentVNode("", true),
+              vue.createVNode(j, {
+                "search-query": e.search,
+                "page-num": ((a = e.data) == null ? void 0 : a.length) ?? 0,
+                "total-num": e.totalData,
+                class: "uu-list-search-text-control"
+              }, null, 8, ["search-query", "page-num", "total-num"]),
+              e.sortEnabled ? (vue.openBlock(), vue.createElementBlock("div", at, [
+                vue.createVNode(ee, {
+                  "current-sort": e.currentSort,
+                  "sort-options": e.sortOptions,
+                  "onUpdate:currentSort": l[1] || (l[1] = (u) => t2("update:current-sort", u))
+                }, null, 8, ["current-sort", "sort-options"])
+              ])) : vue.createCommentVNode("", true),
+              vue.createElementVNode("div", st, [
+                vue.createVNode(x, {
+                  "page-size-options": e.pageSizeOptions,
+                  "page-size": e.pageSize,
+                  "onUpdate:pageSize": l[2] || (l[2] = (u) => t2("update:page-size", u))
+                }, null, 8, ["page-size-options", "page-size"])
+              ])
+            ]),
+            e.filtersEnabled ? (vue.openBlock(), vue.createElementBlock("div", lt, [
+              vue.renderSlot(e.$slots, "filters-top", {
+                data: e.data,
+                isLoading: e.isLoading
+              }),
+              vue.createVNode(Y, {
+                filters: e.filters,
+                "filter-values": e.filterValues,
+                "onUpdate:filterValues": l[3] || (l[3] = (u) => e.$emit("update:filter-values", u))
+              }, null, 8, ["filters", "filter-values"]),
+              vue.renderSlot(e.$slots, "filters-bottom", {
+                data: e.data,
+                isLoading: e.isLoading
+              })
+            ])) : vue.createCommentVNode("", true),
+            vue.createElementVNode("div", rt, [
+              vue.renderSlot(e.$slots, "data", {
+                data: e.data,
+                isLoading: e.isLoading
+              }),
+              vue.createElementVNode("div", null, [
+                e.data ? (vue.openBlock(), vue.createBlock(vue.unref(q), {
+                  key: 0,
+                  "max-pages": n.value,
+                  currentpage: e.currentPage,
+                  onChangePage: l[4] || (l[4] = (u) => e.$emit("update:current-page", u))
+                }, null, 8, ["max-pages", "currentpage"])) : vue.createCommentVNode("", true)
+              ])
+            ])
+          ])
+        ]);
+      };
+    }
+  }), ut = { class: "w-100 d-flex align-items-center gap-3 uu-list-controls" }, dt = {
+    key: 0,
+    class: "ms-auto"
+  }, te = /* @__PURE__ */ vue.defineComponent({
+    __name: "Sidebar",
+    props: {
+      data: {},
+      isLoading: { type: Boolean },
+      totalData: {},
+      currentPage: {},
+      searchEnabled: { type: Boolean },
+      search: {},
+      sortEnabled: { type: Boolean },
+      currentSort: {},
+      sortOptions: {},
+      pageSize: {},
+      pageSizeOptions: {},
+      filtersEnabled: { type: Boolean },
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:current-page", "update:search", "update:current-sort", "update:page-size", "update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i, n = vue.computed(() => Math.ceil(o.totalData / o.pageSize));
+      return (e, l) => (vue.openBlock(), vue.createBlock(vue.unref(je), { class: "uu-list-sidebar" }, {
+        sidebar: vue.withCtx(() => [
+          e.searchEnabled ? (vue.openBlock(), vue.createBlock(R, {
+            key: 0,
+            "model-value": e.search,
+            "onUpdate:modelValue": l[0] || (l[0] = (a) => e.$emit("update:search", a))
+          }, null, 8, ["model-value"])) : vue.createCommentVNode("", true),
+          vue.renderSlot(e.$slots, "filters-top", {
+            data: e.data,
+            isLoading: e.isLoading
+          }),
+          e.filters ? (vue.openBlock(), vue.createBlock(Y, {
+            key: 1,
+            filters: e.filters,
+            "filter-values": e.filterValues,
+            "onUpdate:filterValues": l[1] || (l[1] = (a) => e.$emit("update:filter-values", a))
+          }, null, 8, ["filters", "filter-values"])) : vue.createCommentVNode("", true),
+          vue.renderSlot(e.$slots, "filters-bottom", {
+            data: e.data,
+            isLoading: e.isLoading
+          })
+        ]),
+        default: vue.withCtx(() => {
+          var a;
+          return [
+            vue.createElementVNode("div", null, [
+              vue.createElementVNode("div", ut, [
+                vue.createVNode(j, {
+                  "search-query": e.search,
+                  "page-num": ((a = e.data) == null ? void 0 : a.length) ?? 0,
+                  "total-num": e.totalData
+                }, null, 8, ["search-query", "page-num", "total-num"]),
+                e.sortEnabled ? (vue.openBlock(), vue.createElementBlock("div", dt, [
+                  vue.createVNode(ee, {
+                    "current-sort": e.currentSort,
+                    "sort-options": e.sortOptions,
+                    "onUpdate:currentSort": l[2] || (l[2] = (u) => t2("update:current-sort", u))
+                  }, null, 8, ["current-sort", "sort-options"])
+                ])) : vue.createCommentVNode("", true),
+                vue.createElementVNode("div", null, [
+                  vue.createVNode(x, {
+                    "page-size-options": e.pageSizeOptions,
+                    "page-size": e.pageSize,
+                    "onUpdate:pageSize": l[3] || (l[3] = (u) => t2("update:page-size", u))
+                  }, null, 8, ["page-size-options", "page-size"])
+                ])
+              ]),
+              vue.renderSlot(e.$slots, "data", {
+                data: e.data,
+                isLoading: e.isLoading
+              }),
+              vue.createElementVNode("div", null, [
+                e.data ? (vue.openBlock(), vue.createBlock(vue.unref(q), {
+                  key: 0,
+                  "max-pages": n.value,
+                  currentpage: e.currentPage,
+                  onChangePage: l[4] || (l[4] = (u) => e.$emit("update:current-page", u))
+                }, null, 8, ["max-pages", "currentpage"])) : vue.createCommentVNode("", true)
+              ])
+            ])
+          ];
+        }),
+        _: 3
+      }));
+    }
+  });
+  function A(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Loading...."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["No items to display"]);
+          }
+        },
+        nl: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Gegevens worden laden..."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["Geen gegevens om te tonen"]);
+          }
+        }
+      }
+    });
+  }
+  typeof A == "function" && A(te);
+  const pt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DebugVisualizer",
+    props: {
+      data: { default: void 0 },
+      isLoading: { type: Boolean, default: false }
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("pre", null, vue.toDisplayString(t2.data), 1));
+    }
+  }), ct = /* @__PURE__ */ vue.defineComponent({
+    __name: "UUList",
+    props: {
+      container: { default: "default" },
+      data: {},
+      isLoading: { type: Boolean, default: false },
+      totalData: {},
+      currentPage: {},
+      searchEnabled: { type: Boolean, default: false },
+      search: { default: "" },
+      sortEnabled: { type: Boolean, default: false },
+      currentSort: { default: "" },
+      sortOptions: { default: () => [] },
+      pageSize: { default: 10 },
+      pageSizeOptions: { default: () => [10, 25, 50] },
+      filtersEnabled: { type: Boolean, default: false },
+      filters: {},
+      filterValues: {}
+    },
+    emits: ["update:current-page", "update:search", "update:current-sort", "update:page-size", "update:filter-values"],
+    setup(i, { emit: t2 }) {
+      const o = i, n = vue.computed(() => {
+        switch (o.container) {
+          case "sidebar":
+            return te;
+          default:
+            return it;
+        }
+      });
+      return (e, l) => (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(n.value), {
+        "is-loading": e.isLoading,
+        data: e.data,
+        "total-data": e.totalData,
+        "search-enabled": e.searchEnabled,
+        search: e.search,
+        "sort-enabled": e.sortEnabled,
+        "current-sort": e.currentSort,
+        "current-page": e.currentPage,
+        "page-size-options": e.pageSizeOptions,
+        "sort-options": e.sortOptions,
+        "page-size": e.pageSize,
+        "filters-enabled": e.filtersEnabled,
+        filters: e.filters,
+        "filter-values": e.filterValues,
+        "onUpdate:search": l[0] || (l[0] = (a) => t2("update:search", a)),
+        "onUpdate:currentSort": l[1] || (l[1] = (a) => t2("update:current-sort", a)),
+        "onUpdate:pageSize": l[2] || (l[2] = (a) => t2("update:page-size", a)),
+        "onUpdate:currentPage": l[3] || (l[3] = (a) => t2("update:current-page", a)),
+        "onUpdate:filterValues": l[4] || (l[4] = (a) => t2("update:filter-values", a))
+      }, {
+        data: vue.withCtx(({ data: a, isLoading: u }) => [
+          vue.renderSlot(e.$slots, "data", {
+            data: a,
+            isLoading: u
+          }, () => [
+            vue.createVNode(pt, {
+              data: a,
+              "is-loading": u
+            }, null, 8, ["data", "is-loading"])
+          ])
+        ]),
+        "filters-top": vue.withCtx(({ data: a, isLoading: u }) => [
+          vue.renderSlot(e.$slots, "filters-top", {
+            data: a,
+            isLoading: u
+          })
+        ]),
+        "filters-bottom": vue.withCtx(({ data: a, isLoading: u }) => [
+          vue.renderSlot(e.$slots, "filters-bottom", {
+            data: a,
+            isLoading: u
+          })
+        ]),
+        _: 3
+      }, 40, ["is-loading", "data", "total-data", "search-enabled", "search", "sort-enabled", "current-sort", "current-page", "page-size-options", "sort-options", "page-size", "filters-enabled", "filters", "filter-values"]));
+    }
+  }), mt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVString",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("span", {
+        class: vue.normalizeClass(t2.column.classes)
+      }, vue.toDisplayString(t2.item[t2.column.field]), 3));
+    }
+  }), ft = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVDate",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => {
+        let n = null;
+        try {
+          n = new Date(t2.item[t2.column.field]);
+        } catch (a) {
+          return console.error(a), "";
+        }
+        let e;
+        if (t2.column.language !== void 0 && t2.column.language !== null && (e = t2.column.language), typeof t2.column.format == "string") {
+          let a = null;
+          switch (t2.column.format) {
+            case "date":
+              a = {
+                dateStyle: "medium"
+              };
+              break;
+            case "time":
+              a = {
+                timeStyle: "short"
+              };
+              break;
+            case "datetime":
+              a = {
+                dateStyle: "medium",
+                timeStyle: "short"
+              };
+              break;
+          }
+          return new Intl.DateTimeFormat(e, a).format(n);
+        }
+        return typeof t2.column.format == "object" && t2.column.format !== null ? new Intl.DateTimeFormat(
+          e,
+          t2.column.format
+        ).format(n) : new Intl.DateTimeFormat(e).format(n);
+      });
+      return (n, e) => (vue.openBlock(), vue.createElementBlock("span", {
+        class: vue.normalizeClass(n.column.classes)
+      }, vue.toDisplayString(o.value), 3));
+    }
+  }), gt = { key: 0 }, ht = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVButton",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => t2.item[t2.column.field] ? (vue.openBlock(), vue.createElementBlock("span", gt, [
+        vue.createVNode(vue.unref(X), {
+          href: t2.item[t2.column.field].link,
+          "css-classes": t2.item[t2.column.field].classes,
+          "new-tab": t2.item[t2.column.field].new_tab,
+          size: t2.column.size,
+          variant: t2.column.variant
+        }, {
+          default: vue.withCtx(() => [
+            vue.createTextVNode(vue.toDisplayString(t2.item[t2.column.field].text), 1)
+          ]),
+          _: 1
+        }, 8, ["href", "css-classes", "new-tab", "size", "variant"])
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), vt = { key: 0 }, bt = ["href", "target"], yt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVLink",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => t2.item[t2.column.field] ? (vue.openBlock(), vue.createElementBlock("span", vt, [
+        vue.createElementVNode("a", {
+          href: t2.item[t2.column.field].link,
+          class: vue.normalizeClass(t2.column.classes),
+          target: t2.item[t2.column.field].new_tab ? "_blank" : "_self"
+        }, vue.toDisplayString(t2.item[t2.column.field].text), 11, bt)
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), _t = ["innerHTML"], $t = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVHTML",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("span", {
+        innerHTML: t2.item[t2.column.field]
+      }, null, 8, _t));
+    }
+  }), kt = {
+    key: 0,
+    class: "dropdown"
+  }, zt = /* @__PURE__ */ vue.createStaticVNode('<button class="btn p-1" type="button" data-bs-toggle="dropdown" aria-expanded="false" style="line-height:1rem;"><svg width="16px" height="16px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 13.75C12.9665 13.75 13.75 12.9665 13.75 12C13.75 11.0335 12.9665 10.25 12 10.25C11.0335 10.25 10.25 11.0335 10.25 12C10.25 12.9665 11.0335 13.75 12 13.75Z" fill="#000000"></path><path d="M19 13.75C19.9665 13.75 20.75 12.9665 20.75 12C20.75 11.0335 19.9665 10.25 19 10.25C18.0335 10.25 17.25 11.0335 17.25 12C17.25 12.9665 18.0335 13.75 19 13.75Z" fill="#000000"></path><path d="M5 13.75C5.9665 13.75 6.75 12.9665 6.75 12C6.75 11.0335 5.9665 10.25 5 10.25C4.0335 10.25 3.25 11.0335 3.25 12C3.25 12.9665 4.0335 13.75 5 13.75Z" fill="#000000"></path></svg></button>', 1), St = { class: "dropdown-menu" }, wt = {
+    key: 0,
+    class: "dropdown-divider"
+  }, Ct = ["href", "target"], Bt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVActions",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => t2.item[t2.column.field].entries());
+      return (n, e) => o.value ? (vue.openBlock(), vue.createElementBlock("div", kt, [
+        zt,
+        vue.createElementVNode("ul", St, [
+          (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(o.value, ([l, a]) => (vue.openBlock(), vue.createElementBlock("li", { key: l }, [
+            a.divider ? (vue.openBlock(), vue.createElementBlock("hr", wt)) : (vue.openBlock(), vue.createElementBlock("a", {
+              key: 1,
+              href: a.link,
+              class: vue.normalizeClass(["dropdown-item", a.classes ?? ""]),
+              target: a.new_tab ? "_blank" : "_self"
+            }, vue.toDisplayString(a.text), 11, Ct))
+          ]))), 128))
+        ])
+      ])) : vue.createCommentVNode("", true);
+    }
+  }), Vt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVColumn",
+    props: {
+      item: {},
+      column: {}
+    },
+    setup(i) {
+      return (t2, o) => t2.column.type == "string" ? (vue.openBlock(), vue.createBlock(mt, {
+        key: 0,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "date" ? (vue.openBlock(), vue.createBlock(ft, {
+        key: 1,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "button" ? (vue.openBlock(), vue.createBlock(ht, {
+        key: 2,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "link" ? (vue.openBlock(), vue.createBlock(yt, {
+        key: 3,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "html" ? (vue.openBlock(), vue.createBlock($t, {
+        key: 4,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : t2.column.type == "actions" ? (vue.openBlock(), vue.createBlock(Bt, {
+        key: 5,
+        item: t2.item,
+        column: t2.column
+      }, null, 8, ["item", "column"])) : vue.createCommentVNode("", true);
+    }
+  }), Dt = /* @__PURE__ */ vue.defineComponent({
+    __name: "DDVRow",
+    props: {
+      item: {},
+      columns: {}
+    },
+    setup(i) {
+      return (t2, o) => (vue.openBlock(), vue.createElementBlock("tr", null, [
+        (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(t2.columns, (n) => (vue.openBlock(), vue.createElementBlock("td", {
+          key: n.field,
+          class: "align-middle"
+        }, [
+          vue.createVNode(Vt, {
+            column: n,
+            item: t2.item
+          }, null, 8, ["column", "item"])
+        ]))), 128))
+      ]));
+    }
+  }), Ut = {
+    key: 0,
+    class: "alert alert-info w-100"
+  }, Lt = { key: 0 }, Ot = { key: 1 }, It = ["colspan"], ne = /* @__PURE__ */ vue.defineComponent({
+    __name: "DataDefinedVisualizer",
+    props: {
+      data: { default: null },
+      columns: {},
+      isLoading: { type: Boolean, default: false }
+    },
+    setup(i) {
+      const t2 = i, o = vue.computed(() => t2.data === null || t2.data === void 0 || t2.data.length === 0), { t: n } = useI18n();
+      return (e, l) => e.isLoading && o.value ? (vue.openBlock(), vue.createElementBlock("div", Ut, vue.toDisplayString(vue.unref(n)("loading")), 1)) : (vue.openBlock(), vue.createElementBlock("table", {
+        key: 1,
+        class: vue.normalizeClass(["table", e.isLoading ? "loading" : ""])
+      }, [
+        vue.createElementVNode("thead", null, [
+          vue.createElementVNode("tr", null, [
+            (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.columns, (a) => (vue.openBlock(), vue.createElementBlock("th", {
+              key: a.field
+            }, vue.toDisplayString(a.label), 1))), 128))
+          ])
+        ]),
+        o.value ? (vue.openBlock(), vue.createElementBlock("tbody", Ot, [
+          vue.createElementVNode("tr", null, [
+            vue.createElementVNode("td", {
+              colspan: e.columns.length
+            }, vue.toDisplayString(vue.unref(n)("no_data")), 9, It)
+          ])
+        ])) : (vue.openBlock(), vue.createElementBlock("tbody", Lt, [
+          (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(e.data, (a) => (vue.openBlock(), vue.createBlock(Dt, {
+            key: a.id,
+            item: a,
+            columns: e.columns
+          }, null, 8, ["item", "columns"]))), 128))
+        ]))
+      ], 2));
+    }
+  });
+  function H(i) {
+    const t2 = i;
+    t2.__i18n = t2.__i18n || [], t2.__i18n.push({
+      locale: "",
+      resource: {
+        en: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Loading...."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["No items to display"]);
+          }
+        },
+        nl: {
+          loading: (o) => {
+            const { normalize: n } = o;
+            return n(["Gegevens worden laden..."]);
+          },
+          no_data: (o) => {
+            const { normalize: n } = o;
+            return n(["Geen gegevens om te tonen"]);
+          }
+        }
+      }
+    });
+  }
+  typeof H == "function" && H(ne);
+  const Ft = /* @__PURE__ */ vue.defineComponent({
+    __name: "DSCList",
+    props: {
+      config: {}
+    },
+    setup(i) {
+      const t2 = i, o = vue.ref(t2.config.pageSize), n = vue.ref(1), e = vue.ref(""), l = vue.ref("id"), a = vue.ref(true);
+      function u() {
+        var m;
+        let p = {};
+        return (m = t2.config.filters) == null || m.forEach((k) => {
+          var O;
+          if (k.initial) {
+            p[k.field] = k.initial;
+            return;
+          }
+          switch (k.type) {
+            case "date":
+              p[k.field] = null;
+              break;
+            case "checkbox":
+              p[k.field] = [];
+              break;
+            case "radio":
+              ((O = k.options) == null ? void 0 : O.length) != 0 && k.options && (p[k.field] = k.options[0][0]);
+              break;
+          }
+        }), p;
+      }
+      const _ = vue.ref(u());
+      let y = vue.ref(null);
+      const P = vue.computed(() => {
+        let p = [];
+        p.push("page_size=" + encodeURIComponent(o.value));
+        for (const [m, k] of Object.entries(_.value))
+          k != null && (typeof k == "object" ? k.forEach(
+            (O) => p.push(m + "=" + encodeURIComponent(O))
+          ) : p.push(m + "=" + encodeURIComponent(k)));
+        return e.value && p.push("search=" + encodeURIComponent(e.value)), p.push("ordering=" + encodeURIComponent(l.value)), n.value = 1, p;
+      }), I = vue.computed(() => {
+        let p = P.value, m = "page=" + encodeURIComponent(n.value);
+        return p.length !== 0 && (m = "&" + m), "?" + p.join("&") + m;
+      }), U = vue.computed(() => {
+        let p = new URL(window.location.protocol + "//" + window.location.host);
+        return p.pathname = t2.config.dataUri, p.search = I.value, console.log(p.toString()), p.toString();
+      });
+      vue.watch(U, () => {
+        F();
+      });
+      const $ = vue.ref(null);
+      function F() {
+        $.value && $.value.abort(), $.value = new AbortController(), a.value = true, fetch(U.value, { signal: $.value.signal }).then((p) => {
+          p.json().then((m) => {
+            y.value = m, a.value = false, m.ordering && (l.value = m.ordering), $.value = null;
+          });
+        }).catch((p) => {
+          console.log(p);
+        });
+      }
+      return vue.onMounted(() => {
+        F();
+      }), (p, m) => {
+        var k, O, Z;
+        return vue.openBlock(), vue.createBlock(ct, {
+          "is-loading": a.value,
+          data: ((k = vue.unref(y)) == null ? void 0 : k.results) ?? void 0,
+          "total-data": ((O = vue.unref(y)) == null ? void 0 : O.count) ?? 0,
+          "search-enabled": p.config.searchEnabled,
+          search: e.value,
+          "sort-enabled": p.config.sortEnabled,
+          "current-sort": l.value,
+          "page-size-options": p.config.pageSizeOptions,
+          "sort-options": p.config.sortOptions ?? [],
+          "page-size": ((Z = vue.unref(y)) == null ? void 0 : Z.page_size) ?? 10,
+          "current-page": n.value,
+          "filters-enabled": p.config.filtersEnabled,
+          filters: p.config.filters ?? [],
+          "filter-values": _.value,
+          container: p.config.container,
+          "onUpdate:search": m[0] || (m[0] = (C) => e.value = C),
+          "onUpdate:currentSort": m[1] || (m[1] = (C) => l.value = C),
+          "onUpdate:pageSize": m[2] || (m[2] = (C) => o.value = C),
+          "onUpdate:currentPage": m[3] || (m[3] = (C) => n.value = C),
+          "onUpdate:filterValues": m[4] || (m[4] = (C) => _.value = C)
+        }, {
+          data: vue.withCtx(({ data: C, isLoading: oe }) => [
+            vue.createVNode(ne, {
+              data: C,
+              columns: p.config.columns,
+              "is-loading": oe
+            }, null, 8, ["data", "columns", "is-loading"])
+          ]),
+          _: 1
+        }, 8, ["is-loading", "data", "total-data", "search-enabled", "search", "sort-enabled", "current-sort", "page-size-options", "sort-options", "page-size", "current-page", "filters-enabled", "filters", "filter-values", "container"]);
+      };
+    }
+  });
+  const style = "";
+  return Ft;
+}(Vue);
diff --git a/src/cdh/vue3/static/cdh.vue3/components/uu-list/style.css b/src/cdh/vue3/static/cdh.vue3/components/uu-list/style.css
new file mode 100644
index 00000000..393f0ebd
--- /dev/null
+++ b/src/cdh/vue3/static/cdh.vue3/components/uu-list/style.css
@@ -0,0 +1,20 @@
+/*!
+* Copyright 2022, 2023 Utrecht University
+*
+* Licensed under the EUPL, Version 1.2 only
+* You may not use this work except in compliance with the
+Licence.
+* A copy of the Licence is provided in the 'LICENCE' file in this project.
+* You may also obtain a copy of the Licence at:
+*
+* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+*
+* Unless required by applicable law or agreed to in
+writing, software distributed under the Licence is
+distributed on an "AS IS" basis,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+express or implied.
+* See the Licence for the specific language governing
+permissions and limitations under the Licence.
+*/
+.card-header-icon[data-v-06938a02]{cursor:pointer}.dropdown.dropdown-select .dropdown-menu{padding-top:0}.dropdown.dropdown-select .dropdown-item:hover{background:#ffcd00;color:#000}.dropdown.dropdown-select label{width:100%}
diff --git a/src/cdh/vue3/static/cdh.vue3/vue/vue-i18n.global.js b/src/cdh/vue3/static/cdh.vue3/vue/vue-i18n.global.js
new file mode 100644
index 00000000..41df02f3
--- /dev/null
+++ b/src/cdh/vue3/static/cdh.vue3/vue/vue-i18n.global.js
@@ -0,0 +1,6482 @@
+/*!
+  * vue-i18n v9.5.0
+  * (c) 2023 kazuya kawaguchi
+  * Released under the MIT License.
+  */
+var VueI18n = (function (exports, vue) {
+  'use strict';
+
+  /**
+   * Original Utilities
+   * written by kazuya kawaguchi
+   */
+  const inBrowser = typeof window !== 'undefined';
+  let mark;
+  let measure;
+  {
+      const perf = inBrowser && window.performance;
+      if (perf &&
+          perf.mark &&
+          perf.measure &&
+          perf.clearMarks &&
+          // @ts-ignore browser compat
+          perf.clearMeasures) {
+          mark = (tag) => {
+              perf.mark(tag);
+          };
+          measure = (name, startTag, endTag) => {
+              perf.measure(name, startTag, endTag);
+              perf.clearMarks(startTag);
+              perf.clearMarks(endTag);
+          };
+      }
+  }
+  const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g;
+  /* eslint-disable */
+  function format$1(message, ...args) {
+      if (args.length === 1 && isObject(args[0])) {
+          args = args[0];
+      }
+      if (!args || !args.hasOwnProperty) {
+          args = {};
+      }
+      return message.replace(RE_ARGS, (match, identifier) => {
+          return args.hasOwnProperty(identifier) ? args[identifier] : '';
+      });
+  }
+  const makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);
+  const generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });
+  const friendlyJSONstringify = (json) => JSON.stringify(json)
+      .replace(/\u2028/g, '\\u2028')
+      .replace(/\u2029/g, '\\u2029')
+      .replace(/\u0027/g, '\\u0027');
+  const isNumber = (val) => typeof val === 'number' && isFinite(val);
+  const isDate = (val) => toTypeString(val) === '[object Date]';
+  const isRegExp = (val) => toTypeString(val) === '[object RegExp]';
+  const isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;
+  const assign = Object.assign;
+  let _globalThis;
+  const getGlobalThis = () => {
+      // prettier-ignore
+      return (_globalThis ||
+          (_globalThis =
+              typeof globalThis !== 'undefined'
+                  ? globalThis
+                  : typeof self !== 'undefined'
+                      ? self
+                      : typeof window !== 'undefined'
+                          ? window
+                          : typeof global !== 'undefined'
+                              ? global
+                              : {}));
+  };
+  function escapeHtml(rawText) {
+      return rawText
+          .replace(/</g, '&lt;')
+          .replace(/>/g, '&gt;')
+          .replace(/"/g, '&quot;')
+          .replace(/'/g, '&apos;');
+  }
+  const hasOwnProperty = Object.prototype.hasOwnProperty;
+  function hasOwn(obj, key) {
+      return hasOwnProperty.call(obj, key);
+  }
+  /* eslint-enable */
+  /**
+   * Useful Utilities By Evan you
+   * Modified by kazuya kawaguchi
+   * MIT License
+   * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts
+   * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts
+   */
+  const isArray = Array.isArray;
+  const isFunction = (val) => typeof val === 'function';
+  const isString = (val) => typeof val === 'string';
+  const isBoolean = (val) => typeof val === 'boolean';
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  const isObject = (val) => val !== null && typeof val === 'object';
+  const objectToString = Object.prototype.toString;
+  const toTypeString = (value) => objectToString.call(value);
+  const isPlainObject = (val) => {
+      if (!isObject(val))
+          return false;
+      const proto = Object.getPrototypeOf(val);
+      return proto === null || proto.constructor === Object;
+  };
+  // for converting list and named values to displayed strings.
+  const toDisplayString = (val) => {
+      return val == null
+          ? ''
+          : isArray(val) || (isPlainObject(val) && val.toString === objectToString)
+              ? JSON.stringify(val, null, 2)
+              : String(val);
+  };
+  function join(items, separator = '') {
+      return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');
+  }
+  const RANGE = 2;
+  function generateCodeFrame(source, start = 0, end = source.length) {
+      const lines = source.split(/\r?\n/);
+      let count = 0;
+      const res = [];
+      for (let i = 0; i < lines.length; i++) {
+          count += lines[i].length + 1;
+          if (count >= start) {
+              for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {
+                  if (j < 0 || j >= lines.length)
+                      continue;
+                  const line = j + 1;
+                  res.push(`${line}${' '.repeat(3 - String(line).length)}|  ${lines[j]}`);
+                  const lineLength = lines[j].length;
+                  if (j === i) {
+                      // push underline
+                      const pad = start - (count - lineLength) + 1;
+                      const length = Math.max(1, end > count ? lineLength - pad : end - start);
+                      res.push(`   |  ` + ' '.repeat(pad) + '^'.repeat(length));
+                  }
+                  else if (j > i) {
+                      if (end > count) {
+                          const length = Math.max(Math.min(end - count, lineLength), 1);
+                          res.push(`   |  ` + '^'.repeat(length));
+                      }
+                      count += lineLength + 1;
+                  }
+              }
+              break;
+          }
+      }
+      return res.join('\n');
+  }
+  function incrementer(code) {
+      let current = code;
+      return () => ++current;
+  }
+
+  function warn(msg, err) {
+      if (typeof console !== 'undefined') {
+          console.warn(`[intlify] ` + msg);
+          /* istanbul ignore if */
+          if (err) {
+              console.warn(err.stack);
+          }
+      }
+  }
+
+  /**
+   * Event emitter, forked from the below:
+   * - original repository url: https://github.com/developit/mitt
+   * - code url: https://github.com/developit/mitt/blob/master/src/index.ts
+   * - author: Jason Miller (https://github.com/developit)
+   * - license: MIT
+   */
+  /**
+   * Create a event emitter
+   *
+   * @returns An event emitter
+   */
+  function createEmitter() {
+      const events = new Map();
+      const emitter = {
+          events,
+          on(event, handler) {
+              const handlers = events.get(event);
+              const added = handlers && handlers.push(handler);
+              if (!added) {
+                  events.set(event, [handler]);
+              }
+          },
+          off(event, handler) {
+              const handlers = events.get(event);
+              if (handlers) {
+                  handlers.splice(handlers.indexOf(handler) >>> 0, 1);
+              }
+          },
+          emit(event, payload) {
+              (events.get(event) || [])
+                  .slice()
+                  .map(handler => handler(payload));
+              (events.get('*') || [])
+                  .slice()
+                  .map(handler => handler(event, payload));
+          }
+      };
+      return emitter;
+  }
+
+  function createPosition(line, column, offset) {
+      return { line, column, offset };
+  }
+  function createLocation(start, end, source) {
+      const loc = { start, end };
+      if (source != null) {
+          loc.source = source;
+      }
+      return loc;
+  }
+
+  const CompileErrorCodes = {
+      // tokenizer error codes
+      EXPECTED_TOKEN: 1,
+      INVALID_TOKEN_IN_PLACEHOLDER: 2,
+      UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,
+      UNKNOWN_ESCAPE_SEQUENCE: 4,
+      INVALID_UNICODE_ESCAPE_SEQUENCE: 5,
+      UNBALANCED_CLOSING_BRACE: 6,
+      UNTERMINATED_CLOSING_BRACE: 7,
+      EMPTY_PLACEHOLDER: 8,
+      NOT_ALLOW_NEST_PLACEHOLDER: 9,
+      INVALID_LINKED_FORMAT: 10,
+      // parser error codes
+      MUST_HAVE_MESSAGES_IN_PLURAL: 11,
+      UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,
+      UNEXPECTED_EMPTY_LINKED_KEY: 13,
+      UNEXPECTED_LEXICAL_ANALYSIS: 14,
+      // generator error codes
+      UNHANDLED_CODEGEN_NODE_TYPE: 15,
+      // minifier error codes
+      UNHANDLED_MINIFIER_NODE_TYPE: 16,
+      // Special value for higher-order compilers to pick up the last code
+      // to avoid collision of error codes. This should always be kept as the last
+      // item.
+      __EXTEND_POINT__: 17
+  };
+  /** @internal */
+  const errorMessages$2 = {
+      // tokenizer error messages
+      [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,
+      [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,
+      [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,
+      [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\{0}`,
+      [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,
+      [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,
+      [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,
+      [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,
+      [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,
+      [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,
+      // parser error messages
+      [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,
+      [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,
+      [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,
+      [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,
+      // generator error messages
+      [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,
+      // minimizer error messages
+      [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`
+  };
+  function createCompileError(code, loc, options = {}) {
+      const { domain, messages, args } = options;
+      const msg = format$1((messages || errorMessages$2)[code] || '', ...(args || []))
+          ;
+      const error = new SyntaxError(String(msg));
+      error.code = code;
+      if (loc) {
+          error.location = loc;
+      }
+      error.domain = domain;
+      return error;
+  }
+  /** @internal */
+  function defaultOnError(error) {
+      throw error;
+  }
+
+  const RE_HTML_TAG = /<\/?[\w\s="/.':;#-\/]+>/;
+  const detectHtmlTag = (source) => RE_HTML_TAG.test(source);
+
+  const CHAR_SP = ' ';
+  const CHAR_CR = '\r';
+  const CHAR_LF = '\n';
+  const CHAR_LS = String.fromCharCode(0x2028);
+  const CHAR_PS = String.fromCharCode(0x2029);
+  function createScanner(str) {
+      const _buf = str;
+      let _index = 0;
+      let _line = 1;
+      let _column = 1;
+      let _peekOffset = 0;
+      const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;
+      const isLF = (index) => _buf[index] === CHAR_LF;
+      const isPS = (index) => _buf[index] === CHAR_PS;
+      const isLS = (index) => _buf[index] === CHAR_LS;
+      const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);
+      const index = () => _index;
+      const line = () => _line;
+      const column = () => _column;
+      const peekOffset = () => _peekOffset;
+      const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];
+      const currentChar = () => charAt(_index);
+      const currentPeek = () => charAt(_index + _peekOffset);
+      function next() {
+          _peekOffset = 0;
+          if (isLineEnd(_index)) {
+              _line++;
+              _column = 0;
+          }
+          if (isCRLF(_index)) {
+              _index++;
+          }
+          _index++;
+          _column++;
+          return _buf[_index];
+      }
+      function peek() {
+          if (isCRLF(_index + _peekOffset)) {
+              _peekOffset++;
+          }
+          _peekOffset++;
+          return _buf[_index + _peekOffset];
+      }
+      function reset() {
+          _index = 0;
+          _line = 1;
+          _column = 1;
+          _peekOffset = 0;
+      }
+      function resetPeek(offset = 0) {
+          _peekOffset = offset;
+      }
+      function skipToPeek() {
+          const target = _index + _peekOffset;
+          // eslint-disable-next-line no-unmodified-loop-condition
+          while (target !== _index) {
+              next();
+          }
+          _peekOffset = 0;
+      }
+      return {
+          index,
+          line,
+          column,
+          peekOffset,
+          charAt,
+          currentChar,
+          currentPeek,
+          next,
+          peek,
+          reset,
+          resetPeek,
+          skipToPeek
+      };
+  }
+
+  const EOF = undefined;
+  const DOT = '.';
+  const LITERAL_DELIMITER = "'";
+  const ERROR_DOMAIN$3 = 'tokenizer';
+  function createTokenizer(source, options = {}) {
+      const location = options.location !== false;
+      const _scnr = createScanner(source);
+      const currentOffset = () => _scnr.index();
+      const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());
+      const _initLoc = currentPosition();
+      const _initOffset = currentOffset();
+      const _context = {
+          currentType: 14 /* TokenTypes.EOF */,
+          offset: _initOffset,
+          startLoc: _initLoc,
+          endLoc: _initLoc,
+          lastType: 14 /* TokenTypes.EOF */,
+          lastOffset: _initOffset,
+          lastStartLoc: _initLoc,
+          lastEndLoc: _initLoc,
+          braceNest: 0,
+          inLinked: false,
+          text: ''
+      };
+      const context = () => _context;
+      const { onError } = options;
+      function emitError(code, pos, offset, ...args) {
+          const ctx = context();
+          pos.column += offset;
+          pos.offset += offset;
+          if (onError) {
+              const loc = location ? createLocation(ctx.startLoc, pos) : null;
+              const err = createCompileError(code, loc, {
+                  domain: ERROR_DOMAIN$3,
+                  args
+              });
+              onError(err);
+          }
+      }
+      function getToken(context, type, value) {
+          context.endLoc = currentPosition();
+          context.currentType = type;
+          const token = { type };
+          if (location) {
+              token.loc = createLocation(context.startLoc, context.endLoc);
+          }
+          if (value != null) {
+              token.value = value;
+          }
+          return token;
+      }
+      const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);
+      function eat(scnr, ch) {
+          if (scnr.currentChar() === ch) {
+              scnr.next();
+              return ch;
+          }
+          else {
+              emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
+              return '';
+          }
+      }
+      function peekSpaces(scnr) {
+          let buf = '';
+          while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {
+              buf += scnr.currentPeek();
+              scnr.peek();
+          }
+          return buf;
+      }
+      function skipSpaces(scnr) {
+          const buf = peekSpaces(scnr);
+          scnr.skipToPeek();
+          return buf;
+      }
+      function isIdentifierStart(ch) {
+          if (ch === EOF) {
+              return false;
+          }
+          const cc = ch.charCodeAt(0);
+          return ((cc >= 97 && cc <= 122) || // a-z
+              (cc >= 65 && cc <= 90) || // A-Z
+              cc === 95 // _
+          );
+      }
+      function isNumberStart(ch) {
+          if (ch === EOF) {
+              return false;
+          }
+          const cc = ch.charCodeAt(0);
+          return cc >= 48 && cc <= 57; // 0-9
+      }
+      function isNamedIdentifierStart(scnr, context) {
+          const { currentType } = context;
+          if (currentType !== 2 /* TokenTypes.BraceLeft */) {
+              return false;
+          }
+          peekSpaces(scnr);
+          const ret = isIdentifierStart(scnr.currentPeek());
+          scnr.resetPeek();
+          return ret;
+      }
+      function isListIdentifierStart(scnr, context) {
+          const { currentType } = context;
+          if (currentType !== 2 /* TokenTypes.BraceLeft */) {
+              return false;
+          }
+          peekSpaces(scnr);
+          const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();
+          const ret = isNumberStart(ch);
+          scnr.resetPeek();
+          return ret;
+      }
+      function isLiteralStart(scnr, context) {
+          const { currentType } = context;
+          if (currentType !== 2 /* TokenTypes.BraceLeft */) {
+              return false;
+          }
+          peekSpaces(scnr);
+          const ret = scnr.currentPeek() === LITERAL_DELIMITER;
+          scnr.resetPeek();
+          return ret;
+      }
+      function isLinkedDotStart(scnr, context) {
+          const { currentType } = context;
+          if (currentType !== 8 /* TokenTypes.LinkedAlias */) {
+              return false;
+          }
+          peekSpaces(scnr);
+          const ret = scnr.currentPeek() === "." /* TokenChars.LinkedDot */;
+          scnr.resetPeek();
+          return ret;
+      }
+      function isLinkedModifierStart(scnr, context) {
+          const { currentType } = context;
+          if (currentType !== 9 /* TokenTypes.LinkedDot */) {
+              return false;
+          }
+          peekSpaces(scnr);
+          const ret = isIdentifierStart(scnr.currentPeek());
+          scnr.resetPeek();
+          return ret;
+      }
+      function isLinkedDelimiterStart(scnr, context) {
+          const { currentType } = context;
+          if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||
+              currentType === 12 /* TokenTypes.LinkedModifier */)) {
+              return false;
+          }
+          peekSpaces(scnr);
+          const ret = scnr.currentPeek() === ":" /* TokenChars.LinkedDelimiter */;
+          scnr.resetPeek();
+          return ret;
+      }
+      function isLinkedReferStart(scnr, context) {
+          const { currentType } = context;
+          if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {
+              return false;
+          }
+          const fn = () => {
+              const ch = scnr.currentPeek();
+              if (ch === "{" /* TokenChars.BraceLeft */) {
+                  return isIdentifierStart(scnr.peek());
+              }
+              else if (ch === "@" /* TokenChars.LinkedAlias */ ||
+                  ch === "%" /* TokenChars.Modulo */ ||
+                  ch === "|" /* TokenChars.Pipe */ ||
+                  ch === ":" /* TokenChars.LinkedDelimiter */ ||
+                  ch === "." /* TokenChars.LinkedDot */ ||
+                  ch === CHAR_SP ||
+                  !ch) {
+                  return false;
+              }
+              else if (ch === CHAR_LF) {
+                  scnr.peek();
+                  return fn();
+              }
+              else {
+                  // other characters
+                  return isIdentifierStart(ch);
+              }
+          };
+          const ret = fn();
+          scnr.resetPeek();
+          return ret;
+      }
+      function isPluralStart(scnr) {
+          peekSpaces(scnr);
+          const ret = scnr.currentPeek() === "|" /* TokenChars.Pipe */;
+          scnr.resetPeek();
+          return ret;
+      }
+      function detectModuloStart(scnr) {
+          const spaces = peekSpaces(scnr);
+          const ret = scnr.currentPeek() === "%" /* TokenChars.Modulo */ &&
+              scnr.peek() === "{" /* TokenChars.BraceLeft */;
+          scnr.resetPeek();
+          return {
+              isModulo: ret,
+              hasSpace: spaces.length > 0
+          };
+      }
+      function isTextStart(scnr, reset = true) {
+          const fn = (hasSpace = false, prev = '', detectModulo = false) => {
+              const ch = scnr.currentPeek();
+              if (ch === "{" /* TokenChars.BraceLeft */) {
+                  return prev === "%" /* TokenChars.Modulo */ ? false : hasSpace;
+              }
+              else if (ch === "@" /* TokenChars.LinkedAlias */ || !ch) {
+                  return prev === "%" /* TokenChars.Modulo */ ? true : hasSpace;
+              }
+              else if (ch === "%" /* TokenChars.Modulo */) {
+                  scnr.peek();
+                  return fn(hasSpace, "%" /* TokenChars.Modulo */, true);
+              }
+              else if (ch === "|" /* TokenChars.Pipe */) {
+                  return prev === "%" /* TokenChars.Modulo */ || detectModulo
+                      ? true
+                      : !(prev === CHAR_SP || prev === CHAR_LF);
+              }
+              else if (ch === CHAR_SP) {
+                  scnr.peek();
+                  return fn(true, CHAR_SP, detectModulo);
+              }
+              else if (ch === CHAR_LF) {
+                  scnr.peek();
+                  return fn(true, CHAR_LF, detectModulo);
+              }
+              else {
+                  return true;
+              }
+          };
+          const ret = fn();
+          reset && scnr.resetPeek();
+          return ret;
+      }
+      function takeChar(scnr, fn) {
+          const ch = scnr.currentChar();
+          if (ch === EOF) {
+              return EOF;
+          }
+          if (fn(ch)) {
+              scnr.next();
+              return ch;
+          }
+          return null;
+      }
+      function takeIdentifierChar(scnr) {
+          const closure = (ch) => {
+              const cc = ch.charCodeAt(0);
+              return ((cc >= 97 && cc <= 122) || // a-z
+                  (cc >= 65 && cc <= 90) || // A-Z
+                  (cc >= 48 && cc <= 57) || // 0-9
+                  cc === 95 || // _
+                  cc === 36 // $
+              );
+          };
+          return takeChar(scnr, closure);
+      }
+      function takeDigit(scnr) {
+          const closure = (ch) => {
+              const cc = ch.charCodeAt(0);
+              return cc >= 48 && cc <= 57; // 0-9
+          };
+          return takeChar(scnr, closure);
+      }
+      function takeHexDigit(scnr) {
+          const closure = (ch) => {
+              const cc = ch.charCodeAt(0);
+              return ((cc >= 48 && cc <= 57) || // 0-9
+                  (cc >= 65 && cc <= 70) || // A-F
+                  (cc >= 97 && cc <= 102)); // a-f
+          };
+          return takeChar(scnr, closure);
+      }
+      function getDigits(scnr) {
+          let ch = '';
+          let num = '';
+          while ((ch = takeDigit(scnr))) {
+              num += ch;
+          }
+          return num;
+      }
+      function readModulo(scnr) {
+          skipSpaces(scnr);
+          const ch = scnr.currentChar();
+          if (ch !== "%" /* TokenChars.Modulo */) {
+              emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
+          }
+          scnr.next();
+          return "%" /* TokenChars.Modulo */;
+      }
+      function readText(scnr) {
+          let buf = '';
+          while (true) {
+              const ch = scnr.currentChar();
+              if (ch === "{" /* TokenChars.BraceLeft */ ||
+                  ch === "}" /* TokenChars.BraceRight */ ||
+                  ch === "@" /* TokenChars.LinkedAlias */ ||
+                  ch === "|" /* TokenChars.Pipe */ ||
+                  !ch) {
+                  break;
+              }
+              else if (ch === "%" /* TokenChars.Modulo */) {
+                  if (isTextStart(scnr)) {
+                      buf += ch;
+                      scnr.next();
+                  }
+                  else {
+                      break;
+                  }
+              }
+              else if (ch === CHAR_SP || ch === CHAR_LF) {
+                  if (isTextStart(scnr)) {
+                      buf += ch;
+                      scnr.next();
+                  }
+                  else if (isPluralStart(scnr)) {
+                      break;
+                  }
+                  else {
+                      buf += ch;
+                      scnr.next();
+                  }
+              }
+              else {
+                  buf += ch;
+                  scnr.next();
+              }
+          }
+          return buf;
+      }
+      function readNamedIdentifier(scnr) {
+          skipSpaces(scnr);
+          let ch = '';
+          let name = '';
+          while ((ch = takeIdentifierChar(scnr))) {
+              name += ch;
+          }
+          if (scnr.currentChar() === EOF) {
+              emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+          }
+          return name;
+      }
+      function readListIdentifier(scnr) {
+          skipSpaces(scnr);
+          let value = '';
+          if (scnr.currentChar() === '-') {
+              scnr.next();
+              value += `-${getDigits(scnr)}`;
+          }
+          else {
+              value += getDigits(scnr);
+          }
+          if (scnr.currentChar() === EOF) {
+              emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+          }
+          return value;
+      }
+      function readLiteral(scnr) {
+          skipSpaces(scnr);
+          eat(scnr, `\'`);
+          let ch = '';
+          let literal = '';
+          const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;
+          while ((ch = takeChar(scnr, fn))) {
+              if (ch === '\\') {
+                  literal += readEscapeSequence(scnr);
+              }
+              else {
+                  literal += ch;
+              }
+          }
+          const current = scnr.currentChar();
+          if (current === CHAR_LF || current === EOF) {
+              emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);
+              // TODO: Is it correct really?
+              if (current === CHAR_LF) {
+                  scnr.next();
+                  eat(scnr, `\'`);
+              }
+              return literal;
+          }
+          eat(scnr, `\'`);
+          return literal;
+      }
+      function readEscapeSequence(scnr) {
+          const ch = scnr.currentChar();
+          switch (ch) {
+              case '\\':
+              case `\'`:
+                  scnr.next();
+                  return `\\${ch}`;
+              case 'u':
+                  return readUnicodeEscapeSequence(scnr, ch, 4);
+              case 'U':
+                  return readUnicodeEscapeSequence(scnr, ch, 6);
+              default:
+                  emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);
+                  return '';
+          }
+      }
+      function readUnicodeEscapeSequence(scnr, unicode, digits) {
+          eat(scnr, unicode);
+          let sequence = '';
+          for (let i = 0; i < digits; i++) {
+              const ch = takeHexDigit(scnr);
+              if (!ch) {
+                  emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`);
+                  break;
+              }
+              sequence += ch;
+          }
+          return `\\${unicode}${sequence}`;
+      }
+      function readInvalidIdentifier(scnr) {
+          skipSpaces(scnr);
+          let ch = '';
+          let identifiers = '';
+          const closure = (ch) => ch !== "{" /* TokenChars.BraceLeft */ &&
+              ch !== "}" /* TokenChars.BraceRight */ &&
+              ch !== CHAR_SP &&
+              ch !== CHAR_LF;
+          while ((ch = takeChar(scnr, closure))) {
+              identifiers += ch;
+          }
+          return identifiers;
+      }
+      function readLinkedModifier(scnr) {
+          let ch = '';
+          let name = '';
+          while ((ch = takeIdentifierChar(scnr))) {
+              name += ch;
+          }
+          return name;
+      }
+      function readLinkedRefer(scnr) {
+          const fn = (detect = false, buf) => {
+              const ch = scnr.currentChar();
+              if (ch === "{" /* TokenChars.BraceLeft */ ||
+                  ch === "%" /* TokenChars.Modulo */ ||
+                  ch === "@" /* TokenChars.LinkedAlias */ ||
+                  ch === "|" /* TokenChars.Pipe */ ||
+                  ch === "(" /* TokenChars.ParenLeft */ ||
+                  ch === ")" /* TokenChars.ParenRight */ ||
+                  !ch) {
+                  return buf;
+              }
+              else if (ch === CHAR_SP) {
+                  return buf;
+              }
+              else if (ch === CHAR_LF || ch === DOT) {
+                  buf += ch;
+                  scnr.next();
+                  return fn(detect, buf);
+              }
+              else {
+                  buf += ch;
+                  scnr.next();
+                  return fn(true, buf);
+              }
+          };
+          return fn(false, '');
+      }
+      function readPlural(scnr) {
+          skipSpaces(scnr);
+          const plural = eat(scnr, "|" /* TokenChars.Pipe */);
+          skipSpaces(scnr);
+          return plural;
+      }
+      // TODO: We need refactoring of token parsing ...
+      function readTokenInPlaceholder(scnr, context) {
+          let token = null;
+          const ch = scnr.currentChar();
+          switch (ch) {
+              case "{" /* TokenChars.BraceLeft */:
+                  if (context.braceNest >= 1) {
+                      emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);
+                  }
+                  scnr.next();
+                  token = getToken(context, 2 /* TokenTypes.BraceLeft */, "{" /* TokenChars.BraceLeft */);
+                  skipSpaces(scnr);
+                  context.braceNest++;
+                  return token;
+              case "}" /* TokenChars.BraceRight */:
+                  if (context.braceNest > 0 &&
+                      context.currentType === 2 /* TokenTypes.BraceLeft */) {
+                      emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);
+                  }
+                  scnr.next();
+                  token = getToken(context, 3 /* TokenTypes.BraceRight */, "}" /* TokenChars.BraceRight */);
+                  context.braceNest--;
+                  context.braceNest > 0 && skipSpaces(scnr);
+                  if (context.inLinked && context.braceNest === 0) {
+                      context.inLinked = false;
+                  }
+                  return token;
+              case "@" /* TokenChars.LinkedAlias */:
+                  if (context.braceNest > 0) {
+                      emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+                  }
+                  token = readTokenInLinked(scnr, context) || getEndToken(context);
+                  context.braceNest = 0;
+                  return token;
+              default:
+                  let validNamedIdentifier = true;
+                  let validListIdentifier = true;
+                  let validLiteral = true;
+                  if (isPluralStart(scnr)) {
+                      if (context.braceNest > 0) {
+                          emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+                      }
+                      token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
+                      // reset
+                      context.braceNest = 0;
+                      context.inLinked = false;
+                      return token;
+                  }
+                  if (context.braceNest > 0 &&
+                      (context.currentType === 5 /* TokenTypes.Named */ ||
+                          context.currentType === 6 /* TokenTypes.List */ ||
+                          context.currentType === 7 /* TokenTypes.Literal */)) {
+                      emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+                      context.braceNest = 0;
+                      return readToken(scnr, context);
+                  }
+                  if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {
+                      token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));
+                      skipSpaces(scnr);
+                      return token;
+                  }
+                  if ((validListIdentifier = isListIdentifierStart(scnr, context))) {
+                      token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));
+                      skipSpaces(scnr);
+                      return token;
+                  }
+                  if ((validLiteral = isLiteralStart(scnr, context))) {
+                      token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));
+                      skipSpaces(scnr);
+                      return token;
+                  }
+                  if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
+                      // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...
+                      token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));
+                      emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);
+                      skipSpaces(scnr);
+                      return token;
+                  }
+                  break;
+          }
+          return token;
+      }
+      // TODO: We need refactoring of token parsing ...
+      function readTokenInLinked(scnr, context) {
+          const { currentType } = context;
+          let token = null;
+          const ch = scnr.currentChar();
+          if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||
+              currentType === 9 /* TokenTypes.LinkedDot */ ||
+              currentType === 12 /* TokenTypes.LinkedModifier */ ||
+              currentType === 10 /* TokenTypes.LinkedDelimiter */) &&
+              (ch === CHAR_LF || ch === CHAR_SP)) {
+              emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
+          }
+          switch (ch) {
+              case "@" /* TokenChars.LinkedAlias */:
+                  scnr.next();
+                  token = getToken(context, 8 /* TokenTypes.LinkedAlias */, "@" /* TokenChars.LinkedAlias */);
+                  context.inLinked = true;
+                  return token;
+              case "." /* TokenChars.LinkedDot */:
+                  skipSpaces(scnr);
+                  scnr.next();
+                  return getToken(context, 9 /* TokenTypes.LinkedDot */, "." /* TokenChars.LinkedDot */);
+              case ":" /* TokenChars.LinkedDelimiter */:
+                  skipSpaces(scnr);
+                  scnr.next();
+                  return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, ":" /* TokenChars.LinkedDelimiter */);
+              default:
+                  if (isPluralStart(scnr)) {
+                      token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
+                      // reset
+                      context.braceNest = 0;
+                      context.inLinked = false;
+                      return token;
+                  }
+                  if (isLinkedDotStart(scnr, context) ||
+                      isLinkedDelimiterStart(scnr, context)) {
+                      skipSpaces(scnr);
+                      return readTokenInLinked(scnr, context);
+                  }
+                  if (isLinkedModifierStart(scnr, context)) {
+                      skipSpaces(scnr);
+                      return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));
+                  }
+                  if (isLinkedReferStart(scnr, context)) {
+                      skipSpaces(scnr);
+                      if (ch === "{" /* TokenChars.BraceLeft */) {
+                          // scan the placeholder
+                          return readTokenInPlaceholder(scnr, context) || token;
+                      }
+                      else {
+                          return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));
+                      }
+                  }
+                  if (currentType === 8 /* TokenTypes.LinkedAlias */) {
+                      emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
+                  }
+                  context.braceNest = 0;
+                  context.inLinked = false;
+                  return readToken(scnr, context);
+          }
+      }
+      // TODO: We need refactoring of token parsing ...
+      function readToken(scnr, context) {
+          let token = { type: 14 /* TokenTypes.EOF */ };
+          if (context.braceNest > 0) {
+              return readTokenInPlaceholder(scnr, context) || getEndToken(context);
+          }
+          if (context.inLinked) {
+              return readTokenInLinked(scnr, context) || getEndToken(context);
+          }
+          const ch = scnr.currentChar();
+          switch (ch) {
+              case "{" /* TokenChars.BraceLeft */:
+                  return readTokenInPlaceholder(scnr, context) || getEndToken(context);
+              case "}" /* TokenChars.BraceRight */:
+                  emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);
+                  scnr.next();
+                  return getToken(context, 3 /* TokenTypes.BraceRight */, "}" /* TokenChars.BraceRight */);
+              case "@" /* TokenChars.LinkedAlias */:
+                  return readTokenInLinked(scnr, context) || getEndToken(context);
+              default:
+                  if (isPluralStart(scnr)) {
+                      token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));
+                      // reset
+                      context.braceNest = 0;
+                      context.inLinked = false;
+                      return token;
+                  }
+                  const { isModulo, hasSpace } = detectModuloStart(scnr);
+                  if (isModulo) {
+                      return hasSpace
+                          ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))
+                          : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));
+                  }
+                  if (isTextStart(scnr)) {
+                      return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));
+                  }
+                  break;
+          }
+          return token;
+      }
+      function nextToken() {
+          const { currentType, offset, startLoc, endLoc } = _context;
+          _context.lastType = currentType;
+          _context.lastOffset = offset;
+          _context.lastStartLoc = startLoc;
+          _context.lastEndLoc = endLoc;
+          _context.offset = currentOffset();
+          _context.startLoc = currentPosition();
+          if (_scnr.currentChar() === EOF) {
+              return getToken(_context, 14 /* TokenTypes.EOF */);
+          }
+          return readToken(_scnr, _context);
+      }
+      return {
+          nextToken,
+          currentOffset,
+          currentPosition,
+          context
+      };
+  }
+
+  const ERROR_DOMAIN$2 = 'parser';
+  // Backslash backslash, backslash quote, uHHHH, UHHHHHH.
+  const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;
+  function fromEscapeSequence(match, codePoint4, codePoint6) {
+      switch (match) {
+          case `\\\\`:
+              return `\\`;
+          case `\\\'`:
+              return `\'`;
+          default: {
+              const codePoint = parseInt(codePoint4 || codePoint6, 16);
+              if (codePoint <= 0xd7ff || codePoint >= 0xe000) {
+                  return String.fromCodePoint(codePoint);
+              }
+              // invalid ...
+              // Replace them with U+FFFD REPLACEMENT CHARACTER.
+              return '�';
+          }
+      }
+  }
+  function createParser(options = {}) {
+      const location = options.location !== false;
+      const { onError } = options;
+      function emitError(tokenzer, code, start, offset, ...args) {
+          const end = tokenzer.currentPosition();
+          end.offset += offset;
+          end.column += offset;
+          if (onError) {
+              const loc = location ? createLocation(start, end) : null;
+              const err = createCompileError(code, loc, {
+                  domain: ERROR_DOMAIN$2,
+                  args
+              });
+              onError(err);
+          }
+      }
+      function startNode(type, offset, loc) {
+          const node = { type };
+          if (location) {
+              node.start = offset;
+              node.end = offset;
+              node.loc = { start: loc, end: loc };
+          }
+          return node;
+      }
+      function endNode(node, offset, pos, type) {
+          if (type) {
+              node.type = type;
+          }
+          if (location) {
+              node.end = offset;
+              if (node.loc) {
+                  node.loc.end = pos;
+              }
+          }
+      }
+      function parseText(tokenizer, value) {
+          const context = tokenizer.context();
+          const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);
+          node.value = value;
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      function parseList(tokenizer, index) {
+          const context = tokenizer.context();
+          const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
+          const node = startNode(5 /* NodeTypes.List */, offset, loc);
+          node.index = parseInt(index, 10);
+          tokenizer.nextToken(); // skip brach right
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      function parseNamed(tokenizer, key) {
+          const context = tokenizer.context();
+          const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
+          const node = startNode(4 /* NodeTypes.Named */, offset, loc);
+          node.key = key;
+          tokenizer.nextToken(); // skip brach right
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      function parseLiteral(tokenizer, value) {
+          const context = tokenizer.context();
+          const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc
+          const node = startNode(9 /* NodeTypes.Literal */, offset, loc);
+          node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);
+          tokenizer.nextToken(); // skip brach right
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      function parseLinkedModifier(tokenizer) {
+          const token = tokenizer.nextToken();
+          const context = tokenizer.context();
+          const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc
+          const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);
+          if (token.type !== 12 /* TokenTypes.LinkedModifier */) {
+              // empty modifier
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);
+              node.value = '';
+              endNode(node, offset, loc);
+              return {
+                  nextConsumeToken: token,
+                  node
+              };
+          }
+          // check token
+          if (token.value == null) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          node.value = token.value || '';
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return {
+              node
+          };
+      }
+      function parseLinkedKey(tokenizer, value) {
+          const context = tokenizer.context();
+          const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);
+          node.value = value;
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      function parseLinked(tokenizer) {
+          const context = tokenizer.context();
+          const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);
+          let token = tokenizer.nextToken();
+          if (token.type === 9 /* TokenTypes.LinkedDot */) {
+              const parsed = parseLinkedModifier(tokenizer);
+              linkedNode.modifier = parsed.node;
+              token = parsed.nextConsumeToken || tokenizer.nextToken();
+          }
+          // asset check token
+          if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          token = tokenizer.nextToken();
+          // skip brace left
+          if (token.type === 2 /* TokenTypes.BraceLeft */) {
+              token = tokenizer.nextToken();
+          }
+          switch (token.type) {
+              case 11 /* TokenTypes.LinkedKey */:
+                  if (token.value == null) {
+                      emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                  }
+                  linkedNode.key = parseLinkedKey(tokenizer, token.value || '');
+                  break;
+              case 5 /* TokenTypes.Named */:
+                  if (token.value == null) {
+                      emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                  }
+                  linkedNode.key = parseNamed(tokenizer, token.value || '');
+                  break;
+              case 6 /* TokenTypes.List */:
+                  if (token.value == null) {
+                      emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                  }
+                  linkedNode.key = parseList(tokenizer, token.value || '');
+                  break;
+              case 7 /* TokenTypes.Literal */:
+                  if (token.value == null) {
+                      emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                  }
+                  linkedNode.key = parseLiteral(tokenizer, token.value || '');
+                  break;
+              default:
+                  // empty key
+                  emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);
+                  const nextContext = tokenizer.context();
+                  const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);
+                  emptyLinkedKeyNode.value = '';
+                  endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);
+                  linkedNode.key = emptyLinkedKeyNode;
+                  endNode(linkedNode, nextContext.offset, nextContext.startLoc);
+                  return {
+                      nextConsumeToken: token,
+                      node: linkedNode
+                  };
+          }
+          endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return {
+              node: linkedNode
+          };
+      }
+      function parseMessage(tokenizer) {
+          const context = tokenizer.context();
+          const startOffset = context.currentType === 1 /* TokenTypes.Pipe */
+              ? tokenizer.currentOffset()
+              : context.offset;
+          const startLoc = context.currentType === 1 /* TokenTypes.Pipe */
+              ? context.endLoc
+              : context.startLoc;
+          const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);
+          node.items = [];
+          let nextToken = null;
+          do {
+              const token = nextToken || tokenizer.nextToken();
+              nextToken = null;
+              switch (token.type) {
+                  case 0 /* TokenTypes.Text */:
+                      if (token.value == null) {
+                          emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                      }
+                      node.items.push(parseText(tokenizer, token.value || ''));
+                      break;
+                  case 6 /* TokenTypes.List */:
+                      if (token.value == null) {
+                          emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                      }
+                      node.items.push(parseList(tokenizer, token.value || ''));
+                      break;
+                  case 5 /* TokenTypes.Named */:
+                      if (token.value == null) {
+                          emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                      }
+                      node.items.push(parseNamed(tokenizer, token.value || ''));
+                      break;
+                  case 7 /* TokenTypes.Literal */:
+                      if (token.value == null) {
+                          emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+                      }
+                      node.items.push(parseLiteral(tokenizer, token.value || ''));
+                      break;
+                  case 8 /* TokenTypes.LinkedAlias */:
+                      const parsed = parseLinked(tokenizer);
+                      node.items.push(parsed.node);
+                      nextToken = parsed.nextConsumeToken || null;
+                      break;
+              }
+          } while (context.currentType !== 14 /* TokenTypes.EOF */ &&
+              context.currentType !== 1 /* TokenTypes.Pipe */);
+          // adjust message node loc
+          const endOffset = context.currentType === 1 /* TokenTypes.Pipe */
+              ? context.lastOffset
+              : tokenizer.currentOffset();
+          const endLoc = context.currentType === 1 /* TokenTypes.Pipe */
+              ? context.lastEndLoc
+              : tokenizer.currentPosition();
+          endNode(node, endOffset, endLoc);
+          return node;
+      }
+      function parsePlural(tokenizer, offset, loc, msgNode) {
+          const context = tokenizer.context();
+          let hasEmptyMessage = msgNode.items.length === 0;
+          const node = startNode(1 /* NodeTypes.Plural */, offset, loc);
+          node.cases = [];
+          node.cases.push(msgNode);
+          do {
+              const msg = parseMessage(tokenizer);
+              if (!hasEmptyMessage) {
+                  hasEmptyMessage = msg.items.length === 0;
+              }
+              node.cases.push(msg);
+          } while (context.currentType !== 14 /* TokenTypes.EOF */);
+          if (hasEmptyMessage) {
+              emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);
+          }
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      function parseResource(tokenizer) {
+          const context = tokenizer.context();
+          const { offset, startLoc } = context;
+          const msgNode = parseMessage(tokenizer);
+          if (context.currentType === 14 /* TokenTypes.EOF */) {
+              return msgNode;
+          }
+          else {
+              return parsePlural(tokenizer, offset, startLoc, msgNode);
+          }
+      }
+      function parse(source) {
+          const tokenizer = createTokenizer(source, assign({}, options));
+          const context = tokenizer.context();
+          const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);
+          if (location && node.loc) {
+              node.loc.source = source;
+          }
+          node.body = parseResource(tokenizer);
+          if (options.onCacheKey) {
+              node.cacheKey = options.onCacheKey(source);
+          }
+          // assert whether achieved to EOF
+          if (context.currentType !== 14 /* TokenTypes.EOF */) {
+              emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');
+          }
+          endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
+          return node;
+      }
+      return { parse };
+  }
+  function getTokenCaption(token) {
+      if (token.type === 14 /* TokenTypes.EOF */) {
+          return 'EOF';
+      }
+      const name = (token.value || '').replace(/\r?\n/gu, '\\n');
+      return name.length > 10 ? name.slice(0, 9) + '…' : name;
+  }
+
+  function createTransformer(ast, options = {} // eslint-disable-line
+  ) {
+      const _context = {
+          ast,
+          helpers: new Set()
+      };
+      const context = () => _context;
+      const helper = (name) => {
+          _context.helpers.add(name);
+          return name;
+      };
+      return { context, helper };
+  }
+  function traverseNodes(nodes, transformer) {
+      for (let i = 0; i < nodes.length; i++) {
+          traverseNode(nodes[i], transformer);
+      }
+  }
+  function traverseNode(node, transformer) {
+      // TODO: if we need pre-hook of transform, should be implemented to here
+      switch (node.type) {
+          case 1 /* NodeTypes.Plural */:
+              traverseNodes(node.cases, transformer);
+              transformer.helper("plural" /* HelperNameMap.PLURAL */);
+              break;
+          case 2 /* NodeTypes.Message */:
+              traverseNodes(node.items, transformer);
+              break;
+          case 6 /* NodeTypes.Linked */:
+              const linked = node;
+              traverseNode(linked.key, transformer);
+              transformer.helper("linked" /* HelperNameMap.LINKED */);
+              transformer.helper("type" /* HelperNameMap.TYPE */);
+              break;
+          case 5 /* NodeTypes.List */:
+              transformer.helper("interpolate" /* HelperNameMap.INTERPOLATE */);
+              transformer.helper("list" /* HelperNameMap.LIST */);
+              break;
+          case 4 /* NodeTypes.Named */:
+              transformer.helper("interpolate" /* HelperNameMap.INTERPOLATE */);
+              transformer.helper("named" /* HelperNameMap.NAMED */);
+              break;
+      }
+      // TODO: if we need post-hook of transform, should be implemented to here
+  }
+  // transform AST
+  function transform(ast, options = {} // eslint-disable-line
+  ) {
+      const transformer = createTransformer(ast);
+      transformer.helper("normalize" /* HelperNameMap.NORMALIZE */);
+      // traverse
+      ast.body && traverseNode(ast.body, transformer);
+      // set meta information
+      const context = transformer.context();
+      ast.helpers = Array.from(context.helpers);
+  }
+
+  function optimize(ast) {
+      const body = ast.body;
+      if (body.type === 2 /* NodeTypes.Message */) {
+          optimizeMessageNode(body);
+      }
+      else {
+          body.cases.forEach(c => optimizeMessageNode(c));
+      }
+      return ast;
+  }
+  function optimizeMessageNode(message) {
+      if (message.items.length === 1) {
+          const item = message.items[0];
+          if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {
+              message.static = item.value;
+              delete item.value; // optimization for size
+          }
+      }
+      else {
+          const values = [];
+          for (let i = 0; i < message.items.length; i++) {
+              const item = message.items[i];
+              if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {
+                  break;
+              }
+              if (item.value == null) {
+                  break;
+              }
+              values.push(item.value);
+          }
+          if (values.length === message.items.length) {
+              message.static = join(values);
+              for (let i = 0; i < message.items.length; i++) {
+                  const item = message.items[i];
+                  if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {
+                      delete item.value; // optimization for size
+                  }
+              }
+          }
+      }
+  }
+
+  const ERROR_DOMAIN$1 = 'minifier';
+  /* eslint-disable @typescript-eslint/no-explicit-any */
+  function minify(node) {
+      node.t = node.type;
+      switch (node.type) {
+          case 0 /* NodeTypes.Resource */:
+              const resource = node;
+              minify(resource.body);
+              resource.b = resource.body;
+              delete resource.body;
+              break;
+          case 1 /* NodeTypes.Plural */:
+              const plural = node;
+              const cases = plural.cases;
+              for (let i = 0; i < cases.length; i++) {
+                  minify(cases[i]);
+              }
+              plural.c = cases;
+              delete plural.cases;
+              break;
+          case 2 /* NodeTypes.Message */:
+              const message = node;
+              const items = message.items;
+              for (let i = 0; i < items.length; i++) {
+                  minify(items[i]);
+              }
+              message.i = items;
+              delete message.items;
+              if (message.static) {
+                  message.s = message.static;
+                  delete message.static;
+              }
+              break;
+          case 3 /* NodeTypes.Text */:
+          case 9 /* NodeTypes.Literal */:
+          case 8 /* NodeTypes.LinkedModifier */:
+          case 7 /* NodeTypes.LinkedKey */:
+              const valueNode = node;
+              if (valueNode.value) {
+                  valueNode.v = valueNode.value;
+                  delete valueNode.value;
+              }
+              break;
+          case 6 /* NodeTypes.Linked */:
+              const linked = node;
+              minify(linked.key);
+              linked.k = linked.key;
+              delete linked.key;
+              if (linked.modifier) {
+                  minify(linked.modifier);
+                  linked.m = linked.modifier;
+                  delete linked.modifier;
+              }
+              break;
+          case 5 /* NodeTypes.List */:
+              const list = node;
+              list.i = list.index;
+              delete list.index;
+              break;
+          case 4 /* NodeTypes.Named */:
+              const named = node;
+              named.k = named.key;
+              delete named.key;
+              break;
+          default:
+              {
+                  throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {
+                      domain: ERROR_DOMAIN$1,
+                      args: [node.type]
+                  });
+              }
+      }
+      delete node.type;
+  }
+  /* eslint-enable @typescript-eslint/no-explicit-any */
+
+  const ERROR_DOMAIN = 'parser';
+  function createCodeGenerator(ast, options) {
+      const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;
+      const location = options.location !== false;
+      const _context = {
+          filename,
+          code: '',
+          column: 1,
+          line: 1,
+          offset: 0,
+          map: undefined,
+          breakLineCode,
+          needIndent: _needIndent,
+          indentLevel: 0
+      };
+      if (location && ast.loc) {
+          _context.source = ast.loc.source;
+      }
+      const context = () => _context;
+      function push(code, node) {
+          _context.code += code;
+      }
+      function _newline(n, withBreakLine = true) {
+          const _breakLineCode = withBreakLine ? breakLineCode : '';
+          push(_needIndent ? _breakLineCode + `  `.repeat(n) : _breakLineCode);
+      }
+      function indent(withNewLine = true) {
+          const level = ++_context.indentLevel;
+          withNewLine && _newline(level);
+      }
+      function deindent(withNewLine = true) {
+          const level = --_context.indentLevel;
+          withNewLine && _newline(level);
+      }
+      function newline() {
+          _newline(_context.indentLevel);
+      }
+      const helper = (key) => `_${key}`;
+      const needIndent = () => _context.needIndent;
+      return {
+          context,
+          push,
+          indent,
+          deindent,
+          newline,
+          helper,
+          needIndent
+      };
+  }
+  function generateLinkedNode(generator, node) {
+      const { helper } = generator;
+      generator.push(`${helper("linked" /* HelperNameMap.LINKED */)}(`);
+      generateNode(generator, node.key);
+      if (node.modifier) {
+          generator.push(`, `);
+          generateNode(generator, node.modifier);
+          generator.push(`, _type`);
+      }
+      else {
+          generator.push(`, undefined, _type`);
+      }
+      generator.push(`)`);
+  }
+  function generateMessageNode(generator, node) {
+      const { helper, needIndent } = generator;
+      generator.push(`${helper("normalize" /* HelperNameMap.NORMALIZE */)}([`);
+      generator.indent(needIndent());
+      const length = node.items.length;
+      for (let i = 0; i < length; i++) {
+          generateNode(generator, node.items[i]);
+          if (i === length - 1) {
+              break;
+          }
+          generator.push(', ');
+      }
+      generator.deindent(needIndent());
+      generator.push('])');
+  }
+  function generatePluralNode(generator, node) {
+      const { helper, needIndent } = generator;
+      if (node.cases.length > 1) {
+          generator.push(`${helper("plural" /* HelperNameMap.PLURAL */)}([`);
+          generator.indent(needIndent());
+          const length = node.cases.length;
+          for (let i = 0; i < length; i++) {
+              generateNode(generator, node.cases[i]);
+              if (i === length - 1) {
+                  break;
+              }
+              generator.push(', ');
+          }
+          generator.deindent(needIndent());
+          generator.push(`])`);
+      }
+  }
+  function generateResource(generator, node) {
+      if (node.body) {
+          generateNode(generator, node.body);
+      }
+      else {
+          generator.push('null');
+      }
+  }
+  function generateNode(generator, node) {
+      const { helper } = generator;
+      switch (node.type) {
+          case 0 /* NodeTypes.Resource */:
+              generateResource(generator, node);
+              break;
+          case 1 /* NodeTypes.Plural */:
+              generatePluralNode(generator, node);
+              break;
+          case 2 /* NodeTypes.Message */:
+              generateMessageNode(generator, node);
+              break;
+          case 6 /* NodeTypes.Linked */:
+              generateLinkedNode(generator, node);
+              break;
+          case 8 /* NodeTypes.LinkedModifier */:
+              generator.push(JSON.stringify(node.value), node);
+              break;
+          case 7 /* NodeTypes.LinkedKey */:
+              generator.push(JSON.stringify(node.value), node);
+              break;
+          case 5 /* NodeTypes.List */:
+              generator.push(`${helper("interpolate" /* HelperNameMap.INTERPOLATE */)}(${helper("list" /* HelperNameMap.LIST */)}(${node.index}))`, node);
+              break;
+          case 4 /* NodeTypes.Named */:
+              generator.push(`${helper("interpolate" /* HelperNameMap.INTERPOLATE */)}(${helper("named" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);
+              break;
+          case 9 /* NodeTypes.Literal */:
+              generator.push(JSON.stringify(node.value), node);
+              break;
+          case 3 /* NodeTypes.Text */:
+              generator.push(JSON.stringify(node.value), node);
+              break;
+          default:
+              {
+                  throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {
+                      domain: ERROR_DOMAIN,
+                      args: [node.type]
+                  });
+              }
+      }
+  }
+  // generate code from AST
+  const generate = (ast, options = {} // eslint-disable-line
+  ) => {
+      const mode = isString(options.mode) ? options.mode : 'normal';
+      const filename = isString(options.filename)
+          ? options.filename
+          : 'message.intl';
+      const sourceMap = !!options.sourceMap;
+      // prettier-ignore
+      const breakLineCode = options.breakLineCode != null
+          ? options.breakLineCode
+          : mode === 'arrow'
+              ? ';'
+              : '\n';
+      const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';
+      const helpers = ast.helpers || [];
+      const generator = createCodeGenerator(ast, {
+          mode,
+          filename,
+          sourceMap,
+          breakLineCode,
+          needIndent
+      });
+      generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);
+      generator.indent(needIndent);
+      if (helpers.length > 0) {
+          generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);
+          generator.newline();
+      }
+      generator.push(`return `);
+      generateNode(generator, ast);
+      generator.deindent(needIndent);
+      generator.push(`}`);
+      delete ast.helpers;
+      const { code, map } = generator.context();
+      return {
+          ast,
+          code,
+          map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any
+      };
+  };
+
+  function baseCompile$1(source, options = {}) {
+      const assignedOptions = assign({}, options);
+      const jit = !!assignedOptions.jit;
+      const enalbeMinify = !!assignedOptions.minify;
+      const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;
+      // parse source codes
+      const parser = createParser(assignedOptions);
+      const ast = parser.parse(source);
+      if (!jit) {
+          // transform ASTs
+          transform(ast, assignedOptions);
+          // generate javascript codes
+          return generate(ast, assignedOptions);
+      }
+      else {
+          // optimize ASTs
+          enambeOptimize && optimize(ast);
+          // minimize ASTs
+          enalbeMinify && minify(ast);
+          // In JIT mode, no ast transform, no code generation.
+          return { ast, code: '' };
+      }
+  }
+
+  const pathStateMachine =  [];
+  pathStateMachine[0 /* States.BEFORE_PATH */] = {
+      ["w" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],
+      ["i" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],
+      ["[" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],
+      ["o" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]
+  };
+  pathStateMachine[1 /* States.IN_PATH */] = {
+      ["w" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],
+      ["." /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],
+      ["[" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],
+      ["o" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]
+  };
+  pathStateMachine[2 /* States.BEFORE_IDENT */] = {
+      ["w" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],
+      ["i" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],
+      ["0" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]
+  };
+  pathStateMachine[3 /* States.IN_IDENT */] = {
+      ["i" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],
+      ["0" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],
+      ["w" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],
+      ["." /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],
+      ["[" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],
+      ["o" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]
+  };
+  pathStateMachine[4 /* States.IN_SUB_PATH */] = {
+      ["'" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],
+      ["\"" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],
+      ["[" /* PathCharTypes.LEFT_BRACKET */]: [
+          4 /* States.IN_SUB_PATH */,
+          2 /* Actions.INC_SUB_PATH_DEPTH */
+      ],
+      ["]" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],
+      ["o" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,
+      ["l" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]
+  };
+  pathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {
+      ["'" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],
+      ["o" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,
+      ["l" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]
+  };
+  pathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {
+      ["\"" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],
+      ["o" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,
+      ["l" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]
+  };
+  /**
+   * Check if an expression is a literal value.
+   */
+  const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;
+  function isLiteral(exp) {
+      return literalValueRE.test(exp);
+  }
+  /**
+   * Strip quotes from a string
+   */
+  function stripQuotes(str) {
+      const a = str.charCodeAt(0);
+      const b = str.charCodeAt(str.length - 1);
+      return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;
+  }
+  /**
+   * Determine the type of a character in a keypath.
+   */
+  function getPathCharType(ch) {
+      if (ch === undefined || ch === null) {
+          return "o" /* PathCharTypes.END_OF_FAIL */;
+      }
+      const code = ch.charCodeAt(0);
+      switch (code) {
+          case 0x5b: // [
+          case 0x5d: // ]
+          case 0x2e: // .
+          case 0x22: // "
+          case 0x27: // '
+              return ch;
+          case 0x5f: // _
+          case 0x24: // $
+          case 0x2d: // -
+              return "i" /* PathCharTypes.IDENT */;
+          case 0x09: // Tab (HT)
+          case 0x0a: // Newline (LF)
+          case 0x0d: // Return (CR)
+          case 0xa0: // No-break space (NBSP)
+          case 0xfeff: // Byte Order Mark (BOM)
+          case 0x2028: // Line Separator (LS)
+          case 0x2029: // Paragraph Separator (PS)
+              return "w" /* PathCharTypes.WORKSPACE */;
+      }
+      return "i" /* PathCharTypes.IDENT */;
+  }
+  /**
+   * Format a subPath, return its plain form if it is
+   * a literal string or number. Otherwise prepend the
+   * dynamic indicator (*).
+   */
+  function formatSubPath(path) {
+      const trimmed = path.trim();
+      // invalid leading 0
+      if (path.charAt(0) === '0' && isNaN(parseInt(path))) {
+          return false;
+      }
+      return isLiteral(trimmed)
+          ? stripQuotes(trimmed)
+          : "*" /* PathCharTypes.ASTARISK */ + trimmed;
+  }
+  /**
+   * Parse a string path into an array of segments
+   */
+  function parse(path) {
+      const keys = [];
+      let index = -1;
+      let mode = 0 /* States.BEFORE_PATH */;
+      let subPathDepth = 0;
+      let c;
+      let key; // eslint-disable-line
+      let newChar;
+      let type;
+      let transition;
+      let action;
+      let typeMap;
+      const actions = [];
+      actions[0 /* Actions.APPEND */] = () => {
+          if (key === undefined) {
+              key = newChar;
+          }
+          else {
+              key += newChar;
+          }
+      };
+      actions[1 /* Actions.PUSH */] = () => {
+          if (key !== undefined) {
+              keys.push(key);
+              key = undefined;
+          }
+      };
+      actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {
+          actions[0 /* Actions.APPEND */]();
+          subPathDepth++;
+      };
+      actions[3 /* Actions.PUSH_SUB_PATH */] = () => {
+          if (subPathDepth > 0) {
+              subPathDepth--;
+              mode = 4 /* States.IN_SUB_PATH */;
+              actions[0 /* Actions.APPEND */]();
+          }
+          else {
+              subPathDepth = 0;
+              if (key === undefined) {
+                  return false;
+              }
+              key = formatSubPath(key);
+              if (key === false) {
+                  return false;
+              }
+              else {
+                  actions[1 /* Actions.PUSH */]();
+              }
+          }
+      };
+      function maybeUnescapeQuote() {
+          const nextChar = path[index + 1];
+          if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&
+              nextChar === "'" /* PathCharTypes.SINGLE_QUOTE */) ||
+              (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&
+                  nextChar === "\"" /* PathCharTypes.DOUBLE_QUOTE */)) {
+              index++;
+              newChar = '\\' + nextChar;
+              actions[0 /* Actions.APPEND */]();
+              return true;
+          }
+      }
+      while (mode !== null) {
+          index++;
+          c = path[index];
+          if (c === '\\' && maybeUnescapeQuote()) {
+              continue;
+          }
+          type = getPathCharType(c);
+          typeMap = pathStateMachine[mode];
+          transition = typeMap[type] || typeMap["l" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;
+          // check parse error
+          if (transition === 8 /* States.ERROR */) {
+              return;
+          }
+          mode = transition[0];
+          if (transition[1] !== undefined) {
+              action = actions[transition[1]];
+              if (action) {
+                  newChar = c;
+                  if (action() === false) {
+                      return;
+                  }
+              }
+          }
+          // check parse finish
+          if (mode === 7 /* States.AFTER_PATH */) {
+              return keys;
+          }
+      }
+  }
+  // path token cache
+  const cache = new Map();
+  /**
+   * key-value message resolver
+   *
+   * @remarks
+   * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved
+   *
+   * @param obj - A target object to be resolved with path
+   * @param path - A {@link Path | path} to resolve the value of message
+   *
+   * @returns A resolved {@link PathValue | path value}
+   *
+   * @VueI18nGeneral
+   */
+  function resolveWithKeyValue(obj, path) {
+      return isObject(obj) ? obj[path] : null;
+  }
+  /**
+   * message resolver
+   *
+   * @remarks
+   * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.
+   *
+   * @param obj - A target object to be resolved with path
+   * @param path - A {@link Path | path} to resolve the value of message
+   *
+   * @returns A resolved {@link PathValue | path value}
+   *
+   * @VueI18nGeneral
+   */
+  function resolveValue(obj, path) {
+      // check object
+      if (!isObject(obj)) {
+          return null;
+      }
+      // parse path
+      let hit = cache.get(path);
+      if (!hit) {
+          hit = parse(path);
+          if (hit) {
+              cache.set(path, hit);
+          }
+      }
+      // check hit
+      if (!hit) {
+          return null;
+      }
+      // resolve path value
+      const len = hit.length;
+      let last = obj;
+      let i = 0;
+      while (i < len) {
+          const val = last[hit[i]];
+          if (val === undefined) {
+              return null;
+          }
+          last = val;
+          i++;
+      }
+      return last;
+  }
+
+  const DEFAULT_MODIFIER = (str) => str;
+  const DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line
+  const DEFAULT_MESSAGE_DATA_TYPE = 'text';
+  const DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);
+  const DEFAULT_INTERPOLATE = toDisplayString;
+  function pluralDefault(choice, choicesLength) {
+      choice = Math.abs(choice);
+      if (choicesLength === 2) {
+          // prettier-ignore
+          return choice
+              ? choice > 1
+                  ? 1
+                  : 0
+              : 1;
+      }
+      return choice ? Math.min(choice, 2) : 0;
+  }
+  function getPluralIndex(options) {
+      // prettier-ignore
+      const index = isNumber(options.pluralIndex)
+          ? options.pluralIndex
+          : -1;
+      // prettier-ignore
+      return options.named && (isNumber(options.named.count) || isNumber(options.named.n))
+          ? isNumber(options.named.count)
+              ? options.named.count
+              : isNumber(options.named.n)
+                  ? options.named.n
+                  : index
+          : index;
+  }
+  function normalizeNamed(pluralIndex, props) {
+      if (!props.count) {
+          props.count = pluralIndex;
+      }
+      if (!props.n) {
+          props.n = pluralIndex;
+      }
+  }
+  function createMessageContext(options = {}) {
+      const locale = options.locale;
+      const pluralIndex = getPluralIndex(options);
+      const pluralRule = isObject(options.pluralRules) &&
+          isString(locale) &&
+          isFunction(options.pluralRules[locale])
+          ? options.pluralRules[locale]
+          : pluralDefault;
+      const orgPluralRule = isObject(options.pluralRules) &&
+          isString(locale) &&
+          isFunction(options.pluralRules[locale])
+          ? pluralDefault
+          : undefined;
+      const plural = (messages) => {
+          return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];
+      };
+      const _list = options.list || [];
+      const list = (index) => _list[index];
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      const _named = options.named || {};
+      isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);
+      const named = (key) => _named[key];
+      function message(key) {
+          // prettier-ignore
+          const msg = isFunction(options.messages)
+              ? options.messages(key)
+              : isObject(options.messages)
+                  ? options.messages[key]
+                  : false;
+          return !msg
+              ? options.parent
+                  ? options.parent.message(key) // resolve from parent messages
+                  : DEFAULT_MESSAGE
+              : msg;
+      }
+      const _modifier = (name) => options.modifiers
+          ? options.modifiers[name]
+          : DEFAULT_MODIFIER;
+      const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)
+          ? options.processor.normalize
+          : DEFAULT_NORMALIZE;
+      const interpolate = isPlainObject(options.processor) &&
+          isFunction(options.processor.interpolate)
+          ? options.processor.interpolate
+          : DEFAULT_INTERPOLATE;
+      const type = isPlainObject(options.processor) && isString(options.processor.type)
+          ? options.processor.type
+          : DEFAULT_MESSAGE_DATA_TYPE;
+      const linked = (key, ...args) => {
+          const [arg1, arg2] = args;
+          let type = 'text';
+          let modifier = '';
+          if (args.length === 1) {
+              if (isObject(arg1)) {
+                  modifier = arg1.modifier || modifier;
+                  type = arg1.type || type;
+              }
+              else if (isString(arg1)) {
+                  modifier = arg1 || modifier;
+              }
+          }
+          else if (args.length === 2) {
+              if (isString(arg1)) {
+                  modifier = arg1 || modifier;
+              }
+              if (isString(arg2)) {
+                  type = arg2 || type;
+              }
+          }
+          const ret = message(key)(ctx);
+          const msg =
+          // The message in vnode resolved with linked are returned as an array by processor.nomalize
+          type === 'vnode' && isArray(ret) && modifier
+              ? ret[0]
+              : ret;
+          return modifier ? _modifier(modifier)(msg, type) : msg;
+      };
+      const ctx = {
+          ["list" /* HelperNameMap.LIST */]: list,
+          ["named" /* HelperNameMap.NAMED */]: named,
+          ["plural" /* HelperNameMap.PLURAL */]: plural,
+          ["linked" /* HelperNameMap.LINKED */]: linked,
+          ["message" /* HelperNameMap.MESSAGE */]: message,
+          ["type" /* HelperNameMap.TYPE */]: type,
+          ["interpolate" /* HelperNameMap.INTERPOLATE */]: interpolate,
+          ["normalize" /* HelperNameMap.NORMALIZE */]: normalize,
+          ["values" /* HelperNameMap.VALUES */]: assign({}, _list, _named)
+      };
+      return ctx;
+  }
+
+  let devtools = null;
+  function setDevToolsHook(hook) {
+      devtools = hook;
+  }
+  function initI18nDevTools(i18n, version, meta) {
+      // TODO: queue if devtools is undefined
+      devtools &&
+          devtools.emit("i18n:init" /* IntlifyDevToolsHooks.I18nInit */, {
+              timestamp: Date.now(),
+              i18n,
+              version,
+              meta
+          });
+  }
+  const translateDevTools = /* #__PURE__*/ createDevToolsHook("function:translate" /* IntlifyDevToolsHooks.FunctionTranslate */);
+  function createDevToolsHook(hook) {
+      return (payloads) => devtools && devtools.emit(hook, payloads);
+  }
+
+  const CoreWarnCodes = {
+      NOT_FOUND_KEY: 1,
+      FALLBACK_TO_TRANSLATE: 2,
+      CANNOT_FORMAT_NUMBER: 3,
+      FALLBACK_TO_NUMBER_FORMAT: 4,
+      CANNOT_FORMAT_DATE: 5,
+      FALLBACK_TO_DATE_FORMAT: 6,
+      EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,
+      __EXTEND_POINT__: 8
+  };
+  /** @internal */
+  const warnMessages$1 = {
+      [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,
+      [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,
+      [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,
+      [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,
+      [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,
+      [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,
+      [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`
+  };
+  function getWarnMessage$1(code, ...args) {
+      return format$1(warnMessages$1[code], ...args);
+  }
+
+  /** @internal */
+  function getLocale(context, options) {
+      return options.locale != null
+          ? resolveLocale(options.locale)
+          : resolveLocale(context.locale);
+  }
+  let _resolveLocale;
+  /** @internal */
+  function resolveLocale(locale) {
+      // prettier-ignore
+      return isString(locale)
+          ? locale
+          : _resolveLocale != null && locale.resolvedOnce
+              ? _resolveLocale
+              : (_resolveLocale = locale());
+  }
+  /**
+   * Fallback with simple implemenation
+   *
+   * @remarks
+   * A fallback locale function implemented with a simple fallback algorithm.
+   *
+   * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.
+   *
+   * @param ctx - A {@link CoreContext | context}
+   * @param fallback - A {@link FallbackLocale | fallback locale}
+   * @param start - A starting {@link Locale | locale}
+   *
+   * @returns Fallback locales
+   *
+   * @VueI18nGeneral
+   */
+  function fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars
+  ) {
+      // prettier-ignore
+      return [...new Set([
+              start,
+              ...(isArray(fallback)
+                  ? fallback
+                  : isObject(fallback)
+                      ? Object.keys(fallback)
+                      : isString(fallback)
+                          ? [fallback]
+                          : [start])
+          ])];
+  }
+  /**
+   * Fallback with locale chain
+   *
+   * @remarks
+   * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.
+   *
+   * @param ctx - A {@link CoreContext | context}
+   * @param fallback - A {@link FallbackLocale | fallback locale}
+   * @param start - A starting {@link Locale | locale}
+   *
+   * @returns Fallback locales
+   *
+   * @VueI18nSee [Fallbacking](../guide/essentials/fallback)
+   *
+   * @VueI18nGeneral
+   */
+  function fallbackWithLocaleChain(ctx, fallback, start) {
+      const startLocale = isString(start) ? start : DEFAULT_LOCALE;
+      const context = ctx;
+      if (!context.__localeChainCache) {
+          context.__localeChainCache = new Map();
+      }
+      let chain = context.__localeChainCache.get(startLocale);
+      if (!chain) {
+          chain = [];
+          // first block defined by start
+          let block = [start];
+          // while any intervening block found
+          while (isArray(block)) {
+              block = appendBlockToChain(chain, block, fallback);
+          }
+          // prettier-ignore
+          // last block defined by default
+          const defaults = isArray(fallback) || !isPlainObject(fallback)
+              ? fallback
+              : fallback['default']
+                  ? fallback['default']
+                  : null;
+          // convert defaults to array
+          block = isString(defaults) ? [defaults] : defaults;
+          if (isArray(block)) {
+              appendBlockToChain(chain, block, false);
+          }
+          context.__localeChainCache.set(startLocale, chain);
+      }
+      return chain;
+  }
+  function appendBlockToChain(chain, block, blocks) {
+      let follow = true;
+      for (let i = 0; i < block.length && isBoolean(follow); i++) {
+          const locale = block[i];
+          if (isString(locale)) {
+              follow = appendLocaleToChain(chain, block[i], blocks);
+          }
+      }
+      return follow;
+  }
+  function appendLocaleToChain(chain, locale, blocks) {
+      let follow;
+      const tokens = locale.split('-');
+      do {
+          const target = tokens.join('-');
+          follow = appendItemToChain(chain, target, blocks);
+          tokens.splice(-1, 1);
+      } while (tokens.length && follow === true);
+      return follow;
+  }
+  function appendItemToChain(chain, target, blocks) {
+      let follow = false;
+      if (!chain.includes(target)) {
+          follow = true;
+          if (target) {
+              follow = target[target.length - 1] !== '!';
+              const locale = target.replace(/!/g, '');
+              chain.push(locale);
+              if ((isArray(blocks) || isPlainObject(blocks)) &&
+                  blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any
+              ) {
+                  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+                  follow = blocks[locale];
+              }
+          }
+      }
+      return follow;
+  }
+
+  /* eslint-disable @typescript-eslint/no-explicit-any */
+  /**
+   * Intlify core-base version
+   * @internal
+   */
+  const VERSION$1 = '9.5.0';
+  const NOT_REOSLVED = -1;
+  const DEFAULT_LOCALE = 'en-US';
+  const MISSING_RESOLVE_VALUE = '';
+  const capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;
+  function getDefaultLinkedModifiers() {
+      return {
+          upper: (val, type) => {
+              // prettier-ignore
+              return type === 'text' && isString(val)
+                  ? val.toUpperCase()
+                  : type === 'vnode' && isObject(val) && '__v_isVNode' in val
+                      ? val.children.toUpperCase()
+                      : val;
+          },
+          lower: (val, type) => {
+              // prettier-ignore
+              return type === 'text' && isString(val)
+                  ? val.toLowerCase()
+                  : type === 'vnode' && isObject(val) && '__v_isVNode' in val
+                      ? val.children.toLowerCase()
+                      : val;
+          },
+          capitalize: (val, type) => {
+              // prettier-ignore
+              return (type === 'text' && isString(val)
+                  ? capitalize(val)
+                  : type === 'vnode' && isObject(val) && '__v_isVNode' in val
+                      ? capitalize(val.children)
+                      : val);
+          }
+      };
+  }
+  let _compiler;
+  function registerMessageCompiler(compiler) {
+      _compiler = compiler;
+  }
+  let _resolver;
+  /**
+   * Register the message resolver
+   *
+   * @param resolver - A {@link MessageResolver} function
+   *
+   * @VueI18nGeneral
+   */
+  function registerMessageResolver(resolver) {
+      _resolver = resolver;
+  }
+  let _fallbacker;
+  /**
+   * Register the locale fallbacker
+   *
+   * @param fallbacker - A {@link LocaleFallbacker} function
+   *
+   * @VueI18nGeneral
+   */
+  function registerLocaleFallbacker(fallbacker) {
+      _fallbacker = fallbacker;
+  }
+  // Additional Meta for Intlify DevTools
+  let _additionalMeta =  null;
+  const setAdditionalMeta = /* #__PURE__*/ (meta) => {
+      _additionalMeta = meta;
+  };
+  const getAdditionalMeta = /* #__PURE__*/ () => _additionalMeta;
+  let _fallbackContext = null;
+  const setFallbackContext = (context) => {
+      _fallbackContext = context;
+  };
+  const getFallbackContext = () => _fallbackContext;
+  // ID for CoreContext
+  let _cid = 0;
+  function createCoreContext(options = {}) {
+      // setup options
+      const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
+      const version = isString(options.version) ? options.version : VERSION$1;
+      const locale = isString(options.locale) || isFunction(options.locale)
+          ? options.locale
+          : DEFAULT_LOCALE;
+      const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
+      const fallbackLocale = isArray(options.fallbackLocale) ||
+          isPlainObject(options.fallbackLocale) ||
+          isString(options.fallbackLocale) ||
+          options.fallbackLocale === false
+          ? options.fallbackLocale
+          : _locale;
+      const messages = isPlainObject(options.messages)
+          ? options.messages
+          : { [_locale]: {} };
+      const datetimeFormats = isPlainObject(options.datetimeFormats)
+              ? options.datetimeFormats
+              : { [_locale]: {} }
+          ;
+      const numberFormats = isPlainObject(options.numberFormats)
+              ? options.numberFormats
+              : { [_locale]: {} }
+          ;
+      const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());
+      const pluralRules = options.pluralRules || {};
+      const missing = isFunction(options.missing) ? options.missing : null;
+      const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)
+          ? options.missingWarn
+          : true;
+      const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)
+          ? options.fallbackWarn
+          : true;
+      const fallbackFormat = !!options.fallbackFormat;
+      const unresolving = !!options.unresolving;
+      const postTranslation = isFunction(options.postTranslation)
+          ? options.postTranslation
+          : null;
+      const processor = isPlainObject(options.processor) ? options.processor : null;
+      const warnHtmlMessage = isBoolean(options.warnHtmlMessage)
+          ? options.warnHtmlMessage
+          : true;
+      const escapeParameter = !!options.escapeParameter;
+      const messageCompiler = isFunction(options.messageCompiler)
+          ? options.messageCompiler
+          : _compiler;
+      const messageResolver = isFunction(options.messageResolver)
+          ? options.messageResolver
+          : _resolver || resolveWithKeyValue;
+      const localeFallbacker = isFunction(options.localeFallbacker)
+          ? options.localeFallbacker
+          : _fallbacker || fallbackWithSimple;
+      const fallbackContext = isObject(options.fallbackContext)
+          ? options.fallbackContext
+          : undefined;
+      // setup internal options
+      const internalOptions = options;
+      const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)
+              ? internalOptions.__datetimeFormatters
+              : new Map()
+          ;
+      const __numberFormatters = isObject(internalOptions.__numberFormatters)
+              ? internalOptions.__numberFormatters
+              : new Map()
+          ;
+      const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};
+      _cid++;
+      const context = {
+          version,
+          cid: _cid,
+          locale,
+          fallbackLocale,
+          messages,
+          modifiers,
+          pluralRules,
+          missing,
+          missingWarn,
+          fallbackWarn,
+          fallbackFormat,
+          unresolving,
+          postTranslation,
+          processor,
+          warnHtmlMessage,
+          escapeParameter,
+          messageCompiler,
+          messageResolver,
+          localeFallbacker,
+          fallbackContext,
+          onWarn,
+          __meta
+      };
+      {
+          context.datetimeFormats = datetimeFormats;
+          context.numberFormats = numberFormats;
+          context.__datetimeFormatters = __datetimeFormatters;
+          context.__numberFormatters = __numberFormatters;
+      }
+      // for vue-devtools timeline event
+      {
+          context.__v_emitter =
+              internalOptions.__v_emitter != null
+                  ? internalOptions.__v_emitter
+                  : undefined;
+      }
+      // NOTE: experimental !!
+      {
+          initI18nDevTools(context, version, __meta);
+      }
+      return context;
+  }
+  /** @internal */
+  function isTranslateFallbackWarn(fallback, key) {
+      return fallback instanceof RegExp ? fallback.test(key) : fallback;
+  }
+  /** @internal */
+  function isTranslateMissingWarn(missing, key) {
+      return missing instanceof RegExp ? missing.test(key) : missing;
+  }
+  /** @internal */
+  function handleMissing(context, key, locale, missingWarn, type) {
+      const { missing, onWarn } = context;
+      // for vue-devtools timeline event
+      {
+          const emitter = context.__v_emitter;
+          if (emitter) {
+              emitter.emit("missing" /* VueDevToolsTimelineEvents.MISSING */, {
+                  locale,
+                  key,
+                  type,
+                  groupId: `${type}:${key}`
+              });
+          }
+      }
+      if (missing !== null) {
+          const ret = missing(context, locale, key, type);
+          return isString(ret) ? ret : key;
+      }
+      else {
+          if (isTranslateMissingWarn(missingWarn, key)) {
+              onWarn(getWarnMessage$1(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));
+          }
+          return key;
+      }
+  }
+  /** @internal */
+  function updateFallbackLocale(ctx, locale, fallback) {
+      const context = ctx;
+      context.__localeChainCache = new Map();
+      ctx.localeFallbacker(ctx, fallback, locale);
+  }
+  /* eslint-enable @typescript-eslint/no-explicit-any */
+
+  function format(ast) {
+      const msg = (ctx) => formatParts(ctx, ast);
+      return msg;
+  }
+  function formatParts(ctx, ast) {
+      const body = ast.b || ast.body;
+      if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {
+          const plural = body;
+          const cases = plural.c || plural.cases;
+          return ctx.plural(cases.reduce((messages, c) => [
+              ...messages,
+              formatMessageParts(ctx, c)
+          ], []));
+      }
+      else {
+          return formatMessageParts(ctx, body);
+      }
+  }
+  function formatMessageParts(ctx, node) {
+      const _static = node.s || node.static;
+      if (_static) {
+          return ctx.type === 'text'
+              ? _static
+              : ctx.normalize([_static]);
+      }
+      else {
+          const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);
+          return ctx.normalize(messages);
+      }
+  }
+  function formatMessagePart(ctx, node) {
+      const type = node.t || node.type;
+      switch (type) {
+          case 3 /* NodeTypes.Text */:
+              const text = node;
+              return (text.v || text.value);
+          case 9 /* NodeTypes.Literal */:
+              const literal = node;
+              return (literal.v || literal.value);
+          case 4 /* NodeTypes.Named */:
+              const named = node;
+              return ctx.interpolate(ctx.named(named.k || named.key));
+          case 5 /* NodeTypes.List */:
+              const list = node;
+              return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
+          case 6 /* NodeTypes.Linked */:
+              const linked = node;
+              const modifier = linked.m || linked.modifier;
+              return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);
+          case 7 /* NodeTypes.LinkedKey */:
+              const linkedKey = node;
+              return (linkedKey.v || linkedKey.value);
+          case 8 /* NodeTypes.LinkedModifier */:
+              const linkedModifier = node;
+              return (linkedModifier.v || linkedModifier.value);
+          default:
+              throw new Error(`unhandled node type on format message part: ${type}`);
+      }
+  }
+
+  const code$2 = CompileErrorCodes.__EXTEND_POINT__;
+  const inc$2 = incrementer(code$2);
+  const CoreErrorCodes = {
+      INVALID_ARGUMENT: code$2,
+      INVALID_DATE_ARGUMENT: inc$2(),
+      INVALID_ISO_DATE_ARGUMENT: inc$2(),
+      NOT_SUPPORT_NON_STRING_MESSAGE: inc$2(),
+      __EXTEND_POINT__: inc$2() // 22
+  };
+  function createCoreError(code) {
+      return createCompileError(code, null, { messages: errorMessages$1 } );
+  }
+  /** @internal */
+  const errorMessages$1 = {
+      [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',
+      [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +
+          'Make sure your Date represents a valid date.',
+      [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',
+      [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message'
+  };
+
+  const WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;
+  function checkHtmlMessage(source, warnHtmlMessage) {
+      if (warnHtmlMessage && detectHtmlTag(source)) {
+          warn(format$1(WARN_MESSAGE, { source }));
+      }
+  }
+  const defaultOnCacheKey = (message) => message;
+  let compileCache = Object.create(null);
+  const isMessageAST = (val) => isObject(val) &&
+      (val.t === 0 || val.type === 0) &&
+      ('b' in val || 'body' in val);
+  function baseCompile(message, options = {}) {
+      // error detecting on compile
+      let detectError = false;
+      const onError = options.onError || defaultOnError;
+      options.onError = (err) => {
+          detectError = true;
+          onError(err);
+      };
+      // compile with mesasge-compiler
+      return { ...baseCompile$1(message, options), detectError };
+  }
+  function compile(message, context) {
+      if (isString(message)) {
+          // check HTML message
+          const warnHtmlMessage = isBoolean(context.warnHtmlMessage)
+              ? context.warnHtmlMessage
+              : true;
+          checkHtmlMessage(message, warnHtmlMessage);
+          // check caches
+          const onCacheKey = context.onCacheKey || defaultOnCacheKey;
+          const cacheKey = onCacheKey(message);
+          const cached = compileCache[cacheKey];
+          if (cached) {
+              return cached;
+          }
+          // compile with JIT mode
+          const { ast, detectError } = baseCompile(message, {
+              ...context,
+              location: true,
+              jit: true
+          });
+          // compose message function from AST
+          const msg = format(ast);
+          // if occurred compile error, don't cache
+          return !detectError
+              ? (compileCache[cacheKey] = msg)
+              : msg;
+      }
+      else {
+          if (!isMessageAST(message)) {
+              warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);
+              return (() => message);
+          }
+          // AST case (passed from bundler)
+          const cacheKey = message.cacheKey;
+          if (cacheKey) {
+              const cached = compileCache[cacheKey];
+              if (cached) {
+                  return cached;
+              }
+              // compose message function from message (AST)
+              return (compileCache[cacheKey] =
+                  format(message));
+          }
+          else {
+              return format(message);
+          }
+      }
+  }
+
+  const NOOP_MESSAGE_FUNCTION = () => '';
+  const isMessageFunction = (val) => isFunction(val);
+  // implementation of `translate` function
+  function translate(context, ...args) {
+      const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;
+      const [key, options] = parseTranslateArgs(...args);
+      const missingWarn = isBoolean(options.missingWarn)
+          ? options.missingWarn
+          : context.missingWarn;
+      const fallbackWarn = isBoolean(options.fallbackWarn)
+          ? options.fallbackWarn
+          : context.fallbackWarn;
+      const escapeParameter = isBoolean(options.escapeParameter)
+          ? options.escapeParameter
+          : context.escapeParameter;
+      const resolvedMessage = !!options.resolvedMessage;
+      // prettier-ignore
+      const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option
+          ? !isBoolean(options.default)
+              ? options.default
+              : (!messageCompiler ? () => key : key)
+          : fallbackFormat // default by `fallbackFormat` option
+              ? (!messageCompiler ? () => key : key)
+              : '';
+      const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';
+      const locale = getLocale(context, options);
+      // escape params
+      escapeParameter && escapeParams(options);
+      // resolve message format
+      // eslint-disable-next-line prefer-const
+      let [formatScope, targetLocale, message] = !resolvedMessage
+          ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)
+          : [
+              key,
+              locale,
+              messages[locale] || {}
+          ];
+      // NOTE:
+      //  Fix to work around `ssrTransfrom` bug in Vite.
+      //  https://github.com/vitejs/vite/issues/4306
+      //  To get around this, use temporary variables.
+      //  https://github.com/nuxt/framework/issues/1461#issuecomment-954606243
+      let format = formatScope;
+      // if you use default message, set it as message format!
+      let cacheBaseKey = key;
+      if (!resolvedMessage &&
+          !(isString(format) ||
+              isMessageAST(format) ||
+              isMessageFunction(format))) {
+          if (enableDefaultMsg) {
+              format = defaultMsgOrKey;
+              cacheBaseKey = format;
+          }
+      }
+      // checking message format and target locale
+      if (!resolvedMessage &&
+          (!(isString(format) ||
+              isMessageAST(format) ||
+              isMessageFunction(format)) ||
+              !isString(targetLocale))) {
+          return unresolving ? NOT_REOSLVED : key;
+      }
+      // TODO: refactor
+      if (isString(format) && context.messageCompiler == null) {
+          warn(`The message format compilation is not supported in this build. ` +
+              `Because message compiler isn't included. ` +
+              `You need to pre-compilation all message format. ` +
+              `So translate function return '${key}'.`);
+          return key;
+      }
+      // setup compile error detecting
+      let occurred = false;
+      const onError = () => {
+          occurred = true;
+      };
+      // compile message format
+      const msg = !isMessageFunction(format)
+          ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)
+          : format;
+      // if occurred compile error, return the message format
+      if (occurred) {
+          return format;
+      }
+      // evaluate message with context
+      const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);
+      const msgContext = createMessageContext(ctxOptions);
+      const messaged = evaluateMessage(context, msg, msgContext);
+      // if use post translation option, proceed it with handler
+      const ret = postTranslation
+          ? postTranslation(messaged, key)
+          : messaged;
+      // NOTE: experimental !!
+      {
+          // prettier-ignore
+          const payloads = {
+              timestamp: Date.now(),
+              key: isString(key)
+                  ? key
+                  : isMessageFunction(format)
+                      ? format.key
+                      : '',
+              locale: targetLocale || (isMessageFunction(format)
+                  ? format.locale
+                  : ''),
+              format: isString(format)
+                  ? format
+                  : isMessageFunction(format)
+                      ? format.source
+                      : '',
+              message: ret
+          };
+          payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});
+          translateDevTools(payloads);
+      }
+      return ret;
+  }
+  function escapeParams(options) {
+      if (isArray(options.list)) {
+          options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);
+      }
+      else if (isObject(options.named)) {
+          Object.keys(options.named).forEach(key => {
+              if (isString(options.named[key])) {
+                  options.named[key] = escapeHtml(options.named[key]);
+              }
+          });
+      }
+  }
+  function resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {
+      const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;
+      const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any
+      let message = {};
+      let targetLocale;
+      let format = null;
+      let from = locale;
+      let to = null;
+      const type = 'translate';
+      for (let i = 0; i < locales.length; i++) {
+          targetLocale = to = locales[i];
+          if (locale !== targetLocale &&
+              isTranslateFallbackWarn(fallbackWarn, key)) {
+              onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {
+                  key,
+                  target: targetLocale
+              }));
+          }
+          // for vue-devtools timeline event
+          if (locale !== targetLocale) {
+              const emitter = context.__v_emitter;
+              if (emitter) {
+                  emitter.emit("fallback" /* VueDevToolsTimelineEvents.FALBACK */, {
+                      type,
+                      key,
+                      from,
+                      to,
+                      groupId: `${type}:${key}`
+                  });
+              }
+          }
+          message =
+              messages[targetLocale] || {};
+          // for vue-devtools timeline event
+          let start = null;
+          let startTag;
+          let endTag;
+          if (inBrowser) {
+              start = window.performance.now();
+              startTag = 'intlify-message-resolve-start';
+              endTag = 'intlify-message-resolve-end';
+              mark && mark(startTag);
+          }
+          if ((format = resolveValue(message, key)) === null) {
+              // if null, resolve with object key path
+              format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any
+          }
+          // for vue-devtools timeline event
+          if (inBrowser) {
+              const end = window.performance.now();
+              const emitter = context.__v_emitter;
+              if (emitter && start && format) {
+                  emitter.emit("message-resolve" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {
+                      type: "message-resolve" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,
+                      key,
+                      message: format,
+                      time: end - start,
+                      groupId: `${type}:${key}`
+                  });
+              }
+              if (startTag && endTag && mark && measure) {
+                  mark(endTag);
+                  measure('intlify message resolve', startTag, endTag);
+              }
+          }
+          if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {
+              break;
+          }
+          const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any
+          key, targetLocale, missingWarn, type);
+          if (missingRet !== key) {
+              format = missingRet;
+          }
+          from = to;
+      }
+      return [format, targetLocale, message];
+  }
+  function compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {
+      const { messageCompiler, warnHtmlMessage } = context;
+      if (isMessageFunction(format)) {
+          const msg = format;
+          msg.locale = msg.locale || targetLocale;
+          msg.key = msg.key || key;
+          return msg;
+      }
+      if (messageCompiler == null) {
+          const msg = (() => format);
+          msg.locale = targetLocale;
+          msg.key = key;
+          return msg;
+      }
+      // for vue-devtools timeline event
+      let start = null;
+      let startTag;
+      let endTag;
+      if (inBrowser) {
+          start = window.performance.now();
+          startTag = 'intlify-message-compilation-start';
+          endTag = 'intlify-message-compilation-end';
+          mark && mark(startTag);
+      }
+      const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));
+      // for vue-devtools timeline event
+      if (inBrowser) {
+          const end = window.performance.now();
+          const emitter = context.__v_emitter;
+          if (emitter && start) {
+              emitter.emit("message-compilation" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {
+                  type: "message-compilation" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,
+                  message: format,
+                  time: end - start,
+                  groupId: `${'translate'}:${key}`
+              });
+          }
+          if (startTag && endTag && mark && measure) {
+              mark(endTag);
+              measure('intlify message compilation', startTag, endTag);
+          }
+      }
+      msg.locale = targetLocale;
+      msg.key = key;
+      msg.source = format;
+      return msg;
+  }
+  function evaluateMessage(context, msg, msgCtx) {
+      // for vue-devtools timeline event
+      let start = null;
+      let startTag;
+      let endTag;
+      if (inBrowser) {
+          start = window.performance.now();
+          startTag = 'intlify-message-evaluation-start';
+          endTag = 'intlify-message-evaluation-end';
+          mark && mark(startTag);
+      }
+      const messaged = msg(msgCtx);
+      // for vue-devtools timeline event
+      if (inBrowser) {
+          const end = window.performance.now();
+          const emitter = context.__v_emitter;
+          if (emitter && start) {
+              emitter.emit("message-evaluation" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {
+                  type: "message-evaluation" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,
+                  value: messaged,
+                  time: end - start,
+                  groupId: `${'translate'}:${msg.key}`
+              });
+          }
+          if (startTag && endTag && mark && measure) {
+              mark(endTag);
+              measure('intlify message evaluation', startTag, endTag);
+          }
+      }
+      return messaged;
+  }
+  /** @internal */
+  function parseTranslateArgs(...args) {
+      const [arg1, arg2, arg3] = args;
+      const options = {};
+      if (!isString(arg1) &&
+          !isNumber(arg1) &&
+          !isMessageFunction(arg1) &&
+          !isMessageAST(arg1)) {
+          throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+      }
+      // prettier-ignore
+      const key = isNumber(arg1)
+          ? String(arg1)
+          : isMessageFunction(arg1)
+              ? arg1
+              : arg1;
+      if (isNumber(arg2)) {
+          options.plural = arg2;
+      }
+      else if (isString(arg2)) {
+          options.default = arg2;
+      }
+      else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {
+          options.named = arg2;
+      }
+      else if (isArray(arg2)) {
+          options.list = arg2;
+      }
+      if (isNumber(arg3)) {
+          options.plural = arg3;
+      }
+      else if (isString(arg3)) {
+          options.default = arg3;
+      }
+      else if (isPlainObject(arg3)) {
+          assign(options, arg3);
+      }
+      return [key, options];
+  }
+  function getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {
+      return {
+          locale,
+          key,
+          warnHtmlMessage,
+          onError: (err) => {
+              onError && onError(err);
+              {
+                  const _source = getSourceForCodeFrame(source);
+                  const message = `Message compilation error: ${err.message}`;
+                  const codeFrame = err.location &&
+                      _source &&
+                      generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);
+                  const emitter = context.__v_emitter;
+                  if (emitter && _source) {
+                      emitter.emit("compile-error" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {
+                          message: _source,
+                          error: err.message,
+                          start: err.location && err.location.start.offset,
+                          end: err.location && err.location.end.offset,
+                          groupId: `${'translate'}:${key}`
+                      });
+                  }
+                  console.error(codeFrame ? `${message}\n${codeFrame}` : message);
+              }
+          },
+          onCacheKey: (source) => generateFormatCacheKey(locale, key, source)
+      };
+  }
+  function getSourceForCodeFrame(source) {
+      if (isString(source)) ;
+      else {
+          if (source.loc?.source) {
+              return source.loc.source;
+          }
+      }
+  }
+  function getMessageContextOptions(context, locale, message, options) {
+      const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;
+      const resolveMessage = (key) => {
+          let val = resolveValue(message, key);
+          // fallback to root context
+          if (val == null && fallbackContext) {
+              const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);
+              val = resolveValue(message, key);
+          }
+          if (isString(val) || isMessageAST(val)) {
+              let occurred = false;
+              const onError = () => {
+                  occurred = true;
+              };
+              const msg = compileMessageFormat(context, key, locale, val, key, onError);
+              return !occurred
+                  ? msg
+                  : NOOP_MESSAGE_FUNCTION;
+          }
+          else if (isMessageFunction(val)) {
+              return val;
+          }
+          else {
+              // TODO: should be implemented warning message
+              return NOOP_MESSAGE_FUNCTION;
+          }
+      };
+      const ctxOptions = {
+          locale,
+          modifiers,
+          pluralRules,
+          messages: resolveMessage
+      };
+      if (context.processor) {
+          ctxOptions.processor = context.processor;
+      }
+      if (options.list) {
+          ctxOptions.list = options.list;
+      }
+      if (options.named) {
+          ctxOptions.named = options.named;
+      }
+      if (isNumber(options.plural)) {
+          ctxOptions.pluralIndex = options.plural;
+      }
+      return ctxOptions;
+  }
+
+  const intlDefined = typeof Intl !== 'undefined';
+  const Availabilities = {
+      dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',
+      numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'
+  };
+
+  // implementation of `datetime` function
+  function datetime(context, ...args) {
+      const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;
+      const { __datetimeFormatters } = context;
+      if (!Availabilities.dateTimeFormat) {
+          onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_DATE));
+          return MISSING_RESOLVE_VALUE;
+      }
+      const [key, value, options, overrides] = parseDateTimeArgs(...args);
+      const missingWarn = isBoolean(options.missingWarn)
+          ? options.missingWarn
+          : context.missingWarn;
+      const fallbackWarn = isBoolean(options.fallbackWarn)
+          ? options.fallbackWarn
+          : context.fallbackWarn;
+      const part = !!options.part;
+      const locale = getLocale(context, options);
+      const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
+      fallbackLocale, locale);
+      if (!isString(key) || key === '') {
+          return new Intl.DateTimeFormat(locale, overrides).format(value);
+      }
+      // resolve format
+      let datetimeFormat = {};
+      let targetLocale;
+      let format = null;
+      let from = locale;
+      let to = null;
+      const type = 'datetime format';
+      for (let i = 0; i < locales.length; i++) {
+          targetLocale = to = locales[i];
+          if (locale !== targetLocale &&
+              isTranslateFallbackWarn(fallbackWarn, key)) {
+              onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {
+                  key,
+                  target: targetLocale
+              }));
+          }
+          // for vue-devtools timeline event
+          if (locale !== targetLocale) {
+              const emitter = context.__v_emitter;
+              if (emitter) {
+                  emitter.emit("fallback" /* VueDevToolsTimelineEvents.FALBACK */, {
+                      type,
+                      key,
+                      from,
+                      to,
+                      groupId: `${type}:${key}`
+                  });
+              }
+          }
+          datetimeFormat =
+              datetimeFormats[targetLocale] || {};
+          format = datetimeFormat[key];
+          if (isPlainObject(format))
+              break;
+          handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any
+          from = to;
+      }
+      // checking format and target locale
+      if (!isPlainObject(format) || !isString(targetLocale)) {
+          return unresolving ? NOT_REOSLVED : key;
+      }
+      let id = `${targetLocale}__${key}`;
+      if (!isEmptyObject(overrides)) {
+          id = `${id}__${JSON.stringify(overrides)}`;
+      }
+      let formatter = __datetimeFormatters.get(id);
+      if (!formatter) {
+          formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));
+          __datetimeFormatters.set(id, formatter);
+      }
+      return !part ? formatter.format(value) : formatter.formatToParts(value);
+  }
+  /** @internal */
+  const DATETIME_FORMAT_OPTIONS_KEYS = [
+      'localeMatcher',
+      'weekday',
+      'era',
+      'year',
+      'month',
+      'day',
+      'hour',
+      'minute',
+      'second',
+      'timeZoneName',
+      'formatMatcher',
+      'hour12',
+      'timeZone',
+      'dateStyle',
+      'timeStyle',
+      'calendar',
+      'dayPeriod',
+      'numberingSystem',
+      'hourCycle',
+      'fractionalSecondDigits'
+  ];
+  /** @internal */
+  function parseDateTimeArgs(...args) {
+      const [arg1, arg2, arg3, arg4] = args;
+      const options = {};
+      let overrides = {};
+      let value;
+      if (isString(arg1)) {
+          // Only allow ISO strings - other date formats are often supported,
+          // but may cause different results in different browsers.
+          const matches = arg1.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);
+          if (!matches) {
+              throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);
+          }
+          // Some browsers can not parse the iso datetime separated by space,
+          // this is a compromise solution by replace the 'T'/' ' with 'T'
+          const dateTime = matches[3]
+              ? matches[3].trim().startsWith('T')
+                  ? `${matches[1].trim()}${matches[3].trim()}`
+                  : `${matches[1].trim()}T${matches[3].trim()}`
+              : matches[1].trim();
+          value = new Date(dateTime);
+          try {
+              // This will fail if the date is not valid
+              value.toISOString();
+          }
+          catch (e) {
+              throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);
+          }
+      }
+      else if (isDate(arg1)) {
+          if (isNaN(arg1.getTime())) {
+              throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);
+          }
+          value = arg1;
+      }
+      else if (isNumber(arg1)) {
+          value = arg1;
+      }
+      else {
+          throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+      }
+      if (isString(arg2)) {
+          options.key = arg2;
+      }
+      else if (isPlainObject(arg2)) {
+          Object.keys(arg2).forEach(key => {
+              if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {
+                  overrides[key] = arg2[key];
+              }
+              else {
+                  options[key] = arg2[key];
+              }
+          });
+      }
+      if (isString(arg3)) {
+          options.locale = arg3;
+      }
+      else if (isPlainObject(arg3)) {
+          overrides = arg3;
+      }
+      if (isPlainObject(arg4)) {
+          overrides = arg4;
+      }
+      return [options.key || '', value, options, overrides];
+  }
+  /** @internal */
+  function clearDateTimeFormat(ctx, locale, format) {
+      const context = ctx;
+      for (const key in format) {
+          const id = `${locale}__${key}`;
+          if (!context.__datetimeFormatters.has(id)) {
+              continue;
+          }
+          context.__datetimeFormatters.delete(id);
+      }
+  }
+
+  // implementation of `number` function
+  function number(context, ...args) {
+      const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;
+      const { __numberFormatters } = context;
+      if (!Availabilities.numberFormat) {
+          onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_NUMBER));
+          return MISSING_RESOLVE_VALUE;
+      }
+      const [key, value, options, overrides] = parseNumberArgs(...args);
+      const missingWarn = isBoolean(options.missingWarn)
+          ? options.missingWarn
+          : context.missingWarn;
+      const fallbackWarn = isBoolean(options.fallbackWarn)
+          ? options.fallbackWarn
+          : context.fallbackWarn;
+      const part = !!options.part;
+      const locale = getLocale(context, options);
+      const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any
+      fallbackLocale, locale);
+      if (!isString(key) || key === '') {
+          return new Intl.NumberFormat(locale, overrides).format(value);
+      }
+      // resolve format
+      let numberFormat = {};
+      let targetLocale;
+      let format = null;
+      let from = locale;
+      let to = null;
+      const type = 'number format';
+      for (let i = 0; i < locales.length; i++) {
+          targetLocale = to = locales[i];
+          if (locale !== targetLocale &&
+              isTranslateFallbackWarn(fallbackWarn, key)) {
+              onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {
+                  key,
+                  target: targetLocale
+              }));
+          }
+          // for vue-devtools timeline event
+          if (locale !== targetLocale) {
+              const emitter = context.__v_emitter;
+              if (emitter) {
+                  emitter.emit("fallback" /* VueDevToolsTimelineEvents.FALBACK */, {
+                      type,
+                      key,
+                      from,
+                      to,
+                      groupId: `${type}:${key}`
+                  });
+              }
+          }
+          numberFormat =
+              numberFormats[targetLocale] || {};
+          format = numberFormat[key];
+          if (isPlainObject(format))
+              break;
+          handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any
+          from = to;
+      }
+      // checking format and target locale
+      if (!isPlainObject(format) || !isString(targetLocale)) {
+          return unresolving ? NOT_REOSLVED : key;
+      }
+      let id = `${targetLocale}__${key}`;
+      if (!isEmptyObject(overrides)) {
+          id = `${id}__${JSON.stringify(overrides)}`;
+      }
+      let formatter = __numberFormatters.get(id);
+      if (!formatter) {
+          formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));
+          __numberFormatters.set(id, formatter);
+      }
+      return !part ? formatter.format(value) : formatter.formatToParts(value);
+  }
+  /** @internal */
+  const NUMBER_FORMAT_OPTIONS_KEYS = [
+      'localeMatcher',
+      'style',
+      'currency',
+      'currencyDisplay',
+      'currencySign',
+      'useGrouping',
+      'minimumIntegerDigits',
+      'minimumFractionDigits',
+      'maximumFractionDigits',
+      'minimumSignificantDigits',
+      'maximumSignificantDigits',
+      'compactDisplay',
+      'notation',
+      'signDisplay',
+      'unit',
+      'unitDisplay',
+      'roundingMode',
+      'roundingPriority',
+      'roundingIncrement',
+      'trailingZeroDisplay'
+  ];
+  /** @internal */
+  function parseNumberArgs(...args) {
+      const [arg1, arg2, arg3, arg4] = args;
+      const options = {};
+      let overrides = {};
+      if (!isNumber(arg1)) {
+          throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+      }
+      const value = arg1;
+      if (isString(arg2)) {
+          options.key = arg2;
+      }
+      else if (isPlainObject(arg2)) {
+          Object.keys(arg2).forEach(key => {
+              if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {
+                  overrides[key] = arg2[key];
+              }
+              else {
+                  options[key] = arg2[key];
+              }
+          });
+      }
+      if (isString(arg3)) {
+          options.locale = arg3;
+      }
+      else if (isPlainObject(arg3)) {
+          overrides = arg3;
+      }
+      if (isPlainObject(arg4)) {
+          overrides = arg4;
+      }
+      return [options.key || '', value, options, overrides];
+  }
+  /** @internal */
+  function clearNumberFormat(ctx, locale, format) {
+      const context = ctx;
+      for (const key in format) {
+          const id = `${locale}__${key}`;
+          if (!context.__numberFormatters.has(id)) {
+              continue;
+          }
+          context.__numberFormatters.delete(id);
+      }
+  }
+
+  /**
+   * Vue I18n Version
+   *
+   * @remarks
+   * Semver format. Same format as the package.json `version` field.
+   *
+   * @VueI18nGeneral
+   */
+  const VERSION = '9.5.0';
+  /**
+   * This is only called development env
+   * istanbul-ignore-next
+   */
+  function initDev() {
+      {
+          {
+              console.info(`You are running a development build of vue-i18n.\n` +
+                  `Make sure to use the production build (*.prod.js) when deploying for production.`);
+          }
+      }
+  }
+
+  const code$1 = CoreWarnCodes.__EXTEND_POINT__;
+  const inc$1 = incrementer(code$1);
+  const I18nWarnCodes = {
+      FALLBACK_TO_ROOT: code$1,
+      NOT_SUPPORTED_PRESERVE: inc$1(),
+      NOT_SUPPORTED_FORMATTER: inc$1(),
+      NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),
+      NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),
+      COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),
+      NOT_FOUND_PARENT_SCOPE: inc$1(),
+      IGNORE_OBJ_FLATTEN: inc$1(),
+      NOTICE_DROP_ALLOW_COMPOSITION: inc$1() // 17
+  };
+  const warnMessages = {
+      [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,
+      [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,
+      [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,
+      [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,
+      [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,
+      [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,
+      [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,
+      [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,
+      [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`
+  };
+  function getWarnMessage(code, ...args) {
+      return format$1(warnMessages[code], ...args);
+  }
+
+  const code = CoreErrorCodes.__EXTEND_POINT__;
+  const inc = incrementer(code);
+  const I18nErrorCodes = {
+      // composer module errors
+      UNEXPECTED_RETURN_TYPE: code,
+      // legacy module errors
+      INVALID_ARGUMENT: inc(),
+      // i18n module errors
+      MUST_BE_CALL_SETUP_TOP: inc(),
+      NOT_INSTALLED: inc(),
+      NOT_AVAILABLE_IN_LEGACY_MODE: inc(),
+      // directive module errors
+      REQUIRED_VALUE: inc(),
+      INVALID_VALUE: inc(),
+      // vue-devtools errors
+      CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),
+      NOT_INSTALLED_WITH_PROVIDE: inc(),
+      // unexpected error
+      UNEXPECTED_ERROR: inc(),
+      // not compatible legacy vue-i18n constructor
+      NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),
+      // bridge support vue 2.x only
+      BRIDGE_SUPPORT_VUE_2_ONLY: inc(),
+      // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``
+      MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),
+      // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly
+      NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),
+      // for enhancement
+      __EXTEND_POINT__: inc() // 37
+  };
+  function createI18nError(code, ...args) {
+      return createCompileError(code, null, { messages: errorMessages, args } );
+  }
+  const errorMessages = {
+      [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',
+      [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',
+      [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',
+      [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',
+      [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',
+      [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',
+      [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,
+      [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,
+      [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,
+      [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',
+      [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',
+      [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',
+      [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',
+      [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'
+  };
+
+  const TranslateVNodeSymbol =
+  /* #__PURE__*/ makeSymbol('__translateVNode');
+  const DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');
+  const NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');
+  const EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');
+  const DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');
+  const SetPluralRulesSymbol = makeSymbol('__setPluralRules');
+  const InejctWithOptionSymbol =
+  /* #__PURE__*/ makeSymbol('__injectWithOption');
+  const DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');
+  const __VUE_I18N_BRIDGE__ =  '__VUE_I18N_BRIDGE__';
+
+  /* eslint-disable @typescript-eslint/no-explicit-any */
+  /**
+   * Transform flat json in obj to normal json in obj
+   */
+  function handleFlatJson(obj) {
+      // check obj
+      if (!isObject(obj)) {
+          return obj;
+      }
+      for (const key in obj) {
+          // check key
+          if (!hasOwn(obj, key)) {
+              continue;
+          }
+          // handle for normal json
+          if (!key.includes('.')) {
+              // recursive process value if value is also a object
+              if (isObject(obj[key])) {
+                  handleFlatJson(obj[key]);
+              }
+          }
+          // handle for flat json, transform to normal json
+          else {
+              // go to the last object
+              const subKeys = key.split('.');
+              const lastIndex = subKeys.length - 1;
+              let currentObj = obj;
+              let hasStringValue = false;
+              for (let i = 0; i < lastIndex; i++) {
+                  if (!(subKeys[i] in currentObj)) {
+                      currentObj[subKeys[i]] = {};
+                  }
+                  if (!isObject(currentObj[subKeys[i]])) {
+                      warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {
+                              key: subKeys[i]
+                          }));
+                      hasStringValue = true;
+                      break;
+                  }
+                  currentObj = currentObj[subKeys[i]];
+              }
+              // update last object value, delete old property
+              if (!hasStringValue) {
+                  currentObj[subKeys[lastIndex]] = obj[key];
+                  delete obj[key];
+              }
+              // recursive process value if value is also a object
+              if (isObject(currentObj[subKeys[lastIndex]])) {
+                  handleFlatJson(currentObj[subKeys[lastIndex]]);
+              }
+          }
+      }
+      return obj;
+  }
+  function getLocaleMessages(locale, options) {
+      const { messages, __i18n, messageResolver, flatJson } = options;
+      // prettier-ignore
+      const ret = (isPlainObject(messages)
+          ? messages
+          : isArray(__i18n)
+              ? {}
+              : { [locale]: {} });
+      // merge locale messages of i18n custom block
+      if (isArray(__i18n)) {
+          __i18n.forEach(custom => {
+              if ('locale' in custom && 'resource' in custom) {
+                  const { locale, resource } = custom;
+                  if (locale) {
+                      ret[locale] = ret[locale] || {};
+                      deepCopy(resource, ret[locale]);
+                  }
+                  else {
+                      deepCopy(resource, ret);
+                  }
+              }
+              else {
+                  isString(custom) && deepCopy(JSON.parse(custom), ret);
+              }
+          });
+      }
+      // handle messages for flat json
+      if (messageResolver == null && flatJson) {
+          for (const key in ret) {
+              if (hasOwn(ret, key)) {
+                  handleFlatJson(ret[key]);
+              }
+          }
+      }
+      return ret;
+  }
+  const isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
+  function deepCopy(src, des) {
+      // src and des should both be objects, and non of then can be a array
+      if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {
+          throw createI18nError(I18nErrorCodes.INVALID_VALUE);
+      }
+      for (const key in src) {
+          if (hasOwn(src, key)) {
+              if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {
+                  // replace with src[key] when:
+                  // src[key] or des[key] is not a object, or
+                  // src[key] or des[key] is a array
+                  des[key] = src[key];
+              }
+              else {
+                  // src[key] and des[key] are both object, merge them
+                  deepCopy(src[key], des[key]);
+              }
+          }
+      }
+  }
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  function getComponentOptions(instance) {
+      return instance.type ;
+  }
+  function adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any
+  ) {
+      let messages = isObject(options.messages) ? options.messages : {};
+      if ('__i18nGlobal' in componentOptions) {
+          messages = getLocaleMessages(gl.locale.value, {
+              messages,
+              __i18n: componentOptions.__i18nGlobal
+          });
+      }
+      // merge locale messages
+      const locales = Object.keys(messages);
+      if (locales.length) {
+          locales.forEach(locale => {
+              gl.mergeLocaleMessage(locale, messages[locale]);
+          });
+      }
+      {
+          // merge datetime formats
+          if (isObject(options.datetimeFormats)) {
+              const locales = Object.keys(options.datetimeFormats);
+              if (locales.length) {
+                  locales.forEach(locale => {
+                      gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);
+                  });
+              }
+          }
+          // merge number formats
+          if (isObject(options.numberFormats)) {
+              const locales = Object.keys(options.numberFormats);
+              if (locales.length) {
+                  locales.forEach(locale => {
+                      gl.mergeNumberFormat(locale, options.numberFormats[locale]);
+                  });
+              }
+          }
+      }
+  }
+  function createTextNode(key) {
+      return vue.createVNode(vue.Text, null, key, 0)
+          ;
+  }
+  /* eslint-enable @typescript-eslint/no-explicit-any */
+
+  /* eslint-disable @typescript-eslint/no-explicit-any */
+  // extend VNode interface
+  const DEVTOOLS_META = '__INTLIFY_META__';
+  let composerID = 0;
+  function defineCoreMissingHandler(missing) {
+      return ((ctx, locale, key, type) => {
+          return missing(locale, key, vue.getCurrentInstance() || undefined, type);
+      });
+  }
+  // for Intlify DevTools
+  const getMetaInfo = /* #__PURE__*/ () => {
+      const instance = vue.getCurrentInstance();
+      let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any
+      return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])
+          ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any
+          : null;
+  };
+  /**
+   * Create composer interface factory
+   *
+   * @internal
+   */
+  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+  function createComposer(options = {}, VueI18nLegacy) {
+      const { __root, __injectWithOption } = options;
+      const _isGlobal = __root === undefined;
+      let _inheritLocale = isBoolean(options.inheritLocale)
+          ? options.inheritLocale
+          : true;
+      const _locale = vue.ref(
+      // prettier-ignore
+      __root && _inheritLocale
+          ? __root.locale.value
+          : isString(options.locale)
+              ? options.locale
+              : DEFAULT_LOCALE);
+      const _fallbackLocale = vue.ref(
+      // prettier-ignore
+      __root && _inheritLocale
+          ? __root.fallbackLocale.value
+          : isString(options.fallbackLocale) ||
+              isArray(options.fallbackLocale) ||
+              isPlainObject(options.fallbackLocale) ||
+              options.fallbackLocale === false
+              ? options.fallbackLocale
+              : _locale.value);
+      const _messages = vue.ref(getLocaleMessages(_locale.value, options));
+      // prettier-ignore
+      const _datetimeFormats = vue.ref(isPlainObject(options.datetimeFormats)
+              ? options.datetimeFormats
+              : { [_locale.value]: {} })
+          ;
+      // prettier-ignore
+      const _numberFormats = vue.ref(isPlainObject(options.numberFormats)
+              ? options.numberFormats
+              : { [_locale.value]: {} })
+          ;
+      // warning suppress options
+      // prettier-ignore
+      let _missingWarn = __root
+          ? __root.missingWarn
+          : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)
+              ? options.missingWarn
+              : true;
+      // prettier-ignore
+      let _fallbackWarn = __root
+          ? __root.fallbackWarn
+          : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)
+              ? options.fallbackWarn
+              : true;
+      // prettier-ignore
+      let _fallbackRoot = __root
+          ? __root.fallbackRoot
+          : isBoolean(options.fallbackRoot)
+              ? options.fallbackRoot
+              : true;
+      // configure fall back to root
+      let _fallbackFormat = !!options.fallbackFormat;
+      // runtime missing
+      let _missing = isFunction(options.missing) ? options.missing : null;
+      let _runtimeMissing = isFunction(options.missing)
+          ? defineCoreMissingHandler(options.missing)
+          : null;
+      // postTranslation handler
+      let _postTranslation = isFunction(options.postTranslation)
+          ? options.postTranslation
+          : null;
+      // prettier-ignore
+      let _warnHtmlMessage = __root
+          ? __root.warnHtmlMessage
+          : isBoolean(options.warnHtmlMessage)
+              ? options.warnHtmlMessage
+              : true;
+      let _escapeParameter = !!options.escapeParameter;
+      // custom linked modifiers
+      // prettier-ignore
+      const _modifiers = __root
+          ? __root.modifiers
+          : isPlainObject(options.modifiers)
+              ? options.modifiers
+              : {};
+      // pluralRules
+      let _pluralRules = options.pluralRules || (__root && __root.pluralRules);
+      // runtime context
+      // eslint-disable-next-line prefer-const
+      let _context;
+      const getCoreContext = () => {
+          _isGlobal && setFallbackContext(null);
+          const ctxOptions = {
+              version: VERSION,
+              locale: _locale.value,
+              fallbackLocale: _fallbackLocale.value,
+              messages: _messages.value,
+              modifiers: _modifiers,
+              pluralRules: _pluralRules,
+              missing: _runtimeMissing === null ? undefined : _runtimeMissing,
+              missingWarn: _missingWarn,
+              fallbackWarn: _fallbackWarn,
+              fallbackFormat: _fallbackFormat,
+              unresolving: true,
+              postTranslation: _postTranslation === null ? undefined : _postTranslation,
+              warnHtmlMessage: _warnHtmlMessage,
+              escapeParameter: _escapeParameter,
+              messageResolver: options.messageResolver,
+              messageCompiler: options.messageCompiler,
+              __meta: { framework: 'vue' }
+          };
+          {
+              ctxOptions.datetimeFormats = _datetimeFormats.value;
+              ctxOptions.numberFormats = _numberFormats.value;
+              ctxOptions.__datetimeFormatters = isPlainObject(_context)
+                  ? _context.__datetimeFormatters
+                  : undefined;
+              ctxOptions.__numberFormatters = isPlainObject(_context)
+                  ? _context.__numberFormatters
+                  : undefined;
+          }
+          {
+              ctxOptions.__v_emitter = isPlainObject(_context)
+                  ? _context.__v_emitter
+                  : undefined;
+          }
+          const ctx = createCoreContext(ctxOptions);
+          _isGlobal && setFallbackContext(ctx);
+          return ctx;
+      };
+      _context = getCoreContext();
+      updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+      // track reactivity
+      function trackReactivityValues() {
+          return [
+                  _locale.value,
+                  _fallbackLocale.value,
+                  _messages.value,
+                  _datetimeFormats.value,
+                  _numberFormats.value
+              ]
+              ;
+      }
+      // locale
+      const locale = vue.computed({
+          get: () => _locale.value,
+          set: val => {
+              _locale.value = val;
+              _context.locale = _locale.value;
+          }
+      });
+      // fallbackLocale
+      const fallbackLocale = vue.computed({
+          get: () => _fallbackLocale.value,
+          set: val => {
+              _fallbackLocale.value = val;
+              _context.fallbackLocale = _fallbackLocale.value;
+              updateFallbackLocale(_context, _locale.value, val);
+          }
+      });
+      // messages
+      const messages = vue.computed(() => _messages.value);
+      // datetimeFormats
+      const datetimeFormats = /* #__PURE__*/ vue.computed(() => _datetimeFormats.value);
+      // numberFormats
+      const numberFormats = /* #__PURE__*/ vue.computed(() => _numberFormats.value);
+      // getPostTranslationHandler
+      function getPostTranslationHandler() {
+          return isFunction(_postTranslation) ? _postTranslation : null;
+      }
+      // setPostTranslationHandler
+      function setPostTranslationHandler(handler) {
+          _postTranslation = handler;
+          _context.postTranslation = handler;
+      }
+      // getMissingHandler
+      function getMissingHandler() {
+          return _missing;
+      }
+      // setMissingHandler
+      function setMissingHandler(handler) {
+          if (handler !== null) {
+              _runtimeMissing = defineCoreMissingHandler(handler);
+          }
+          _missing = handler;
+          _context.missing = _runtimeMissing;
+      }
+      function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any
+      ) {
+          return type !== 'translate' || !arg.resolvedMessage;
+      }
+      const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {
+          trackReactivityValues(); // track reactive dependency
+          // NOTE: experimental !!
+          let ret;
+          try {
+              if (true || false) {
+                  setAdditionalMeta(getMetaInfo());
+              }
+              if (!_isGlobal) {
+                  _context.fallbackContext = __root
+                      ? getFallbackContext()
+                      : undefined;
+              }
+              ret = fn(_context);
+          }
+          finally {
+              {
+                  setAdditionalMeta(null);
+              }
+              if (!_isGlobal) {
+                  _context.fallbackContext = undefined;
+              }
+          }
+          if (isNumber(ret) && ret === NOT_REOSLVED) {
+              const [key, arg2] = argumentParser();
+              if (__root &&
+                  isString(key) &&
+                  isResolvedTranslateMessage(warnType, arg2)) {
+                  if (_fallbackRoot &&
+                      (isTranslateFallbackWarn(_fallbackWarn, key) ||
+                          isTranslateMissingWarn(_missingWarn, key))) {
+                      warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {
+                          key,
+                          type: warnType
+                      }));
+                  }
+                  // for vue-devtools timeline event
+                  {
+                      const { __v_emitter: emitter } = _context;
+                      if (emitter && _fallbackRoot) {
+                          emitter.emit("fallback" /* VueDevToolsTimelineEvents.FALBACK */, {
+                              type: warnType,
+                              key,
+                              to: 'global',
+                              groupId: `${warnType}:${key}`
+                          });
+                      }
+                  }
+              }
+              return __root && _fallbackRoot
+                  ? fallbackSuccess(__root)
+                  : fallbackFail(key);
+          }
+          else if (successCondition(ret)) {
+              return ret;
+          }
+          else {
+              /* istanbul ignore next */
+              throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);
+          }
+      };
+      // t
+      function t(...args) {
+          return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));
+      }
+      // rt
+      function rt(...args) {
+          const [arg1, arg2, arg3] = args;
+          if (arg3 && !isObject(arg3)) {
+              throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+          }
+          return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);
+      }
+      // d
+      function d(...args) {
+          return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));
+      }
+      // n
+      function n(...args) {
+          return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));
+      }
+      // for custom processor
+      function normalize(values) {
+          return values.map(val => isString(val) || isNumber(val) || isBoolean(val)
+              ? createTextNode(String(val))
+              : val);
+      }
+      const interpolate = (val) => val;
+      const processor = {
+          normalize,
+          interpolate,
+          type: 'vnode'
+      };
+      // translateVNode, using for `i18n-t` component
+      function translateVNode(...args) {
+          return wrapWithDeps(context => {
+              let ret;
+              const _context = context;
+              try {
+                  _context.processor = processor;
+                  ret = Reflect.apply(translate, null, [_context, ...args]);
+              }
+              finally {
+                  _context.processor = null;
+              }
+              return ret;
+          }, () => parseTranslateArgs(...args), 'translate',
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));
+      }
+      // numberParts, using for `i18n-n` component
+      function numberParts(...args) {
+          return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format',
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          root => root[NumberPartsSymbol](...args), () => [], val => isString(val) || isArray(val));
+      }
+      // datetimeParts, using for `i18n-d` component
+      function datetimeParts(...args) {
+          return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format',
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          root => root[DatetimePartsSymbol](...args), () => [], val => isString(val) || isArray(val));
+      }
+      function setPluralRules(rules) {
+          _pluralRules = rules;
+          _context.pluralRules = _pluralRules;
+      }
+      // te
+      function te(key, locale) {
+          if (!key)
+              return false;
+          const targetLocale = isString(locale) ? locale : _locale.value;
+          const message = getLocaleMessage(targetLocale);
+          return _context.messageResolver(message, key) !== null;
+      }
+      function resolveMessages(key) {
+          let messages = null;
+          const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);
+          for (let i = 0; i < locales.length; i++) {
+              const targetLocaleMessages = _messages.value[locales[i]] || {};
+              const messageValue = _context.messageResolver(targetLocaleMessages, key);
+              if (messageValue != null) {
+                  messages = messageValue;
+                  break;
+              }
+          }
+          return messages;
+      }
+      // tm
+      function tm(key) {
+          const messages = resolveMessages(key);
+          // prettier-ignore
+          return messages != null
+              ? messages
+              : __root
+                  ? __root.tm(key) || {}
+                  : {};
+      }
+      // getLocaleMessage
+      function getLocaleMessage(locale) {
+          return (_messages.value[locale] || {});
+      }
+      // setLocaleMessage
+      function setLocaleMessage(locale, message) {
+          _messages.value[locale] = message;
+          _context.messages = _messages.value;
+      }
+      // mergeLocaleMessage
+      function mergeLocaleMessage(locale, message) {
+          _messages.value[locale] = _messages.value[locale] || {};
+          deepCopy(message, _messages.value[locale]);
+          _context.messages = _messages.value;
+      }
+      // getDateTimeFormat
+      function getDateTimeFormat(locale) {
+          return _datetimeFormats.value[locale] || {};
+      }
+      // setDateTimeFormat
+      function setDateTimeFormat(locale, format) {
+          _datetimeFormats.value[locale] = format;
+          _context.datetimeFormats = _datetimeFormats.value;
+          clearDateTimeFormat(_context, locale, format);
+      }
+      // mergeDateTimeFormat
+      function mergeDateTimeFormat(locale, format) {
+          _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);
+          _context.datetimeFormats = _datetimeFormats.value;
+          clearDateTimeFormat(_context, locale, format);
+      }
+      // getNumberFormat
+      function getNumberFormat(locale) {
+          return _numberFormats.value[locale] || {};
+      }
+      // setNumberFormat
+      function setNumberFormat(locale, format) {
+          _numberFormats.value[locale] = format;
+          _context.numberFormats = _numberFormats.value;
+          clearNumberFormat(_context, locale, format);
+      }
+      // mergeNumberFormat
+      function mergeNumberFormat(locale, format) {
+          _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);
+          _context.numberFormats = _numberFormats.value;
+          clearNumberFormat(_context, locale, format);
+      }
+      // for debug
+      composerID++;
+      // watch root locale & fallbackLocale
+      if (__root && inBrowser) {
+          vue.watch(__root.locale, (val) => {
+              if (_inheritLocale) {
+                  _locale.value = val;
+                  _context.locale = val;
+                  updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+              }
+          });
+          vue.watch(__root.fallbackLocale, (val) => {
+              if (_inheritLocale) {
+                  _fallbackLocale.value = val;
+                  _context.fallbackLocale = val;
+                  updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+              }
+          });
+      }
+      // define basic composition API!
+      const composer = {
+          id: composerID,
+          locale,
+          fallbackLocale,
+          get inheritLocale() {
+              return _inheritLocale;
+          },
+          set inheritLocale(val) {
+              _inheritLocale = val;
+              if (val && __root) {
+                  _locale.value = __root.locale.value;
+                  _fallbackLocale.value = __root.fallbackLocale.value;
+                  updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+              }
+          },
+          get availableLocales() {
+              return Object.keys(_messages.value).sort();
+          },
+          messages,
+          get modifiers() {
+              return _modifiers;
+          },
+          get pluralRules() {
+              return _pluralRules || {};
+          },
+          get isGlobal() {
+              return _isGlobal;
+          },
+          get missingWarn() {
+              return _missingWarn;
+          },
+          set missingWarn(val) {
+              _missingWarn = val;
+              _context.missingWarn = _missingWarn;
+          },
+          get fallbackWarn() {
+              return _fallbackWarn;
+          },
+          set fallbackWarn(val) {
+              _fallbackWarn = val;
+              _context.fallbackWarn = _fallbackWarn;
+          },
+          get fallbackRoot() {
+              return _fallbackRoot;
+          },
+          set fallbackRoot(val) {
+              _fallbackRoot = val;
+          },
+          get fallbackFormat() {
+              return _fallbackFormat;
+          },
+          set fallbackFormat(val) {
+              _fallbackFormat = val;
+              _context.fallbackFormat = _fallbackFormat;
+          },
+          get warnHtmlMessage() {
+              return _warnHtmlMessage;
+          },
+          set warnHtmlMessage(val) {
+              _warnHtmlMessage = val;
+              _context.warnHtmlMessage = val;
+          },
+          get escapeParameter() {
+              return _escapeParameter;
+          },
+          set escapeParameter(val) {
+              _escapeParameter = val;
+              _context.escapeParameter = val;
+          },
+          t,
+          getLocaleMessage,
+          setLocaleMessage,
+          mergeLocaleMessage,
+          getPostTranslationHandler,
+          setPostTranslationHandler,
+          getMissingHandler,
+          setMissingHandler,
+          [SetPluralRulesSymbol]: setPluralRules
+      };
+      {
+          composer.datetimeFormats = datetimeFormats;
+          composer.numberFormats = numberFormats;
+          composer.rt = rt;
+          composer.te = te;
+          composer.tm = tm;
+          composer.d = d;
+          composer.n = n;
+          composer.getDateTimeFormat = getDateTimeFormat;
+          composer.setDateTimeFormat = setDateTimeFormat;
+          composer.mergeDateTimeFormat = mergeDateTimeFormat;
+          composer.getNumberFormat = getNumberFormat;
+          composer.setNumberFormat = setNumberFormat;
+          composer.mergeNumberFormat = mergeNumberFormat;
+          composer[InejctWithOptionSymbol] = __injectWithOption;
+          composer[TranslateVNodeSymbol] = translateVNode;
+          composer[DatetimePartsSymbol] = datetimeParts;
+          composer[NumberPartsSymbol] = numberParts;
+      }
+      // for vue-devtools timeline event
+      {
+          composer[EnableEmitter] = (emitter) => {
+              _context.__v_emitter = emitter;
+          };
+          composer[DisableEmitter] = () => {
+              _context.__v_emitter = undefined;
+          };
+      }
+      return composer;
+  }
+  /* eslint-enable @typescript-eslint/no-explicit-any */
+
+  /* eslint-disable @typescript-eslint/no-explicit-any */
+  /**
+   * Convert to I18n Composer Options from VueI18n Options
+   *
+   * @internal
+   */
+  function convertComposerOptions(options) {
+      const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;
+      const fallbackLocale = isString(options.fallbackLocale) ||
+          isArray(options.fallbackLocale) ||
+          isPlainObject(options.fallbackLocale) ||
+          options.fallbackLocale === false
+          ? options.fallbackLocale
+          : locale;
+      const missing = isFunction(options.missing) ? options.missing : undefined;
+      const missingWarn = isBoolean(options.silentTranslationWarn) ||
+          isRegExp(options.silentTranslationWarn)
+          ? !options.silentTranslationWarn
+          : true;
+      const fallbackWarn = isBoolean(options.silentFallbackWarn) ||
+          isRegExp(options.silentFallbackWarn)
+          ? !options.silentFallbackWarn
+          : true;
+      const fallbackRoot = isBoolean(options.fallbackRoot)
+          ? options.fallbackRoot
+          : true;
+      const fallbackFormat = !!options.formatFallbackMessages;
+      const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};
+      const pluralizationRules = options.pluralizationRules;
+      const postTranslation = isFunction(options.postTranslation)
+          ? options.postTranslation
+          : undefined;
+      const warnHtmlMessage = isString(options.warnHtmlInMessage)
+          ? options.warnHtmlInMessage !== 'off'
+          : true;
+      const escapeParameter = !!options.escapeParameterHtml;
+      const inheritLocale = isBoolean(options.sync) ? options.sync : true;
+      if (options.formatter) {
+          warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));
+      }
+      if (options.preserveDirectiveContent) {
+          warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));
+      }
+      let messages = options.messages;
+      if (isPlainObject(options.sharedMessages)) {
+          const sharedMessages = options.sharedMessages;
+          const locales = Object.keys(sharedMessages);
+          messages = locales.reduce((messages, locale) => {
+              const message = messages[locale] || (messages[locale] = {});
+              assign(message, sharedMessages[locale]);
+              return messages;
+          }, (messages || {}));
+      }
+      const { __i18n, __root, __injectWithOption } = options;
+      const datetimeFormats = options.datetimeFormats;
+      const numberFormats = options.numberFormats;
+      const flatJson = options.flatJson;
+      return {
+          locale,
+          fallbackLocale,
+          messages,
+          flatJson,
+          datetimeFormats,
+          numberFormats,
+          missing,
+          missingWarn,
+          fallbackWarn,
+          fallbackRoot,
+          fallbackFormat,
+          modifiers,
+          pluralRules: pluralizationRules,
+          postTranslation,
+          warnHtmlMessage,
+          escapeParameter,
+          messageResolver: options.messageResolver,
+          inheritLocale,
+          __i18n,
+          __root,
+          __injectWithOption
+      };
+  }
+  /**
+   * create VueI18n interface factory
+   *
+   * @internal
+   */
+  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+  function createVueI18n(options = {}, VueI18nLegacy) {
+      {
+          const composer = createComposer(convertComposerOptions(options));
+          const { __extender } = options;
+          // defines VueI18n
+          const vueI18n = {
+              // id
+              id: composer.id,
+              // locale
+              get locale() {
+                  return composer.locale.value;
+              },
+              set locale(val) {
+                  composer.locale.value = val;
+              },
+              // fallbackLocale
+              get fallbackLocale() {
+                  return composer.fallbackLocale.value;
+              },
+              set fallbackLocale(val) {
+                  composer.fallbackLocale.value = val;
+              },
+              // messages
+              get messages() {
+                  return composer.messages.value;
+              },
+              // datetimeFormats
+              get datetimeFormats() {
+                  return composer.datetimeFormats.value;
+              },
+              // numberFormats
+              get numberFormats() {
+                  return composer.numberFormats.value;
+              },
+              // availableLocales
+              get availableLocales() {
+                  return composer.availableLocales;
+              },
+              // formatter
+              get formatter() {
+                  warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));
+                  // dummy
+                  return {
+                      interpolate() {
+                          return [];
+                      }
+                  };
+              },
+              set formatter(val) {
+                  warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));
+              },
+              // missing
+              get missing() {
+                  return composer.getMissingHandler();
+              },
+              set missing(handler) {
+                  composer.setMissingHandler(handler);
+              },
+              // silentTranslationWarn
+              get silentTranslationWarn() {
+                  return isBoolean(composer.missingWarn)
+                      ? !composer.missingWarn
+                      : composer.missingWarn;
+              },
+              set silentTranslationWarn(val) {
+                  composer.missingWarn = isBoolean(val) ? !val : val;
+              },
+              // silentFallbackWarn
+              get silentFallbackWarn() {
+                  return isBoolean(composer.fallbackWarn)
+                      ? !composer.fallbackWarn
+                      : composer.fallbackWarn;
+              },
+              set silentFallbackWarn(val) {
+                  composer.fallbackWarn = isBoolean(val) ? !val : val;
+              },
+              // modifiers
+              get modifiers() {
+                  return composer.modifiers;
+              },
+              // formatFallbackMessages
+              get formatFallbackMessages() {
+                  return composer.fallbackFormat;
+              },
+              set formatFallbackMessages(val) {
+                  composer.fallbackFormat = val;
+              },
+              // postTranslation
+              get postTranslation() {
+                  return composer.getPostTranslationHandler();
+              },
+              set postTranslation(handler) {
+                  composer.setPostTranslationHandler(handler);
+              },
+              // sync
+              get sync() {
+                  return composer.inheritLocale;
+              },
+              set sync(val) {
+                  composer.inheritLocale = val;
+              },
+              // warnInHtmlMessage
+              get warnHtmlInMessage() {
+                  return composer.warnHtmlMessage ? 'warn' : 'off';
+              },
+              set warnHtmlInMessage(val) {
+                  composer.warnHtmlMessage = val !== 'off';
+              },
+              // escapeParameterHtml
+              get escapeParameterHtml() {
+                  return composer.escapeParameter;
+              },
+              set escapeParameterHtml(val) {
+                  composer.escapeParameter = val;
+              },
+              // preserveDirectiveContent
+              get preserveDirectiveContent() {
+                  warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));
+                  return true;
+              },
+              set preserveDirectiveContent(val) {
+                  warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));
+              },
+              // pluralizationRules
+              get pluralizationRules() {
+                  return composer.pluralRules || {};
+              },
+              // for internal
+              __composer: composer,
+              // t
+              t(...args) {
+                  const [arg1, arg2, arg3] = args;
+                  const options = {};
+                  let list = null;
+                  let named = null;
+                  if (!isString(arg1)) {
+                      throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+                  }
+                  const key = arg1;
+                  if (isString(arg2)) {
+                      options.locale = arg2;
+                  }
+                  else if (isArray(arg2)) {
+                      list = arg2;
+                  }
+                  else if (isPlainObject(arg2)) {
+                      named = arg2;
+                  }
+                  if (isArray(arg3)) {
+                      list = arg3;
+                  }
+                  else if (isPlainObject(arg3)) {
+                      named = arg3;
+                  }
+                  // return composer.t(key, (list || named || {}) as any, options)
+                  return Reflect.apply(composer.t, composer, [
+                      key,
+                      (list || named || {}),
+                      options
+                  ]);
+              },
+              rt(...args) {
+                  return Reflect.apply(composer.rt, composer, [...args]);
+              },
+              // tc
+              tc(...args) {
+                  const [arg1, arg2, arg3] = args;
+                  const options = { plural: 1 };
+                  let list = null;
+                  let named = null;
+                  if (!isString(arg1)) {
+                      throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+                  }
+                  const key = arg1;
+                  if (isString(arg2)) {
+                      options.locale = arg2;
+                  }
+                  else if (isNumber(arg2)) {
+                      options.plural = arg2;
+                  }
+                  else if (isArray(arg2)) {
+                      list = arg2;
+                  }
+                  else if (isPlainObject(arg2)) {
+                      named = arg2;
+                  }
+                  if (isString(arg3)) {
+                      options.locale = arg3;
+                  }
+                  else if (isArray(arg3)) {
+                      list = arg3;
+                  }
+                  else if (isPlainObject(arg3)) {
+                      named = arg3;
+                  }
+                  // return composer.t(key, (list || named || {}) as any, options)
+                  return Reflect.apply(composer.t, composer, [
+                      key,
+                      (list || named || {}),
+                      options
+                  ]);
+              },
+              // te
+              te(key, locale) {
+                  return composer.te(key, locale);
+              },
+              // tm
+              tm(key) {
+                  return composer.tm(key);
+              },
+              // getLocaleMessage
+              getLocaleMessage(locale) {
+                  return composer.getLocaleMessage(locale);
+              },
+              // setLocaleMessage
+              setLocaleMessage(locale, message) {
+                  composer.setLocaleMessage(locale, message);
+              },
+              // mergeLocaleMessage
+              mergeLocaleMessage(locale, message) {
+                  composer.mergeLocaleMessage(locale, message);
+              },
+              // d
+              d(...args) {
+                  return Reflect.apply(composer.d, composer, [...args]);
+              },
+              // getDateTimeFormat
+              getDateTimeFormat(locale) {
+                  return composer.getDateTimeFormat(locale);
+              },
+              // setDateTimeFormat
+              setDateTimeFormat(locale, format) {
+                  composer.setDateTimeFormat(locale, format);
+              },
+              // mergeDateTimeFormat
+              mergeDateTimeFormat(locale, format) {
+                  composer.mergeDateTimeFormat(locale, format);
+              },
+              // n
+              n(...args) {
+                  return Reflect.apply(composer.n, composer, [...args]);
+              },
+              // getNumberFormat
+              getNumberFormat(locale) {
+                  return composer.getNumberFormat(locale);
+              },
+              // setNumberFormat
+              setNumberFormat(locale, format) {
+                  composer.setNumberFormat(locale, format);
+              },
+              // mergeNumberFormat
+              mergeNumberFormat(locale, format) {
+                  composer.mergeNumberFormat(locale, format);
+              },
+              // getChoiceIndex
+              // eslint-disable-next-line @typescript-eslint/no-unused-vars
+              getChoiceIndex(choice, choicesLength) {
+                  warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));
+                  return -1;
+              }
+          };
+          vueI18n.__extender = __extender;
+          // for vue-devtools timeline event
+          {
+              vueI18n.__enableEmitter = (emitter) => {
+                  const __composer = composer;
+                  __composer[EnableEmitter] && __composer[EnableEmitter](emitter);
+              };
+              vueI18n.__disableEmitter = () => {
+                  const __composer = composer;
+                  __composer[DisableEmitter] && __composer[DisableEmitter]();
+              };
+          }
+          return vueI18n;
+      }
+  }
+  /* eslint-enable @typescript-eslint/no-explicit-any */
+
+  const baseFormatProps = {
+      tag: {
+          type: [String, Object]
+      },
+      locale: {
+          type: String
+      },
+      scope: {
+          type: String,
+          // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050
+          validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',
+          default: 'parent' /* ComponentI18nScope */
+      },
+      i18n: {
+          type: Object
+      }
+  };
+
+  function getInterpolateArg(
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  { slots }, // SetupContext,
+  keys) {
+      if (keys.length === 1 && keys[0] === 'default') {
+          // default slot with list
+          const ret = slots.default ? slots.default() : [];
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          return ret.reduce((slot, current) => {
+              return [
+                  ...slot,
+                  // prettier-ignore
+                  ...(current.type === vue.Fragment ? current.children : [current]
+                      )
+              ];
+          }, []);
+      }
+      else {
+          // named slots
+          return keys.reduce((arg, key) => {
+              const slot = slots[key];
+              if (slot) {
+                  arg[key] = slot();
+              }
+              return arg;
+          }, {});
+      }
+  }
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  function getFragmentableTag(tag) {
+      return vue.Fragment ;
+  }
+
+  const TranslationImpl = /*#__PURE__*/ vue.defineComponent({
+      /* eslint-disable */
+      name: 'i18n-t',
+      props: assign({
+          keypath: {
+              type: String,
+              required: true
+          },
+          plural: {
+              type: [Number, String],
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              validator: (val) => isNumber(val) || !isNaN(val)
+          }
+      }, baseFormatProps),
+      /* eslint-enable */
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      setup(props, context) {
+          const { slots, attrs } = context;
+          // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050
+          const i18n = props.i18n ||
+              useI18n({
+                  useScope: props.scope,
+                  __useComponent: true
+              });
+          return () => {
+              const keys = Object.keys(slots).filter(key => key !== '_');
+              const options = {};
+              if (props.locale) {
+                  options.locale = props.locale;
+              }
+              if (props.plural !== undefined) {
+                  options.plural = isString(props.plural) ? +props.plural : props.plural;
+              }
+              const arg = getInterpolateArg(context, keys);
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);
+              const assignedAttrs = assign({}, attrs);
+              const tag = isString(props.tag) || isObject(props.tag)
+                  ? props.tag
+                  : getFragmentableTag();
+              return vue.h(tag, assignedAttrs, children);
+          };
+      }
+  });
+  /**
+   * export the public type for h/tsx inference
+   * also to avoid inline import() in generated d.ts files
+   */
+  /**
+   * Translation Component
+   *
+   * @remarks
+   * See the following items for property about details
+   *
+   * @VueI18nSee [TranslationProps](component#translationprops)
+   * @VueI18nSee [BaseFormatProps](component#baseformatprops)
+   * @VueI18nSee [Component Interpolation](../guide/advanced/component)
+   *
+   * @example
+   * ```html
+   * <div id="app">
+   *   <!-- ... -->
+   *   <i18n keypath="term" tag="label" for="tos">
+   *     <a :href="url" target="_blank">{{ $t('tos') }}</a>
+   *   </i18n>
+   *   <!-- ... -->
+   * </div>
+   * ```
+   * ```js
+   * import { createApp } from 'vue'
+   * import { createI18n } from 'vue-i18n'
+   *
+   * const messages = {
+   *   en: {
+   *     tos: 'Term of Service',
+   *     term: 'I accept xxx {0}.'
+   *   },
+   *   ja: {
+   *     tos: '利用規約',
+   *     term: '私は xxx の{0}に同意します。'
+   *   }
+   * }
+   *
+   * const i18n = createI18n({
+   *   locale: 'en',
+   *   messages
+   * })
+   *
+   * const app = createApp({
+   *   data: {
+   *     url: '/term'
+   *   }
+   * }).use(i18n).mount('#app')
+   * ```
+   *
+   * @VueI18nComponent
+   */
+  const Translation = TranslationImpl;
+  const I18nT = Translation;
+
+  function isVNode(target) {
+      return isArray(target) && !isString(target[0]);
+  }
+  function renderFormatter(props, context, slotKeys, partFormatter) {
+      const { slots, attrs } = context;
+      return () => {
+          const options = { part: true };
+          let overrides = {};
+          if (props.locale) {
+              options.locale = props.locale;
+          }
+          if (isString(props.format)) {
+              options.key = props.format;
+          }
+          else if (isObject(props.format)) {
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              if (isString(props.format.key)) {
+                  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+                  options.key = props.format.key;
+              }
+              // Filter out number format options only
+              overrides = Object.keys(props.format).reduce((options, prop) => {
+                  return slotKeys.includes(prop)
+                      ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any
+                      : options;
+              }, {});
+          }
+          const parts = partFormatter(...[props.value, options, overrides]);
+          let children = [options.key];
+          if (isArray(parts)) {
+              children = parts.map((part, index) => {
+                  const slot = slots[part.type];
+                  const node = slot
+                      ? slot({ [part.type]: part.value, index, parts })
+                      : [part.value];
+                  if (isVNode(node)) {
+                      node[0].key = `${part.type}-${index}`;
+                  }
+                  return node;
+              });
+          }
+          else if (isString(parts)) {
+              children = [parts];
+          }
+          const assignedAttrs = assign({}, attrs);
+          const tag = isString(props.tag) || isObject(props.tag)
+              ? props.tag
+              : getFragmentableTag();
+          return vue.h(tag, assignedAttrs, children);
+      };
+  }
+
+  const NumberFormatImpl = /*#__PURE__*/ vue.defineComponent({
+      /* eslint-disable */
+      name: 'i18n-n',
+      props: assign({
+          value: {
+              type: Number,
+              required: true
+          },
+          format: {
+              type: [String, Object]
+          }
+      }, baseFormatProps),
+      /* eslint-enable */
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      setup(props, context) {
+          const i18n = props.i18n ||
+              useI18n({
+                  useScope: 'parent',
+                  __useComponent: true
+              });
+          return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) =>
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          i18n[NumberPartsSymbol](...args));
+      }
+  });
+  /**
+   * export the public type for h/tsx inference
+   * also to avoid inline import() in generated d.ts files
+   */
+  /**
+   * Number Format Component
+   *
+   * @remarks
+   * See the following items for property about details
+   *
+   * @VueI18nSee [FormattableProps](component#formattableprops)
+   * @VueI18nSee [BaseFormatProps](component#baseformatprops)
+   * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)
+   *
+   * @VueI18nDanger
+   * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)
+   *
+   * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)
+   *
+   * @VueI18nComponent
+   */
+  const NumberFormat = NumberFormatImpl;
+  const I18nN = NumberFormat;
+
+  const DatetimeFormatImpl = /* #__PURE__*/ vue.defineComponent({
+      /* eslint-disable */
+      name: 'i18n-d',
+      props: assign({
+          value: {
+              type: [Number, Date],
+              required: true
+          },
+          format: {
+              type: [String, Object]
+          }
+      }, baseFormatProps),
+      /* eslint-enable */
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      setup(props, context) {
+          const i18n = props.i18n ||
+              useI18n({
+                  useScope: 'parent',
+                  __useComponent: true
+              });
+          return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) =>
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          i18n[DatetimePartsSymbol](...args));
+      }
+  });
+  /**
+   * Datetime Format Component
+   *
+   * @remarks
+   * See the following items for property about details
+   *
+   * @VueI18nSee [FormattableProps](component#formattableprops)
+   * @VueI18nSee [BaseFormatProps](component#baseformatprops)
+   * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)
+   *
+   * @VueI18nDanger
+   * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)
+   *
+   * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)
+   *
+   * @VueI18nComponent
+   */
+  const DatetimeFormat = DatetimeFormatImpl;
+  const I18nD = DatetimeFormat;
+
+  function getComposer$2(i18n, instance) {
+      const i18nInternal = i18n;
+      if (i18n.mode === 'composition') {
+          return (i18nInternal.__getInstance(instance) || i18n.global);
+      }
+      else {
+          const vueI18n = i18nInternal.__getInstance(instance);
+          return vueI18n != null
+              ? vueI18n.__composer
+              : i18n.global.__composer;
+      }
+  }
+  function vTDirective(i18n) {
+      const _process = (binding) => {
+          const { instance, modifiers, value } = binding;
+          /* istanbul ignore if */
+          if (!instance || !instance.$) {
+              throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+          }
+          const composer = getComposer$2(i18n, instance.$);
+          if (modifiers.preserve) {
+              warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));
+          }
+          const parsedValue = parseValue(value);
+          return [
+              Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),
+              composer
+          ];
+      };
+      const register = (el, binding) => {
+          const [textContent, composer] = _process(binding);
+          if (inBrowser && i18n.global === composer) {
+              // global scope only
+              el.__i18nWatcher = vue.watch(composer.locale, () => {
+                  binding.instance && binding.instance.$forceUpdate();
+              });
+          }
+          el.__composer = composer;
+          el.textContent = textContent;
+      };
+      const unregister = (el) => {
+          if (inBrowser && el.__i18nWatcher) {
+              el.__i18nWatcher();
+              el.__i18nWatcher = undefined;
+              delete el.__i18nWatcher;
+          }
+          if (el.__composer) {
+              el.__composer = undefined;
+              delete el.__composer;
+          }
+      };
+      const update = (el, { value }) => {
+          if (el.__composer) {
+              const composer = el.__composer;
+              const parsedValue = parseValue(value);
+              el.textContent = Reflect.apply(composer.t, composer, [
+                  ...makeParams(parsedValue)
+              ]);
+          }
+      };
+      const getSSRProps = (binding) => {
+          const [textContent] = _process(binding);
+          return { textContent };
+      };
+      return {
+          created: register,
+          unmounted: unregister,
+          beforeUpdate: update,
+          getSSRProps
+      };
+  }
+  function parseValue(value) {
+      if (isString(value)) {
+          return { path: value };
+      }
+      else if (isPlainObject(value)) {
+          if (!('path' in value)) {
+              throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');
+          }
+          return value;
+      }
+      else {
+          throw createI18nError(I18nErrorCodes.INVALID_VALUE);
+      }
+  }
+  function makeParams(value) {
+      const { path, locale, args, choice, plural } = value;
+      const options = {};
+      const named = args || {};
+      if (isString(locale)) {
+          options.locale = locale;
+      }
+      if (isNumber(choice)) {
+          options.plural = choice;
+      }
+      if (isNumber(plural)) {
+          options.plural = plural;
+      }
+      return [path, named, options];
+  }
+
+  function apply(app, i18n, ...options) {
+      const pluginOptions = isPlainObject(options[0])
+          ? options[0]
+          : {};
+      const useI18nComponentName = !!pluginOptions.useI18nComponentName;
+      const globalInstall = isBoolean(pluginOptions.globalInstall)
+          ? pluginOptions.globalInstall
+          : true;
+      if (globalInstall && useI18nComponentName) {
+          warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {
+              name: Translation.name
+          }));
+      }
+      if (globalInstall) {
+          [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));
+          [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));
+          [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));
+      }
+      // install directive
+      {
+          app.directive('t', vTDirective(i18n));
+      }
+  }
+
+  var global$1 = (typeof global !== "undefined" ? global :
+              typeof self !== "undefined" ? self :
+              typeof window !== "undefined" ? window : {});
+
+  function getDevtoolsGlobalHook() {
+      return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
+  }
+  function getTarget() {
+      // @ts-ignore
+      return (typeof navigator !== 'undefined' && typeof window !== 'undefined')
+          ? window
+          : typeof global$1 !== 'undefined'
+              ? global$1
+              : {};
+  }
+  const isProxyAvailable = typeof Proxy === 'function';
+
+  const HOOK_SETUP = 'devtools-plugin:setup';
+  const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';
+
+  let supported;
+  let perf;
+  function isPerformanceSupported() {
+      var _a;
+      if (supported !== undefined) {
+          return supported;
+      }
+      if (typeof window !== 'undefined' && window.performance) {
+          supported = true;
+          perf = window.performance;
+      }
+      else if (typeof global$1 !== 'undefined' && ((_a = global$1.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {
+          supported = true;
+          perf = global$1.perf_hooks.performance;
+      }
+      else {
+          supported = false;
+      }
+      return supported;
+  }
+  function now() {
+      return isPerformanceSupported() ? perf.now() : Date.now();
+  }
+
+  class ApiProxy {
+      constructor(plugin, hook) {
+          this.target = null;
+          this.targetQueue = [];
+          this.onQueue = [];
+          this.plugin = plugin;
+          this.hook = hook;
+          const defaultSettings = {};
+          if (plugin.settings) {
+              for (const id in plugin.settings) {
+                  const item = plugin.settings[id];
+                  defaultSettings[id] = item.defaultValue;
+              }
+          }
+          const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
+          let currentSettings = Object.assign({}, defaultSettings);
+          try {
+              const raw = localStorage.getItem(localSettingsSaveId);
+              const data = JSON.parse(raw);
+              Object.assign(currentSettings, data);
+          }
+          catch (e) {
+              // noop
+          }
+          this.fallbacks = {
+              getSettings() {
+                  return currentSettings;
+              },
+              setSettings(value) {
+                  try {
+                      localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
+                  }
+                  catch (e) {
+                      // noop
+                  }
+                  currentSettings = value;
+              },
+              now() {
+                  return now();
+              },
+          };
+          if (hook) {
+              hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
+                  if (pluginId === this.plugin.id) {
+                      this.fallbacks.setSettings(value);
+                  }
+              });
+          }
+          this.proxiedOn = new Proxy({}, {
+              get: (_target, prop) => {
+                  if (this.target) {
+                      return this.target.on[prop];
+                  }
+                  else {
+                      return (...args) => {
+                          this.onQueue.push({
+                              method: prop,
+                              args,
+                          });
+                      };
+                  }
+              },
+          });
+          this.proxiedTarget = new Proxy({}, {
+              get: (_target, prop) => {
+                  if (this.target) {
+                      return this.target[prop];
+                  }
+                  else if (prop === 'on') {
+                      return this.proxiedOn;
+                  }
+                  else if (Object.keys(this.fallbacks).includes(prop)) {
+                      return (...args) => {
+                          this.targetQueue.push({
+                              method: prop,
+                              args,
+                              resolve: () => { },
+                          });
+                          return this.fallbacks[prop](...args);
+                      };
+                  }
+                  else {
+                      return (...args) => {
+                          return new Promise(resolve => {
+                              this.targetQueue.push({
+                                  method: prop,
+                                  args,
+                                  resolve,
+                              });
+                          });
+                      };
+                  }
+              },
+          });
+      }
+      async setRealTarget(target) {
+          this.target = target;
+          for (const item of this.onQueue) {
+              this.target.on[item.method](...item.args);
+          }
+          for (const item of this.targetQueue) {
+              item.resolve(await this.target[item.method](...item.args));
+          }
+      }
+  }
+
+  function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
+      const descriptor = pluginDescriptor;
+      const target = getTarget();
+      const hook = getDevtoolsGlobalHook();
+      const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
+      if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
+          hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
+      }
+      else {
+          const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
+          const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
+          list.push({
+              pluginDescriptor: descriptor,
+              setupFn,
+              proxy,
+          });
+          if (proxy)
+              setupFn(proxy.proxiedTarget);
+      }
+  }
+
+  const VueDevToolsLabels = {
+      ["vue-devtools-plugin-vue-i18n" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',
+      ["vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',
+      ["vue-i18n-timeline" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'
+  };
+  const VueDevToolsPlaceholders = {
+      ["vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'
+  };
+  const VueDevToolsTimelineColors = {
+      ["vue-i18n-timeline" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19
+  };
+
+  const VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';
+  let devtoolsApi;
+  async function enableDevTools(app, i18n) {
+      return new Promise((resolve, reject) => {
+          try {
+              setupDevtoolsPlugin({
+                  id: "vue-devtools-plugin-vue-i18n" /* VueDevToolsIDs.PLUGIN */,
+                  label: VueDevToolsLabels["vue-devtools-plugin-vue-i18n" /* VueDevToolsIDs.PLUGIN */],
+                  packageName: 'vue-i18n',
+                  homepage: 'https://vue-i18n.intlify.dev',
+                  logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',
+                  componentStateTypes: [VUE_I18N_COMPONENT_TYPES],
+                  app: app // eslint-disable-line @typescript-eslint/no-explicit-any
+              }, api => {
+                  devtoolsApi = api;
+                  api.on.visitComponentTree(({ componentInstance, treeNode }) => {
+                      updateComponentTreeTags(componentInstance, treeNode, i18n);
+                  });
+                  api.on.inspectComponent(({ componentInstance, instanceData }) => {
+                      if (componentInstance.vnode.el &&
+                          componentInstance.vnode.el.__VUE_I18N__ &&
+                          instanceData) {
+                          if (i18n.mode === 'legacy') {
+                              // ignore global scope on legacy mode
+                              if (componentInstance.vnode.el.__VUE_I18N__ !==
+                                  i18n.global.__composer) {
+                                  inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);
+                              }
+                          }
+                          else {
+                              inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);
+                          }
+                      }
+                  });
+                  api.addInspector({
+                      id: "vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,
+                      label: VueDevToolsLabels["vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],
+                      icon: 'language',
+                      treeFilterPlaceholder: VueDevToolsPlaceholders["vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]
+                  });
+                  api.on.getInspectorTree(payload => {
+                      if (payload.app === app &&
+                          payload.inspectorId === "vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {
+                          registerScope(payload, i18n);
+                      }
+                  });
+                  const roots = new Map();
+                  api.on.getInspectorState(async (payload) => {
+                      if (payload.app === app &&
+                          payload.inspectorId === "vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {
+                          api.unhighlightElement();
+                          inspectScope(payload, i18n);
+                          if (payload.nodeId === 'global') {
+                              if (!roots.has(payload.app)) {
+                                  const [root] = await api.getComponentInstances(payload.app);
+                                  roots.set(payload.app, root);
+                              }
+                              api.highlightElement(roots.get(payload.app));
+                          }
+                          else {
+                              const instance = getComponentInstance(payload.nodeId, i18n);
+                              instance && api.highlightElement(instance);
+                          }
+                      }
+                  });
+                  api.on.editInspectorState(payload => {
+                      if (payload.app === app &&
+                          payload.inspectorId === "vue-i18n-resource-inspector" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {
+                          editScope(payload, i18n);
+                      }
+                  });
+                  api.addTimelineLayer({
+                      id: "vue-i18n-timeline" /* VueDevToolsIDs.TIMELINE */,
+                      label: VueDevToolsLabels["vue-i18n-timeline" /* VueDevToolsIDs.TIMELINE */],
+                      color: VueDevToolsTimelineColors["vue-i18n-timeline" /* VueDevToolsIDs.TIMELINE */]
+                  });
+                  resolve(true);
+              });
+          }
+          catch (e) {
+              console.error(e);
+              reject(false);
+          }
+      });
+  }
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  function getI18nScopeLable(instance) {
+      return (instance.type.name ||
+          instance.type.displayName ||
+          instance.type.__file ||
+          'Anonymous');
+  }
+  function updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any
+  treeNode, i18n) {
+      // prettier-ignore
+      const global = i18n.mode === 'composition'
+          ? i18n.global
+          : i18n.global.__composer;
+      if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {
+          // add custom tags local scope only
+          if (instance.vnode.el.__VUE_I18N__ !== global) {
+              const tag = {
+                  label: `i18n (${getI18nScopeLable(instance)} Scope)`,
+                  textColor: 0x000000,
+                  backgroundColor: 0xffcd19
+              };
+              treeNode.tags.push(tag);
+          }
+      }
+  }
+  function inspectComposer(instanceData, composer) {
+      const type = VUE_I18N_COMPONENT_TYPES;
+      instanceData.state.push({
+          type,
+          key: 'locale',
+          editable: true,
+          value: composer.locale.value
+      });
+      instanceData.state.push({
+          type,
+          key: 'availableLocales',
+          editable: false,
+          value: composer.availableLocales
+      });
+      instanceData.state.push({
+          type,
+          key: 'fallbackLocale',
+          editable: true,
+          value: composer.fallbackLocale.value
+      });
+      instanceData.state.push({
+          type,
+          key: 'inheritLocale',
+          editable: true,
+          value: composer.inheritLocale
+      });
+      instanceData.state.push({
+          type,
+          key: 'messages',
+          editable: false,
+          value: getLocaleMessageValue(composer.messages.value)
+      });
+      {
+          instanceData.state.push({
+              type,
+              key: 'datetimeFormats',
+              editable: false,
+              value: composer.datetimeFormats.value
+          });
+          instanceData.state.push({
+              type,
+              key: 'numberFormats',
+              editable: false,
+              value: composer.numberFormats.value
+          });
+      }
+  }
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  function getLocaleMessageValue(messages) {
+      const value = {};
+      Object.keys(messages).forEach((key) => {
+          const v = messages[key];
+          if (isFunction(v) && 'source' in v) {
+              value[key] = getMessageFunctionDetails(v);
+          }
+          else if (isMessageAST(v) && v.loc && v.loc.source) {
+              value[key] = v.loc.source;
+          }
+          else if (isObject(v)) {
+              value[key] = getLocaleMessageValue(v);
+          }
+          else {
+              value[key] = v;
+          }
+      });
+      return value;
+  }
+  const ESC = {
+      '<': '&lt;',
+      '>': '&gt;',
+      '"': '&quot;',
+      '&': '&amp;'
+  };
+  function escape(s) {
+      return s.replace(/[<>"&]/g, escapeChar);
+  }
+  function escapeChar(a) {
+      return ESC[a] || a;
+  }
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  function getMessageFunctionDetails(func) {
+      const argString = func.source ? `("${escape(func.source)}")` : `(?)`;
+      return {
+          _custom: {
+              type: 'function',
+              display: `<span>ƒ</span> ${argString}`
+          }
+      };
+  }
+  function registerScope(payload, i18n) {
+      payload.rootNodes.push({
+          id: 'global',
+          label: 'Global Scope'
+      });
+      // prettier-ignore
+      const global = i18n.mode === 'composition'
+          ? i18n.global
+          : i18n.global.__composer;
+      for (const [keyInstance, instance] of i18n.__instances) {
+          // prettier-ignore
+          const composer = i18n.mode === 'composition'
+              ? instance
+              : instance.__composer;
+          if (global === composer) {
+              continue;
+          }
+          payload.rootNodes.push({
+              id: composer.id.toString(),
+              label: `${getI18nScopeLable(keyInstance)} Scope`
+          });
+      }
+  }
+  function getComponentInstance(nodeId, i18n) {
+      let instance = null;
+      if (nodeId !== 'global') {
+          for (const [component, composer] of i18n.__instances.entries()) {
+              if (composer.id.toString() === nodeId) {
+                  instance = component;
+                  break;
+              }
+          }
+      }
+      return instance;
+  }
+  function getComposer$1(nodeId, i18n) {
+      if (nodeId === 'global') {
+          return i18n.mode === 'composition'
+              ? i18n.global
+              : i18n.global.__composer;
+      }
+      else {
+          const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);
+          if (instance) {
+              return i18n.mode === 'composition'
+                  ? instance
+                  : instance.__composer;
+          }
+          else {
+              return null;
+          }
+      }
+  }
+  function inspectScope(payload, i18n
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  ) {
+      const composer = getComposer$1(payload.nodeId, i18n);
+      if (composer) {
+          // TODO:
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          payload.state = makeScopeInspectState(composer);
+      }
+      return null;
+  }
+  function makeScopeInspectState(composer) {
+      const state = {};
+      const localeType = 'Locale related info';
+      const localeStates = [
+          {
+              type: localeType,
+              key: 'locale',
+              editable: true,
+              value: composer.locale.value
+          },
+          {
+              type: localeType,
+              key: 'fallbackLocale',
+              editable: true,
+              value: composer.fallbackLocale.value
+          },
+          {
+              type: localeType,
+              key: 'availableLocales',
+              editable: false,
+              value: composer.availableLocales
+          },
+          {
+              type: localeType,
+              key: 'inheritLocale',
+              editable: true,
+              value: composer.inheritLocale
+          }
+      ];
+      state[localeType] = localeStates;
+      const localeMessagesType = 'Locale messages info';
+      const localeMessagesStates = [
+          {
+              type: localeMessagesType,
+              key: 'messages',
+              editable: false,
+              value: getLocaleMessageValue(composer.messages.value)
+          }
+      ];
+      state[localeMessagesType] = localeMessagesStates;
+      {
+          const datetimeFormatsType = 'Datetime formats info';
+          const datetimeFormatsStates = [
+              {
+                  type: datetimeFormatsType,
+                  key: 'datetimeFormats',
+                  editable: false,
+                  value: composer.datetimeFormats.value
+              }
+          ];
+          state[datetimeFormatsType] = datetimeFormatsStates;
+          const numberFormatsType = 'Datetime formats info';
+          const numberFormatsStates = [
+              {
+                  type: numberFormatsType,
+                  key: 'numberFormats',
+                  editable: false,
+                  value: composer.numberFormats.value
+              }
+          ];
+          state[numberFormatsType] = numberFormatsStates;
+      }
+      return state;
+  }
+  function addTimelineEvent(event, payload) {
+      if (devtoolsApi) {
+          let groupId;
+          if (payload && 'groupId' in payload) {
+              groupId = payload.groupId;
+              delete payload.groupId;
+          }
+          devtoolsApi.addTimelineEvent({
+              layerId: "vue-i18n-timeline" /* VueDevToolsIDs.TIMELINE */,
+              event: {
+                  title: event,
+                  groupId,
+                  time: Date.now(),
+                  meta: {},
+                  data: payload || {},
+                  logType: event === "compile-error" /* VueDevToolsTimelineEvents.COMPILE_ERROR */
+                      ? 'error'
+                      : event === "fallback" /* VueDevToolsTimelineEvents.FALBACK */ ||
+                          event === "missing" /* VueDevToolsTimelineEvents.MISSING */
+                          ? 'warning'
+                          : 'default'
+              }
+          });
+      }
+  }
+  function editScope(payload, i18n) {
+      const composer = getComposer$1(payload.nodeId, i18n);
+      if (composer) {
+          const [field] = payload.path;
+          if (field === 'locale' && isString(payload.state.value)) {
+              composer.locale.value = payload.state.value;
+          }
+          else if (field === 'fallbackLocale' &&
+              (isString(payload.state.value) ||
+                  isArray(payload.state.value) ||
+                  isObject(payload.state.value))) {
+              composer.fallbackLocale.value = payload.state.value;
+          }
+          else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {
+              composer.inheritLocale = payload.state.value;
+          }
+      }
+  }
+
+  /**
+   * Supports compatibility for legacy vue-i18n APIs
+   * This mixin is used when we use vue-i18n@v9.x or later
+   */
+  function defineMixin(vuei18n, composer, i18n) {
+      return {
+          beforeCreate() {
+              const instance = vue.getCurrentInstance();
+              /* istanbul ignore if */
+              if (!instance) {
+                  throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+              }
+              const options = this.$options;
+              if (options.i18n) {
+                  const optionsI18n = options.i18n;
+                  if (options.__i18n) {
+                      optionsI18n.__i18n = options.__i18n;
+                  }
+                  optionsI18n.__root = composer;
+                  if (this === this.$root) {
+                      // merge option and gttach global
+                      this.$i18n = mergeToGlobal(vuei18n, optionsI18n);
+                  }
+                  else {
+                      optionsI18n.__injectWithOption = true;
+                      optionsI18n.__extender = i18n.__vueI18nExtend;
+                      // atttach local VueI18n instance
+                      this.$i18n = createVueI18n(optionsI18n);
+                      // extend VueI18n instance
+                      const _vueI18n = this.$i18n;
+                      if (_vueI18n.__extender) {
+                          _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);
+                      }
+                  }
+              }
+              else if (options.__i18n) {
+                  if (this === this.$root) {
+                      // merge option and gttach global
+                      this.$i18n = mergeToGlobal(vuei18n, options);
+                  }
+                  else {
+                      // atttach local VueI18n instance
+                      this.$i18n = createVueI18n({
+                          __i18n: options.__i18n,
+                          __injectWithOption: true,
+                          __extender: i18n.__vueI18nExtend,
+                          __root: composer
+                      });
+                      // extend VueI18n instance
+                      const _vueI18n = this.$i18n;
+                      if (_vueI18n.__extender) {
+                          _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);
+                      }
+                  }
+              }
+              else {
+                  // attach global VueI18n instance
+                  this.$i18n = vuei18n;
+              }
+              if (options.__i18nGlobal) {
+                  adjustI18nResources(composer, options, options);
+              }
+              // defines vue-i18n legacy APIs
+              this.$t = (...args) => this.$i18n.t(...args);
+              this.$rt = (...args) => this.$i18n.rt(...args);
+              this.$tc = (...args) => this.$i18n.tc(...args);
+              this.$te = (key, locale) => this.$i18n.te(key, locale);
+              this.$d = (...args) => this.$i18n.d(...args);
+              this.$n = (...args) => this.$i18n.n(...args);
+              this.$tm = (key) => this.$i18n.tm(key);
+              i18n.__setInstance(instance, this.$i18n);
+          },
+          mounted() {
+              /* istanbul ignore if */
+              if (this.$el &&
+                  this.$i18n) {
+                  const _vueI18n = this.$i18n;
+                  this.$el.__VUE_I18N__ = _vueI18n.__composer;
+                  const emitter = (this.__v_emitter =
+                      createEmitter());
+                  _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);
+                  emitter.on('*', addTimelineEvent);
+              }
+          },
+          unmounted() {
+              const instance = vue.getCurrentInstance();
+              /* istanbul ignore if */
+              if (!instance) {
+                  throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+              }
+              const _vueI18n = this.$i18n;
+              /* istanbul ignore if */
+              if (this.$el &&
+                  this.$el.__VUE_I18N__) {
+                  if (this.__v_emitter) {
+                      this.__v_emitter.off('*', addTimelineEvent);
+                      delete this.__v_emitter;
+                  }
+                  if (this.$i18n) {
+                      _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();
+                      delete this.$el.__VUE_I18N__;
+                  }
+              }
+              delete this.$t;
+              delete this.$rt;
+              delete this.$tc;
+              delete this.$te;
+              delete this.$d;
+              delete this.$n;
+              delete this.$tm;
+              if (_vueI18n.__disposer) {
+                  _vueI18n.__disposer();
+                  delete _vueI18n.__disposer;
+                  delete _vueI18n.__extender;
+              }
+              i18n.__deleteInstance(instance);
+              delete this.$i18n;
+          }
+      };
+  }
+  function mergeToGlobal(g, options) {
+      g.locale = options.locale || g.locale;
+      g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;
+      g.missing = options.missing || g.missing;
+      g.silentTranslationWarn =
+          options.silentTranslationWarn || g.silentFallbackWarn;
+      g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;
+      g.formatFallbackMessages =
+          options.formatFallbackMessages || g.formatFallbackMessages;
+      g.postTranslation = options.postTranslation || g.postTranslation;
+      g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;
+      g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;
+      g.sync = options.sync || g.sync;
+      g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);
+      const messages = getLocaleMessages(g.locale, {
+          messages: options.messages,
+          __i18n: options.__i18n
+      });
+      Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));
+      if (options.datetimeFormats) {
+          Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));
+      }
+      if (options.numberFormats) {
+          Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));
+      }
+      return g;
+  }
+
+  /**
+   * Injection key for {@link useI18n}
+   *
+   * @remarks
+   * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.
+   * Specify the i18n instance created by {@link createI18n} together with `provide` function.
+   *
+   * @VueI18nGeneral
+   */
+  const I18nInjectionKey =
+  /* #__PURE__*/ makeSymbol('global-vue-i18n');
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
+  function createI18n(options = {}, VueI18nLegacy) {
+      // prettier-ignore
+      const __legacyMode = isBoolean(options.legacy)
+              ? options.legacy
+              : true;
+      // prettier-ignore
+      const __globalInjection = isBoolean(options.globalInjection)
+          ? options.globalInjection
+          : true;
+      // prettier-ignore
+      const __allowComposition = __legacyMode
+              ? !!options.allowComposition
+              : true;
+      const __instances = new Map();
+      const [globalScope, __global] = createGlobal(options, __legacyMode);
+      const symbol = /* #__PURE__*/ makeSymbol('vue-i18n' );
+      {
+          if (__legacyMode && __allowComposition && !false) {
+              warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));
+          }
+      }
+      function __getInstance(component) {
+          return __instances.get(component) || null;
+      }
+      function __setInstance(component, instance) {
+          __instances.set(component, instance);
+      }
+      function __deleteInstance(component) {
+          __instances.delete(component);
+      }
+      {
+          const i18n = {
+              // mode
+              get mode() {
+                  return __legacyMode
+                      ? 'legacy'
+                      : 'composition';
+              },
+              // allowComposition
+              get allowComposition() {
+                  return __allowComposition;
+              },
+              // install plugin
+              async install(app, ...options) {
+                  {
+                      app.__VUE_I18N__ = i18n;
+                  }
+                  // setup global provider
+                  app.__VUE_I18N_SYMBOL__ = symbol;
+                  app.provide(app.__VUE_I18N_SYMBOL__, i18n);
+                  // set composer & vuei18n extend hook options from plugin options
+                  if (isPlainObject(options[0])) {
+                      const opts = options[0];
+                      i18n.__composerExtend =
+                          opts.__composerExtend;
+                      i18n.__vueI18nExtend =
+                          opts.__vueI18nExtend;
+                  }
+                  // global method and properties injection for Composition API
+                  let globalReleaseHandler = null;
+                  if (!__legacyMode && __globalInjection) {
+                      globalReleaseHandler = injectGlobalFields(app, i18n.global);
+                  }
+                  // install built-in components and directive
+                  {
+                      apply(app, i18n, ...options);
+                  }
+                  // setup mixin for Legacy API
+                  if (__legacyMode) {
+                      app.mixin(defineMixin(__global, __global.__composer, i18n));
+                  }
+                  // release global scope
+                  const unmountApp = app.unmount;
+                  app.unmount = () => {
+                      globalReleaseHandler && globalReleaseHandler();
+                      i18n.dispose();
+                      unmountApp();
+                  };
+                  // setup vue-devtools plugin
+                  {
+                      const ret = await enableDevTools(app, i18n);
+                      if (!ret) {
+                          throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);
+                      }
+                      const emitter = createEmitter();
+                      if (__legacyMode) {
+                          const _vueI18n = __global;
+                          _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);
+                      }
+                      else {
+                          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+                          const _composer = __global;
+                          _composer[EnableEmitter] && _composer[EnableEmitter](emitter);
+                      }
+                      emitter.on('*', addTimelineEvent);
+                  }
+              },
+              // global accessor
+              get global() {
+                  return __global;
+              },
+              dispose() {
+                  globalScope.stop();
+              },
+              // @internal
+              __instances,
+              // @internal
+              __getInstance,
+              // @internal
+              __setInstance,
+              // @internal
+              __deleteInstance
+          };
+          return i18n;
+      }
+  }
+  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+  function useI18n(options = {}) {
+      const instance = vue.getCurrentInstance();
+      if (instance == null) {
+          throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);
+      }
+      if (!instance.isCE &&
+          instance.appContext.app != null &&
+          !instance.appContext.app.__VUE_I18N_SYMBOL__) {
+          throw createI18nError(I18nErrorCodes.NOT_INSTALLED);
+      }
+      const i18n = getI18nInstance(instance);
+      const gl = getGlobalComposer(i18n);
+      const componentOptions = getComponentOptions(instance);
+      const scope = getScope(options, componentOptions);
+      {
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          if (i18n.mode === 'legacy' && !options.__useComponent) {
+              if (!i18n.allowComposition) {
+                  throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);
+              }
+              return useI18nForLegacy(instance, scope, gl, options);
+          }
+      }
+      if (scope === 'global') {
+          adjustI18nResources(gl, options, componentOptions);
+          return gl;
+      }
+      if (scope === 'parent') {
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          let composer = getComposer(i18n, instance, options.__useComponent);
+          if (composer == null) {
+              {
+                  warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));
+              }
+              composer = gl;
+          }
+          return composer;
+      }
+      const i18nInternal = i18n;
+      let composer = i18nInternal.__getInstance(instance);
+      if (composer == null) {
+          const composerOptions = assign({}, options);
+          if ('__i18n' in componentOptions) {
+              composerOptions.__i18n = componentOptions.__i18n;
+          }
+          if (gl) {
+              composerOptions.__root = gl;
+          }
+          composer = createComposer(composerOptions);
+          if (i18nInternal.__composerExtend) {
+              composer[DisposeSymbol] =
+                  i18nInternal.__composerExtend(composer);
+          }
+          setupLifeCycle(i18nInternal, instance, composer);
+          i18nInternal.__setInstance(instance, composer);
+      }
+      return composer;
+  }
+  /**
+   * Cast to VueI18n legacy compatible type
+   *
+   * @remarks
+   * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).
+   *
+   * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.
+   *
+   * @param i18n - An instance of {@link I18n}
+   * @returns A i18n instance which is casted to {@link VueI18n} type
+   *
+   * @VueI18nTip
+   * :new: provided by **vue-i18n-bridge only**
+   *
+   * @VueI18nGeneral
+   */
+  const castToVueI18n = /* #__PURE__*/ (i18n
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  ) => {
+      if (!(__VUE_I18N_BRIDGE__ in i18n)) {
+          throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);
+      }
+      return i18n;
+  };
+  function createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any
+  ) {
+      const scope = vue.effectScope();
+      {
+          const obj = legacyMode
+              ? scope.run(() => createVueI18n(options))
+              : scope.run(() => createComposer(options));
+          if (obj == null) {
+              throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+          }
+          return [scope, obj];
+      }
+  }
+  function getI18nInstance(instance) {
+      {
+          const i18n = vue.inject(!instance.isCE
+              ? instance.appContext.app.__VUE_I18N_SYMBOL__
+              : I18nInjectionKey);
+          /* istanbul ignore if */
+          if (!i18n) {
+              throw createI18nError(!instance.isCE
+                  ? I18nErrorCodes.UNEXPECTED_ERROR
+                  : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);
+          }
+          return i18n;
+      }
+  }
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  function getScope(options, componentOptions) {
+      // prettier-ignore
+      return isEmptyObject(options)
+          ? ('__i18n' in componentOptions)
+              ? 'local'
+              : 'global'
+          : !options.useScope
+              ? 'local'
+              : options.useScope;
+  }
+  function getGlobalComposer(i18n) {
+      // prettier-ignore
+      return i18n.mode === 'composition'
+              ? i18n.global
+              : i18n.global.__composer
+          ;
+  }
+  function getComposer(i18n, target, useComponent = false) {
+      let composer = null;
+      const root = target.root;
+      let current = getParentComponentInstance(target, useComponent);
+      while (current != null) {
+          const i18nInternal = i18n;
+          if (i18n.mode === 'composition') {
+              composer = i18nInternal.__getInstance(current);
+          }
+          else {
+              {
+                  const vueI18n = i18nInternal.__getInstance(current);
+                  if (vueI18n != null) {
+                      composer = vueI18n
+                          .__composer;
+                      if (useComponent &&
+                          composer &&
+                          !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any
+                      ) {
+                          composer = null;
+                      }
+                  }
+              }
+          }
+          if (composer != null) {
+              break;
+          }
+          if (root === current) {
+              break;
+          }
+          current = current.parent;
+      }
+      return composer;
+  }
+  function getParentComponentInstance(target, useComponent = false) {
+      if (target == null) {
+          return null;
+      }
+      {
+          // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots
+          return !useComponent
+              ? target.parent
+              : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any
+      }
+  }
+  function setupLifeCycle(i18n, target, composer) {
+      let emitter = null;
+      {
+          vue.onMounted(() => {
+              // inject composer instance to DOM for intlify-devtools
+              if (target.vnode.el) {
+                  target.vnode.el.__VUE_I18N__ = composer;
+                  emitter = createEmitter();
+                  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+                  const _composer = composer;
+                  _composer[EnableEmitter] && _composer[EnableEmitter](emitter);
+                  emitter.on('*', addTimelineEvent);
+              }
+          }, target);
+          vue.onUnmounted(() => {
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              const _composer = composer;
+              // remove composer instance from DOM for intlify-devtools
+              if (target.vnode.el &&
+                  target.vnode.el.__VUE_I18N__) {
+                  emitter && emitter.off('*', addTimelineEvent);
+                  _composer[DisableEmitter] && _composer[DisableEmitter]();
+                  delete target.vnode.el.__VUE_I18N__;
+              }
+              i18n.__deleteInstance(target);
+              // dispose extended resources
+              const dispose = _composer[DisposeSymbol];
+              if (dispose) {
+                  dispose();
+                  delete _composer[DisposeSymbol];
+              }
+          }, target);
+      }
+  }
+  function useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any
+  ) {
+      const isLocalScope = scope === 'local';
+      const _composer = vue.shallowRef(null);
+      if (isLocalScope &&
+          instance.proxy &&
+          !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {
+          throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);
+      }
+      const _inheritLocale = isBoolean(options.inheritLocale)
+          ? options.inheritLocale
+          : !isString(options.locale);
+      const _locale = vue.ref(
+      // prettier-ignore
+      !isLocalScope || _inheritLocale
+          ? root.locale.value
+          : isString(options.locale)
+              ? options.locale
+              : DEFAULT_LOCALE);
+      const _fallbackLocale = vue.ref(
+      // prettier-ignore
+      !isLocalScope || _inheritLocale
+          ? root.fallbackLocale.value
+          : isString(options.fallbackLocale) ||
+              isArray(options.fallbackLocale) ||
+              isPlainObject(options.fallbackLocale) ||
+              options.fallbackLocale === false
+              ? options.fallbackLocale
+              : _locale.value);
+      const _messages = vue.ref(getLocaleMessages(_locale.value, options));
+      // prettier-ignore
+      const _datetimeFormats = vue.ref(isPlainObject(options.datetimeFormats)
+          ? options.datetimeFormats
+          : { [_locale.value]: {} });
+      // prettier-ignore
+      const _numberFormats = vue.ref(isPlainObject(options.numberFormats)
+          ? options.numberFormats
+          : { [_locale.value]: {} });
+      // prettier-ignore
+      const _missingWarn = isLocalScope
+          ? root.missingWarn
+          : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)
+              ? options.missingWarn
+              : true;
+      // prettier-ignore
+      const _fallbackWarn = isLocalScope
+          ? root.fallbackWarn
+          : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)
+              ? options.fallbackWarn
+              : true;
+      // prettier-ignore
+      const _fallbackRoot = isLocalScope
+          ? root.fallbackRoot
+          : isBoolean(options.fallbackRoot)
+              ? options.fallbackRoot
+              : true;
+      // configure fall back to root
+      const _fallbackFormat = !!options.fallbackFormat;
+      // runtime missing
+      const _missing = isFunction(options.missing) ? options.missing : null;
+      // postTranslation handler
+      const _postTranslation = isFunction(options.postTranslation)
+          ? options.postTranslation
+          : null;
+      // prettier-ignore
+      const _warnHtmlMessage = isLocalScope
+          ? root.warnHtmlMessage
+          : isBoolean(options.warnHtmlMessage)
+              ? options.warnHtmlMessage
+              : true;
+      const _escapeParameter = !!options.escapeParameter;
+      // prettier-ignore
+      const _modifiers = isLocalScope
+          ? root.modifiers
+          : isPlainObject(options.modifiers)
+              ? options.modifiers
+              : {};
+      // pluralRules
+      const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);
+      // track reactivity
+      function trackReactivityValues() {
+          return [
+              _locale.value,
+              _fallbackLocale.value,
+              _messages.value,
+              _datetimeFormats.value,
+              _numberFormats.value
+          ];
+      }
+      // locale
+      const locale = vue.computed({
+          get: () => {
+              return _composer.value ? _composer.value.locale.value : _locale.value;
+          },
+          set: val => {
+              if (_composer.value) {
+                  _composer.value.locale.value = val;
+              }
+              _locale.value = val;
+          }
+      });
+      // fallbackLocale
+      const fallbackLocale = vue.computed({
+          get: () => {
+              return _composer.value
+                  ? _composer.value.fallbackLocale.value
+                  : _fallbackLocale.value;
+          },
+          set: val => {
+              if (_composer.value) {
+                  _composer.value.fallbackLocale.value = val;
+              }
+              _fallbackLocale.value = val;
+          }
+      });
+      // messages
+      const messages = vue.computed(() => {
+          if (_composer.value) {
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              return _composer.value.messages.value;
+          }
+          else {
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              return _messages.value;
+          }
+      });
+      const datetimeFormats = vue.computed(() => _datetimeFormats.value);
+      const numberFormats = vue.computed(() => _numberFormats.value);
+      function getPostTranslationHandler() {
+          return _composer.value
+              ? _composer.value.getPostTranslationHandler()
+              : _postTranslation;
+      }
+      function setPostTranslationHandler(handler) {
+          if (_composer.value) {
+              _composer.value.setPostTranslationHandler(handler);
+          }
+      }
+      function getMissingHandler() {
+          return _composer.value ? _composer.value.getMissingHandler() : _missing;
+      }
+      function setMissingHandler(handler) {
+          if (_composer.value) {
+              _composer.value.setMissingHandler(handler);
+          }
+      }
+      function warpWithDeps(fn) {
+          trackReactivityValues();
+          return fn();
+      }
+      function t(...args) {
+          return _composer.value
+              ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))
+              : warpWithDeps(() => '');
+      }
+      function rt(...args) {
+          return _composer.value
+              ? Reflect.apply(_composer.value.rt, null, [...args])
+              : '';
+      }
+      function d(...args) {
+          return _composer.value
+              ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))
+              : warpWithDeps(() => '');
+      }
+      function n(...args) {
+          return _composer.value
+              ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))
+              : warpWithDeps(() => '');
+      }
+      function tm(key) {
+          return _composer.value ? _composer.value.tm(key) : {};
+      }
+      function te(key, locale) {
+          return _composer.value ? _composer.value.te(key, locale) : false;
+      }
+      function getLocaleMessage(locale) {
+          return _composer.value ? _composer.value.getLocaleMessage(locale) : {};
+      }
+      function setLocaleMessage(locale, message) {
+          if (_composer.value) {
+              _composer.value.setLocaleMessage(locale, message);
+              _messages.value[locale] = message;
+          }
+      }
+      function mergeLocaleMessage(locale, message) {
+          if (_composer.value) {
+              _composer.value.mergeLocaleMessage(locale, message);
+          }
+      }
+      function getDateTimeFormat(locale) {
+          return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};
+      }
+      function setDateTimeFormat(locale, format) {
+          if (_composer.value) {
+              _composer.value.setDateTimeFormat(locale, format);
+              _datetimeFormats.value[locale] = format;
+          }
+      }
+      function mergeDateTimeFormat(locale, format) {
+          if (_composer.value) {
+              _composer.value.mergeDateTimeFormat(locale, format);
+          }
+      }
+      function getNumberFormat(locale) {
+          return _composer.value ? _composer.value.getNumberFormat(locale) : {};
+      }
+      function setNumberFormat(locale, format) {
+          if (_composer.value) {
+              _composer.value.setNumberFormat(locale, format);
+              _numberFormats.value[locale] = format;
+          }
+      }
+      function mergeNumberFormat(locale, format) {
+          if (_composer.value) {
+              _composer.value.mergeNumberFormat(locale, format);
+          }
+      }
+      const wrapper = {
+          get id() {
+              return _composer.value ? _composer.value.id : -1;
+          },
+          locale,
+          fallbackLocale,
+          messages,
+          datetimeFormats,
+          numberFormats,
+          get inheritLocale() {
+              return _composer.value ? _composer.value.inheritLocale : _inheritLocale;
+          },
+          set inheritLocale(val) {
+              if (_composer.value) {
+                  _composer.value.inheritLocale = val;
+              }
+          },
+          get availableLocales() {
+              return _composer.value
+                  ? _composer.value.availableLocales
+                  : Object.keys(_messages.value);
+          },
+          get modifiers() {
+              return (_composer.value ? _composer.value.modifiers : _modifiers);
+          },
+          get pluralRules() {
+              return (_composer.value ? _composer.value.pluralRules : _pluralRules);
+          },
+          get isGlobal() {
+              return _composer.value ? _composer.value.isGlobal : false;
+          },
+          get missingWarn() {
+              return _composer.value ? _composer.value.missingWarn : _missingWarn;
+          },
+          set missingWarn(val) {
+              if (_composer.value) {
+                  _composer.value.missingWarn = val;
+              }
+          },
+          get fallbackWarn() {
+              return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;
+          },
+          set fallbackWarn(val) {
+              if (_composer.value) {
+                  _composer.value.missingWarn = val;
+              }
+          },
+          get fallbackRoot() {
+              return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;
+          },
+          set fallbackRoot(val) {
+              if (_composer.value) {
+                  _composer.value.fallbackRoot = val;
+              }
+          },
+          get fallbackFormat() {
+              return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;
+          },
+          set fallbackFormat(val) {
+              if (_composer.value) {
+                  _composer.value.fallbackFormat = val;
+              }
+          },
+          get warnHtmlMessage() {
+              return _composer.value
+                  ? _composer.value.warnHtmlMessage
+                  : _warnHtmlMessage;
+          },
+          set warnHtmlMessage(val) {
+              if (_composer.value) {
+                  _composer.value.warnHtmlMessage = val;
+              }
+          },
+          get escapeParameter() {
+              return _composer.value
+                  ? _composer.value.escapeParameter
+                  : _escapeParameter;
+          },
+          set escapeParameter(val) {
+              if (_composer.value) {
+                  _composer.value.escapeParameter = val;
+              }
+          },
+          t,
+          getPostTranslationHandler,
+          setPostTranslationHandler,
+          getMissingHandler,
+          setMissingHandler,
+          rt,
+          d,
+          n,
+          tm,
+          te,
+          getLocaleMessage,
+          setLocaleMessage,
+          mergeLocaleMessage,
+          getDateTimeFormat,
+          setDateTimeFormat,
+          mergeDateTimeFormat,
+          getNumberFormat,
+          setNumberFormat,
+          mergeNumberFormat
+      };
+      function sync(composer) {
+          composer.locale.value = _locale.value;
+          composer.fallbackLocale.value = _fallbackLocale.value;
+          Object.keys(_messages.value).forEach(locale => {
+              composer.mergeLocaleMessage(locale, _messages.value[locale]);
+          });
+          Object.keys(_datetimeFormats.value).forEach(locale => {
+              composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);
+          });
+          Object.keys(_numberFormats.value).forEach(locale => {
+              composer.mergeNumberFormat(locale, _numberFormats.value[locale]);
+          });
+          composer.escapeParameter = _escapeParameter;
+          composer.fallbackFormat = _fallbackFormat;
+          composer.fallbackRoot = _fallbackRoot;
+          composer.fallbackWarn = _fallbackWarn;
+          composer.missingWarn = _missingWarn;
+          composer.warnHtmlMessage = _warnHtmlMessage;
+      }
+      vue.onBeforeMount(() => {
+          if (instance.proxy == null || instance.proxy.$i18n == null) {
+              throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);
+          }
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          const composer = (_composer.value = instance.proxy.$i18n
+              .__composer);
+          if (scope === 'global') {
+              _locale.value = composer.locale.value;
+              _fallbackLocale.value = composer.fallbackLocale.value;
+              _messages.value = composer.messages.value;
+              _datetimeFormats.value = composer.datetimeFormats.value;
+              _numberFormats.value = composer.numberFormats.value;
+          }
+          else if (isLocalScope) {
+              sync(composer);
+          }
+      });
+      return wrapper;
+  }
+  const globalExportProps = [
+      'locale',
+      'fallbackLocale',
+      'availableLocales'
+  ];
+  const globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']
+      ;
+  function injectGlobalFields(app, composer) {
+      const i18n = Object.create(null);
+      globalExportProps.forEach(prop => {
+          const desc = Object.getOwnPropertyDescriptor(composer, prop);
+          if (!desc) {
+              throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+          }
+          const wrap = vue.isRef(desc.value) // check computed props
+              ? {
+                  get() {
+                      return desc.value.value;
+                  },
+                  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+                  set(val) {
+                      desc.value.value = val;
+                  }
+              }
+              : {
+                  get() {
+                      return desc.get && desc.get();
+                  }
+              };
+          Object.defineProperty(i18n, prop, wrap);
+      });
+      app.config.globalProperties.$i18n = i18n;
+      globalExportMethods.forEach(method => {
+          const desc = Object.getOwnPropertyDescriptor(composer, method);
+          if (!desc || !desc.value) {
+              throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+          }
+          Object.defineProperty(app.config.globalProperties, `$${method}`, desc);
+      });
+      const dispose = () => {
+          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          delete app.config.globalProperties.$i18n;
+          globalExportMethods.forEach(method => {
+              // eslint-disable-next-line @typescript-eslint/no-explicit-any
+              delete app.config.globalProperties[`$${method}`];
+          });
+      };
+      return dispose;
+  }
+
+  // register message compiler at vue-i18n
+  {
+      registerMessageCompiler(compile);
+  }
+  // register message resolver at vue-i18n
+  registerMessageResolver(resolveValue);
+  // register fallback locale at vue-i18n
+  registerLocaleFallbacker(fallbackWithLocaleChain);
+  // NOTE: experimental !!
+  {
+      const target = getGlobalThis();
+      target.__INTLIFY__ = true;
+      setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);
+  }
+  {
+      initDev();
+  }
+
+  exports.DatetimeFormat = DatetimeFormat;
+  exports.I18nD = I18nD;
+  exports.I18nInjectionKey = I18nInjectionKey;
+  exports.I18nN = I18nN;
+  exports.I18nT = I18nT;
+  exports.NumberFormat = NumberFormat;
+  exports.Translation = Translation;
+  exports.VERSION = VERSION;
+  exports.castToVueI18n = castToVueI18n;
+  exports.createI18n = createI18n;
+  exports.useI18n = useI18n;
+  exports.vTDirective = vTDirective;
+
+  return exports;
+
+})({}, Vue);
diff --git a/src/cdh/vue3/static/cdh.vue3/vue/vue-i18n.global.prod.js b/src/cdh/vue3/static/cdh.vue3/vue/vue-i18n.global.prod.js
new file mode 100644
index 00000000..c00716a6
--- /dev/null
+++ b/src/cdh/vue3/static/cdh.vue3/vue/vue-i18n.global.prod.js
@@ -0,0 +1,6 @@
+/*!
+  * vue-i18n v9.5.0
+  * (c) 2023 kazuya kawaguchi
+  * Released under the MIT License.
+  */
+var VueI18n=function(e,t){"use strict";const n="undefined"!=typeof window,r=(e,t=!1)=>t?Symbol.for(e):Symbol(e),a=(e,t,n)=>l({l:e,k:t,s:n}),l=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),o=e=>"number"==typeof e&&isFinite(e),s=e=>"[object Date]"===k(e),c=e=>"[object RegExp]"===k(e),u=e=>h(e)&&0===Object.keys(e).length,i=Object.assign;function f(e){return e.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}const m=Object.prototype.hasOwnProperty;function _(e,t){return m.call(e,t)}const p=Array.isArray,d=e=>"function"==typeof e,g=e=>"string"==typeof e,E=e=>"boolean"==typeof e,v=e=>null!==e&&"object"==typeof e,b=Object.prototype.toString,k=e=>b.call(e),h=e=>{if(!v(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object};function L(e,t=""){return e.reduce(((e,n,r)=>0===r?e+n:e+t+n),"")}function N(e){let t=e;return()=>++t}function T(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}function y(e,t,n){const r={start:e,end:t};return null!=n&&(r.source=n),r}const I={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17};function C(e,t,n={}){const{domain:r,messages:a,args:l}=n,o=new SyntaxError(String(e));return o.code=e,t&&(o.location=t),o.domain=r,o}function O(e){throw e}const A=" ",P="\r",F="\n",R=String.fromCharCode(8232),D=String.fromCharCode(8233);function S(e){const t=e;let n=0,r=1,a=1,l=0;const o=e=>t[e]===P&&t[e+1]===F,s=e=>t[e]===D,c=e=>t[e]===R,u=e=>o(e)||(e=>t[e]===F)(e)||s(e)||c(e),i=e=>o(e)||s(e)||c(e)?F:t[e];function f(){return l=0,u(n)&&(r++,a=0),o(n)&&n++,n++,a++,t[n]}return{index:()=>n,line:()=>r,column:()=>a,peekOffset:()=>l,charAt:i,currentChar:()=>i(n),currentPeek:()=>i(n+l),next:f,peek:function(){return o(n+l)&&l++,l++,t[n+l]},reset:function(){n=0,r=1,a=1,l=0},resetPeek:function(e=0){l=e},skipToPeek:function(){const e=n+l;for(;e!==n;)f();l=0}}}const M=void 0,w=".",x="'";function W(e,t={}){const n=!1!==t.location,r=S(e),a=()=>r.index(),l=()=>{return e=r.line(),t=r.column(),n=r.index(),{line:e,column:t,offset:n};var e,t,n},o=l(),s=a(),c={currentType:14,offset:s,startLoc:o,endLoc:o,lastType:14,lastOffset:s,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},u=()=>c,{onError:i}=t;function f(e,t,r){e.endLoc=l(),e.currentType=t;const a={type:t};return n&&(a.loc=y(e.startLoc,e.endLoc)),null!=r&&(a.value=r),a}const m=e=>f(e,14);function _(e,t){return e.currentChar()===t?(e.next(),t):(I.EXPECTED_TOKEN,l(),"")}function p(e){let t="";for(;e.currentPeek()===A||e.currentPeek()===F;)t+=e.currentPeek(),e.peek();return t}function d(e){const t=p(e);return e.skipToPeek(),t}function g(e){if(e===M)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function E(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const r=function(e){if(e===M)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),r}function v(e){p(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function b(e,t=!0){const n=(t=!1,r="",a=!1)=>{const l=e.currentPeek();return"{"===l?"%"!==r&&t:"@"!==l&&l?"%"===l?(e.peek(),n(t,"%",!0)):"|"===l?!("%"!==r&&!a)||!(r===A||r===F):l===A?(e.peek(),n(!0,A,a)):l!==F||(e.peek(),n(!0,F,a)):"%"===r||t},r=n();return t&&e.resetPeek(),r}function k(e,t){const n=e.currentChar();return n===M?M:t(n)?(e.next(),n):null}function h(e){return k(e,(e=>{const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}))}function L(e){return k(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57}))}function N(e){return k(e,(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}))}function T(e){let t="",n="";for(;t=L(e);)n+=t;return n}function C(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!b(e))break;t+=n,e.next()}else if(n===A||n===F)if(b(e))t+=n,e.next();else{if(v(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function O(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return P(e,t,4);case"U":return P(e,t,6);default:return I.UNKNOWN_ESCAPE_SEQUENCE,l(),""}}function P(e,t,n){_(e,t);let r="";for(let a=0;a<n;a++){const t=N(e);if(!t){I.INVALID_UNICODE_ESCAPE_SEQUENCE,l(),e.currentChar();break}r+=t}return`\\${t}${r}`}function R(e){d(e);const t=_(e,"|");return d(e),t}function D(e,t){let n=null;switch(e.currentChar()){case"{":return t.braceNest>=1&&(I.NOT_ALLOW_NEST_PLACEHOLDER,l()),e.next(),n=f(t,2,"{"),d(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(I.EMPTY_PLACEHOLDER,l()),e.next(),n=f(t,3,"}"),t.braceNest--,t.braceNest>0&&d(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(I.UNTERMINATED_CLOSING_BRACE,l()),n=W(e,t)||m(t),t.braceNest=0,n;default:let r=!0,a=!0,o=!0;if(v(e))return t.braceNest>0&&(I.UNTERMINATED_CLOSING_BRACE,l()),n=f(t,1,R(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return I.UNTERMINATED_CLOSING_BRACE,l(),t.braceNest=0,U(e,t);if(r=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const r=g(e.currentPeek());return e.resetPeek(),r}(e,t))return n=f(t,5,function(e){d(e);let t="",n="";for(;t=h(e);)n+=t;return e.currentChar()===M&&(I.UNTERMINATED_CLOSING_BRACE,l()),n}(e)),d(e),n;if(a=E(e,t))return n=f(t,6,function(e){d(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${T(e)}`):t+=T(e),e.currentChar()===M&&(I.UNTERMINATED_CLOSING_BRACE,l()),t}(e)),d(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const r=e.currentPeek()===x;return e.resetPeek(),r}(e,t))return n=f(t,7,function(e){d(e),_(e,"'");let t="",n="";const r=e=>e!==x&&e!==F;for(;t=k(e,r);)n+="\\"===t?O(e):t;const a=e.currentChar();return a===F||a===M?(I.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,l(),a===F&&(e.next(),_(e,"'")),n):(_(e,"'"),n)}(e)),d(e),n;if(!r&&!a&&!o)return n=f(t,13,function(e){d(e);let t="",n="";const r=e=>"{"!==e&&"}"!==e&&e!==A&&e!==F;for(;t=k(e,r);)n+=t;return n}(e)),I.INVALID_TOKEN_IN_PLACEHOLDER,l(),n.value,d(e),n}return n}function W(e,t){const{currentType:n}=t;let r=null;const a=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||a!==F&&a!==A||(I.INVALID_LINKED_FORMAT,l()),a){case"@":return e.next(),r=f(t,8,"@"),t.inLinked=!0,r;case".":return d(e),e.next(),f(t,9,".");case":":return d(e),e.next(),f(t,10,":");default:return v(e)?(r=f(t,1,R(e)),t.braceNest=0,t.inLinked=!1,r):function(e,t){const{currentType:n}=t;if(8!==n)return!1;p(e);const r="."===e.currentPeek();return e.resetPeek(),r}(e,t)||function(e,t){const{currentType:n}=t;if(8!==n&&12!==n)return!1;p(e);const r=":"===e.currentPeek();return e.resetPeek(),r}(e,t)?(d(e),W(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;p(e);const r=g(e.currentPeek());return e.resetPeek(),r}(e,t)?(d(e),f(t,12,function(e){let t="",n="";for(;t=h(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(10!==n)return!1;const r=()=>{const t=e.currentPeek();return"{"===t?g(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===A||!t)&&(t===F?(e.peek(),r()):g(t))},a=r();return e.resetPeek(),a}(e,t)?(d(e),"{"===a?D(e,t)||r:f(t,11,function(e){const t=(n=!1,r)=>{const a=e.currentChar();return"{"!==a&&"%"!==a&&"@"!==a&&"|"!==a&&"("!==a&&")"!==a&&a?a===A?r:a===F||a===w?(r+=a,e.next(),t(n,r)):(r+=a,e.next(),t(!0,r)):r};return t(!1,"")}(e))):(8===n&&(I.INVALID_LINKED_FORMAT,l()),t.braceNest=0,t.inLinked=!1,U(e,t))}}function U(e,t){let n={type:14};if(t.braceNest>0)return D(e,t)||m(t);if(t.inLinked)return W(e,t)||m(t);switch(e.currentChar()){case"{":return D(e,t)||m(t);case"}":return I.UNBALANCED_CLOSING_BRACE,l(),e.next(),f(t,3,"}");case"@":return W(e,t)||m(t);default:if(v(e))return n=f(t,1,R(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:r,hasSpace:a}=function(e){const t=p(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(r)return a?f(t,0,C(e)):f(t,4,function(e){d(e);const t=e.currentChar();return"%"!==t&&(I.EXPECTED_TOKEN,l()),e.next(),"%"}(e));if(b(e))return f(t,0,C(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:o}=c;return c.lastType=e,c.lastOffset=t,c.lastStartLoc=n,c.lastEndLoc=o,c.offset=a(),c.startLoc=l(),r.currentChar()===M?f(c,14):U(r,c)},currentOffset:a,currentPosition:l,context:u}}const U=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function $(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function H(e={}){const t=!1!==e.location,{onError:n}=e;function r(e,n,r){const a={type:e};return t&&(a.start=n,a.end=n,a.loc={start:r,end:r}),a}function a(e,n,r,a){a&&(e.type=a),t&&(e.end=n,e.loc&&(e.loc.end=r))}function l(e,t){const n=e.context(),l=r(3,n.offset,n.startLoc);return l.value=t,a(l,e.currentOffset(),e.currentPosition()),l}function o(e,t){const n=e.context(),{lastOffset:l,lastStartLoc:o}=n,s=r(5,l,o);return s.index=parseInt(t,10),e.nextToken(),a(s,e.currentOffset(),e.currentPosition()),s}function s(e,t){const n=e.context(),{lastOffset:l,lastStartLoc:o}=n,s=r(4,l,o);return s.key=t,e.nextToken(),a(s,e.currentOffset(),e.currentPosition()),s}function c(e,t){const n=e.context(),{lastOffset:l,lastStartLoc:o}=n,s=r(9,l,o);return s.value=t.replace(U,$),e.nextToken(),a(s,e.currentOffset(),e.currentPosition()),s}function u(e){const t=e.context(),n=r(6,t.offset,t.startLoc);let l=e.nextToken();if(9===l.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:l,lastStartLoc:o}=n,s=r(8,l,o);return 12!==t.type?(I.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,s.value="",a(s,l,o),{nextConsumeToken:t,node:s}):(null==t.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,V(t)),s.value=t.value||"",a(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);n.modifier=t.node,l=t.nextConsumeToken||e.nextToken()}switch(10!==l.type&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(l)),l=e.nextToken(),2===l.type&&(l=e.nextToken()),l.type){case 11:null==l.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(l)),n.key=function(e,t){const n=e.context(),l=r(7,n.offset,n.startLoc);return l.value=t,a(l,e.currentOffset(),e.currentPosition()),l}(e,l.value||"");break;case 5:null==l.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(l)),n.key=s(e,l.value||"");break;case 6:null==l.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(l)),n.key=o(e,l.value||"");break;case 7:null==l.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(l)),n.key=c(e,l.value||"");break;default:I.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const u=e.context(),i=r(7,u.offset,u.startLoc);return i.value="",a(i,u.offset,u.startLoc),n.key=i,a(n,u.offset,u.startLoc),{nextConsumeToken:l,node:n}}return a(n,e.currentOffset(),e.currentPosition()),{node:n}}function f(e){const t=e.context(),n=r(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let i=null;do{const r=i||e.nextToken();switch(i=null,r.type){case 0:null==r.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(r)),n.items.push(l(e,r.value||""));break;case 6:null==r.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(r)),n.items.push(o(e,r.value||""));break;case 5:null==r.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(r)),n.items.push(s(e,r.value||""));break;case 7:null==r.value&&(I.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,V(r)),n.items.push(c(e,r.value||""));break;case 8:const a=u(e);n.items.push(a.node),i=a.nextConsumeToken||null}}while(14!==t.currentType&&1!==t.currentType);return a(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function m(e){const t=e.context(),{offset:n,startLoc:l}=t,o=f(e);return 14===t.currentType?o:function(e,t,n,l){const o=e.context();let s=0===l.items.length;const c=r(1,t,n);c.cases=[],c.cases.push(l);do{const t=f(e);s||(s=0===t.items.length),c.cases.push(t)}while(14!==o.currentType);return a(c,e.currentOffset(),e.currentPosition()),c}(e,n,l,o)}return{parse:function(n){const l=W(n,i({},e)),o=l.context(),s=r(0,o.offset,o.startLoc);return t&&s.loc&&(s.loc.source=n),s.body=m(l),e.onCacheKey&&(s.cacheKey=e.onCacheKey(n)),14!==o.currentType&&(I.UNEXPECTED_LEXICAL_ANALYSIS,o.lastStartLoc,n[o.offset]),a(s,l.currentOffset(),l.currentPosition()),s}}}function V(e){if(14===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function j(e,t){for(let n=0;n<e.length;n++)X(e[n],t)}function X(e,t){switch(e.type){case 1:j(e.cases,t),t.helper("plural");break;case 2:j(e.items,t);break;case 6:X(e.key,t),t.helper("linked"),t.helper("type");break;case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named")}}function G(e,t={}){const n=function(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}(e);n.helper("normalize"),e.body&&X(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function Y(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(3!==r.type&&9!==r.type)break;if(null==r.value)break;t.push(r.value)}if(t.length===e.items.length){e.static=L(t);for(let t=0;t<e.items.length;t++){const n=e.items[t];3!==n.type&&9!==n.type||delete n.value}}}}function B(e){switch(e.t=e.type,e.type){case 0:const t=e;B(t.body),t.b=t.body,delete t.body;break;case 1:const n=e,r=n.cases;for(let e=0;e<r.length;e++)B(r[e]);n.c=r,delete n.cases;break;case 2:const a=e,l=a.items;for(let e=0;e<l.length;e++)B(l[e]);a.i=l,delete a.items,a.static&&(a.s=a.static,delete a.static);break;case 3:case 9:case 8:case 7:const o=e;o.value&&(o.v=o.value,delete o.value);break;case 6:const s=e;B(s.key),s.k=s.key,delete s.key,s.modifier&&(B(s.modifier),s.m=s.modifier,delete s.modifier);break;case 5:const c=e;c.i=c.index,delete c.index;break;case 4:const u=e;u.k=u.key,delete u.key}delete e.type}function K(e,t){const{helper:n}=e;switch(t.type){case 0:!function(e,t){t.body?K(e,t.body):e.push("null")}(e,t);break;case 1:!function(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const a=t.cases.length;for(let n=0;n<a&&(K(e,t.cases[n]),n!==a-1);n++)e.push(", ");e.deindent(r()),e.push("])")}}(e,t);break;case 2:!function(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const a=t.items.length;for(let l=0;l<a&&(K(e,t.items[l]),l!==a-1);l++)e.push(", ");e.deindent(r()),e.push("])")}(e,t);break;case 6:!function(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),K(e,t.key),t.modifier?(e.push(", "),K(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}(e,t);break;case 8:case 7:case 9:case 3:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t)}}const z=(e,t={})=>{const n=g(t.mode)?t.mode:"normal",r=g(t.filename)?t.filename:"message.intl",a=!!t.sourceMap,l=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",o=t.needIndent?t.needIndent:"arrow"!==n,s=e.helpers||[],c=function(e,t){const{sourceMap:n,filename:r,breakLineCode:a,needIndent:l}=t,o=!1!==t.location,s={filename:r,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:a,needIndent:l,indentLevel:0};function c(e,t){s.code+=e}function u(e,t=!0){const n=t?a:"";c(l?n+"  ".repeat(e):n)}return o&&e.loc&&(s.source=e.loc.source),{context:()=>s,push:c,indent:function(e=!0){const t=++s.indentLevel;e&&u(t)},deindent:function(e=!0){const t=--s.indentLevel;e&&u(t)},newline:function(){u(s.indentLevel)},helper:e=>`_${e}`,needIndent:()=>s.needIndent}}(e,{mode:n,filename:r,sourceMap:a,breakLineCode:l,needIndent:o});c.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),c.indent(o),s.length>0&&(c.push(`const { ${L(s.map((e=>`${e}: _${e}`)),", ")} } = ctx`),c.newline()),c.push("return "),K(c,e),c.deindent(o),c.push("}"),delete e.helpers;const{code:u,map:i}=c.context();return{ast:e,code:u,map:i?i.toJSON():void 0}};function J(e,t={}){const n=i({},t),r=!!n.jit,a=!!n.minify,l=null==n.optimize||n.optimize,o=H(n).parse(e);return r?(l&&function(e){const t=e.body;2===t.type?Y(t):t.cases.forEach((e=>Y(e)))}(o),a&&B(o),{ast:o,code:""}):(G(o,n),z(o,n))}const Q=[];Q[0]={w:[0],i:[3,0],"[":[4],o:[7]},Q[1]={w:[1],".":[2],"[":[4],o:[7]},Q[2]={w:[2],i:[3,0],0:[3,0]},Q[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},Q[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},Q[5]={"'":[4,0],o:8,l:[5,0]},Q[6]={'"':[4,0],o:8,l:[6,0]};const q=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function Z(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function ee(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(n=t,q.test(n)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}const te=new Map;function ne(e,t){return v(e)?e[t]:null}const re=e=>e,ae=e=>"",le="text",oe=e=>0===e.length?"":L(e),se=e=>null==e?"":p(e)||h(e)&&e.toString===b?JSON.stringify(e,null,2):String(e);function ce(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function ue(e={}){const t=e.locale,n=function(e){const t=o(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(o(e.named.count)||o(e.named.n))?o(e.named.count)?e.named.count:o(e.named.n)?e.named.n:t:t}(e),r=v(e.pluralRules)&&g(t)&&d(e.pluralRules[t])?e.pluralRules[t]:ce,a=v(e.pluralRules)&&g(t)&&d(e.pluralRules[t])?ce:void 0,l=e.list||[],s=e.named||{};o(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,s);function c(t){const n=d(e.messages)?e.messages(t):!!v(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):ae)}const u=h(e.processor)&&d(e.processor.normalize)?e.processor.normalize:oe,f=h(e.processor)&&d(e.processor.interpolate)?e.processor.interpolate:se,m={list:e=>l[e],named:e=>s[e],plural:e=>e[r(n,e.length,a)],linked:(t,...n)=>{const[r,a]=n;let l="text",o="";1===n.length?v(r)?(o=r.modifier||o,l=r.type||l):g(r)&&(o=r||o):2===n.length&&(g(r)&&(o=r||o),g(a)&&(l=a||l));const s=c(t)(m),u="vnode"===l&&p(s)&&o?s[0]:s;return o?(i=o,e.modifiers?e.modifiers[i]:re)(u,l):u;var i},message:c,type:h(e.processor)&&g(e.processor.type)?e.processor.type:le,interpolate:f,normalize:u,values:i({},l,s)};return m}function ie(e,t){return null!=t.locale?me(t.locale):me(e.locale)}let fe;function me(e){return g(e)?e:null!=fe&&e.resolvedOnce?fe:fe=e()}function _e(e,t,n){return[...new Set([n,...p(t)?t:v(t)?Object.keys(t):g(t)?[t]:[n]])]}function pe(e,t,n){const r=g(n)?n:ke,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let l=a.__localeChainCache.get(r);if(!l){l=[];let e=[n];for(;p(e);)e=de(l,e,t);const o=p(t)||!h(t)?t:t.default?t.default:null;e=g(o)?[o]:o,p(e)&&de(l,e,!1),a.__localeChainCache.set(r,l)}return l}function de(e,t,n){let r=!0;for(let a=0;a<t.length&&E(r);a++){const l=t[a];g(l)&&(r=ge(e,t[a],n))}return r}function ge(e,t,n){let r;const a=t.split("-");do{r=Ee(e,a.join("-"),n),a.splice(-1,1)}while(a.length&&!0===r);return r}function Ee(e,t,n){let r=!1;if(!e.includes(t)&&(r=!0,t)){r="!"!==t[t.length-1];const a=t.replace(/!/g,"");e.push(a),(p(n)||h(n))&&n[a]&&(r=n[a])}return r}const ve="9.5.0",be=-1,ke="en-US",he="",Le=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let Ne,Te,ye;let Ie=null;const Ce=e=>{Ie=e},Oe=()=>Ie;let Ae=0;function Pe(e={}){const t=d(e.onWarn)?e.onWarn:T,n=g(e.version)?e.version:ve,r=g(e.locale)||d(e.locale)?e.locale:ke,a=d(r)?ke:r,l=p(e.fallbackLocale)||h(e.fallbackLocale)||g(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:a,o=h(e.messages)?e.messages:{[a]:{}},s=h(e.datetimeFormats)?e.datetimeFormats:{[a]:{}},u=h(e.numberFormats)?e.numberFormats:{[a]:{}},f=i({},e.modifiers||{},{upper:(e,t)=>"text"===t&&g(e)?e.toUpperCase():"vnode"===t&&v(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&g(e)?e.toLowerCase():"vnode"===t&&v(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&g(e)?Le(e):"vnode"===t&&v(e)&&"__v_isVNode"in e?Le(e.children):e}),m=e.pluralRules||{},_=d(e.missing)?e.missing:null,b=!E(e.missingWarn)&&!c(e.missingWarn)||e.missingWarn,k=!E(e.fallbackWarn)&&!c(e.fallbackWarn)||e.fallbackWarn,L=!!e.fallbackFormat,N=!!e.unresolving,y=d(e.postTranslation)?e.postTranslation:null,I=h(e.processor)?e.processor:null,C=!E(e.warnHtmlMessage)||e.warnHtmlMessage,O=!!e.escapeParameter,A=d(e.messageCompiler)?e.messageCompiler:Ne,P=d(e.messageResolver)?e.messageResolver:Te||ne,F=d(e.localeFallbacker)?e.localeFallbacker:ye||_e,R=v(e.fallbackContext)?e.fallbackContext:void 0,D=e,S=v(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,M=v(D.__numberFormatters)?D.__numberFormatters:new Map,w=v(D.__meta)?D.__meta:{};Ae++;const x={version:n,cid:Ae,locale:r,fallbackLocale:l,messages:o,modifiers:f,pluralRules:m,missing:_,missingWarn:b,fallbackWarn:k,fallbackFormat:L,unresolving:N,postTranslation:y,processor:I,warnHtmlMessage:C,escapeParameter:O,messageCompiler:A,messageResolver:P,localeFallbacker:F,fallbackContext:R,onWarn:t,__meta:w};return x.datetimeFormats=s,x.numberFormats=u,x.__datetimeFormatters=S,x.__numberFormatters=M,x}function Fe(e,t,n,r,a){const{missing:l,onWarn:o}=e;if(null!==l){const r=l(e,n,t,a);return g(r)?r:t}return t}function Re(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function De(e){return t=>function(e,t){const n=t.b||t.body;if(1===(n.t||n.type)){const t=n,r=t.c||t.cases;return e.plural(r.reduce(((t,n)=>[...t,Se(e,n)]),[]))}return Se(e,n)}(t,e)}function Se(e,t){const n=t.s||t.static;if(n)return"text"===e.type?n:e.normalize([n]);{const n=(t.i||t.items).reduce(((t,n)=>[...t,Me(e,n)]),[]);return e.normalize(n)}}function Me(e,t){const n=t.t||t.type;switch(n){case 3:const r=t;return r.v||r.value;case 9:const a=t;return a.v||a.value;case 4:const l=t;return e.interpolate(e.named(l.k||l.key));case 5:const o=t;return e.interpolate(e.list(null!=o.i?o.i:o.index));case 6:const s=t,c=s.m||s.modifier;return e.linked(Me(e,s.k||s.key),c?Me(e,c):void 0,e.type);case 7:const u=t;return u.v||u.value;case 8:const i=t;return i.v||i.value;default:throw new Error(`unhandled node type on format message part: ${n}`)}}const we=I.__EXTEND_POINT__,xe=N(we),We={INVALID_ARGUMENT:we,INVALID_DATE_ARGUMENT:xe(),INVALID_ISO_DATE_ARGUMENT:xe(),NOT_SUPPORT_NON_STRING_MESSAGE:xe(),__EXTEND_POINT__:xe()},Ue=e=>e;let $e=Object.create(null);const He=e=>v(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e);const Ve=()=>"",je=e=>d(e);function Xe(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:a,messageCompiler:l,fallbackLocale:s,messages:c}=e,[u,i]=Be(...t),m=E(i.missingWarn)?i.missingWarn:e.missingWarn,_=E(i.fallbackWarn)?i.fallbackWarn:e.fallbackWarn,d=E(i.escapeParameter)?i.escapeParameter:e.escapeParameter,b=!!i.resolvedMessage,k=g(i.default)||E(i.default)?E(i.default)?l?u:()=>u:i.default:n?l?u:()=>u:"",h=n||""!==k,L=ie(e,i);d&&function(e){p(e.list)?e.list=e.list.map((e=>g(e)?f(e):e)):v(e.named)&&Object.keys(e.named).forEach((t=>{g(e.named[t])&&(e.named[t]=f(e.named[t]))}))}(i);let[N,T,y]=b?[u,L,c[L]||{}]:Ge(e,u,L,s,_,m),I=N,C=u;if(b||g(I)||He(I)||je(I)||h&&(I=k,C=I),!(b||(g(I)||He(I)||je(I))&&g(T)))return a?be:u;let O=!1;const A=je(I)?I:Ye(e,u,T,I,C,(()=>{O=!0}));if(O)return I;const P=function(e,t,n,r){const{modifiers:a,pluralRules:l,messageResolver:s,fallbackLocale:c,fallbackWarn:u,missingWarn:i,fallbackContext:f}=e,m=r=>{let a=s(n,r);if(null==a&&f){const[,,e]=Ge(f,r,t,c,u,i);a=s(e,r)}if(g(a)||He(a)){let n=!1;const l=Ye(e,r,t,a,r,(()=>{n=!0}));return n?Ve:l}return je(a)?a:Ve},_={locale:t,modifiers:a,pluralRules:l,messages:m};e.processor&&(_.processor=e.processor);r.list&&(_.list=r.list);r.named&&(_.named=r.named);o(r.plural)&&(_.pluralIndex=r.plural);return _}(e,T,y,i),F=function(e,t,n){const r=t(n);return r}(0,A,ue(P));return r?r(F,u):F}function Ge(e,t,n,r,a,l){const{messages:o,onWarn:s,messageResolver:c,localeFallbacker:u}=e,i=u(e,r,n);let f,m={},_=null;for(let p=0;p<i.length&&(f=i[p],m=o[f]||{},null===(_=c(m,t))&&(_=m[t]),!(g(_)||He(_)||je(_)));p++){const n=Fe(e,t,f,0,"translate");n!==t&&(_=n)}return[_,f,m]}function Ye(e,t,n,r,l,o){const{messageCompiler:s,warnHtmlMessage:c}=e;if(je(r)){const e=r;return e.locale=e.locale||n,e.key=e.key||t,e}if(null==s){const e=()=>r;return e.locale=n,e.key=t,e}const u=s(r,function(e,t,n,r,l,o){return{locale:t,key:n,warnHtmlMessage:l,onError:e=>{throw o&&o(e),e},onCacheKey:e=>a(t,n,e)}}(0,n,l,0,c,o));return u.locale=n,u.key=t,u.source=r,u}function Be(...e){const[t,n,r]=e,a={};if(!(g(t)||o(t)||je(t)||He(t)))throw Error(We.INVALID_ARGUMENT);const l=o(t)?String(t):(je(t),t);return o(n)?a.plural=n:g(n)?a.default=n:h(n)&&!u(n)?a.named=n:p(n)&&(a.list=n),o(r)?a.plural=r:g(r)?a.default=r:h(r)&&i(a,r),[l,a]}function Ke(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:a,onWarn:l,localeFallbacker:o}=e,{__datetimeFormatters:s}=e,[c,f,m,_]=Je(...t);E(m.missingWarn)?m.missingWarn:e.missingWarn;E(m.fallbackWarn)?m.fallbackWarn:e.fallbackWarn;const p=!!m.part,d=ie(e,m),v=o(e,a,d);if(!g(c)||""===c)return new Intl.DateTimeFormat(d,_).format(f);let b,k={},L=null;for(let u=0;u<v.length&&(b=v[u],k=n[b]||{},L=k[c],!h(L));u++)Fe(e,c,b,0,"datetime format");if(!h(L)||!g(b))return r?be:c;let N=`${b}__${c}`;u(_)||(N=`${N}__${JSON.stringify(_)}`);let T=s.get(N);return T||(T=new Intl.DateTimeFormat(b,i({},L,_)),s.set(N,T)),p?T.formatToParts(f):T.format(f)}const ze=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Je(...e){const[t,n,r,a]=e,l={};let c,u={};if(g(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(We.INVALID_ISO_DATE_ARGUMENT);const n=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();c=new Date(n);try{c.toISOString()}catch(i){throw Error(We.INVALID_ISO_DATE_ARGUMENT)}}else if(s(t)){if(isNaN(t.getTime()))throw Error(We.INVALID_DATE_ARGUMENT);c=t}else{if(!o(t))throw Error(We.INVALID_ARGUMENT);c=t}return g(n)?l.key=n:h(n)&&Object.keys(n).forEach((e=>{ze.includes(e)?u[e]=n[e]:l[e]=n[e]})),g(r)?l.locale=r:h(r)&&(u=r),h(a)&&(u=a),[l.key||"",c,l,u]}function Qe(e,t,n){const r=e;for(const a in n){const e=`${t}__${a}`;r.__datetimeFormatters.has(e)&&r.__datetimeFormatters.delete(e)}}function qe(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:a,onWarn:l,localeFallbacker:o}=e,{__numberFormatters:s}=e,[c,f,m,_]=et(...t);E(m.missingWarn)?m.missingWarn:e.missingWarn;E(m.fallbackWarn)?m.fallbackWarn:e.fallbackWarn;const p=!!m.part,d=ie(e,m),v=o(e,a,d);if(!g(c)||""===c)return new Intl.NumberFormat(d,_).format(f);let b,k={},L=null;for(let u=0;u<v.length&&(b=v[u],k=n[b]||{},L=k[c],!h(L));u++)Fe(e,c,b,0,"number format");if(!h(L)||!g(b))return r?be:c;let N=`${b}__${c}`;u(_)||(N=`${N}__${JSON.stringify(_)}`);let T=s.get(N);return T||(T=new Intl.NumberFormat(b,i({},L,_)),s.set(N,T)),p?T.formatToParts(f):T.format(f)}const Ze=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function et(...e){const[t,n,r,a]=e,l={};let s={};if(!o(t))throw Error(We.INVALID_ARGUMENT);const c=t;return g(n)?l.key=n:h(n)&&Object.keys(n).forEach((e=>{Ze.includes(e)?s[e]=n[e]:l[e]=n[e]})),g(r)?l.locale=r:h(r)&&(s=r),h(a)&&(s=a),[l.key||"",c,l,s]}function tt(e,t,n){const r=e;for(const a in n){const e=`${t}__${a}`;r.__numberFormatters.has(e)&&r.__numberFormatters.delete(e)}}const nt="9.5.0",rt=We.__EXTEND_POINT__,at=N(rt),lt={UNEXPECTED_RETURN_TYPE:rt,INVALID_ARGUMENT:at(),MUST_BE_CALL_SETUP_TOP:at(),NOT_INSTALLED:at(),NOT_AVAILABLE_IN_LEGACY_MODE:at(),REQUIRED_VALUE:at(),INVALID_VALUE:at(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:at(),NOT_INSTALLED_WITH_PROVIDE:at(),UNEXPECTED_ERROR:at(),NOT_COMPATIBLE_LEGACY_VUE_I18N:at(),BRIDGE_SUPPORT_VUE_2_ONLY:at(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:at(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:at(),__EXTEND_POINT__:at()};const ot=r("__translateVNode"),st=r("__datetimeParts"),ct=r("__numberParts"),ut=r("__setPluralRules"),it=r("__injectWithOption"),ft=r("__dispose");function mt(e){if(!v(e))return e;for(const t in e)if(_(e,t))if(t.includes(".")){const n=t.split("."),r=n.length-1;let a=e,l=!1;for(let e=0;e<r;e++){if(n[e]in a||(a[n[e]]={}),!v(a[n[e]])){l=!0;break}a=a[n[e]]}l||(a[n[r]]=e[t],delete e[t]),v(a[n[r]])&&mt(a[n[r]])}else v(e[t])&&mt(e[t]);return e}function _t(e,t){const{messages:n,__i18n:r,messageResolver:a,flatJson:l}=t,o=h(n)?n:p(r)?{}:{[e]:{}};if(p(r)&&r.forEach((e=>{if("locale"in e&&"resource"in e){const{locale:t,resource:n}=e;t?(o[t]=o[t]||{},dt(n,o[t])):dt(n,o)}else g(e)&&dt(JSON.parse(e),o)})),null==a&&l)for(const s in o)_(o,s)&&mt(o[s]);return o}const pt=e=>!v(e)||p(e);function dt(e,t){if(pt(e)||pt(t))throw Error(lt.INVALID_VALUE);for(const n in e)_(e,n)&&(pt(e[n])||pt(t[n])?t[n]=e[n]:dt(e[n],t[n]))}function gt(e){return e.type}function Et(e,t,n){let r=v(t.messages)?t.messages:{};"__i18nGlobal"in n&&(r=_t(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const a=Object.keys(r);if(a.length&&a.forEach((t=>{e.mergeLocaleMessage(t,r[t])})),v(t.datetimeFormats)){const n=Object.keys(t.datetimeFormats);n.length&&n.forEach((n=>{e.mergeDateTimeFormat(n,t.datetimeFormats[n])}))}if(v(t.numberFormats)){const n=Object.keys(t.numberFormats);n.length&&n.forEach((n=>{e.mergeNumberFormat(n,t.numberFormats[n])}))}}function vt(e){return t.createVNode(t.Text,null,e,0)}let bt=0;function kt(e){return(n,r,a,l)=>e(r,a,t.getCurrentInstance()||void 0,l)}function ht(e={},r){const{__root:a,__injectWithOption:l}=e,s=void 0===a;let u=!E(e.inheritLocale)||e.inheritLocale;const f=t.ref(a&&u?a.locale.value:g(e.locale)?e.locale:ke),m=t.ref(a&&u?a.fallbackLocale.value:g(e.fallbackLocale)||p(e.fallbackLocale)||h(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:f.value),_=t.ref(_t(f.value,e)),b=t.ref(h(e.datetimeFormats)?e.datetimeFormats:{[f.value]:{}}),k=t.ref(h(e.numberFormats)?e.numberFormats:{[f.value]:{}});let L=a?a.missingWarn:!E(e.missingWarn)&&!c(e.missingWarn)||e.missingWarn,N=a?a.fallbackWarn:!E(e.fallbackWarn)&&!c(e.fallbackWarn)||e.fallbackWarn,T=a?a.fallbackRoot:!E(e.fallbackRoot)||e.fallbackRoot,y=!!e.fallbackFormat,I=d(e.missing)?e.missing:null,C=d(e.missing)?kt(e.missing):null,O=d(e.postTranslation)?e.postTranslation:null,A=a?a.warnHtmlMessage:!E(e.warnHtmlMessage)||e.warnHtmlMessage,P=!!e.escapeParameter;const F=a?a.modifiers:h(e.modifiers)?e.modifiers:{};let R,D=e.pluralRules||a&&a.pluralRules;R=(()=>{s&&Ce(null);const t={version:nt,locale:f.value,fallbackLocale:m.value,messages:_.value,modifiers:F,pluralRules:D,missing:null===C?void 0:C,missingWarn:L,fallbackWarn:N,fallbackFormat:y,unresolving:!0,postTranslation:null===O?void 0:O,warnHtmlMessage:A,escapeParameter:P,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=b.value,t.numberFormats=k.value,t.__datetimeFormatters=h(R)?R.__datetimeFormatters:void 0,t.__numberFormatters=h(R)?R.__numberFormatters:void 0;const n=Pe(t);return s&&Ce(n),n})(),Re(R,f.value,m.value);const S=t.computed({get:()=>f.value,set:e=>{f.value=e,R.locale=f.value}}),M=t.computed({get:()=>m.value,set:e=>{m.value=e,R.fallbackLocale=m.value,Re(R,f.value,e)}}),w=t.computed((()=>_.value)),x=t.computed((()=>b.value)),W=t.computed((()=>k.value));const U=(e,t,n,r,l,c)=>{let u;f.value,m.value,_.value,b.value,k.value;try{0,s||(R.fallbackContext=a?Oe():void 0),u=e(R)}finally{s||(R.fallbackContext=void 0)}if(o(u)&&u===be){const[e,n]=t();return a&&T?r(a):l(e)}if(c(u))return u;throw Error(lt.UNEXPECTED_RETURN_TYPE)};function $(...e){return U((t=>Reflect.apply(Xe,null,[t,...e])),(()=>Be(...e)),"translate",(t=>Reflect.apply(t.t,t,[...e])),(e=>e),(e=>g(e)))}const H={normalize:function(e){return e.map((e=>g(e)||o(e)||E(e)?vt(String(e)):e))},interpolate:e=>e,type:"vnode"};function V(e){return _.value[e]||{}}bt++,a&&n&&(t.watch(a.locale,(e=>{u&&(f.value=e,R.locale=e,Re(R,f.value,m.value))})),t.watch(a.fallbackLocale,(e=>{u&&(m.value=e,R.fallbackLocale=e,Re(R,f.value,m.value))})));const j={id:bt,locale:S,fallbackLocale:M,get inheritLocale(){return u},set inheritLocale(e){u=e,e&&a&&(f.value=a.locale.value,m.value=a.fallbackLocale.value,Re(R,f.value,m.value))},get availableLocales(){return Object.keys(_.value).sort()},messages:w,get modifiers(){return F},get pluralRules(){return D||{}},get isGlobal(){return s},get missingWarn(){return L},set missingWarn(e){L=e,R.missingWarn=L},get fallbackWarn(){return N},set fallbackWarn(e){N=e,R.fallbackWarn=N},get fallbackRoot(){return T},set fallbackRoot(e){T=e},get fallbackFormat(){return y},set fallbackFormat(e){y=e,R.fallbackFormat=y},get warnHtmlMessage(){return A},set warnHtmlMessage(e){A=e,R.warnHtmlMessage=e},get escapeParameter(){return P},set escapeParameter(e){P=e,R.escapeParameter=e},t:$,getLocaleMessage:V,setLocaleMessage:function(e,t){_.value[e]=t,R.messages=_.value},mergeLocaleMessage:function(e,t){_.value[e]=_.value[e]||{},dt(t,_.value[e]),R.messages=_.value},getPostTranslationHandler:function(){return d(O)?O:null},setPostTranslationHandler:function(e){O=e,R.postTranslation=e},getMissingHandler:function(){return I},setMissingHandler:function(e){null!==e&&(C=kt(e)),I=e,R.missing=C},[ut]:function(e){D=e,R.pluralRules=D}};return j.datetimeFormats=x,j.numberFormats=W,j.rt=function(...e){const[t,n,r]=e;if(r&&!v(r))throw Error(lt.INVALID_ARGUMENT);return $(t,n,i({resolvedMessage:!0},r||{}))},j.te=function(e,t){if(!e)return!1;const n=V(g(t)?t:f.value);return null!==R.messageResolver(n,e)},j.tm=function(e){const t=function(e){let t=null;const n=pe(R,m.value,f.value);for(let r=0;r<n.length;r++){const a=_.value[n[r]]||{},l=R.messageResolver(a,e);if(null!=l){t=l;break}}return t}(e);return null!=t?t:a&&a.tm(e)||{}},j.d=function(...e){return U((t=>Reflect.apply(Ke,null,[t,...e])),(()=>Je(...e)),"datetime format",(t=>Reflect.apply(t.d,t,[...e])),(()=>he),(e=>g(e)))},j.n=function(...e){return U((t=>Reflect.apply(qe,null,[t,...e])),(()=>et(...e)),"number format",(t=>Reflect.apply(t.n,t,[...e])),(()=>he),(e=>g(e)))},j.getDateTimeFormat=function(e){return b.value[e]||{}},j.setDateTimeFormat=function(e,t){b.value[e]=t,R.datetimeFormats=b.value,Qe(R,e,t)},j.mergeDateTimeFormat=function(e,t){b.value[e]=i(b.value[e]||{},t),R.datetimeFormats=b.value,Qe(R,e,t)},j.getNumberFormat=function(e){return k.value[e]||{}},j.setNumberFormat=function(e,t){k.value[e]=t,R.numberFormats=k.value,tt(R,e,t)},j.mergeNumberFormat=function(e,t){k.value[e]=i(k.value[e]||{},t),R.numberFormats=k.value,tt(R,e,t)},j[it]=l,j[ot]=function(...e){return U((t=>{let n;const r=t;try{r.processor=H,n=Reflect.apply(Xe,null,[r,...e])}finally{r.processor=null}return n}),(()=>Be(...e)),"translate",(t=>t[ot](...e)),(e=>[vt(e)]),(e=>p(e)))},j[st]=function(...e){return U((t=>Reflect.apply(Ke,null,[t,...e])),(()=>Je(...e)),"datetime format",(t=>t[st](...e)),(()=>[]),(e=>g(e)||p(e)))},j[ct]=function(...e){return U((t=>Reflect.apply(qe,null,[t,...e])),(()=>et(...e)),"number format",(t=>t[ct](...e)),(()=>[]),(e=>g(e)||p(e)))},j}function Lt(e={},t){{const t=ht(function(e){const t=g(e.locale)?e.locale:ke,n=g(e.fallbackLocale)||p(e.fallbackLocale)||h(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:t,r=d(e.missing)?e.missing:void 0,a=!E(e.silentTranslationWarn)&&!c(e.silentTranslationWarn)||!e.silentTranslationWarn,l=!E(e.silentFallbackWarn)&&!c(e.silentFallbackWarn)||!e.silentFallbackWarn,o=!E(e.fallbackRoot)||e.fallbackRoot,s=!!e.formatFallbackMessages,u=h(e.modifiers)?e.modifiers:{},f=e.pluralizationRules,m=d(e.postTranslation)?e.postTranslation:void 0,_=!g(e.warnHtmlInMessage)||"off"!==e.warnHtmlInMessage,v=!!e.escapeParameterHtml,b=!E(e.sync)||e.sync;let k=e.messages;if(h(e.sharedMessages)){const t=e.sharedMessages;k=Object.keys(t).reduce(((e,n)=>{const r=e[n]||(e[n]={});return i(r,t[n]),e}),k||{})}const{__i18n:L,__root:N,__injectWithOption:T}=e,y=e.datetimeFormats,I=e.numberFormats;return{locale:t,fallbackLocale:n,messages:k,flatJson:e.flatJson,datetimeFormats:y,numberFormats:I,missing:r,missingWarn:a,fallbackWarn:l,fallbackRoot:o,fallbackFormat:s,modifiers:u,pluralRules:f,postTranslation:m,warnHtmlMessage:_,escapeParameter:v,messageResolver:e.messageResolver,inheritLocale:b,__i18n:L,__root:N,__injectWithOption:T}}(e)),{__extender:n}=e,r={id:t.id,get locale(){return t.locale.value},set locale(e){t.locale.value=e},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(e){t.fallbackLocale.value=e},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get formatter(){return{interpolate:()=>[]}},set formatter(e){},get missing(){return t.getMissingHandler()},set missing(e){t.setMissingHandler(e)},get silentTranslationWarn(){return E(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(e){t.missingWarn=E(e)?!e:e},get silentFallbackWarn(){return E(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(e){t.fallbackWarn=E(e)?!e:e},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(e){t.fallbackFormat=e},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(e){t.setPostTranslationHandler(e)},get sync(){return t.inheritLocale},set sync(e){t.inheritLocale=e},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(e){t.warnHtmlMessage="off"!==e},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(e){t.escapeParameter=e},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(e){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...e){const[n,r,a]=e,l={};let o=null,s=null;if(!g(n))throw Error(lt.INVALID_ARGUMENT);const c=n;return g(r)?l.locale=r:p(r)?o=r:h(r)&&(s=r),p(a)?o=a:h(a)&&(s=a),Reflect.apply(t.t,t,[c,o||s||{},l])},rt:(...e)=>Reflect.apply(t.rt,t,[...e]),tc(...e){const[n,r,a]=e,l={plural:1};let s=null,c=null;if(!g(n))throw Error(lt.INVALID_ARGUMENT);const u=n;return g(r)?l.locale=r:o(r)?l.plural=r:p(r)?s=r:h(r)&&(c=r),g(a)?l.locale=a:p(a)?s=a:h(a)&&(c=a),Reflect.apply(t.t,t,[u,s||c||{},l])},te:(e,n)=>t.te(e,n),tm:e=>t.tm(e),getLocaleMessage:e=>t.getLocaleMessage(e),setLocaleMessage(e,n){t.setLocaleMessage(e,n)},mergeLocaleMessage(e,n){t.mergeLocaleMessage(e,n)},d:(...e)=>Reflect.apply(t.d,t,[...e]),getDateTimeFormat:e=>t.getDateTimeFormat(e),setDateTimeFormat(e,n){t.setDateTimeFormat(e,n)},mergeDateTimeFormat(e,n){t.mergeDateTimeFormat(e,n)},n:(...e)=>Reflect.apply(t.n,t,[...e]),getNumberFormat:e=>t.getNumberFormat(e),setNumberFormat(e,n){t.setNumberFormat(e,n)},mergeNumberFormat(e,n){t.mergeNumberFormat(e,n)},getChoiceIndex:(e,t)=>-1};return r.__extender=n,r}}const Nt={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};function Tt(e){return t.Fragment}const yt=t.defineComponent({name:"i18n-t",props:i({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>o(e)||!isNaN(e)}},Nt),setup(e,n){const{slots:r,attrs:a}=n,l=e.i18n||xt({useScope:e.scope,__useComponent:!0});return()=>{const o=Object.keys(r).filter((e=>"_"!==e)),s={};e.locale&&(s.locale=e.locale),void 0!==e.plural&&(s.plural=g(e.plural)?+e.plural:e.plural);const c=function({slots:e},n){if(1===n.length&&"default"===n[0])return(e.default?e.default():[]).reduce(((e,n)=>[...e,...n.type===t.Fragment?n.children:[n]]),[]);return n.reduce(((t,n)=>{const r=e[n];return r&&(t[n]=r()),t}),{})}(n,o),u=l[ot](e.keypath,c,s),f=i({},a),m=g(e.tag)||v(e.tag)?e.tag:Tt();return t.h(m,f,u)}}}),It=yt;function Ct(e,n,r,a){const{slots:l,attrs:o}=n;return()=>{const n={part:!0};let s={};e.locale&&(n.locale=e.locale),g(e.format)?n.key=e.format:v(e.format)&&(g(e.format.key)&&(n.key=e.format.key),s=Object.keys(e.format).reduce(((t,n)=>r.includes(n)?i({},t,{[n]:e.format[n]}):t),{}));const c=a(e.value,n,s);let u=[n.key];p(c)?u=c.map(((e,t)=>{const n=l[e.type],r=n?n({[e.type]:e.value,index:t,parts:c}):[e.value];var a;return p(a=r)&&!g(a[0])&&(r[0].key=`${e.type}-${t}`),r})):g(c)&&(u=[c]);const f=i({},o),m=g(e.tag)||v(e.tag)?e.tag:Tt();return t.h(m,f,u)}}const Ot=t.defineComponent({name:"i18n-n",props:i({value:{type:Number,required:!0},format:{type:[String,Object]}},Nt),setup(e,t){const n=e.i18n||xt({useScope:"parent",__useComponent:!0});return Ct(e,t,Ze,((...e)=>n[ct](...e)))}}),At=Ot,Pt=t.defineComponent({name:"i18n-d",props:i({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Nt),setup(e,t){const n=e.i18n||xt({useScope:"parent",__useComponent:!0});return Ct(e,t,ze,((...e)=>n[st](...e)))}}),Ft=Pt;function Rt(e){const r=t=>{const{instance:n,modifiers:r,value:a}=t;if(!n||!n.$)throw Error(lt.UNEXPECTED_ERROR);const l=function(e,t){const n=e;if("composition"===e.mode)return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return null!=r?r.__composer:e.global.__composer}}(e,n.$),o=Dt(a);return[Reflect.apply(l.t,l,[...St(o)]),l]};return{created:(a,l)=>{const[o,s]=r(l);n&&e.global===s&&(a.__i18nWatcher=t.watch(s.locale,(()=>{l.instance&&l.instance.$forceUpdate()}))),a.__composer=s,a.textContent=o},unmounted:e=>{n&&e.__i18nWatcher&&(e.__i18nWatcher(),e.__i18nWatcher=void 0,delete e.__i18nWatcher),e.__composer&&(e.__composer=void 0,delete e.__composer)},beforeUpdate:(e,{value:t})=>{if(e.__composer){const n=e.__composer,r=Dt(t);e.textContent=Reflect.apply(n.t,n,[...St(r)])}},getSSRProps:e=>{const[t]=r(e);return{textContent:t}}}}function Dt(e){if(g(e))return{path:e};if(h(e)){if(!("path"in e))throw Error(lt.REQUIRED_VALUE,"path");return e}throw Error(lt.INVALID_VALUE)}function St(e){const{path:t,locale:n,args:r,choice:a,plural:l}=e,s={},c=r||{};return g(n)&&(s.locale=n),o(a)&&(s.plural=a),o(l)&&(s.plural=l),[t,c,s]}function Mt(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[ut](t.pluralizationRules||e.pluralizationRules);const n=_t(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach((t=>e.mergeLocaleMessage(t,n[t]))),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach((n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n]))),t.numberFormats&&Object.keys(t.numberFormats).forEach((n=>e.mergeNumberFormat(n,t.numberFormats[n]))),e}const wt=r("global-vue-i18n");function xt(e={}){const n=t.getCurrentInstance();if(null==n)throw Error(lt.MUST_BE_CALL_SETUP_TOP);if(!n.isCE&&null!=n.appContext.app&&!n.appContext.app.__VUE_I18N_SYMBOL__)throw Error(lt.NOT_INSTALLED);const r=function(e){{const n=t.inject(e.isCE?wt:e.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw function(e,...t){return C(e,null,void 0)}(e.isCE?lt.NOT_INSTALLED_WITH_PROVIDE:lt.UNEXPECTED_ERROR);return n}}(n),a=function(e){return"composition"===e.mode?e.global:e.global.__composer}(r),l=gt(n),o=function(e,t){return u(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}(e,l);if("legacy"===r.mode&&!e.__useComponent){if(!r.allowComposition)throw Error(lt.NOT_AVAILABLE_IN_LEGACY_MODE);return function(e,n,r,a={}){const l="local"===n,o=t.shallowRef(null);if(l&&e.proxy&&!e.proxy.$options.i18n&&!e.proxy.$options.__i18n)throw Error(lt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=E(a.inheritLocale)?a.inheritLocale:!g(a.locale),u=t.ref(!l||s?r.locale.value:g(a.locale)?a.locale:ke),i=t.ref(!l||s?r.fallbackLocale.value:g(a.fallbackLocale)||p(a.fallbackLocale)||h(a.fallbackLocale)||!1===a.fallbackLocale?a.fallbackLocale:u.value),f=t.ref(_t(u.value,a)),m=t.ref(h(a.datetimeFormats)?a.datetimeFormats:{[u.value]:{}}),_=t.ref(h(a.numberFormats)?a.numberFormats:{[u.value]:{}}),v=l?r.missingWarn:!E(a.missingWarn)&&!c(a.missingWarn)||a.missingWarn,b=l?r.fallbackWarn:!E(a.fallbackWarn)&&!c(a.fallbackWarn)||a.fallbackWarn,k=l?r.fallbackRoot:!E(a.fallbackRoot)||a.fallbackRoot,L=!!a.fallbackFormat,N=d(a.missing)?a.missing:null,T=d(a.postTranslation)?a.postTranslation:null,y=l?r.warnHtmlMessage:!E(a.warnHtmlMessage)||a.warnHtmlMessage,I=!!a.escapeParameter,C=l?r.modifiers:h(a.modifiers)?a.modifiers:{},O=a.pluralRules||l&&r.pluralRules;function A(){return[u.value,i.value,f.value,m.value,_.value]}const P=t.computed({get:()=>o.value?o.value.locale.value:u.value,set:e=>{o.value&&(o.value.locale.value=e),u.value=e}}),F=t.computed({get:()=>o.value?o.value.fallbackLocale.value:i.value,set:e=>{o.value&&(o.value.fallbackLocale.value=e),i.value=e}}),R=t.computed((()=>o.value?o.value.messages.value:f.value)),D=t.computed((()=>m.value)),S=t.computed((()=>_.value));function M(){return o.value?o.value.getPostTranslationHandler():T}function w(e){o.value&&o.value.setPostTranslationHandler(e)}function x(){return o.value?o.value.getMissingHandler():N}function W(e){o.value&&o.value.setMissingHandler(e)}function U(e){return A(),e()}function $(...e){return o.value?U((()=>Reflect.apply(o.value.t,null,[...e]))):U((()=>""))}function H(...e){return o.value?Reflect.apply(o.value.rt,null,[...e]):""}function V(...e){return o.value?U((()=>Reflect.apply(o.value.d,null,[...e]))):U((()=>""))}function j(...e){return o.value?U((()=>Reflect.apply(o.value.n,null,[...e]))):U((()=>""))}function X(e){return o.value?o.value.tm(e):{}}function G(e,t){return!!o.value&&o.value.te(e,t)}function Y(e){return o.value?o.value.getLocaleMessage(e):{}}function B(e,t){o.value&&(o.value.setLocaleMessage(e,t),f.value[e]=t)}function K(e,t){o.value&&o.value.mergeLocaleMessage(e,t)}function z(e){return o.value?o.value.getDateTimeFormat(e):{}}function J(e,t){o.value&&(o.value.setDateTimeFormat(e,t),m.value[e]=t)}function Q(e,t){o.value&&o.value.mergeDateTimeFormat(e,t)}function q(e){return o.value?o.value.getNumberFormat(e):{}}function Z(e,t){o.value&&(o.value.setNumberFormat(e,t),_.value[e]=t)}function ee(e,t){o.value&&o.value.mergeNumberFormat(e,t)}const te={get id(){return o.value?o.value.id:-1},locale:P,fallbackLocale:F,messages:R,datetimeFormats:D,numberFormats:S,get inheritLocale(){return o.value?o.value.inheritLocale:s},set inheritLocale(e){o.value&&(o.value.inheritLocale=e)},get availableLocales(){return o.value?o.value.availableLocales:Object.keys(f.value)},get modifiers(){return o.value?o.value.modifiers:C},get pluralRules(){return o.value?o.value.pluralRules:O},get isGlobal(){return!!o.value&&o.value.isGlobal},get missingWarn(){return o.value?o.value.missingWarn:v},set missingWarn(e){o.value&&(o.value.missingWarn=e)},get fallbackWarn(){return o.value?o.value.fallbackWarn:b},set fallbackWarn(e){o.value&&(o.value.missingWarn=e)},get fallbackRoot(){return o.value?o.value.fallbackRoot:k},set fallbackRoot(e){o.value&&(o.value.fallbackRoot=e)},get fallbackFormat(){return o.value?o.value.fallbackFormat:L},set fallbackFormat(e){o.value&&(o.value.fallbackFormat=e)},get warnHtmlMessage(){return o.value?o.value.warnHtmlMessage:y},set warnHtmlMessage(e){o.value&&(o.value.warnHtmlMessage=e)},get escapeParameter(){return o.value?o.value.escapeParameter:I},set escapeParameter(e){o.value&&(o.value.escapeParameter=e)},t:$,getPostTranslationHandler:M,setPostTranslationHandler:w,getMissingHandler:x,setMissingHandler:W,rt:H,d:V,n:j,tm:X,te:G,getLocaleMessage:Y,setLocaleMessage:B,mergeLocaleMessage:K,getDateTimeFormat:z,setDateTimeFormat:J,mergeDateTimeFormat:Q,getNumberFormat:q,setNumberFormat:Z,mergeNumberFormat:ee};function ne(e){e.locale.value=u.value,e.fallbackLocale.value=i.value,Object.keys(f.value).forEach((t=>{e.mergeLocaleMessage(t,f.value[t])})),Object.keys(m.value).forEach((t=>{e.mergeDateTimeFormat(t,m.value[t])})),Object.keys(_.value).forEach((t=>{e.mergeNumberFormat(t,_.value[t])})),e.escapeParameter=I,e.fallbackFormat=L,e.fallbackRoot=k,e.fallbackWarn=b,e.missingWarn=v,e.warnHtmlMessage=y}return t.onBeforeMount((()=>{if(null==e.proxy||null==e.proxy.$i18n)throw Error(lt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const t=o.value=e.proxy.$i18n.__composer;"global"===n?(u.value=t.locale.value,i.value=t.fallbackLocale.value,f.value=t.messages.value,m.value=t.datetimeFormats.value,_.value=t.numberFormats.value):l&&ne(t)})),te}(n,o,a,e)}if("global"===o)return Et(a,e,l),a;if("parent"===o){let t=function(e,t,n=!1){let r=null;const a=t.root;let l=function(e,t=!1){if(null==e)return null;return t&&e.vnode.ctx||e.parent}(t,n);for(;null!=l;){const t=e;if("composition"===e.mode)r=t.__getInstance(l);else{const e=t.__getInstance(l);null!=e&&(r=e.__composer,n&&r&&!r[it]&&(r=null))}if(null!=r)break;if(a===l)break;l=l.parent}return r}(r,n,e.__useComponent);return null==t&&(t=a),t}const s=r;let f=s.__getInstance(n);if(null==f){const r=i({},e);"__i18n"in l&&(r.__i18n=l.__i18n),a&&(r.__root=a),f=ht(r),s.__composerExtend&&(f[ft]=s.__composerExtend(f)),function(e,n,r){t.onMounted((()=>{}),n),t.onUnmounted((()=>{const t=r;e.__deleteInstance(n);const a=t[ft];a&&(a(),delete t[ft])}),n)}(s,n,f),s.__setInstance(n,f)}return f}const Wt=["locale","fallbackLocale","availableLocales"],Ut=["t","rt","d","n","tm","te"];return Ne=function(e,t){if(g(e)){!E(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||Ue)(e),r=$e[n];if(r)return r;const{ast:a,detectError:l}=function(e,t={}){let n=!1;const r=t.onError||O;return t.onError=e=>{n=!0,r(e)},{...J(e,t),detectError:n}}(e,{...t,location:!1,jit:!0}),o=De(a);return l?o:$e[n]=o}{const t=e.cacheKey;return t?$e[t]||($e[t]=De(e)):De(e)}},Te=function(e,t){if(!v(e))return null;let n=te.get(t);if(n||(n=function(e){const t=[];let n,r,a,l,o,s,c,u=-1,i=0,f=0;const m=[];function _(){const t=e[u+1];if(5===i&&"'"===t||6===i&&'"'===t)return u++,a="\\"+t,m[0](),!0}for(m[0]=()=>{void 0===r?r=a:r+=a},m[1]=()=>{void 0!==r&&(t.push(r),r=void 0)},m[2]=()=>{m[0](),f++},m[3]=()=>{if(f>0)f--,i=4,m[0]();else{if(f=0,void 0===r)return!1;if(r=ee(r),!1===r)return!1;m[1]()}};null!==i;)if(u++,n=e[u],"\\"!==n||!_()){if(l=Z(n),c=Q[i],o=c[l]||c.l||8,8===o)return;if(i=o[0],void 0!==o[1]&&(s=m[o[1]],s&&(a=n,!1===s())))return;if(7===i)return t}}(t),n&&te.set(t,n)),!n)return null;const r=n.length;let a=e,l=0;for(;l<r;){const e=a[n[l]];if(void 0===e)return null;a=e,l++}return a},ye=pe,e.DatetimeFormat=Pt,e.I18nD=Ft,e.I18nInjectionKey=wt,e.I18nN=At,e.I18nT=It,e.NumberFormat=Ot,e.Translation=yt,e.VERSION=nt,e.castToVueI18n=e=>{if(!("__VUE_I18N_BRIDGE__"in e))throw Error(lt.NOT_COMPATIBLE_LEGACY_VUE_I18N);return e},e.createI18n=function(e={},n){const a=!E(e.legacy)||e.legacy,l=!E(e.globalInjection)||e.globalInjection,o=!a||!!e.allowComposition,s=new Map,[c,u]=function(e,n,r){const a=t.effectScope();{const t=n?a.run((()=>Lt(e))):a.run((()=>ht(e)));if(null==t)throw Error(lt.UNEXPECTED_ERROR);return[a,t]}}(e,a),i=r("");{const e={get mode(){return a?"legacy":"composition"},get allowComposition(){return o},async install(n,...r){if(n.__VUE_I18N_SYMBOL__=i,n.provide(n.__VUE_I18N_SYMBOL__,e),h(r[0])){const t=r[0];e.__composerExtend=t.__composerExtend,e.__vueI18nExtend=t.__vueI18nExtend}let o=null;!a&&l&&(o=function(e,n){const r=Object.create(null);Wt.forEach((e=>{const a=Object.getOwnPropertyDescriptor(n,e);if(!a)throw Error(lt.UNEXPECTED_ERROR);const l=t.isRef(a.value)?{get:()=>a.value.value,set(e){a.value.value=e}}:{get:()=>a.get&&a.get()};Object.defineProperty(r,e,l)})),e.config.globalProperties.$i18n=r,Ut.forEach((t=>{const r=Object.getOwnPropertyDescriptor(n,t);if(!r||!r.value)throw Error(lt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${t}`,r)}));const a=()=>{delete e.config.globalProperties.$i18n,Ut.forEach((t=>{delete e.config.globalProperties[`$${t}`]}))};return a}(n,e.global)),function(e,t,...n){const r=h(n[0])?n[0]:{},a=!!r.useI18nComponentName;(!E(r.globalInstall)||r.globalInstall)&&([a?"i18n":yt.name,"I18nT"].forEach((t=>e.component(t,yt))),[Ot.name,"I18nN"].forEach((t=>e.component(t,Ot))),[Pt.name,"I18nD"].forEach((t=>e.component(t,Pt)))),e.directive("t",Rt(t))}(n,e,...r),a&&n.mixin(function(e,n,r){return{beforeCreate(){const a=t.getCurrentInstance();if(!a)throw Error(lt.UNEXPECTED_ERROR);const l=this.$options;if(l.i18n){const t=l.i18n;if(l.__i18n&&(t.__i18n=l.__i18n),t.__root=n,this===this.$root)this.$i18n=Mt(e,t);else{t.__injectWithOption=!0,t.__extender=r.__vueI18nExtend,this.$i18n=Lt(t);const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}}else if(l.__i18n)if(this===this.$root)this.$i18n=Mt(e,l);else{this.$i18n=Lt({__i18n:l.__i18n,__injectWithOption:!0,__extender:r.__vueI18nExtend,__root:n});const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}else this.$i18n=e;l.__i18nGlobal&&Et(n,l,l),this.$t=(...e)=>this.$i18n.t(...e),this.$rt=(...e)=>this.$i18n.rt(...e),this.$tc=(...e)=>this.$i18n.tc(...e),this.$te=(e,t)=>this.$i18n.te(e,t),this.$d=(...e)=>this.$i18n.d(...e),this.$n=(...e)=>this.$i18n.n(...e),this.$tm=e=>this.$i18n.tm(e),r.__setInstance(a,this.$i18n)},mounted(){},unmounted(){const e=t.getCurrentInstance();if(!e)throw Error(lt.UNEXPECTED_ERROR);const n=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__disposer&&(n.__disposer(),delete n.__disposer,delete n.__extender),r.__deleteInstance(e),delete this.$i18n}}}(u,u.__composer,e));const s=n.unmount;n.unmount=()=>{o&&o(),e.dispose(),s()}},get global(){return u},dispose(){c.stop()},__instances:s,__getInstance:function(e){return s.get(e)||null},__setInstance:function(e,t){s.set(e,t)},__deleteInstance:function(e){s.delete(e)}};return e}},e.useI18n=xt,e.vTDirective=Rt,e}({},Vue);
diff --git a/src/cdh/vue3/static/cdh.vue3/vue/vue.global.js b/src/cdh/vue3/static/cdh.vue3/vue/vue.global.js
new file mode 100644
index 00000000..1db98bb1
--- /dev/null
+++ b/src/cdh/vue3/static/cdh.vue3/vue/vue.global.js
@@ -0,0 +1,15361 @@
+var Vue = (function (exports) {
+  'use strict';
+
+  function makeMap(str, expectsLowerCase) {
+    const map = /* @__PURE__ */ Object.create(null);
+    const list = str.split(",");
+    for (let i = 0; i < list.length; i++) {
+      map[list[i]] = true;
+    }
+    return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
+  }
+
+  const EMPTY_OBJ = Object.freeze({}) ;
+  const EMPTY_ARR = Object.freeze([]) ;
+  const NOOP = () => {
+  };
+  const NO = () => false;
+  const onRE = /^on[^a-z]/;
+  const isOn = (key) => onRE.test(key);
+  const isModelListener = (key) => key.startsWith("onUpdate:");
+  const extend = Object.assign;
+  const remove = (arr, el) => {
+    const i = arr.indexOf(el);
+    if (i > -1) {
+      arr.splice(i, 1);
+    }
+  };
+  const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
+  const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
+  const isArray = Array.isArray;
+  const isMap = (val) => toTypeString(val) === "[object Map]";
+  const isSet = (val) => toTypeString(val) === "[object Set]";
+  const isDate = (val) => toTypeString(val) === "[object Date]";
+  const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
+  const isFunction = (val) => typeof val === "function";
+  const isString = (val) => typeof val === "string";
+  const isSymbol = (val) => typeof val === "symbol";
+  const isObject = (val) => val !== null && typeof val === "object";
+  const isPromise = (val) => {
+    return isObject(val) && isFunction(val.then) && isFunction(val.catch);
+  };
+  const objectToString = Object.prototype.toString;
+  const toTypeString = (value) => objectToString.call(value);
+  const toRawType = (value) => {
+    return toTypeString(value).slice(8, -1);
+  };
+  const isPlainObject = (val) => toTypeString(val) === "[object Object]";
+  const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
+  const isReservedProp = /* @__PURE__ */ makeMap(
+    // the leading comma is intentional so empty string "" is also included
+    ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
+  );
+  const isBuiltInDirective = /* @__PURE__ */ makeMap(
+    "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
+  );
+  const cacheStringFunction = (fn) => {
+    const cache = /* @__PURE__ */ Object.create(null);
+    return (str) => {
+      const hit = cache[str];
+      return hit || (cache[str] = fn(str));
+    };
+  };
+  const camelizeRE = /-(\w)/g;
+  const camelize = cacheStringFunction((str) => {
+    return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
+  });
+  const hyphenateRE = /\B([A-Z])/g;
+  const hyphenate = cacheStringFunction(
+    (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
+  );
+  const capitalize = cacheStringFunction(
+    (str) => str.charAt(0).toUpperCase() + str.slice(1)
+  );
+  const toHandlerKey = cacheStringFunction(
+    (str) => str ? `on${capitalize(str)}` : ``
+  );
+  const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
+  const invokeArrayFns = (fns, arg) => {
+    for (let i = 0; i < fns.length; i++) {
+      fns[i](arg);
+    }
+  };
+  const def = (obj, key, value) => {
+    Object.defineProperty(obj, key, {
+      configurable: true,
+      enumerable: false,
+      value
+    });
+  };
+  const looseToNumber = (val) => {
+    const n = parseFloat(val);
+    return isNaN(n) ? val : n;
+  };
+  const toNumber = (val) => {
+    const n = isString(val) ? Number(val) : NaN;
+    return isNaN(n) ? val : n;
+  };
+  let _globalThis;
+  const getGlobalThis = () => {
+    return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
+  };
+
+  const PatchFlagNames = {
+    [1]: `TEXT`,
+    [2]: `CLASS`,
+    [4]: `STYLE`,
+    [8]: `PROPS`,
+    [16]: `FULL_PROPS`,
+    [32]: `HYDRATE_EVENTS`,
+    [64]: `STABLE_FRAGMENT`,
+    [128]: `KEYED_FRAGMENT`,
+    [256]: `UNKEYED_FRAGMENT`,
+    [512]: `NEED_PATCH`,
+    [1024]: `DYNAMIC_SLOTS`,
+    [2048]: `DEV_ROOT_FRAGMENT`,
+    [-1]: `HOISTED`,
+    [-2]: `BAIL`
+  };
+
+  const slotFlagsText = {
+    [1]: "STABLE",
+    [2]: "DYNAMIC",
+    [3]: "FORWARDED"
+  };
+
+  const GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console";
+  const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
+
+  const range = 2;
+  function generateCodeFrame(source, start = 0, end = source.length) {
+    let lines = source.split(/(\r?\n)/);
+    const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);
+    lines = lines.filter((_, idx) => idx % 2 === 0);
+    let count = 0;
+    const res = [];
+    for (let i = 0; i < lines.length; i++) {
+      count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);
+      if (count >= start) {
+        for (let j = i - range; j <= i + range || end > count; j++) {
+          if (j < 0 || j >= lines.length)
+            continue;
+          const line = j + 1;
+          res.push(
+            `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}|  ${lines[j]}`
+          );
+          const lineLength = lines[j].length;
+          const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;
+          if (j === i) {
+            const pad = start - (count - (lineLength + newLineSeqLength));
+            const length = Math.max(
+              1,
+              end > count ? lineLength - pad : end - start
+            );
+            res.push(`   |  ` + " ".repeat(pad) + "^".repeat(length));
+          } else if (j > i) {
+            if (end > count) {
+              const length = Math.max(Math.min(end - count, lineLength), 1);
+              res.push(`   |  ` + "^".repeat(length));
+            }
+            count += lineLength + newLineSeqLength;
+          }
+        }
+        break;
+      }
+    }
+    return res.join("\n");
+  }
+
+  function normalizeStyle(value) {
+    if (isArray(value)) {
+      const res = {};
+      for (let i = 0; i < value.length; i++) {
+        const item = value[i];
+        const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
+        if (normalized) {
+          for (const key in normalized) {
+            res[key] = normalized[key];
+          }
+        }
+      }
+      return res;
+    } else if (isString(value)) {
+      return value;
+    } else if (isObject(value)) {
+      return value;
+    }
+  }
+  const listDelimiterRE = /;(?![^(]*\))/g;
+  const propertyDelimiterRE = /:([^]+)/;
+  const styleCommentRE = /\/\*[^]*?\*\//g;
+  function parseStringStyle(cssText) {
+    const ret = {};
+    cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
+      if (item) {
+        const tmp = item.split(propertyDelimiterRE);
+        tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
+      }
+    });
+    return ret;
+  }
+  function normalizeClass(value) {
+    let res = "";
+    if (isString(value)) {
+      res = value;
+    } else if (isArray(value)) {
+      for (let i = 0; i < value.length; i++) {
+        const normalized = normalizeClass(value[i]);
+        if (normalized) {
+          res += normalized + " ";
+        }
+      }
+    } else if (isObject(value)) {
+      for (const name in value) {
+        if (value[name]) {
+          res += name + " ";
+        }
+      }
+    }
+    return res.trim();
+  }
+  function normalizeProps(props) {
+    if (!props)
+      return null;
+    let { class: klass, style } = props;
+    if (klass && !isString(klass)) {
+      props.class = normalizeClass(klass);
+    }
+    if (style) {
+      props.style = normalizeStyle(style);
+    }
+    return props;
+  }
+
+  const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
+  const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
+  const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
+  const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
+  const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
+  const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
+
+  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
+  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
+  function includeBooleanAttr(value) {
+    return !!value || value === "";
+  }
+
+  function looseCompareArrays(a, b) {
+    if (a.length !== b.length)
+      return false;
+    let equal = true;
+    for (let i = 0; equal && i < a.length; i++) {
+      equal = looseEqual(a[i], b[i]);
+    }
+    return equal;
+  }
+  function looseEqual(a, b) {
+    if (a === b)
+      return true;
+    let aValidType = isDate(a);
+    let bValidType = isDate(b);
+    if (aValidType || bValidType) {
+      return aValidType && bValidType ? a.getTime() === b.getTime() : false;
+    }
+    aValidType = isSymbol(a);
+    bValidType = isSymbol(b);
+    if (aValidType || bValidType) {
+      return a === b;
+    }
+    aValidType = isArray(a);
+    bValidType = isArray(b);
+    if (aValidType || bValidType) {
+      return aValidType && bValidType ? looseCompareArrays(a, b) : false;
+    }
+    aValidType = isObject(a);
+    bValidType = isObject(b);
+    if (aValidType || bValidType) {
+      if (!aValidType || !bValidType) {
+        return false;
+      }
+      const aKeysCount = Object.keys(a).length;
+      const bKeysCount = Object.keys(b).length;
+      if (aKeysCount !== bKeysCount) {
+        return false;
+      }
+      for (const key in a) {
+        const aHasKey = a.hasOwnProperty(key);
+        const bHasKey = b.hasOwnProperty(key);
+        if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {
+          return false;
+        }
+      }
+    }
+    return String(a) === String(b);
+  }
+  function looseIndexOf(arr, val) {
+    return arr.findIndex((item) => looseEqual(item, val));
+  }
+
+  const toDisplayString = (val) => {
+    return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
+  };
+  const replacer = (_key, val) => {
+    if (val && val.__v_isRef) {
+      return replacer(_key, val.value);
+    } else if (isMap(val)) {
+      return {
+        [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
+          entries[`${key} =>`] = val2;
+          return entries;
+        }, {})
+      };
+    } else if (isSet(val)) {
+      return {
+        [`Set(${val.size})`]: [...val.values()]
+      };
+    } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
+      return String(val);
+    }
+    return val;
+  };
+
+  function warn$1(msg, ...args) {
+    console.warn(`[Vue warn] ${msg}`, ...args);
+  }
+
+  let activeEffectScope;
+  class EffectScope {
+    constructor(detached = false) {
+      this.detached = detached;
+      /**
+       * @internal
+       */
+      this._active = true;
+      /**
+       * @internal
+       */
+      this.effects = [];
+      /**
+       * @internal
+       */
+      this.cleanups = [];
+      this.parent = activeEffectScope;
+      if (!detached && activeEffectScope) {
+        this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
+          this
+        ) - 1;
+      }
+    }
+    get active() {
+      return this._active;
+    }
+    run(fn) {
+      if (this._active) {
+        const currentEffectScope = activeEffectScope;
+        try {
+          activeEffectScope = this;
+          return fn();
+        } finally {
+          activeEffectScope = currentEffectScope;
+        }
+      } else {
+        warn$1(`cannot run an inactive effect scope.`);
+      }
+    }
+    /**
+     * This should only be called on non-detached scopes
+     * @internal
+     */
+    on() {
+      activeEffectScope = this;
+    }
+    /**
+     * This should only be called on non-detached scopes
+     * @internal
+     */
+    off() {
+      activeEffectScope = this.parent;
+    }
+    stop(fromParent) {
+      if (this._active) {
+        let i, l;
+        for (i = 0, l = this.effects.length; i < l; i++) {
+          this.effects[i].stop();
+        }
+        for (i = 0, l = this.cleanups.length; i < l; i++) {
+          this.cleanups[i]();
+        }
+        if (this.scopes) {
+          for (i = 0, l = this.scopes.length; i < l; i++) {
+            this.scopes[i].stop(true);
+          }
+        }
+        if (!this.detached && this.parent && !fromParent) {
+          const last = this.parent.scopes.pop();
+          if (last && last !== this) {
+            this.parent.scopes[this.index] = last;
+            last.index = this.index;
+          }
+        }
+        this.parent = void 0;
+        this._active = false;
+      }
+    }
+  }
+  function effectScope(detached) {
+    return new EffectScope(detached);
+  }
+  function recordEffectScope(effect, scope = activeEffectScope) {
+    if (scope && scope.active) {
+      scope.effects.push(effect);
+    }
+  }
+  function getCurrentScope() {
+    return activeEffectScope;
+  }
+  function onScopeDispose(fn) {
+    if (activeEffectScope) {
+      activeEffectScope.cleanups.push(fn);
+    } else {
+      warn$1(
+        `onScopeDispose() is called when there is no active effect scope to be associated with.`
+      );
+    }
+  }
+
+  const createDep = (effects) => {
+    const dep = new Set(effects);
+    dep.w = 0;
+    dep.n = 0;
+    return dep;
+  };
+  const wasTracked = (dep) => (dep.w & trackOpBit) > 0;
+  const newTracked = (dep) => (dep.n & trackOpBit) > 0;
+  const initDepMarkers = ({ deps }) => {
+    if (deps.length) {
+      for (let i = 0; i < deps.length; i++) {
+        deps[i].w |= trackOpBit;
+      }
+    }
+  };
+  const finalizeDepMarkers = (effect) => {
+    const { deps } = effect;
+    if (deps.length) {
+      let ptr = 0;
+      for (let i = 0; i < deps.length; i++) {
+        const dep = deps[i];
+        if (wasTracked(dep) && !newTracked(dep)) {
+          dep.delete(effect);
+        } else {
+          deps[ptr++] = dep;
+        }
+        dep.w &= ~trackOpBit;
+        dep.n &= ~trackOpBit;
+      }
+      deps.length = ptr;
+    }
+  };
+
+  const targetMap = /* @__PURE__ */ new WeakMap();
+  let effectTrackDepth = 0;
+  let trackOpBit = 1;
+  const maxMarkerBits = 30;
+  let activeEffect;
+  const ITERATE_KEY = Symbol("iterate" );
+  const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate" );
+  class ReactiveEffect {
+    constructor(fn, scheduler = null, scope) {
+      this.fn = fn;
+      this.scheduler = scheduler;
+      this.active = true;
+      this.deps = [];
+      this.parent = void 0;
+      recordEffectScope(this, scope);
+    }
+    run() {
+      if (!this.active) {
+        return this.fn();
+      }
+      let parent = activeEffect;
+      let lastShouldTrack = shouldTrack;
+      while (parent) {
+        if (parent === this) {
+          return;
+        }
+        parent = parent.parent;
+      }
+      try {
+        this.parent = activeEffect;
+        activeEffect = this;
+        shouldTrack = true;
+        trackOpBit = 1 << ++effectTrackDepth;
+        if (effectTrackDepth <= maxMarkerBits) {
+          initDepMarkers(this);
+        } else {
+          cleanupEffect(this);
+        }
+        return this.fn();
+      } finally {
+        if (effectTrackDepth <= maxMarkerBits) {
+          finalizeDepMarkers(this);
+        }
+        trackOpBit = 1 << --effectTrackDepth;
+        activeEffect = this.parent;
+        shouldTrack = lastShouldTrack;
+        this.parent = void 0;
+        if (this.deferStop) {
+          this.stop();
+        }
+      }
+    }
+    stop() {
+      if (activeEffect === this) {
+        this.deferStop = true;
+      } else if (this.active) {
+        cleanupEffect(this);
+        if (this.onStop) {
+          this.onStop();
+        }
+        this.active = false;
+      }
+    }
+  }
+  function cleanupEffect(effect2) {
+    const { deps } = effect2;
+    if (deps.length) {
+      for (let i = 0; i < deps.length; i++) {
+        deps[i].delete(effect2);
+      }
+      deps.length = 0;
+    }
+  }
+  function effect(fn, options) {
+    if (fn.effect) {
+      fn = fn.effect.fn;
+    }
+    const _effect = new ReactiveEffect(fn);
+    if (options) {
+      extend(_effect, options);
+      if (options.scope)
+        recordEffectScope(_effect, options.scope);
+    }
+    if (!options || !options.lazy) {
+      _effect.run();
+    }
+    const runner = _effect.run.bind(_effect);
+    runner.effect = _effect;
+    return runner;
+  }
+  function stop(runner) {
+    runner.effect.stop();
+  }
+  let shouldTrack = true;
+  const trackStack = [];
+  function pauseTracking() {
+    trackStack.push(shouldTrack);
+    shouldTrack = false;
+  }
+  function resetTracking() {
+    const last = trackStack.pop();
+    shouldTrack = last === void 0 ? true : last;
+  }
+  function track(target, type, key) {
+    if (shouldTrack && activeEffect) {
+      let depsMap = targetMap.get(target);
+      if (!depsMap) {
+        targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
+      }
+      let dep = depsMap.get(key);
+      if (!dep) {
+        depsMap.set(key, dep = createDep());
+      }
+      const eventInfo = { effect: activeEffect, target, type, key } ;
+      trackEffects(dep, eventInfo);
+    }
+  }
+  function trackEffects(dep, debuggerEventExtraInfo) {
+    let shouldTrack2 = false;
+    if (effectTrackDepth <= maxMarkerBits) {
+      if (!newTracked(dep)) {
+        dep.n |= trackOpBit;
+        shouldTrack2 = !wasTracked(dep);
+      }
+    } else {
+      shouldTrack2 = !dep.has(activeEffect);
+    }
+    if (shouldTrack2) {
+      dep.add(activeEffect);
+      activeEffect.deps.push(dep);
+      if (activeEffect.onTrack) {
+        activeEffect.onTrack(
+          extend(
+            {
+              effect: activeEffect
+            },
+            debuggerEventExtraInfo
+          )
+        );
+      }
+    }
+  }
+  function trigger(target, type, key, newValue, oldValue, oldTarget) {
+    const depsMap = targetMap.get(target);
+    if (!depsMap) {
+      return;
+    }
+    let deps = [];
+    if (type === "clear") {
+      deps = [...depsMap.values()];
+    } else if (key === "length" && isArray(target)) {
+      const newLength = Number(newValue);
+      depsMap.forEach((dep, key2) => {
+        if (key2 === "length" || key2 >= newLength) {
+          deps.push(dep);
+        }
+      });
+    } else {
+      if (key !== void 0) {
+        deps.push(depsMap.get(key));
+      }
+      switch (type) {
+        case "add":
+          if (!isArray(target)) {
+            deps.push(depsMap.get(ITERATE_KEY));
+            if (isMap(target)) {
+              deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
+            }
+          } else if (isIntegerKey(key)) {
+            deps.push(depsMap.get("length"));
+          }
+          break;
+        case "delete":
+          if (!isArray(target)) {
+            deps.push(depsMap.get(ITERATE_KEY));
+            if (isMap(target)) {
+              deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
+            }
+          }
+          break;
+        case "set":
+          if (isMap(target)) {
+            deps.push(depsMap.get(ITERATE_KEY));
+          }
+          break;
+      }
+    }
+    const eventInfo = { target, type, key, newValue, oldValue, oldTarget } ;
+    if (deps.length === 1) {
+      if (deps[0]) {
+        {
+          triggerEffects(deps[0], eventInfo);
+        }
+      }
+    } else {
+      const effects = [];
+      for (const dep of deps) {
+        if (dep) {
+          effects.push(...dep);
+        }
+      }
+      {
+        triggerEffects(createDep(effects), eventInfo);
+      }
+    }
+  }
+  function triggerEffects(dep, debuggerEventExtraInfo) {
+    const effects = isArray(dep) ? dep : [...dep];
+    for (const effect2 of effects) {
+      if (effect2.computed) {
+        triggerEffect(effect2, debuggerEventExtraInfo);
+      }
+    }
+    for (const effect2 of effects) {
+      if (!effect2.computed) {
+        triggerEffect(effect2, debuggerEventExtraInfo);
+      }
+    }
+  }
+  function triggerEffect(effect2, debuggerEventExtraInfo) {
+    if (effect2 !== activeEffect || effect2.allowRecurse) {
+      if (effect2.onTrigger) {
+        effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));
+      }
+      if (effect2.scheduler) {
+        effect2.scheduler();
+      } else {
+        effect2.run();
+      }
+    }
+  }
+  function getDepFromReactive(object, key) {
+    var _a;
+    return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
+  }
+
+  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
+  const builtInSymbols = new Set(
+    /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
+  );
+  const get$1 = /* @__PURE__ */ createGetter();
+  const shallowGet = /* @__PURE__ */ createGetter(false, true);
+  const readonlyGet = /* @__PURE__ */ createGetter(true);
+  const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
+  const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
+  function createArrayInstrumentations() {
+    const instrumentations = {};
+    ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
+      instrumentations[key] = function(...args) {
+        const arr = toRaw(this);
+        for (let i = 0, l = this.length; i < l; i++) {
+          track(arr, "get", i + "");
+        }
+        const res = arr[key](...args);
+        if (res === -1 || res === false) {
+          return arr[key](...args.map(toRaw));
+        } else {
+          return res;
+        }
+      };
+    });
+    ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
+      instrumentations[key] = function(...args) {
+        pauseTracking();
+        const res = toRaw(this)[key].apply(this, args);
+        resetTracking();
+        return res;
+      };
+    });
+    return instrumentations;
+  }
+  function hasOwnProperty(key) {
+    const obj = toRaw(this);
+    track(obj, "has", key);
+    return obj.hasOwnProperty(key);
+  }
+  function createGetter(isReadonly2 = false, shallow = false) {
+    return function get2(target, key, receiver) {
+      if (key === "__v_isReactive") {
+        return !isReadonly2;
+      } else if (key === "__v_isReadonly") {
+        return isReadonly2;
+      } else if (key === "__v_isShallow") {
+        return shallow;
+      } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
+        return target;
+      }
+      const targetIsArray = isArray(target);
+      if (!isReadonly2) {
+        if (targetIsArray && hasOwn(arrayInstrumentations, key)) {
+          return Reflect.get(arrayInstrumentations, key, receiver);
+        }
+        if (key === "hasOwnProperty") {
+          return hasOwnProperty;
+        }
+      }
+      const res = Reflect.get(target, key, receiver);
+      if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
+        return res;
+      }
+      if (!isReadonly2) {
+        track(target, "get", key);
+      }
+      if (shallow) {
+        return res;
+      }
+      if (isRef(res)) {
+        return targetIsArray && isIntegerKey(key) ? res : res.value;
+      }
+      if (isObject(res)) {
+        return isReadonly2 ? readonly(res) : reactive(res);
+      }
+      return res;
+    };
+  }
+  const set$1 = /* @__PURE__ */ createSetter();
+  const shallowSet = /* @__PURE__ */ createSetter(true);
+  function createSetter(shallow = false) {
+    return function set2(target, key, value, receiver) {
+      let oldValue = target[key];
+      if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
+        return false;
+      }
+      if (!shallow) {
+        if (!isShallow(value) && !isReadonly(value)) {
+          oldValue = toRaw(oldValue);
+          value = toRaw(value);
+        }
+        if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
+          oldValue.value = value;
+          return true;
+        }
+      }
+      const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);
+      const result = Reflect.set(target, key, value, receiver);
+      if (target === toRaw(receiver)) {
+        if (!hadKey) {
+          trigger(target, "add", key, value);
+        } else if (hasChanged(value, oldValue)) {
+          trigger(target, "set", key, value, oldValue);
+        }
+      }
+      return result;
+    };
+  }
+  function deleteProperty(target, key) {
+    const hadKey = hasOwn(target, key);
+    const oldValue = target[key];
+    const result = Reflect.deleteProperty(target, key);
+    if (result && hadKey) {
+      trigger(target, "delete", key, void 0, oldValue);
+    }
+    return result;
+  }
+  function has$1(target, key) {
+    const result = Reflect.has(target, key);
+    if (!isSymbol(key) || !builtInSymbols.has(key)) {
+      track(target, "has", key);
+    }
+    return result;
+  }
+  function ownKeys(target) {
+    track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY);
+    return Reflect.ownKeys(target);
+  }
+  const mutableHandlers = {
+    get: get$1,
+    set: set$1,
+    deleteProperty,
+    has: has$1,
+    ownKeys
+  };
+  const readonlyHandlers = {
+    get: readonlyGet,
+    set(target, key) {
+      {
+        warn$1(
+          `Set operation on key "${String(key)}" failed: target is readonly.`,
+          target
+        );
+      }
+      return true;
+    },
+    deleteProperty(target, key) {
+      {
+        warn$1(
+          `Delete operation on key "${String(key)}" failed: target is readonly.`,
+          target
+        );
+      }
+      return true;
+    }
+  };
+  const shallowReactiveHandlers = /* @__PURE__ */ extend(
+    {},
+    mutableHandlers,
+    {
+      get: shallowGet,
+      set: shallowSet
+    }
+  );
+  const shallowReadonlyHandlers = /* @__PURE__ */ extend(
+    {},
+    readonlyHandlers,
+    {
+      get: shallowReadonlyGet
+    }
+  );
+
+  const toShallow = (value) => value;
+  const getProto = (v) => Reflect.getPrototypeOf(v);
+  function get(target, key, isReadonly = false, isShallow = false) {
+    target = target["__v_raw"];
+    const rawTarget = toRaw(target);
+    const rawKey = toRaw(key);
+    if (!isReadonly) {
+      if (key !== rawKey) {
+        track(rawTarget, "get", key);
+      }
+      track(rawTarget, "get", rawKey);
+    }
+    const { has: has2 } = getProto(rawTarget);
+    const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
+    if (has2.call(rawTarget, key)) {
+      return wrap(target.get(key));
+    } else if (has2.call(rawTarget, rawKey)) {
+      return wrap(target.get(rawKey));
+    } else if (target !== rawTarget) {
+      target.get(key);
+    }
+  }
+  function has(key, isReadonly = false) {
+    const target = this["__v_raw"];
+    const rawTarget = toRaw(target);
+    const rawKey = toRaw(key);
+    if (!isReadonly) {
+      if (key !== rawKey) {
+        track(rawTarget, "has", key);
+      }
+      track(rawTarget, "has", rawKey);
+    }
+    return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
+  }
+  function size(target, isReadonly = false) {
+    target = target["__v_raw"];
+    !isReadonly && track(toRaw(target), "iterate", ITERATE_KEY);
+    return Reflect.get(target, "size", target);
+  }
+  function add(value) {
+    value = toRaw(value);
+    const target = toRaw(this);
+    const proto = getProto(target);
+    const hadKey = proto.has.call(target, value);
+    if (!hadKey) {
+      target.add(value);
+      trigger(target, "add", value, value);
+    }
+    return this;
+  }
+  function set(key, value) {
+    value = toRaw(value);
+    const target = toRaw(this);
+    const { has: has2, get: get2 } = getProto(target);
+    let hadKey = has2.call(target, key);
+    if (!hadKey) {
+      key = toRaw(key);
+      hadKey = has2.call(target, key);
+    } else {
+      checkIdentityKeys(target, has2, key);
+    }
+    const oldValue = get2.call(target, key);
+    target.set(key, value);
+    if (!hadKey) {
+      trigger(target, "add", key, value);
+    } else if (hasChanged(value, oldValue)) {
+      trigger(target, "set", key, value, oldValue);
+    }
+    return this;
+  }
+  function deleteEntry(key) {
+    const target = toRaw(this);
+    const { has: has2, get: get2 } = getProto(target);
+    let hadKey = has2.call(target, key);
+    if (!hadKey) {
+      key = toRaw(key);
+      hadKey = has2.call(target, key);
+    } else {
+      checkIdentityKeys(target, has2, key);
+    }
+    const oldValue = get2 ? get2.call(target, key) : void 0;
+    const result = target.delete(key);
+    if (hadKey) {
+      trigger(target, "delete", key, void 0, oldValue);
+    }
+    return result;
+  }
+  function clear() {
+    const target = toRaw(this);
+    const hadItems = target.size !== 0;
+    const oldTarget = isMap(target) ? new Map(target) : new Set(target) ;
+    const result = target.clear();
+    if (hadItems) {
+      trigger(target, "clear", void 0, void 0, oldTarget);
+    }
+    return result;
+  }
+  function createForEach(isReadonly, isShallow) {
+    return function forEach(callback, thisArg) {
+      const observed = this;
+      const target = observed["__v_raw"];
+      const rawTarget = toRaw(target);
+      const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
+      !isReadonly && track(rawTarget, "iterate", ITERATE_KEY);
+      return target.forEach((value, key) => {
+        return callback.call(thisArg, wrap(value), wrap(key), observed);
+      });
+    };
+  }
+  function createIterableMethod(method, isReadonly, isShallow) {
+    return function(...args) {
+      const target = this["__v_raw"];
+      const rawTarget = toRaw(target);
+      const targetIsMap = isMap(rawTarget);
+      const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
+      const isKeyOnly = method === "keys" && targetIsMap;
+      const innerIterator = target[method](...args);
+      const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
+      !isReadonly && track(
+        rawTarget,
+        "iterate",
+        isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
+      );
+      return {
+        // iterator protocol
+        next() {
+          const { value, done } = innerIterator.next();
+          return done ? { value, done } : {
+            value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
+            done
+          };
+        },
+        // iterable protocol
+        [Symbol.iterator]() {
+          return this;
+        }
+      };
+    };
+  }
+  function createReadonlyMethod(type) {
+    return function(...args) {
+      {
+        const key = args[0] ? `on key "${args[0]}" ` : ``;
+        console.warn(
+          `${capitalize(type)} operation ${key}failed: target is readonly.`,
+          toRaw(this)
+        );
+      }
+      return type === "delete" ? false : this;
+    };
+  }
+  function createInstrumentations() {
+    const mutableInstrumentations2 = {
+      get(key) {
+        return get(this, key);
+      },
+      get size() {
+        return size(this);
+      },
+      has,
+      add,
+      set,
+      delete: deleteEntry,
+      clear,
+      forEach: createForEach(false, false)
+    };
+    const shallowInstrumentations2 = {
+      get(key) {
+        return get(this, key, false, true);
+      },
+      get size() {
+        return size(this);
+      },
+      has,
+      add,
+      set,
+      delete: deleteEntry,
+      clear,
+      forEach: createForEach(false, true)
+    };
+    const readonlyInstrumentations2 = {
+      get(key) {
+        return get(this, key, true);
+      },
+      get size() {
+        return size(this, true);
+      },
+      has(key) {
+        return has.call(this, key, true);
+      },
+      add: createReadonlyMethod("add"),
+      set: createReadonlyMethod("set"),
+      delete: createReadonlyMethod("delete"),
+      clear: createReadonlyMethod("clear"),
+      forEach: createForEach(true, false)
+    };
+    const shallowReadonlyInstrumentations2 = {
+      get(key) {
+        return get(this, key, true, true);
+      },
+      get size() {
+        return size(this, true);
+      },
+      has(key) {
+        return has.call(this, key, true);
+      },
+      add: createReadonlyMethod("add"),
+      set: createReadonlyMethod("set"),
+      delete: createReadonlyMethod("delete"),
+      clear: createReadonlyMethod("clear"),
+      forEach: createForEach(true, true)
+    };
+    const iteratorMethods = ["keys", "values", "entries", Symbol.iterator];
+    iteratorMethods.forEach((method) => {
+      mutableInstrumentations2[method] = createIterableMethod(
+        method,
+        false,
+        false
+      );
+      readonlyInstrumentations2[method] = createIterableMethod(
+        method,
+        true,
+        false
+      );
+      shallowInstrumentations2[method] = createIterableMethod(
+        method,
+        false,
+        true
+      );
+      shallowReadonlyInstrumentations2[method] = createIterableMethod(
+        method,
+        true,
+        true
+      );
+    });
+    return [
+      mutableInstrumentations2,
+      readonlyInstrumentations2,
+      shallowInstrumentations2,
+      shallowReadonlyInstrumentations2
+    ];
+  }
+  const [
+    mutableInstrumentations,
+    readonlyInstrumentations,
+    shallowInstrumentations,
+    shallowReadonlyInstrumentations
+  ] = /* @__PURE__ */ createInstrumentations();
+  function createInstrumentationGetter(isReadonly, shallow) {
+    const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;
+    return (target, key, receiver) => {
+      if (key === "__v_isReactive") {
+        return !isReadonly;
+      } else if (key === "__v_isReadonly") {
+        return isReadonly;
+      } else if (key === "__v_raw") {
+        return target;
+      }
+      return Reflect.get(
+        hasOwn(instrumentations, key) && key in target ? instrumentations : target,
+        key,
+        receiver
+      );
+    };
+  }
+  const mutableCollectionHandlers = {
+    get: /* @__PURE__ */ createInstrumentationGetter(false, false)
+  };
+  const shallowCollectionHandlers = {
+    get: /* @__PURE__ */ createInstrumentationGetter(false, true)
+  };
+  const readonlyCollectionHandlers = {
+    get: /* @__PURE__ */ createInstrumentationGetter(true, false)
+  };
+  const shallowReadonlyCollectionHandlers = {
+    get: /* @__PURE__ */ createInstrumentationGetter(true, true)
+  };
+  function checkIdentityKeys(target, has2, key) {
+    const rawKey = toRaw(key);
+    if (rawKey !== key && has2.call(target, rawKey)) {
+      const type = toRawType(target);
+      console.warn(
+        `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
+      );
+    }
+  }
+
+  const reactiveMap = /* @__PURE__ */ new WeakMap();
+  const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
+  const readonlyMap = /* @__PURE__ */ new WeakMap();
+  const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
+  function targetTypeMap(rawType) {
+    switch (rawType) {
+      case "Object":
+      case "Array":
+        return 1 /* COMMON */;
+      case "Map":
+      case "Set":
+      case "WeakMap":
+      case "WeakSet":
+        return 2 /* COLLECTION */;
+      default:
+        return 0 /* INVALID */;
+    }
+  }
+  function getTargetType(value) {
+    return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
+  }
+  function reactive(target) {
+    if (isReadonly(target)) {
+      return target;
+    }
+    return createReactiveObject(
+      target,
+      false,
+      mutableHandlers,
+      mutableCollectionHandlers,
+      reactiveMap
+    );
+  }
+  function shallowReactive(target) {
+    return createReactiveObject(
+      target,
+      false,
+      shallowReactiveHandlers,
+      shallowCollectionHandlers,
+      shallowReactiveMap
+    );
+  }
+  function readonly(target) {
+    return createReactiveObject(
+      target,
+      true,
+      readonlyHandlers,
+      readonlyCollectionHandlers,
+      readonlyMap
+    );
+  }
+  function shallowReadonly(target) {
+    return createReactiveObject(
+      target,
+      true,
+      shallowReadonlyHandlers,
+      shallowReadonlyCollectionHandlers,
+      shallowReadonlyMap
+    );
+  }
+  function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
+    if (!isObject(target)) {
+      {
+        console.warn(`value cannot be made reactive: ${String(target)}`);
+      }
+      return target;
+    }
+    if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
+      return target;
+    }
+    const existingProxy = proxyMap.get(target);
+    if (existingProxy) {
+      return existingProxy;
+    }
+    const targetType = getTargetType(target);
+    if (targetType === 0 /* INVALID */) {
+      return target;
+    }
+    const proxy = new Proxy(
+      target,
+      targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
+    );
+    proxyMap.set(target, proxy);
+    return proxy;
+  }
+  function isReactive(value) {
+    if (isReadonly(value)) {
+      return isReactive(value["__v_raw"]);
+    }
+    return !!(value && value["__v_isReactive"]);
+  }
+  function isReadonly(value) {
+    return !!(value && value["__v_isReadonly"]);
+  }
+  function isShallow(value) {
+    return !!(value && value["__v_isShallow"]);
+  }
+  function isProxy(value) {
+    return isReactive(value) || isReadonly(value);
+  }
+  function toRaw(observed) {
+    const raw = observed && observed["__v_raw"];
+    return raw ? toRaw(raw) : observed;
+  }
+  function markRaw(value) {
+    def(value, "__v_skip", true);
+    return value;
+  }
+  const toReactive = (value) => isObject(value) ? reactive(value) : value;
+  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
+
+  function trackRefValue(ref2) {
+    if (shouldTrack && activeEffect) {
+      ref2 = toRaw(ref2);
+      {
+        trackEffects(ref2.dep || (ref2.dep = createDep()), {
+          target: ref2,
+          type: "get",
+          key: "value"
+        });
+      }
+    }
+  }
+  function triggerRefValue(ref2, newVal) {
+    ref2 = toRaw(ref2);
+    const dep = ref2.dep;
+    if (dep) {
+      {
+        triggerEffects(dep, {
+          target: ref2,
+          type: "set",
+          key: "value",
+          newValue: newVal
+        });
+      }
+    }
+  }
+  function isRef(r) {
+    return !!(r && r.__v_isRef === true);
+  }
+  function ref(value) {
+    return createRef(value, false);
+  }
+  function shallowRef(value) {
+    return createRef(value, true);
+  }
+  function createRef(rawValue, shallow) {
+    if (isRef(rawValue)) {
+      return rawValue;
+    }
+    return new RefImpl(rawValue, shallow);
+  }
+  class RefImpl {
+    constructor(value, __v_isShallow) {
+      this.__v_isShallow = __v_isShallow;
+      this.dep = void 0;
+      this.__v_isRef = true;
+      this._rawValue = __v_isShallow ? value : toRaw(value);
+      this._value = __v_isShallow ? value : toReactive(value);
+    }
+    get value() {
+      trackRefValue(this);
+      return this._value;
+    }
+    set value(newVal) {
+      const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
+      newVal = useDirectValue ? newVal : toRaw(newVal);
+      if (hasChanged(newVal, this._rawValue)) {
+        this._rawValue = newVal;
+        this._value = useDirectValue ? newVal : toReactive(newVal);
+        triggerRefValue(this, newVal);
+      }
+    }
+  }
+  function triggerRef(ref2) {
+    triggerRefValue(ref2, ref2.value );
+  }
+  function unref(ref2) {
+    return isRef(ref2) ? ref2.value : ref2;
+  }
+  function toValue(source) {
+    return isFunction(source) ? source() : unref(source);
+  }
+  const shallowUnwrapHandlers = {
+    get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
+    set: (target, key, value, receiver) => {
+      const oldValue = target[key];
+      if (isRef(oldValue) && !isRef(value)) {
+        oldValue.value = value;
+        return true;
+      } else {
+        return Reflect.set(target, key, value, receiver);
+      }
+    }
+  };
+  function proxyRefs(objectWithRefs) {
+    return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
+  }
+  class CustomRefImpl {
+    constructor(factory) {
+      this.dep = void 0;
+      this.__v_isRef = true;
+      const { get, set } = factory(
+        () => trackRefValue(this),
+        () => triggerRefValue(this)
+      );
+      this._get = get;
+      this._set = set;
+    }
+    get value() {
+      return this._get();
+    }
+    set value(newVal) {
+      this._set(newVal);
+    }
+  }
+  function customRef(factory) {
+    return new CustomRefImpl(factory);
+  }
+  function toRefs(object) {
+    if (!isProxy(object)) {
+      console.warn(`toRefs() expects a reactive object but received a plain one.`);
+    }
+    const ret = isArray(object) ? new Array(object.length) : {};
+    for (const key in object) {
+      ret[key] = propertyToRef(object, key);
+    }
+    return ret;
+  }
+  class ObjectRefImpl {
+    constructor(_object, _key, _defaultValue) {
+      this._object = _object;
+      this._key = _key;
+      this._defaultValue = _defaultValue;
+      this.__v_isRef = true;
+    }
+    get value() {
+      const val = this._object[this._key];
+      return val === void 0 ? this._defaultValue : val;
+    }
+    set value(newVal) {
+      this._object[this._key] = newVal;
+    }
+    get dep() {
+      return getDepFromReactive(toRaw(this._object), this._key);
+    }
+  }
+  class GetterRefImpl {
+    constructor(_getter) {
+      this._getter = _getter;
+      this.__v_isRef = true;
+      this.__v_isReadonly = true;
+    }
+    get value() {
+      return this._getter();
+    }
+  }
+  function toRef(source, key, defaultValue) {
+    if (isRef(source)) {
+      return source;
+    } else if (isFunction(source)) {
+      return new GetterRefImpl(source);
+    } else if (isObject(source) && arguments.length > 1) {
+      return propertyToRef(source, key, defaultValue);
+    } else {
+      return ref(source);
+    }
+  }
+  function propertyToRef(source, key, defaultValue) {
+    const val = source[key];
+    return isRef(val) ? val : new ObjectRefImpl(
+      source,
+      key,
+      defaultValue
+    );
+  }
+
+  class ComputedRefImpl {
+    constructor(getter, _setter, isReadonly, isSSR) {
+      this._setter = _setter;
+      this.dep = void 0;
+      this.__v_isRef = true;
+      this["__v_isReadonly"] = false;
+      this._dirty = true;
+      this.effect = new ReactiveEffect(getter, () => {
+        if (!this._dirty) {
+          this._dirty = true;
+          triggerRefValue(this);
+        }
+      });
+      this.effect.computed = this;
+      this.effect.active = this._cacheable = !isSSR;
+      this["__v_isReadonly"] = isReadonly;
+    }
+    get value() {
+      const self = toRaw(this);
+      trackRefValue(self);
+      if (self._dirty || !self._cacheable) {
+        self._dirty = false;
+        self._value = self.effect.run();
+      }
+      return self._value;
+    }
+    set value(newValue) {
+      this._setter(newValue);
+    }
+  }
+  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
+    let getter;
+    let setter;
+    const onlyGetter = isFunction(getterOrOptions);
+    if (onlyGetter) {
+      getter = getterOrOptions;
+      setter = () => {
+        console.warn("Write operation failed: computed value is readonly");
+      } ;
+    } else {
+      getter = getterOrOptions.get;
+      setter = getterOrOptions.set;
+    }
+    const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
+    if (debugOptions && !isSSR) {
+      cRef.effect.onTrack = debugOptions.onTrack;
+      cRef.effect.onTrigger = debugOptions.onTrigger;
+    }
+    return cRef;
+  }
+
+  const stack = [];
+  function pushWarningContext(vnode) {
+    stack.push(vnode);
+  }
+  function popWarningContext() {
+    stack.pop();
+  }
+  function warn(msg, ...args) {
+    pauseTracking();
+    const instance = stack.length ? stack[stack.length - 1].component : null;
+    const appWarnHandler = instance && instance.appContext.config.warnHandler;
+    const trace = getComponentTrace();
+    if (appWarnHandler) {
+      callWithErrorHandling(
+        appWarnHandler,
+        instance,
+        11,
+        [
+          msg + args.join(""),
+          instance && instance.proxy,
+          trace.map(
+            ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`
+          ).join("\n"),
+          trace
+        ]
+      );
+    } else {
+      const warnArgs = [`[Vue warn]: ${msg}`, ...args];
+      if (trace.length && // avoid spamming console during tests
+      true) {
+        warnArgs.push(`
+`, ...formatTrace(trace));
+      }
+      console.warn(...warnArgs);
+    }
+    resetTracking();
+  }
+  function getComponentTrace() {
+    let currentVNode = stack[stack.length - 1];
+    if (!currentVNode) {
+      return [];
+    }
+    const normalizedStack = [];
+    while (currentVNode) {
+      const last = normalizedStack[0];
+      if (last && last.vnode === currentVNode) {
+        last.recurseCount++;
+      } else {
+        normalizedStack.push({
+          vnode: currentVNode,
+          recurseCount: 0
+        });
+      }
+      const parentInstance = currentVNode.component && currentVNode.component.parent;
+      currentVNode = parentInstance && parentInstance.vnode;
+    }
+    return normalizedStack;
+  }
+  function formatTrace(trace) {
+    const logs = [];
+    trace.forEach((entry, i) => {
+      logs.push(...i === 0 ? [] : [`
+`], ...formatTraceEntry(entry));
+    });
+    return logs;
+  }
+  function formatTraceEntry({ vnode, recurseCount }) {
+    const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
+    const isRoot = vnode.component ? vnode.component.parent == null : false;
+    const open = ` at <${formatComponentName(
+    vnode.component,
+    vnode.type,
+    isRoot
+  )}`;
+    const close = `>` + postfix;
+    return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
+  }
+  function formatProps(props) {
+    const res = [];
+    const keys = Object.keys(props);
+    keys.slice(0, 3).forEach((key) => {
+      res.push(...formatProp(key, props[key]));
+    });
+    if (keys.length > 3) {
+      res.push(` ...`);
+    }
+    return res;
+  }
+  function formatProp(key, value, raw) {
+    if (isString(value)) {
+      value = JSON.stringify(value);
+      return raw ? value : [`${key}=${value}`];
+    } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
+      return raw ? value : [`${key}=${value}`];
+    } else if (isRef(value)) {
+      value = formatProp(key, toRaw(value.value), true);
+      return raw ? value : [`${key}=Ref<`, value, `>`];
+    } else if (isFunction(value)) {
+      return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
+    } else {
+      value = toRaw(value);
+      return raw ? value : [`${key}=`, value];
+    }
+  }
+  function assertNumber(val, type) {
+    if (val === void 0) {
+      return;
+    } else if (typeof val !== "number") {
+      warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
+    } else if (isNaN(val)) {
+      warn(`${type} is NaN - the duration expression might be incorrect.`);
+    }
+  }
+
+  const ErrorTypeStrings = {
+    ["sp"]: "serverPrefetch hook",
+    ["bc"]: "beforeCreate hook",
+    ["c"]: "created hook",
+    ["bm"]: "beforeMount hook",
+    ["m"]: "mounted hook",
+    ["bu"]: "beforeUpdate hook",
+    ["u"]: "updated",
+    ["bum"]: "beforeUnmount hook",
+    ["um"]: "unmounted hook",
+    ["a"]: "activated hook",
+    ["da"]: "deactivated hook",
+    ["ec"]: "errorCaptured hook",
+    ["rtc"]: "renderTracked hook",
+    ["rtg"]: "renderTriggered hook",
+    [0]: "setup function",
+    [1]: "render function",
+    [2]: "watcher getter",
+    [3]: "watcher callback",
+    [4]: "watcher cleanup function",
+    [5]: "native event handler",
+    [6]: "component event handler",
+    [7]: "vnode hook",
+    [8]: "directive hook",
+    [9]: "transition hook",
+    [10]: "app errorHandler",
+    [11]: "app warnHandler",
+    [12]: "ref function",
+    [13]: "async component loader",
+    [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"
+  };
+  function callWithErrorHandling(fn, instance, type, args) {
+    let res;
+    try {
+      res = args ? fn(...args) : fn();
+    } catch (err) {
+      handleError(err, instance, type);
+    }
+    return res;
+  }
+  function callWithAsyncErrorHandling(fn, instance, type, args) {
+    if (isFunction(fn)) {
+      const res = callWithErrorHandling(fn, instance, type, args);
+      if (res && isPromise(res)) {
+        res.catch((err) => {
+          handleError(err, instance, type);
+        });
+      }
+      return res;
+    }
+    const values = [];
+    for (let i = 0; i < fn.length; i++) {
+      values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));
+    }
+    return values;
+  }
+  function handleError(err, instance, type, throwInDev = true) {
+    const contextVNode = instance ? instance.vnode : null;
+    if (instance) {
+      let cur = instance.parent;
+      const exposedInstance = instance.proxy;
+      const errorInfo = ErrorTypeStrings[type] ;
+      while (cur) {
+        const errorCapturedHooks = cur.ec;
+        if (errorCapturedHooks) {
+          for (let i = 0; i < errorCapturedHooks.length; i++) {
+            if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
+              return;
+            }
+          }
+        }
+        cur = cur.parent;
+      }
+      const appErrorHandler = instance.appContext.config.errorHandler;
+      if (appErrorHandler) {
+        callWithErrorHandling(
+          appErrorHandler,
+          null,
+          10,
+          [err, exposedInstance, errorInfo]
+        );
+        return;
+      }
+    }
+    logError(err, type, contextVNode, throwInDev);
+  }
+  function logError(err, type, contextVNode, throwInDev = true) {
+    {
+      const info = ErrorTypeStrings[type];
+      if (contextVNode) {
+        pushWarningContext(contextVNode);
+      }
+      warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
+      if (contextVNode) {
+        popWarningContext();
+      }
+      if (throwInDev) {
+        throw err;
+      } else {
+        console.error(err);
+      }
+    }
+  }
+
+  let isFlushing = false;
+  let isFlushPending = false;
+  const queue = [];
+  let flushIndex = 0;
+  const pendingPostFlushCbs = [];
+  let activePostFlushCbs = null;
+  let postFlushIndex = 0;
+  const resolvedPromise = /* @__PURE__ */ Promise.resolve();
+  let currentFlushPromise = null;
+  const RECURSION_LIMIT = 100;
+  function nextTick(fn) {
+    const p = currentFlushPromise || resolvedPromise;
+    return fn ? p.then(this ? fn.bind(this) : fn) : p;
+  }
+  function findInsertionIndex(id) {
+    let start = flushIndex + 1;
+    let end = queue.length;
+    while (start < end) {
+      const middle = start + end >>> 1;
+      const middleJobId = getId(queue[middle]);
+      middleJobId < id ? start = middle + 1 : end = middle;
+    }
+    return start;
+  }
+  function queueJob(job) {
+    if (!queue.length || !queue.includes(
+      job,
+      isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
+    )) {
+      if (job.id == null) {
+        queue.push(job);
+      } else {
+        queue.splice(findInsertionIndex(job.id), 0, job);
+      }
+      queueFlush();
+    }
+  }
+  function queueFlush() {
+    if (!isFlushing && !isFlushPending) {
+      isFlushPending = true;
+      currentFlushPromise = resolvedPromise.then(flushJobs);
+    }
+  }
+  function invalidateJob(job) {
+    const i = queue.indexOf(job);
+    if (i > flushIndex) {
+      queue.splice(i, 1);
+    }
+  }
+  function queuePostFlushCb(cb) {
+    if (!isArray(cb)) {
+      if (!activePostFlushCbs || !activePostFlushCbs.includes(
+        cb,
+        cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex
+      )) {
+        pendingPostFlushCbs.push(cb);
+      }
+    } else {
+      pendingPostFlushCbs.push(...cb);
+    }
+    queueFlush();
+  }
+  function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {
+    {
+      seen = seen || /* @__PURE__ */ new Map();
+    }
+    for (; i < queue.length; i++) {
+      const cb = queue[i];
+      if (cb && cb.pre) {
+        if (checkRecursiveUpdates(seen, cb)) {
+          continue;
+        }
+        queue.splice(i, 1);
+        i--;
+        cb();
+      }
+    }
+  }
+  function flushPostFlushCbs(seen) {
+    if (pendingPostFlushCbs.length) {
+      const deduped = [...new Set(pendingPostFlushCbs)];
+      pendingPostFlushCbs.length = 0;
+      if (activePostFlushCbs) {
+        activePostFlushCbs.push(...deduped);
+        return;
+      }
+      activePostFlushCbs = deduped;
+      {
+        seen = seen || /* @__PURE__ */ new Map();
+      }
+      activePostFlushCbs.sort((a, b) => getId(a) - getId(b));
+      for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
+        if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
+          continue;
+        }
+        activePostFlushCbs[postFlushIndex]();
+      }
+      activePostFlushCbs = null;
+      postFlushIndex = 0;
+    }
+  }
+  const getId = (job) => job.id == null ? Infinity : job.id;
+  const comparator = (a, b) => {
+    const diff = getId(a) - getId(b);
+    if (diff === 0) {
+      if (a.pre && !b.pre)
+        return -1;
+      if (b.pre && !a.pre)
+        return 1;
+    }
+    return diff;
+  };
+  function flushJobs(seen) {
+    isFlushPending = false;
+    isFlushing = true;
+    {
+      seen = seen || /* @__PURE__ */ new Map();
+    }
+    queue.sort(comparator);
+    const check = (job) => checkRecursiveUpdates(seen, job) ;
+    try {
+      for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
+        const job = queue[flushIndex];
+        if (job && job.active !== false) {
+          if (check(job)) {
+            continue;
+          }
+          callWithErrorHandling(job, null, 14);
+        }
+      }
+    } finally {
+      flushIndex = 0;
+      queue.length = 0;
+      flushPostFlushCbs(seen);
+      isFlushing = false;
+      currentFlushPromise = null;
+      if (queue.length || pendingPostFlushCbs.length) {
+        flushJobs(seen);
+      }
+    }
+  }
+  function checkRecursiveUpdates(seen, fn) {
+    if (!seen.has(fn)) {
+      seen.set(fn, 1);
+    } else {
+      const count = seen.get(fn);
+      if (count > RECURSION_LIMIT) {
+        const instance = fn.ownerInstance;
+        const componentName = instance && getComponentName(instance.type);
+        warn(
+          `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`
+        );
+        return true;
+      } else {
+        seen.set(fn, count + 1);
+      }
+    }
+  }
+
+  let isHmrUpdating = false;
+  const hmrDirtyComponents = /* @__PURE__ */ new Set();
+  {
+    getGlobalThis().__VUE_HMR_RUNTIME__ = {
+      createRecord: tryWrap(createRecord),
+      rerender: tryWrap(rerender),
+      reload: tryWrap(reload)
+    };
+  }
+  const map = /* @__PURE__ */ new Map();
+  function registerHMR(instance) {
+    const id = instance.type.__hmrId;
+    let record = map.get(id);
+    if (!record) {
+      createRecord(id, instance.type);
+      record = map.get(id);
+    }
+    record.instances.add(instance);
+  }
+  function unregisterHMR(instance) {
+    map.get(instance.type.__hmrId).instances.delete(instance);
+  }
+  function createRecord(id, initialDef) {
+    if (map.has(id)) {
+      return false;
+    }
+    map.set(id, {
+      initialDef: normalizeClassComponent(initialDef),
+      instances: /* @__PURE__ */ new Set()
+    });
+    return true;
+  }
+  function normalizeClassComponent(component) {
+    return isClassComponent(component) ? component.__vccOpts : component;
+  }
+  function rerender(id, newRender) {
+    const record = map.get(id);
+    if (!record) {
+      return;
+    }
+    record.initialDef.render = newRender;
+    [...record.instances].forEach((instance) => {
+      if (newRender) {
+        instance.render = newRender;
+        normalizeClassComponent(instance.type).render = newRender;
+      }
+      instance.renderCache = [];
+      isHmrUpdating = true;
+      instance.update();
+      isHmrUpdating = false;
+    });
+  }
+  function reload(id, newComp) {
+    const record = map.get(id);
+    if (!record)
+      return;
+    newComp = normalizeClassComponent(newComp);
+    updateComponentDef(record.initialDef, newComp);
+    const instances = [...record.instances];
+    for (const instance of instances) {
+      const oldComp = normalizeClassComponent(instance.type);
+      if (!hmrDirtyComponents.has(oldComp)) {
+        if (oldComp !== record.initialDef) {
+          updateComponentDef(oldComp, newComp);
+        }
+        hmrDirtyComponents.add(oldComp);
+      }
+      instance.appContext.propsCache.delete(instance.type);
+      instance.appContext.emitsCache.delete(instance.type);
+      instance.appContext.optionsCache.delete(instance.type);
+      if (instance.ceReload) {
+        hmrDirtyComponents.add(oldComp);
+        instance.ceReload(newComp.styles);
+        hmrDirtyComponents.delete(oldComp);
+      } else if (instance.parent) {
+        queueJob(instance.parent.update);
+      } else if (instance.appContext.reload) {
+        instance.appContext.reload();
+      } else if (typeof window !== "undefined") {
+        window.location.reload();
+      } else {
+        console.warn(
+          "[HMR] Root or manually mounted instance modified. Full reload required."
+        );
+      }
+    }
+    queuePostFlushCb(() => {
+      for (const instance of instances) {
+        hmrDirtyComponents.delete(
+          normalizeClassComponent(instance.type)
+        );
+      }
+    });
+  }
+  function updateComponentDef(oldComp, newComp) {
+    extend(oldComp, newComp);
+    for (const key in oldComp) {
+      if (key !== "__file" && !(key in newComp)) {
+        delete oldComp[key];
+      }
+    }
+  }
+  function tryWrap(fn) {
+    return (id, arg) => {
+      try {
+        return fn(id, arg);
+      } catch (e) {
+        console.error(e);
+        console.warn(
+          `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`
+        );
+      }
+    };
+  }
+
+  exports.devtools = void 0;
+  let buffer = [];
+  let devtoolsNotInstalled = false;
+  function emit$1(event, ...args) {
+    if (exports.devtools) {
+      exports.devtools.emit(event, ...args);
+    } else if (!devtoolsNotInstalled) {
+      buffer.push({ event, args });
+    }
+  }
+  function setDevtoolsHook(hook, target) {
+    var _a, _b;
+    exports.devtools = hook;
+    if (exports.devtools) {
+      exports.devtools.enabled = true;
+      buffer.forEach(({ event, args }) => exports.devtools.emit(event, ...args));
+      buffer = [];
+    } else if (
+      // handle late devtools injection - only do this if we are in an actual
+      // browser environment to avoid the timer handle stalling test runner exit
+      // (#4815)
+      typeof window !== "undefined" && // some envs mock window but not fully
+      window.HTMLElement && // also exclude jsdom
+      !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))
+    ) {
+      const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
+      replay.push((newHook) => {
+        setDevtoolsHook(newHook, target);
+      });
+      setTimeout(() => {
+        if (!exports.devtools) {
+          target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
+          devtoolsNotInstalled = true;
+          buffer = [];
+        }
+      }, 3e3);
+    } else {
+      devtoolsNotInstalled = true;
+      buffer = [];
+    }
+  }
+  function devtoolsInitApp(app, version) {
+    emit$1("app:init" /* APP_INIT */, app, version, {
+      Fragment,
+      Text,
+      Comment,
+      Static
+    });
+  }
+  function devtoolsUnmountApp(app) {
+    emit$1("app:unmount" /* APP_UNMOUNT */, app);
+  }
+  const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(
+    "component:added" /* COMPONENT_ADDED */
+  );
+  const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */);
+  const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
+    "component:removed" /* COMPONENT_REMOVED */
+  );
+  const devtoolsComponentRemoved = (component) => {
+    if (exports.devtools && typeof exports.devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered
+    !exports.devtools.cleanupBuffer(component)) {
+      _devtoolsComponentRemoved(component);
+    }
+  };
+  function createDevtoolsComponentHook(hook) {
+    return (component) => {
+      emit$1(
+        hook,
+        component.appContext.app,
+        component.uid,
+        component.parent ? component.parent.uid : void 0,
+        component
+      );
+    };
+  }
+  const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(
+    "perf:start" /* PERFORMANCE_START */
+  );
+  const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(
+    "perf:end" /* PERFORMANCE_END */
+  );
+  function createDevtoolsPerformanceHook(hook) {
+    return (component, type, time) => {
+      emit$1(hook, component.appContext.app, component.uid, component, type, time);
+    };
+  }
+  function devtoolsComponentEmit(component, event, params) {
+    emit$1(
+      "component:emit" /* COMPONENT_EMIT */,
+      component.appContext.app,
+      component,
+      event,
+      params
+    );
+  }
+
+  function emit(instance, event, ...rawArgs) {
+    if (instance.isUnmounted)
+      return;
+    const props = instance.vnode.props || EMPTY_OBJ;
+    {
+      const {
+        emitsOptions,
+        propsOptions: [propsOptions]
+      } = instance;
+      if (emitsOptions) {
+        if (!(event in emitsOptions) && true) {
+          if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
+            warn(
+              `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
+            );
+          }
+        } else {
+          const validator = emitsOptions[event];
+          if (isFunction(validator)) {
+            const isValid = validator(...rawArgs);
+            if (!isValid) {
+              warn(
+                `Invalid event arguments: event validation failed for event "${event}".`
+              );
+            }
+          }
+        }
+      }
+    }
+    let args = rawArgs;
+    const isModelListener = event.startsWith("update:");
+    const modelArg = isModelListener && event.slice(7);
+    if (modelArg && modelArg in props) {
+      const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`;
+      const { number, trim } = props[modifiersKey] || EMPTY_OBJ;
+      if (trim) {
+        args = rawArgs.map((a) => isString(a) ? a.trim() : a);
+      }
+      if (number) {
+        args = rawArgs.map(looseToNumber);
+      }
+    }
+    {
+      devtoolsComponentEmit(instance, event, args);
+    }
+    {
+      const lowerCaseEvent = event.toLowerCase();
+      if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
+        warn(
+          `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
+          instance,
+          instance.type
+        )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`
+        );
+      }
+    }
+    let handlerName;
+    let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)
+    props[handlerName = toHandlerKey(camelize(event))];
+    if (!handler && isModelListener) {
+      handler = props[handlerName = toHandlerKey(hyphenate(event))];
+    }
+    if (handler) {
+      callWithAsyncErrorHandling(
+        handler,
+        instance,
+        6,
+        args
+      );
+    }
+    const onceHandler = props[handlerName + `Once`];
+    if (onceHandler) {
+      if (!instance.emitted) {
+        instance.emitted = {};
+      } else if (instance.emitted[handlerName]) {
+        return;
+      }
+      instance.emitted[handlerName] = true;
+      callWithAsyncErrorHandling(
+        onceHandler,
+        instance,
+        6,
+        args
+      );
+    }
+  }
+  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
+    const cache = appContext.emitsCache;
+    const cached = cache.get(comp);
+    if (cached !== void 0) {
+      return cached;
+    }
+    const raw = comp.emits;
+    let normalized = {};
+    let hasExtends = false;
+    if (!isFunction(comp)) {
+      const extendEmits = (raw2) => {
+        const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
+        if (normalizedFromExtend) {
+          hasExtends = true;
+          extend(normalized, normalizedFromExtend);
+        }
+      };
+      if (!asMixin && appContext.mixins.length) {
+        appContext.mixins.forEach(extendEmits);
+      }
+      if (comp.extends) {
+        extendEmits(comp.extends);
+      }
+      if (comp.mixins) {
+        comp.mixins.forEach(extendEmits);
+      }
+    }
+    if (!raw && !hasExtends) {
+      if (isObject(comp)) {
+        cache.set(comp, null);
+      }
+      return null;
+    }
+    if (isArray(raw)) {
+      raw.forEach((key) => normalized[key] = null);
+    } else {
+      extend(normalized, raw);
+    }
+    if (isObject(comp)) {
+      cache.set(comp, normalized);
+    }
+    return normalized;
+  }
+  function isEmitListener(options, key) {
+    if (!options || !isOn(key)) {
+      return false;
+    }
+    key = key.slice(2).replace(/Once$/, "");
+    return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);
+  }
+
+  let currentRenderingInstance = null;
+  let currentScopeId = null;
+  function setCurrentRenderingInstance(instance) {
+    const prev = currentRenderingInstance;
+    currentRenderingInstance = instance;
+    currentScopeId = instance && instance.type.__scopeId || null;
+    return prev;
+  }
+  function pushScopeId(id) {
+    currentScopeId = id;
+  }
+  function popScopeId() {
+    currentScopeId = null;
+  }
+  const withScopeId = (_id) => withCtx;
+  function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
+    if (!ctx)
+      return fn;
+    if (fn._n) {
+      return fn;
+    }
+    const renderFnWithContext = (...args) => {
+      if (renderFnWithContext._d) {
+        setBlockTracking(-1);
+      }
+      const prevInstance = setCurrentRenderingInstance(ctx);
+      let res;
+      try {
+        res = fn(...args);
+      } finally {
+        setCurrentRenderingInstance(prevInstance);
+        if (renderFnWithContext._d) {
+          setBlockTracking(1);
+        }
+      }
+      {
+        devtoolsComponentUpdated(ctx);
+      }
+      return res;
+    };
+    renderFnWithContext._n = true;
+    renderFnWithContext._c = true;
+    renderFnWithContext._d = true;
+    return renderFnWithContext;
+  }
+
+  let accessedAttrs = false;
+  function markAttrsAccessed() {
+    accessedAttrs = true;
+  }
+  function renderComponentRoot(instance) {
+    const {
+      type: Component,
+      vnode,
+      proxy,
+      withProxy,
+      props,
+      propsOptions: [propsOptions],
+      slots,
+      attrs,
+      emit,
+      render,
+      renderCache,
+      data,
+      setupState,
+      ctx,
+      inheritAttrs
+    } = instance;
+    let result;
+    let fallthroughAttrs;
+    const prev = setCurrentRenderingInstance(instance);
+    {
+      accessedAttrs = false;
+    }
+    try {
+      if (vnode.shapeFlag & 4) {
+        const proxyToUse = withProxy || proxy;
+        result = normalizeVNode(
+          render.call(
+            proxyToUse,
+            proxyToUse,
+            renderCache,
+            props,
+            setupState,
+            data,
+            ctx
+          )
+        );
+        fallthroughAttrs = attrs;
+      } else {
+        const render2 = Component;
+        if (attrs === props) {
+          markAttrsAccessed();
+        }
+        result = normalizeVNode(
+          render2.length > 1 ? render2(
+            props,
+            true ? {
+              get attrs() {
+                markAttrsAccessed();
+                return attrs;
+              },
+              slots,
+              emit
+            } : { attrs, slots, emit }
+          ) : render2(
+            props,
+            null
+            /* we know it doesn't need it */
+          )
+        );
+        fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
+      }
+    } catch (err) {
+      blockStack.length = 0;
+      handleError(err, instance, 1);
+      result = createVNode(Comment);
+    }
+    let root = result;
+    let setRoot = void 0;
+    if (result.patchFlag > 0 && result.patchFlag & 2048) {
+      [root, setRoot] = getChildRoot(result);
+    }
+    if (fallthroughAttrs && inheritAttrs !== false) {
+      const keys = Object.keys(fallthroughAttrs);
+      const { shapeFlag } = root;
+      if (keys.length) {
+        if (shapeFlag & (1 | 6)) {
+          if (propsOptions && keys.some(isModelListener)) {
+            fallthroughAttrs = filterModelListeners(
+              fallthroughAttrs,
+              propsOptions
+            );
+          }
+          root = cloneVNode(root, fallthroughAttrs);
+        } else if (!accessedAttrs && root.type !== Comment) {
+          const allAttrs = Object.keys(attrs);
+          const eventAttrs = [];
+          const extraAttrs = [];
+          for (let i = 0, l = allAttrs.length; i < l; i++) {
+            const key = allAttrs[i];
+            if (isOn(key)) {
+              if (!isModelListener(key)) {
+                eventAttrs.push(key[2].toLowerCase() + key.slice(3));
+              }
+            } else {
+              extraAttrs.push(key);
+            }
+          }
+          if (extraAttrs.length) {
+            warn(
+              `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
+            );
+          }
+          if (eventAttrs.length) {
+            warn(
+              `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`
+            );
+          }
+        }
+      }
+    }
+    if (vnode.dirs) {
+      if (!isElementRoot(root)) {
+        warn(
+          `Runtime directive used on component with non-element root node. The directives will not function as intended.`
+        );
+      }
+      root = cloneVNode(root);
+      root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
+    }
+    if (vnode.transition) {
+      if (!isElementRoot(root)) {
+        warn(
+          `Component inside <Transition> renders non-element root node that cannot be animated.`
+        );
+      }
+      root.transition = vnode.transition;
+    }
+    if (setRoot) {
+      setRoot(root);
+    } else {
+      result = root;
+    }
+    setCurrentRenderingInstance(prev);
+    return result;
+  }
+  const getChildRoot = (vnode) => {
+    const rawChildren = vnode.children;
+    const dynamicChildren = vnode.dynamicChildren;
+    const childRoot = filterSingleRoot(rawChildren);
+    if (!childRoot) {
+      return [vnode, void 0];
+    }
+    const index = rawChildren.indexOf(childRoot);
+    const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;
+    const setRoot = (updatedRoot) => {
+      rawChildren[index] = updatedRoot;
+      if (dynamicChildren) {
+        if (dynamicIndex > -1) {
+          dynamicChildren[dynamicIndex] = updatedRoot;
+        } else if (updatedRoot.patchFlag > 0) {
+          vnode.dynamicChildren = [...dynamicChildren, updatedRoot];
+        }
+      }
+    };
+    return [normalizeVNode(childRoot), setRoot];
+  };
+  function filterSingleRoot(children) {
+    let singleRoot;
+    for (let i = 0; i < children.length; i++) {
+      const child = children[i];
+      if (isVNode(child)) {
+        if (child.type !== Comment || child.children === "v-if") {
+          if (singleRoot) {
+            return;
+          } else {
+            singleRoot = child;
+          }
+        }
+      } else {
+        return;
+      }
+    }
+    return singleRoot;
+  }
+  const getFunctionalFallthrough = (attrs) => {
+    let res;
+    for (const key in attrs) {
+      if (key === "class" || key === "style" || isOn(key)) {
+        (res || (res = {}))[key] = attrs[key];
+      }
+    }
+    return res;
+  };
+  const filterModelListeners = (attrs, props) => {
+    const res = {};
+    for (const key in attrs) {
+      if (!isModelListener(key) || !(key.slice(9) in props)) {
+        res[key] = attrs[key];
+      }
+    }
+    return res;
+  };
+  const isElementRoot = (vnode) => {
+    return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;
+  };
+  function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
+    const { props: prevProps, children: prevChildren, component } = prevVNode;
+    const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
+    const emits = component.emitsOptions;
+    if ((prevChildren || nextChildren) && isHmrUpdating) {
+      return true;
+    }
+    if (nextVNode.dirs || nextVNode.transition) {
+      return true;
+    }
+    if (optimized && patchFlag >= 0) {
+      if (patchFlag & 1024) {
+        return true;
+      }
+      if (patchFlag & 16) {
+        if (!prevProps) {
+          return !!nextProps;
+        }
+        return hasPropsChanged(prevProps, nextProps, emits);
+      } else if (patchFlag & 8) {
+        const dynamicProps = nextVNode.dynamicProps;
+        for (let i = 0; i < dynamicProps.length; i++) {
+          const key = dynamicProps[i];
+          if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
+            return true;
+          }
+        }
+      }
+    } else {
+      if (prevChildren || nextChildren) {
+        if (!nextChildren || !nextChildren.$stable) {
+          return true;
+        }
+      }
+      if (prevProps === nextProps) {
+        return false;
+      }
+      if (!prevProps) {
+        return !!nextProps;
+      }
+      if (!nextProps) {
+        return true;
+      }
+      return hasPropsChanged(prevProps, nextProps, emits);
+    }
+    return false;
+  }
+  function hasPropsChanged(prevProps, nextProps, emitsOptions) {
+    const nextKeys = Object.keys(nextProps);
+    if (nextKeys.length !== Object.keys(prevProps).length) {
+      return true;
+    }
+    for (let i = 0; i < nextKeys.length; i++) {
+      const key = nextKeys[i];
+      if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
+        return true;
+      }
+    }
+    return false;
+  }
+  function updateHOCHostEl({ vnode, parent }, el) {
+    while (parent && parent.subTree === vnode) {
+      (vnode = parent.vnode).el = el;
+      parent = parent.parent;
+    }
+  }
+
+  const isSuspense = (type) => type.__isSuspense;
+  const SuspenseImpl = {
+    name: "Suspense",
+    // In order to make Suspense tree-shakable, we need to avoid importing it
+    // directly in the renderer. The renderer checks for the __isSuspense flag
+    // on a vnode's type and calls the `process` method, passing in renderer
+    // internals.
+    __isSuspense: true,
+    process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
+      if (n1 == null) {
+        mountSuspense(
+          n2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized,
+          rendererInternals
+        );
+      } else {
+        patchSuspense(
+          n1,
+          n2,
+          container,
+          anchor,
+          parentComponent,
+          isSVG,
+          slotScopeIds,
+          optimized,
+          rendererInternals
+        );
+      }
+    },
+    hydrate: hydrateSuspense,
+    create: createSuspenseBoundary,
+    normalize: normalizeSuspenseChildren
+  };
+  const Suspense = SuspenseImpl ;
+  function triggerEvent(vnode, name) {
+    const eventListener = vnode.props && vnode.props[name];
+    if (isFunction(eventListener)) {
+      eventListener();
+    }
+  }
+  function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
+    const {
+      p: patch,
+      o: { createElement }
+    } = rendererInternals;
+    const hiddenContainer = createElement("div");
+    const suspense = vnode.suspense = createSuspenseBoundary(
+      vnode,
+      parentSuspense,
+      parentComponent,
+      container,
+      hiddenContainer,
+      anchor,
+      isSVG,
+      slotScopeIds,
+      optimized,
+      rendererInternals
+    );
+    patch(
+      null,
+      suspense.pendingBranch = vnode.ssContent,
+      hiddenContainer,
+      null,
+      parentComponent,
+      suspense,
+      isSVG,
+      slotScopeIds
+    );
+    if (suspense.deps > 0) {
+      triggerEvent(vnode, "onPending");
+      triggerEvent(vnode, "onFallback");
+      patch(
+        null,
+        vnode.ssFallback,
+        container,
+        anchor,
+        parentComponent,
+        null,
+        // fallback tree will not have suspense context
+        isSVG,
+        slotScopeIds
+      );
+      setActiveBranch(suspense, vnode.ssFallback);
+    } else {
+      suspense.resolve(false, true);
+    }
+  }
+  function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
+    const suspense = n2.suspense = n1.suspense;
+    suspense.vnode = n2;
+    n2.el = n1.el;
+    const newBranch = n2.ssContent;
+    const newFallback = n2.ssFallback;
+    const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
+    if (pendingBranch) {
+      suspense.pendingBranch = newBranch;
+      if (isSameVNodeType(newBranch, pendingBranch)) {
+        patch(
+          pendingBranch,
+          newBranch,
+          suspense.hiddenContainer,
+          null,
+          parentComponent,
+          suspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+        if (suspense.deps <= 0) {
+          suspense.resolve();
+        } else if (isInFallback) {
+          patch(
+            activeBranch,
+            newFallback,
+            container,
+            anchor,
+            parentComponent,
+            null,
+            // fallback tree will not have suspense context
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          setActiveBranch(suspense, newFallback);
+        }
+      } else {
+        suspense.pendingId++;
+        if (isHydrating) {
+          suspense.isHydrating = false;
+          suspense.activeBranch = pendingBranch;
+        } else {
+          unmount(pendingBranch, parentComponent, suspense);
+        }
+        suspense.deps = 0;
+        suspense.effects.length = 0;
+        suspense.hiddenContainer = createElement("div");
+        if (isInFallback) {
+          patch(
+            null,
+            newBranch,
+            suspense.hiddenContainer,
+            null,
+            parentComponent,
+            suspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          if (suspense.deps <= 0) {
+            suspense.resolve();
+          } else {
+            patch(
+              activeBranch,
+              newFallback,
+              container,
+              anchor,
+              parentComponent,
+              null,
+              // fallback tree will not have suspense context
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+            setActiveBranch(suspense, newFallback);
+          }
+        } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
+          patch(
+            activeBranch,
+            newBranch,
+            container,
+            anchor,
+            parentComponent,
+            suspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          suspense.resolve(true);
+        } else {
+          patch(
+            null,
+            newBranch,
+            suspense.hiddenContainer,
+            null,
+            parentComponent,
+            suspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          if (suspense.deps <= 0) {
+            suspense.resolve();
+          }
+        }
+      }
+    } else {
+      if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
+        patch(
+          activeBranch,
+          newBranch,
+          container,
+          anchor,
+          parentComponent,
+          suspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+        setActiveBranch(suspense, newBranch);
+      } else {
+        triggerEvent(n2, "onPending");
+        suspense.pendingBranch = newBranch;
+        suspense.pendingId++;
+        patch(
+          null,
+          newBranch,
+          suspense.hiddenContainer,
+          null,
+          parentComponent,
+          suspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+        if (suspense.deps <= 0) {
+          suspense.resolve();
+        } else {
+          const { timeout, pendingId } = suspense;
+          if (timeout > 0) {
+            setTimeout(() => {
+              if (suspense.pendingId === pendingId) {
+                suspense.fallback(newFallback);
+              }
+            }, timeout);
+          } else if (timeout === 0) {
+            suspense.fallback(newFallback);
+          }
+        }
+      }
+    }
+  }
+  let hasWarned = false;
+  function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
+    if (!hasWarned) {
+      hasWarned = true;
+      console[console.info ? "info" : "log"](
+        `<Suspense> is an experimental feature and its API will likely change.`
+      );
+    }
+    const {
+      p: patch,
+      m: move,
+      um: unmount,
+      n: next,
+      o: { parentNode, remove }
+    } = rendererInternals;
+    let parentSuspenseId;
+    const isSuspensible = isVNodeSuspensible(vnode);
+    if (isSuspensible) {
+      if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
+        parentSuspenseId = parentSuspense.pendingId;
+        parentSuspense.deps++;
+      }
+    }
+    const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;
+    {
+      assertNumber(timeout, `Suspense timeout`);
+    }
+    const suspense = {
+      vnode,
+      parent: parentSuspense,
+      parentComponent,
+      isSVG,
+      container,
+      hiddenContainer,
+      anchor,
+      deps: 0,
+      pendingId: 0,
+      timeout: typeof timeout === "number" ? timeout : -1,
+      activeBranch: null,
+      pendingBranch: null,
+      isInFallback: true,
+      isHydrating,
+      isUnmounted: false,
+      effects: [],
+      resolve(resume = false, sync = false) {
+        {
+          if (!resume && !suspense.pendingBranch) {
+            throw new Error(
+              `suspense.resolve() is called without a pending branch.`
+            );
+          }
+          if (suspense.isUnmounted) {
+            throw new Error(
+              `suspense.resolve() is called on an already unmounted suspense boundary.`
+            );
+          }
+        }
+        const {
+          vnode: vnode2,
+          activeBranch,
+          pendingBranch,
+          pendingId,
+          effects,
+          parentComponent: parentComponent2,
+          container: container2
+        } = suspense;
+        if (suspense.isHydrating) {
+          suspense.isHydrating = false;
+        } else if (!resume) {
+          const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
+          if (delayEnter) {
+            activeBranch.transition.afterLeave = () => {
+              if (pendingId === suspense.pendingId) {
+                move(pendingBranch, container2, anchor2, 0);
+              }
+            };
+          }
+          let { anchor: anchor2 } = suspense;
+          if (activeBranch) {
+            anchor2 = next(activeBranch);
+            unmount(activeBranch, parentComponent2, suspense, true);
+          }
+          if (!delayEnter) {
+            move(pendingBranch, container2, anchor2, 0);
+          }
+        }
+        setActiveBranch(suspense, pendingBranch);
+        suspense.pendingBranch = null;
+        suspense.isInFallback = false;
+        let parent = suspense.parent;
+        let hasUnresolvedAncestor = false;
+        while (parent) {
+          if (parent.pendingBranch) {
+            parent.effects.push(...effects);
+            hasUnresolvedAncestor = true;
+            break;
+          }
+          parent = parent.parent;
+        }
+        if (!hasUnresolvedAncestor) {
+          queuePostFlushCb(effects);
+        }
+        suspense.effects = [];
+        if (isSuspensible) {
+          if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {
+            parentSuspense.deps--;
+            if (parentSuspense.deps === 0 && !sync) {
+              parentSuspense.resolve();
+            }
+          }
+        }
+        triggerEvent(vnode2, "onResolve");
+      },
+      fallback(fallbackVNode) {
+        if (!suspense.pendingBranch) {
+          return;
+        }
+        const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;
+        triggerEvent(vnode2, "onFallback");
+        const anchor2 = next(activeBranch);
+        const mountFallback = () => {
+          if (!suspense.isInFallback) {
+            return;
+          }
+          patch(
+            null,
+            fallbackVNode,
+            container2,
+            anchor2,
+            parentComponent2,
+            null,
+            // fallback tree will not have suspense context
+            isSVG2,
+            slotScopeIds,
+            optimized
+          );
+          setActiveBranch(suspense, fallbackVNode);
+        };
+        const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
+        if (delayEnter) {
+          activeBranch.transition.afterLeave = mountFallback;
+        }
+        suspense.isInFallback = true;
+        unmount(
+          activeBranch,
+          parentComponent2,
+          null,
+          // no suspense so unmount hooks fire now
+          true
+          // shouldRemove
+        );
+        if (!delayEnter) {
+          mountFallback();
+        }
+      },
+      move(container2, anchor2, type) {
+        suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);
+        suspense.container = container2;
+      },
+      next() {
+        return suspense.activeBranch && next(suspense.activeBranch);
+      },
+      registerDep(instance, setupRenderEffect) {
+        const isInPendingSuspense = !!suspense.pendingBranch;
+        if (isInPendingSuspense) {
+          suspense.deps++;
+        }
+        const hydratedEl = instance.vnode.el;
+        instance.asyncDep.catch((err) => {
+          handleError(err, instance, 0);
+        }).then((asyncSetupResult) => {
+          if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {
+            return;
+          }
+          instance.asyncResolved = true;
+          const { vnode: vnode2 } = instance;
+          {
+            pushWarningContext(vnode2);
+          }
+          handleSetupResult(instance, asyncSetupResult, false);
+          if (hydratedEl) {
+            vnode2.el = hydratedEl;
+          }
+          const placeholder = !hydratedEl && instance.subTree.el;
+          setupRenderEffect(
+            instance,
+            vnode2,
+            // component may have been moved before resolve.
+            // if this is not a hydration, instance.subTree will be the comment
+            // placeholder.
+            parentNode(hydratedEl || instance.subTree.el),
+            // anchor will not be used if this is hydration, so only need to
+            // consider the comment placeholder case.
+            hydratedEl ? null : next(instance.subTree),
+            suspense,
+            isSVG,
+            optimized
+          );
+          if (placeholder) {
+            remove(placeholder);
+          }
+          updateHOCHostEl(instance, vnode2.el);
+          {
+            popWarningContext();
+          }
+          if (isInPendingSuspense && --suspense.deps === 0) {
+            suspense.resolve();
+          }
+        });
+      },
+      unmount(parentSuspense2, doRemove) {
+        suspense.isUnmounted = true;
+        if (suspense.activeBranch) {
+          unmount(
+            suspense.activeBranch,
+            parentComponent,
+            parentSuspense2,
+            doRemove
+          );
+        }
+        if (suspense.pendingBranch) {
+          unmount(
+            suspense.pendingBranch,
+            parentComponent,
+            parentSuspense2,
+            doRemove
+          );
+        }
+      }
+    };
+    return suspense;
+  }
+  function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {
+    const suspense = vnode.suspense = createSuspenseBoundary(
+      vnode,
+      parentSuspense,
+      parentComponent,
+      node.parentNode,
+      document.createElement("div"),
+      null,
+      isSVG,
+      slotScopeIds,
+      optimized,
+      rendererInternals,
+      true
+      /* hydrating */
+    );
+    const result = hydrateNode(
+      node,
+      suspense.pendingBranch = vnode.ssContent,
+      parentComponent,
+      suspense,
+      slotScopeIds,
+      optimized
+    );
+    if (suspense.deps === 0) {
+      suspense.resolve(false, true);
+    }
+    return result;
+  }
+  function normalizeSuspenseChildren(vnode) {
+    const { shapeFlag, children } = vnode;
+    const isSlotChildren = shapeFlag & 32;
+    vnode.ssContent = normalizeSuspenseSlot(
+      isSlotChildren ? children.default : children
+    );
+    vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);
+  }
+  function normalizeSuspenseSlot(s) {
+    let block;
+    if (isFunction(s)) {
+      const trackBlock = isBlockTreeEnabled && s._c;
+      if (trackBlock) {
+        s._d = false;
+        openBlock();
+      }
+      s = s();
+      if (trackBlock) {
+        s._d = true;
+        block = currentBlock;
+        closeBlock();
+      }
+    }
+    if (isArray(s)) {
+      const singleChild = filterSingleRoot(s);
+      if (!singleChild) {
+        warn(`<Suspense> slots expect a single root node.`);
+      }
+      s = singleChild;
+    }
+    s = normalizeVNode(s);
+    if (block && !s.dynamicChildren) {
+      s.dynamicChildren = block.filter((c) => c !== s);
+    }
+    return s;
+  }
+  function queueEffectWithSuspense(fn, suspense) {
+    if (suspense && suspense.pendingBranch) {
+      if (isArray(fn)) {
+        suspense.effects.push(...fn);
+      } else {
+        suspense.effects.push(fn);
+      }
+    } else {
+      queuePostFlushCb(fn);
+    }
+  }
+  function setActiveBranch(suspense, branch) {
+    suspense.activeBranch = branch;
+    const { vnode, parentComponent } = suspense;
+    const el = vnode.el = branch.el;
+    if (parentComponent && parentComponent.subTree === vnode) {
+      parentComponent.vnode.el = el;
+      updateHOCHostEl(parentComponent, el);
+    }
+  }
+  function isVNodeSuspensible(vnode) {
+    var _a;
+    return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
+  }
+
+  function watchEffect(effect, options) {
+    return doWatch(effect, null, options);
+  }
+  function watchPostEffect(effect, options) {
+    return doWatch(
+      effect,
+      null,
+      extend({}, options, { flush: "post" }) 
+    );
+  }
+  function watchSyncEffect(effect, options) {
+    return doWatch(
+      effect,
+      null,
+      extend({}, options, { flush: "sync" }) 
+    );
+  }
+  const INITIAL_WATCHER_VALUE = {};
+  function watch(source, cb, options) {
+    if (!isFunction(cb)) {
+      warn(
+        `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
+      );
+    }
+    return doWatch(source, cb, options);
+  }
+  function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
+    var _a;
+    if (!cb) {
+      if (immediate !== void 0) {
+        warn(
+          `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
+        );
+      }
+      if (deep !== void 0) {
+        warn(
+          `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
+        );
+      }
+    }
+    const warnInvalidSource = (s) => {
+      warn(
+        `Invalid watch source: `,
+        s,
+        `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
+      );
+    };
+    const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;
+    let getter;
+    let forceTrigger = false;
+    let isMultiSource = false;
+    if (isRef(source)) {
+      getter = () => source.value;
+      forceTrigger = isShallow(source);
+    } else if (isReactive(source)) {
+      getter = () => source;
+      deep = true;
+    } else if (isArray(source)) {
+      isMultiSource = true;
+      forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
+      getter = () => source.map((s) => {
+        if (isRef(s)) {
+          return s.value;
+        } else if (isReactive(s)) {
+          return traverse(s);
+        } else if (isFunction(s)) {
+          return callWithErrorHandling(s, instance, 2);
+        } else {
+          warnInvalidSource(s);
+        }
+      });
+    } else if (isFunction(source)) {
+      if (cb) {
+        getter = () => callWithErrorHandling(source, instance, 2);
+      } else {
+        getter = () => {
+          if (instance && instance.isUnmounted) {
+            return;
+          }
+          if (cleanup) {
+            cleanup();
+          }
+          return callWithAsyncErrorHandling(
+            source,
+            instance,
+            3,
+            [onCleanup]
+          );
+        };
+      }
+    } else {
+      getter = NOOP;
+      warnInvalidSource(source);
+    }
+    if (cb && deep) {
+      const baseGetter = getter;
+      getter = () => traverse(baseGetter());
+    }
+    let cleanup;
+    let onCleanup = (fn) => {
+      cleanup = effect.onStop = () => {
+        callWithErrorHandling(fn, instance, 4);
+      };
+    };
+    let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
+    const job = () => {
+      if (!effect.active) {
+        return;
+      }
+      if (cb) {
+        const newValue = effect.run();
+        if (deep || forceTrigger || (isMultiSource ? newValue.some(
+          (v, i) => hasChanged(v, oldValue[i])
+        ) : hasChanged(newValue, oldValue)) || false) {
+          if (cleanup) {
+            cleanup();
+          }
+          callWithAsyncErrorHandling(cb, instance, 3, [
+            newValue,
+            // pass undefined as the old value when it's changed for the first time
+            oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
+            onCleanup
+          ]);
+          oldValue = newValue;
+        }
+      } else {
+        effect.run();
+      }
+    };
+    job.allowRecurse = !!cb;
+    let scheduler;
+    if (flush === "sync") {
+      scheduler = job;
+    } else if (flush === "post") {
+      scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
+    } else {
+      job.pre = true;
+      if (instance)
+        job.id = instance.uid;
+      scheduler = () => queueJob(job);
+    }
+    const effect = new ReactiveEffect(getter, scheduler);
+    {
+      effect.onTrack = onTrack;
+      effect.onTrigger = onTrigger;
+    }
+    if (cb) {
+      if (immediate) {
+        job();
+      } else {
+        oldValue = effect.run();
+      }
+    } else if (flush === "post") {
+      queuePostRenderEffect(
+        effect.run.bind(effect),
+        instance && instance.suspense
+      );
+    } else {
+      effect.run();
+    }
+    const unwatch = () => {
+      effect.stop();
+      if (instance && instance.scope) {
+        remove(instance.scope.effects, effect);
+      }
+    };
+    return unwatch;
+  }
+  function instanceWatch(source, value, options) {
+    const publicThis = this.proxy;
+    const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
+    let cb;
+    if (isFunction(value)) {
+      cb = value;
+    } else {
+      cb = value.handler;
+      options = value;
+    }
+    const cur = currentInstance;
+    setCurrentInstance(this);
+    const res = doWatch(getter, cb.bind(publicThis), options);
+    if (cur) {
+      setCurrentInstance(cur);
+    } else {
+      unsetCurrentInstance();
+    }
+    return res;
+  }
+  function createPathGetter(ctx, path) {
+    const segments = path.split(".");
+    return () => {
+      let cur = ctx;
+      for (let i = 0; i < segments.length && cur; i++) {
+        cur = cur[segments[i]];
+      }
+      return cur;
+    };
+  }
+  function traverse(value, seen) {
+    if (!isObject(value) || value["__v_skip"]) {
+      return value;
+    }
+    seen = seen || /* @__PURE__ */ new Set();
+    if (seen.has(value)) {
+      return value;
+    }
+    seen.add(value);
+    if (isRef(value)) {
+      traverse(value.value, seen);
+    } else if (isArray(value)) {
+      for (let i = 0; i < value.length; i++) {
+        traverse(value[i], seen);
+      }
+    } else if (isSet(value) || isMap(value)) {
+      value.forEach((v) => {
+        traverse(v, seen);
+      });
+    } else if (isPlainObject(value)) {
+      for (const key in value) {
+        traverse(value[key], seen);
+      }
+    }
+    return value;
+  }
+
+  function validateDirectiveName(name) {
+    if (isBuiltInDirective(name)) {
+      warn("Do not use built-in directive ids as custom directive id: " + name);
+    }
+  }
+  function withDirectives(vnode, directives) {
+    const internalInstance = currentRenderingInstance;
+    if (internalInstance === null) {
+      warn(`withDirectives can only be used inside render functions.`);
+      return vnode;
+    }
+    const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
+    const bindings = vnode.dirs || (vnode.dirs = []);
+    for (let i = 0; i < directives.length; i++) {
+      let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];
+      if (dir) {
+        if (isFunction(dir)) {
+          dir = {
+            mounted: dir,
+            updated: dir
+          };
+        }
+        if (dir.deep) {
+          traverse(value);
+        }
+        bindings.push({
+          dir,
+          instance,
+          value,
+          oldValue: void 0,
+          arg,
+          modifiers
+        });
+      }
+    }
+    return vnode;
+  }
+  function invokeDirectiveHook(vnode, prevVNode, instance, name) {
+    const bindings = vnode.dirs;
+    const oldBindings = prevVNode && prevVNode.dirs;
+    for (let i = 0; i < bindings.length; i++) {
+      const binding = bindings[i];
+      if (oldBindings) {
+        binding.oldValue = oldBindings[i].value;
+      }
+      let hook = binding.dir[name];
+      if (hook) {
+        pauseTracking();
+        callWithAsyncErrorHandling(hook, instance, 8, [
+          vnode.el,
+          binding,
+          vnode,
+          prevVNode
+        ]);
+        resetTracking();
+      }
+    }
+  }
+
+  function useTransitionState() {
+    const state = {
+      isMounted: false,
+      isLeaving: false,
+      isUnmounting: false,
+      leavingVNodes: /* @__PURE__ */ new Map()
+    };
+    onMounted(() => {
+      state.isMounted = true;
+    });
+    onBeforeUnmount(() => {
+      state.isUnmounting = true;
+    });
+    return state;
+  }
+  const TransitionHookValidator = [Function, Array];
+  const BaseTransitionPropsValidators = {
+    mode: String,
+    appear: Boolean,
+    persisted: Boolean,
+    // enter
+    onBeforeEnter: TransitionHookValidator,
+    onEnter: TransitionHookValidator,
+    onAfterEnter: TransitionHookValidator,
+    onEnterCancelled: TransitionHookValidator,
+    // leave
+    onBeforeLeave: TransitionHookValidator,
+    onLeave: TransitionHookValidator,
+    onAfterLeave: TransitionHookValidator,
+    onLeaveCancelled: TransitionHookValidator,
+    // appear
+    onBeforeAppear: TransitionHookValidator,
+    onAppear: TransitionHookValidator,
+    onAfterAppear: TransitionHookValidator,
+    onAppearCancelled: TransitionHookValidator
+  };
+  const BaseTransitionImpl = {
+    name: `BaseTransition`,
+    props: BaseTransitionPropsValidators,
+    setup(props, { slots }) {
+      const instance = getCurrentInstance();
+      const state = useTransitionState();
+      let prevTransitionKey;
+      return () => {
+        const children = slots.default && getTransitionRawChildren(slots.default(), true);
+        if (!children || !children.length) {
+          return;
+        }
+        let child = children[0];
+        if (children.length > 1) {
+          let hasFound = false;
+          for (const c of children) {
+            if (c.type !== Comment) {
+              if (hasFound) {
+                warn(
+                  "<transition> can only be used on a single element or component. Use <transition-group> for lists."
+                );
+                break;
+              }
+              child = c;
+              hasFound = true;
+            }
+          }
+        }
+        const rawProps = toRaw(props);
+        const { mode } = rawProps;
+        if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
+          warn(`invalid <transition> mode: ${mode}`);
+        }
+        if (state.isLeaving) {
+          return emptyPlaceholder(child);
+        }
+        const innerChild = getKeepAliveChild(child);
+        if (!innerChild) {
+          return emptyPlaceholder(child);
+        }
+        const enterHooks = resolveTransitionHooks(
+          innerChild,
+          rawProps,
+          state,
+          instance
+        );
+        setTransitionHooks(innerChild, enterHooks);
+        const oldChild = instance.subTree;
+        const oldInnerChild = oldChild && getKeepAliveChild(oldChild);
+        let transitionKeyChanged = false;
+        const { getTransitionKey } = innerChild.type;
+        if (getTransitionKey) {
+          const key = getTransitionKey();
+          if (prevTransitionKey === void 0) {
+            prevTransitionKey = key;
+          } else if (key !== prevTransitionKey) {
+            prevTransitionKey = key;
+            transitionKeyChanged = true;
+          }
+        }
+        if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {
+          const leavingHooks = resolveTransitionHooks(
+            oldInnerChild,
+            rawProps,
+            state,
+            instance
+          );
+          setTransitionHooks(oldInnerChild, leavingHooks);
+          if (mode === "out-in") {
+            state.isLeaving = true;
+            leavingHooks.afterLeave = () => {
+              state.isLeaving = false;
+              if (instance.update.active !== false) {
+                instance.update();
+              }
+            };
+            return emptyPlaceholder(child);
+          } else if (mode === "in-out" && innerChild.type !== Comment) {
+            leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
+              const leavingVNodesCache = getLeavingNodesForType(
+                state,
+                oldInnerChild
+              );
+              leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
+              el._leaveCb = () => {
+                earlyRemove();
+                el._leaveCb = void 0;
+                delete enterHooks.delayedLeave;
+              };
+              enterHooks.delayedLeave = delayedLeave;
+            };
+          }
+        }
+        return child;
+      };
+    }
+  };
+  const BaseTransition = BaseTransitionImpl;
+  function getLeavingNodesForType(state, vnode) {
+    const { leavingVNodes } = state;
+    let leavingVNodesCache = leavingVNodes.get(vnode.type);
+    if (!leavingVNodesCache) {
+      leavingVNodesCache = /* @__PURE__ */ Object.create(null);
+      leavingVNodes.set(vnode.type, leavingVNodesCache);
+    }
+    return leavingVNodesCache;
+  }
+  function resolveTransitionHooks(vnode, props, state, instance) {
+    const {
+      appear,
+      mode,
+      persisted = false,
+      onBeforeEnter,
+      onEnter,
+      onAfterEnter,
+      onEnterCancelled,
+      onBeforeLeave,
+      onLeave,
+      onAfterLeave,
+      onLeaveCancelled,
+      onBeforeAppear,
+      onAppear,
+      onAfterAppear,
+      onAppearCancelled
+    } = props;
+    const key = String(vnode.key);
+    const leavingVNodesCache = getLeavingNodesForType(state, vnode);
+    const callHook = (hook, args) => {
+      hook && callWithAsyncErrorHandling(
+        hook,
+        instance,
+        9,
+        args
+      );
+    };
+    const callAsyncHook = (hook, args) => {
+      const done = args[1];
+      callHook(hook, args);
+      if (isArray(hook)) {
+        if (hook.every((hook2) => hook2.length <= 1))
+          done();
+      } else if (hook.length <= 1) {
+        done();
+      }
+    };
+    const hooks = {
+      mode,
+      persisted,
+      beforeEnter(el) {
+        let hook = onBeforeEnter;
+        if (!state.isMounted) {
+          if (appear) {
+            hook = onBeforeAppear || onBeforeEnter;
+          } else {
+            return;
+          }
+        }
+        if (el._leaveCb) {
+          el._leaveCb(
+            true
+            /* cancelled */
+          );
+        }
+        const leavingVNode = leavingVNodesCache[key];
+        if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {
+          leavingVNode.el._leaveCb();
+        }
+        callHook(hook, [el]);
+      },
+      enter(el) {
+        let hook = onEnter;
+        let afterHook = onAfterEnter;
+        let cancelHook = onEnterCancelled;
+        if (!state.isMounted) {
+          if (appear) {
+            hook = onAppear || onEnter;
+            afterHook = onAfterAppear || onAfterEnter;
+            cancelHook = onAppearCancelled || onEnterCancelled;
+          } else {
+            return;
+          }
+        }
+        let called = false;
+        const done = el._enterCb = (cancelled) => {
+          if (called)
+            return;
+          called = true;
+          if (cancelled) {
+            callHook(cancelHook, [el]);
+          } else {
+            callHook(afterHook, [el]);
+          }
+          if (hooks.delayedLeave) {
+            hooks.delayedLeave();
+          }
+          el._enterCb = void 0;
+        };
+        if (hook) {
+          callAsyncHook(hook, [el, done]);
+        } else {
+          done();
+        }
+      },
+      leave(el, remove) {
+        const key2 = String(vnode.key);
+        if (el._enterCb) {
+          el._enterCb(
+            true
+            /* cancelled */
+          );
+        }
+        if (state.isUnmounting) {
+          return remove();
+        }
+        callHook(onBeforeLeave, [el]);
+        let called = false;
+        const done = el._leaveCb = (cancelled) => {
+          if (called)
+            return;
+          called = true;
+          remove();
+          if (cancelled) {
+            callHook(onLeaveCancelled, [el]);
+          } else {
+            callHook(onAfterLeave, [el]);
+          }
+          el._leaveCb = void 0;
+          if (leavingVNodesCache[key2] === vnode) {
+            delete leavingVNodesCache[key2];
+          }
+        };
+        leavingVNodesCache[key2] = vnode;
+        if (onLeave) {
+          callAsyncHook(onLeave, [el, done]);
+        } else {
+          done();
+        }
+      },
+      clone(vnode2) {
+        return resolveTransitionHooks(vnode2, props, state, instance);
+      }
+    };
+    return hooks;
+  }
+  function emptyPlaceholder(vnode) {
+    if (isKeepAlive(vnode)) {
+      vnode = cloneVNode(vnode);
+      vnode.children = null;
+      return vnode;
+    }
+  }
+  function getKeepAliveChild(vnode) {
+    return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;
+  }
+  function setTransitionHooks(vnode, hooks) {
+    if (vnode.shapeFlag & 6 && vnode.component) {
+      setTransitionHooks(vnode.component.subTree, hooks);
+    } else if (vnode.shapeFlag & 128) {
+      vnode.ssContent.transition = hooks.clone(vnode.ssContent);
+      vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
+    } else {
+      vnode.transition = hooks;
+    }
+  }
+  function getTransitionRawChildren(children, keepComment = false, parentKey) {
+    let ret = [];
+    let keyedFragmentCount = 0;
+    for (let i = 0; i < children.length; i++) {
+      let child = children[i];
+      const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);
+      if (child.type === Fragment) {
+        if (child.patchFlag & 128)
+          keyedFragmentCount++;
+        ret = ret.concat(
+          getTransitionRawChildren(child.children, keepComment, key)
+        );
+      } else if (keepComment || child.type !== Comment) {
+        ret.push(key != null ? cloneVNode(child, { key }) : child);
+      }
+    }
+    if (keyedFragmentCount > 1) {
+      for (let i = 0; i < ret.length; i++) {
+        ret[i].patchFlag = -2;
+      }
+    }
+    return ret;
+  }
+
+  function defineComponent(options, extraOptions) {
+    return isFunction(options) ? (
+      // #8326: extend call and options.name access are considered side-effects
+      // by Rollup, so we have to wrap it in a pure-annotated IIFE.
+      /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
+    ) : options;
+  }
+
+  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
+  function defineAsyncComponent(source) {
+    if (isFunction(source)) {
+      source = { loader: source };
+    }
+    const {
+      loader,
+      loadingComponent,
+      errorComponent,
+      delay = 200,
+      timeout,
+      // undefined = never times out
+      suspensible = true,
+      onError: userOnError
+    } = source;
+    let pendingRequest = null;
+    let resolvedComp;
+    let retries = 0;
+    const retry = () => {
+      retries++;
+      pendingRequest = null;
+      return load();
+    };
+    const load = () => {
+      let thisRequest;
+      return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {
+        err = err instanceof Error ? err : new Error(String(err));
+        if (userOnError) {
+          return new Promise((resolve, reject) => {
+            const userRetry = () => resolve(retry());
+            const userFail = () => reject(err);
+            userOnError(err, userRetry, userFail, retries + 1);
+          });
+        } else {
+          throw err;
+        }
+      }).then((comp) => {
+        if (thisRequest !== pendingRequest && pendingRequest) {
+          return pendingRequest;
+        }
+        if (!comp) {
+          warn(
+            `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
+          );
+        }
+        if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) {
+          comp = comp.default;
+        }
+        if (comp && !isObject(comp) && !isFunction(comp)) {
+          throw new Error(`Invalid async component load result: ${comp}`);
+        }
+        resolvedComp = comp;
+        return comp;
+      }));
+    };
+    return defineComponent({
+      name: "AsyncComponentWrapper",
+      __asyncLoader: load,
+      get __asyncResolved() {
+        return resolvedComp;
+      },
+      setup() {
+        const instance = currentInstance;
+        if (resolvedComp) {
+          return () => createInnerComp(resolvedComp, instance);
+        }
+        const onError = (err) => {
+          pendingRequest = null;
+          handleError(
+            err,
+            instance,
+            13,
+            !errorComponent
+            /* do not throw in dev if user provided error component */
+          );
+        };
+        if (suspensible && instance.suspense || false) {
+          return load().then((comp) => {
+            return () => createInnerComp(comp, instance);
+          }).catch((err) => {
+            onError(err);
+            return () => errorComponent ? createVNode(errorComponent, {
+              error: err
+            }) : null;
+          });
+        }
+        const loaded = ref(false);
+        const error = ref();
+        const delayed = ref(!!delay);
+        if (delay) {
+          setTimeout(() => {
+            delayed.value = false;
+          }, delay);
+        }
+        if (timeout != null) {
+          setTimeout(() => {
+            if (!loaded.value && !error.value) {
+              const err = new Error(
+                `Async component timed out after ${timeout}ms.`
+              );
+              onError(err);
+              error.value = err;
+            }
+          }, timeout);
+        }
+        load().then(() => {
+          loaded.value = true;
+          if (instance.parent && isKeepAlive(instance.parent.vnode)) {
+            queueJob(instance.parent.update);
+          }
+        }).catch((err) => {
+          onError(err);
+          error.value = err;
+        });
+        return () => {
+          if (loaded.value && resolvedComp) {
+            return createInnerComp(resolvedComp, instance);
+          } else if (error.value && errorComponent) {
+            return createVNode(errorComponent, {
+              error: error.value
+            });
+          } else if (loadingComponent && !delayed.value) {
+            return createVNode(loadingComponent);
+          }
+        };
+      }
+    });
+  }
+  function createInnerComp(comp, parent) {
+    const { ref: ref2, props, children, ce } = parent.vnode;
+    const vnode = createVNode(comp, props, children);
+    vnode.ref = ref2;
+    vnode.ce = ce;
+    delete parent.vnode.ce;
+    return vnode;
+  }
+
+  const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
+  const KeepAliveImpl = {
+    name: `KeepAlive`,
+    // Marker for special handling inside the renderer. We are not using a ===
+    // check directly on KeepAlive in the renderer, because importing it directly
+    // would prevent it from being tree-shaken.
+    __isKeepAlive: true,
+    props: {
+      include: [String, RegExp, Array],
+      exclude: [String, RegExp, Array],
+      max: [String, Number]
+    },
+    setup(props, { slots }) {
+      const instance = getCurrentInstance();
+      const sharedContext = instance.ctx;
+      const cache = /* @__PURE__ */ new Map();
+      const keys = /* @__PURE__ */ new Set();
+      let current = null;
+      {
+        instance.__v_cache = cache;
+      }
+      const parentSuspense = instance.suspense;
+      const {
+        renderer: {
+          p: patch,
+          m: move,
+          um: _unmount,
+          o: { createElement }
+        }
+      } = sharedContext;
+      const storageContainer = createElement("div");
+      sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {
+        const instance2 = vnode.component;
+        move(vnode, container, anchor, 0, parentSuspense);
+        patch(
+          instance2.vnode,
+          vnode,
+          container,
+          anchor,
+          instance2,
+          parentSuspense,
+          isSVG,
+          vnode.slotScopeIds,
+          optimized
+        );
+        queuePostRenderEffect(() => {
+          instance2.isDeactivated = false;
+          if (instance2.a) {
+            invokeArrayFns(instance2.a);
+          }
+          const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
+          if (vnodeHook) {
+            invokeVNodeHook(vnodeHook, instance2.parent, vnode);
+          }
+        }, parentSuspense);
+        {
+          devtoolsComponentAdded(instance2);
+        }
+      };
+      sharedContext.deactivate = (vnode) => {
+        const instance2 = vnode.component;
+        move(vnode, storageContainer, null, 1, parentSuspense);
+        queuePostRenderEffect(() => {
+          if (instance2.da) {
+            invokeArrayFns(instance2.da);
+          }
+          const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
+          if (vnodeHook) {
+            invokeVNodeHook(vnodeHook, instance2.parent, vnode);
+          }
+          instance2.isDeactivated = true;
+        }, parentSuspense);
+        {
+          devtoolsComponentAdded(instance2);
+        }
+      };
+      function unmount(vnode) {
+        resetShapeFlag(vnode);
+        _unmount(vnode, instance, parentSuspense, true);
+      }
+      function pruneCache(filter) {
+        cache.forEach((vnode, key) => {
+          const name = getComponentName(vnode.type);
+          if (name && (!filter || !filter(name))) {
+            pruneCacheEntry(key);
+          }
+        });
+      }
+      function pruneCacheEntry(key) {
+        const cached = cache.get(key);
+        if (!current || !isSameVNodeType(cached, current)) {
+          unmount(cached);
+        } else if (current) {
+          resetShapeFlag(current);
+        }
+        cache.delete(key);
+        keys.delete(key);
+      }
+      watch(
+        () => [props.include, props.exclude],
+        ([include, exclude]) => {
+          include && pruneCache((name) => matches(include, name));
+          exclude && pruneCache((name) => !matches(exclude, name));
+        },
+        // prune post-render after `current` has been updated
+        { flush: "post", deep: true }
+      );
+      let pendingCacheKey = null;
+      const cacheSubtree = () => {
+        if (pendingCacheKey != null) {
+          cache.set(pendingCacheKey, getInnerChild(instance.subTree));
+        }
+      };
+      onMounted(cacheSubtree);
+      onUpdated(cacheSubtree);
+      onBeforeUnmount(() => {
+        cache.forEach((cached) => {
+          const { subTree, suspense } = instance;
+          const vnode = getInnerChild(subTree);
+          if (cached.type === vnode.type && cached.key === vnode.key) {
+            resetShapeFlag(vnode);
+            const da = vnode.component.da;
+            da && queuePostRenderEffect(da, suspense);
+            return;
+          }
+          unmount(cached);
+        });
+      });
+      return () => {
+        pendingCacheKey = null;
+        if (!slots.default) {
+          return null;
+        }
+        const children = slots.default();
+        const rawVNode = children[0];
+        if (children.length > 1) {
+          {
+            warn(`KeepAlive should contain exactly one component child.`);
+          }
+          current = null;
+          return children;
+        } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {
+          current = null;
+          return rawVNode;
+        }
+        let vnode = getInnerChild(rawVNode);
+        const comp = vnode.type;
+        const name = getComponentName(
+          isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp
+        );
+        const { include, exclude, max } = props;
+        if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
+          current = vnode;
+          return rawVNode;
+        }
+        const key = vnode.key == null ? comp : vnode.key;
+        const cachedVNode = cache.get(key);
+        if (vnode.el) {
+          vnode = cloneVNode(vnode);
+          if (rawVNode.shapeFlag & 128) {
+            rawVNode.ssContent = vnode;
+          }
+        }
+        pendingCacheKey = key;
+        if (cachedVNode) {
+          vnode.el = cachedVNode.el;
+          vnode.component = cachedVNode.component;
+          if (vnode.transition) {
+            setTransitionHooks(vnode, vnode.transition);
+          }
+          vnode.shapeFlag |= 512;
+          keys.delete(key);
+          keys.add(key);
+        } else {
+          keys.add(key);
+          if (max && keys.size > parseInt(max, 10)) {
+            pruneCacheEntry(keys.values().next().value);
+          }
+        }
+        vnode.shapeFlag |= 256;
+        current = vnode;
+        return isSuspense(rawVNode.type) ? rawVNode : vnode;
+      };
+    }
+  };
+  const KeepAlive = KeepAliveImpl;
+  function matches(pattern, name) {
+    if (isArray(pattern)) {
+      return pattern.some((p) => matches(p, name));
+    } else if (isString(pattern)) {
+      return pattern.split(",").includes(name);
+    } else if (isRegExp(pattern)) {
+      return pattern.test(name);
+    }
+    return false;
+  }
+  function onActivated(hook, target) {
+    registerKeepAliveHook(hook, "a", target);
+  }
+  function onDeactivated(hook, target) {
+    registerKeepAliveHook(hook, "da", target);
+  }
+  function registerKeepAliveHook(hook, type, target = currentInstance) {
+    const wrappedHook = hook.__wdc || (hook.__wdc = () => {
+      let current = target;
+      while (current) {
+        if (current.isDeactivated) {
+          return;
+        }
+        current = current.parent;
+      }
+      return hook();
+    });
+    injectHook(type, wrappedHook, target);
+    if (target) {
+      let current = target.parent;
+      while (current && current.parent) {
+        if (isKeepAlive(current.parent.vnode)) {
+          injectToKeepAliveRoot(wrappedHook, type, target, current);
+        }
+        current = current.parent;
+      }
+    }
+  }
+  function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
+    const injected = injectHook(
+      type,
+      hook,
+      keepAliveRoot,
+      true
+      /* prepend */
+    );
+    onUnmounted(() => {
+      remove(keepAliveRoot[type], injected);
+    }, target);
+  }
+  function resetShapeFlag(vnode) {
+    vnode.shapeFlag &= ~256;
+    vnode.shapeFlag &= ~512;
+  }
+  function getInnerChild(vnode) {
+    return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
+  }
+
+  function injectHook(type, hook, target = currentInstance, prepend = false) {
+    if (target) {
+      const hooks = target[type] || (target[type] = []);
+      const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
+        if (target.isUnmounted) {
+          return;
+        }
+        pauseTracking();
+        setCurrentInstance(target);
+        const res = callWithAsyncErrorHandling(hook, target, type, args);
+        unsetCurrentInstance();
+        resetTracking();
+        return res;
+      });
+      if (prepend) {
+        hooks.unshift(wrappedHook);
+      } else {
+        hooks.push(wrappedHook);
+      }
+      return wrappedHook;
+    } else {
+      const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ""));
+      warn(
+        `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )
+      );
+    }
+  }
+  const createHook = (lifecycle) => (hook, target = currentInstance) => (
+    // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
+    (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target)
+  );
+  const onBeforeMount = createHook("bm");
+  const onMounted = createHook("m");
+  const onBeforeUpdate = createHook("bu");
+  const onUpdated = createHook("u");
+  const onBeforeUnmount = createHook("bum");
+  const onUnmounted = createHook("um");
+  const onServerPrefetch = createHook("sp");
+  const onRenderTriggered = createHook(
+    "rtg"
+  );
+  const onRenderTracked = createHook(
+    "rtc"
+  );
+  function onErrorCaptured(hook, target = currentInstance) {
+    injectHook("ec", hook, target);
+  }
+
+  const COMPONENTS = "components";
+  const DIRECTIVES = "directives";
+  function resolveComponent(name, maybeSelfReference) {
+    return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
+  }
+  const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
+  function resolveDynamicComponent(component) {
+    if (isString(component)) {
+      return resolveAsset(COMPONENTS, component, false) || component;
+    } else {
+      return component || NULL_DYNAMIC_COMPONENT;
+    }
+  }
+  function resolveDirective(name) {
+    return resolveAsset(DIRECTIVES, name);
+  }
+  function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
+    const instance = currentRenderingInstance || currentInstance;
+    if (instance) {
+      const Component = instance.type;
+      if (type === COMPONENTS) {
+        const selfName = getComponentName(
+          Component,
+          false
+          /* do not include inferred name to avoid breaking existing code */
+        );
+        if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
+          return Component;
+        }
+      }
+      const res = (
+        // local registration
+        // check instance[type] first which is resolved for options API
+        resolve(instance[type] || Component[type], name) || // global registration
+        resolve(instance.appContext[type], name)
+      );
+      if (!res && maybeSelfReference) {
+        return Component;
+      }
+      if (warnMissing && !res) {
+        const extra = type === COMPONENTS ? `
+If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
+        warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
+      }
+      return res;
+    } else {
+      warn(
+        `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
+      );
+    }
+  }
+  function resolve(registry, name) {
+    return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
+  }
+
+  function renderList(source, renderItem, cache, index) {
+    let ret;
+    const cached = cache && cache[index];
+    if (isArray(source) || isString(source)) {
+      ret = new Array(source.length);
+      for (let i = 0, l = source.length; i < l; i++) {
+        ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);
+      }
+    } else if (typeof source === "number") {
+      if (!Number.isInteger(source)) {
+        warn(`The v-for range expect an integer value but got ${source}.`);
+      }
+      ret = new Array(source);
+      for (let i = 0; i < source; i++) {
+        ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
+      }
+    } else if (isObject(source)) {
+      if (source[Symbol.iterator]) {
+        ret = Array.from(
+          source,
+          (item, i) => renderItem(item, i, void 0, cached && cached[i])
+        );
+      } else {
+        const keys = Object.keys(source);
+        ret = new Array(keys.length);
+        for (let i = 0, l = keys.length; i < l; i++) {
+          const key = keys[i];
+          ret[i] = renderItem(source[key], key, i, cached && cached[i]);
+        }
+      }
+    } else {
+      ret = [];
+    }
+    if (cache) {
+      cache[index] = ret;
+    }
+    return ret;
+  }
+
+  function createSlots(slots, dynamicSlots) {
+    for (let i = 0; i < dynamicSlots.length; i++) {
+      const slot = dynamicSlots[i];
+      if (isArray(slot)) {
+        for (let j = 0; j < slot.length; j++) {
+          slots[slot[j].name] = slot[j].fn;
+        }
+      } else if (slot) {
+        slots[slot.name] = slot.key ? (...args) => {
+          const res = slot.fn(...args);
+          if (res)
+            res.key = slot.key;
+          return res;
+        } : slot.fn;
+      }
+    }
+    return slots;
+  }
+
+  function renderSlot(slots, name, props = {}, fallback, noSlotted) {
+    if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {
+      if (name !== "default")
+        props.name = name;
+      return createVNode("slot", props, fallback && fallback());
+    }
+    let slot = slots[name];
+    if (slot && slot.length > 1) {
+      warn(
+        `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`
+      );
+      slot = () => [];
+    }
+    if (slot && slot._c) {
+      slot._d = false;
+    }
+    openBlock();
+    const validSlotContent = slot && ensureValidVNode(slot(props));
+    const rendered = createBlock(
+      Fragment,
+      {
+        key: props.key || // slot content array of a dynamic conditional slot may have a branch
+        // key attached in the `createSlots` helper, respect that
+        validSlotContent && validSlotContent.key || `_${name}`
+      },
+      validSlotContent || (fallback ? fallback() : []),
+      validSlotContent && slots._ === 1 ? 64 : -2
+    );
+    if (!noSlotted && rendered.scopeId) {
+      rendered.slotScopeIds = [rendered.scopeId + "-s"];
+    }
+    if (slot && slot._c) {
+      slot._d = true;
+    }
+    return rendered;
+  }
+  function ensureValidVNode(vnodes) {
+    return vnodes.some((child) => {
+      if (!isVNode(child))
+        return true;
+      if (child.type === Comment)
+        return false;
+      if (child.type === Fragment && !ensureValidVNode(child.children))
+        return false;
+      return true;
+    }) ? vnodes : null;
+  }
+
+  function toHandlers(obj, preserveCaseIfNecessary) {
+    const ret = {};
+    if (!isObject(obj)) {
+      warn(`v-on with no argument expects an object value.`);
+      return ret;
+    }
+    for (const key in obj) {
+      ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
+    }
+    return ret;
+  }
+
+  const getPublicInstance = (i) => {
+    if (!i)
+      return null;
+    if (isStatefulComponent(i))
+      return getExposeProxy(i) || i.proxy;
+    return getPublicInstance(i.parent);
+  };
+  const publicPropertiesMap = (
+    // Move PURE marker to new line to workaround compiler discarding it
+    // due to type annotation
+    /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {
+      $: (i) => i,
+      $el: (i) => i.vnode.el,
+      $data: (i) => i.data,
+      $props: (i) => shallowReadonly(i.props) ,
+      $attrs: (i) => shallowReadonly(i.attrs) ,
+      $slots: (i) => shallowReadonly(i.slots) ,
+      $refs: (i) => shallowReadonly(i.refs) ,
+      $parent: (i) => getPublicInstance(i.parent),
+      $root: (i) => getPublicInstance(i.root),
+      $emit: (i) => i.emit,
+      $options: (i) => resolveMergedOptions(i) ,
+      $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),
+      $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),
+      $watch: (i) => instanceWatch.bind(i) 
+    })
+  );
+  const isReservedPrefix = (key) => key === "_" || key === "$";
+  const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);
+  const PublicInstanceProxyHandlers = {
+    get({ _: instance }, key) {
+      const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
+      if (key === "__isVue") {
+        return true;
+      }
+      let normalizedProps;
+      if (key[0] !== "$") {
+        const n = accessCache[key];
+        if (n !== void 0) {
+          switch (n) {
+            case 1 /* SETUP */:
+              return setupState[key];
+            case 2 /* DATA */:
+              return data[key];
+            case 4 /* CONTEXT */:
+              return ctx[key];
+            case 3 /* PROPS */:
+              return props[key];
+          }
+        } else if (hasSetupBinding(setupState, key)) {
+          accessCache[key] = 1 /* SETUP */;
+          return setupState[key];
+        } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
+          accessCache[key] = 2 /* DATA */;
+          return data[key];
+        } else if (
+          // only cache other properties when instance has declared (thus stable)
+          // props
+          (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)
+        ) {
+          accessCache[key] = 3 /* PROPS */;
+          return props[key];
+        } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
+          accessCache[key] = 4 /* CONTEXT */;
+          return ctx[key];
+        } else if (shouldCacheAccess) {
+          accessCache[key] = 0 /* OTHER */;
+        }
+      }
+      const publicGetter = publicPropertiesMap[key];
+      let cssModule, globalProperties;
+      if (publicGetter) {
+        if (key === "$attrs") {
+          track(instance, "get", key);
+          markAttrsAccessed();
+        } else if (key === "$slots") {
+          track(instance, "get", key);
+        }
+        return publicGetter(instance);
+      } else if (
+        // css module (injected by vue-loader)
+        (cssModule = type.__cssModules) && (cssModule = cssModule[key])
+      ) {
+        return cssModule;
+      } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
+        accessCache[key] = 4 /* CONTEXT */;
+        return ctx[key];
+      } else if (
+        // global properties
+        globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)
+      ) {
+        {
+          return globalProperties[key];
+        }
+      } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading
+      // to infinite warning loop
+      key.indexOf("__v") !== 0)) {
+        if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
+          warn(
+            `Property ${JSON.stringify(
+            key
+          )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
+          );
+        } else if (instance === currentRenderingInstance) {
+          warn(
+            `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
+          );
+        }
+      }
+    },
+    set({ _: instance }, key, value) {
+      const { data, setupState, ctx } = instance;
+      if (hasSetupBinding(setupState, key)) {
+        setupState[key] = value;
+        return true;
+      } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) {
+        warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
+        return false;
+      } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
+        data[key] = value;
+        return true;
+      } else if (hasOwn(instance.props, key)) {
+        warn(`Attempting to mutate prop "${key}". Props are readonly.`);
+        return false;
+      }
+      if (key[0] === "$" && key.slice(1) in instance) {
+        warn(
+          `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
+        );
+        return false;
+      } else {
+        if (key in instance.appContext.config.globalProperties) {
+          Object.defineProperty(ctx, key, {
+            enumerable: true,
+            configurable: true,
+            value
+          });
+        } else {
+          ctx[key] = value;
+        }
+      }
+      return true;
+    },
+    has({
+      _: { data, setupState, accessCache, ctx, appContext, propsOptions }
+    }, key) {
+      let normalizedProps;
+      return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);
+    },
+    defineProperty(target, key, descriptor) {
+      if (descriptor.get != null) {
+        target._.accessCache[key] = 0;
+      } else if (hasOwn(descriptor, "value")) {
+        this.set(target, key, descriptor.value, null);
+      }
+      return Reflect.defineProperty(target, key, descriptor);
+    }
+  };
+  {
+    PublicInstanceProxyHandlers.ownKeys = (target) => {
+      warn(
+        `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
+      );
+      return Reflect.ownKeys(target);
+    };
+  }
+  const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(
+    {},
+    PublicInstanceProxyHandlers,
+    {
+      get(target, key) {
+        if (key === Symbol.unscopables) {
+          return;
+        }
+        return PublicInstanceProxyHandlers.get(target, key, target);
+      },
+      has(_, key) {
+        const has = key[0] !== "_" && !isGloballyWhitelisted(key);
+        if (!has && PublicInstanceProxyHandlers.has(_, key)) {
+          warn(
+            `Property ${JSON.stringify(
+            key
+          )} should not start with _ which is a reserved prefix for Vue internals.`
+          );
+        }
+        return has;
+      }
+    }
+  );
+  function createDevRenderContext(instance) {
+    const target = {};
+    Object.defineProperty(target, `_`, {
+      configurable: true,
+      enumerable: false,
+      get: () => instance
+    });
+    Object.keys(publicPropertiesMap).forEach((key) => {
+      Object.defineProperty(target, key, {
+        configurable: true,
+        enumerable: false,
+        get: () => publicPropertiesMap[key](instance),
+        // intercepted by the proxy so no need for implementation,
+        // but needed to prevent set errors
+        set: NOOP
+      });
+    });
+    return target;
+  }
+  function exposePropsOnRenderContext(instance) {
+    const {
+      ctx,
+      propsOptions: [propsOptions]
+    } = instance;
+    if (propsOptions) {
+      Object.keys(propsOptions).forEach((key) => {
+        Object.defineProperty(ctx, key, {
+          enumerable: true,
+          configurable: true,
+          get: () => instance.props[key],
+          set: NOOP
+        });
+      });
+    }
+  }
+  function exposeSetupStateOnRenderContext(instance) {
+    const { ctx, setupState } = instance;
+    Object.keys(toRaw(setupState)).forEach((key) => {
+      if (!setupState.__isScriptSetup) {
+        if (isReservedPrefix(key[0])) {
+          warn(
+            `setup() return property ${JSON.stringify(
+            key
+          )} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
+          );
+          return;
+        }
+        Object.defineProperty(ctx, key, {
+          enumerable: true,
+          configurable: true,
+          get: () => setupState[key],
+          set: NOOP
+        });
+      }
+    });
+  }
+
+  const warnRuntimeUsage = (method) => warn(
+    `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`
+  );
+  function defineProps() {
+    {
+      warnRuntimeUsage(`defineProps`);
+    }
+    return null;
+  }
+  function defineEmits() {
+    {
+      warnRuntimeUsage(`defineEmits`);
+    }
+    return null;
+  }
+  function defineExpose(exposed) {
+    {
+      warnRuntimeUsage(`defineExpose`);
+    }
+  }
+  function defineOptions(options) {
+    {
+      warnRuntimeUsage(`defineOptions`);
+    }
+  }
+  function defineSlots() {
+    {
+      warnRuntimeUsage(`defineSlots`);
+    }
+    return null;
+  }
+  function defineModel() {
+    {
+      warnRuntimeUsage("defineModel");
+    }
+  }
+  function withDefaults(props, defaults) {
+    {
+      warnRuntimeUsage(`withDefaults`);
+    }
+    return null;
+  }
+  function useSlots() {
+    return getContext().slots;
+  }
+  function useAttrs() {
+    return getContext().attrs;
+  }
+  function useModel(props, name, options) {
+    const i = getCurrentInstance();
+    if (!i) {
+      warn(`useModel() called without active instance.`);
+      return ref();
+    }
+    if (!i.propsOptions[0][name]) {
+      warn(`useModel() called with prop "${name}" which is not declared.`);
+      return ref();
+    }
+    if (options && options.local) {
+      const proxy = ref(props[name]);
+      watch(
+        () => props[name],
+        (v) => proxy.value = v
+      );
+      watch(proxy, (value) => {
+        if (value !== props[name]) {
+          i.emit(`update:${name}`, value);
+        }
+      });
+      return proxy;
+    } else {
+      return {
+        __v_isRef: true,
+        get value() {
+          return props[name];
+        },
+        set value(value) {
+          i.emit(`update:${name}`, value);
+        }
+      };
+    }
+  }
+  function getContext() {
+    const i = getCurrentInstance();
+    if (!i) {
+      warn(`useContext() called without active instance.`);
+    }
+    return i.setupContext || (i.setupContext = createSetupContext(i));
+  }
+  function normalizePropsOrEmits(props) {
+    return isArray(props) ? props.reduce(
+      (normalized, p) => (normalized[p] = null, normalized),
+      {}
+    ) : props;
+  }
+  function mergeDefaults(raw, defaults) {
+    const props = normalizePropsOrEmits(raw);
+    for (const key in defaults) {
+      if (key.startsWith("__skip"))
+        continue;
+      let opt = props[key];
+      if (opt) {
+        if (isArray(opt) || isFunction(opt)) {
+          opt = props[key] = { type: opt, default: defaults[key] };
+        } else {
+          opt.default = defaults[key];
+        }
+      } else if (opt === null) {
+        opt = props[key] = { default: defaults[key] };
+      } else {
+        warn(`props default key "${key}" has no corresponding declaration.`);
+      }
+      if (opt && defaults[`__skip_${key}`]) {
+        opt.skipFactory = true;
+      }
+    }
+    return props;
+  }
+  function mergeModels(a, b) {
+    if (!a || !b)
+      return a || b;
+    if (isArray(a) && isArray(b))
+      return a.concat(b);
+    return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));
+  }
+  function createPropsRestProxy(props, excludedKeys) {
+    const ret = {};
+    for (const key in props) {
+      if (!excludedKeys.includes(key)) {
+        Object.defineProperty(ret, key, {
+          enumerable: true,
+          get: () => props[key]
+        });
+      }
+    }
+    return ret;
+  }
+  function withAsyncContext(getAwaitable) {
+    const ctx = getCurrentInstance();
+    if (!ctx) {
+      warn(
+        `withAsyncContext called without active current instance. This is likely a bug.`
+      );
+    }
+    let awaitable = getAwaitable();
+    unsetCurrentInstance();
+    if (isPromise(awaitable)) {
+      awaitable = awaitable.catch((e) => {
+        setCurrentInstance(ctx);
+        throw e;
+      });
+    }
+    return [awaitable, () => setCurrentInstance(ctx)];
+  }
+
+  function createDuplicateChecker() {
+    const cache = /* @__PURE__ */ Object.create(null);
+    return (type, key) => {
+      if (cache[key]) {
+        warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
+      } else {
+        cache[key] = type;
+      }
+    };
+  }
+  let shouldCacheAccess = true;
+  function applyOptions(instance) {
+    const options = resolveMergedOptions(instance);
+    const publicThis = instance.proxy;
+    const ctx = instance.ctx;
+    shouldCacheAccess = false;
+    if (options.beforeCreate) {
+      callHook$1(options.beforeCreate, instance, "bc");
+    }
+    const {
+      // state
+      data: dataOptions,
+      computed: computedOptions,
+      methods,
+      watch: watchOptions,
+      provide: provideOptions,
+      inject: injectOptions,
+      // lifecycle
+      created,
+      beforeMount,
+      mounted,
+      beforeUpdate,
+      updated,
+      activated,
+      deactivated,
+      beforeDestroy,
+      beforeUnmount,
+      destroyed,
+      unmounted,
+      render,
+      renderTracked,
+      renderTriggered,
+      errorCaptured,
+      serverPrefetch,
+      // public API
+      expose,
+      inheritAttrs,
+      // assets
+      components,
+      directives,
+      filters
+    } = options;
+    const checkDuplicateProperties = createDuplicateChecker() ;
+    {
+      const [propsOptions] = instance.propsOptions;
+      if (propsOptions) {
+        for (const key in propsOptions) {
+          checkDuplicateProperties("Props" /* PROPS */, key);
+        }
+      }
+    }
+    if (injectOptions) {
+      resolveInjections(injectOptions, ctx, checkDuplicateProperties);
+    }
+    if (methods) {
+      for (const key in methods) {
+        const methodHandler = methods[key];
+        if (isFunction(methodHandler)) {
+          {
+            Object.defineProperty(ctx, key, {
+              value: methodHandler.bind(publicThis),
+              configurable: true,
+              enumerable: true,
+              writable: true
+            });
+          }
+          {
+            checkDuplicateProperties("Methods" /* METHODS */, key);
+          }
+        } else {
+          warn(
+            `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
+          );
+        }
+      }
+    }
+    if (dataOptions) {
+      if (!isFunction(dataOptions)) {
+        warn(
+          `The data option must be a function. Plain object usage is no longer supported.`
+        );
+      }
+      const data = dataOptions.call(publicThis, publicThis);
+      if (isPromise(data)) {
+        warn(
+          `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
+        );
+      }
+      if (!isObject(data)) {
+        warn(`data() should return an object.`);
+      } else {
+        instance.data = reactive(data);
+        {
+          for (const key in data) {
+            checkDuplicateProperties("Data" /* DATA */, key);
+            if (!isReservedPrefix(key[0])) {
+              Object.defineProperty(ctx, key, {
+                configurable: true,
+                enumerable: true,
+                get: () => data[key],
+                set: NOOP
+              });
+            }
+          }
+        }
+      }
+    }
+    shouldCacheAccess = true;
+    if (computedOptions) {
+      for (const key in computedOptions) {
+        const opt = computedOptions[key];
+        const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
+        if (get === NOOP) {
+          warn(`Computed property "${key}" has no getter.`);
+        }
+        const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
+          warn(
+            `Write operation failed: computed property "${key}" is readonly.`
+          );
+        } ;
+        const c = computed({
+          get,
+          set
+        });
+        Object.defineProperty(ctx, key, {
+          enumerable: true,
+          configurable: true,
+          get: () => c.value,
+          set: (v) => c.value = v
+        });
+        {
+          checkDuplicateProperties("Computed" /* COMPUTED */, key);
+        }
+      }
+    }
+    if (watchOptions) {
+      for (const key in watchOptions) {
+        createWatcher(watchOptions[key], ctx, publicThis, key);
+      }
+    }
+    if (provideOptions) {
+      const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
+      Reflect.ownKeys(provides).forEach((key) => {
+        provide(key, provides[key]);
+      });
+    }
+    if (created) {
+      callHook$1(created, instance, "c");
+    }
+    function registerLifecycleHook(register, hook) {
+      if (isArray(hook)) {
+        hook.forEach((_hook) => register(_hook.bind(publicThis)));
+      } else if (hook) {
+        register(hook.bind(publicThis));
+      }
+    }
+    registerLifecycleHook(onBeforeMount, beforeMount);
+    registerLifecycleHook(onMounted, mounted);
+    registerLifecycleHook(onBeforeUpdate, beforeUpdate);
+    registerLifecycleHook(onUpdated, updated);
+    registerLifecycleHook(onActivated, activated);
+    registerLifecycleHook(onDeactivated, deactivated);
+    registerLifecycleHook(onErrorCaptured, errorCaptured);
+    registerLifecycleHook(onRenderTracked, renderTracked);
+    registerLifecycleHook(onRenderTriggered, renderTriggered);
+    registerLifecycleHook(onBeforeUnmount, beforeUnmount);
+    registerLifecycleHook(onUnmounted, unmounted);
+    registerLifecycleHook(onServerPrefetch, serverPrefetch);
+    if (isArray(expose)) {
+      if (expose.length) {
+        const exposed = instance.exposed || (instance.exposed = {});
+        expose.forEach((key) => {
+          Object.defineProperty(exposed, key, {
+            get: () => publicThis[key],
+            set: (val) => publicThis[key] = val
+          });
+        });
+      } else if (!instance.exposed) {
+        instance.exposed = {};
+      }
+    }
+    if (render && instance.render === NOOP) {
+      instance.render = render;
+    }
+    if (inheritAttrs != null) {
+      instance.inheritAttrs = inheritAttrs;
+    }
+    if (components)
+      instance.components = components;
+    if (directives)
+      instance.directives = directives;
+  }
+  function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
+    if (isArray(injectOptions)) {
+      injectOptions = normalizeInject(injectOptions);
+    }
+    for (const key in injectOptions) {
+      const opt = injectOptions[key];
+      let injected;
+      if (isObject(opt)) {
+        if ("default" in opt) {
+          injected = inject(
+            opt.from || key,
+            opt.default,
+            true
+            /* treat default function as factory */
+          );
+        } else {
+          injected = inject(opt.from || key);
+        }
+      } else {
+        injected = inject(opt);
+      }
+      if (isRef(injected)) {
+        Object.defineProperty(ctx, key, {
+          enumerable: true,
+          configurable: true,
+          get: () => injected.value,
+          set: (v) => injected.value = v
+        });
+      } else {
+        ctx[key] = injected;
+      }
+      {
+        checkDuplicateProperties("Inject" /* INJECT */, key);
+      }
+    }
+  }
+  function callHook$1(hook, instance, type) {
+    callWithAsyncErrorHandling(
+      isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),
+      instance,
+      type
+    );
+  }
+  function createWatcher(raw, ctx, publicThis, key) {
+    const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
+    if (isString(raw)) {
+      const handler = ctx[raw];
+      if (isFunction(handler)) {
+        watch(getter, handler);
+      } else {
+        warn(`Invalid watch handler specified by key "${raw}"`, handler);
+      }
+    } else if (isFunction(raw)) {
+      watch(getter, raw.bind(publicThis));
+    } else if (isObject(raw)) {
+      if (isArray(raw)) {
+        raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
+      } else {
+        const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
+        if (isFunction(handler)) {
+          watch(getter, handler, raw);
+        } else {
+          warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
+        }
+      }
+    } else {
+      warn(`Invalid watch option: "${key}"`, raw);
+    }
+  }
+  function resolveMergedOptions(instance) {
+    const base = instance.type;
+    const { mixins, extends: extendsOptions } = base;
+    const {
+      mixins: globalMixins,
+      optionsCache: cache,
+      config: { optionMergeStrategies }
+    } = instance.appContext;
+    const cached = cache.get(base);
+    let resolved;
+    if (cached) {
+      resolved = cached;
+    } else if (!globalMixins.length && !mixins && !extendsOptions) {
+      {
+        resolved = base;
+      }
+    } else {
+      resolved = {};
+      if (globalMixins.length) {
+        globalMixins.forEach(
+          (m) => mergeOptions(resolved, m, optionMergeStrategies, true)
+        );
+      }
+      mergeOptions(resolved, base, optionMergeStrategies);
+    }
+    if (isObject(base)) {
+      cache.set(base, resolved);
+    }
+    return resolved;
+  }
+  function mergeOptions(to, from, strats, asMixin = false) {
+    const { mixins, extends: extendsOptions } = from;
+    if (extendsOptions) {
+      mergeOptions(to, extendsOptions, strats, true);
+    }
+    if (mixins) {
+      mixins.forEach(
+        (m) => mergeOptions(to, m, strats, true)
+      );
+    }
+    for (const key in from) {
+      if (asMixin && key === "expose") {
+        warn(
+          `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
+        );
+      } else {
+        const strat = internalOptionMergeStrats[key] || strats && strats[key];
+        to[key] = strat ? strat(to[key], from[key]) : from[key];
+      }
+    }
+    return to;
+  }
+  const internalOptionMergeStrats = {
+    data: mergeDataFn,
+    props: mergeEmitsOrPropsOptions,
+    emits: mergeEmitsOrPropsOptions,
+    // objects
+    methods: mergeObjectOptions,
+    computed: mergeObjectOptions,
+    // lifecycle
+    beforeCreate: mergeAsArray$1,
+    created: mergeAsArray$1,
+    beforeMount: mergeAsArray$1,
+    mounted: mergeAsArray$1,
+    beforeUpdate: mergeAsArray$1,
+    updated: mergeAsArray$1,
+    beforeDestroy: mergeAsArray$1,
+    beforeUnmount: mergeAsArray$1,
+    destroyed: mergeAsArray$1,
+    unmounted: mergeAsArray$1,
+    activated: mergeAsArray$1,
+    deactivated: mergeAsArray$1,
+    errorCaptured: mergeAsArray$1,
+    serverPrefetch: mergeAsArray$1,
+    // assets
+    components: mergeObjectOptions,
+    directives: mergeObjectOptions,
+    // watch
+    watch: mergeWatchOptions,
+    // provide / inject
+    provide: mergeDataFn,
+    inject: mergeInject
+  };
+  function mergeDataFn(to, from) {
+    if (!from) {
+      return to;
+    }
+    if (!to) {
+      return from;
+    }
+    return function mergedDataFn() {
+      return (extend)(
+        isFunction(to) ? to.call(this, this) : to,
+        isFunction(from) ? from.call(this, this) : from
+      );
+    };
+  }
+  function mergeInject(to, from) {
+    return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
+  }
+  function normalizeInject(raw) {
+    if (isArray(raw)) {
+      const res = {};
+      for (let i = 0; i < raw.length; i++) {
+        res[raw[i]] = raw[i];
+      }
+      return res;
+    }
+    return raw;
+  }
+  function mergeAsArray$1(to, from) {
+    return to ? [...new Set([].concat(to, from))] : from;
+  }
+  function mergeObjectOptions(to, from) {
+    return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;
+  }
+  function mergeEmitsOrPropsOptions(to, from) {
+    if (to) {
+      if (isArray(to) && isArray(from)) {
+        return [.../* @__PURE__ */ new Set([...to, ...from])];
+      }
+      return extend(
+        /* @__PURE__ */ Object.create(null),
+        normalizePropsOrEmits(to),
+        normalizePropsOrEmits(from != null ? from : {})
+      );
+    } else {
+      return from;
+    }
+  }
+  function mergeWatchOptions(to, from) {
+    if (!to)
+      return from;
+    if (!from)
+      return to;
+    const merged = extend(/* @__PURE__ */ Object.create(null), to);
+    for (const key in from) {
+      merged[key] = mergeAsArray$1(to[key], from[key]);
+    }
+    return merged;
+  }
+
+  function createAppContext() {
+    return {
+      app: null,
+      config: {
+        isNativeTag: NO,
+        performance: false,
+        globalProperties: {},
+        optionMergeStrategies: {},
+        errorHandler: void 0,
+        warnHandler: void 0,
+        compilerOptions: {}
+      },
+      mixins: [],
+      components: {},
+      directives: {},
+      provides: /* @__PURE__ */ Object.create(null),
+      optionsCache: /* @__PURE__ */ new WeakMap(),
+      propsCache: /* @__PURE__ */ new WeakMap(),
+      emitsCache: /* @__PURE__ */ new WeakMap()
+    };
+  }
+  let uid$1 = 0;
+  function createAppAPI(render, hydrate) {
+    return function createApp(rootComponent, rootProps = null) {
+      if (!isFunction(rootComponent)) {
+        rootComponent = extend({}, rootComponent);
+      }
+      if (rootProps != null && !isObject(rootProps)) {
+        warn(`root props passed to app.mount() must be an object.`);
+        rootProps = null;
+      }
+      const context = createAppContext();
+      {
+        Object.defineProperty(context.config, "unwrapInjectedRef", {
+          get() {
+            return true;
+          },
+          set() {
+            warn(
+              `app.config.unwrapInjectedRef has been deprecated. 3.3 now alawys unwraps injected refs in Options API.`
+            );
+          }
+        });
+      }
+      const installedPlugins = /* @__PURE__ */ new Set();
+      let isMounted = false;
+      const app = context.app = {
+        _uid: uid$1++,
+        _component: rootComponent,
+        _props: rootProps,
+        _container: null,
+        _context: context,
+        _instance: null,
+        version,
+        get config() {
+          return context.config;
+        },
+        set config(v) {
+          {
+            warn(
+              `app.config cannot be replaced. Modify individual options instead.`
+            );
+          }
+        },
+        use(plugin, ...options) {
+          if (installedPlugins.has(plugin)) {
+            warn(`Plugin has already been applied to target app.`);
+          } else if (plugin && isFunction(plugin.install)) {
+            installedPlugins.add(plugin);
+            plugin.install(app, ...options);
+          } else if (isFunction(plugin)) {
+            installedPlugins.add(plugin);
+            plugin(app, ...options);
+          } else {
+            warn(
+              `A plugin must either be a function or an object with an "install" function.`
+            );
+          }
+          return app;
+        },
+        mixin(mixin) {
+          {
+            if (!context.mixins.includes(mixin)) {
+              context.mixins.push(mixin);
+            } else {
+              warn(
+                "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
+              );
+            }
+          }
+          return app;
+        },
+        component(name, component) {
+          {
+            validateComponentName(name, context.config);
+          }
+          if (!component) {
+            return context.components[name];
+          }
+          if (context.components[name]) {
+            warn(`Component "${name}" has already been registered in target app.`);
+          }
+          context.components[name] = component;
+          return app;
+        },
+        directive(name, directive) {
+          {
+            validateDirectiveName(name);
+          }
+          if (!directive) {
+            return context.directives[name];
+          }
+          if (context.directives[name]) {
+            warn(`Directive "${name}" has already been registered in target app.`);
+          }
+          context.directives[name] = directive;
+          return app;
+        },
+        mount(rootContainer, isHydrate, isSVG) {
+          if (!isMounted) {
+            if (rootContainer.__vue_app__) {
+              warn(
+                `There is already an app instance mounted on the host container.
+ If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
+              );
+            }
+            const vnode = createVNode(
+              rootComponent,
+              rootProps
+            );
+            vnode.appContext = context;
+            {
+              context.reload = () => {
+                render(cloneVNode(vnode), rootContainer, isSVG);
+              };
+            }
+            if (isHydrate && hydrate) {
+              hydrate(vnode, rootContainer);
+            } else {
+              render(vnode, rootContainer, isSVG);
+            }
+            isMounted = true;
+            app._container = rootContainer;
+            rootContainer.__vue_app__ = app;
+            {
+              app._instance = vnode.component;
+              devtoolsInitApp(app, version);
+            }
+            return getExposeProxy(vnode.component) || vnode.component.proxy;
+          } else {
+            warn(
+              `App has already been mounted.
+If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
+            );
+          }
+        },
+        unmount() {
+          if (isMounted) {
+            render(null, app._container);
+            {
+              app._instance = null;
+              devtoolsUnmountApp(app);
+            }
+            delete app._container.__vue_app__;
+          } else {
+            warn(`Cannot unmount an app that is not mounted.`);
+          }
+        },
+        provide(key, value) {
+          if (key in context.provides) {
+            warn(
+              `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
+            );
+          }
+          context.provides[key] = value;
+          return app;
+        },
+        runWithContext(fn) {
+          currentApp = app;
+          try {
+            return fn();
+          } finally {
+            currentApp = null;
+          }
+        }
+      };
+      return app;
+    };
+  }
+  let currentApp = null;
+
+  function provide(key, value) {
+    if (!currentInstance) {
+      {
+        warn(`provide() can only be used inside setup().`);
+      }
+    } else {
+      let provides = currentInstance.provides;
+      const parentProvides = currentInstance.parent && currentInstance.parent.provides;
+      if (parentProvides === provides) {
+        provides = currentInstance.provides = Object.create(parentProvides);
+      }
+      provides[key] = value;
+    }
+  }
+  function inject(key, defaultValue, treatDefaultAsFactory = false) {
+    const instance = currentInstance || currentRenderingInstance;
+    if (instance || currentApp) {
+      const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;
+      if (provides && key in provides) {
+        return provides[key];
+      } else if (arguments.length > 1) {
+        return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
+      } else {
+        warn(`injection "${String(key)}" not found.`);
+      }
+    } else {
+      warn(`inject() can only be used inside setup() or functional components.`);
+    }
+  }
+  function hasInjectionContext() {
+    return !!(currentInstance || currentRenderingInstance || currentApp);
+  }
+
+  function initProps(instance, rawProps, isStateful, isSSR = false) {
+    const props = {};
+    const attrs = {};
+    def(attrs, InternalObjectKey, 1);
+    instance.propsDefaults = /* @__PURE__ */ Object.create(null);
+    setFullProps(instance, rawProps, props, attrs);
+    for (const key in instance.propsOptions[0]) {
+      if (!(key in props)) {
+        props[key] = void 0;
+      }
+    }
+    {
+      validateProps(rawProps || {}, props, instance);
+    }
+    if (isStateful) {
+      instance.props = isSSR ? props : shallowReactive(props);
+    } else {
+      if (!instance.type.props) {
+        instance.props = attrs;
+      } else {
+        instance.props = props;
+      }
+    }
+    instance.attrs = attrs;
+  }
+  function isInHmrContext(instance) {
+    while (instance) {
+      if (instance.type.__hmrId)
+        return true;
+      instance = instance.parent;
+    }
+  }
+  function updateProps(instance, rawProps, rawPrevProps, optimized) {
+    const {
+      props,
+      attrs,
+      vnode: { patchFlag }
+    } = instance;
+    const rawCurrentProps = toRaw(props);
+    const [options] = instance.propsOptions;
+    let hasAttrsChanged = false;
+    if (
+      // always force full diff in dev
+      // - #1942 if hmr is enabled with sfc component
+      // - vite#872 non-sfc component used by sfc component
+      !isInHmrContext(instance) && (optimized || patchFlag > 0) && !(patchFlag & 16)
+    ) {
+      if (patchFlag & 8) {
+        const propsToUpdate = instance.vnode.dynamicProps;
+        for (let i = 0; i < propsToUpdate.length; i++) {
+          let key = propsToUpdate[i];
+          if (isEmitListener(instance.emitsOptions, key)) {
+            continue;
+          }
+          const value = rawProps[key];
+          if (options) {
+            if (hasOwn(attrs, key)) {
+              if (value !== attrs[key]) {
+                attrs[key] = value;
+                hasAttrsChanged = true;
+              }
+            } else {
+              const camelizedKey = camelize(key);
+              props[camelizedKey] = resolvePropValue(
+                options,
+                rawCurrentProps,
+                camelizedKey,
+                value,
+                instance,
+                false
+                /* isAbsent */
+              );
+            }
+          } else {
+            if (value !== attrs[key]) {
+              attrs[key] = value;
+              hasAttrsChanged = true;
+            }
+          }
+        }
+      }
+    } else {
+      if (setFullProps(instance, rawProps, props, attrs)) {
+        hasAttrsChanged = true;
+      }
+      let kebabKey;
+      for (const key in rawCurrentProps) {
+        if (!rawProps || // for camelCase
+        !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case
+        // and converted to camelCase (#955)
+        ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
+          if (options) {
+            if (rawPrevProps && // for camelCase
+            (rawPrevProps[key] !== void 0 || // for kebab-case
+            rawPrevProps[kebabKey] !== void 0)) {
+              props[key] = resolvePropValue(
+                options,
+                rawCurrentProps,
+                key,
+                void 0,
+                instance,
+                true
+                /* isAbsent */
+              );
+            }
+          } else {
+            delete props[key];
+          }
+        }
+      }
+      if (attrs !== rawCurrentProps) {
+        for (const key in attrs) {
+          if (!rawProps || !hasOwn(rawProps, key) && true) {
+            delete attrs[key];
+            hasAttrsChanged = true;
+          }
+        }
+      }
+    }
+    if (hasAttrsChanged) {
+      trigger(instance, "set", "$attrs");
+    }
+    {
+      validateProps(rawProps || {}, props, instance);
+    }
+  }
+  function setFullProps(instance, rawProps, props, attrs) {
+    const [options, needCastKeys] = instance.propsOptions;
+    let hasAttrsChanged = false;
+    let rawCastValues;
+    if (rawProps) {
+      for (let key in rawProps) {
+        if (isReservedProp(key)) {
+          continue;
+        }
+        const value = rawProps[key];
+        let camelKey;
+        if (options && hasOwn(options, camelKey = camelize(key))) {
+          if (!needCastKeys || !needCastKeys.includes(camelKey)) {
+            props[camelKey] = value;
+          } else {
+            (rawCastValues || (rawCastValues = {}))[camelKey] = value;
+          }
+        } else if (!isEmitListener(instance.emitsOptions, key)) {
+          if (!(key in attrs) || value !== attrs[key]) {
+            attrs[key] = value;
+            hasAttrsChanged = true;
+          }
+        }
+      }
+    }
+    if (needCastKeys) {
+      const rawCurrentProps = toRaw(props);
+      const castValues = rawCastValues || EMPTY_OBJ;
+      for (let i = 0; i < needCastKeys.length; i++) {
+        const key = needCastKeys[i];
+        props[key] = resolvePropValue(
+          options,
+          rawCurrentProps,
+          key,
+          castValues[key],
+          instance,
+          !hasOwn(castValues, key)
+        );
+      }
+    }
+    return hasAttrsChanged;
+  }
+  function resolvePropValue(options, props, key, value, instance, isAbsent) {
+    const opt = options[key];
+    if (opt != null) {
+      const hasDefault = hasOwn(opt, "default");
+      if (hasDefault && value === void 0) {
+        const defaultValue = opt.default;
+        if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {
+          const { propsDefaults } = instance;
+          if (key in propsDefaults) {
+            value = propsDefaults[key];
+          } else {
+            setCurrentInstance(instance);
+            value = propsDefaults[key] = defaultValue.call(
+              null,
+              props
+            );
+            unsetCurrentInstance();
+          }
+        } else {
+          value = defaultValue;
+        }
+      }
+      if (opt[0 /* shouldCast */]) {
+        if (isAbsent && !hasDefault) {
+          value = false;
+        } else if (opt[1 /* shouldCastTrue */] && (value === "" || value === hyphenate(key))) {
+          value = true;
+        }
+      }
+    }
+    return value;
+  }
+  function normalizePropsOptions(comp, appContext, asMixin = false) {
+    const cache = appContext.propsCache;
+    const cached = cache.get(comp);
+    if (cached) {
+      return cached;
+    }
+    const raw = comp.props;
+    const normalized = {};
+    const needCastKeys = [];
+    let hasExtends = false;
+    if (!isFunction(comp)) {
+      const extendProps = (raw2) => {
+        hasExtends = true;
+        const [props, keys] = normalizePropsOptions(raw2, appContext, true);
+        extend(normalized, props);
+        if (keys)
+          needCastKeys.push(...keys);
+      };
+      if (!asMixin && appContext.mixins.length) {
+        appContext.mixins.forEach(extendProps);
+      }
+      if (comp.extends) {
+        extendProps(comp.extends);
+      }
+      if (comp.mixins) {
+        comp.mixins.forEach(extendProps);
+      }
+    }
+    if (!raw && !hasExtends) {
+      if (isObject(comp)) {
+        cache.set(comp, EMPTY_ARR);
+      }
+      return EMPTY_ARR;
+    }
+    if (isArray(raw)) {
+      for (let i = 0; i < raw.length; i++) {
+        if (!isString(raw[i])) {
+          warn(`props must be strings when using array syntax.`, raw[i]);
+        }
+        const normalizedKey = camelize(raw[i]);
+        if (validatePropName(normalizedKey)) {
+          normalized[normalizedKey] = EMPTY_OBJ;
+        }
+      }
+    } else if (raw) {
+      if (!isObject(raw)) {
+        warn(`invalid props options`, raw);
+      }
+      for (const key in raw) {
+        const normalizedKey = camelize(key);
+        if (validatePropName(normalizedKey)) {
+          const opt = raw[key];
+          const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);
+          if (prop) {
+            const booleanIndex = getTypeIndex(Boolean, prop.type);
+            const stringIndex = getTypeIndex(String, prop.type);
+            prop[0 /* shouldCast */] = booleanIndex > -1;
+            prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;
+            if (booleanIndex > -1 || hasOwn(prop, "default")) {
+              needCastKeys.push(normalizedKey);
+            }
+          }
+        }
+      }
+    }
+    const res = [normalized, needCastKeys];
+    if (isObject(comp)) {
+      cache.set(comp, res);
+    }
+    return res;
+  }
+  function validatePropName(key) {
+    if (key[0] !== "$") {
+      return true;
+    } else {
+      warn(`Invalid prop name: "${key}" is a reserved property.`);
+    }
+    return false;
+  }
+  function getType(ctor) {
+    const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
+    return match ? match[2] : ctor === null ? "null" : "";
+  }
+  function isSameType(a, b) {
+    return getType(a) === getType(b);
+  }
+  function getTypeIndex(type, expectedTypes) {
+    if (isArray(expectedTypes)) {
+      return expectedTypes.findIndex((t) => isSameType(t, type));
+    } else if (isFunction(expectedTypes)) {
+      return isSameType(expectedTypes, type) ? 0 : -1;
+    }
+    return -1;
+  }
+  function validateProps(rawProps, props, instance) {
+    const resolvedValues = toRaw(props);
+    const options = instance.propsOptions[0];
+    for (const key in options) {
+      let opt = options[key];
+      if (opt == null)
+        continue;
+      validateProp(
+        key,
+        resolvedValues[key],
+        opt,
+        !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))
+      );
+    }
+  }
+  function validateProp(name, value, prop, isAbsent) {
+    const { type, required, validator, skipCheck } = prop;
+    if (required && isAbsent) {
+      warn('Missing required prop: "' + name + '"');
+      return;
+    }
+    if (value == null && !required) {
+      return;
+    }
+    if (type != null && type !== true && !skipCheck) {
+      let isValid = false;
+      const types = isArray(type) ? type : [type];
+      const expectedTypes = [];
+      for (let i = 0; i < types.length && !isValid; i++) {
+        const { valid, expectedType } = assertType(value, types[i]);
+        expectedTypes.push(expectedType || "");
+        isValid = valid;
+      }
+      if (!isValid) {
+        warn(getInvalidTypeMessage(name, value, expectedTypes));
+        return;
+      }
+    }
+    if (validator && !validator(value)) {
+      warn('Invalid prop: custom validator check failed for prop "' + name + '".');
+    }
+  }
+  const isSimpleType = /* @__PURE__ */ makeMap(
+    "String,Number,Boolean,Function,Symbol,BigInt"
+  );
+  function assertType(value, type) {
+    let valid;
+    const expectedType = getType(type);
+    if (isSimpleType(expectedType)) {
+      const t = typeof value;
+      valid = t === expectedType.toLowerCase();
+      if (!valid && t === "object") {
+        valid = value instanceof type;
+      }
+    } else if (expectedType === "Object") {
+      valid = isObject(value);
+    } else if (expectedType === "Array") {
+      valid = isArray(value);
+    } else if (expectedType === "null") {
+      valid = value === null;
+    } else {
+      valid = value instanceof type;
+    }
+    return {
+      valid,
+      expectedType
+    };
+  }
+  function getInvalidTypeMessage(name, value, expectedTypes) {
+    let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
+    const expectedType = expectedTypes[0];
+    const receivedType = toRawType(value);
+    const expectedValue = styleValue(value, expectedType);
+    const receivedValue = styleValue(value, receivedType);
+    if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
+      message += ` with value ${expectedValue}`;
+    }
+    message += `, got ${receivedType} `;
+    if (isExplicable(receivedType)) {
+      message += `with value ${receivedValue}.`;
+    }
+    return message;
+  }
+  function styleValue(value, type) {
+    if (type === "String") {
+      return `"${value}"`;
+    } else if (type === "Number") {
+      return `${Number(value)}`;
+    } else {
+      return `${value}`;
+    }
+  }
+  function isExplicable(type) {
+    const explicitTypes = ["string", "number", "boolean"];
+    return explicitTypes.some((elem) => type.toLowerCase() === elem);
+  }
+  function isBoolean(...args) {
+    return args.some((elem) => elem.toLowerCase() === "boolean");
+  }
+
+  const isInternalKey = (key) => key[0] === "_" || key === "$stable";
+  const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
+  const normalizeSlot = (key, rawSlot, ctx) => {
+    if (rawSlot._n) {
+      return rawSlot;
+    }
+    const normalized = withCtx((...args) => {
+      if (currentInstance) {
+        warn(
+          `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
+        );
+      }
+      return normalizeSlotValue(rawSlot(...args));
+    }, ctx);
+    normalized._c = false;
+    return normalized;
+  };
+  const normalizeObjectSlots = (rawSlots, slots, instance) => {
+    const ctx = rawSlots._ctx;
+    for (const key in rawSlots) {
+      if (isInternalKey(key))
+        continue;
+      const value = rawSlots[key];
+      if (isFunction(value)) {
+        slots[key] = normalizeSlot(key, value, ctx);
+      } else if (value != null) {
+        {
+          warn(
+            `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
+          );
+        }
+        const normalized = normalizeSlotValue(value);
+        slots[key] = () => normalized;
+      }
+    }
+  };
+  const normalizeVNodeSlots = (instance, children) => {
+    if (!isKeepAlive(instance.vnode) && true) {
+      warn(
+        `Non-function value encountered for default slot. Prefer function slots for better performance.`
+      );
+    }
+    const normalized = normalizeSlotValue(children);
+    instance.slots.default = () => normalized;
+  };
+  const initSlots = (instance, children) => {
+    if (instance.vnode.shapeFlag & 32) {
+      const type = children._;
+      if (type) {
+        instance.slots = toRaw(children);
+        def(children, "_", type);
+      } else {
+        normalizeObjectSlots(
+          children,
+          instance.slots = {});
+      }
+    } else {
+      instance.slots = {};
+      if (children) {
+        normalizeVNodeSlots(instance, children);
+      }
+    }
+    def(instance.slots, InternalObjectKey, 1);
+  };
+  const updateSlots = (instance, children, optimized) => {
+    const { vnode, slots } = instance;
+    let needDeletionCheck = true;
+    let deletionComparisonTarget = EMPTY_OBJ;
+    if (vnode.shapeFlag & 32) {
+      const type = children._;
+      if (type) {
+        if (isHmrUpdating) {
+          extend(slots, children);
+          trigger(instance, "set", "$slots");
+        } else if (optimized && type === 1) {
+          needDeletionCheck = false;
+        } else {
+          extend(slots, children);
+          if (!optimized && type === 1) {
+            delete slots._;
+          }
+        }
+      } else {
+        needDeletionCheck = !children.$stable;
+        normalizeObjectSlots(children, slots);
+      }
+      deletionComparisonTarget = children;
+    } else if (children) {
+      normalizeVNodeSlots(instance, children);
+      deletionComparisonTarget = { default: 1 };
+    }
+    if (needDeletionCheck) {
+      for (const key in slots) {
+        if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
+          delete slots[key];
+        }
+      }
+    }
+  };
+
+  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
+    if (isArray(rawRef)) {
+      rawRef.forEach(
+        (r, i) => setRef(
+          r,
+          oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),
+          parentSuspense,
+          vnode,
+          isUnmount
+        )
+      );
+      return;
+    }
+    if (isAsyncWrapper(vnode) && !isUnmount) {
+      return;
+    }
+    const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;
+    const value = isUnmount ? null : refValue;
+    const { i: owner, r: ref } = rawRef;
+    if (!owner) {
+      warn(
+        `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
+      );
+      return;
+    }
+    const oldRef = oldRawRef && oldRawRef.r;
+    const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
+    const setupState = owner.setupState;
+    if (oldRef != null && oldRef !== ref) {
+      if (isString(oldRef)) {
+        refs[oldRef] = null;
+        if (hasOwn(setupState, oldRef)) {
+          setupState[oldRef] = null;
+        }
+      } else if (isRef(oldRef)) {
+        oldRef.value = null;
+      }
+    }
+    if (isFunction(ref)) {
+      callWithErrorHandling(ref, owner, 12, [value, refs]);
+    } else {
+      const _isString = isString(ref);
+      const _isRef = isRef(ref);
+      if (_isString || _isRef) {
+        const doSet = () => {
+          if (rawRef.f) {
+            const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
+            if (isUnmount) {
+              isArray(existing) && remove(existing, refValue);
+            } else {
+              if (!isArray(existing)) {
+                if (_isString) {
+                  refs[ref] = [refValue];
+                  if (hasOwn(setupState, ref)) {
+                    setupState[ref] = refs[ref];
+                  }
+                } else {
+                  ref.value = [refValue];
+                  if (rawRef.k)
+                    refs[rawRef.k] = ref.value;
+                }
+              } else if (!existing.includes(refValue)) {
+                existing.push(refValue);
+              }
+            }
+          } else if (_isString) {
+            refs[ref] = value;
+            if (hasOwn(setupState, ref)) {
+              setupState[ref] = value;
+            }
+          } else if (_isRef) {
+            ref.value = value;
+            if (rawRef.k)
+              refs[rawRef.k] = value;
+          } else {
+            warn("Invalid template ref type:", ref, `(${typeof ref})`);
+          }
+        };
+        if (value) {
+          doSet.id = -1;
+          queuePostRenderEffect(doSet, parentSuspense);
+        } else {
+          doSet();
+        }
+      } else {
+        warn("Invalid template ref type:", ref, `(${typeof ref})`);
+      }
+    }
+  }
+
+  let hasMismatch = false;
+  const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== "foreignObject";
+  const isComment = (node) => node.nodeType === 8 /* COMMENT */;
+  function createHydrationFunctions(rendererInternals) {
+    const {
+      mt: mountComponent,
+      p: patch,
+      o: {
+        patchProp,
+        createText,
+        nextSibling,
+        parentNode,
+        remove,
+        insert,
+        createComment
+      }
+    } = rendererInternals;
+    const hydrate = (vnode, container) => {
+      if (!container.hasChildNodes()) {
+        warn(
+          `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`
+        );
+        patch(null, vnode, container);
+        flushPostFlushCbs();
+        container._vnode = vnode;
+        return;
+      }
+      hasMismatch = false;
+      hydrateNode(container.firstChild, vnode, null, null, null);
+      flushPostFlushCbs();
+      container._vnode = vnode;
+      if (hasMismatch && true) {
+        console.error(`Hydration completed but contains mismatches.`);
+      }
+    };
+    const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
+      const isFragmentStart = isComment(node) && node.data === "[";
+      const onMismatch = () => handleMismatch(
+        node,
+        vnode,
+        parentComponent,
+        parentSuspense,
+        slotScopeIds,
+        isFragmentStart
+      );
+      const { type, ref, shapeFlag, patchFlag } = vnode;
+      let domType = node.nodeType;
+      vnode.el = node;
+      if (patchFlag === -2) {
+        optimized = false;
+        vnode.dynamicChildren = null;
+      }
+      let nextNode = null;
+      switch (type) {
+        case Text:
+          if (domType !== 3 /* TEXT */) {
+            if (vnode.children === "") {
+              insert(vnode.el = createText(""), parentNode(node), node);
+              nextNode = node;
+            } else {
+              nextNode = onMismatch();
+            }
+          } else {
+            if (node.data !== vnode.children) {
+              hasMismatch = true;
+              warn(
+                `Hydration text mismatch:
+- Client: ${JSON.stringify(node.data)}
+- Server: ${JSON.stringify(vnode.children)}`
+              );
+              node.data = vnode.children;
+            }
+            nextNode = nextSibling(node);
+          }
+          break;
+        case Comment:
+          if (domType !== 8 /* COMMENT */ || isFragmentStart) {
+            nextNode = onMismatch();
+          } else {
+            nextNode = nextSibling(node);
+          }
+          break;
+        case Static:
+          if (isFragmentStart) {
+            node = nextSibling(node);
+            domType = node.nodeType;
+          }
+          if (domType === 1 /* ELEMENT */ || domType === 3 /* TEXT */) {
+            nextNode = node;
+            const needToAdoptContent = !vnode.children.length;
+            for (let i = 0; i < vnode.staticCount; i++) {
+              if (needToAdoptContent)
+                vnode.children += nextNode.nodeType === 1 /* ELEMENT */ ? nextNode.outerHTML : nextNode.data;
+              if (i === vnode.staticCount - 1) {
+                vnode.anchor = nextNode;
+              }
+              nextNode = nextSibling(nextNode);
+            }
+            return isFragmentStart ? nextSibling(nextNode) : nextNode;
+          } else {
+            onMismatch();
+          }
+          break;
+        case Fragment:
+          if (!isFragmentStart) {
+            nextNode = onMismatch();
+          } else {
+            nextNode = hydrateFragment(
+              node,
+              vnode,
+              parentComponent,
+              parentSuspense,
+              slotScopeIds,
+              optimized
+            );
+          }
+          break;
+        default:
+          if (shapeFlag & 1) {
+            if (domType !== 1 /* ELEMENT */ || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) {
+              nextNode = onMismatch();
+            } else {
+              nextNode = hydrateElement(
+                node,
+                vnode,
+                parentComponent,
+                parentSuspense,
+                slotScopeIds,
+                optimized
+              );
+            }
+          } else if (shapeFlag & 6) {
+            vnode.slotScopeIds = slotScopeIds;
+            const container = parentNode(node);
+            mountComponent(
+              vnode,
+              container,
+              null,
+              parentComponent,
+              parentSuspense,
+              isSVGContainer(container),
+              optimized
+            );
+            nextNode = isFragmentStart ? locateClosingAsyncAnchor(node) : nextSibling(node);
+            if (nextNode && isComment(nextNode) && nextNode.data === "teleport end") {
+              nextNode = nextSibling(nextNode);
+            }
+            if (isAsyncWrapper(vnode)) {
+              let subTree;
+              if (isFragmentStart) {
+                subTree = createVNode(Fragment);
+                subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
+              } else {
+                subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
+              }
+              subTree.el = node;
+              vnode.component.subTree = subTree;
+            }
+          } else if (shapeFlag & 64) {
+            if (domType !== 8 /* COMMENT */) {
+              nextNode = onMismatch();
+            } else {
+              nextNode = vnode.type.hydrate(
+                node,
+                vnode,
+                parentComponent,
+                parentSuspense,
+                slotScopeIds,
+                optimized,
+                rendererInternals,
+                hydrateChildren
+              );
+            }
+          } else if (shapeFlag & 128) {
+            nextNode = vnode.type.hydrate(
+              node,
+              vnode,
+              parentComponent,
+              parentSuspense,
+              isSVGContainer(parentNode(node)),
+              slotScopeIds,
+              optimized,
+              rendererInternals,
+              hydrateNode
+            );
+          } else {
+            warn("Invalid HostVNode type:", type, `(${typeof type})`);
+          }
+      }
+      if (ref != null) {
+        setRef(ref, null, parentSuspense, vnode);
+      }
+      return nextNode;
+    };
+    const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
+      optimized = optimized || !!vnode.dynamicChildren;
+      const { type, props, patchFlag, shapeFlag, dirs } = vnode;
+      const forcePatchValue = type === "input" && dirs || type === "option";
+      {
+        if (dirs) {
+          invokeDirectiveHook(vnode, null, parentComponent, "created");
+        }
+        if (props) {
+          if (forcePatchValue || !optimized || patchFlag & (16 | 32)) {
+            for (const key in props) {
+              if (forcePatchValue && key.endsWith("value") || isOn(key) && !isReservedProp(key)) {
+                patchProp(
+                  el,
+                  key,
+                  null,
+                  props[key],
+                  false,
+                  void 0,
+                  parentComponent
+                );
+              }
+            }
+          } else if (props.onClick) {
+            patchProp(
+              el,
+              "onClick",
+              null,
+              props.onClick,
+              false,
+              void 0,
+              parentComponent
+            );
+          }
+        }
+        let vnodeHooks;
+        if (vnodeHooks = props && props.onVnodeBeforeMount) {
+          invokeVNodeHook(vnodeHooks, parentComponent, vnode);
+        }
+        if (dirs) {
+          invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
+        }
+        if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {
+          queueEffectWithSuspense(() => {
+            vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
+            dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+          }, parentSuspense);
+        }
+        if (shapeFlag & 16 && // skip if element has innerHTML / textContent
+        !(props && (props.innerHTML || props.textContent))) {
+          let next = hydrateChildren(
+            el.firstChild,
+            vnode,
+            el,
+            parentComponent,
+            parentSuspense,
+            slotScopeIds,
+            optimized
+          );
+          let hasWarned = false;
+          while (next) {
+            hasMismatch = true;
+            if (!hasWarned) {
+              warn(
+                `Hydration children mismatch in <${vnode.type}>: server rendered element contains more child nodes than client vdom.`
+              );
+              hasWarned = true;
+            }
+            const cur = next;
+            next = next.nextSibling;
+            remove(cur);
+          }
+        } else if (shapeFlag & 8) {
+          if (el.textContent !== vnode.children) {
+            hasMismatch = true;
+            warn(
+              `Hydration text content mismatch in <${vnode.type}>:
+- Client: ${el.textContent}
+- Server: ${vnode.children}`
+            );
+            el.textContent = vnode.children;
+          }
+        }
+      }
+      return el.nextSibling;
+    };
+    const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {
+      optimized = optimized || !!parentVNode.dynamicChildren;
+      const children = parentVNode.children;
+      const l = children.length;
+      let hasWarned = false;
+      for (let i = 0; i < l; i++) {
+        const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
+        if (node) {
+          node = hydrateNode(
+            node,
+            vnode,
+            parentComponent,
+            parentSuspense,
+            slotScopeIds,
+            optimized
+          );
+        } else if (vnode.type === Text && !vnode.children) {
+          continue;
+        } else {
+          hasMismatch = true;
+          if (!hasWarned) {
+            warn(
+              `Hydration children mismatch in <${container.tagName.toLowerCase()}>: server rendered element contains fewer child nodes than client vdom.`
+            );
+            hasWarned = true;
+          }
+          patch(
+            null,
+            vnode,
+            container,
+            null,
+            parentComponent,
+            parentSuspense,
+            isSVGContainer(container),
+            slotScopeIds
+          );
+        }
+      }
+      return node;
+    };
+    const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
+      const { slotScopeIds: fragmentSlotScopeIds } = vnode;
+      if (fragmentSlotScopeIds) {
+        slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
+      }
+      const container = parentNode(node);
+      const next = hydrateChildren(
+        nextSibling(node),
+        vnode,
+        container,
+        parentComponent,
+        parentSuspense,
+        slotScopeIds,
+        optimized
+      );
+      if (next && isComment(next) && next.data === "]") {
+        return nextSibling(vnode.anchor = next);
+      } else {
+        hasMismatch = true;
+        insert(vnode.anchor = createComment(`]`), container, next);
+        return next;
+      }
+    };
+    const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
+      hasMismatch = true;
+      warn(
+        `Hydration node mismatch:
+- Client vnode:`,
+        vnode.type,
+        `
+- Server rendered DOM:`,
+        node,
+        node.nodeType === 3 /* TEXT */ ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``
+      );
+      vnode.el = null;
+      if (isFragment) {
+        const end = locateClosingAsyncAnchor(node);
+        while (true) {
+          const next2 = nextSibling(node);
+          if (next2 && next2 !== end) {
+            remove(next2);
+          } else {
+            break;
+          }
+        }
+      }
+      const next = nextSibling(node);
+      const container = parentNode(node);
+      remove(node);
+      patch(
+        null,
+        vnode,
+        container,
+        next,
+        parentComponent,
+        parentSuspense,
+        isSVGContainer(container),
+        slotScopeIds
+      );
+      return next;
+    };
+    const locateClosingAsyncAnchor = (node) => {
+      let match = 0;
+      while (node) {
+        node = nextSibling(node);
+        if (node && isComment(node)) {
+          if (node.data === "[")
+            match++;
+          if (node.data === "]") {
+            if (match === 0) {
+              return nextSibling(node);
+            } else {
+              match--;
+            }
+          }
+        }
+      }
+      return node;
+    };
+    return [hydrate, hydrateNode];
+  }
+
+  let supported;
+  let perf;
+  function startMeasure(instance, type) {
+    if (instance.appContext.config.performance && isSupported()) {
+      perf.mark(`vue-${type}-${instance.uid}`);
+    }
+    {
+      devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());
+    }
+  }
+  function endMeasure(instance, type) {
+    if (instance.appContext.config.performance && isSupported()) {
+      const startTag = `vue-${type}-${instance.uid}`;
+      const endTag = startTag + `:end`;
+      perf.mark(endTag);
+      perf.measure(
+        `<${formatComponentName(instance, instance.type)}> ${type}`,
+        startTag,
+        endTag
+      );
+      perf.clearMarks(startTag);
+      perf.clearMarks(endTag);
+    }
+    {
+      devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());
+    }
+  }
+  function isSupported() {
+    if (supported !== void 0) {
+      return supported;
+    }
+    if (typeof window !== "undefined" && window.performance) {
+      supported = true;
+      perf = window.performance;
+    } else {
+      supported = false;
+    }
+    return supported;
+  }
+
+  const queuePostRenderEffect = queueEffectWithSuspense ;
+  function createRenderer(options) {
+    return baseCreateRenderer(options);
+  }
+  function createHydrationRenderer(options) {
+    return baseCreateRenderer(options, createHydrationFunctions);
+  }
+  function baseCreateRenderer(options, createHydrationFns) {
+    const target = getGlobalThis();
+    target.__VUE__ = true;
+    {
+      setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
+    }
+    const {
+      insert: hostInsert,
+      remove: hostRemove,
+      patchProp: hostPatchProp,
+      createElement: hostCreateElement,
+      createText: hostCreateText,
+      createComment: hostCreateComment,
+      setText: hostSetText,
+      setElementText: hostSetElementText,
+      parentNode: hostParentNode,
+      nextSibling: hostNextSibling,
+      setScopeId: hostSetScopeId = NOOP,
+      insertStaticContent: hostInsertStaticContent
+    } = options;
+    const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = isHmrUpdating ? false : !!n2.dynamicChildren) => {
+      if (n1 === n2) {
+        return;
+      }
+      if (n1 && !isSameVNodeType(n1, n2)) {
+        anchor = getNextHostNode(n1);
+        unmount(n1, parentComponent, parentSuspense, true);
+        n1 = null;
+      }
+      if (n2.patchFlag === -2) {
+        optimized = false;
+        n2.dynamicChildren = null;
+      }
+      const { type, ref, shapeFlag } = n2;
+      switch (type) {
+        case Text:
+          processText(n1, n2, container, anchor);
+          break;
+        case Comment:
+          processCommentNode(n1, n2, container, anchor);
+          break;
+        case Static:
+          if (n1 == null) {
+            mountStaticNode(n2, container, anchor, isSVG);
+          } else {
+            patchStaticNode(n1, n2, container, isSVG);
+          }
+          break;
+        case Fragment:
+          processFragment(
+            n1,
+            n2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          break;
+        default:
+          if (shapeFlag & 1) {
+            processElement(
+              n1,
+              n2,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+          } else if (shapeFlag & 6) {
+            processComponent(
+              n1,
+              n2,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+          } else if (shapeFlag & 64) {
+            type.process(
+              n1,
+              n2,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized,
+              internals
+            );
+          } else if (shapeFlag & 128) {
+            type.process(
+              n1,
+              n2,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized,
+              internals
+            );
+          } else {
+            warn("Invalid VNode type:", type, `(${typeof type})`);
+          }
+      }
+      if (ref != null && parentComponent) {
+        setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
+      }
+    };
+    const processText = (n1, n2, container, anchor) => {
+      if (n1 == null) {
+        hostInsert(
+          n2.el = hostCreateText(n2.children),
+          container,
+          anchor
+        );
+      } else {
+        const el = n2.el = n1.el;
+        if (n2.children !== n1.children) {
+          hostSetText(el, n2.children);
+        }
+      }
+    };
+    const processCommentNode = (n1, n2, container, anchor) => {
+      if (n1 == null) {
+        hostInsert(
+          n2.el = hostCreateComment(n2.children || ""),
+          container,
+          anchor
+        );
+      } else {
+        n2.el = n1.el;
+      }
+    };
+    const mountStaticNode = (n2, container, anchor, isSVG) => {
+      [n2.el, n2.anchor] = hostInsertStaticContent(
+        n2.children,
+        container,
+        anchor,
+        isSVG,
+        n2.el,
+        n2.anchor
+      );
+    };
+    const patchStaticNode = (n1, n2, container, isSVG) => {
+      if (n2.children !== n1.children) {
+        const anchor = hostNextSibling(n1.anchor);
+        removeStaticNode(n1);
+        [n2.el, n2.anchor] = hostInsertStaticContent(
+          n2.children,
+          container,
+          anchor,
+          isSVG
+        );
+      } else {
+        n2.el = n1.el;
+        n2.anchor = n1.anchor;
+      }
+    };
+    const moveStaticNode = ({ el, anchor }, container, nextSibling) => {
+      let next;
+      while (el && el !== anchor) {
+        next = hostNextSibling(el);
+        hostInsert(el, container, nextSibling);
+        el = next;
+      }
+      hostInsert(anchor, container, nextSibling);
+    };
+    const removeStaticNode = ({ el, anchor }) => {
+      let next;
+      while (el && el !== anchor) {
+        next = hostNextSibling(el);
+        hostRemove(el);
+        el = next;
+      }
+      hostRemove(anchor);
+    };
+    const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      isSVG = isSVG || n2.type === "svg";
+      if (n1 == null) {
+        mountElement(
+          n2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+      } else {
+        patchElement(
+          n1,
+          n2,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+      }
+    };
+    const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      let el;
+      let vnodeHook;
+      const { type, props, shapeFlag, transition, dirs } = vnode;
+      el = vnode.el = hostCreateElement(
+        vnode.type,
+        isSVG,
+        props && props.is,
+        props
+      );
+      if (shapeFlag & 8) {
+        hostSetElementText(el, vnode.children);
+      } else if (shapeFlag & 16) {
+        mountChildren(
+          vnode.children,
+          el,
+          null,
+          parentComponent,
+          parentSuspense,
+          isSVG && type !== "foreignObject",
+          slotScopeIds,
+          optimized
+        );
+      }
+      if (dirs) {
+        invokeDirectiveHook(vnode, null, parentComponent, "created");
+      }
+      setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
+      if (props) {
+        for (const key in props) {
+          if (key !== "value" && !isReservedProp(key)) {
+            hostPatchProp(
+              el,
+              key,
+              null,
+              props[key],
+              isSVG,
+              vnode.children,
+              parentComponent,
+              parentSuspense,
+              unmountChildren
+            );
+          }
+        }
+        if ("value" in props) {
+          hostPatchProp(el, "value", null, props.value);
+        }
+        if (vnodeHook = props.onVnodeBeforeMount) {
+          invokeVNodeHook(vnodeHook, parentComponent, vnode);
+        }
+      }
+      {
+        Object.defineProperty(el, "__vnode", {
+          value: vnode,
+          enumerable: false
+        });
+        Object.defineProperty(el, "__vueParentComponent", {
+          value: parentComponent,
+          enumerable: false
+        });
+      }
+      if (dirs) {
+        invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
+      }
+      const needCallTransitionHooks = (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
+      if (needCallTransitionHooks) {
+        transition.beforeEnter(el);
+      }
+      hostInsert(el, container, anchor);
+      if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
+        queuePostRenderEffect(() => {
+          vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
+          needCallTransitionHooks && transition.enter(el);
+          dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+        }, parentSuspense);
+      }
+    };
+    const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
+      if (scopeId) {
+        hostSetScopeId(el, scopeId);
+      }
+      if (slotScopeIds) {
+        for (let i = 0; i < slotScopeIds.length; i++) {
+          hostSetScopeId(el, slotScopeIds[i]);
+        }
+      }
+      if (parentComponent) {
+        let subTree = parentComponent.subTree;
+        if (subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
+          subTree = filterSingleRoot(subTree.children) || subTree;
+        }
+        if (vnode === subTree) {
+          const parentVNode = parentComponent.vnode;
+          setScopeId(
+            el,
+            parentVNode,
+            parentVNode.scopeId,
+            parentVNode.slotScopeIds,
+            parentComponent.parent
+          );
+        }
+      }
+    };
+    const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {
+      for (let i = start; i < children.length; i++) {
+        const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
+        patch(
+          null,
+          child,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+      }
+    };
+    const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      const el = n2.el = n1.el;
+      let { patchFlag, dynamicChildren, dirs } = n2;
+      patchFlag |= n1.patchFlag & 16;
+      const oldProps = n1.props || EMPTY_OBJ;
+      const newProps = n2.props || EMPTY_OBJ;
+      let vnodeHook;
+      parentComponent && toggleRecurse(parentComponent, false);
+      if (vnodeHook = newProps.onVnodeBeforeUpdate) {
+        invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
+      }
+      if (dirs) {
+        invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
+      }
+      parentComponent && toggleRecurse(parentComponent, true);
+      if (isHmrUpdating) {
+        patchFlag = 0;
+        optimized = false;
+        dynamicChildren = null;
+      }
+      const areChildrenSVG = isSVG && n2.type !== "foreignObject";
+      if (dynamicChildren) {
+        patchBlockChildren(
+          n1.dynamicChildren,
+          dynamicChildren,
+          el,
+          parentComponent,
+          parentSuspense,
+          areChildrenSVG,
+          slotScopeIds
+        );
+        {
+          traverseStaticChildren(n1, n2);
+        }
+      } else if (!optimized) {
+        patchChildren(
+          n1,
+          n2,
+          el,
+          null,
+          parentComponent,
+          parentSuspense,
+          areChildrenSVG,
+          slotScopeIds,
+          false
+        );
+      }
+      if (patchFlag > 0) {
+        if (patchFlag & 16) {
+          patchProps(
+            el,
+            n2,
+            oldProps,
+            newProps,
+            parentComponent,
+            parentSuspense,
+            isSVG
+          );
+        } else {
+          if (patchFlag & 2) {
+            if (oldProps.class !== newProps.class) {
+              hostPatchProp(el, "class", null, newProps.class, isSVG);
+            }
+          }
+          if (patchFlag & 4) {
+            hostPatchProp(el, "style", oldProps.style, newProps.style, isSVG);
+          }
+          if (patchFlag & 8) {
+            const propsToUpdate = n2.dynamicProps;
+            for (let i = 0; i < propsToUpdate.length; i++) {
+              const key = propsToUpdate[i];
+              const prev = oldProps[key];
+              const next = newProps[key];
+              if (next !== prev || key === "value") {
+                hostPatchProp(
+                  el,
+                  key,
+                  prev,
+                  next,
+                  isSVG,
+                  n1.children,
+                  parentComponent,
+                  parentSuspense,
+                  unmountChildren
+                );
+              }
+            }
+          }
+        }
+        if (patchFlag & 1) {
+          if (n1.children !== n2.children) {
+            hostSetElementText(el, n2.children);
+          }
+        }
+      } else if (!optimized && dynamicChildren == null) {
+        patchProps(
+          el,
+          n2,
+          oldProps,
+          newProps,
+          parentComponent,
+          parentSuspense,
+          isSVG
+        );
+      }
+      if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
+        queuePostRenderEffect(() => {
+          vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
+          dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
+        }, parentSuspense);
+      }
+    };
+    const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {
+      for (let i = 0; i < newChildren.length; i++) {
+        const oldVNode = oldChildren[i];
+        const newVNode = newChildren[i];
+        const container = (
+          // oldVNode may be an errored async setup() component inside Suspense
+          // which will not have a mounted element
+          oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent
+          // of the Fragment itself so it can move its children.
+          (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
+          // which also requires the correct parent container
+          !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
+          oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
+            // In other cases, the parent container is not actually used so we
+            // just pass the block element here to avoid a DOM parentNode call.
+            fallbackContainer
+          )
+        );
+        patch(
+          oldVNode,
+          newVNode,
+          container,
+          null,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          true
+        );
+      }
+    };
+    const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {
+      if (oldProps !== newProps) {
+        if (oldProps !== EMPTY_OBJ) {
+          for (const key in oldProps) {
+            if (!isReservedProp(key) && !(key in newProps)) {
+              hostPatchProp(
+                el,
+                key,
+                oldProps[key],
+                null,
+                isSVG,
+                vnode.children,
+                parentComponent,
+                parentSuspense,
+                unmountChildren
+              );
+            }
+          }
+        }
+        for (const key in newProps) {
+          if (isReservedProp(key))
+            continue;
+          const next = newProps[key];
+          const prev = oldProps[key];
+          if (next !== prev && key !== "value") {
+            hostPatchProp(
+              el,
+              key,
+              prev,
+              next,
+              isSVG,
+              vnode.children,
+              parentComponent,
+              parentSuspense,
+              unmountChildren
+            );
+          }
+        }
+        if ("value" in newProps) {
+          hostPatchProp(el, "value", oldProps.value, newProps.value);
+        }
+      }
+    };
+    const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
+      const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
+      let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
+      if (
+        // #5523 dev root fragment may inherit directives
+        isHmrUpdating || patchFlag & 2048
+      ) {
+        patchFlag = 0;
+        optimized = false;
+        dynamicChildren = null;
+      }
+      if (fragmentSlotScopeIds) {
+        slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
+      }
+      if (n1 == null) {
+        hostInsert(fragmentStartAnchor, container, anchor);
+        hostInsert(fragmentEndAnchor, container, anchor);
+        mountChildren(
+          n2.children,
+          container,
+          fragmentEndAnchor,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+      } else {
+        if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
+        // of renderSlot() with no valid children
+        n1.dynamicChildren) {
+          patchBlockChildren(
+            n1.dynamicChildren,
+            dynamicChildren,
+            container,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds
+          );
+          {
+            traverseStaticChildren(n1, n2);
+          }
+        } else {
+          patchChildren(
+            n1,
+            n2,
+            container,
+            fragmentEndAnchor,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+        }
+      }
+    };
+    const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      n2.slotScopeIds = slotScopeIds;
+      if (n1 == null) {
+        if (n2.shapeFlag & 512) {
+          parentComponent.ctx.activate(
+            n2,
+            container,
+            anchor,
+            isSVG,
+            optimized
+          );
+        } else {
+          mountComponent(
+            n2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            optimized
+          );
+        }
+      } else {
+        updateComponent(n1, n2, optimized);
+      }
+    };
+    const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {
+      const instance = (initialVNode.component = createComponentInstance(
+        initialVNode,
+        parentComponent,
+        parentSuspense
+      ));
+      if (instance.type.__hmrId) {
+        registerHMR(instance);
+      }
+      {
+        pushWarningContext(initialVNode);
+        startMeasure(instance, `mount`);
+      }
+      if (isKeepAlive(initialVNode)) {
+        instance.ctx.renderer = internals;
+      }
+      {
+        {
+          startMeasure(instance, `init`);
+        }
+        setupComponent(instance);
+        {
+          endMeasure(instance, `init`);
+        }
+      }
+      if (instance.asyncDep) {
+        parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);
+        if (!initialVNode.el) {
+          const placeholder = instance.subTree = createVNode(Comment);
+          processCommentNode(null, placeholder, container, anchor);
+        }
+        return;
+      }
+      setupRenderEffect(
+        instance,
+        initialVNode,
+        container,
+        anchor,
+        parentSuspense,
+        isSVG,
+        optimized
+      );
+      {
+        popWarningContext();
+        endMeasure(instance, `mount`);
+      }
+    };
+    const updateComponent = (n1, n2, optimized) => {
+      const instance = n2.component = n1.component;
+      if (shouldUpdateComponent(n1, n2, optimized)) {
+        if (instance.asyncDep && !instance.asyncResolved) {
+          {
+            pushWarningContext(n2);
+          }
+          updateComponentPreRender(instance, n2, optimized);
+          {
+            popWarningContext();
+          }
+          return;
+        } else {
+          instance.next = n2;
+          invalidateJob(instance.update);
+          instance.update();
+        }
+      } else {
+        n2.el = n1.el;
+        instance.vnode = n2;
+      }
+    };
+    const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {
+      const componentUpdateFn = () => {
+        if (!instance.isMounted) {
+          let vnodeHook;
+          const { el, props } = initialVNode;
+          const { bm, m, parent } = instance;
+          const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
+          toggleRecurse(instance, false);
+          if (bm) {
+            invokeArrayFns(bm);
+          }
+          if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {
+            invokeVNodeHook(vnodeHook, parent, initialVNode);
+          }
+          toggleRecurse(instance, true);
+          if (el && hydrateNode) {
+            const hydrateSubTree = () => {
+              {
+                startMeasure(instance, `render`);
+              }
+              instance.subTree = renderComponentRoot(instance);
+              {
+                endMeasure(instance, `render`);
+              }
+              {
+                startMeasure(instance, `hydrate`);
+              }
+              hydrateNode(
+                el,
+                instance.subTree,
+                instance,
+                parentSuspense,
+                null
+              );
+              {
+                endMeasure(instance, `hydrate`);
+              }
+            };
+            if (isAsyncWrapperVNode) {
+              initialVNode.type.__asyncLoader().then(
+                // note: we are moving the render call into an async callback,
+                // which means it won't track dependencies - but it's ok because
+                // a server-rendered async wrapper is already in resolved state
+                // and it will never need to change.
+                () => !instance.isUnmounted && hydrateSubTree()
+              );
+            } else {
+              hydrateSubTree();
+            }
+          } else {
+            {
+              startMeasure(instance, `render`);
+            }
+            const subTree = instance.subTree = renderComponentRoot(instance);
+            {
+              endMeasure(instance, `render`);
+            }
+            {
+              startMeasure(instance, `patch`);
+            }
+            patch(
+              null,
+              subTree,
+              container,
+              anchor,
+              instance,
+              parentSuspense,
+              isSVG
+            );
+            {
+              endMeasure(instance, `patch`);
+            }
+            initialVNode.el = subTree.el;
+          }
+          if (m) {
+            queuePostRenderEffect(m, parentSuspense);
+          }
+          if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {
+            const scopedInitialVNode = initialVNode;
+            queuePostRenderEffect(
+              () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),
+              parentSuspense
+            );
+          }
+          if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {
+            instance.a && queuePostRenderEffect(instance.a, parentSuspense);
+          }
+          instance.isMounted = true;
+          {
+            devtoolsComponentAdded(instance);
+          }
+          initialVNode = container = anchor = null;
+        } else {
+          let { next, bu, u, parent, vnode } = instance;
+          let originNext = next;
+          let vnodeHook;
+          {
+            pushWarningContext(next || instance.vnode);
+          }
+          toggleRecurse(instance, false);
+          if (next) {
+            next.el = vnode.el;
+            updateComponentPreRender(instance, next, optimized);
+          } else {
+            next = vnode;
+          }
+          if (bu) {
+            invokeArrayFns(bu);
+          }
+          if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {
+            invokeVNodeHook(vnodeHook, parent, next, vnode);
+          }
+          toggleRecurse(instance, true);
+          {
+            startMeasure(instance, `render`);
+          }
+          const nextTree = renderComponentRoot(instance);
+          {
+            endMeasure(instance, `render`);
+          }
+          const prevTree = instance.subTree;
+          instance.subTree = nextTree;
+          {
+            startMeasure(instance, `patch`);
+          }
+          patch(
+            prevTree,
+            nextTree,
+            // parent may have changed if it's in a teleport
+            hostParentNode(prevTree.el),
+            // anchor may have changed if it's in a fragment
+            getNextHostNode(prevTree),
+            instance,
+            parentSuspense,
+            isSVG
+          );
+          {
+            endMeasure(instance, `patch`);
+          }
+          next.el = nextTree.el;
+          if (originNext === null) {
+            updateHOCHostEl(instance, nextTree.el);
+          }
+          if (u) {
+            queuePostRenderEffect(u, parentSuspense);
+          }
+          if (vnodeHook = next.props && next.props.onVnodeUpdated) {
+            queuePostRenderEffect(
+              () => invokeVNodeHook(vnodeHook, parent, next, vnode),
+              parentSuspense
+            );
+          }
+          {
+            devtoolsComponentUpdated(instance);
+          }
+          {
+            popWarningContext();
+          }
+        }
+      };
+      const effect = instance.effect = new ReactiveEffect(
+        componentUpdateFn,
+        () => queueJob(update),
+        instance.scope
+        // track it in component's effect scope
+      );
+      const update = instance.update = () => effect.run();
+      update.id = instance.uid;
+      toggleRecurse(instance, true);
+      {
+        effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;
+        effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;
+        update.ownerInstance = instance;
+      }
+      update();
+    };
+    const updateComponentPreRender = (instance, nextVNode, optimized) => {
+      nextVNode.component = instance;
+      const prevProps = instance.vnode.props;
+      instance.vnode = nextVNode;
+      instance.next = null;
+      updateProps(instance, nextVNode.props, prevProps, optimized);
+      updateSlots(instance, nextVNode.children, optimized);
+      pauseTracking();
+      flushPreFlushCbs();
+      resetTracking();
+    };
+    const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
+      const c1 = n1 && n1.children;
+      const prevShapeFlag = n1 ? n1.shapeFlag : 0;
+      const c2 = n2.children;
+      const { patchFlag, shapeFlag } = n2;
+      if (patchFlag > 0) {
+        if (patchFlag & 128) {
+          patchKeyedChildren(
+            c1,
+            c2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          return;
+        } else if (patchFlag & 256) {
+          patchUnkeyedChildren(
+            c1,
+            c2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+          return;
+        }
+      }
+      if (shapeFlag & 8) {
+        if (prevShapeFlag & 16) {
+          unmountChildren(c1, parentComponent, parentSuspense);
+        }
+        if (c2 !== c1) {
+          hostSetElementText(container, c2);
+        }
+      } else {
+        if (prevShapeFlag & 16) {
+          if (shapeFlag & 16) {
+            patchKeyedChildren(
+              c1,
+              c2,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+          } else {
+            unmountChildren(c1, parentComponent, parentSuspense, true);
+          }
+        } else {
+          if (prevShapeFlag & 8) {
+            hostSetElementText(container, "");
+          }
+          if (shapeFlag & 16) {
+            mountChildren(
+              c2,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+          }
+        }
+      }
+    };
+    const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      c1 = c1 || EMPTY_ARR;
+      c2 = c2 || EMPTY_ARR;
+      const oldLength = c1.length;
+      const newLength = c2.length;
+      const commonLength = Math.min(oldLength, newLength);
+      let i;
+      for (i = 0; i < commonLength; i++) {
+        const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
+        patch(
+          c1[i],
+          nextChild,
+          container,
+          null,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized
+        );
+      }
+      if (oldLength > newLength) {
+        unmountChildren(
+          c1,
+          parentComponent,
+          parentSuspense,
+          true,
+          false,
+          commonLength
+        );
+      } else {
+        mountChildren(
+          c2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          isSVG,
+          slotScopeIds,
+          optimized,
+          commonLength
+        );
+      }
+    };
+    const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
+      let i = 0;
+      const l2 = c2.length;
+      let e1 = c1.length - 1;
+      let e2 = l2 - 1;
+      while (i <= e1 && i <= e2) {
+        const n1 = c1[i];
+        const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
+        if (isSameVNodeType(n1, n2)) {
+          patch(
+            n1,
+            n2,
+            container,
+            null,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+        } else {
+          break;
+        }
+        i++;
+      }
+      while (i <= e1 && i <= e2) {
+        const n1 = c1[e1];
+        const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);
+        if (isSameVNodeType(n1, n2)) {
+          patch(
+            n1,
+            n2,
+            container,
+            null,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            optimized
+          );
+        } else {
+          break;
+        }
+        e1--;
+        e2--;
+      }
+      if (i > e1) {
+        if (i <= e2) {
+          const nextPos = e2 + 1;
+          const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
+          while (i <= e2) {
+            patch(
+              null,
+              c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+            i++;
+          }
+        }
+      } else if (i > e2) {
+        while (i <= e1) {
+          unmount(c1[i], parentComponent, parentSuspense, true);
+          i++;
+        }
+      } else {
+        const s1 = i;
+        const s2 = i;
+        const keyToNewIndexMap = /* @__PURE__ */ new Map();
+        for (i = s2; i <= e2; i++) {
+          const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
+          if (nextChild.key != null) {
+            if (keyToNewIndexMap.has(nextChild.key)) {
+              warn(
+                `Duplicate keys found during update:`,
+                JSON.stringify(nextChild.key),
+                `Make sure keys are unique.`
+              );
+            }
+            keyToNewIndexMap.set(nextChild.key, i);
+          }
+        }
+        let j;
+        let patched = 0;
+        const toBePatched = e2 - s2 + 1;
+        let moved = false;
+        let maxNewIndexSoFar = 0;
+        const newIndexToOldIndexMap = new Array(toBePatched);
+        for (i = 0; i < toBePatched; i++)
+          newIndexToOldIndexMap[i] = 0;
+        for (i = s1; i <= e1; i++) {
+          const prevChild = c1[i];
+          if (patched >= toBePatched) {
+            unmount(prevChild, parentComponent, parentSuspense, true);
+            continue;
+          }
+          let newIndex;
+          if (prevChild.key != null) {
+            newIndex = keyToNewIndexMap.get(prevChild.key);
+          } else {
+            for (j = s2; j <= e2; j++) {
+              if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {
+                newIndex = j;
+                break;
+              }
+            }
+          }
+          if (newIndex === void 0) {
+            unmount(prevChild, parentComponent, parentSuspense, true);
+          } else {
+            newIndexToOldIndexMap[newIndex - s2] = i + 1;
+            if (newIndex >= maxNewIndexSoFar) {
+              maxNewIndexSoFar = newIndex;
+            } else {
+              moved = true;
+            }
+            patch(
+              prevChild,
+              c2[newIndex],
+              container,
+              null,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+            patched++;
+          }
+        }
+        const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;
+        j = increasingNewIndexSequence.length - 1;
+        for (i = toBePatched - 1; i >= 0; i--) {
+          const nextIndex = s2 + i;
+          const nextChild = c2[nextIndex];
+          const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
+          if (newIndexToOldIndexMap[i] === 0) {
+            patch(
+              null,
+              nextChild,
+              container,
+              anchor,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+          } else if (moved) {
+            if (j < 0 || i !== increasingNewIndexSequence[j]) {
+              move(nextChild, container, anchor, 2);
+            } else {
+              j--;
+            }
+          }
+        }
+      }
+    };
+    const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
+      const { el, type, transition, children, shapeFlag } = vnode;
+      if (shapeFlag & 6) {
+        move(vnode.component.subTree, container, anchor, moveType);
+        return;
+      }
+      if (shapeFlag & 128) {
+        vnode.suspense.move(container, anchor, moveType);
+        return;
+      }
+      if (shapeFlag & 64) {
+        type.move(vnode, container, anchor, internals);
+        return;
+      }
+      if (type === Fragment) {
+        hostInsert(el, container, anchor);
+        for (let i = 0; i < children.length; i++) {
+          move(children[i], container, anchor, moveType);
+        }
+        hostInsert(vnode.anchor, container, anchor);
+        return;
+      }
+      if (type === Static) {
+        moveStaticNode(vnode, container, anchor);
+        return;
+      }
+      const needTransition = moveType !== 2 && shapeFlag & 1 && transition;
+      if (needTransition) {
+        if (moveType === 0) {
+          transition.beforeEnter(el);
+          hostInsert(el, container, anchor);
+          queuePostRenderEffect(() => transition.enter(el), parentSuspense);
+        } else {
+          const { leave, delayLeave, afterLeave } = transition;
+          const remove2 = () => hostInsert(el, container, anchor);
+          const performLeave = () => {
+            leave(el, () => {
+              remove2();
+              afterLeave && afterLeave();
+            });
+          };
+          if (delayLeave) {
+            delayLeave(el, remove2, performLeave);
+          } else {
+            performLeave();
+          }
+        }
+      } else {
+        hostInsert(el, container, anchor);
+      }
+    };
+    const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
+      const {
+        type,
+        props,
+        ref,
+        children,
+        dynamicChildren,
+        shapeFlag,
+        patchFlag,
+        dirs
+      } = vnode;
+      if (ref != null) {
+        setRef(ref, null, parentSuspense, vnode, true);
+      }
+      if (shapeFlag & 256) {
+        parentComponent.ctx.deactivate(vnode);
+        return;
+      }
+      const shouldInvokeDirs = shapeFlag & 1 && dirs;
+      const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
+      let vnodeHook;
+      if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {
+        invokeVNodeHook(vnodeHook, parentComponent, vnode);
+      }
+      if (shapeFlag & 6) {
+        unmountComponent(vnode.component, parentSuspense, doRemove);
+      } else {
+        if (shapeFlag & 128) {
+          vnode.suspense.unmount(parentSuspense, doRemove);
+          return;
+        }
+        if (shouldInvokeDirs) {
+          invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
+        }
+        if (shapeFlag & 64) {
+          vnode.type.remove(
+            vnode,
+            parentComponent,
+            parentSuspense,
+            optimized,
+            internals,
+            doRemove
+          );
+        } else if (dynamicChildren && // #1153: fast path should not be taken for non-stable (v-for) fragments
+        (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {
+          unmountChildren(
+            dynamicChildren,
+            parentComponent,
+            parentSuspense,
+            false,
+            true
+          );
+        } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {
+          unmountChildren(children, parentComponent, parentSuspense);
+        }
+        if (doRemove) {
+          remove(vnode);
+        }
+      }
+      if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
+        queuePostRenderEffect(() => {
+          vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
+          shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
+        }, parentSuspense);
+      }
+    };
+    const remove = (vnode) => {
+      const { type, el, anchor, transition } = vnode;
+      if (type === Fragment) {
+        if (vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {
+          vnode.children.forEach((child) => {
+            if (child.type === Comment) {
+              hostRemove(child.el);
+            } else {
+              remove(child);
+            }
+          });
+        } else {
+          removeFragment(el, anchor);
+        }
+        return;
+      }
+      if (type === Static) {
+        removeStaticNode(vnode);
+        return;
+      }
+      const performRemove = () => {
+        hostRemove(el);
+        if (transition && !transition.persisted && transition.afterLeave) {
+          transition.afterLeave();
+        }
+      };
+      if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
+        const { leave, delayLeave } = transition;
+        const performLeave = () => leave(el, performRemove);
+        if (delayLeave) {
+          delayLeave(vnode.el, performRemove, performLeave);
+        } else {
+          performLeave();
+        }
+      } else {
+        performRemove();
+      }
+    };
+    const removeFragment = (cur, end) => {
+      let next;
+      while (cur !== end) {
+        next = hostNextSibling(cur);
+        hostRemove(cur);
+        cur = next;
+      }
+      hostRemove(end);
+    };
+    const unmountComponent = (instance, parentSuspense, doRemove) => {
+      if (instance.type.__hmrId) {
+        unregisterHMR(instance);
+      }
+      const { bum, scope, update, subTree, um } = instance;
+      if (bum) {
+        invokeArrayFns(bum);
+      }
+      scope.stop();
+      if (update) {
+        update.active = false;
+        unmount(subTree, instance, parentSuspense, doRemove);
+      }
+      if (um) {
+        queuePostRenderEffect(um, parentSuspense);
+      }
+      queuePostRenderEffect(() => {
+        instance.isUnmounted = true;
+      }, parentSuspense);
+      if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
+        parentSuspense.deps--;
+        if (parentSuspense.deps === 0) {
+          parentSuspense.resolve();
+        }
+      }
+      {
+        devtoolsComponentRemoved(instance);
+      }
+    };
+    const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
+      for (let i = start; i < children.length; i++) {
+        unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);
+      }
+    };
+    const getNextHostNode = (vnode) => {
+      if (vnode.shapeFlag & 6) {
+        return getNextHostNode(vnode.component.subTree);
+      }
+      if (vnode.shapeFlag & 128) {
+        return vnode.suspense.next();
+      }
+      return hostNextSibling(vnode.anchor || vnode.el);
+    };
+    const render = (vnode, container, isSVG) => {
+      if (vnode == null) {
+        if (container._vnode) {
+          unmount(container._vnode, null, null, true);
+        }
+      } else {
+        patch(container._vnode || null, vnode, container, null, null, null, isSVG);
+      }
+      flushPreFlushCbs();
+      flushPostFlushCbs();
+      container._vnode = vnode;
+    };
+    const internals = {
+      p: patch,
+      um: unmount,
+      m: move,
+      r: remove,
+      mt: mountComponent,
+      mc: mountChildren,
+      pc: patchChildren,
+      pbc: patchBlockChildren,
+      n: getNextHostNode,
+      o: options
+    };
+    let hydrate;
+    let hydrateNode;
+    if (createHydrationFns) {
+      [hydrate, hydrateNode] = createHydrationFns(
+        internals
+      );
+    }
+    return {
+      render,
+      hydrate,
+      createApp: createAppAPI(render, hydrate)
+    };
+  }
+  function toggleRecurse({ effect, update }, allowed) {
+    effect.allowRecurse = update.allowRecurse = allowed;
+  }
+  function traverseStaticChildren(n1, n2, shallow = false) {
+    const ch1 = n1.children;
+    const ch2 = n2.children;
+    if (isArray(ch1) && isArray(ch2)) {
+      for (let i = 0; i < ch1.length; i++) {
+        const c1 = ch1[i];
+        let c2 = ch2[i];
+        if (c2.shapeFlag & 1 && !c2.dynamicChildren) {
+          if (c2.patchFlag <= 0 || c2.patchFlag === 32) {
+            c2 = ch2[i] = cloneIfMounted(ch2[i]);
+            c2.el = c1.el;
+          }
+          if (!shallow)
+            traverseStaticChildren(c1, c2);
+        }
+        if (c2.type === Text) {
+          c2.el = c1.el;
+        }
+        if (c2.type === Comment && !c2.el) {
+          c2.el = c1.el;
+        }
+      }
+    }
+  }
+  function getSequence(arr) {
+    const p = arr.slice();
+    const result = [0];
+    let i, j, u, v, c;
+    const len = arr.length;
+    for (i = 0; i < len; i++) {
+      const arrI = arr[i];
+      if (arrI !== 0) {
+        j = result[result.length - 1];
+        if (arr[j] < arrI) {
+          p[i] = j;
+          result.push(i);
+          continue;
+        }
+        u = 0;
+        v = result.length - 1;
+        while (u < v) {
+          c = u + v >> 1;
+          if (arr[result[c]] < arrI) {
+            u = c + 1;
+          } else {
+            v = c;
+          }
+        }
+        if (arrI < arr[result[u]]) {
+          if (u > 0) {
+            p[i] = result[u - 1];
+          }
+          result[u] = i;
+        }
+      }
+    }
+    u = result.length;
+    v = result[u - 1];
+    while (u-- > 0) {
+      result[u] = v;
+      v = p[v];
+    }
+    return result;
+  }
+
+  const isTeleport = (type) => type.__isTeleport;
+  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
+  const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement;
+  const resolveTarget = (props, select) => {
+    const targetSelector = props && props.to;
+    if (isString(targetSelector)) {
+      if (!select) {
+        warn(
+          `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`
+        );
+        return null;
+      } else {
+        const target = select(targetSelector);
+        if (!target) {
+          warn(
+            `Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`
+          );
+        }
+        return target;
+      }
+    } else {
+      if (!targetSelector && !isTeleportDisabled(props)) {
+        warn(`Invalid Teleport target: ${targetSelector}`);
+      }
+      return targetSelector;
+    }
+  };
+  const TeleportImpl = {
+    __isTeleport: true,
+    process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {
+      const {
+        mc: mountChildren,
+        pc: patchChildren,
+        pbc: patchBlockChildren,
+        o: { insert, querySelector, createText, createComment }
+      } = internals;
+      const disabled = isTeleportDisabled(n2.props);
+      let { shapeFlag, children, dynamicChildren } = n2;
+      if (isHmrUpdating) {
+        optimized = false;
+        dynamicChildren = null;
+      }
+      if (n1 == null) {
+        const placeholder = n2.el = createComment("teleport start") ;
+        const mainAnchor = n2.anchor = createComment("teleport end") ;
+        insert(placeholder, container, anchor);
+        insert(mainAnchor, container, anchor);
+        const target = n2.target = resolveTarget(n2.props, querySelector);
+        const targetAnchor = n2.targetAnchor = createText("");
+        if (target) {
+          insert(targetAnchor, target);
+          isSVG = isSVG || isTargetSVG(target);
+        } else if (!disabled) {
+          warn("Invalid Teleport target on mount:", target, `(${typeof target})`);
+        }
+        const mount = (container2, anchor2) => {
+          if (shapeFlag & 16) {
+            mountChildren(
+              children,
+              container2,
+              anchor2,
+              parentComponent,
+              parentSuspense,
+              isSVG,
+              slotScopeIds,
+              optimized
+            );
+          }
+        };
+        if (disabled) {
+          mount(container, mainAnchor);
+        } else if (target) {
+          mount(target, targetAnchor);
+        }
+      } else {
+        n2.el = n1.el;
+        const mainAnchor = n2.anchor = n1.anchor;
+        const target = n2.target = n1.target;
+        const targetAnchor = n2.targetAnchor = n1.targetAnchor;
+        const wasDisabled = isTeleportDisabled(n1.props);
+        const currentContainer = wasDisabled ? container : target;
+        const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
+        isSVG = isSVG || isTargetSVG(target);
+        if (dynamicChildren) {
+          patchBlockChildren(
+            n1.dynamicChildren,
+            dynamicChildren,
+            currentContainer,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds
+          );
+          traverseStaticChildren(n1, n2, true);
+        } else if (!optimized) {
+          patchChildren(
+            n1,
+            n2,
+            currentContainer,
+            currentAnchor,
+            parentComponent,
+            parentSuspense,
+            isSVG,
+            slotScopeIds,
+            false
+          );
+        }
+        if (disabled) {
+          if (!wasDisabled) {
+            moveTeleport(
+              n2,
+              container,
+              mainAnchor,
+              internals,
+              1
+            );
+          }
+        } else {
+          if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
+            const nextTarget = n2.target = resolveTarget(
+              n2.props,
+              querySelector
+            );
+            if (nextTarget) {
+              moveTeleport(
+                n2,
+                nextTarget,
+                null,
+                internals,
+                0
+              );
+            } else {
+              warn(
+                "Invalid Teleport target on update:",
+                target,
+                `(${typeof target})`
+              );
+            }
+          } else if (wasDisabled) {
+            moveTeleport(
+              n2,
+              target,
+              targetAnchor,
+              internals,
+              1
+            );
+          }
+        }
+      }
+      updateCssVars(n2);
+    },
+    remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
+      const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
+      if (target) {
+        hostRemove(targetAnchor);
+      }
+      if (doRemove || !isTeleportDisabled(props)) {
+        hostRemove(anchor);
+        if (shapeFlag & 16) {
+          for (let i = 0; i < children.length; i++) {
+            const child = children[i];
+            unmount(
+              child,
+              parentComponent,
+              parentSuspense,
+              true,
+              !!child.dynamicChildren
+            );
+          }
+        }
+      }
+    },
+    move: moveTeleport,
+    hydrate: hydrateTeleport
+  };
+  function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
+    if (moveType === 0) {
+      insert(vnode.targetAnchor, container, parentAnchor);
+    }
+    const { el, anchor, shapeFlag, children, props } = vnode;
+    const isReorder = moveType === 2;
+    if (isReorder) {
+      insert(el, container, parentAnchor);
+    }
+    if (!isReorder || isTeleportDisabled(props)) {
+      if (shapeFlag & 16) {
+        for (let i = 0; i < children.length; i++) {
+          move(
+            children[i],
+            container,
+            parentAnchor,
+            2
+          );
+        }
+      }
+    }
+    if (isReorder) {
+      insert(anchor, container, parentAnchor);
+    }
+  }
+  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
+    o: { nextSibling, parentNode, querySelector }
+  }, hydrateChildren) {
+    const target = vnode.target = resolveTarget(
+      vnode.props,
+      querySelector
+    );
+    if (target) {
+      const targetNode = target._lpa || target.firstChild;
+      if (vnode.shapeFlag & 16) {
+        if (isTeleportDisabled(vnode.props)) {
+          vnode.anchor = hydrateChildren(
+            nextSibling(node),
+            vnode,
+            parentNode(node),
+            parentComponent,
+            parentSuspense,
+            slotScopeIds,
+            optimized
+          );
+          vnode.targetAnchor = targetNode;
+        } else {
+          vnode.anchor = nextSibling(node);
+          let targetAnchor = targetNode;
+          while (targetAnchor) {
+            targetAnchor = nextSibling(targetAnchor);
+            if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === "teleport anchor") {
+              vnode.targetAnchor = targetAnchor;
+              target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
+              break;
+            }
+          }
+          hydrateChildren(
+            targetNode,
+            vnode,
+            target,
+            parentComponent,
+            parentSuspense,
+            slotScopeIds,
+            optimized
+          );
+        }
+      }
+      updateCssVars(vnode);
+    }
+    return vnode.anchor && nextSibling(vnode.anchor);
+  }
+  const Teleport = TeleportImpl;
+  function updateCssVars(vnode) {
+    const ctx = vnode.ctx;
+    if (ctx && ctx.ut) {
+      let node = vnode.children[0].el;
+      while (node !== vnode.targetAnchor) {
+        if (node.nodeType === 1)
+          node.setAttribute("data-v-owner", ctx.uid);
+        node = node.nextSibling;
+      }
+      ctx.ut();
+    }
+  }
+
+  const Fragment = Symbol.for("v-fgt");
+  const Text = Symbol.for("v-txt");
+  const Comment = Symbol.for("v-cmt");
+  const Static = Symbol.for("v-stc");
+  const blockStack = [];
+  let currentBlock = null;
+  function openBlock(disableTracking = false) {
+    blockStack.push(currentBlock = disableTracking ? null : []);
+  }
+  function closeBlock() {
+    blockStack.pop();
+    currentBlock = blockStack[blockStack.length - 1] || null;
+  }
+  let isBlockTreeEnabled = 1;
+  function setBlockTracking(value) {
+    isBlockTreeEnabled += value;
+  }
+  function setupBlock(vnode) {
+    vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;
+    closeBlock();
+    if (isBlockTreeEnabled > 0 && currentBlock) {
+      currentBlock.push(vnode);
+    }
+    return vnode;
+  }
+  function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {
+    return setupBlock(
+      createBaseVNode(
+        type,
+        props,
+        children,
+        patchFlag,
+        dynamicProps,
+        shapeFlag,
+        true
+        /* isBlock */
+      )
+    );
+  }
+  function createBlock(type, props, children, patchFlag, dynamicProps) {
+    return setupBlock(
+      createVNode(
+        type,
+        props,
+        children,
+        patchFlag,
+        dynamicProps,
+        true
+        /* isBlock: prevent a block from tracking itself */
+      )
+    );
+  }
+  function isVNode(value) {
+    return value ? value.__v_isVNode === true : false;
+  }
+  function isSameVNodeType(n1, n2) {
+    if (n2.shapeFlag & 6 && hmrDirtyComponents.has(n2.type)) {
+      n1.shapeFlag &= ~256;
+      n2.shapeFlag &= ~512;
+      return false;
+    }
+    return n1.type === n2.type && n1.key === n2.key;
+  }
+  let vnodeArgsTransformer;
+  function transformVNodeArgs(transformer) {
+    vnodeArgsTransformer = transformer;
+  }
+  const createVNodeWithArgsTransform = (...args) => {
+    return _createVNode(
+      ...vnodeArgsTransformer ? vnodeArgsTransformer(args, currentRenderingInstance) : args
+    );
+  };
+  const InternalObjectKey = `__vInternal`;
+  const normalizeKey = ({ key }) => key != null ? key : null;
+  const normalizeRef = ({
+    ref,
+    ref_key,
+    ref_for
+  }) => {
+    if (typeof ref === "number") {
+      ref = "" + ref;
+    }
+    return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;
+  };
+  function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
+    const vnode = {
+      __v_isVNode: true,
+      __v_skip: true,
+      type,
+      props,
+      key: props && normalizeKey(props),
+      ref: props && normalizeRef(props),
+      scopeId: currentScopeId,
+      slotScopeIds: null,
+      children,
+      component: null,
+      suspense: null,
+      ssContent: null,
+      ssFallback: null,
+      dirs: null,
+      transition: null,
+      el: null,
+      anchor: null,
+      target: null,
+      targetAnchor: null,
+      staticCount: 0,
+      shapeFlag,
+      patchFlag,
+      dynamicProps,
+      dynamicChildren: null,
+      appContext: null,
+      ctx: currentRenderingInstance
+    };
+    if (needFullChildrenNormalization) {
+      normalizeChildren(vnode, children);
+      if (shapeFlag & 128) {
+        type.normalize(vnode);
+      }
+    } else if (children) {
+      vnode.shapeFlag |= isString(children) ? 8 : 16;
+    }
+    if (vnode.key !== vnode.key) {
+      warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
+    }
+    if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
+    !isBlockNode && // has current parent block
+    currentBlock && // presence of a patch flag indicates this node needs patching on updates.
+    // component nodes also should always be patched, because even if the
+    // component doesn't need to update, it needs to persist the instance on to
+    // the next vnode so that it can be properly unmounted later.
+    (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the
+    // vnode should not be considered dynamic due to handler caching.
+    vnode.patchFlag !== 32) {
+      currentBlock.push(vnode);
+    }
+    return vnode;
+  }
+  const createVNode = createVNodeWithArgsTransform ;
+  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
+    if (!type || type === NULL_DYNAMIC_COMPONENT) {
+      if (!type) {
+        warn(`Invalid vnode type when creating vnode: ${type}.`);
+      }
+      type = Comment;
+    }
+    if (isVNode(type)) {
+      const cloned = cloneVNode(
+        type,
+        props,
+        true
+        /* mergeRef: true */
+      );
+      if (children) {
+        normalizeChildren(cloned, children);
+      }
+      if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
+        if (cloned.shapeFlag & 6) {
+          currentBlock[currentBlock.indexOf(type)] = cloned;
+        } else {
+          currentBlock.push(cloned);
+        }
+      }
+      cloned.patchFlag |= -2;
+      return cloned;
+    }
+    if (isClassComponent(type)) {
+      type = type.__vccOpts;
+    }
+    if (props) {
+      props = guardReactiveProps(props);
+      let { class: klass, style } = props;
+      if (klass && !isString(klass)) {
+        props.class = normalizeClass(klass);
+      }
+      if (isObject(style)) {
+        if (isProxy(style) && !isArray(style)) {
+          style = extend({}, style);
+        }
+        props.style = normalizeStyle(style);
+      }
+    }
+    const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
+    if (shapeFlag & 4 && isProxy(type)) {
+      type = toRaw(type);
+      warn(
+        `Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`,
+        `
+Component that was made reactive: `,
+        type
+      );
+    }
+    return createBaseVNode(
+      type,
+      props,
+      children,
+      patchFlag,
+      dynamicProps,
+      shapeFlag,
+      isBlockNode,
+      true
+    );
+  }
+  function guardReactiveProps(props) {
+    if (!props)
+      return null;
+    return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;
+  }
+  function cloneVNode(vnode, extraProps, mergeRef = false) {
+    const { props, ref, patchFlag, children } = vnode;
+    const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
+    const cloned = {
+      __v_isVNode: true,
+      __v_skip: true,
+      type: vnode.type,
+      props: mergedProps,
+      key: mergedProps && normalizeKey(mergedProps),
+      ref: extraProps && extraProps.ref ? (
+        // #2078 in the case of <component :is="vnode" ref="extra"/>
+        // if the vnode itself already has a ref, cloneVNode will need to merge
+        // the refs so the single vnode can be set on multiple refs
+        mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)
+      ) : ref,
+      scopeId: vnode.scopeId,
+      slotScopeIds: vnode.slotScopeIds,
+      children: patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,
+      target: vnode.target,
+      targetAnchor: vnode.targetAnchor,
+      staticCount: vnode.staticCount,
+      shapeFlag: vnode.shapeFlag,
+      // if the vnode is cloned with extra props, we can no longer assume its
+      // existing patch flag to be reliable and need to add the FULL_PROPS flag.
+      // note: preserve flag for fragments since they use the flag for children
+      // fast paths only.
+      patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,
+      dynamicProps: vnode.dynamicProps,
+      dynamicChildren: vnode.dynamicChildren,
+      appContext: vnode.appContext,
+      dirs: vnode.dirs,
+      transition: vnode.transition,
+      // These should technically only be non-null on mounted VNodes. However,
+      // they *should* be copied for kept-alive vnodes. So we just always copy
+      // them since them being non-null during a mount doesn't affect the logic as
+      // they will simply be overwritten.
+      component: vnode.component,
+      suspense: vnode.suspense,
+      ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
+      ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
+      el: vnode.el,
+      anchor: vnode.anchor,
+      ctx: vnode.ctx,
+      ce: vnode.ce
+    };
+    return cloned;
+  }
+  function deepCloneVNode(vnode) {
+    const cloned = cloneVNode(vnode);
+    if (isArray(vnode.children)) {
+      cloned.children = vnode.children.map(deepCloneVNode);
+    }
+    return cloned;
+  }
+  function createTextVNode(text = " ", flag = 0) {
+    return createVNode(Text, null, text, flag);
+  }
+  function createStaticVNode(content, numberOfNodes) {
+    const vnode = createVNode(Static, null, content);
+    vnode.staticCount = numberOfNodes;
+    return vnode;
+  }
+  function createCommentVNode(text = "", asBlock = false) {
+    return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
+  }
+  function normalizeVNode(child) {
+    if (child == null || typeof child === "boolean") {
+      return createVNode(Comment);
+    } else if (isArray(child)) {
+      return createVNode(
+        Fragment,
+        null,
+        // #3666, avoid reference pollution when reusing vnode
+        child.slice()
+      );
+    } else if (typeof child === "object") {
+      return cloneIfMounted(child);
+    } else {
+      return createVNode(Text, null, String(child));
+    }
+  }
+  function cloneIfMounted(child) {
+    return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);
+  }
+  function normalizeChildren(vnode, children) {
+    let type = 0;
+    const { shapeFlag } = vnode;
+    if (children == null) {
+      children = null;
+    } else if (isArray(children)) {
+      type = 16;
+    } else if (typeof children === "object") {
+      if (shapeFlag & (1 | 64)) {
+        const slot = children.default;
+        if (slot) {
+          slot._c && (slot._d = false);
+          normalizeChildren(vnode, slot());
+          slot._c && (slot._d = true);
+        }
+        return;
+      } else {
+        type = 32;
+        const slotFlag = children._;
+        if (!slotFlag && !(InternalObjectKey in children)) {
+          children._ctx = currentRenderingInstance;
+        } else if (slotFlag === 3 && currentRenderingInstance) {
+          if (currentRenderingInstance.slots._ === 1) {
+            children._ = 1;
+          } else {
+            children._ = 2;
+            vnode.patchFlag |= 1024;
+          }
+        }
+      }
+    } else if (isFunction(children)) {
+      children = { default: children, _ctx: currentRenderingInstance };
+      type = 32;
+    } else {
+      children = String(children);
+      if (shapeFlag & 64) {
+        type = 16;
+        children = [createTextVNode(children)];
+      } else {
+        type = 8;
+      }
+    }
+    vnode.children = children;
+    vnode.shapeFlag |= type;
+  }
+  function mergeProps(...args) {
+    const ret = {};
+    for (let i = 0; i < args.length; i++) {
+      const toMerge = args[i];
+      for (const key in toMerge) {
+        if (key === "class") {
+          if (ret.class !== toMerge.class) {
+            ret.class = normalizeClass([ret.class, toMerge.class]);
+          }
+        } else if (key === "style") {
+          ret.style = normalizeStyle([ret.style, toMerge.style]);
+        } else if (isOn(key)) {
+          const existing = ret[key];
+          const incoming = toMerge[key];
+          if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {
+            ret[key] = existing ? [].concat(existing, incoming) : incoming;
+          }
+        } else if (key !== "") {
+          ret[key] = toMerge[key];
+        }
+      }
+    }
+    return ret;
+  }
+  function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
+    callWithAsyncErrorHandling(hook, instance, 7, [
+      vnode,
+      prevVNode
+    ]);
+  }
+
+  const emptyAppContext = createAppContext();
+  let uid = 0;
+  function createComponentInstance(vnode, parent, suspense) {
+    const type = vnode.type;
+    const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
+    const instance = {
+      uid: uid++,
+      vnode,
+      type,
+      parent,
+      appContext,
+      root: null,
+      // to be immediately set
+      next: null,
+      subTree: null,
+      // will be set synchronously right after creation
+      effect: null,
+      update: null,
+      // will be set synchronously right after creation
+      scope: new EffectScope(
+        true
+        /* detached */
+      ),
+      render: null,
+      proxy: null,
+      exposed: null,
+      exposeProxy: null,
+      withProxy: null,
+      provides: parent ? parent.provides : Object.create(appContext.provides),
+      accessCache: null,
+      renderCache: [],
+      // local resolved assets
+      components: null,
+      directives: null,
+      // resolved props and emits options
+      propsOptions: normalizePropsOptions(type, appContext),
+      emitsOptions: normalizeEmitsOptions(type, appContext),
+      // emit
+      emit: null,
+      // to be set immediately
+      emitted: null,
+      // props default value
+      propsDefaults: EMPTY_OBJ,
+      // inheritAttrs
+      inheritAttrs: type.inheritAttrs,
+      // state
+      ctx: EMPTY_OBJ,
+      data: EMPTY_OBJ,
+      props: EMPTY_OBJ,
+      attrs: EMPTY_OBJ,
+      slots: EMPTY_OBJ,
+      refs: EMPTY_OBJ,
+      setupState: EMPTY_OBJ,
+      setupContext: null,
+      attrsProxy: null,
+      slotsProxy: null,
+      // suspense related
+      suspense,
+      suspenseId: suspense ? suspense.pendingId : 0,
+      asyncDep: null,
+      asyncResolved: false,
+      // lifecycle hooks
+      // not using enums here because it results in computed properties
+      isMounted: false,
+      isUnmounted: false,
+      isDeactivated: false,
+      bc: null,
+      c: null,
+      bm: null,
+      m: null,
+      bu: null,
+      u: null,
+      um: null,
+      bum: null,
+      da: null,
+      a: null,
+      rtg: null,
+      rtc: null,
+      ec: null,
+      sp: null
+    };
+    {
+      instance.ctx = createDevRenderContext(instance);
+    }
+    instance.root = parent ? parent.root : instance;
+    instance.emit = emit.bind(null, instance);
+    if (vnode.ce) {
+      vnode.ce(instance);
+    }
+    return instance;
+  }
+  let currentInstance = null;
+  const getCurrentInstance = () => currentInstance || currentRenderingInstance;
+  let internalSetCurrentInstance;
+  {
+    internalSetCurrentInstance = (i) => {
+      currentInstance = i;
+    };
+  }
+  const setCurrentInstance = (instance) => {
+    internalSetCurrentInstance(instance);
+    instance.scope.on();
+  };
+  const unsetCurrentInstance = () => {
+    currentInstance && currentInstance.scope.off();
+    internalSetCurrentInstance(null);
+  };
+  const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
+  function validateComponentName(name, config) {
+    const appIsNativeTag = config.isNativeTag || NO;
+    if (isBuiltInTag(name) || appIsNativeTag(name)) {
+      warn(
+        "Do not use built-in or reserved HTML elements as component id: " + name
+      );
+    }
+  }
+  function isStatefulComponent(instance) {
+    return instance.vnode.shapeFlag & 4;
+  }
+  let isInSSRComponentSetup = false;
+  function setupComponent(instance, isSSR = false) {
+    isInSSRComponentSetup = isSSR;
+    const { props, children } = instance.vnode;
+    const isStateful = isStatefulComponent(instance);
+    initProps(instance, props, isStateful, isSSR);
+    initSlots(instance, children);
+    const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
+    isInSSRComponentSetup = false;
+    return setupResult;
+  }
+  function setupStatefulComponent(instance, isSSR) {
+    var _a;
+    const Component = instance.type;
+    {
+      if (Component.name) {
+        validateComponentName(Component.name, instance.appContext.config);
+      }
+      if (Component.components) {
+        const names = Object.keys(Component.components);
+        for (let i = 0; i < names.length; i++) {
+          validateComponentName(names[i], instance.appContext.config);
+        }
+      }
+      if (Component.directives) {
+        const names = Object.keys(Component.directives);
+        for (let i = 0; i < names.length; i++) {
+          validateDirectiveName(names[i]);
+        }
+      }
+      if (Component.compilerOptions && isRuntimeOnly()) {
+        warn(
+          `"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`
+        );
+      }
+    }
+    instance.accessCache = /* @__PURE__ */ Object.create(null);
+    instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));
+    {
+      exposePropsOnRenderContext(instance);
+    }
+    const { setup } = Component;
+    if (setup) {
+      const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
+      setCurrentInstance(instance);
+      pauseTracking();
+      const setupResult = callWithErrorHandling(
+        setup,
+        instance,
+        0,
+        [shallowReadonly(instance.props) , setupContext]
+      );
+      resetTracking();
+      unsetCurrentInstance();
+      if (isPromise(setupResult)) {
+        setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
+        if (isSSR) {
+          return setupResult.then((resolvedResult) => {
+            handleSetupResult(instance, resolvedResult, isSSR);
+          }).catch((e) => {
+            handleError(e, instance, 0);
+          });
+        } else {
+          instance.asyncDep = setupResult;
+          if (!instance.suspense) {
+            const name = (_a = Component.name) != null ? _a : "Anonymous";
+            warn(
+              `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`
+            );
+          }
+        }
+      } else {
+        handleSetupResult(instance, setupResult, isSSR);
+      }
+    } else {
+      finishComponentSetup(instance, isSSR);
+    }
+  }
+  function handleSetupResult(instance, setupResult, isSSR) {
+    if (isFunction(setupResult)) {
+      {
+        instance.render = setupResult;
+      }
+    } else if (isObject(setupResult)) {
+      if (isVNode(setupResult)) {
+        warn(
+          `setup() should not return VNodes directly - return a render function instead.`
+        );
+      }
+      {
+        instance.devtoolsRawSetupState = setupResult;
+      }
+      instance.setupState = proxyRefs(setupResult);
+      {
+        exposeSetupStateOnRenderContext(instance);
+      }
+    } else if (setupResult !== void 0) {
+      warn(
+        `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
+      );
+    }
+    finishComponentSetup(instance, isSSR);
+  }
+  let compile$1;
+  let installWithProxy;
+  function registerRuntimeCompiler(_compile) {
+    compile$1 = _compile;
+    installWithProxy = (i) => {
+      if (i.render._rc) {
+        i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);
+      }
+    };
+  }
+  const isRuntimeOnly = () => !compile$1;
+  function finishComponentSetup(instance, isSSR, skipOptions) {
+    const Component = instance.type;
+    if (!instance.render) {
+      if (!isSSR && compile$1 && !Component.render) {
+        const template = Component.template || resolveMergedOptions(instance).template;
+        if (template) {
+          {
+            startMeasure(instance, `compile`);
+          }
+          const { isCustomElement, compilerOptions } = instance.appContext.config;
+          const { delimiters, compilerOptions: componentCompilerOptions } = Component;
+          const finalCompilerOptions = extend(
+            extend(
+              {
+                isCustomElement,
+                delimiters
+              },
+              compilerOptions
+            ),
+            componentCompilerOptions
+          );
+          Component.render = compile$1(template, finalCompilerOptions);
+          {
+            endMeasure(instance, `compile`);
+          }
+        }
+      }
+      instance.render = Component.render || NOOP;
+      if (installWithProxy) {
+        installWithProxy(instance);
+      }
+    }
+    {
+      setCurrentInstance(instance);
+      pauseTracking();
+      applyOptions(instance);
+      resetTracking();
+      unsetCurrentInstance();
+    }
+    if (!Component.render && instance.render === NOOP && !isSSR) {
+      if (!compile$1 && Component.template) {
+        warn(
+          `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Use "vue.global.js" instead.` )
+          /* should not happen */
+        );
+      } else {
+        warn(`Component is missing template or render function.`);
+      }
+    }
+  }
+  function getAttrsProxy(instance) {
+    return instance.attrsProxy || (instance.attrsProxy = new Proxy(
+      instance.attrs,
+      {
+        get(target, key) {
+          markAttrsAccessed();
+          track(instance, "get", "$attrs");
+          return target[key];
+        },
+        set() {
+          warn(`setupContext.attrs is readonly.`);
+          return false;
+        },
+        deleteProperty() {
+          warn(`setupContext.attrs is readonly.`);
+          return false;
+        }
+      } 
+    ));
+  }
+  function getSlotsProxy(instance) {
+    return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {
+      get(target, key) {
+        track(instance, "get", "$slots");
+        return target[key];
+      }
+    }));
+  }
+  function createSetupContext(instance) {
+    const expose = (exposed) => {
+      {
+        if (instance.exposed) {
+          warn(`expose() should be called only once per setup().`);
+        }
+        if (exposed != null) {
+          let exposedType = typeof exposed;
+          if (exposedType === "object") {
+            if (isArray(exposed)) {
+              exposedType = "array";
+            } else if (isRef(exposed)) {
+              exposedType = "ref";
+            }
+          }
+          if (exposedType !== "object") {
+            warn(
+              `expose() should be passed a plain object, received ${exposedType}.`
+            );
+          }
+        }
+      }
+      instance.exposed = exposed || {};
+    };
+    {
+      return Object.freeze({
+        get attrs() {
+          return getAttrsProxy(instance);
+        },
+        get slots() {
+          return getSlotsProxy(instance);
+        },
+        get emit() {
+          return (event, ...args) => instance.emit(event, ...args);
+        },
+        expose
+      });
+    }
+  }
+  function getExposeProxy(instance) {
+    if (instance.exposed) {
+      return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
+        get(target, key) {
+          if (key in target) {
+            return target[key];
+          } else if (key in publicPropertiesMap) {
+            return publicPropertiesMap[key](instance);
+          }
+        },
+        has(target, key) {
+          return key in target || key in publicPropertiesMap;
+        }
+      }));
+    }
+  }
+  const classifyRE = /(?:^|[-_])(\w)/g;
+  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
+  function getComponentName(Component, includeInferred = true) {
+    return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
+  }
+  function formatComponentName(instance, Component, isRoot = false) {
+    let name = getComponentName(Component);
+    if (!name && Component.__file) {
+      const match = Component.__file.match(/([^/\\]+)\.\w+$/);
+      if (match) {
+        name = match[1];
+      }
+    }
+    if (!name && instance && instance.parent) {
+      const inferFromRegistry = (registry) => {
+        for (const key in registry) {
+          if (registry[key] === Component) {
+            return key;
+          }
+        }
+      };
+      name = inferFromRegistry(
+        instance.components || instance.parent.type.components
+      ) || inferFromRegistry(instance.appContext.components);
+    }
+    return name ? classify(name) : isRoot ? `App` : `Anonymous`;
+  }
+  function isClassComponent(value) {
+    return isFunction(value) && "__vccOpts" in value;
+  }
+
+  const computed = (getterOrOptions, debugOptions) => {
+    return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
+  };
+
+  function h(type, propsOrChildren, children) {
+    const l = arguments.length;
+    if (l === 2) {
+      if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
+        if (isVNode(propsOrChildren)) {
+          return createVNode(type, null, [propsOrChildren]);
+        }
+        return createVNode(type, propsOrChildren);
+      } else {
+        return createVNode(type, null, propsOrChildren);
+      }
+    } else {
+      if (l > 3) {
+        children = Array.prototype.slice.call(arguments, 2);
+      } else if (l === 3 && isVNode(children)) {
+        children = [children];
+      }
+      return createVNode(type, propsOrChildren, children);
+    }
+  }
+
+  const ssrContextKey = Symbol.for("v-scx");
+  const useSSRContext = () => {
+    {
+      warn(`useSSRContext() is not supported in the global build.`);
+    }
+  };
+
+  function initCustomFormatter() {
+    if (typeof window === "undefined") {
+      return;
+    }
+    const vueStyle = { style: "color:#3ba776" };
+    const numberStyle = { style: "color:#0b1bc9" };
+    const stringStyle = { style: "color:#b62e24" };
+    const keywordStyle = { style: "color:#9d288c" };
+    const formatter = {
+      header(obj) {
+        if (!isObject(obj)) {
+          return null;
+        }
+        if (obj.__isVue) {
+          return ["div", vueStyle, `VueInstance`];
+        } else if (isRef(obj)) {
+          return [
+            "div",
+            {},
+            ["span", vueStyle, genRefFlag(obj)],
+            "<",
+            formatValue(obj.value),
+            `>`
+          ];
+        } else if (isReactive(obj)) {
+          return [
+            "div",
+            {},
+            ["span", vueStyle, isShallow(obj) ? "ShallowReactive" : "Reactive"],
+            "<",
+            formatValue(obj),
+            `>${isReadonly(obj) ? ` (readonly)` : ``}`
+          ];
+        } else if (isReadonly(obj)) {
+          return [
+            "div",
+            {},
+            ["span", vueStyle, isShallow(obj) ? "ShallowReadonly" : "Readonly"],
+            "<",
+            formatValue(obj),
+            ">"
+          ];
+        }
+        return null;
+      },
+      hasBody(obj) {
+        return obj && obj.__isVue;
+      },
+      body(obj) {
+        if (obj && obj.__isVue) {
+          return [
+            "div",
+            {},
+            ...formatInstance(obj.$)
+          ];
+        }
+      }
+    };
+    function formatInstance(instance) {
+      const blocks = [];
+      if (instance.type.props && instance.props) {
+        blocks.push(createInstanceBlock("props", toRaw(instance.props)));
+      }
+      if (instance.setupState !== EMPTY_OBJ) {
+        blocks.push(createInstanceBlock("setup", instance.setupState));
+      }
+      if (instance.data !== EMPTY_OBJ) {
+        blocks.push(createInstanceBlock("data", toRaw(instance.data)));
+      }
+      const computed = extractKeys(instance, "computed");
+      if (computed) {
+        blocks.push(createInstanceBlock("computed", computed));
+      }
+      const injected = extractKeys(instance, "inject");
+      if (injected) {
+        blocks.push(createInstanceBlock("injected", injected));
+      }
+      blocks.push([
+        "div",
+        {},
+        [
+          "span",
+          {
+            style: keywordStyle.style + ";opacity:0.66"
+          },
+          "$ (internal): "
+        ],
+        ["object", { object: instance }]
+      ]);
+      return blocks;
+    }
+    function createInstanceBlock(type, target) {
+      target = extend({}, target);
+      if (!Object.keys(target).length) {
+        return ["span", {}];
+      }
+      return [
+        "div",
+        { style: "line-height:1.25em;margin-bottom:0.6em" },
+        [
+          "div",
+          {
+            style: "color:#476582"
+          },
+          type
+        ],
+        [
+          "div",
+          {
+            style: "padding-left:1.25em"
+          },
+          ...Object.keys(target).map((key) => {
+            return [
+              "div",
+              {},
+              ["span", keywordStyle, key + ": "],
+              formatValue(target[key], false)
+            ];
+          })
+        ]
+      ];
+    }
+    function formatValue(v, asRaw = true) {
+      if (typeof v === "number") {
+        return ["span", numberStyle, v];
+      } else if (typeof v === "string") {
+        return ["span", stringStyle, JSON.stringify(v)];
+      } else if (typeof v === "boolean") {
+        return ["span", keywordStyle, v];
+      } else if (isObject(v)) {
+        return ["object", { object: asRaw ? toRaw(v) : v }];
+      } else {
+        return ["span", stringStyle, String(v)];
+      }
+    }
+    function extractKeys(instance, type) {
+      const Comp = instance.type;
+      if (isFunction(Comp)) {
+        return;
+      }
+      const extracted = {};
+      for (const key in instance.ctx) {
+        if (isKeyOfType(Comp, key, type)) {
+          extracted[key] = instance.ctx[key];
+        }
+      }
+      return extracted;
+    }
+    function isKeyOfType(Comp, key, type) {
+      const opts = Comp[type];
+      if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) {
+        return true;
+      }
+      if (Comp.extends && isKeyOfType(Comp.extends, key, type)) {
+        return true;
+      }
+      if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) {
+        return true;
+      }
+    }
+    function genRefFlag(v) {
+      if (isShallow(v)) {
+        return `ShallowRef`;
+      }
+      if (v.effect) {
+        return `ComputedRef`;
+      }
+      return `Ref`;
+    }
+    if (window.devtoolsFormatters) {
+      window.devtoolsFormatters.push(formatter);
+    } else {
+      window.devtoolsFormatters = [formatter];
+    }
+  }
+
+  function withMemo(memo, render, cache, index) {
+    const cached = cache[index];
+    if (cached && isMemoSame(cached, memo)) {
+      return cached;
+    }
+    const ret = render();
+    ret.memo = memo.slice();
+    return cache[index] = ret;
+  }
+  function isMemoSame(cached, memo) {
+    const prev = cached.memo;
+    if (prev.length != memo.length) {
+      return false;
+    }
+    for (let i = 0; i < prev.length; i++) {
+      if (hasChanged(prev[i], memo[i])) {
+        return false;
+      }
+    }
+    if (isBlockTreeEnabled > 0 && currentBlock) {
+      currentBlock.push(cached);
+    }
+    return true;
+  }
+
+  const version = "3.3.4";
+  const ssrUtils = null;
+  const resolveFilter = null;
+  const compatUtils = null;
+
+  const svgNS = "http://www.w3.org/2000/svg";
+  const doc = typeof document !== "undefined" ? document : null;
+  const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
+  const nodeOps = {
+    insert: (child, parent, anchor) => {
+      parent.insertBefore(child, anchor || null);
+    },
+    remove: (child) => {
+      const parent = child.parentNode;
+      if (parent) {
+        parent.removeChild(child);
+      }
+    },
+    createElement: (tag, isSVG, is, props) => {
+      const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : void 0);
+      if (tag === "select" && props && props.multiple != null) {
+        el.setAttribute("multiple", props.multiple);
+      }
+      return el;
+    },
+    createText: (text) => doc.createTextNode(text),
+    createComment: (text) => doc.createComment(text),
+    setText: (node, text) => {
+      node.nodeValue = text;
+    },
+    setElementText: (el, text) => {
+      el.textContent = text;
+    },
+    parentNode: (node) => node.parentNode,
+    nextSibling: (node) => node.nextSibling,
+    querySelector: (selector) => doc.querySelector(selector),
+    setScopeId(el, id) {
+      el.setAttribute(id, "");
+    },
+    // __UNSAFE__
+    // Reason: innerHTML.
+    // Static content here can only come from compiled templates.
+    // As long as the user only uses trusted templates, this is safe.
+    insertStaticContent(content, parent, anchor, isSVG, start, end) {
+      const before = anchor ? anchor.previousSibling : parent.lastChild;
+      if (start && (start === end || start.nextSibling)) {
+        while (true) {
+          parent.insertBefore(start.cloneNode(true), anchor);
+          if (start === end || !(start = start.nextSibling))
+            break;
+        }
+      } else {
+        templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content;
+        const template = templateContainer.content;
+        if (isSVG) {
+          const wrapper = template.firstChild;
+          while (wrapper.firstChild) {
+            template.appendChild(wrapper.firstChild);
+          }
+          template.removeChild(wrapper);
+        }
+        parent.insertBefore(template, anchor);
+      }
+      return [
+        // first
+        before ? before.nextSibling : parent.firstChild,
+        // last
+        anchor ? anchor.previousSibling : parent.lastChild
+      ];
+    }
+  };
+
+  function patchClass(el, value, isSVG) {
+    const transitionClasses = el._vtc;
+    if (transitionClasses) {
+      value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
+    }
+    if (value == null) {
+      el.removeAttribute("class");
+    } else if (isSVG) {
+      el.setAttribute("class", value);
+    } else {
+      el.className = value;
+    }
+  }
+
+  function patchStyle(el, prev, next) {
+    const style = el.style;
+    const isCssString = isString(next);
+    if (next && !isCssString) {
+      if (prev && !isString(prev)) {
+        for (const key in prev) {
+          if (next[key] == null) {
+            setStyle(style, key, "");
+          }
+        }
+      }
+      for (const key in next) {
+        setStyle(style, key, next[key]);
+      }
+    } else {
+      const currentDisplay = style.display;
+      if (isCssString) {
+        if (prev !== next) {
+          style.cssText = next;
+        }
+      } else if (prev) {
+        el.removeAttribute("style");
+      }
+      if ("_vod" in el) {
+        style.display = currentDisplay;
+      }
+    }
+  }
+  const semicolonRE = /[^\\];\s*$/;
+  const importantRE = /\s*!important$/;
+  function setStyle(style, name, val) {
+    if (isArray(val)) {
+      val.forEach((v) => setStyle(style, name, v));
+    } else {
+      if (val == null)
+        val = "";
+      {
+        if (semicolonRE.test(val)) {
+          warn(
+            `Unexpected semicolon at the end of '${name}' style value: '${val}'`
+          );
+        }
+      }
+      if (name.startsWith("--")) {
+        style.setProperty(name, val);
+      } else {
+        const prefixed = autoPrefix(style, name);
+        if (importantRE.test(val)) {
+          style.setProperty(
+            hyphenate(prefixed),
+            val.replace(importantRE, ""),
+            "important"
+          );
+        } else {
+          style[prefixed] = val;
+        }
+      }
+    }
+  }
+  const prefixes = ["Webkit", "Moz", "ms"];
+  const prefixCache = {};
+  function autoPrefix(style, rawName) {
+    const cached = prefixCache[rawName];
+    if (cached) {
+      return cached;
+    }
+    let name = camelize(rawName);
+    if (name !== "filter" && name in style) {
+      return prefixCache[rawName] = name;
+    }
+    name = capitalize(name);
+    for (let i = 0; i < prefixes.length; i++) {
+      const prefixed = prefixes[i] + name;
+      if (prefixed in style) {
+        return prefixCache[rawName] = prefixed;
+      }
+    }
+    return rawName;
+  }
+
+  const xlinkNS = "http://www.w3.org/1999/xlink";
+  function patchAttr(el, key, value, isSVG, instance) {
+    if (isSVG && key.startsWith("xlink:")) {
+      if (value == null) {
+        el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
+      } else {
+        el.setAttributeNS(xlinkNS, key, value);
+      }
+    } else {
+      const isBoolean = isSpecialBooleanAttr(key);
+      if (value == null || isBoolean && !includeBooleanAttr(value)) {
+        el.removeAttribute(key);
+      } else {
+        el.setAttribute(key, isBoolean ? "" : value);
+      }
+    }
+  }
+
+  function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {
+    if (key === "innerHTML" || key === "textContent") {
+      if (prevChildren) {
+        unmountChildren(prevChildren, parentComponent, parentSuspense);
+      }
+      el[key] = value == null ? "" : value;
+      return;
+    }
+    const tag = el.tagName;
+    if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
+    !tag.includes("-")) {
+      el._value = value;
+      const oldValue = tag === "OPTION" ? el.getAttribute("value") : el.value;
+      const newValue = value == null ? "" : value;
+      if (oldValue !== newValue) {
+        el.value = newValue;
+      }
+      if (value == null) {
+        el.removeAttribute(key);
+      }
+      return;
+    }
+    let needRemove = false;
+    if (value === "" || value == null) {
+      const type = typeof el[key];
+      if (type === "boolean") {
+        value = includeBooleanAttr(value);
+      } else if (value == null && type === "string") {
+        value = "";
+        needRemove = true;
+      } else if (type === "number") {
+        value = 0;
+        needRemove = true;
+      }
+    }
+    try {
+      el[key] = value;
+    } catch (e) {
+      if (!needRemove) {
+        warn(
+          `Failed setting prop "${key}" on <${tag.toLowerCase()}>: value ${value} is invalid.`,
+          e
+        );
+      }
+    }
+    needRemove && el.removeAttribute(key);
+  }
+
+  function addEventListener(el, event, handler, options) {
+    el.addEventListener(event, handler, options);
+  }
+  function removeEventListener(el, event, handler, options) {
+    el.removeEventListener(event, handler, options);
+  }
+  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
+    const invokers = el._vei || (el._vei = {});
+    const existingInvoker = invokers[rawName];
+    if (nextValue && existingInvoker) {
+      existingInvoker.value = nextValue;
+    } else {
+      const [name, options] = parseName(rawName);
+      if (nextValue) {
+        const invoker = invokers[rawName] = createInvoker(nextValue, instance);
+        addEventListener(el, name, invoker, options);
+      } else if (existingInvoker) {
+        removeEventListener(el, name, existingInvoker, options);
+        invokers[rawName] = void 0;
+      }
+    }
+  }
+  const optionsModifierRE = /(?:Once|Passive|Capture)$/;
+  function parseName(name) {
+    let options;
+    if (optionsModifierRE.test(name)) {
+      options = {};
+      let m;
+      while (m = name.match(optionsModifierRE)) {
+        name = name.slice(0, name.length - m[0].length);
+        options[m[0].toLowerCase()] = true;
+      }
+    }
+    const event = name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2));
+    return [event, options];
+  }
+  let cachedNow = 0;
+  const p = /* @__PURE__ */ Promise.resolve();
+  const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
+  function createInvoker(initialValue, instance) {
+    const invoker = (e) => {
+      if (!e._vts) {
+        e._vts = Date.now();
+      } else if (e._vts <= invoker.attached) {
+        return;
+      }
+      callWithAsyncErrorHandling(
+        patchStopImmediatePropagation(e, invoker.value),
+        instance,
+        5,
+        [e]
+      );
+    };
+    invoker.value = initialValue;
+    invoker.attached = getNow();
+    return invoker;
+  }
+  function patchStopImmediatePropagation(e, value) {
+    if (isArray(value)) {
+      const originalStop = e.stopImmediatePropagation;
+      e.stopImmediatePropagation = () => {
+        originalStop.call(e);
+        e._stopped = true;
+      };
+      return value.map((fn) => (e2) => !e2._stopped && fn && fn(e2));
+    } else {
+      return value;
+    }
+  }
+
+  const nativeOnRE = /^on[a-z]/;
+  const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
+    if (key === "class") {
+      patchClass(el, nextValue, isSVG);
+    } else if (key === "style") {
+      patchStyle(el, prevValue, nextValue);
+    } else if (isOn(key)) {
+      if (!isModelListener(key)) {
+        patchEvent(el, key, prevValue, nextValue, parentComponent);
+      }
+    } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
+      patchDOMProp(
+        el,
+        key,
+        nextValue,
+        prevChildren,
+        parentComponent,
+        parentSuspense,
+        unmountChildren
+      );
+    } else {
+      if (key === "true-value") {
+        el._trueValue = nextValue;
+      } else if (key === "false-value") {
+        el._falseValue = nextValue;
+      }
+      patchAttr(el, key, nextValue, isSVG);
+    }
+  };
+  function shouldSetAsProp(el, key, value, isSVG) {
+    if (isSVG) {
+      if (key === "innerHTML" || key === "textContent") {
+        return true;
+      }
+      if (key in el && nativeOnRE.test(key) && isFunction(value)) {
+        return true;
+      }
+      return false;
+    }
+    if (key === "spellcheck" || key === "draggable" || key === "translate") {
+      return false;
+    }
+    if (key === "form") {
+      return false;
+    }
+    if (key === "list" && el.tagName === "INPUT") {
+      return false;
+    }
+    if (key === "type" && el.tagName === "TEXTAREA") {
+      return false;
+    }
+    if (nativeOnRE.test(key) && isString(value)) {
+      return false;
+    }
+    return key in el;
+  }
+
+  function defineCustomElement(options, hydrate2) {
+    const Comp = defineComponent(options);
+    class VueCustomElement extends VueElement {
+      constructor(initialProps) {
+        super(Comp, initialProps, hydrate2);
+      }
+    }
+    VueCustomElement.def = Comp;
+    return VueCustomElement;
+  }
+  const defineSSRCustomElement = (options) => {
+    return defineCustomElement(options, hydrate);
+  };
+  const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
+  };
+  class VueElement extends BaseClass {
+    constructor(_def, _props = {}, hydrate2) {
+      super();
+      this._def = _def;
+      this._props = _props;
+      /**
+       * @internal
+       */
+      this._instance = null;
+      this._connected = false;
+      this._resolved = false;
+      this._numberProps = null;
+      if (this.shadowRoot && hydrate2) {
+        hydrate2(this._createVNode(), this.shadowRoot);
+      } else {
+        if (this.shadowRoot) {
+          warn(
+            `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \`defineSSRCustomElement\`.`
+          );
+        }
+        this.attachShadow({ mode: "open" });
+        if (!this._def.__asyncLoader) {
+          this._resolveProps(this._def);
+        }
+      }
+    }
+    connectedCallback() {
+      this._connected = true;
+      if (!this._instance) {
+        if (this._resolved) {
+          this._update();
+        } else {
+          this._resolveDef();
+        }
+      }
+    }
+    disconnectedCallback() {
+      this._connected = false;
+      nextTick(() => {
+        if (!this._connected) {
+          render(null, this.shadowRoot);
+          this._instance = null;
+        }
+      });
+    }
+    /**
+     * resolve inner component definition (handle possible async component)
+     */
+    _resolveDef() {
+      this._resolved = true;
+      for (let i = 0; i < this.attributes.length; i++) {
+        this._setAttr(this.attributes[i].name);
+      }
+      new MutationObserver((mutations) => {
+        for (const m of mutations) {
+          this._setAttr(m.attributeName);
+        }
+      }).observe(this, { attributes: true });
+      const resolve = (def, isAsync = false) => {
+        const { props, styles } = def;
+        let numberProps;
+        if (props && !isArray(props)) {
+          for (const key in props) {
+            const opt = props[key];
+            if (opt === Number || opt && opt.type === Number) {
+              if (key in this._props) {
+                this._props[key] = toNumber(this._props[key]);
+              }
+              (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize(key)] = true;
+            }
+          }
+        }
+        this._numberProps = numberProps;
+        if (isAsync) {
+          this._resolveProps(def);
+        }
+        this._applyStyles(styles);
+        this._update();
+      };
+      const asyncDef = this._def.__asyncLoader;
+      if (asyncDef) {
+        asyncDef().then((def) => resolve(def, true));
+      } else {
+        resolve(this._def);
+      }
+    }
+    _resolveProps(def) {
+      const { props } = def;
+      const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
+      for (const key of Object.keys(this)) {
+        if (key[0] !== "_" && declaredPropKeys.includes(key)) {
+          this._setProp(key, this[key], true, false);
+        }
+      }
+      for (const key of declaredPropKeys.map(camelize)) {
+        Object.defineProperty(this, key, {
+          get() {
+            return this._getProp(key);
+          },
+          set(val) {
+            this._setProp(key, val);
+          }
+        });
+      }
+    }
+    _setAttr(key) {
+      let value = this.getAttribute(key);
+      const camelKey = camelize(key);
+      if (this._numberProps && this._numberProps[camelKey]) {
+        value = toNumber(value);
+      }
+      this._setProp(camelKey, value, false);
+    }
+    /**
+     * @internal
+     */
+    _getProp(key) {
+      return this._props[key];
+    }
+    /**
+     * @internal
+     */
+    _setProp(key, val, shouldReflect = true, shouldUpdate = true) {
+      if (val !== this._props[key]) {
+        this._props[key] = val;
+        if (shouldUpdate && this._instance) {
+          this._update();
+        }
+        if (shouldReflect) {
+          if (val === true) {
+            this.setAttribute(hyphenate(key), "");
+          } else if (typeof val === "string" || typeof val === "number") {
+            this.setAttribute(hyphenate(key), val + "");
+          } else if (!val) {
+            this.removeAttribute(hyphenate(key));
+          }
+        }
+      }
+    }
+    _update() {
+      render(this._createVNode(), this.shadowRoot);
+    }
+    _createVNode() {
+      const vnode = createVNode(this._def, extend({}, this._props));
+      if (!this._instance) {
+        vnode.ce = (instance) => {
+          this._instance = instance;
+          instance.isCE = true;
+          {
+            instance.ceReload = (newStyles) => {
+              if (this._styles) {
+                this._styles.forEach((s) => this.shadowRoot.removeChild(s));
+                this._styles.length = 0;
+              }
+              this._applyStyles(newStyles);
+              this._instance = null;
+              this._update();
+            };
+          }
+          const dispatch = (event, args) => {
+            this.dispatchEvent(
+              new CustomEvent(event, {
+                detail: args
+              })
+            );
+          };
+          instance.emit = (event, ...args) => {
+            dispatch(event, args);
+            if (hyphenate(event) !== event) {
+              dispatch(hyphenate(event), args);
+            }
+          };
+          let parent = this;
+          while (parent = parent && (parent.parentNode || parent.host)) {
+            if (parent instanceof VueElement) {
+              instance.parent = parent._instance;
+              instance.provides = parent._instance.provides;
+              break;
+            }
+          }
+        };
+      }
+      return vnode;
+    }
+    _applyStyles(styles) {
+      if (styles) {
+        styles.forEach((css) => {
+          const s = document.createElement("style");
+          s.textContent = css;
+          this.shadowRoot.appendChild(s);
+          {
+            (this._styles || (this._styles = [])).push(s);
+          }
+        });
+      }
+    }
+  }
+
+  function useCssModule(name = "$style") {
+    {
+      {
+        warn(`useCssModule() is not supported in the global build.`);
+      }
+      return EMPTY_OBJ;
+    }
+  }
+
+  function useCssVars(getter) {
+    const instance = getCurrentInstance();
+    if (!instance) {
+      warn(`useCssVars is called without current active component instance.`);
+      return;
+    }
+    const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {
+      Array.from(
+        document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)
+      ).forEach((node) => setVarsOnNode(node, vars));
+    };
+    const setVars = () => {
+      const vars = getter(instance.proxy);
+      setVarsOnVNode(instance.subTree, vars);
+      updateTeleports(vars);
+    };
+    watchPostEffect(setVars);
+    onMounted(() => {
+      const ob = new MutationObserver(setVars);
+      ob.observe(instance.subTree.el.parentNode, { childList: true });
+      onUnmounted(() => ob.disconnect());
+    });
+  }
+  function setVarsOnVNode(vnode, vars) {
+    if (vnode.shapeFlag & 128) {
+      const suspense = vnode.suspense;
+      vnode = suspense.activeBranch;
+      if (suspense.pendingBranch && !suspense.isHydrating) {
+        suspense.effects.push(() => {
+          setVarsOnVNode(suspense.activeBranch, vars);
+        });
+      }
+    }
+    while (vnode.component) {
+      vnode = vnode.component.subTree;
+    }
+    if (vnode.shapeFlag & 1 && vnode.el) {
+      setVarsOnNode(vnode.el, vars);
+    } else if (vnode.type === Fragment) {
+      vnode.children.forEach((c) => setVarsOnVNode(c, vars));
+    } else if (vnode.type === Static) {
+      let { el, anchor } = vnode;
+      while (el) {
+        setVarsOnNode(el, vars);
+        if (el === anchor)
+          break;
+        el = el.nextSibling;
+      }
+    }
+  }
+  function setVarsOnNode(el, vars) {
+    if (el.nodeType === 1) {
+      const style = el.style;
+      for (const key in vars) {
+        style.setProperty(`--${key}`, vars[key]);
+      }
+    }
+  }
+
+  const TRANSITION$1 = "transition";
+  const ANIMATION = "animation";
+  const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
+  Transition.displayName = "Transition";
+  const DOMTransitionPropsValidators = {
+    name: String,
+    type: String,
+    css: {
+      type: Boolean,
+      default: true
+    },
+    duration: [String, Number, Object],
+    enterFromClass: String,
+    enterActiveClass: String,
+    enterToClass: String,
+    appearFromClass: String,
+    appearActiveClass: String,
+    appearToClass: String,
+    leaveFromClass: String,
+    leaveActiveClass: String,
+    leaveToClass: String
+  };
+  const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
+    {},
+    BaseTransitionPropsValidators,
+    DOMTransitionPropsValidators
+  );
+  const callHook = (hook, args = []) => {
+    if (isArray(hook)) {
+      hook.forEach((h2) => h2(...args));
+    } else if (hook) {
+      hook(...args);
+    }
+  };
+  const hasExplicitCallback = (hook) => {
+    return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
+  };
+  function resolveTransitionProps(rawProps) {
+    const baseProps = {};
+    for (const key in rawProps) {
+      if (!(key in DOMTransitionPropsValidators)) {
+        baseProps[key] = rawProps[key];
+      }
+    }
+    if (rawProps.css === false) {
+      return baseProps;
+    }
+    const {
+      name = "v",
+      type,
+      duration,
+      enterFromClass = `${name}-enter-from`,
+      enterActiveClass = `${name}-enter-active`,
+      enterToClass = `${name}-enter-to`,
+      appearFromClass = enterFromClass,
+      appearActiveClass = enterActiveClass,
+      appearToClass = enterToClass,
+      leaveFromClass = `${name}-leave-from`,
+      leaveActiveClass = `${name}-leave-active`,
+      leaveToClass = `${name}-leave-to`
+    } = rawProps;
+    const durations = normalizeDuration(duration);
+    const enterDuration = durations && durations[0];
+    const leaveDuration = durations && durations[1];
+    const {
+      onBeforeEnter,
+      onEnter,
+      onEnterCancelled,
+      onLeave,
+      onLeaveCancelled,
+      onBeforeAppear = onBeforeEnter,
+      onAppear = onEnter,
+      onAppearCancelled = onEnterCancelled
+    } = baseProps;
+    const finishEnter = (el, isAppear, done) => {
+      removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
+      removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
+      done && done();
+    };
+    const finishLeave = (el, done) => {
+      el._isLeaving = false;
+      removeTransitionClass(el, leaveFromClass);
+      removeTransitionClass(el, leaveToClass);
+      removeTransitionClass(el, leaveActiveClass);
+      done && done();
+    };
+    const makeEnterHook = (isAppear) => {
+      return (el, done) => {
+        const hook = isAppear ? onAppear : onEnter;
+        const resolve = () => finishEnter(el, isAppear, done);
+        callHook(hook, [el, resolve]);
+        nextFrame(() => {
+          removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
+          addTransitionClass(el, isAppear ? appearToClass : enterToClass);
+          if (!hasExplicitCallback(hook)) {
+            whenTransitionEnds(el, type, enterDuration, resolve);
+          }
+        });
+      };
+    };
+    return extend(baseProps, {
+      onBeforeEnter(el) {
+        callHook(onBeforeEnter, [el]);
+        addTransitionClass(el, enterFromClass);
+        addTransitionClass(el, enterActiveClass);
+      },
+      onBeforeAppear(el) {
+        callHook(onBeforeAppear, [el]);
+        addTransitionClass(el, appearFromClass);
+        addTransitionClass(el, appearActiveClass);
+      },
+      onEnter: makeEnterHook(false),
+      onAppear: makeEnterHook(true),
+      onLeave(el, done) {
+        el._isLeaving = true;
+        const resolve = () => finishLeave(el, done);
+        addTransitionClass(el, leaveFromClass);
+        forceReflow();
+        addTransitionClass(el, leaveActiveClass);
+        nextFrame(() => {
+          if (!el._isLeaving) {
+            return;
+          }
+          removeTransitionClass(el, leaveFromClass);
+          addTransitionClass(el, leaveToClass);
+          if (!hasExplicitCallback(onLeave)) {
+            whenTransitionEnds(el, type, leaveDuration, resolve);
+          }
+        });
+        callHook(onLeave, [el, resolve]);
+      },
+      onEnterCancelled(el) {
+        finishEnter(el, false);
+        callHook(onEnterCancelled, [el]);
+      },
+      onAppearCancelled(el) {
+        finishEnter(el, true);
+        callHook(onAppearCancelled, [el]);
+      },
+      onLeaveCancelled(el) {
+        finishLeave(el);
+        callHook(onLeaveCancelled, [el]);
+      }
+    });
+  }
+  function normalizeDuration(duration) {
+    if (duration == null) {
+      return null;
+    } else if (isObject(duration)) {
+      return [NumberOf(duration.enter), NumberOf(duration.leave)];
+    } else {
+      const n = NumberOf(duration);
+      return [n, n];
+    }
+  }
+  function NumberOf(val) {
+    const res = toNumber(val);
+    {
+      assertNumber(res, "<transition> explicit duration");
+    }
+    return res;
+  }
+  function addTransitionClass(el, cls) {
+    cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
+    (el._vtc || (el._vtc = /* @__PURE__ */ new Set())).add(cls);
+  }
+  function removeTransitionClass(el, cls) {
+    cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
+    const { _vtc } = el;
+    if (_vtc) {
+      _vtc.delete(cls);
+      if (!_vtc.size) {
+        el._vtc = void 0;
+      }
+    }
+  }
+  function nextFrame(cb) {
+    requestAnimationFrame(() => {
+      requestAnimationFrame(cb);
+    });
+  }
+  let endId = 0;
+  function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
+    const id = el._endId = ++endId;
+    const resolveIfNotStale = () => {
+      if (id === el._endId) {
+        resolve();
+      }
+    };
+    if (explicitTimeout) {
+      return setTimeout(resolveIfNotStale, explicitTimeout);
+    }
+    const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
+    if (!type) {
+      return resolve();
+    }
+    const endEvent = type + "end";
+    let ended = 0;
+    const end = () => {
+      el.removeEventListener(endEvent, onEnd);
+      resolveIfNotStale();
+    };
+    const onEnd = (e) => {
+      if (e.target === el && ++ended >= propCount) {
+        end();
+      }
+    };
+    setTimeout(() => {
+      if (ended < propCount) {
+        end();
+      }
+    }, timeout + 1);
+    el.addEventListener(endEvent, onEnd);
+  }
+  function getTransitionInfo(el, expectedType) {
+    const styles = window.getComputedStyle(el);
+    const getStyleProperties = (key) => (styles[key] || "").split(", ");
+    const transitionDelays = getStyleProperties(`${TRANSITION$1}Delay`);
+    const transitionDurations = getStyleProperties(`${TRANSITION$1}Duration`);
+    const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
+    const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
+    const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
+    const animationTimeout = getTimeout(animationDelays, animationDurations);
+    let type = null;
+    let timeout = 0;
+    let propCount = 0;
+    if (expectedType === TRANSITION$1) {
+      if (transitionTimeout > 0) {
+        type = TRANSITION$1;
+        timeout = transitionTimeout;
+        propCount = transitionDurations.length;
+      }
+    } else if (expectedType === ANIMATION) {
+      if (animationTimeout > 0) {
+        type = ANIMATION;
+        timeout = animationTimeout;
+        propCount = animationDurations.length;
+      }
+    } else {
+      timeout = Math.max(transitionTimeout, animationTimeout);
+      type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION$1 : ANIMATION : null;
+      propCount = type ? type === TRANSITION$1 ? transitionDurations.length : animationDurations.length : 0;
+    }
+    const hasTransform = type === TRANSITION$1 && /\b(transform|all)(,|$)/.test(
+      getStyleProperties(`${TRANSITION$1}Property`).toString()
+    );
+    return {
+      type,
+      timeout,
+      propCount,
+      hasTransform
+    };
+  }
+  function getTimeout(delays, durations) {
+    while (delays.length < durations.length) {
+      delays = delays.concat(delays);
+    }
+    return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
+  }
+  function toMs(s) {
+    return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
+  }
+  function forceReflow() {
+    return document.body.offsetHeight;
+  }
+
+  const positionMap = /* @__PURE__ */ new WeakMap();
+  const newPositionMap = /* @__PURE__ */ new WeakMap();
+  const TransitionGroupImpl = {
+    name: "TransitionGroup",
+    props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
+      tag: String,
+      moveClass: String
+    }),
+    setup(props, { slots }) {
+      const instance = getCurrentInstance();
+      const state = useTransitionState();
+      let prevChildren;
+      let children;
+      onUpdated(() => {
+        if (!prevChildren.length) {
+          return;
+        }
+        const moveClass = props.moveClass || `${props.name || "v"}-move`;
+        if (!hasCSSTransform(
+          prevChildren[0].el,
+          instance.vnode.el,
+          moveClass
+        )) {
+          return;
+        }
+        prevChildren.forEach(callPendingCbs);
+        prevChildren.forEach(recordPosition);
+        const movedChildren = prevChildren.filter(applyTranslation);
+        forceReflow();
+        movedChildren.forEach((c) => {
+          const el = c.el;
+          const style = el.style;
+          addTransitionClass(el, moveClass);
+          style.transform = style.webkitTransform = style.transitionDuration = "";
+          const cb = el._moveCb = (e) => {
+            if (e && e.target !== el) {
+              return;
+            }
+            if (!e || /transform$/.test(e.propertyName)) {
+              el.removeEventListener("transitionend", cb);
+              el._moveCb = null;
+              removeTransitionClass(el, moveClass);
+            }
+          };
+          el.addEventListener("transitionend", cb);
+        });
+      });
+      return () => {
+        const rawProps = toRaw(props);
+        const cssTransitionProps = resolveTransitionProps(rawProps);
+        let tag = rawProps.tag || Fragment;
+        prevChildren = children;
+        children = slots.default ? getTransitionRawChildren(slots.default()) : [];
+        for (let i = 0; i < children.length; i++) {
+          const child = children[i];
+          if (child.key != null) {
+            setTransitionHooks(
+              child,
+              resolveTransitionHooks(child, cssTransitionProps, state, instance)
+            );
+          } else {
+            warn(`<TransitionGroup> children must be keyed.`);
+          }
+        }
+        if (prevChildren) {
+          for (let i = 0; i < prevChildren.length; i++) {
+            const child = prevChildren[i];
+            setTransitionHooks(
+              child,
+              resolveTransitionHooks(child, cssTransitionProps, state, instance)
+            );
+            positionMap.set(child, child.el.getBoundingClientRect());
+          }
+        }
+        return createVNode(tag, null, children);
+      };
+    }
+  };
+  const removeMode = (props) => delete props.mode;
+  /* @__PURE__ */ removeMode(TransitionGroupImpl.props);
+  const TransitionGroup = TransitionGroupImpl;
+  function callPendingCbs(c) {
+    const el = c.el;
+    if (el._moveCb) {
+      el._moveCb();
+    }
+    if (el._enterCb) {
+      el._enterCb();
+    }
+  }
+  function recordPosition(c) {
+    newPositionMap.set(c, c.el.getBoundingClientRect());
+  }
+  function applyTranslation(c) {
+    const oldPos = positionMap.get(c);
+    const newPos = newPositionMap.get(c);
+    const dx = oldPos.left - newPos.left;
+    const dy = oldPos.top - newPos.top;
+    if (dx || dy) {
+      const s = c.el.style;
+      s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
+      s.transitionDuration = "0s";
+      return c;
+    }
+  }
+  function hasCSSTransform(el, root, moveClass) {
+    const clone = el.cloneNode();
+    if (el._vtc) {
+      el._vtc.forEach((cls) => {
+        cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c));
+      });
+    }
+    moveClass.split(/\s+/).forEach((c) => c && clone.classList.add(c));
+    clone.style.display = "none";
+    const container = root.nodeType === 1 ? root : root.parentNode;
+    container.appendChild(clone);
+    const { hasTransform } = getTransitionInfo(clone);
+    container.removeChild(clone);
+    return hasTransform;
+  }
+
+  const getModelAssigner = (vnode) => {
+    const fn = vnode.props["onUpdate:modelValue"] || false;
+    return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;
+  };
+  function onCompositionStart(e) {
+    e.target.composing = true;
+  }
+  function onCompositionEnd(e) {
+    const target = e.target;
+    if (target.composing) {
+      target.composing = false;
+      target.dispatchEvent(new Event("input"));
+    }
+  }
+  const vModelText = {
+    created(el, { modifiers: { lazy, trim, number } }, vnode) {
+      el._assign = getModelAssigner(vnode);
+      const castToNumber = number || vnode.props && vnode.props.type === "number";
+      addEventListener(el, lazy ? "change" : "input", (e) => {
+        if (e.target.composing)
+          return;
+        let domValue = el.value;
+        if (trim) {
+          domValue = domValue.trim();
+        }
+        if (castToNumber) {
+          domValue = looseToNumber(domValue);
+        }
+        el._assign(domValue);
+      });
+      if (trim) {
+        addEventListener(el, "change", () => {
+          el.value = el.value.trim();
+        });
+      }
+      if (!lazy) {
+        addEventListener(el, "compositionstart", onCompositionStart);
+        addEventListener(el, "compositionend", onCompositionEnd);
+        addEventListener(el, "change", onCompositionEnd);
+      }
+    },
+    // set value on mounted so it's after min/max for type="range"
+    mounted(el, { value }) {
+      el.value = value == null ? "" : value;
+    },
+    beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
+      el._assign = getModelAssigner(vnode);
+      if (el.composing)
+        return;
+      if (document.activeElement === el && el.type !== "range") {
+        if (lazy) {
+          return;
+        }
+        if (trim && el.value.trim() === value) {
+          return;
+        }
+        if ((number || el.type === "number") && looseToNumber(el.value) === value) {
+          return;
+        }
+      }
+      const newValue = value == null ? "" : value;
+      if (el.value !== newValue) {
+        el.value = newValue;
+      }
+    }
+  };
+  const vModelCheckbox = {
+    // #4096 array checkboxes need to be deep traversed
+    deep: true,
+    created(el, _, vnode) {
+      el._assign = getModelAssigner(vnode);
+      addEventListener(el, "change", () => {
+        const modelValue = el._modelValue;
+        const elementValue = getValue(el);
+        const checked = el.checked;
+        const assign = el._assign;
+        if (isArray(modelValue)) {
+          const index = looseIndexOf(modelValue, elementValue);
+          const found = index !== -1;
+          if (checked && !found) {
+            assign(modelValue.concat(elementValue));
+          } else if (!checked && found) {
+            const filtered = [...modelValue];
+            filtered.splice(index, 1);
+            assign(filtered);
+          }
+        } else if (isSet(modelValue)) {
+          const cloned = new Set(modelValue);
+          if (checked) {
+            cloned.add(elementValue);
+          } else {
+            cloned.delete(elementValue);
+          }
+          assign(cloned);
+        } else {
+          assign(getCheckboxValue(el, checked));
+        }
+      });
+    },
+    // set initial checked on mount to wait for true-value/false-value
+    mounted: setChecked,
+    beforeUpdate(el, binding, vnode) {
+      el._assign = getModelAssigner(vnode);
+      setChecked(el, binding, vnode);
+    }
+  };
+  function setChecked(el, { value, oldValue }, vnode) {
+    el._modelValue = value;
+    if (isArray(value)) {
+      el.checked = looseIndexOf(value, vnode.props.value) > -1;
+    } else if (isSet(value)) {
+      el.checked = value.has(vnode.props.value);
+    } else if (value !== oldValue) {
+      el.checked = looseEqual(value, getCheckboxValue(el, true));
+    }
+  }
+  const vModelRadio = {
+    created(el, { value }, vnode) {
+      el.checked = looseEqual(value, vnode.props.value);
+      el._assign = getModelAssigner(vnode);
+      addEventListener(el, "change", () => {
+        el._assign(getValue(el));
+      });
+    },
+    beforeUpdate(el, { value, oldValue }, vnode) {
+      el._assign = getModelAssigner(vnode);
+      if (value !== oldValue) {
+        el.checked = looseEqual(value, vnode.props.value);
+      }
+    }
+  };
+  const vModelSelect = {
+    // <select multiple> value need to be deep traversed
+    deep: true,
+    created(el, { value, modifiers: { number } }, vnode) {
+      const isSetModel = isSet(value);
+      addEventListener(el, "change", () => {
+        const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
+          (o) => number ? looseToNumber(getValue(o)) : getValue(o)
+        );
+        el._assign(
+          el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
+        );
+      });
+      el._assign = getModelAssigner(vnode);
+    },
+    // set value in mounted & updated because <select> relies on its children
+    // <option>s.
+    mounted(el, { value }) {
+      setSelected(el, value);
+    },
+    beforeUpdate(el, _binding, vnode) {
+      el._assign = getModelAssigner(vnode);
+    },
+    updated(el, { value }) {
+      setSelected(el, value);
+    }
+  };
+  function setSelected(el, value) {
+    const isMultiple = el.multiple;
+    if (isMultiple && !isArray(value) && !isSet(value)) {
+      warn(
+        `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`
+      );
+      return;
+    }
+    for (let i = 0, l = el.options.length; i < l; i++) {
+      const option = el.options[i];
+      const optionValue = getValue(option);
+      if (isMultiple) {
+        if (isArray(value)) {
+          option.selected = looseIndexOf(value, optionValue) > -1;
+        } else {
+          option.selected = value.has(optionValue);
+        }
+      } else {
+        if (looseEqual(getValue(option), value)) {
+          if (el.selectedIndex !== i)
+            el.selectedIndex = i;
+          return;
+        }
+      }
+    }
+    if (!isMultiple && el.selectedIndex !== -1) {
+      el.selectedIndex = -1;
+    }
+  }
+  function getValue(el) {
+    return "_value" in el ? el._value : el.value;
+  }
+  function getCheckboxValue(el, checked) {
+    const key = checked ? "_trueValue" : "_falseValue";
+    return key in el ? el[key] : checked;
+  }
+  const vModelDynamic = {
+    created(el, binding, vnode) {
+      callModelHook(el, binding, vnode, null, "created");
+    },
+    mounted(el, binding, vnode) {
+      callModelHook(el, binding, vnode, null, "mounted");
+    },
+    beforeUpdate(el, binding, vnode, prevVNode) {
+      callModelHook(el, binding, vnode, prevVNode, "beforeUpdate");
+    },
+    updated(el, binding, vnode, prevVNode) {
+      callModelHook(el, binding, vnode, prevVNode, "updated");
+    }
+  };
+  function resolveDynamicModel(tagName, type) {
+    switch (tagName) {
+      case "SELECT":
+        return vModelSelect;
+      case "TEXTAREA":
+        return vModelText;
+      default:
+        switch (type) {
+          case "checkbox":
+            return vModelCheckbox;
+          case "radio":
+            return vModelRadio;
+          default:
+            return vModelText;
+        }
+    }
+  }
+  function callModelHook(el, binding, vnode, prevVNode, hook) {
+    const modelToUse = resolveDynamicModel(
+      el.tagName,
+      vnode.props && vnode.props.type
+    );
+    const fn = modelToUse[hook];
+    fn && fn(el, binding, vnode, prevVNode);
+  }
+
+  const systemModifiers = ["ctrl", "shift", "alt", "meta"];
+  const modifierGuards = {
+    stop: (e) => e.stopPropagation(),
+    prevent: (e) => e.preventDefault(),
+    self: (e) => e.target !== e.currentTarget,
+    ctrl: (e) => !e.ctrlKey,
+    shift: (e) => !e.shiftKey,
+    alt: (e) => !e.altKey,
+    meta: (e) => !e.metaKey,
+    left: (e) => "button" in e && e.button !== 0,
+    middle: (e) => "button" in e && e.button !== 1,
+    right: (e) => "button" in e && e.button !== 2,
+    exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
+  };
+  const withModifiers = (fn, modifiers) => {
+    return (event, ...args) => {
+      for (let i = 0; i < modifiers.length; i++) {
+        const guard = modifierGuards[modifiers[i]];
+        if (guard && guard(event, modifiers))
+          return;
+      }
+      return fn(event, ...args);
+    };
+  };
+  const keyNames = {
+    esc: "escape",
+    space: " ",
+    up: "arrow-up",
+    left: "arrow-left",
+    right: "arrow-right",
+    down: "arrow-down",
+    delete: "backspace"
+  };
+  const withKeys = (fn, modifiers) => {
+    return (event) => {
+      if (!("key" in event)) {
+        return;
+      }
+      const eventKey = hyphenate(event.key);
+      if (modifiers.some((k) => k === eventKey || keyNames[k] === eventKey)) {
+        return fn(event);
+      }
+    };
+  };
+
+  const vShow = {
+    beforeMount(el, { value }, { transition }) {
+      el._vod = el.style.display === "none" ? "" : el.style.display;
+      if (transition && value) {
+        transition.beforeEnter(el);
+      } else {
+        setDisplay(el, value);
+      }
+    },
+    mounted(el, { value }, { transition }) {
+      if (transition && value) {
+        transition.enter(el);
+      }
+    },
+    updated(el, { value, oldValue }, { transition }) {
+      if (!value === !oldValue)
+        return;
+      if (transition) {
+        if (value) {
+          transition.beforeEnter(el);
+          setDisplay(el, true);
+          transition.enter(el);
+        } else {
+          transition.leave(el, () => {
+            setDisplay(el, false);
+          });
+        }
+      } else {
+        setDisplay(el, value);
+      }
+    },
+    beforeUnmount(el, { value }) {
+      setDisplay(el, value);
+    }
+  };
+  function setDisplay(el, value) {
+    el.style.display = value ? el._vod : "none";
+  }
+
+  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
+  let renderer;
+  let enabledHydration = false;
+  function ensureRenderer() {
+    return renderer || (renderer = createRenderer(rendererOptions));
+  }
+  function ensureHydrationRenderer() {
+    renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);
+    enabledHydration = true;
+    return renderer;
+  }
+  const render = (...args) => {
+    ensureRenderer().render(...args);
+  };
+  const hydrate = (...args) => {
+    ensureHydrationRenderer().hydrate(...args);
+  };
+  const createApp = (...args) => {
+    const app = ensureRenderer().createApp(...args);
+    {
+      injectNativeTagCheck(app);
+      injectCompilerOptionsCheck(app);
+    }
+    const { mount } = app;
+    app.mount = (containerOrSelector) => {
+      const container = normalizeContainer(containerOrSelector);
+      if (!container)
+        return;
+      const component = app._component;
+      if (!isFunction(component) && !component.render && !component.template) {
+        component.template = container.innerHTML;
+      }
+      container.innerHTML = "";
+      const proxy = mount(container, false, container instanceof SVGElement);
+      if (container instanceof Element) {
+        container.removeAttribute("v-cloak");
+        container.setAttribute("data-v-app", "");
+      }
+      return proxy;
+    };
+    return app;
+  };
+  const createSSRApp = (...args) => {
+    const app = ensureHydrationRenderer().createApp(...args);
+    {
+      injectNativeTagCheck(app);
+      injectCompilerOptionsCheck(app);
+    }
+    const { mount } = app;
+    app.mount = (containerOrSelector) => {
+      const container = normalizeContainer(containerOrSelector);
+      if (container) {
+        return mount(container, true, container instanceof SVGElement);
+      }
+    };
+    return app;
+  };
+  function injectNativeTagCheck(app) {
+    Object.defineProperty(app.config, "isNativeTag", {
+      value: (tag) => isHTMLTag(tag) || isSVGTag(tag),
+      writable: false
+    });
+  }
+  function injectCompilerOptionsCheck(app) {
+    if (isRuntimeOnly()) {
+      const isCustomElement = app.config.isCustomElement;
+      Object.defineProperty(app.config, "isCustomElement", {
+        get() {
+          return isCustomElement;
+        },
+        set() {
+          warn(
+            `The \`isCustomElement\` config option is deprecated. Use \`compilerOptions.isCustomElement\` instead.`
+          );
+        }
+      });
+      const compilerOptions = app.config.compilerOptions;
+      const msg = `The \`compilerOptions\` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka "full build"). Since you are using the runtime-only build, \`compilerOptions\` must be passed to \`@vue/compiler-dom\` in the build setup instead.
+- For vue-loader: pass it via vue-loader's \`compilerOptions\` loader option.
+- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader
+- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc`;
+      Object.defineProperty(app.config, "compilerOptions", {
+        get() {
+          warn(msg);
+          return compilerOptions;
+        },
+        set() {
+          warn(msg);
+        }
+      });
+    }
+  }
+  function normalizeContainer(container) {
+    if (isString(container)) {
+      const res = document.querySelector(container);
+      if (!res) {
+        warn(
+          `Failed to mount app: mount target selector "${container}" returned null.`
+        );
+      }
+      return res;
+    }
+    if (window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === "closed") {
+      warn(
+        `mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`
+      );
+    }
+    return container;
+  }
+  const initDirectivesForSSR = NOOP;
+
+  function initDev() {
+    {
+      {
+        console.info(
+          `You are running a development build of Vue.
+Make sure to use the production build (*.prod.js) when deploying for production.`
+        );
+      }
+      initCustomFormatter();
+    }
+  }
+
+  function defaultOnError(error) {
+    throw error;
+  }
+  function defaultOnWarn(msg) {
+    console.warn(`[Vue warn] ${msg.message}`);
+  }
+  function createCompilerError(code, loc, messages, additionalMessage) {
+    const msg = (messages || errorMessages)[code] + (additionalMessage || ``) ;
+    const error = new SyntaxError(String(msg));
+    error.code = code;
+    error.loc = loc;
+    return error;
+  }
+  const errorMessages = {
+    // parse errors
+    [0]: "Illegal comment.",
+    [1]: "CDATA section is allowed only in XML context.",
+    [2]: "Duplicate attribute.",
+    [3]: "End tag cannot have attributes.",
+    [4]: "Illegal '/' in tags.",
+    [5]: "Unexpected EOF in tag.",
+    [6]: "Unexpected EOF in CDATA section.",
+    [7]: "Unexpected EOF in comment.",
+    [8]: "Unexpected EOF in script.",
+    [9]: "Unexpected EOF in tag.",
+    [10]: "Incorrectly closed comment.",
+    [11]: "Incorrectly opened comment.",
+    [12]: "Illegal tag name. Use '&lt;' to print '<'.",
+    [13]: "Attribute value was expected.",
+    [14]: "End tag name was expected.",
+    [15]: "Whitespace was expected.",
+    [16]: "Unexpected '<!--' in comment.",
+    [17]: `Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`,
+    [18]: "Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).",
+    [19]: "Attribute name cannot start with '='.",
+    [21]: "'<?' is allowed only in XML context.",
+    [20]: `Unexpected null character.`,
+    [22]: "Illegal '/' in tags.",
+    // Vue-specific parse errors
+    [23]: "Invalid end tag.",
+    [24]: "Element is missing end tag.",
+    [25]: "Interpolation end sign was not found.",
+    [27]: "End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.",
+    [26]: "Legal directive name was expected.",
+    // transform errors
+    [28]: `v-if/v-else-if is missing expression.`,
+    [29]: `v-if/else branches must use unique keys.`,
+    [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,
+    [31]: `v-for is missing expression.`,
+    [32]: `v-for has invalid expression.`,
+    [33]: `<template v-for> key should be placed on the <template> tag.`,
+    [34]: `v-bind is missing expression.`,
+    [35]: `v-on is missing expression.`,
+    [36]: `Unexpected custom directive on <slot> outlet.`,
+    [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
+    [38]: `Duplicate slot names found. `,
+    [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`,
+    [40]: `v-slot can only be used on components or <template> tags.`,
+    [41]: `v-model is missing expression.`,
+    [42]: `v-model value must be a valid JavaScript member expression.`,
+    [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
+    [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
+Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
+    [45]: `Error parsing JavaScript expression: `,
+    [46]: `<KeepAlive> expects exactly one child component.`,
+    // generic errors
+    [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
+    [48]: `ES module mode is not supported in this build of compiler.`,
+    [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
+    [50]: `"scopeId" option is only supported in module mode.`,
+    // deprecations
+    [51]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support will be removed in 3.4.`,
+    [52]: `v-is="component-name" has been deprecated. Use is="vue:component-name" instead. v-is support will be removed in 3.4.`,
+    // just to fulfill types
+    [53]: ``
+  };
+
+  const FRAGMENT = Symbol(`Fragment` );
+  const TELEPORT = Symbol(`Teleport` );
+  const SUSPENSE = Symbol(`Suspense` );
+  const KEEP_ALIVE = Symbol(`KeepAlive` );
+  const BASE_TRANSITION = Symbol(`BaseTransition` );
+  const OPEN_BLOCK = Symbol(`openBlock` );
+  const CREATE_BLOCK = Symbol(`createBlock` );
+  const CREATE_ELEMENT_BLOCK = Symbol(`createElementBlock` );
+  const CREATE_VNODE = Symbol(`createVNode` );
+  const CREATE_ELEMENT_VNODE = Symbol(`createElementVNode` );
+  const CREATE_COMMENT = Symbol(`createCommentVNode` );
+  const CREATE_TEXT = Symbol(`createTextVNode` );
+  const CREATE_STATIC = Symbol(`createStaticVNode` );
+  const RESOLVE_COMPONENT = Symbol(`resolveComponent` );
+  const RESOLVE_DYNAMIC_COMPONENT = Symbol(
+    `resolveDynamicComponent` 
+  );
+  const RESOLVE_DIRECTIVE = Symbol(`resolveDirective` );
+  const RESOLVE_FILTER = Symbol(`resolveFilter` );
+  const WITH_DIRECTIVES = Symbol(`withDirectives` );
+  const RENDER_LIST = Symbol(`renderList` );
+  const RENDER_SLOT = Symbol(`renderSlot` );
+  const CREATE_SLOTS = Symbol(`createSlots` );
+  const TO_DISPLAY_STRING = Symbol(`toDisplayString` );
+  const MERGE_PROPS = Symbol(`mergeProps` );
+  const NORMALIZE_CLASS = Symbol(`normalizeClass` );
+  const NORMALIZE_STYLE = Symbol(`normalizeStyle` );
+  const NORMALIZE_PROPS = Symbol(`normalizeProps` );
+  const GUARD_REACTIVE_PROPS = Symbol(`guardReactiveProps` );
+  const TO_HANDLERS = Symbol(`toHandlers` );
+  const CAMELIZE = Symbol(`camelize` );
+  const CAPITALIZE = Symbol(`capitalize` );
+  const TO_HANDLER_KEY = Symbol(`toHandlerKey` );
+  const SET_BLOCK_TRACKING = Symbol(`setBlockTracking` );
+  const PUSH_SCOPE_ID = Symbol(`pushScopeId` );
+  const POP_SCOPE_ID = Symbol(`popScopeId` );
+  const WITH_CTX = Symbol(`withCtx` );
+  const UNREF = Symbol(`unref` );
+  const IS_REF = Symbol(`isRef` );
+  const WITH_MEMO = Symbol(`withMemo` );
+  const IS_MEMO_SAME = Symbol(`isMemoSame` );
+  const helperNameMap = {
+    [FRAGMENT]: `Fragment`,
+    [TELEPORT]: `Teleport`,
+    [SUSPENSE]: `Suspense`,
+    [KEEP_ALIVE]: `KeepAlive`,
+    [BASE_TRANSITION]: `BaseTransition`,
+    [OPEN_BLOCK]: `openBlock`,
+    [CREATE_BLOCK]: `createBlock`,
+    [CREATE_ELEMENT_BLOCK]: `createElementBlock`,
+    [CREATE_VNODE]: `createVNode`,
+    [CREATE_ELEMENT_VNODE]: `createElementVNode`,
+    [CREATE_COMMENT]: `createCommentVNode`,
+    [CREATE_TEXT]: `createTextVNode`,
+    [CREATE_STATIC]: `createStaticVNode`,
+    [RESOLVE_COMPONENT]: `resolveComponent`,
+    [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,
+    [RESOLVE_DIRECTIVE]: `resolveDirective`,
+    [RESOLVE_FILTER]: `resolveFilter`,
+    [WITH_DIRECTIVES]: `withDirectives`,
+    [RENDER_LIST]: `renderList`,
+    [RENDER_SLOT]: `renderSlot`,
+    [CREATE_SLOTS]: `createSlots`,
+    [TO_DISPLAY_STRING]: `toDisplayString`,
+    [MERGE_PROPS]: `mergeProps`,
+    [NORMALIZE_CLASS]: `normalizeClass`,
+    [NORMALIZE_STYLE]: `normalizeStyle`,
+    [NORMALIZE_PROPS]: `normalizeProps`,
+    [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,
+    [TO_HANDLERS]: `toHandlers`,
+    [CAMELIZE]: `camelize`,
+    [CAPITALIZE]: `capitalize`,
+    [TO_HANDLER_KEY]: `toHandlerKey`,
+    [SET_BLOCK_TRACKING]: `setBlockTracking`,
+    [PUSH_SCOPE_ID]: `pushScopeId`,
+    [POP_SCOPE_ID]: `popScopeId`,
+    [WITH_CTX]: `withCtx`,
+    [UNREF]: `unref`,
+    [IS_REF]: `isRef`,
+    [WITH_MEMO]: `withMemo`,
+    [IS_MEMO_SAME]: `isMemoSame`
+  };
+  function registerRuntimeHelpers(helpers) {
+    Object.getOwnPropertySymbols(helpers).forEach((s) => {
+      helperNameMap[s] = helpers[s];
+    });
+  }
+
+  const locStub = {
+    source: "",
+    start: { line: 1, column: 1, offset: 0 },
+    end: { line: 1, column: 1, offset: 0 }
+  };
+  function createRoot(children, loc = locStub) {
+    return {
+      type: 0,
+      children,
+      helpers: /* @__PURE__ */ new Set(),
+      components: [],
+      directives: [],
+      hoists: [],
+      imports: [],
+      cached: 0,
+      temps: 0,
+      codegenNode: void 0,
+      loc
+    };
+  }
+  function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {
+    if (context) {
+      if (isBlock) {
+        context.helper(OPEN_BLOCK);
+        context.helper(getVNodeBlockHelper(context.inSSR, isComponent));
+      } else {
+        context.helper(getVNodeHelper(context.inSSR, isComponent));
+      }
+      if (directives) {
+        context.helper(WITH_DIRECTIVES);
+      }
+    }
+    return {
+      type: 13,
+      tag,
+      props,
+      children,
+      patchFlag,
+      dynamicProps,
+      directives,
+      isBlock,
+      disableTracking,
+      isComponent,
+      loc
+    };
+  }
+  function createArrayExpression(elements, loc = locStub) {
+    return {
+      type: 17,
+      loc,
+      elements
+    };
+  }
+  function createObjectExpression(properties, loc = locStub) {
+    return {
+      type: 15,
+      loc,
+      properties
+    };
+  }
+  function createObjectProperty(key, value) {
+    return {
+      type: 16,
+      loc: locStub,
+      key: isString(key) ? createSimpleExpression(key, true) : key,
+      value
+    };
+  }
+  function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {
+    return {
+      type: 4,
+      loc,
+      content,
+      isStatic,
+      constType: isStatic ? 3 : constType
+    };
+  }
+  function createCompoundExpression(children, loc = locStub) {
+    return {
+      type: 8,
+      loc,
+      children
+    };
+  }
+  function createCallExpression(callee, args = [], loc = locStub) {
+    return {
+      type: 14,
+      loc,
+      callee,
+      arguments: args
+    };
+  }
+  function createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {
+    return {
+      type: 18,
+      params,
+      returns,
+      newline,
+      isSlot,
+      loc
+    };
+  }
+  function createConditionalExpression(test, consequent, alternate, newline = true) {
+    return {
+      type: 19,
+      test,
+      consequent,
+      alternate,
+      newline,
+      loc: locStub
+    };
+  }
+  function createCacheExpression(index, value, isVNode = false) {
+    return {
+      type: 20,
+      index,
+      value,
+      isVNode,
+      loc: locStub
+    };
+  }
+  function createBlockStatement(body) {
+    return {
+      type: 21,
+      body,
+      loc: locStub
+    };
+  }
+  function getVNodeHelper(ssr, isComponent) {
+    return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;
+  }
+  function getVNodeBlockHelper(ssr, isComponent) {
+    return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;
+  }
+  function convertToBlock(node, { helper, removeHelper, inSSR }) {
+    if (!node.isBlock) {
+      node.isBlock = true;
+      removeHelper(getVNodeHelper(inSSR, node.isComponent));
+      helper(OPEN_BLOCK);
+      helper(getVNodeBlockHelper(inSSR, node.isComponent));
+    }
+  }
+
+  const isStaticExp = (p) => p.type === 4 && p.isStatic;
+  const isBuiltInType = (tag, expected) => tag === expected || tag === hyphenate(expected);
+  function isCoreComponent(tag) {
+    if (isBuiltInType(tag, "Teleport")) {
+      return TELEPORT;
+    } else if (isBuiltInType(tag, "Suspense")) {
+      return SUSPENSE;
+    } else if (isBuiltInType(tag, "KeepAlive")) {
+      return KEEP_ALIVE;
+    } else if (isBuiltInType(tag, "BaseTransition")) {
+      return BASE_TRANSITION;
+    }
+  }
+  const nonIdentifierRE = /^\d|[^\$\w]/;
+  const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
+  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
+  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
+  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
+  const isMemberExpressionBrowser = (path) => {
+    path = path.trim().replace(whitespaceRE, (s) => s.trim());
+    let state = 0 /* inMemberExp */;
+    let stateStack = [];
+    let currentOpenBracketCount = 0;
+    let currentOpenParensCount = 0;
+    let currentStringType = null;
+    for (let i = 0; i < path.length; i++) {
+      const char = path.charAt(i);
+      switch (state) {
+        case 0 /* inMemberExp */:
+          if (char === "[") {
+            stateStack.push(state);
+            state = 1 /* inBrackets */;
+            currentOpenBracketCount++;
+          } else if (char === "(") {
+            stateStack.push(state);
+            state = 2 /* inParens */;
+            currentOpenParensCount++;
+          } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {
+            return false;
+          }
+          break;
+        case 1 /* inBrackets */:
+          if (char === `'` || char === `"` || char === "`") {
+            stateStack.push(state);
+            state = 3 /* inString */;
+            currentStringType = char;
+          } else if (char === `[`) {
+            currentOpenBracketCount++;
+          } else if (char === `]`) {
+            if (!--currentOpenBracketCount) {
+              state = stateStack.pop();
+            }
+          }
+          break;
+        case 2 /* inParens */:
+          if (char === `'` || char === `"` || char === "`") {
+            stateStack.push(state);
+            state = 3 /* inString */;
+            currentStringType = char;
+          } else if (char === `(`) {
+            currentOpenParensCount++;
+          } else if (char === `)`) {
+            if (i === path.length - 1) {
+              return false;
+            }
+            if (!--currentOpenParensCount) {
+              state = stateStack.pop();
+            }
+          }
+          break;
+        case 3 /* inString */:
+          if (char === currentStringType) {
+            state = stateStack.pop();
+            currentStringType = null;
+          }
+          break;
+      }
+    }
+    return !currentOpenBracketCount && !currentOpenParensCount;
+  };
+  const isMemberExpression = isMemberExpressionBrowser ;
+  function getInnerRange(loc, offset, length) {
+    const source = loc.source.slice(offset, offset + length);
+    const newLoc = {
+      source,
+      start: advancePositionWithClone(loc.start, loc.source, offset),
+      end: loc.end
+    };
+    if (length != null) {
+      newLoc.end = advancePositionWithClone(
+        loc.start,
+        loc.source,
+        offset + length
+      );
+    }
+    return newLoc;
+  }
+  function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
+    return advancePositionWithMutation(
+      extend({}, pos),
+      source,
+      numberOfCharacters
+    );
+  }
+  function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {
+    let linesCount = 0;
+    let lastNewLinePos = -1;
+    for (let i = 0; i < numberOfCharacters; i++) {
+      if (source.charCodeAt(i) === 10) {
+        linesCount++;
+        lastNewLinePos = i;
+      }
+    }
+    pos.offset += numberOfCharacters;
+    pos.line += linesCount;
+    pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos;
+    return pos;
+  }
+  function assert(condition, msg) {
+    if (!condition) {
+      throw new Error(msg || `unexpected compiler condition`);
+    }
+  }
+  function findDir(node, name, allowEmpty = false) {
+    for (let i = 0; i < node.props.length; i++) {
+      const p = node.props[i];
+      if (p.type === 7 && (allowEmpty || p.exp) && (isString(name) ? p.name === name : name.test(p.name))) {
+        return p;
+      }
+    }
+  }
+  function findProp(node, name, dynamicOnly = false, allowEmpty = false) {
+    for (let i = 0; i < node.props.length; i++) {
+      const p = node.props[i];
+      if (p.type === 6) {
+        if (dynamicOnly)
+          continue;
+        if (p.name === name && (p.value || allowEmpty)) {
+          return p;
+        }
+      } else if (p.name === "bind" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) {
+        return p;
+      }
+    }
+  }
+  function isStaticArgOf(arg, name) {
+    return !!(arg && isStaticExp(arg) && arg.content === name);
+  }
+  function hasDynamicKeyVBind(node) {
+    return node.props.some(
+      (p) => p.type === 7 && p.name === "bind" && (!p.arg || // v-bind="obj"
+      p.arg.type !== 4 || // v-bind:[_ctx.foo]
+      !p.arg.isStatic)
+      // v-bind:[foo]
+    );
+  }
+  function isText$1(node) {
+    return node.type === 5 || node.type === 2;
+  }
+  function isVSlot(p) {
+    return p.type === 7 && p.name === "slot";
+  }
+  function isTemplateNode(node) {
+    return node.type === 1 && node.tagType === 3;
+  }
+  function isSlotOutlet(node) {
+    return node.type === 1 && node.tagType === 2;
+  }
+  const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
+  function getUnnormalizedProps(props, callPath = []) {
+    if (props && !isString(props) && props.type === 14) {
+      const callee = props.callee;
+      if (!isString(callee) && propsHelperSet.has(callee)) {
+        return getUnnormalizedProps(
+          props.arguments[0],
+          callPath.concat(props)
+        );
+      }
+    }
+    return [props, callPath];
+  }
+  function injectProp(node, prop, context) {
+    let propsWithInjection;
+    let props = node.type === 13 ? node.props : node.arguments[2];
+    let callPath = [];
+    let parentCall;
+    if (props && !isString(props) && props.type === 14) {
+      const ret = getUnnormalizedProps(props);
+      props = ret[0];
+      callPath = ret[1];
+      parentCall = callPath[callPath.length - 1];
+    }
+    if (props == null || isString(props)) {
+      propsWithInjection = createObjectExpression([prop]);
+    } else if (props.type === 14) {
+      const first = props.arguments[0];
+      if (!isString(first) && first.type === 15) {
+        if (!hasProp(prop, first)) {
+          first.properties.unshift(prop);
+        }
+      } else {
+        if (props.callee === TO_HANDLERS) {
+          propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [
+            createObjectExpression([prop]),
+            props
+          ]);
+        } else {
+          props.arguments.unshift(createObjectExpression([prop]));
+        }
+      }
+      !propsWithInjection && (propsWithInjection = props);
+    } else if (props.type === 15) {
+      if (!hasProp(prop, props)) {
+        props.properties.unshift(prop);
+      }
+      propsWithInjection = props;
+    } else {
+      propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [
+        createObjectExpression([prop]),
+        props
+      ]);
+      if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {
+        parentCall = callPath[callPath.length - 2];
+      }
+    }
+    if (node.type === 13) {
+      if (parentCall) {
+        parentCall.arguments[0] = propsWithInjection;
+      } else {
+        node.props = propsWithInjection;
+      }
+    } else {
+      if (parentCall) {
+        parentCall.arguments[0] = propsWithInjection;
+      } else {
+        node.arguments[2] = propsWithInjection;
+      }
+    }
+  }
+  function hasProp(prop, props) {
+    let result = false;
+    if (prop.key.type === 4) {
+      const propKeyName = prop.key.content;
+      result = props.properties.some(
+        (p) => p.key.type === 4 && p.key.content === propKeyName
+      );
+    }
+    return result;
+  }
+  function toValidAssetId(name, type) {
+    return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => {
+    return searchValue === "-" ? "_" : name.charCodeAt(replaceValue).toString();
+  })}`;
+  }
+  function getMemoedVNodeCall(node) {
+    if (node.type === 14 && node.callee === WITH_MEMO) {
+      return node.arguments[1].returns;
+    } else {
+      return node;
+    }
+  }
+
+  const decodeRE = /&(gt|lt|amp|apos|quot);/g;
+  const decodeMap = {
+    gt: ">",
+    lt: "<",
+    amp: "&",
+    apos: "'",
+    quot: '"'
+  };
+  const defaultParserOptions = {
+    delimiters: [`{{`, `}}`],
+    getNamespace: () => 0,
+    getTextMode: () => 0,
+    isVoidTag: NO,
+    isPreTag: NO,
+    isCustomElement: NO,
+    decodeEntities: (rawText) => rawText.replace(decodeRE, (_, p1) => decodeMap[p1]),
+    onError: defaultOnError,
+    onWarn: defaultOnWarn,
+    comments: true
+  };
+  function baseParse(content, options = {}) {
+    const context = createParserContext(content, options);
+    const start = getCursor(context);
+    return createRoot(
+      parseChildren(context, 0, []),
+      getSelection(context, start)
+    );
+  }
+  function createParserContext(content, rawOptions) {
+    const options = extend({}, defaultParserOptions);
+    let key;
+    for (key in rawOptions) {
+      options[key] = rawOptions[key] === void 0 ? defaultParserOptions[key] : rawOptions[key];
+    }
+    return {
+      options,
+      column: 1,
+      line: 1,
+      offset: 0,
+      originalSource: content,
+      source: content,
+      inPre: false,
+      inVPre: false,
+      onWarn: options.onWarn
+    };
+  }
+  function parseChildren(context, mode, ancestors) {
+    const parent = last(ancestors);
+    const ns = parent ? parent.ns : 0;
+    const nodes = [];
+    while (!isEnd(context, mode, ancestors)) {
+      const s = context.source;
+      let node = void 0;
+      if (mode === 0 || mode === 1) {
+        if (!context.inVPre && startsWith(s, context.options.delimiters[0])) {
+          node = parseInterpolation(context, mode);
+        } else if (mode === 0 && s[0] === "<") {
+          if (s.length === 1) {
+            emitError(context, 5, 1);
+          } else if (s[1] === "!") {
+            if (startsWith(s, "<!--")) {
+              node = parseComment(context);
+            } else if (startsWith(s, "<!DOCTYPE")) {
+              node = parseBogusComment(context);
+            } else if (startsWith(s, "<![CDATA[")) {
+              if (ns !== 0) {
+                node = parseCDATA(context, ancestors);
+              } else {
+                emitError(context, 1);
+                node = parseBogusComment(context);
+              }
+            } else {
+              emitError(context, 11);
+              node = parseBogusComment(context);
+            }
+          } else if (s[1] === "/") {
+            if (s.length === 2) {
+              emitError(context, 5, 2);
+            } else if (s[2] === ">") {
+              emitError(context, 14, 2);
+              advanceBy(context, 3);
+              continue;
+            } else if (/[a-z]/i.test(s[2])) {
+              emitError(context, 23);
+              parseTag(context, TagType.End, parent);
+              continue;
+            } else {
+              emitError(
+                context,
+                12,
+                2
+              );
+              node = parseBogusComment(context);
+            }
+          } else if (/[a-z]/i.test(s[1])) {
+            node = parseElement(context, ancestors);
+          } else if (s[1] === "?") {
+            emitError(
+              context,
+              21,
+              1
+            );
+            node = parseBogusComment(context);
+          } else {
+            emitError(context, 12, 1);
+          }
+        }
+      }
+      if (!node) {
+        node = parseText(context, mode);
+      }
+      if (isArray(node)) {
+        for (let i = 0; i < node.length; i++) {
+          pushNode(nodes, node[i]);
+        }
+      } else {
+        pushNode(nodes, node);
+      }
+    }
+    let removedWhitespace = false;
+    if (mode !== 2 && mode !== 1) {
+      const shouldCondense = context.options.whitespace !== "preserve";
+      for (let i = 0; i < nodes.length; i++) {
+        const node = nodes[i];
+        if (node.type === 2) {
+          if (!context.inPre) {
+            if (!/[^\t\r\n\f ]/.test(node.content)) {
+              const prev = nodes[i - 1];
+              const next = nodes[i + 1];
+              if (!prev || !next || shouldCondense && (prev.type === 3 && next.type === 3 || prev.type === 3 && next.type === 1 || prev.type === 1 && next.type === 3 || prev.type === 1 && next.type === 1 && /[\r\n]/.test(node.content))) {
+                removedWhitespace = true;
+                nodes[i] = null;
+              } else {
+                node.content = " ";
+              }
+            } else if (shouldCondense) {
+              node.content = node.content.replace(/[\t\r\n\f ]+/g, " ");
+            }
+          } else {
+            node.content = node.content.replace(/\r\n/g, "\n");
+          }
+        } else if (node.type === 3 && !context.options.comments) {
+          removedWhitespace = true;
+          nodes[i] = null;
+        }
+      }
+      if (context.inPre && parent && context.options.isPreTag(parent.tag)) {
+        const first = nodes[0];
+        if (first && first.type === 2) {
+          first.content = first.content.replace(/^\r?\n/, "");
+        }
+      }
+    }
+    return removedWhitespace ? nodes.filter(Boolean) : nodes;
+  }
+  function pushNode(nodes, node) {
+    if (node.type === 2) {
+      const prev = last(nodes);
+      if (prev && prev.type === 2 && prev.loc.end.offset === node.loc.start.offset) {
+        prev.content += node.content;
+        prev.loc.end = node.loc.end;
+        prev.loc.source += node.loc.source;
+        return;
+      }
+    }
+    nodes.push(node);
+  }
+  function parseCDATA(context, ancestors) {
+    advanceBy(context, 9);
+    const nodes = parseChildren(context, 3, ancestors);
+    if (context.source.length === 0) {
+      emitError(context, 6);
+    } else {
+      advanceBy(context, 3);
+    }
+    return nodes;
+  }
+  function parseComment(context) {
+    const start = getCursor(context);
+    let content;
+    const match = /--(\!)?>/.exec(context.source);
+    if (!match) {
+      content = context.source.slice(4);
+      advanceBy(context, context.source.length);
+      emitError(context, 7);
+    } else {
+      if (match.index <= 3) {
+        emitError(context, 0);
+      }
+      if (match[1]) {
+        emitError(context, 10);
+      }
+      content = context.source.slice(4, match.index);
+      const s = context.source.slice(0, match.index);
+      let prevIndex = 1, nestedIndex = 0;
+      while ((nestedIndex = s.indexOf("<!--", prevIndex)) !== -1) {
+        advanceBy(context, nestedIndex - prevIndex + 1);
+        if (nestedIndex + 4 < s.length) {
+          emitError(context, 16);
+        }
+        prevIndex = nestedIndex + 1;
+      }
+      advanceBy(context, match.index + match[0].length - prevIndex + 1);
+    }
+    return {
+      type: 3,
+      content,
+      loc: getSelection(context, start)
+    };
+  }
+  function parseBogusComment(context) {
+    const start = getCursor(context);
+    const contentStart = context.source[1] === "?" ? 1 : 2;
+    let content;
+    const closeIndex = context.source.indexOf(">");
+    if (closeIndex === -1) {
+      content = context.source.slice(contentStart);
+      advanceBy(context, context.source.length);
+    } else {
+      content = context.source.slice(contentStart, closeIndex);
+      advanceBy(context, closeIndex + 1);
+    }
+    return {
+      type: 3,
+      content,
+      loc: getSelection(context, start)
+    };
+  }
+  function parseElement(context, ancestors) {
+    const wasInPre = context.inPre;
+    const wasInVPre = context.inVPre;
+    const parent = last(ancestors);
+    const element = parseTag(context, TagType.Start, parent);
+    const isPreBoundary = context.inPre && !wasInPre;
+    const isVPreBoundary = context.inVPre && !wasInVPre;
+    if (element.isSelfClosing || context.options.isVoidTag(element.tag)) {
+      if (isPreBoundary) {
+        context.inPre = false;
+      }
+      if (isVPreBoundary) {
+        context.inVPre = false;
+      }
+      return element;
+    }
+    ancestors.push(element);
+    const mode = context.options.getTextMode(element, parent);
+    const children = parseChildren(context, mode, ancestors);
+    ancestors.pop();
+    element.children = children;
+    if (startsWithEndTagOpen(context.source, element.tag)) {
+      parseTag(context, TagType.End, parent);
+    } else {
+      emitError(context, 24, 0, element.loc.start);
+      if (context.source.length === 0 && element.tag.toLowerCase() === "script") {
+        const first = children[0];
+        if (first && startsWith(first.loc.source, "<!--")) {
+          emitError(context, 8);
+        }
+      }
+    }
+    element.loc = getSelection(context, element.loc.start);
+    if (isPreBoundary) {
+      context.inPre = false;
+    }
+    if (isVPreBoundary) {
+      context.inVPre = false;
+    }
+    return element;
+  }
+  var TagType = /* @__PURE__ */ ((TagType2) => {
+    TagType2[TagType2["Start"] = 0] = "Start";
+    TagType2[TagType2["End"] = 1] = "End";
+    return TagType2;
+  })(TagType || {});
+  const isSpecialTemplateDirective = /* @__PURE__ */ makeMap(
+    `if,else,else-if,for,slot`
+  );
+  function parseTag(context, type, parent) {
+    const start = getCursor(context);
+    const match = /^<\/?([a-z][^\t\r\n\f />]*)/i.exec(context.source);
+    const tag = match[1];
+    const ns = context.options.getNamespace(tag, parent);
+    advanceBy(context, match[0].length);
+    advanceSpaces(context);
+    const cursor = getCursor(context);
+    const currentSource = context.source;
+    if (context.options.isPreTag(tag)) {
+      context.inPre = true;
+    }
+    let props = parseAttributes(context, type);
+    if (type === 0 /* Start */ && !context.inVPre && props.some((p) => p.type === 7 && p.name === "pre")) {
+      context.inVPre = true;
+      extend(context, cursor);
+      context.source = currentSource;
+      props = parseAttributes(context, type).filter((p) => p.name !== "v-pre");
+    }
+    let isSelfClosing = false;
+    if (context.source.length === 0) {
+      emitError(context, 9);
+    } else {
+      isSelfClosing = startsWith(context.source, "/>");
+      if (type === 1 /* End */ && isSelfClosing) {
+        emitError(context, 4);
+      }
+      advanceBy(context, isSelfClosing ? 2 : 1);
+    }
+    if (type === 1 /* End */) {
+      return;
+    }
+    let tagType = 0;
+    if (!context.inVPre) {
+      if (tag === "slot") {
+        tagType = 2;
+      } else if (tag === "template") {
+        if (props.some(
+          (p) => p.type === 7 && isSpecialTemplateDirective(p.name)
+        )) {
+          tagType = 3;
+        }
+      } else if (isComponent(tag, props, context)) {
+        tagType = 1;
+      }
+    }
+    return {
+      type: 1,
+      ns,
+      tag,
+      tagType,
+      props,
+      isSelfClosing,
+      children: [],
+      loc: getSelection(context, start),
+      codegenNode: void 0
+      // to be created during transform phase
+    };
+  }
+  function isComponent(tag, props, context) {
+    const options = context.options;
+    if (options.isCustomElement(tag)) {
+      return false;
+    }
+    if (tag === "component" || /^[A-Z]/.test(tag) || isCoreComponent(tag) || options.isBuiltInComponent && options.isBuiltInComponent(tag) || options.isNativeTag && !options.isNativeTag(tag)) {
+      return true;
+    }
+    for (let i = 0; i < props.length; i++) {
+      const p = props[i];
+      if (p.type === 6) {
+        if (p.name === "is" && p.value) {
+          if (p.value.content.startsWith("vue:")) {
+            return true;
+          }
+        }
+      } else {
+        if (p.name === "is") {
+          return true;
+        } else if (
+          // :is on plain element - only treat as component in compat mode
+          p.name === "bind" && isStaticArgOf(p.arg, "is") && false
+        ) {
+          return true;
+        }
+      }
+    }
+  }
+  function parseAttributes(context, type) {
+    const props = [];
+    const attributeNames = /* @__PURE__ */ new Set();
+    while (context.source.length > 0 && !startsWith(context.source, ">") && !startsWith(context.source, "/>")) {
+      if (startsWith(context.source, "/")) {
+        emitError(context, 22);
+        advanceBy(context, 1);
+        advanceSpaces(context);
+        continue;
+      }
+      if (type === 1 /* End */) {
+        emitError(context, 3);
+      }
+      const attr = parseAttribute(context, attributeNames);
+      if (attr.type === 6 && attr.value && attr.name === "class") {
+        attr.value.content = attr.value.content.replace(/\s+/g, " ").trim();
+      }
+      if (type === 0 /* Start */) {
+        props.push(attr);
+      }
+      if (/^[^\t\r\n\f />]/.test(context.source)) {
+        emitError(context, 15);
+      }
+      advanceSpaces(context);
+    }
+    return props;
+  }
+  function parseAttribute(context, nameSet) {
+    var _a;
+    const start = getCursor(context);
+    const match = /^[^\t\r\n\f />][^\t\r\n\f />=]*/.exec(context.source);
+    const name = match[0];
+    if (nameSet.has(name)) {
+      emitError(context, 2);
+    }
+    nameSet.add(name);
+    if (name[0] === "=") {
+      emitError(context, 19);
+    }
+    {
+      const pattern = /["'<]/g;
+      let m;
+      while (m = pattern.exec(name)) {
+        emitError(
+          context,
+          17,
+          m.index
+        );
+      }
+    }
+    advanceBy(context, name.length);
+    let value = void 0;
+    if (/^[\t\r\n\f ]*=/.test(context.source)) {
+      advanceSpaces(context);
+      advanceBy(context, 1);
+      advanceSpaces(context);
+      value = parseAttributeValue(context);
+      if (!value) {
+        emitError(context, 13);
+      }
+    }
+    const loc = getSelection(context, start);
+    if (!context.inVPre && /^(v-[A-Za-z0-9-]|:|\.|@|#)/.test(name)) {
+      const match2 = /(?:^v-([a-z0-9-]+))?(?:(?::|^\.|^@|^#)(\[[^\]]+\]|[^\.]+))?(.+)?$/i.exec(
+        name
+      );
+      let isPropShorthand = startsWith(name, ".");
+      let dirName = match2[1] || (isPropShorthand || startsWith(name, ":") ? "bind" : startsWith(name, "@") ? "on" : "slot");
+      let arg;
+      if (match2[2]) {
+        const isSlot = dirName === "slot";
+        const startOffset = name.lastIndexOf(
+          match2[2],
+          name.length - (((_a = match2[3]) == null ? void 0 : _a.length) || 0)
+        );
+        const loc2 = getSelection(
+          context,
+          getNewPosition(context, start, startOffset),
+          getNewPosition(
+            context,
+            start,
+            startOffset + match2[2].length + (isSlot && match2[3] || "").length
+          )
+        );
+        let content = match2[2];
+        let isStatic = true;
+        if (content.startsWith("[")) {
+          isStatic = false;
+          if (!content.endsWith("]")) {
+            emitError(
+              context,
+              27
+            );
+            content = content.slice(1);
+          } else {
+            content = content.slice(1, content.length - 1);
+          }
+        } else if (isSlot) {
+          content += match2[3] || "";
+        }
+        arg = {
+          type: 4,
+          content,
+          isStatic,
+          constType: isStatic ? 3 : 0,
+          loc: loc2
+        };
+      }
+      if (value && value.isQuoted) {
+        const valueLoc = value.loc;
+        valueLoc.start.offset++;
+        valueLoc.start.column++;
+        valueLoc.end = advancePositionWithClone(valueLoc.start, value.content);
+        valueLoc.source = valueLoc.source.slice(1, -1);
+      }
+      const modifiers = match2[3] ? match2[3].slice(1).split(".") : [];
+      if (isPropShorthand)
+        modifiers.push("prop");
+      return {
+        type: 7,
+        name: dirName,
+        exp: value && {
+          type: 4,
+          content: value.content,
+          isStatic: false,
+          // Treat as non-constant by default. This can be potentially set to
+          // other values by `transformExpression` to make it eligible for hoisting.
+          constType: 0,
+          loc: value.loc
+        },
+        arg,
+        modifiers,
+        loc
+      };
+    }
+    if (!context.inVPre && startsWith(name, "v-")) {
+      emitError(context, 26);
+    }
+    return {
+      type: 6,
+      name,
+      value: value && {
+        type: 2,
+        content: value.content,
+        loc: value.loc
+      },
+      loc
+    };
+  }
+  function parseAttributeValue(context) {
+    const start = getCursor(context);
+    let content;
+    const quote = context.source[0];
+    const isQuoted = quote === `"` || quote === `'`;
+    if (isQuoted) {
+      advanceBy(context, 1);
+      const endIndex = context.source.indexOf(quote);
+      if (endIndex === -1) {
+        content = parseTextData(
+          context,
+          context.source.length,
+          4
+        );
+      } else {
+        content = parseTextData(context, endIndex, 4);
+        advanceBy(context, 1);
+      }
+    } else {
+      const match = /^[^\t\r\n\f >]+/.exec(context.source);
+      if (!match) {
+        return void 0;
+      }
+      const unexpectedChars = /["'<=`]/g;
+      let m;
+      while (m = unexpectedChars.exec(match[0])) {
+        emitError(
+          context,
+          18,
+          m.index
+        );
+      }
+      content = parseTextData(context, match[0].length, 4);
+    }
+    return { content, isQuoted, loc: getSelection(context, start) };
+  }
+  function parseInterpolation(context, mode) {
+    const [open, close] = context.options.delimiters;
+    const closeIndex = context.source.indexOf(close, open.length);
+    if (closeIndex === -1) {
+      emitError(context, 25);
+      return void 0;
+    }
+    const start = getCursor(context);
+    advanceBy(context, open.length);
+    const innerStart = getCursor(context);
+    const innerEnd = getCursor(context);
+    const rawContentLength = closeIndex - open.length;
+    const rawContent = context.source.slice(0, rawContentLength);
+    const preTrimContent = parseTextData(context, rawContentLength, mode);
+    const content = preTrimContent.trim();
+    const startOffset = preTrimContent.indexOf(content);
+    if (startOffset > 0) {
+      advancePositionWithMutation(innerStart, rawContent, startOffset);
+    }
+    const endOffset = rawContentLength - (preTrimContent.length - content.length - startOffset);
+    advancePositionWithMutation(innerEnd, rawContent, endOffset);
+    advanceBy(context, close.length);
+    return {
+      type: 5,
+      content: {
+        type: 4,
+        isStatic: false,
+        // Set `isConstant` to false by default and will decide in transformExpression
+        constType: 0,
+        content,
+        loc: getSelection(context, innerStart, innerEnd)
+      },
+      loc: getSelection(context, start)
+    };
+  }
+  function parseText(context, mode) {
+    const endTokens = mode === 3 ? ["]]>"] : ["<", context.options.delimiters[0]];
+    let endIndex = context.source.length;
+    for (let i = 0; i < endTokens.length; i++) {
+      const index = context.source.indexOf(endTokens[i], 1);
+      if (index !== -1 && endIndex > index) {
+        endIndex = index;
+      }
+    }
+    const start = getCursor(context);
+    const content = parseTextData(context, endIndex, mode);
+    return {
+      type: 2,
+      content,
+      loc: getSelection(context, start)
+    };
+  }
+  function parseTextData(context, length, mode) {
+    const rawText = context.source.slice(0, length);
+    advanceBy(context, length);
+    if (mode === 2 || mode === 3 || !rawText.includes("&")) {
+      return rawText;
+    } else {
+      return context.options.decodeEntities(
+        rawText,
+        mode === 4
+      );
+    }
+  }
+  function getCursor(context) {
+    const { column, line, offset } = context;
+    return { column, line, offset };
+  }
+  function getSelection(context, start, end) {
+    end = end || getCursor(context);
+    return {
+      start,
+      end,
+      source: context.originalSource.slice(start.offset, end.offset)
+    };
+  }
+  function last(xs) {
+    return xs[xs.length - 1];
+  }
+  function startsWith(source, searchString) {
+    return source.startsWith(searchString);
+  }
+  function advanceBy(context, numberOfCharacters) {
+    const { source } = context;
+    advancePositionWithMutation(context, source, numberOfCharacters);
+    context.source = source.slice(numberOfCharacters);
+  }
+  function advanceSpaces(context) {
+    const match = /^[\t\r\n\f ]+/.exec(context.source);
+    if (match) {
+      advanceBy(context, match[0].length);
+    }
+  }
+  function getNewPosition(context, start, numberOfCharacters) {
+    return advancePositionWithClone(
+      start,
+      context.originalSource.slice(start.offset, numberOfCharacters),
+      numberOfCharacters
+    );
+  }
+  function emitError(context, code, offset, loc = getCursor(context)) {
+    if (offset) {
+      loc.offset += offset;
+      loc.column += offset;
+    }
+    context.options.onError(
+      createCompilerError(code, {
+        start: loc,
+        end: loc,
+        source: ""
+      })
+    );
+  }
+  function isEnd(context, mode, ancestors) {
+    const s = context.source;
+    switch (mode) {
+      case 0:
+        if (startsWith(s, "</")) {
+          for (let i = ancestors.length - 1; i >= 0; --i) {
+            if (startsWithEndTagOpen(s, ancestors[i].tag)) {
+              return true;
+            }
+          }
+        }
+        break;
+      case 1:
+      case 2: {
+        const parent = last(ancestors);
+        if (parent && startsWithEndTagOpen(s, parent.tag)) {
+          return true;
+        }
+        break;
+      }
+      case 3:
+        if (startsWith(s, "]]>")) {
+          return true;
+        }
+        break;
+    }
+    return !s;
+  }
+  function startsWithEndTagOpen(source, tag) {
+    return startsWith(source, "</") && source.slice(2, 2 + tag.length).toLowerCase() === tag.toLowerCase() && /[\t\r\n\f />]/.test(source[2 + tag.length] || ">");
+  }
+
+  function hoistStatic(root, context) {
+    walk(
+      root,
+      context,
+      // Root node is unfortunately non-hoistable due to potential parent
+      // fallthrough attributes.
+      isSingleElementRoot(root, root.children[0])
+    );
+  }
+  function isSingleElementRoot(root, child) {
+    const { children } = root;
+    return children.length === 1 && child.type === 1 && !isSlotOutlet(child);
+  }
+  function walk(node, context, doNotHoistNode = false) {
+    const { children } = node;
+    const originalCount = children.length;
+    let hoistedCount = 0;
+    for (let i = 0; i < children.length; i++) {
+      const child = children[i];
+      if (child.type === 1 && child.tagType === 0) {
+        const constantType = doNotHoistNode ? 0 : getConstantType(child, context);
+        if (constantType > 0) {
+          if (constantType >= 2) {
+            child.codegenNode.patchFlag = -1 + (` /* HOISTED */` );
+            child.codegenNode = context.hoist(child.codegenNode);
+            hoistedCount++;
+            continue;
+          }
+        } else {
+          const codegenNode = child.codegenNode;
+          if (codegenNode.type === 13) {
+            const flag = getPatchFlag(codegenNode);
+            if ((!flag || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {
+              const props = getNodeProps(child);
+              if (props) {
+                codegenNode.props = context.hoist(props);
+              }
+            }
+            if (codegenNode.dynamicProps) {
+              codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);
+            }
+          }
+        }
+      }
+      if (child.type === 1) {
+        const isComponent = child.tagType === 1;
+        if (isComponent) {
+          context.scopes.vSlot++;
+        }
+        walk(child, context);
+        if (isComponent) {
+          context.scopes.vSlot--;
+        }
+      } else if (child.type === 11) {
+        walk(child, context, child.children.length === 1);
+      } else if (child.type === 9) {
+        for (let i2 = 0; i2 < child.branches.length; i2++) {
+          walk(
+            child.branches[i2],
+            context,
+            child.branches[i2].children.length === 1
+          );
+        }
+      }
+    }
+    if (hoistedCount && context.transformHoist) {
+      context.transformHoist(children, context, node);
+    }
+    if (hoistedCount && hoistedCount === originalCount && node.type === 1 && node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {
+      node.codegenNode.children = context.hoist(
+        createArrayExpression(node.codegenNode.children)
+      );
+    }
+  }
+  function getConstantType(node, context) {
+    const { constantCache } = context;
+    switch (node.type) {
+      case 1:
+        if (node.tagType !== 0) {
+          return 0;
+        }
+        const cached = constantCache.get(node);
+        if (cached !== void 0) {
+          return cached;
+        }
+        const codegenNode = node.codegenNode;
+        if (codegenNode.type !== 13) {
+          return 0;
+        }
+        if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject") {
+          return 0;
+        }
+        const flag = getPatchFlag(codegenNode);
+        if (!flag) {
+          let returnType2 = 3;
+          const generatedPropsType = getGeneratedPropsConstantType(node, context);
+          if (generatedPropsType === 0) {
+            constantCache.set(node, 0);
+            return 0;
+          }
+          if (generatedPropsType < returnType2) {
+            returnType2 = generatedPropsType;
+          }
+          for (let i = 0; i < node.children.length; i++) {
+            const childType = getConstantType(node.children[i], context);
+            if (childType === 0) {
+              constantCache.set(node, 0);
+              return 0;
+            }
+            if (childType < returnType2) {
+              returnType2 = childType;
+            }
+          }
+          if (returnType2 > 1) {
+            for (let i = 0; i < node.props.length; i++) {
+              const p = node.props[i];
+              if (p.type === 7 && p.name === "bind" && p.exp) {
+                const expType = getConstantType(p.exp, context);
+                if (expType === 0) {
+                  constantCache.set(node, 0);
+                  return 0;
+                }
+                if (expType < returnType2) {
+                  returnType2 = expType;
+                }
+              }
+            }
+          }
+          if (codegenNode.isBlock) {
+            for (let i = 0; i < node.props.length; i++) {
+              const p = node.props[i];
+              if (p.type === 7) {
+                constantCache.set(node, 0);
+                return 0;
+              }
+            }
+            context.removeHelper(OPEN_BLOCK);
+            context.removeHelper(
+              getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)
+            );
+            codegenNode.isBlock = false;
+            context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));
+          }
+          constantCache.set(node, returnType2);
+          return returnType2;
+        } else {
+          constantCache.set(node, 0);
+          return 0;
+        }
+      case 2:
+      case 3:
+        return 3;
+      case 9:
+      case 11:
+      case 10:
+        return 0;
+      case 5:
+      case 12:
+        return getConstantType(node.content, context);
+      case 4:
+        return node.constType;
+      case 8:
+        let returnType = 3;
+        for (let i = 0; i < node.children.length; i++) {
+          const child = node.children[i];
+          if (isString(child) || isSymbol(child)) {
+            continue;
+          }
+          const childType = getConstantType(child, context);
+          if (childType === 0) {
+            return 0;
+          } else if (childType < returnType) {
+            returnType = childType;
+          }
+        }
+        return returnType;
+      default:
+        return 0;
+    }
+  }
+  const allowHoistedHelperSet = /* @__PURE__ */ new Set([
+    NORMALIZE_CLASS,
+    NORMALIZE_STYLE,
+    NORMALIZE_PROPS,
+    GUARD_REACTIVE_PROPS
+  ]);
+  function getConstantTypeOfHelperCall(value, context) {
+    if (value.type === 14 && !isString(value.callee) && allowHoistedHelperSet.has(value.callee)) {
+      const arg = value.arguments[0];
+      if (arg.type === 4) {
+        return getConstantType(arg, context);
+      } else if (arg.type === 14) {
+        return getConstantTypeOfHelperCall(arg, context);
+      }
+    }
+    return 0;
+  }
+  function getGeneratedPropsConstantType(node, context) {
+    let returnType = 3;
+    const props = getNodeProps(node);
+    if (props && props.type === 15) {
+      const { properties } = props;
+      for (let i = 0; i < properties.length; i++) {
+        const { key, value } = properties[i];
+        const keyType = getConstantType(key, context);
+        if (keyType === 0) {
+          return keyType;
+        }
+        if (keyType < returnType) {
+          returnType = keyType;
+        }
+        let valueType;
+        if (value.type === 4) {
+          valueType = getConstantType(value, context);
+        } else if (value.type === 14) {
+          valueType = getConstantTypeOfHelperCall(value, context);
+        } else {
+          valueType = 0;
+        }
+        if (valueType === 0) {
+          return valueType;
+        }
+        if (valueType < returnType) {
+          returnType = valueType;
+        }
+      }
+    }
+    return returnType;
+  }
+  function getNodeProps(node) {
+    const codegenNode = node.codegenNode;
+    if (codegenNode.type === 13) {
+      return codegenNode.props;
+    }
+  }
+  function getPatchFlag(node) {
+    const flag = node.patchFlag;
+    return flag ? parseInt(flag, 10) : void 0;
+  }
+
+  function createTransformContext(root, {
+    filename = "",
+    prefixIdentifiers = false,
+    hoistStatic: hoistStatic2 = false,
+    cacheHandlers = false,
+    nodeTransforms = [],
+    directiveTransforms = {},
+    transformHoist = null,
+    isBuiltInComponent = NOOP,
+    isCustomElement = NOOP,
+    expressionPlugins = [],
+    scopeId = null,
+    slotted = true,
+    ssr = false,
+    inSSR = false,
+    ssrCssVars = ``,
+    bindingMetadata = EMPTY_OBJ,
+    inline = false,
+    isTS = false,
+    onError = defaultOnError,
+    onWarn = defaultOnWarn,
+    compatConfig
+  }) {
+    const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/);
+    const context = {
+      // options
+      selfName: nameMatch && capitalize(camelize(nameMatch[1])),
+      prefixIdentifiers,
+      hoistStatic: hoistStatic2,
+      cacheHandlers,
+      nodeTransforms,
+      directiveTransforms,
+      transformHoist,
+      isBuiltInComponent,
+      isCustomElement,
+      expressionPlugins,
+      scopeId,
+      slotted,
+      ssr,
+      inSSR,
+      ssrCssVars,
+      bindingMetadata,
+      inline,
+      isTS,
+      onError,
+      onWarn,
+      compatConfig,
+      // state
+      root,
+      helpers: /* @__PURE__ */ new Map(),
+      components: /* @__PURE__ */ new Set(),
+      directives: /* @__PURE__ */ new Set(),
+      hoists: [],
+      imports: [],
+      constantCache: /* @__PURE__ */ new Map(),
+      temps: 0,
+      cached: 0,
+      identifiers: /* @__PURE__ */ Object.create(null),
+      scopes: {
+        vFor: 0,
+        vSlot: 0,
+        vPre: 0,
+        vOnce: 0
+      },
+      parent: null,
+      currentNode: root,
+      childIndex: 0,
+      inVOnce: false,
+      // methods
+      helper(name) {
+        const count = context.helpers.get(name) || 0;
+        context.helpers.set(name, count + 1);
+        return name;
+      },
+      removeHelper(name) {
+        const count = context.helpers.get(name);
+        if (count) {
+          const currentCount = count - 1;
+          if (!currentCount) {
+            context.helpers.delete(name);
+          } else {
+            context.helpers.set(name, currentCount);
+          }
+        }
+      },
+      helperString(name) {
+        return `_${helperNameMap[context.helper(name)]}`;
+      },
+      replaceNode(node) {
+        {
+          if (!context.currentNode) {
+            throw new Error(`Node being replaced is already removed.`);
+          }
+          if (!context.parent) {
+            throw new Error(`Cannot replace root node.`);
+          }
+        }
+        context.parent.children[context.childIndex] = context.currentNode = node;
+      },
+      removeNode(node) {
+        if (!context.parent) {
+          throw new Error(`Cannot remove root node.`);
+        }
+        const list = context.parent.children;
+        const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;
+        if (removalIndex < 0) {
+          throw new Error(`node being removed is not a child of current parent`);
+        }
+        if (!node || node === context.currentNode) {
+          context.currentNode = null;
+          context.onNodeRemoved();
+        } else {
+          if (context.childIndex > removalIndex) {
+            context.childIndex--;
+            context.onNodeRemoved();
+          }
+        }
+        context.parent.children.splice(removalIndex, 1);
+      },
+      onNodeRemoved: () => {
+      },
+      addIdentifiers(exp) {
+      },
+      removeIdentifiers(exp) {
+      },
+      hoist(exp) {
+        if (isString(exp))
+          exp = createSimpleExpression(exp);
+        context.hoists.push(exp);
+        const identifier = createSimpleExpression(
+          `_hoisted_${context.hoists.length}`,
+          false,
+          exp.loc,
+          2
+        );
+        identifier.hoisted = exp;
+        return identifier;
+      },
+      cache(exp, isVNode = false) {
+        return createCacheExpression(context.cached++, exp, isVNode);
+      }
+    };
+    return context;
+  }
+  function transform(root, options) {
+    const context = createTransformContext(root, options);
+    traverseNode(root, context);
+    if (options.hoistStatic) {
+      hoistStatic(root, context);
+    }
+    if (!options.ssr) {
+      createRootCodegen(root, context);
+    }
+    root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
+    root.components = [...context.components];
+    root.directives = [...context.directives];
+    root.imports = context.imports;
+    root.hoists = context.hoists;
+    root.temps = context.temps;
+    root.cached = context.cached;
+  }
+  function createRootCodegen(root, context) {
+    const { helper } = context;
+    const { children } = root;
+    if (children.length === 1) {
+      const child = children[0];
+      if (isSingleElementRoot(root, child) && child.codegenNode) {
+        const codegenNode = child.codegenNode;
+        if (codegenNode.type === 13) {
+          convertToBlock(codegenNode, context);
+        }
+        root.codegenNode = codegenNode;
+      } else {
+        root.codegenNode = child;
+      }
+    } else if (children.length > 1) {
+      let patchFlag = 64;
+      let patchFlagText = PatchFlagNames[64];
+      if (children.filter((c) => c.type !== 3).length === 1) {
+        patchFlag |= 2048;
+        patchFlagText += `, ${PatchFlagNames[2048]}`;
+      }
+      root.codegenNode = createVNodeCall(
+        context,
+        helper(FRAGMENT),
+        void 0,
+        root.children,
+        patchFlag + (` /* ${patchFlagText} */` ),
+        void 0,
+        void 0,
+        true,
+        void 0,
+        false
+        /* isComponent */
+      );
+    } else ;
+  }
+  function traverseChildren(parent, context) {
+    let i = 0;
+    const nodeRemoved = () => {
+      i--;
+    };
+    for (; i < parent.children.length; i++) {
+      const child = parent.children[i];
+      if (isString(child))
+        continue;
+      context.parent = parent;
+      context.childIndex = i;
+      context.onNodeRemoved = nodeRemoved;
+      traverseNode(child, context);
+    }
+  }
+  function traverseNode(node, context) {
+    context.currentNode = node;
+    const { nodeTransforms } = context;
+    const exitFns = [];
+    for (let i2 = 0; i2 < nodeTransforms.length; i2++) {
+      const onExit = nodeTransforms[i2](node, context);
+      if (onExit) {
+        if (isArray(onExit)) {
+          exitFns.push(...onExit);
+        } else {
+          exitFns.push(onExit);
+        }
+      }
+      if (!context.currentNode) {
+        return;
+      } else {
+        node = context.currentNode;
+      }
+    }
+    switch (node.type) {
+      case 3:
+        if (!context.ssr) {
+          context.helper(CREATE_COMMENT);
+        }
+        break;
+      case 5:
+        if (!context.ssr) {
+          context.helper(TO_DISPLAY_STRING);
+        }
+        break;
+      case 9:
+        for (let i2 = 0; i2 < node.branches.length; i2++) {
+          traverseNode(node.branches[i2], context);
+        }
+        break;
+      case 10:
+      case 11:
+      case 1:
+      case 0:
+        traverseChildren(node, context);
+        break;
+    }
+    context.currentNode = node;
+    let i = exitFns.length;
+    while (i--) {
+      exitFns[i]();
+    }
+  }
+  function createStructuralDirectiveTransform(name, fn) {
+    const matches = isString(name) ? (n) => n === name : (n) => name.test(n);
+    return (node, context) => {
+      if (node.type === 1) {
+        const { props } = node;
+        if (node.tagType === 3 && props.some(isVSlot)) {
+          return;
+        }
+        const exitFns = [];
+        for (let i = 0; i < props.length; i++) {
+          const prop = props[i];
+          if (prop.type === 7 && matches(prop.name)) {
+            props.splice(i, 1);
+            i--;
+            const onExit = fn(node, prop, context);
+            if (onExit)
+              exitFns.push(onExit);
+          }
+        }
+        return exitFns;
+      }
+    };
+  }
+
+  const PURE_ANNOTATION = `/*#__PURE__*/`;
+  const aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;
+  function createCodegenContext(ast, {
+    mode = "function",
+    prefixIdentifiers = mode === "module",
+    sourceMap = false,
+    filename = `template.vue.html`,
+    scopeId = null,
+    optimizeImports = false,
+    runtimeGlobalName = `Vue`,
+    runtimeModuleName = `vue`,
+    ssrRuntimeModuleName = "vue/server-renderer",
+    ssr = false,
+    isTS = false,
+    inSSR = false
+  }) {
+    const context = {
+      mode,
+      prefixIdentifiers,
+      sourceMap,
+      filename,
+      scopeId,
+      optimizeImports,
+      runtimeGlobalName,
+      runtimeModuleName,
+      ssrRuntimeModuleName,
+      ssr,
+      isTS,
+      inSSR,
+      source: ast.loc.source,
+      code: ``,
+      column: 1,
+      line: 1,
+      offset: 0,
+      indentLevel: 0,
+      pure: false,
+      map: void 0,
+      helper(key) {
+        return `_${helperNameMap[key]}`;
+      },
+      push(code, node) {
+        context.code += code;
+      },
+      indent() {
+        newline(++context.indentLevel);
+      },
+      deindent(withoutNewLine = false) {
+        if (withoutNewLine) {
+          --context.indentLevel;
+        } else {
+          newline(--context.indentLevel);
+        }
+      },
+      newline() {
+        newline(context.indentLevel);
+      }
+    };
+    function newline(n) {
+      context.push("\n" + `  `.repeat(n));
+    }
+    return context;
+  }
+  function generate(ast, options = {}) {
+    const context = createCodegenContext(ast, options);
+    if (options.onContextCreated)
+      options.onContextCreated(context);
+    const {
+      mode,
+      push,
+      prefixIdentifiers,
+      indent,
+      deindent,
+      newline,
+      scopeId,
+      ssr
+    } = context;
+    const helpers = Array.from(ast.helpers);
+    const hasHelpers = helpers.length > 0;
+    const useWithBlock = !prefixIdentifiers && mode !== "module";
+    const isSetupInlined = false;
+    const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context;
+    {
+      genFunctionPreamble(ast, preambleContext);
+    }
+    const functionName = ssr ? `ssrRender` : `render`;
+    const args = ssr ? ["_ctx", "_push", "_parent", "_attrs"] : ["_ctx", "_cache"];
+    const signature = args.join(", ");
+    {
+      push(`function ${functionName}(${signature}) {`);
+    }
+    indent();
+    if (useWithBlock) {
+      push(`with (_ctx) {`);
+      indent();
+      if (hasHelpers) {
+        push(`const { ${helpers.map(aliasHelper).join(", ")} } = _Vue`);
+        push(`
+`);
+        newline();
+      }
+    }
+    if (ast.components.length) {
+      genAssets(ast.components, "component", context);
+      if (ast.directives.length || ast.temps > 0) {
+        newline();
+      }
+    }
+    if (ast.directives.length) {
+      genAssets(ast.directives, "directive", context);
+      if (ast.temps > 0) {
+        newline();
+      }
+    }
+    if (ast.temps > 0) {
+      push(`let `);
+      for (let i = 0; i < ast.temps; i++) {
+        push(`${i > 0 ? `, ` : ``}_temp${i}`);
+      }
+    }
+    if (ast.components.length || ast.directives.length || ast.temps) {
+      push(`
+`);
+      newline();
+    }
+    if (!ssr) {
+      push(`return `);
+    }
+    if (ast.codegenNode) {
+      genNode(ast.codegenNode, context);
+    } else {
+      push(`null`);
+    }
+    if (useWithBlock) {
+      deindent();
+      push(`}`);
+    }
+    deindent();
+    push(`}`);
+    return {
+      ast,
+      code: context.code,
+      preamble: isSetupInlined ? preambleContext.code : ``,
+      // SourceMapGenerator does have toJSON() method but it's not in the types
+      map: context.map ? context.map.toJSON() : void 0
+    };
+  }
+  function genFunctionPreamble(ast, context) {
+    const {
+      ssr,
+      prefixIdentifiers,
+      push,
+      newline,
+      runtimeModuleName,
+      runtimeGlobalName,
+      ssrRuntimeModuleName
+    } = context;
+    const VueBinding = runtimeGlobalName;
+    const helpers = Array.from(ast.helpers);
+    if (helpers.length > 0) {
+      {
+        push(`const _Vue = ${VueBinding}
+`);
+        if (ast.hoists.length) {
+          const staticHelpers = [
+            CREATE_VNODE,
+            CREATE_ELEMENT_VNODE,
+            CREATE_COMMENT,
+            CREATE_TEXT,
+            CREATE_STATIC
+          ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", ");
+          push(`const { ${staticHelpers} } = _Vue
+`);
+        }
+      }
+    }
+    genHoists(ast.hoists, context);
+    newline();
+    push(`return `);
+  }
+  function genAssets(assets, type, { helper, push, newline, isTS }) {
+    const resolver = helper(
+      type === "component" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE
+    );
+    for (let i = 0; i < assets.length; i++) {
+      let id = assets[i];
+      const maybeSelfReference = id.endsWith("__self");
+      if (maybeSelfReference) {
+        id = id.slice(0, -6);
+      }
+      push(
+        `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`
+      );
+      if (i < assets.length - 1) {
+        newline();
+      }
+    }
+  }
+  function genHoists(hoists, context) {
+    if (!hoists.length) {
+      return;
+    }
+    context.pure = true;
+    const { push, newline, helper, scopeId, mode } = context;
+    newline();
+    for (let i = 0; i < hoists.length; i++) {
+      const exp = hoists[i];
+      if (exp) {
+        push(
+          `const _hoisted_${i + 1} = ${``}`
+        );
+        genNode(exp, context);
+        newline();
+      }
+    }
+    context.pure = false;
+  }
+  function isText(n) {
+    return isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8;
+  }
+  function genNodeListAsArray(nodes, context) {
+    const multilines = nodes.length > 3 || nodes.some((n) => isArray(n) || !isText(n));
+    context.push(`[`);
+    multilines && context.indent();
+    genNodeList(nodes, context, multilines);
+    multilines && context.deindent();
+    context.push(`]`);
+  }
+  function genNodeList(nodes, context, multilines = false, comma = true) {
+    const { push, newline } = context;
+    for (let i = 0; i < nodes.length; i++) {
+      const node = nodes[i];
+      if (isString(node)) {
+        push(node);
+      } else if (isArray(node)) {
+        genNodeListAsArray(node, context);
+      } else {
+        genNode(node, context);
+      }
+      if (i < nodes.length - 1) {
+        if (multilines) {
+          comma && push(",");
+          newline();
+        } else {
+          comma && push(", ");
+        }
+      }
+    }
+  }
+  function genNode(node, context) {
+    if (isString(node)) {
+      context.push(node);
+      return;
+    }
+    if (isSymbol(node)) {
+      context.push(context.helper(node));
+      return;
+    }
+    switch (node.type) {
+      case 1:
+      case 9:
+      case 11:
+        assert(
+          node.codegenNode != null,
+          `Codegen node is missing for element/if/for node. Apply appropriate transforms first.`
+        );
+        genNode(node.codegenNode, context);
+        break;
+      case 2:
+        genText(node, context);
+        break;
+      case 4:
+        genExpression(node, context);
+        break;
+      case 5:
+        genInterpolation(node, context);
+        break;
+      case 12:
+        genNode(node.codegenNode, context);
+        break;
+      case 8:
+        genCompoundExpression(node, context);
+        break;
+      case 3:
+        genComment(node, context);
+        break;
+      case 13:
+        genVNodeCall(node, context);
+        break;
+      case 14:
+        genCallExpression(node, context);
+        break;
+      case 15:
+        genObjectExpression(node, context);
+        break;
+      case 17:
+        genArrayExpression(node, context);
+        break;
+      case 18:
+        genFunctionExpression(node, context);
+        break;
+      case 19:
+        genConditionalExpression(node, context);
+        break;
+      case 20:
+        genCacheExpression(node, context);
+        break;
+      case 21:
+        genNodeList(node.body, context, true, false);
+        break;
+      case 22:
+        break;
+      case 23:
+        break;
+      case 24:
+        break;
+      case 25:
+        break;
+      case 26:
+        break;
+      case 10:
+        break;
+      default:
+        {
+          assert(false, `unhandled codegen node type: ${node.type}`);
+          const exhaustiveCheck = node;
+          return exhaustiveCheck;
+        }
+    }
+  }
+  function genText(node, context) {
+    context.push(JSON.stringify(node.content), node);
+  }
+  function genExpression(node, context) {
+    const { content, isStatic } = node;
+    context.push(isStatic ? JSON.stringify(content) : content, node);
+  }
+  function genInterpolation(node, context) {
+    const { push, helper, pure } = context;
+    if (pure)
+      push(PURE_ANNOTATION);
+    push(`${helper(TO_DISPLAY_STRING)}(`);
+    genNode(node.content, context);
+    push(`)`);
+  }
+  function genCompoundExpression(node, context) {
+    for (let i = 0; i < node.children.length; i++) {
+      const child = node.children[i];
+      if (isString(child)) {
+        context.push(child);
+      } else {
+        genNode(child, context);
+      }
+    }
+  }
+  function genExpressionAsPropertyKey(node, context) {
+    const { push } = context;
+    if (node.type === 8) {
+      push(`[`);
+      genCompoundExpression(node, context);
+      push(`]`);
+    } else if (node.isStatic) {
+      const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);
+      push(text, node);
+    } else {
+      push(`[${node.content}]`, node);
+    }
+  }
+  function genComment(node, context) {
+    const { push, helper, pure } = context;
+    if (pure) {
+      push(PURE_ANNOTATION);
+    }
+    push(`${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, node);
+  }
+  function genVNodeCall(node, context) {
+    const { push, helper, pure } = context;
+    const {
+      tag,
+      props,
+      children,
+      patchFlag,
+      dynamicProps,
+      directives,
+      isBlock,
+      disableTracking,
+      isComponent
+    } = node;
+    if (directives) {
+      push(helper(WITH_DIRECTIVES) + `(`);
+    }
+    if (isBlock) {
+      push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
+    }
+    if (pure) {
+      push(PURE_ANNOTATION);
+    }
+    const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent);
+    push(helper(callHelper) + `(`, node);
+    genNodeList(
+      genNullableArgs([tag, props, children, patchFlag, dynamicProps]),
+      context
+    );
+    push(`)`);
+    if (isBlock) {
+      push(`)`);
+    }
+    if (directives) {
+      push(`, `);
+      genNode(directives, context);
+      push(`)`);
+    }
+  }
+  function genNullableArgs(args) {
+    let i = args.length;
+    while (i--) {
+      if (args[i] != null)
+        break;
+    }
+    return args.slice(0, i + 1).map((arg) => arg || `null`);
+  }
+  function genCallExpression(node, context) {
+    const { push, helper, pure } = context;
+    const callee = isString(node.callee) ? node.callee : helper(node.callee);
+    if (pure) {
+      push(PURE_ANNOTATION);
+    }
+    push(callee + `(`, node);
+    genNodeList(node.arguments, context);
+    push(`)`);
+  }
+  function genObjectExpression(node, context) {
+    const { push, indent, deindent, newline } = context;
+    const { properties } = node;
+    if (!properties.length) {
+      push(`{}`, node);
+      return;
+    }
+    const multilines = properties.length > 1 || properties.some((p) => p.value.type !== 4);
+    push(multilines ? `{` : `{ `);
+    multilines && indent();
+    for (let i = 0; i < properties.length; i++) {
+      const { key, value } = properties[i];
+      genExpressionAsPropertyKey(key, context);
+      push(`: `);
+      genNode(value, context);
+      if (i < properties.length - 1) {
+        push(`,`);
+        newline();
+      }
+    }
+    multilines && deindent();
+    push(multilines ? `}` : ` }`);
+  }
+  function genArrayExpression(node, context) {
+    genNodeListAsArray(node.elements, context);
+  }
+  function genFunctionExpression(node, context) {
+    const { push, indent, deindent } = context;
+    const { params, returns, body, newline, isSlot } = node;
+    if (isSlot) {
+      push(`_${helperNameMap[WITH_CTX]}(`);
+    }
+    push(`(`, node);
+    if (isArray(params)) {
+      genNodeList(params, context);
+    } else if (params) {
+      genNode(params, context);
+    }
+    push(`) => `);
+    if (newline || body) {
+      push(`{`);
+      indent();
+    }
+    if (returns) {
+      if (newline) {
+        push(`return `);
+      }
+      if (isArray(returns)) {
+        genNodeListAsArray(returns, context);
+      } else {
+        genNode(returns, context);
+      }
+    } else if (body) {
+      genNode(body, context);
+    }
+    if (newline || body) {
+      deindent();
+      push(`}`);
+    }
+    if (isSlot) {
+      push(`)`);
+    }
+  }
+  function genConditionalExpression(node, context) {
+    const { test, consequent, alternate, newline: needNewline } = node;
+    const { push, indent, deindent, newline } = context;
+    if (test.type === 4) {
+      const needsParens = !isSimpleIdentifier(test.content);
+      needsParens && push(`(`);
+      genExpression(test, context);
+      needsParens && push(`)`);
+    } else {
+      push(`(`);
+      genNode(test, context);
+      push(`)`);
+    }
+    needNewline && indent();
+    context.indentLevel++;
+    needNewline || push(` `);
+    push(`? `);
+    genNode(consequent, context);
+    context.indentLevel--;
+    needNewline && newline();
+    needNewline || push(` `);
+    push(`: `);
+    const isNested = alternate.type === 19;
+    if (!isNested) {
+      context.indentLevel++;
+    }
+    genNode(alternate, context);
+    if (!isNested) {
+      context.indentLevel--;
+    }
+    needNewline && deindent(
+      true
+      /* without newline */
+    );
+  }
+  function genCacheExpression(node, context) {
+    const { push, helper, indent, deindent, newline } = context;
+    push(`_cache[${node.index}] || (`);
+    if (node.isVNode) {
+      indent();
+      push(`${helper(SET_BLOCK_TRACKING)}(-1),`);
+      newline();
+    }
+    push(`_cache[${node.index}] = `);
+    genNode(node.value, context);
+    if (node.isVNode) {
+      push(`,`);
+      newline();
+      push(`${helper(SET_BLOCK_TRACKING)}(1),`);
+      newline();
+      push(`_cache[${node.index}]`);
+      deindent();
+    }
+    push(`)`);
+  }
+
+  const prohibitedKeywordRE = new RegExp(
+    "\\b" + "arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b") + "\\b"
+  );
+  const stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
+  function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {
+    const exp = node.content;
+    if (!exp.trim()) {
+      return;
+    }
+    try {
+      new Function(
+        asRawStatements ? ` ${exp} ` : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`
+      );
+    } catch (e) {
+      let message = e.message;
+      const keywordMatch = exp.replace(stripStringRE, "").match(prohibitedKeywordRE);
+      if (keywordMatch) {
+        message = `avoid using JavaScript keyword as property name: "${keywordMatch[0]}"`;
+      }
+      context.onError(
+        createCompilerError(
+          45,
+          node.loc,
+          void 0,
+          message
+        )
+      );
+    }
+  }
+
+  const transformExpression = (node, context) => {
+    if (node.type === 5) {
+      node.content = processExpression(
+        node.content,
+        context
+      );
+    } else if (node.type === 1) {
+      for (let i = 0; i < node.props.length; i++) {
+        const dir = node.props[i];
+        if (dir.type === 7 && dir.name !== "for") {
+          const exp = dir.exp;
+          const arg = dir.arg;
+          if (exp && exp.type === 4 && !(dir.name === "on" && arg)) {
+            dir.exp = processExpression(
+              exp,
+              context,
+              // slot args must be processed as function params
+              dir.name === "slot"
+            );
+          }
+          if (arg && arg.type === 4 && !arg.isStatic) {
+            dir.arg = processExpression(arg, context);
+          }
+        }
+      }
+    }
+  };
+  function processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) {
+    {
+      {
+        validateBrowserExpression(node, context, asParams, asRawStatements);
+      }
+      return node;
+    }
+  }
+
+  const transformIf = createStructuralDirectiveTransform(
+    /^(if|else|else-if)$/,
+    (node, dir, context) => {
+      return processIf(node, dir, context, (ifNode, branch, isRoot) => {
+        const siblings = context.parent.children;
+        let i = siblings.indexOf(ifNode);
+        let key = 0;
+        while (i-- >= 0) {
+          const sibling = siblings[i];
+          if (sibling && sibling.type === 9) {
+            key += sibling.branches.length;
+          }
+        }
+        return () => {
+          if (isRoot) {
+            ifNode.codegenNode = createCodegenNodeForBranch(
+              branch,
+              key,
+              context
+            );
+          } else {
+            const parentCondition = getParentCondition(ifNode.codegenNode);
+            parentCondition.alternate = createCodegenNodeForBranch(
+              branch,
+              key + ifNode.branches.length - 1,
+              context
+            );
+          }
+        };
+      });
+    }
+  );
+  function processIf(node, dir, context, processCodegen) {
+    if (dir.name !== "else" && (!dir.exp || !dir.exp.content.trim())) {
+      const loc = dir.exp ? dir.exp.loc : node.loc;
+      context.onError(
+        createCompilerError(28, dir.loc)
+      );
+      dir.exp = createSimpleExpression(`true`, false, loc);
+    }
+    if (dir.exp) {
+      validateBrowserExpression(dir.exp, context);
+    }
+    if (dir.name === "if") {
+      const branch = createIfBranch(node, dir);
+      const ifNode = {
+        type: 9,
+        loc: node.loc,
+        branches: [branch]
+      };
+      context.replaceNode(ifNode);
+      if (processCodegen) {
+        return processCodegen(ifNode, branch, true);
+      }
+    } else {
+      const siblings = context.parent.children;
+      const comments = [];
+      let i = siblings.indexOf(node);
+      while (i-- >= -1) {
+        const sibling = siblings[i];
+        if (sibling && sibling.type === 3) {
+          context.removeNode(sibling);
+          comments.unshift(sibling);
+          continue;
+        }
+        if (sibling && sibling.type === 2 && !sibling.content.trim().length) {
+          context.removeNode(sibling);
+          continue;
+        }
+        if (sibling && sibling.type === 9) {
+          if (dir.name === "else-if" && sibling.branches[sibling.branches.length - 1].condition === void 0) {
+            context.onError(
+              createCompilerError(30, node.loc)
+            );
+          }
+          context.removeNode();
+          const branch = createIfBranch(node, dir);
+          if (comments.length && // #3619 ignore comments if the v-if is direct child of <transition>
+          !(context.parent && context.parent.type === 1 && isBuiltInType(context.parent.tag, "transition"))) {
+            branch.children = [...comments, ...branch.children];
+          }
+          {
+            const key = branch.userKey;
+            if (key) {
+              sibling.branches.forEach(({ userKey }) => {
+                if (isSameKey(userKey, key)) {
+                  context.onError(
+                    createCompilerError(
+                      29,
+                      branch.userKey.loc
+                    )
+                  );
+                }
+              });
+            }
+          }
+          sibling.branches.push(branch);
+          const onExit = processCodegen && processCodegen(sibling, branch, false);
+          traverseNode(branch, context);
+          if (onExit)
+            onExit();
+          context.currentNode = null;
+        } else {
+          context.onError(
+            createCompilerError(30, node.loc)
+          );
+        }
+        break;
+      }
+    }
+  }
+  function createIfBranch(node, dir) {
+    const isTemplateIf = node.tagType === 3;
+    return {
+      type: 10,
+      loc: node.loc,
+      condition: dir.name === "else" ? void 0 : dir.exp,
+      children: isTemplateIf && !findDir(node, "for") ? node.children : [node],
+      userKey: findProp(node, `key`),
+      isTemplateIf
+    };
+  }
+  function createCodegenNodeForBranch(branch, keyIndex, context) {
+    if (branch.condition) {
+      return createConditionalExpression(
+        branch.condition,
+        createChildrenCodegenNode(branch, keyIndex, context),
+        // make sure to pass in asBlock: true so that the comment node call
+        // closes the current block.
+        createCallExpression(context.helper(CREATE_COMMENT), [
+          '"v-if"' ,
+          "true"
+        ])
+      );
+    } else {
+      return createChildrenCodegenNode(branch, keyIndex, context);
+    }
+  }
+  function createChildrenCodegenNode(branch, keyIndex, context) {
+    const { helper } = context;
+    const keyProperty = createObjectProperty(
+      `key`,
+      createSimpleExpression(
+        `${keyIndex}`,
+        false,
+        locStub,
+        2
+      )
+    );
+    const { children } = branch;
+    const firstChild = children[0];
+    const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;
+    if (needFragmentWrapper) {
+      if (children.length === 1 && firstChild.type === 11) {
+        const vnodeCall = firstChild.codegenNode;
+        injectProp(vnodeCall, keyProperty, context);
+        return vnodeCall;
+      } else {
+        let patchFlag = 64;
+        let patchFlagText = PatchFlagNames[64];
+        if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {
+          patchFlag |= 2048;
+          patchFlagText += `, ${PatchFlagNames[2048]}`;
+        }
+        return createVNodeCall(
+          context,
+          helper(FRAGMENT),
+          createObjectExpression([keyProperty]),
+          children,
+          patchFlag + (` /* ${patchFlagText} */` ),
+          void 0,
+          void 0,
+          true,
+          false,
+          false,
+          branch.loc
+        );
+      }
+    } else {
+      const ret = firstChild.codegenNode;
+      const vnodeCall = getMemoedVNodeCall(ret);
+      if (vnodeCall.type === 13) {
+        convertToBlock(vnodeCall, context);
+      }
+      injectProp(vnodeCall, keyProperty, context);
+      return ret;
+    }
+  }
+  function isSameKey(a, b) {
+    if (!a || a.type !== b.type) {
+      return false;
+    }
+    if (a.type === 6) {
+      if (a.value.content !== b.value.content) {
+        return false;
+      }
+    } else {
+      const exp = a.exp;
+      const branchExp = b.exp;
+      if (exp.type !== branchExp.type) {
+        return false;
+      }
+      if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) {
+        return false;
+      }
+    }
+    return true;
+  }
+  function getParentCondition(node) {
+    while (true) {
+      if (node.type === 19) {
+        if (node.alternate.type === 19) {
+          node = node.alternate;
+        } else {
+          return node;
+        }
+      } else if (node.type === 20) {
+        node = node.value;
+      }
+    }
+  }
+
+  const transformFor = createStructuralDirectiveTransform(
+    "for",
+    (node, dir, context) => {
+      const { helper, removeHelper } = context;
+      return processFor(node, dir, context, (forNode) => {
+        const renderExp = createCallExpression(helper(RENDER_LIST), [
+          forNode.source
+        ]);
+        const isTemplate = isTemplateNode(node);
+        const memo = findDir(node, "memo");
+        const keyProp = findProp(node, `key`);
+        const keyExp = keyProp && (keyProp.type === 6 ? createSimpleExpression(keyProp.value.content, true) : keyProp.exp);
+        const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;
+        const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
+        const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
+        forNode.codegenNode = createVNodeCall(
+          context,
+          helper(FRAGMENT),
+          void 0,
+          renderExp,
+          fragmentFlag + (` /* ${PatchFlagNames[fragmentFlag]} */` ),
+          void 0,
+          void 0,
+          true,
+          !isStableFragment,
+          false,
+          node.loc
+        );
+        return () => {
+          let childBlock;
+          const { children } = forNode;
+          if (isTemplate) {
+            node.children.some((c) => {
+              if (c.type === 1) {
+                const key = findProp(c, "key");
+                if (key) {
+                  context.onError(
+                    createCompilerError(
+                      33,
+                      key.loc
+                    )
+                  );
+                  return true;
+                }
+              }
+            });
+          }
+          const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;
+          const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;
+          if (slotOutlet) {
+            childBlock = slotOutlet.codegenNode;
+            if (isTemplate && keyProperty) {
+              injectProp(childBlock, keyProperty, context);
+            }
+          } else if (needFragmentWrapper) {
+            childBlock = createVNodeCall(
+              context,
+              helper(FRAGMENT),
+              keyProperty ? createObjectExpression([keyProperty]) : void 0,
+              node.children,
+              64 + (` /* ${PatchFlagNames[64]} */` ),
+              void 0,
+              void 0,
+              true,
+              void 0,
+              false
+              /* isComponent */
+            );
+          } else {
+            childBlock = children[0].codegenNode;
+            if (isTemplate && keyProperty) {
+              injectProp(childBlock, keyProperty, context);
+            }
+            if (childBlock.isBlock !== !isStableFragment) {
+              if (childBlock.isBlock) {
+                removeHelper(OPEN_BLOCK);
+                removeHelper(
+                  getVNodeBlockHelper(context.inSSR, childBlock.isComponent)
+                );
+              } else {
+                removeHelper(
+                  getVNodeHelper(context.inSSR, childBlock.isComponent)
+                );
+              }
+            }
+            childBlock.isBlock = !isStableFragment;
+            if (childBlock.isBlock) {
+              helper(OPEN_BLOCK);
+              helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
+            } else {
+              helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
+            }
+          }
+          if (memo) {
+            const loop = createFunctionExpression(
+              createForLoopParams(forNode.parseResult, [
+                createSimpleExpression(`_cached`)
+              ])
+            );
+            loop.body = createBlockStatement([
+              createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
+              createCompoundExpression([
+                `if (_cached`,
+                ...keyExp ? [` && _cached.key === `, keyExp] : [],
+                ` && ${context.helperString(
+                IS_MEMO_SAME
+              )}(_cached, _memo)) return _cached`
+              ]),
+              createCompoundExpression([`const _item = `, childBlock]),
+              createSimpleExpression(`_item.memo = _memo`),
+              createSimpleExpression(`return _item`)
+            ]);
+            renderExp.arguments.push(
+              loop,
+              createSimpleExpression(`_cache`),
+              createSimpleExpression(String(context.cached++))
+            );
+          } else {
+            renderExp.arguments.push(
+              createFunctionExpression(
+                createForLoopParams(forNode.parseResult),
+                childBlock,
+                true
+                /* force newline */
+              )
+            );
+          }
+        };
+      });
+    }
+  );
+  function processFor(node, dir, context, processCodegen) {
+    if (!dir.exp) {
+      context.onError(
+        createCompilerError(31, dir.loc)
+      );
+      return;
+    }
+    const parseResult = parseForExpression(
+      // can only be simple expression because vFor transform is applied
+      // before expression transform.
+      dir.exp,
+      context
+    );
+    if (!parseResult) {
+      context.onError(
+        createCompilerError(32, dir.loc)
+      );
+      return;
+    }
+    const { addIdentifiers, removeIdentifiers, scopes } = context;
+    const { source, value, key, index } = parseResult;
+    const forNode = {
+      type: 11,
+      loc: dir.loc,
+      source,
+      valueAlias: value,
+      keyAlias: key,
+      objectIndexAlias: index,
+      parseResult,
+      children: isTemplateNode(node) ? node.children : [node]
+    };
+    context.replaceNode(forNode);
+    scopes.vFor++;
+    const onExit = processCodegen && processCodegen(forNode);
+    return () => {
+      scopes.vFor--;
+      if (onExit)
+        onExit();
+    };
+  }
+  const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
+  const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
+  const stripParensRE = /^\(|\)$/g;
+  function parseForExpression(input, context) {
+    const loc = input.loc;
+    const exp = input.content;
+    const inMatch = exp.match(forAliasRE);
+    if (!inMatch)
+      return;
+    const [, LHS, RHS] = inMatch;
+    const result = {
+      source: createAliasExpression(
+        loc,
+        RHS.trim(),
+        exp.indexOf(RHS, LHS.length)
+      ),
+      value: void 0,
+      key: void 0,
+      index: void 0
+    };
+    {
+      validateBrowserExpression(result.source, context);
+    }
+    let valueContent = LHS.trim().replace(stripParensRE, "").trim();
+    const trimmedOffset = LHS.indexOf(valueContent);
+    const iteratorMatch = valueContent.match(forIteratorRE);
+    if (iteratorMatch) {
+      valueContent = valueContent.replace(forIteratorRE, "").trim();
+      const keyContent = iteratorMatch[1].trim();
+      let keyOffset;
+      if (keyContent) {
+        keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);
+        result.key = createAliasExpression(loc, keyContent, keyOffset);
+        {
+          validateBrowserExpression(
+            result.key,
+            context,
+            true
+          );
+        }
+      }
+      if (iteratorMatch[2]) {
+        const indexContent = iteratorMatch[2].trim();
+        if (indexContent) {
+          result.index = createAliasExpression(
+            loc,
+            indexContent,
+            exp.indexOf(
+              indexContent,
+              result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length
+            )
+          );
+          {
+            validateBrowserExpression(
+              result.index,
+              context,
+              true
+            );
+          }
+        }
+      }
+    }
+    if (valueContent) {
+      result.value = createAliasExpression(loc, valueContent, trimmedOffset);
+      {
+        validateBrowserExpression(
+          result.value,
+          context,
+          true
+        );
+      }
+    }
+    return result;
+  }
+  function createAliasExpression(range, content, offset) {
+    return createSimpleExpression(
+      content,
+      false,
+      getInnerRange(range, offset, content.length)
+    );
+  }
+  function createForLoopParams({ value, key, index }, memoArgs = []) {
+    return createParamsList([value, key, index, ...memoArgs]);
+  }
+  function createParamsList(args) {
+    let i = args.length;
+    while (i--) {
+      if (args[i])
+        break;
+    }
+    return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));
+  }
+
+  const defaultFallback = createSimpleExpression(`undefined`, false);
+  const trackSlotScopes = (node, context) => {
+    if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {
+      const vSlot = findDir(node, "slot");
+      if (vSlot) {
+        vSlot.exp;
+        context.scopes.vSlot++;
+        return () => {
+          context.scopes.vSlot--;
+        };
+      }
+    }
+  };
+  const buildClientSlotFn = (props, children, loc) => createFunctionExpression(
+    props,
+    children,
+    false,
+    true,
+    children.length ? children[0].loc : loc
+  );
+  function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
+    context.helper(WITH_CTX);
+    const { children, loc } = node;
+    const slotsProperties = [];
+    const dynamicSlots = [];
+    let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;
+    const onComponentSlot = findDir(node, "slot", true);
+    if (onComponentSlot) {
+      const { arg, exp } = onComponentSlot;
+      if (arg && !isStaticExp(arg)) {
+        hasDynamicSlots = true;
+      }
+      slotsProperties.push(
+        createObjectProperty(
+          arg || createSimpleExpression("default", true),
+          buildSlotFn(exp, children, loc)
+        )
+      );
+    }
+    let hasTemplateSlots = false;
+    let hasNamedDefaultSlot = false;
+    const implicitDefaultChildren = [];
+    const seenSlotNames = /* @__PURE__ */ new Set();
+    let conditionalBranchIndex = 0;
+    for (let i = 0; i < children.length; i++) {
+      const slotElement = children[i];
+      let slotDir;
+      if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, "slot", true))) {
+        if (slotElement.type !== 3) {
+          implicitDefaultChildren.push(slotElement);
+        }
+        continue;
+      }
+      if (onComponentSlot) {
+        context.onError(
+          createCompilerError(37, slotDir.loc)
+        );
+        break;
+      }
+      hasTemplateSlots = true;
+      const { children: slotChildren, loc: slotLoc } = slotElement;
+      const {
+        arg: slotName = createSimpleExpression(`default`, true),
+        exp: slotProps,
+        loc: dirLoc
+      } = slotDir;
+      let staticSlotName;
+      if (isStaticExp(slotName)) {
+        staticSlotName = slotName ? slotName.content : `default`;
+      } else {
+        hasDynamicSlots = true;
+      }
+      const slotFunction = buildSlotFn(slotProps, slotChildren, slotLoc);
+      let vIf;
+      let vElse;
+      let vFor;
+      if (vIf = findDir(slotElement, "if")) {
+        hasDynamicSlots = true;
+        dynamicSlots.push(
+          createConditionalExpression(
+            vIf.exp,
+            buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),
+            defaultFallback
+          )
+        );
+      } else if (vElse = findDir(
+        slotElement,
+        /^else(-if)?$/,
+        true
+        /* allowEmpty */
+      )) {
+        let j = i;
+        let prev;
+        while (j--) {
+          prev = children[j];
+          if (prev.type !== 3) {
+            break;
+          }
+        }
+        if (prev && isTemplateNode(prev) && findDir(prev, "if")) {
+          children.splice(i, 1);
+          i--;
+          let conditional = dynamicSlots[dynamicSlots.length - 1];
+          while (conditional.alternate.type === 19) {
+            conditional = conditional.alternate;
+          }
+          conditional.alternate = vElse.exp ? createConditionalExpression(
+            vElse.exp,
+            buildDynamicSlot(
+              slotName,
+              slotFunction,
+              conditionalBranchIndex++
+            ),
+            defaultFallback
+          ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);
+        } else {
+          context.onError(
+            createCompilerError(30, vElse.loc)
+          );
+        }
+      } else if (vFor = findDir(slotElement, "for")) {
+        hasDynamicSlots = true;
+        const parseResult = vFor.parseResult || parseForExpression(vFor.exp, context);
+        if (parseResult) {
+          dynamicSlots.push(
+            createCallExpression(context.helper(RENDER_LIST), [
+              parseResult.source,
+              createFunctionExpression(
+                createForLoopParams(parseResult),
+                buildDynamicSlot(slotName, slotFunction),
+                true
+                /* force newline */
+              )
+            ])
+          );
+        } else {
+          context.onError(
+            createCompilerError(32, vFor.loc)
+          );
+        }
+      } else {
+        if (staticSlotName) {
+          if (seenSlotNames.has(staticSlotName)) {
+            context.onError(
+              createCompilerError(
+                38,
+                dirLoc
+              )
+            );
+            continue;
+          }
+          seenSlotNames.add(staticSlotName);
+          if (staticSlotName === "default") {
+            hasNamedDefaultSlot = true;
+          }
+        }
+        slotsProperties.push(createObjectProperty(slotName, slotFunction));
+      }
+    }
+    if (!onComponentSlot) {
+      const buildDefaultSlotProperty = (props, children2) => {
+        const fn = buildSlotFn(props, children2, loc);
+        return createObjectProperty(`default`, fn);
+      };
+      if (!hasTemplateSlots) {
+        slotsProperties.push(buildDefaultSlotProperty(void 0, children));
+      } else if (implicitDefaultChildren.length && // #3766
+      // with whitespace: 'preserve', whitespaces between slots will end up in
+      // implicitDefaultChildren. Ignore if all implicit children are whitespaces.
+      implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {
+        if (hasNamedDefaultSlot) {
+          context.onError(
+            createCompilerError(
+              39,
+              implicitDefaultChildren[0].loc
+            )
+          );
+        } else {
+          slotsProperties.push(
+            buildDefaultSlotProperty(void 0, implicitDefaultChildren)
+          );
+        }
+      }
+    }
+    const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
+    let slots = createObjectExpression(
+      slotsProperties.concat(
+        createObjectProperty(
+          `_`,
+          // 2 = compiled but dynamic = can skip normalization, but must run diff
+          // 1 = compiled and static = can skip normalization AND diff as optimized
+          createSimpleExpression(
+            slotFlag + (` /* ${slotFlagsText[slotFlag]} */` ),
+            false
+          )
+        )
+      ),
+      loc
+    );
+    if (dynamicSlots.length) {
+      slots = createCallExpression(context.helper(CREATE_SLOTS), [
+        slots,
+        createArrayExpression(dynamicSlots)
+      ]);
+    }
+    return {
+      slots,
+      hasDynamicSlots
+    };
+  }
+  function buildDynamicSlot(name, fn, index) {
+    const props = [
+      createObjectProperty(`name`, name),
+      createObjectProperty(`fn`, fn)
+    ];
+    if (index != null) {
+      props.push(
+        createObjectProperty(`key`, createSimpleExpression(String(index), true))
+      );
+    }
+    return createObjectExpression(props);
+  }
+  function hasForwardedSlots(children) {
+    for (let i = 0; i < children.length; i++) {
+      const child = children[i];
+      switch (child.type) {
+        case 1:
+          if (child.tagType === 2 || hasForwardedSlots(child.children)) {
+            return true;
+          }
+          break;
+        case 9:
+          if (hasForwardedSlots(child.branches))
+            return true;
+          break;
+        case 10:
+        case 11:
+          if (hasForwardedSlots(child.children))
+            return true;
+          break;
+      }
+    }
+    return false;
+  }
+  function isNonWhitespaceContent(node) {
+    if (node.type !== 2 && node.type !== 12)
+      return true;
+    return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);
+  }
+
+  const directiveImportMap = /* @__PURE__ */ new WeakMap();
+  const transformElement = (node, context) => {
+    return function postTransformElement() {
+      node = context.currentNode;
+      if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {
+        return;
+      }
+      const { tag, props } = node;
+      const isComponent = node.tagType === 1;
+      let vnodeTag = isComponent ? resolveComponentType(node, context) : `"${tag}"`;
+      const isDynamicComponent = isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;
+      let vnodeProps;
+      let vnodeChildren;
+      let vnodePatchFlag;
+      let patchFlag = 0;
+      let vnodeDynamicProps;
+      let dynamicPropNames;
+      let vnodeDirectives;
+      let shouldUseBlock = (
+        // dynamic component may resolve to plain elements
+        isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block
+        // updates inside get proper isSVG flag at runtime. (#639, #643)
+        // This is technically web-specific, but splitting the logic out of core
+        // leads to too much unnecessary complexity.
+        (tag === "svg" || tag === "foreignObject")
+      );
+      if (props.length > 0) {
+        const propsBuildResult = buildProps(
+          node,
+          context,
+          void 0,
+          isComponent,
+          isDynamicComponent
+        );
+        vnodeProps = propsBuildResult.props;
+        patchFlag = propsBuildResult.patchFlag;
+        dynamicPropNames = propsBuildResult.dynamicPropNames;
+        const directives = propsBuildResult.directives;
+        vnodeDirectives = directives && directives.length ? createArrayExpression(
+          directives.map((dir) => buildDirectiveArgs(dir, context))
+        ) : void 0;
+        if (propsBuildResult.shouldUseBlock) {
+          shouldUseBlock = true;
+        }
+      }
+      if (node.children.length > 0) {
+        if (vnodeTag === KEEP_ALIVE) {
+          shouldUseBlock = true;
+          patchFlag |= 1024;
+          if (node.children.length > 1) {
+            context.onError(
+              createCompilerError(46, {
+                start: node.children[0].loc.start,
+                end: node.children[node.children.length - 1].loc.end,
+                source: ""
+              })
+            );
+          }
+        }
+        const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling
+        vnodeTag !== TELEPORT && // explained above.
+        vnodeTag !== KEEP_ALIVE;
+        if (shouldBuildAsSlots) {
+          const { slots, hasDynamicSlots } = buildSlots(node, context);
+          vnodeChildren = slots;
+          if (hasDynamicSlots) {
+            patchFlag |= 1024;
+          }
+        } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {
+          const child = node.children[0];
+          const type = child.type;
+          const hasDynamicTextChild = type === 5 || type === 8;
+          if (hasDynamicTextChild && getConstantType(child, context) === 0) {
+            patchFlag |= 1;
+          }
+          if (hasDynamicTextChild || type === 2) {
+            vnodeChildren = child;
+          } else {
+            vnodeChildren = node.children;
+          }
+        } else {
+          vnodeChildren = node.children;
+        }
+      }
+      if (patchFlag !== 0) {
+        {
+          if (patchFlag < 0) {
+            vnodePatchFlag = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
+          } else {
+            const flagNames = Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `);
+            vnodePatchFlag = patchFlag + ` /* ${flagNames} */`;
+          }
+        }
+        if (dynamicPropNames && dynamicPropNames.length) {
+          vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);
+        }
+      }
+      node.codegenNode = createVNodeCall(
+        context,
+        vnodeTag,
+        vnodeProps,
+        vnodeChildren,
+        vnodePatchFlag,
+        vnodeDynamicProps,
+        vnodeDirectives,
+        !!shouldUseBlock,
+        false,
+        isComponent,
+        node.loc
+      );
+    };
+  };
+  function resolveComponentType(node, context, ssr = false) {
+    let { tag } = node;
+    const isExplicitDynamic = isComponentTag(tag);
+    const isProp = findProp(node, "is");
+    if (isProp) {
+      if (isExplicitDynamic || false) {
+        const exp = isProp.type === 6 ? isProp.value && createSimpleExpression(isProp.value.content, true) : isProp.exp;
+        if (exp) {
+          return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [
+            exp
+          ]);
+        }
+      } else if (isProp.type === 6 && isProp.value.content.startsWith("vue:")) {
+        tag = isProp.value.content.slice(4);
+      }
+    }
+    const isDir = !isExplicitDynamic && findDir(node, "is");
+    if (isDir && isDir.exp) {
+      {
+        context.onWarn(
+          createCompilerError(52, isDir.loc)
+        );
+      }
+      return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [
+        isDir.exp
+      ]);
+    }
+    const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);
+    if (builtIn) {
+      if (!ssr)
+        context.helper(builtIn);
+      return builtIn;
+    }
+    context.helper(RESOLVE_COMPONENT);
+    context.components.add(tag);
+    return toValidAssetId(tag, `component`);
+  }
+  function buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {
+    const { tag, loc: elementLoc, children } = node;
+    let properties = [];
+    const mergeArgs = [];
+    const runtimeDirectives = [];
+    const hasChildren = children.length > 0;
+    let shouldUseBlock = false;
+    let patchFlag = 0;
+    let hasRef = false;
+    let hasClassBinding = false;
+    let hasStyleBinding = false;
+    let hasHydrationEventBinding = false;
+    let hasDynamicKeys = false;
+    let hasVnodeHook = false;
+    const dynamicPropNames = [];
+    const pushMergeArg = (arg) => {
+      if (properties.length) {
+        mergeArgs.push(
+          createObjectExpression(dedupeProperties(properties), elementLoc)
+        );
+        properties = [];
+      }
+      if (arg)
+        mergeArgs.push(arg);
+    };
+    const analyzePatchFlag = ({ key, value }) => {
+      if (isStaticExp(key)) {
+        const name = key.content;
+        const isEventHandler = isOn(name);
+        if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click
+        // dedicated fast path.
+        name.toLowerCase() !== "onclick" && // omit v-model handlers
+        name !== "onUpdate:modelValue" && // omit onVnodeXXX hooks
+        !isReservedProp(name)) {
+          hasHydrationEventBinding = true;
+        }
+        if (isEventHandler && isReservedProp(name)) {
+          hasVnodeHook = true;
+        }
+        if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
+          return;
+        }
+        if (name === "ref") {
+          hasRef = true;
+        } else if (name === "class") {
+          hasClassBinding = true;
+        } else if (name === "style") {
+          hasStyleBinding = true;
+        } else if (name !== "key" && !dynamicPropNames.includes(name)) {
+          dynamicPropNames.push(name);
+        }
+        if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) {
+          dynamicPropNames.push(name);
+        }
+      } else {
+        hasDynamicKeys = true;
+      }
+    };
+    for (let i = 0; i < props.length; i++) {
+      const prop = props[i];
+      if (prop.type === 6) {
+        const { loc, name, value } = prop;
+        let isStatic = true;
+        if (name === "ref") {
+          hasRef = true;
+          if (context.scopes.vFor > 0) {
+            properties.push(
+              createObjectProperty(
+                createSimpleExpression("ref_for", true),
+                createSimpleExpression("true")
+              )
+            );
+          }
+        }
+        if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || false)) {
+          continue;
+        }
+        properties.push(
+          createObjectProperty(
+            createSimpleExpression(
+              name,
+              true,
+              getInnerRange(loc, 0, name.length)
+            ),
+            createSimpleExpression(
+              value ? value.content : "",
+              isStatic,
+              value ? value.loc : loc
+            )
+          )
+        );
+      } else {
+        const { name, arg, exp, loc } = prop;
+        const isVBind = name === "bind";
+        const isVOn = name === "on";
+        if (name === "slot") {
+          if (!isComponent) {
+            context.onError(
+              createCompilerError(40, loc)
+            );
+          }
+          continue;
+        }
+        if (name === "once" || name === "memo") {
+          continue;
+        }
+        if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || false)) {
+          continue;
+        }
+        if (isVOn && ssr) {
+          continue;
+        }
+        if (
+          // #938: elements with dynamic keys should be forced into blocks
+          isVBind && isStaticArgOf(arg, "key") || // inline before-update hooks need to force block so that it is invoked
+          // before children
+          isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update")
+        ) {
+          shouldUseBlock = true;
+        }
+        if (isVBind && isStaticArgOf(arg, "ref") && context.scopes.vFor > 0) {
+          properties.push(
+            createObjectProperty(
+              createSimpleExpression("ref_for", true),
+              createSimpleExpression("true")
+            )
+          );
+        }
+        if (!arg && (isVBind || isVOn)) {
+          hasDynamicKeys = true;
+          if (exp) {
+            if (isVBind) {
+              pushMergeArg();
+              mergeArgs.push(exp);
+            } else {
+              pushMergeArg({
+                type: 14,
+                loc,
+                callee: context.helper(TO_HANDLERS),
+                arguments: isComponent ? [exp] : [exp, `true`]
+              });
+            }
+          } else {
+            context.onError(
+              createCompilerError(
+                isVBind ? 34 : 35,
+                loc
+              )
+            );
+          }
+          continue;
+        }
+        const directiveTransform = context.directiveTransforms[name];
+        if (directiveTransform) {
+          const { props: props2, needRuntime } = directiveTransform(prop, node, context);
+          !ssr && props2.forEach(analyzePatchFlag);
+          if (isVOn && arg && !isStaticExp(arg)) {
+            pushMergeArg(createObjectExpression(props2, elementLoc));
+          } else {
+            properties.push(...props2);
+          }
+          if (needRuntime) {
+            runtimeDirectives.push(prop);
+            if (isSymbol(needRuntime)) {
+              directiveImportMap.set(prop, needRuntime);
+            }
+          }
+        } else if (!isBuiltInDirective(name)) {
+          runtimeDirectives.push(prop);
+          if (hasChildren) {
+            shouldUseBlock = true;
+          }
+        }
+      }
+    }
+    let propsExpression = void 0;
+    if (mergeArgs.length) {
+      pushMergeArg();
+      if (mergeArgs.length > 1) {
+        propsExpression = createCallExpression(
+          context.helper(MERGE_PROPS),
+          mergeArgs,
+          elementLoc
+        );
+      } else {
+        propsExpression = mergeArgs[0];
+      }
+    } else if (properties.length) {
+      propsExpression = createObjectExpression(
+        dedupeProperties(properties),
+        elementLoc
+      );
+    }
+    if (hasDynamicKeys) {
+      patchFlag |= 16;
+    } else {
+      if (hasClassBinding && !isComponent) {
+        patchFlag |= 2;
+      }
+      if (hasStyleBinding && !isComponent) {
+        patchFlag |= 4;
+      }
+      if (dynamicPropNames.length) {
+        patchFlag |= 8;
+      }
+      if (hasHydrationEventBinding) {
+        patchFlag |= 32;
+      }
+    }
+    if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {
+      patchFlag |= 512;
+    }
+    if (!context.inSSR && propsExpression) {
+      switch (propsExpression.type) {
+        case 15:
+          let classKeyIndex = -1;
+          let styleKeyIndex = -1;
+          let hasDynamicKey = false;
+          for (let i = 0; i < propsExpression.properties.length; i++) {
+            const key = propsExpression.properties[i].key;
+            if (isStaticExp(key)) {
+              if (key.content === "class") {
+                classKeyIndex = i;
+              } else if (key.content === "style") {
+                styleKeyIndex = i;
+              }
+            } else if (!key.isHandlerKey) {
+              hasDynamicKey = true;
+            }
+          }
+          const classProp = propsExpression.properties[classKeyIndex];
+          const styleProp = propsExpression.properties[styleKeyIndex];
+          if (!hasDynamicKey) {
+            if (classProp && !isStaticExp(classProp.value)) {
+              classProp.value = createCallExpression(
+                context.helper(NORMALIZE_CLASS),
+                [classProp.value]
+              );
+            }
+            if (styleProp && // the static style is compiled into an object,
+            // so use `hasStyleBinding` to ensure that it is a dynamic style binding
+            (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,
+            // v-bind:style with static literal object
+            styleProp.value.type === 17)) {
+              styleProp.value = createCallExpression(
+                context.helper(NORMALIZE_STYLE),
+                [styleProp.value]
+              );
+            }
+          } else {
+            propsExpression = createCallExpression(
+              context.helper(NORMALIZE_PROPS),
+              [propsExpression]
+            );
+          }
+          break;
+        case 14:
+          break;
+        default:
+          propsExpression = createCallExpression(
+            context.helper(NORMALIZE_PROPS),
+            [
+              createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [
+                propsExpression
+              ])
+            ]
+          );
+          break;
+      }
+    }
+    return {
+      props: propsExpression,
+      directives: runtimeDirectives,
+      patchFlag,
+      dynamicPropNames,
+      shouldUseBlock
+    };
+  }
+  function dedupeProperties(properties) {
+    const knownProps = /* @__PURE__ */ new Map();
+    const deduped = [];
+    for (let i = 0; i < properties.length; i++) {
+      const prop = properties[i];
+      if (prop.key.type === 8 || !prop.key.isStatic) {
+        deduped.push(prop);
+        continue;
+      }
+      const name = prop.key.content;
+      const existing = knownProps.get(name);
+      if (existing) {
+        if (name === "style" || name === "class" || isOn(name)) {
+          mergeAsArray(existing, prop);
+        }
+      } else {
+        knownProps.set(name, prop);
+        deduped.push(prop);
+      }
+    }
+    return deduped;
+  }
+  function mergeAsArray(existing, incoming) {
+    if (existing.value.type === 17) {
+      existing.value.elements.push(incoming.value);
+    } else {
+      existing.value = createArrayExpression(
+        [existing.value, incoming.value],
+        existing.loc
+      );
+    }
+  }
+  function buildDirectiveArgs(dir, context) {
+    const dirArgs = [];
+    const runtime = directiveImportMap.get(dir);
+    if (runtime) {
+      dirArgs.push(context.helperString(runtime));
+    } else {
+      {
+        context.helper(RESOLVE_DIRECTIVE);
+        context.directives.add(dir.name);
+        dirArgs.push(toValidAssetId(dir.name, `directive`));
+      }
+    }
+    const { loc } = dir;
+    if (dir.exp)
+      dirArgs.push(dir.exp);
+    if (dir.arg) {
+      if (!dir.exp) {
+        dirArgs.push(`void 0`);
+      }
+      dirArgs.push(dir.arg);
+    }
+    if (Object.keys(dir.modifiers).length) {
+      if (!dir.arg) {
+        if (!dir.exp) {
+          dirArgs.push(`void 0`);
+        }
+        dirArgs.push(`void 0`);
+      }
+      const trueExpression = createSimpleExpression(`true`, false, loc);
+      dirArgs.push(
+        createObjectExpression(
+          dir.modifiers.map(
+            (modifier) => createObjectProperty(modifier, trueExpression)
+          ),
+          loc
+        )
+      );
+    }
+    return createArrayExpression(dirArgs, dir.loc);
+  }
+  function stringifyDynamicPropNames(props) {
+    let propsNamesString = `[`;
+    for (let i = 0, l = props.length; i < l; i++) {
+      propsNamesString += JSON.stringify(props[i]);
+      if (i < l - 1)
+        propsNamesString += ", ";
+    }
+    return propsNamesString + `]`;
+  }
+  function isComponentTag(tag) {
+    return tag === "component" || tag === "Component";
+  }
+
+  const transformSlotOutlet = (node, context) => {
+    if (isSlotOutlet(node)) {
+      const { children, loc } = node;
+      const { slotName, slotProps } = processSlotOutlet(node, context);
+      const slotArgs = [
+        context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,
+        slotName,
+        "{}",
+        "undefined",
+        "true"
+      ];
+      let expectedLen = 2;
+      if (slotProps) {
+        slotArgs[2] = slotProps;
+        expectedLen = 3;
+      }
+      if (children.length) {
+        slotArgs[3] = createFunctionExpression([], children, false, false, loc);
+        expectedLen = 4;
+      }
+      if (context.scopeId && !context.slotted) {
+        expectedLen = 5;
+      }
+      slotArgs.splice(expectedLen);
+      node.codegenNode = createCallExpression(
+        context.helper(RENDER_SLOT),
+        slotArgs,
+        loc
+      );
+    }
+  };
+  function processSlotOutlet(node, context) {
+    let slotName = `"default"`;
+    let slotProps = void 0;
+    const nonNameProps = [];
+    for (let i = 0; i < node.props.length; i++) {
+      const p = node.props[i];
+      if (p.type === 6) {
+        if (p.value) {
+          if (p.name === "name") {
+            slotName = JSON.stringify(p.value.content);
+          } else {
+            p.name = camelize(p.name);
+            nonNameProps.push(p);
+          }
+        }
+      } else {
+        if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
+          if (p.exp)
+            slotName = p.exp;
+        } else {
+          if (p.name === "bind" && p.arg && isStaticExp(p.arg)) {
+            p.arg.content = camelize(p.arg.content);
+          }
+          nonNameProps.push(p);
+        }
+      }
+    }
+    if (nonNameProps.length > 0) {
+      const { props, directives } = buildProps(
+        node,
+        context,
+        nonNameProps,
+        false,
+        false
+      );
+      slotProps = props;
+      if (directives.length) {
+        context.onError(
+          createCompilerError(
+            36,
+            directives[0].loc
+          )
+        );
+      }
+    }
+    return {
+      slotName,
+      slotProps
+    };
+  }
+
+  const fnExpRE = /^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
+  const transformOn$1 = (dir, node, context, augmentor) => {
+    const { loc, modifiers, arg } = dir;
+    if (!dir.exp && !modifiers.length) {
+      context.onError(createCompilerError(35, loc));
+    }
+    let eventName;
+    if (arg.type === 4) {
+      if (arg.isStatic) {
+        let rawName = arg.content;
+        if (rawName.startsWith("vnode")) {
+          context.onWarn(
+            createCompilerError(51, arg.loc)
+          );
+        }
+        if (rawName.startsWith("vue:")) {
+          rawName = `vnode-${rawName.slice(4)}`;
+        }
+        const eventString = node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? (
+          // for non-element and vnode lifecycle event listeners, auto convert
+          // it to camelCase. See issue #2249
+          toHandlerKey(camelize(rawName))
+        ) : (
+          // preserve case for plain element listeners that have uppercase
+          // letters, as these may be custom elements' custom events
+          `on:${rawName}`
+        );
+        eventName = createSimpleExpression(eventString, true, arg.loc);
+      } else {
+        eventName = createCompoundExpression([
+          `${context.helperString(TO_HANDLER_KEY)}(`,
+          arg,
+          `)`
+        ]);
+      }
+    } else {
+      eventName = arg;
+      eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
+      eventName.children.push(`)`);
+    }
+    let exp = dir.exp;
+    if (exp && !exp.content.trim()) {
+      exp = void 0;
+    }
+    let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
+    if (exp) {
+      const isMemberExp = isMemberExpression(exp.content);
+      const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
+      const hasMultipleStatements = exp.content.includes(`;`);
+      {
+        validateBrowserExpression(
+          exp,
+          context,
+          false,
+          hasMultipleStatements
+        );
+      }
+      if (isInlineStatement || shouldCache && isMemberExp) {
+        exp = createCompoundExpression([
+          `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,
+          exp,
+          hasMultipleStatements ? `}` : `)`
+        ]);
+      }
+    }
+    let ret = {
+      props: [
+        createObjectProperty(
+          eventName,
+          exp || createSimpleExpression(`() => {}`, false, loc)
+        )
+      ]
+    };
+    if (augmentor) {
+      ret = augmentor(ret);
+    }
+    if (shouldCache) {
+      ret.props[0].value = context.cache(ret.props[0].value);
+    }
+    ret.props.forEach((p) => p.key.isHandlerKey = true);
+    return ret;
+  };
+
+  const transformBind = (dir, _node, context) => {
+    const { exp, modifiers, loc } = dir;
+    const arg = dir.arg;
+    if (arg.type !== 4) {
+      arg.children.unshift(`(`);
+      arg.children.push(`) || ""`);
+    } else if (!arg.isStatic) {
+      arg.content = `${arg.content} || ""`;
+    }
+    if (modifiers.includes("camel")) {
+      if (arg.type === 4) {
+        if (arg.isStatic) {
+          arg.content = camelize(arg.content);
+        } else {
+          arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
+        }
+      } else {
+        arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
+        arg.children.push(`)`);
+      }
+    }
+    if (!context.inSSR) {
+      if (modifiers.includes("prop")) {
+        injectPrefix(arg, ".");
+      }
+      if (modifiers.includes("attr")) {
+        injectPrefix(arg, "^");
+      }
+    }
+    if (!exp || exp.type === 4 && !exp.content.trim()) {
+      context.onError(createCompilerError(34, loc));
+      return {
+        props: [createObjectProperty(arg, createSimpleExpression("", true, loc))]
+      };
+    }
+    return {
+      props: [createObjectProperty(arg, exp)]
+    };
+  };
+  const injectPrefix = (arg, prefix) => {
+    if (arg.type === 4) {
+      if (arg.isStatic) {
+        arg.content = prefix + arg.content;
+      } else {
+        arg.content = `\`${prefix}\${${arg.content}}\``;
+      }
+    } else {
+      arg.children.unshift(`'${prefix}' + (`);
+      arg.children.push(`)`);
+    }
+  };
+
+  const transformText = (node, context) => {
+    if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {
+      return () => {
+        const children = node.children;
+        let currentContainer = void 0;
+        let hasText = false;
+        for (let i = 0; i < children.length; i++) {
+          const child = children[i];
+          if (isText$1(child)) {
+            hasText = true;
+            for (let j = i + 1; j < children.length; j++) {
+              const next = children[j];
+              if (isText$1(next)) {
+                if (!currentContainer) {
+                  currentContainer = children[i] = createCompoundExpression(
+                    [child],
+                    child.loc
+                  );
+                }
+                currentContainer.children.push(` + `, next);
+                children.splice(j, 1);
+                j--;
+              } else {
+                currentContainer = void 0;
+                break;
+              }
+            }
+          }
+        }
+        if (!hasText || // if this is a plain element with a single text child, leave it
+        // as-is since the runtime has dedicated fast path for this by directly
+        // setting textContent of the element.
+        // for component root it's always normalized anyway.
+        children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756
+        // custom directives can potentially add DOM elements arbitrarily,
+        // we need to avoid setting textContent of the element at runtime
+        // to avoid accidentally overwriting the DOM elements added
+        // by the user through custom directives.
+        !node.props.find(
+          (p) => p.type === 7 && !context.directiveTransforms[p.name]
+        ) && // in compat mode, <template> tags with no special directives
+        // will be rendered as a fragment so its children must be
+        // converted into vnodes.
+        true)) {
+          return;
+        }
+        for (let i = 0; i < children.length; i++) {
+          const child = children[i];
+          if (isText$1(child) || child.type === 8) {
+            const callArgs = [];
+            if (child.type !== 2 || child.content !== " ") {
+              callArgs.push(child);
+            }
+            if (!context.ssr && getConstantType(child, context) === 0) {
+              callArgs.push(
+                1 + (` /* ${PatchFlagNames[1]} */` )
+              );
+            }
+            children[i] = {
+              type: 12,
+              content: child,
+              loc: child.loc,
+              codegenNode: createCallExpression(
+                context.helper(CREATE_TEXT),
+                callArgs
+              )
+            };
+          }
+        }
+      };
+    }
+  };
+
+  const seen$1 = /* @__PURE__ */ new WeakSet();
+  const transformOnce = (node, context) => {
+    if (node.type === 1 && findDir(node, "once", true)) {
+      if (seen$1.has(node) || context.inVOnce || context.inSSR) {
+        return;
+      }
+      seen$1.add(node);
+      context.inVOnce = true;
+      context.helper(SET_BLOCK_TRACKING);
+      return () => {
+        context.inVOnce = false;
+        const cur = context.currentNode;
+        if (cur.codegenNode) {
+          cur.codegenNode = context.cache(
+            cur.codegenNode,
+            true
+            /* isVNode */
+          );
+        }
+      };
+    }
+  };
+
+  const transformModel$1 = (dir, node, context) => {
+    const { exp, arg } = dir;
+    if (!exp) {
+      context.onError(
+        createCompilerError(41, dir.loc)
+      );
+      return createTransformProps();
+    }
+    const rawExp = exp.loc.source;
+    const expString = exp.type === 4 ? exp.content : rawExp;
+    const bindingType = context.bindingMetadata[rawExp];
+    if (bindingType === "props" || bindingType === "props-aliased") {
+      context.onError(createCompilerError(44, exp.loc));
+      return createTransformProps();
+    }
+    const maybeRef = false;
+    if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {
+      context.onError(
+        createCompilerError(42, exp.loc)
+      );
+      return createTransformProps();
+    }
+    const propName = arg ? arg : createSimpleExpression("modelValue", true);
+    const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['"onUpdate:" + ', arg]) : `onUpdate:modelValue`;
+    let assignmentExp;
+    const eventArg = context.isTS ? `($event: any)` : `$event`;
+    {
+      assignmentExp = createCompoundExpression([
+        `${eventArg} => ((`,
+        exp,
+        `) = $event)`
+      ]);
+    }
+    const props = [
+      // modelValue: foo
+      createObjectProperty(propName, dir.exp),
+      // "onUpdate:modelValue": $event => (foo = $event)
+      createObjectProperty(eventName, assignmentExp)
+    ];
+    if (dir.modifiers.length && node.tagType === 1) {
+      const modifiers = dir.modifiers.map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);
+      const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + "Modifiers"']) : `modelModifiers`;
+      props.push(
+        createObjectProperty(
+          modifiersKey,
+          createSimpleExpression(
+            `{ ${modifiers} }`,
+            false,
+            dir.loc,
+            2
+          )
+        )
+      );
+    }
+    return createTransformProps(props);
+  };
+  function createTransformProps(props = []) {
+    return { props };
+  }
+
+  const seen = /* @__PURE__ */ new WeakSet();
+  const transformMemo = (node, context) => {
+    if (node.type === 1) {
+      const dir = findDir(node, "memo");
+      if (!dir || seen.has(node)) {
+        return;
+      }
+      seen.add(node);
+      return () => {
+        const codegenNode = node.codegenNode || context.currentNode.codegenNode;
+        if (codegenNode && codegenNode.type === 13) {
+          if (node.tagType !== 1) {
+            convertToBlock(codegenNode, context);
+          }
+          node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [
+            dir.exp,
+            createFunctionExpression(void 0, codegenNode),
+            `_cache`,
+            String(context.cached++)
+          ]);
+        }
+      };
+    }
+  };
+
+  function getBaseTransformPreset(prefixIdentifiers) {
+    return [
+      [
+        transformOnce,
+        transformIf,
+        transformMemo,
+        transformFor,
+        ...[],
+        ...[transformExpression] ,
+        transformSlotOutlet,
+        transformElement,
+        trackSlotScopes,
+        transformText
+      ],
+      {
+        on: transformOn$1,
+        bind: transformBind,
+        model: transformModel$1
+      }
+    ];
+  }
+  function baseCompile(template, options = {}) {
+    const onError = options.onError || defaultOnError;
+    const isModuleMode = options.mode === "module";
+    {
+      if (options.prefixIdentifiers === true) {
+        onError(createCompilerError(47));
+      } else if (isModuleMode) {
+        onError(createCompilerError(48));
+      }
+    }
+    const prefixIdentifiers = false;
+    if (options.cacheHandlers) {
+      onError(createCompilerError(49));
+    }
+    if (options.scopeId && !isModuleMode) {
+      onError(createCompilerError(50));
+    }
+    const ast = isString(template) ? baseParse(template, options) : template;
+    const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();
+    transform(
+      ast,
+      extend({}, options, {
+        prefixIdentifiers,
+        nodeTransforms: [
+          ...nodeTransforms,
+          ...options.nodeTransforms || []
+          // user transforms
+        ],
+        directiveTransforms: extend(
+          {},
+          directiveTransforms,
+          options.directiveTransforms || {}
+          // user transforms
+        )
+      })
+    );
+    return generate(
+      ast,
+      extend({}, options, {
+        prefixIdentifiers
+      })
+    );
+  }
+
+  const noopDirectiveTransform = () => ({ props: [] });
+
+  const V_MODEL_RADIO = Symbol(`vModelRadio` );
+  const V_MODEL_CHECKBOX = Symbol(`vModelCheckbox` );
+  const V_MODEL_TEXT = Symbol(`vModelText` );
+  const V_MODEL_SELECT = Symbol(`vModelSelect` );
+  const V_MODEL_DYNAMIC = Symbol(`vModelDynamic` );
+  const V_ON_WITH_MODIFIERS = Symbol(`vOnModifiersGuard` );
+  const V_ON_WITH_KEYS = Symbol(`vOnKeysGuard` );
+  const V_SHOW = Symbol(`vShow` );
+  const TRANSITION = Symbol(`Transition` );
+  const TRANSITION_GROUP = Symbol(`TransitionGroup` );
+  registerRuntimeHelpers({
+    [V_MODEL_RADIO]: `vModelRadio`,
+    [V_MODEL_CHECKBOX]: `vModelCheckbox`,
+    [V_MODEL_TEXT]: `vModelText`,
+    [V_MODEL_SELECT]: `vModelSelect`,
+    [V_MODEL_DYNAMIC]: `vModelDynamic`,
+    [V_ON_WITH_MODIFIERS]: `withModifiers`,
+    [V_ON_WITH_KEYS]: `withKeys`,
+    [V_SHOW]: `vShow`,
+    [TRANSITION]: `Transition`,
+    [TRANSITION_GROUP]: `TransitionGroup`
+  });
+
+  let decoder;
+  function decodeHtmlBrowser(raw, asAttr = false) {
+    if (!decoder) {
+      decoder = document.createElement("div");
+    }
+    if (asAttr) {
+      decoder.innerHTML = `<div foo="${raw.replace(/"/g, "&quot;")}">`;
+      return decoder.children[0].getAttribute("foo");
+    } else {
+      decoder.innerHTML = raw;
+      return decoder.textContent;
+    }
+  }
+
+  const isRawTextContainer = /* @__PURE__ */ makeMap(
+    "style,iframe,script,noscript",
+    true
+  );
+  const parserOptions = {
+    isVoidTag,
+    isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag),
+    isPreTag: (tag) => tag === "pre",
+    decodeEntities: decodeHtmlBrowser ,
+    isBuiltInComponent: (tag) => {
+      if (isBuiltInType(tag, `Transition`)) {
+        return TRANSITION;
+      } else if (isBuiltInType(tag, `TransitionGroup`)) {
+        return TRANSITION_GROUP;
+      }
+    },
+    // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher
+    getNamespace(tag, parent) {
+      let ns = parent ? parent.ns : 0;
+      if (parent && ns === 2) {
+        if (parent.tag === "annotation-xml") {
+          if (tag === "svg") {
+            return 1;
+          }
+          if (parent.props.some(
+            (a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml")
+          )) {
+            ns = 0;
+          }
+        } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") {
+          ns = 0;
+        }
+      } else if (parent && ns === 1) {
+        if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") {
+          ns = 0;
+        }
+      }
+      if (ns === 0) {
+        if (tag === "svg") {
+          return 1;
+        }
+        if (tag === "math") {
+          return 2;
+        }
+      }
+      return ns;
+    },
+    // https://html.spec.whatwg.org/multipage/parsing.html#parsing-html-fragments
+    getTextMode({ tag, ns }) {
+      if (ns === 0) {
+        if (tag === "textarea" || tag === "title") {
+          return 1;
+        }
+        if (isRawTextContainer(tag)) {
+          return 2;
+        }
+      }
+      return 0;
+    }
+  };
+
+  const transformStyle = (node) => {
+    if (node.type === 1) {
+      node.props.forEach((p, i) => {
+        if (p.type === 6 && p.name === "style" && p.value) {
+          node.props[i] = {
+            type: 7,
+            name: `bind`,
+            arg: createSimpleExpression(`style`, true, p.loc),
+            exp: parseInlineCSS(p.value.content, p.loc),
+            modifiers: [],
+            loc: p.loc
+          };
+        }
+      });
+    }
+  };
+  const parseInlineCSS = (cssText, loc) => {
+    const normalized = parseStringStyle(cssText);
+    return createSimpleExpression(
+      JSON.stringify(normalized),
+      false,
+      loc,
+      3
+    );
+  };
+
+  function createDOMCompilerError(code, loc) {
+    return createCompilerError(
+      code,
+      loc,
+      DOMErrorMessages 
+    );
+  }
+  const DOMErrorMessages = {
+    [53]: `v-html is missing expression.`,
+    [54]: `v-html will override element children.`,
+    [55]: `v-text is missing expression.`,
+    [56]: `v-text will override element children.`,
+    [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
+    [58]: `v-model argument is not supported on plain elements.`,
+    [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
+    [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
+    [61]: `v-show is missing expression.`,
+    [62]: `<Transition> expects exactly one child element or component.`,
+    [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
+  };
+
+  const transformVHtml = (dir, node, context) => {
+    const { exp, loc } = dir;
+    if (!exp) {
+      context.onError(
+        createDOMCompilerError(53, loc)
+      );
+    }
+    if (node.children.length) {
+      context.onError(
+        createDOMCompilerError(54, loc)
+      );
+      node.children.length = 0;
+    }
+    return {
+      props: [
+        createObjectProperty(
+          createSimpleExpression(`innerHTML`, true, loc),
+          exp || createSimpleExpression("", true)
+        )
+      ]
+    };
+  };
+
+  const transformVText = (dir, node, context) => {
+    const { exp, loc } = dir;
+    if (!exp) {
+      context.onError(
+        createDOMCompilerError(55, loc)
+      );
+    }
+    if (node.children.length) {
+      context.onError(
+        createDOMCompilerError(56, loc)
+      );
+      node.children.length = 0;
+    }
+    return {
+      props: [
+        createObjectProperty(
+          createSimpleExpression(`textContent`, true),
+          exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(
+            context.helperString(TO_DISPLAY_STRING),
+            [exp],
+            loc
+          ) : createSimpleExpression("", true)
+        )
+      ]
+    };
+  };
+
+  const transformModel = (dir, node, context) => {
+    const baseResult = transformModel$1(dir, node, context);
+    if (!baseResult.props.length || node.tagType === 1) {
+      return baseResult;
+    }
+    if (dir.arg) {
+      context.onError(
+        createDOMCompilerError(
+          58,
+          dir.arg.loc
+        )
+      );
+    }
+    function checkDuplicatedValue() {
+      const value = findProp(node, "value");
+      if (value) {
+        context.onError(
+          createDOMCompilerError(
+            60,
+            value.loc
+          )
+        );
+      }
+    }
+    const { tag } = node;
+    const isCustomElement = context.isCustomElement(tag);
+    if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) {
+      let directiveToUse = V_MODEL_TEXT;
+      let isInvalidType = false;
+      if (tag === "input" || isCustomElement) {
+        const type = findProp(node, `type`);
+        if (type) {
+          if (type.type === 7) {
+            directiveToUse = V_MODEL_DYNAMIC;
+          } else if (type.value) {
+            switch (type.value.content) {
+              case "radio":
+                directiveToUse = V_MODEL_RADIO;
+                break;
+              case "checkbox":
+                directiveToUse = V_MODEL_CHECKBOX;
+                break;
+              case "file":
+                isInvalidType = true;
+                context.onError(
+                  createDOMCompilerError(
+                    59,
+                    dir.loc
+                  )
+                );
+                break;
+              default:
+                checkDuplicatedValue();
+                break;
+            }
+          }
+        } else if (hasDynamicKeyVBind(node)) {
+          directiveToUse = V_MODEL_DYNAMIC;
+        } else {
+          checkDuplicatedValue();
+        }
+      } else if (tag === "select") {
+        directiveToUse = V_MODEL_SELECT;
+      } else {
+        checkDuplicatedValue();
+      }
+      if (!isInvalidType) {
+        baseResult.needRuntime = context.helper(directiveToUse);
+      }
+    } else {
+      context.onError(
+        createDOMCompilerError(
+          57,
+          dir.loc
+        )
+      );
+    }
+    baseResult.props = baseResult.props.filter(
+      (p) => !(p.key.type === 4 && p.key.content === "modelValue")
+    );
+    return baseResult;
+  };
+
+  const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
+  const isNonKeyModifier = /* @__PURE__ */ makeMap(
+    // event propagation management
+    `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`
+  );
+  const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
+  const isKeyboardEvent = /* @__PURE__ */ makeMap(
+    `onkeyup,onkeydown,onkeypress`,
+    true
+  );
+  const resolveModifiers = (key, modifiers, context, loc) => {
+    const keyModifiers = [];
+    const nonKeyModifiers = [];
+    const eventOptionModifiers = [];
+    for (let i = 0; i < modifiers.length; i++) {
+      const modifier = modifiers[i];
+      if (isEventOptionModifier(modifier)) {
+        eventOptionModifiers.push(modifier);
+      } else {
+        if (maybeKeyModifier(modifier)) {
+          if (isStaticExp(key)) {
+            if (isKeyboardEvent(key.content)) {
+              keyModifiers.push(modifier);
+            } else {
+              nonKeyModifiers.push(modifier);
+            }
+          } else {
+            keyModifiers.push(modifier);
+            nonKeyModifiers.push(modifier);
+          }
+        } else {
+          if (isNonKeyModifier(modifier)) {
+            nonKeyModifiers.push(modifier);
+          } else {
+            keyModifiers.push(modifier);
+          }
+        }
+      }
+    }
+    return {
+      keyModifiers,
+      nonKeyModifiers,
+      eventOptionModifiers
+    };
+  };
+  const transformClick = (key, event) => {
+    const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === "onclick";
+    return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([
+      `(`,
+      key,
+      `) === "onClick" ? "${event}" : (`,
+      key,
+      `)`
+    ]) : key;
+  };
+  const transformOn = (dir, node, context) => {
+    return transformOn$1(dir, node, context, (baseResult) => {
+      const { modifiers } = dir;
+      if (!modifiers.length)
+        return baseResult;
+      let { key, value: handlerExp } = baseResult.props[0];
+      const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);
+      if (nonKeyModifiers.includes("right")) {
+        key = transformClick(key, `onContextmenu`);
+      }
+      if (nonKeyModifiers.includes("middle")) {
+        key = transformClick(key, `onMouseup`);
+      }
+      if (nonKeyModifiers.length) {
+        handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [
+          handlerExp,
+          JSON.stringify(nonKeyModifiers)
+        ]);
+      }
+      if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard
+      (!isStaticExp(key) || isKeyboardEvent(key.content))) {
+        handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [
+          handlerExp,
+          JSON.stringify(keyModifiers)
+        ]);
+      }
+      if (eventOptionModifiers.length) {
+        const modifierPostfix = eventOptionModifiers.map(capitalize).join("");
+        key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]);
+      }
+      return {
+        props: [createObjectProperty(key, handlerExp)]
+      };
+    });
+  };
+
+  const transformShow = (dir, node, context) => {
+    const { exp, loc } = dir;
+    if (!exp) {
+      context.onError(
+        createDOMCompilerError(61, loc)
+      );
+    }
+    return {
+      props: [],
+      needRuntime: context.helper(V_SHOW)
+    };
+  };
+
+  const transformTransition = (node, context) => {
+    if (node.type === 1 && node.tagType === 1) {
+      const component = context.isBuiltInComponent(node.tag);
+      if (component === TRANSITION) {
+        return () => {
+          if (!node.children.length) {
+            return;
+          }
+          if (hasMultipleChildren(node)) {
+            context.onError(
+              createDOMCompilerError(
+                62,
+                {
+                  start: node.children[0].loc.start,
+                  end: node.children[node.children.length - 1].loc.end,
+                  source: ""
+                }
+              )
+            );
+          }
+          const child = node.children[0];
+          if (child.type === 1) {
+            for (const p of child.props) {
+              if (p.type === 7 && p.name === "show") {
+                node.props.push({
+                  type: 6,
+                  name: "persisted",
+                  value: void 0,
+                  loc: node.loc
+                });
+              }
+            }
+          }
+        };
+      }
+    }
+  };
+  function hasMultipleChildren(node) {
+    const children = node.children = node.children.filter(
+      (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())
+    );
+    const child = children[0];
+    return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);
+  }
+
+  const ignoreSideEffectTags = (node, context) => {
+    if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
+      context.onError(
+        createDOMCompilerError(
+          63,
+          node.loc
+        )
+      );
+      context.removeNode();
+    }
+  };
+
+  const DOMNodeTransforms = [
+    transformStyle,
+    ...[transformTransition] 
+  ];
+  const DOMDirectiveTransforms = {
+    cloak: noopDirectiveTransform,
+    html: transformVHtml,
+    text: transformVText,
+    model: transformModel,
+    // override compiler-core
+    on: transformOn,
+    // override compiler-core
+    show: transformShow
+  };
+  function compile(template, options = {}) {
+    return baseCompile(
+      template,
+      extend({}, parserOptions, options, {
+        nodeTransforms: [
+          // ignore <script> and <tag>
+          // this is not put inside DOMNodeTransforms because that list is used
+          // by compiler-ssr to generate vnode fallback branches
+          ignoreSideEffectTags,
+          ...DOMNodeTransforms,
+          ...options.nodeTransforms || []
+        ],
+        directiveTransforms: extend(
+          {},
+          DOMDirectiveTransforms,
+          options.directiveTransforms || {}
+        ),
+        transformHoist: null 
+      })
+    );
+  }
+
+  {
+    initDev();
+  }
+  const compileCache = /* @__PURE__ */ Object.create(null);
+  function compileToFunction(template, options) {
+    if (!isString(template)) {
+      if (template.nodeType) {
+        template = template.innerHTML;
+      } else {
+        warn(`invalid template option: `, template);
+        return NOOP;
+      }
+    }
+    const key = template;
+    const cached = compileCache[key];
+    if (cached) {
+      return cached;
+    }
+    if (template[0] === "#") {
+      const el = document.querySelector(template);
+      if (!el) {
+        warn(`Template element not found or is empty: ${template}`);
+      }
+      template = el ? el.innerHTML : ``;
+    }
+    const opts = extend(
+      {
+        hoistStatic: true,
+        onError: onError ,
+        onWarn: (e) => onError(e, true) 
+      },
+      options
+    );
+    if (!opts.isCustomElement && typeof customElements !== "undefined") {
+      opts.isCustomElement = (tag) => !!customElements.get(tag);
+    }
+    const { code } = compile(template, opts);
+    function onError(err, asWarning = false) {
+      const message = asWarning ? err.message : `Template compilation error: ${err.message}`;
+      const codeFrame = err.loc && generateCodeFrame(
+        template,
+        err.loc.start.offset,
+        err.loc.end.offset
+      );
+      warn(codeFrame ? `${message}
+${codeFrame}` : message);
+    }
+    const render = new Function(code)() ;
+    render._rc = true;
+    return compileCache[key] = render;
+  }
+  registerRuntimeCompiler(compileToFunction);
+
+  exports.BaseTransition = BaseTransition;
+  exports.BaseTransitionPropsValidators = BaseTransitionPropsValidators;
+  exports.Comment = Comment;
+  exports.EffectScope = EffectScope;
+  exports.Fragment = Fragment;
+  exports.KeepAlive = KeepAlive;
+  exports.ReactiveEffect = ReactiveEffect;
+  exports.Static = Static;
+  exports.Suspense = Suspense;
+  exports.Teleport = Teleport;
+  exports.Text = Text;
+  exports.Transition = Transition;
+  exports.TransitionGroup = TransitionGroup;
+  exports.VueElement = VueElement;
+  exports.assertNumber = assertNumber;
+  exports.callWithAsyncErrorHandling = callWithAsyncErrorHandling;
+  exports.callWithErrorHandling = callWithErrorHandling;
+  exports.camelize = camelize;
+  exports.capitalize = capitalize;
+  exports.cloneVNode = cloneVNode;
+  exports.compatUtils = compatUtils;
+  exports.compile = compileToFunction;
+  exports.computed = computed;
+  exports.createApp = createApp;
+  exports.createBlock = createBlock;
+  exports.createCommentVNode = createCommentVNode;
+  exports.createElementBlock = createElementBlock;
+  exports.createElementVNode = createBaseVNode;
+  exports.createHydrationRenderer = createHydrationRenderer;
+  exports.createPropsRestProxy = createPropsRestProxy;
+  exports.createRenderer = createRenderer;
+  exports.createSSRApp = createSSRApp;
+  exports.createSlots = createSlots;
+  exports.createStaticVNode = createStaticVNode;
+  exports.createTextVNode = createTextVNode;
+  exports.createVNode = createVNode;
+  exports.customRef = customRef;
+  exports.defineAsyncComponent = defineAsyncComponent;
+  exports.defineComponent = defineComponent;
+  exports.defineCustomElement = defineCustomElement;
+  exports.defineEmits = defineEmits;
+  exports.defineExpose = defineExpose;
+  exports.defineModel = defineModel;
+  exports.defineOptions = defineOptions;
+  exports.defineProps = defineProps;
+  exports.defineSSRCustomElement = defineSSRCustomElement;
+  exports.defineSlots = defineSlots;
+  exports.effect = effect;
+  exports.effectScope = effectScope;
+  exports.getCurrentInstance = getCurrentInstance;
+  exports.getCurrentScope = getCurrentScope;
+  exports.getTransitionRawChildren = getTransitionRawChildren;
+  exports.guardReactiveProps = guardReactiveProps;
+  exports.h = h;
+  exports.handleError = handleError;
+  exports.hasInjectionContext = hasInjectionContext;
+  exports.hydrate = hydrate;
+  exports.initCustomFormatter = initCustomFormatter;
+  exports.initDirectivesForSSR = initDirectivesForSSR;
+  exports.inject = inject;
+  exports.isMemoSame = isMemoSame;
+  exports.isProxy = isProxy;
+  exports.isReactive = isReactive;
+  exports.isReadonly = isReadonly;
+  exports.isRef = isRef;
+  exports.isRuntimeOnly = isRuntimeOnly;
+  exports.isShallow = isShallow;
+  exports.isVNode = isVNode;
+  exports.markRaw = markRaw;
+  exports.mergeDefaults = mergeDefaults;
+  exports.mergeModels = mergeModels;
+  exports.mergeProps = mergeProps;
+  exports.nextTick = nextTick;
+  exports.normalizeClass = normalizeClass;
+  exports.normalizeProps = normalizeProps;
+  exports.normalizeStyle = normalizeStyle;
+  exports.onActivated = onActivated;
+  exports.onBeforeMount = onBeforeMount;
+  exports.onBeforeUnmount = onBeforeUnmount;
+  exports.onBeforeUpdate = onBeforeUpdate;
+  exports.onDeactivated = onDeactivated;
+  exports.onErrorCaptured = onErrorCaptured;
+  exports.onMounted = onMounted;
+  exports.onRenderTracked = onRenderTracked;
+  exports.onRenderTriggered = onRenderTriggered;
+  exports.onScopeDispose = onScopeDispose;
+  exports.onServerPrefetch = onServerPrefetch;
+  exports.onUnmounted = onUnmounted;
+  exports.onUpdated = onUpdated;
+  exports.openBlock = openBlock;
+  exports.popScopeId = popScopeId;
+  exports.provide = provide;
+  exports.proxyRefs = proxyRefs;
+  exports.pushScopeId = pushScopeId;
+  exports.queuePostFlushCb = queuePostFlushCb;
+  exports.reactive = reactive;
+  exports.readonly = readonly;
+  exports.ref = ref;
+  exports.registerRuntimeCompiler = registerRuntimeCompiler;
+  exports.render = render;
+  exports.renderList = renderList;
+  exports.renderSlot = renderSlot;
+  exports.resolveComponent = resolveComponent;
+  exports.resolveDirective = resolveDirective;
+  exports.resolveDynamicComponent = resolveDynamicComponent;
+  exports.resolveFilter = resolveFilter;
+  exports.resolveTransitionHooks = resolveTransitionHooks;
+  exports.setBlockTracking = setBlockTracking;
+  exports.setDevtoolsHook = setDevtoolsHook;
+  exports.setTransitionHooks = setTransitionHooks;
+  exports.shallowReactive = shallowReactive;
+  exports.shallowReadonly = shallowReadonly;
+  exports.shallowRef = shallowRef;
+  exports.ssrContextKey = ssrContextKey;
+  exports.ssrUtils = ssrUtils;
+  exports.stop = stop;
+  exports.toDisplayString = toDisplayString;
+  exports.toHandlerKey = toHandlerKey;
+  exports.toHandlers = toHandlers;
+  exports.toRaw = toRaw;
+  exports.toRef = toRef;
+  exports.toRefs = toRefs;
+  exports.toValue = toValue;
+  exports.transformVNodeArgs = transformVNodeArgs;
+  exports.triggerRef = triggerRef;
+  exports.unref = unref;
+  exports.useAttrs = useAttrs;
+  exports.useCssModule = useCssModule;
+  exports.useCssVars = useCssVars;
+  exports.useModel = useModel;
+  exports.useSSRContext = useSSRContext;
+  exports.useSlots = useSlots;
+  exports.useTransitionState = useTransitionState;
+  exports.vModelCheckbox = vModelCheckbox;
+  exports.vModelDynamic = vModelDynamic;
+  exports.vModelRadio = vModelRadio;
+  exports.vModelSelect = vModelSelect;
+  exports.vModelText = vModelText;
+  exports.vShow = vShow;
+  exports.version = version;
+  exports.warn = warn;
+  exports.watch = watch;
+  exports.watchEffect = watchEffect;
+  exports.watchPostEffect = watchPostEffect;
+  exports.watchSyncEffect = watchSyncEffect;
+  exports.withAsyncContext = withAsyncContext;
+  exports.withCtx = withCtx;
+  exports.withDefaults = withDefaults;
+  exports.withDirectives = withDirectives;
+  exports.withKeys = withKeys;
+  exports.withMemo = withMemo;
+  exports.withModifiers = withModifiers;
+  exports.withScopeId = withScopeId;
+
+  return exports;
+
+})({});
diff --git a/src/cdh/vue3/static/cdh.vue3/vue/vue.global.prod.js b/src/cdh/vue3/static/cdh.vue3/vue/vue.global.prod.js
new file mode 100644
index 00000000..dffd3a12
--- /dev/null
+++ b/src/cdh/vue3/static/cdh.vue3/vue/vue.global.prod.js
@@ -0,0 +1 @@
+var Vue=function(e){"use strict";function t(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r<o.length;r++)n[o[r]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}const n={},o=[],r=()=>{},s=()=>!1,i=/^on[^a-z]/,l=e=>i.test(e),c=e=>e.startsWith("onUpdate:"),a=Object.assign,u=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},p=Object.prototype.hasOwnProperty,f=(e,t)=>p.call(e,t),d=Array.isArray,h=e=>"[object Map]"===C(e),m=e=>"[object Set]"===C(e),g=e=>"[object Date]"===C(e),v=e=>"function"==typeof e,y=e=>"string"==typeof e,_=e=>"symbol"==typeof e,b=e=>null!==e&&"object"==typeof e,S=e=>b(e)&&v(e.then)&&v(e.catch),x=Object.prototype.toString,C=e=>x.call(e),k=e=>"[object Object]"===C(e),w=e=>y(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,T=t(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),E=t("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),N=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},O=/-(\w)/g,$=N((e=>e.replace(O,((e,t)=>t?t.toUpperCase():"")))),P=/\B([A-Z])/g,A=N((e=>e.replace(P,"-$1").toLowerCase())),F=N((e=>e.charAt(0).toUpperCase()+e.slice(1))),R=N((e=>e?`on${F(e)}`:"")),M=(e,t)=>!Object.is(e,t),V=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},I=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},B=e=>{const t=parseFloat(e);return isNaN(t)?e:t},L=e=>{const t=y(e)?Number(e):NaN;return isNaN(t)?e:t};let j;const U=t("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console");function D(e){if(d(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],r=y(o)?K(o):D(o);if(r)for(const e in r)t[e]=r[e]}return t}return y(e)||b(e)?e:void 0}const H=/;(?![^(]*\))/g,W=/:([^]+)/,z=/\/\*[^]*?\*\//g;function K(e){const t={};return e.replace(z,"").split(H).forEach((e=>{if(e){const n=e.split(W);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function G(e){let t="";if(y(e))t=e;else if(d(e))for(let n=0;n<e.length;n++){const o=G(e[n]);o&&(t+=o+" ")}else if(b(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const q=t("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"),J=t("svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"),Z=t("area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"),Y=t("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Q(e){return!!e||""===e}function X(e,t){if(e===t)return!0;let n=g(e),o=g(t);if(n||o)return!(!n||!o)&&e.getTime()===t.getTime();if(n=_(e),o=_(t),n||o)return e===t;if(n=d(e),o=d(t),n||o)return!(!n||!o)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let o=0;n&&o<e.length;o++)n=X(e[o],t[o]);return n}(e,t);if(n=b(e),o=b(t),n||o){if(!n||!o)return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e){const o=e.hasOwnProperty(n),r=t.hasOwnProperty(n);if(o&&!r||!o&&r||!X(e[n],t[n]))return!1}}return String(e)===String(t)}function ee(e,t){return e.findIndex((e=>X(e,t)))}const te=(e,t)=>t&&t.__v_isRef?te(e,t.value):h(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:m(t)?{[`Set(${t.size})`]:[...t.values()]}:!b(t)||d(t)||k(t)?t:String(t);let ne;class oe{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ne,!e&&ne&&(this.index=(ne.scopes||(ne.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=ne;try{return ne=this,e()}finally{ne=t}}}on(){ne=this}off(){ne=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);if(!this.detached&&this.parent&&!e){const e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0,this._active=!1}}}function re(e,t=ne){t&&t.active&&t.effects.push(e)}function se(){return ne}const ie=e=>{const t=new Set(e);return t.w=0,t.n=0,t},le=e=>(e.w&pe)>0,ce=e=>(e.n&pe)>0,ae=new WeakMap;let ue=0,pe=1;let fe;const de=Symbol(""),he=Symbol("");class me{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,re(this,n)}run(){if(!this.active)return this.fn();let e=fe,t=ve;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=fe,fe=this,ve=!0,pe=1<<++ue,ue<=30?(({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=pe})(this):ge(this),this.fn()}finally{ue<=30&&(e=>{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o<t.length;o++){const r=t[o];le(r)&&!ce(r)?r.delete(e):t[n++]=r,r.w&=~pe,r.n&=~pe}t.length=n}})(this),pe=1<<--ue,fe=this.parent,ve=t,this.parent=void 0,this.deferStop&&this.stop()}}stop(){fe===this?this.deferStop=!0:this.active&&(ge(this),this.onStop&&this.onStop(),this.active=!1)}}function ge(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let ve=!0;const ye=[];function _e(){ye.push(ve),ve=!1}function be(){const e=ye.pop();ve=void 0===e||e}function Se(e,t,n){if(ve&&fe){let t=ae.get(e);t||ae.set(e,t=new Map);let o=t.get(n);o||t.set(n,o=ie()),xe(o)}}function xe(e,t){let n=!1;ue<=30?ce(e)||(e.n|=pe,n=!le(e)):n=!e.has(fe),n&&(e.add(fe),fe.deps.push(e))}function Ce(e,t,n,o,r,s){const i=ae.get(e);if(!i)return;let l=[];if("clear"===t)l=[...i.values()];else if("length"===n&&d(e)){const e=Number(o);i.forEach(((t,n)=>{("length"===n||n>=e)&&l.push(t)}))}else switch(void 0!==n&&l.push(i.get(n)),t){case"add":d(e)?w(n)&&l.push(i.get("length")):(l.push(i.get(de)),h(e)&&l.push(i.get(he)));break;case"delete":d(e)||(l.push(i.get(de)),h(e)&&l.push(i.get(he)));break;case"set":h(e)&&l.push(i.get(de))}if(1===l.length)l[0]&&ke(l[0]);else{const e=[];for(const t of l)t&&e.push(...t);ke(ie(e))}}function ke(e,t){const n=d(e)?e:[...e];for(const o of n)o.computed&&we(o);for(const o of n)o.computed||we(o)}function we(e,t){(e!==fe||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Te=t("__proto__,__v_isRef,__isVue"),Ee=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(_)),Ne=Me(),Oe=Me(!1,!0),$e=Me(!0),Pe=Me(!0,!0),Ae=Fe();function Fe(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=xt(this);for(let t=0,r=this.length;t<r;t++)Se(n,0,t+"");const o=n[t](...e);return-1===o||!1===o?n[t](...e.map(xt)):o}})),["push","pop","shift","unshift","splice"].forEach((t=>{e[t]=function(...e){_e();const n=xt(this)[t].apply(this,e);return be(),n}})),e}function Re(e){const t=xt(this);return Se(t,0,e),t.hasOwnProperty(e)}function Me(e=!1,t=!1){return function(n,o,r){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&r===(e?t?ft:pt:t?ut:at).get(n))return n;const s=d(n);if(!e){if(s&&f(Ae,o))return Reflect.get(Ae,o,r);if("hasOwnProperty"===o)return Re}const i=Reflect.get(n,o,r);return(_(o)?Ee.has(o):Te(o))?i:(e||Se(n,0,o),t?i:Nt(i)?s&&w(o)?i:i.value:b(i)?e?gt(i):ht(i):i)}}function Ve(e=!1){return function(t,n,o,r){let s=t[n];if(_t(s)&&Nt(s)&&!Nt(o))return!1;if(!e&&(bt(o)||_t(o)||(s=xt(s),o=xt(o)),!d(t)&&Nt(s)&&!Nt(o)))return s.value=o,!0;const i=d(t)&&w(n)?Number(n)<t.length:f(t,n),l=Reflect.set(t,n,o,r);return t===xt(r)&&(i?M(o,s)&&Ce(t,"set",n,o):Ce(t,"add",n,o)),l}}const Ie={get:Ne,set:Ve(),deleteProperty:function(e,t){const n=f(e,t),o=Reflect.deleteProperty(e,t);return o&&n&&Ce(e,"delete",t,void 0),o},has:function(e,t){const n=Reflect.has(e,t);return _(t)&&Ee.has(t)||Se(e,0,t),n},ownKeys:function(e){return Se(e,0,d(e)?"length":de),Reflect.ownKeys(e)}},Be={get:$e,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},Le=a({},Ie,{get:Oe,set:Ve(!0)}),je=a({},Be,{get:Pe}),Ue=e=>e,De=e=>Reflect.getPrototypeOf(e);function He(e,t,n=!1,o=!1){const r=xt(e=e.__v_raw),s=xt(t);n||(t!==s&&Se(r,0,t),Se(r,0,s));const{has:i}=De(r),l=o?Ue:n?wt:kt;return i.call(r,t)?l(e.get(t)):i.call(r,s)?l(e.get(s)):void(e!==r&&e.get(t))}function We(e,t=!1){const n=this.__v_raw,o=xt(n),r=xt(e);return t||(e!==r&&Se(o,0,e),Se(o,0,r)),e===r?n.has(e):n.has(e)||n.has(r)}function ze(e,t=!1){return e=e.__v_raw,!t&&Se(xt(e),0,de),Reflect.get(e,"size",e)}function Ke(e){e=xt(e);const t=xt(this);return De(t).has.call(t,e)||(t.add(e),Ce(t,"add",e,e)),this}function Ge(e,t){t=xt(t);const n=xt(this),{has:o,get:r}=De(n);let s=o.call(n,e);s||(e=xt(e),s=o.call(n,e));const i=r.call(n,e);return n.set(e,t),s?M(t,i)&&Ce(n,"set",e,t):Ce(n,"add",e,t),this}function qe(e){const t=xt(this),{has:n,get:o}=De(t);let r=n.call(t,e);r||(e=xt(e),r=n.call(t,e)),o&&o.call(t,e);const s=t.delete(e);return r&&Ce(t,"delete",e,void 0),s}function Je(){const e=xt(this),t=0!==e.size,n=e.clear();return t&&Ce(e,"clear",void 0,void 0),n}function Ze(e,t){return function(n,o){const r=this,s=r.__v_raw,i=xt(s),l=t?Ue:e?wt:kt;return!e&&Se(i,0,de),s.forEach(((e,t)=>n.call(o,l(e),l(t),r)))}}function Ye(e,t,n){return function(...o){const r=this.__v_raw,s=xt(r),i=h(s),l="entries"===e||e===Symbol.iterator&&i,c="keys"===e&&i,a=r[e](...o),u=n?Ue:t?wt:kt;return!t&&Se(s,0,c?he:de),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:l?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Qe(e){return function(...t){return"delete"!==e&&this}}function Xe(){const e={get(e){return He(this,e)},get size(){return ze(this)},has:We,add:Ke,set:Ge,delete:qe,clear:Je,forEach:Ze(!1,!1)},t={get(e){return He(this,e,!1,!0)},get size(){return ze(this)},has:We,add:Ke,set:Ge,delete:qe,clear:Je,forEach:Ze(!1,!0)},n={get(e){return He(this,e,!0)},get size(){return ze(this,!0)},has(e){return We.call(this,e,!0)},add:Qe("add"),set:Qe("set"),delete:Qe("delete"),clear:Qe("clear"),forEach:Ze(!0,!1)},o={get(e){return He(this,e,!0,!0)},get size(){return ze(this,!0)},has(e){return We.call(this,e,!0)},add:Qe("add"),set:Qe("set"),delete:Qe("delete"),clear:Qe("clear"),forEach:Ze(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=Ye(r,!1,!1),n[r]=Ye(r,!0,!1),t[r]=Ye(r,!1,!0),o[r]=Ye(r,!0,!0)})),[e,n,t,o]}const[et,tt,nt,ot]=Xe();function rt(e,t){const n=t?e?ot:nt:e?tt:et;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(f(n,o)&&o in t?n:t,o,r)}const st={get:rt(!1,!1)},it={get:rt(!1,!0)},lt={get:rt(!0,!1)},ct={get:rt(!0,!0)},at=new WeakMap,ut=new WeakMap,pt=new WeakMap,ft=new WeakMap;function dt(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>C(e).slice(8,-1))(e))}function ht(e){return _t(e)?e:vt(e,!1,Ie,st,at)}function mt(e){return vt(e,!1,Le,it,ut)}function gt(e){return vt(e,!0,Be,lt,pt)}function vt(e,t,n,o,r){if(!b(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const i=dt(e);if(0===i)return e;const l=new Proxy(e,2===i?o:n);return r.set(e,l),l}function yt(e){return _t(e)?yt(e.__v_raw):!(!e||!e.__v_isReactive)}function _t(e){return!(!e||!e.__v_isReadonly)}function bt(e){return!(!e||!e.__v_isShallow)}function St(e){return yt(e)||_t(e)}function xt(e){const t=e&&e.__v_raw;return t?xt(t):e}function Ct(e){return I(e,"__v_skip",!0),e}const kt=e=>b(e)?ht(e):e,wt=e=>b(e)?gt(e):e;function Tt(e){ve&&fe&&xe((e=xt(e)).dep||(e.dep=ie()))}function Et(e,t){const n=(e=xt(e)).dep;n&&ke(n)}function Nt(e){return!(!e||!0!==e.__v_isRef)}function Ot(e){return $t(e,!1)}function $t(e,t){return Nt(e)?e:new Pt(e,t)}class Pt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:xt(e),this._value=t?e:kt(e)}get value(){return Tt(this),this._value}set value(e){const t=this.__v_isShallow||bt(e)||_t(e);e=t?e:xt(e),M(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:kt(e),Et(this))}}function At(e){return Nt(e)?e.value:e}const Ft={get:(e,t,n)=>At(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Nt(r)&&!Nt(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function Rt(e){return yt(e)?e:new Proxy(e,Ft)}class Mt{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:n}=e((()=>Tt(this)),(()=>Et(this)));this._get=t,this._set=n}get value(){return this._get()}set value(e){this._set(e)}}class Vt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=xt(this._object),t=this._key,null==(n=ae.get(e))?void 0:n.get(t);var e,t,n}}class It{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Bt(e,t,n){const o=e[t];return Nt(o)?o:new Vt(e,t,n)}class Lt{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new me(e,(()=>{this._dirty||(this._dirty=!0,Et(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=xt(this);return Tt(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function jt(e,t,n,o){let r;try{r=o?e(...o):e()}catch(s){Dt(s,t,n)}return r}function Ut(e,t,n,o){if(v(e)){const r=jt(e,t,n,o);return r&&S(r)&&r.catch((e=>{Dt(e,t,n)})),r}const r=[];for(let s=0;s<e.length;s++)r.push(Ut(e[s],t,n,o));return r}function Dt(e,t,n,o=!0){if(t){let o=t.parent;const r=t.proxy,s=n;for(;o;){const t=o.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,r,s))return;o=o.parent}const i=t.appContext.config.errorHandler;if(i)return void jt(i,null,10,[e,r,s])}!function(e,t,n,o=!0){console.error(e)}(e,0,0,o)}let Ht=!1,Wt=!1;const zt=[];let Kt=0;const Gt=[];let qt=null,Jt=0;const Zt=Promise.resolve();let Yt=null;function Qt(e){const t=Yt||Zt;return e?t.then(this?e.bind(this):e):t}function Xt(e){zt.length&&zt.includes(e,Ht&&e.allowRecurse?Kt+1:Kt)||(null==e.id?zt.push(e):zt.splice(function(e){let t=Kt+1,n=zt.length;for(;t<n;){const o=t+n>>>1;rn(zt[o])<e?t=o+1:n=o}return t}(e.id),0,e),en())}function en(){Ht||Wt||(Wt=!0,Yt=Zt.then(ln))}function tn(e){d(e)?Gt.push(...e):qt&&qt.includes(e,e.allowRecurse?Jt+1:Jt)||Gt.push(e),en()}function nn(e,t=(Ht?Kt+1:0)){for(;t<zt.length;t++){const e=zt[t];e&&e.pre&&(zt.splice(t,1),t--,e())}}function on(e){if(Gt.length){const e=[...new Set(Gt)];if(Gt.length=0,qt)return void qt.push(...e);for(qt=e,qt.sort(((e,t)=>rn(e)-rn(t))),Jt=0;Jt<qt.length;Jt++)qt[Jt]();qt=null,Jt=0}}const rn=e=>null==e.id?1/0:e.id,sn=(e,t)=>{const n=rn(e)-rn(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ln(e){Wt=!1,Ht=!0,zt.sort(sn);try{for(Kt=0;Kt<zt.length;Kt++){const e=zt[Kt];e&&!1!==e.active&&jt(e,null,14)}}finally{Kt=0,zt.length=0,on(),Ht=!1,Yt=null,(zt.length||Gt.length)&&ln()}}e.devtools=void 0;let cn=[];function an(e,t,...o){if(e.isUnmounted)return;const r=e.vnode.props||n;let s=o;const i=t.startsWith("update:"),l=i&&t.slice(7);if(l&&l in r){const e=`${"modelValue"===l?"model":l}Modifiers`,{number:t,trim:i}=r[e]||n;i&&(s=o.map((e=>y(e)?e.trim():e))),t&&(s=o.map(B))}let c,a=r[c=R(t)]||r[c=R($(t))];!a&&i&&(a=r[c=R(A(t))]),a&&Ut(a,e,6,s);const u=r[c+"Once"];if(u){if(e.emitted){if(e.emitted[c])return}else e.emitted={};e.emitted[c]=!0,Ut(u,e,6,s)}}function un(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const s=e.emits;let i={},l=!1;if(!v(e)){const o=e=>{const n=un(e,t,!0);n&&(l=!0,a(i,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return s||l?(d(s)?s.forEach((e=>i[e]=null)):a(i,s),b(e)&&o.set(e,i),i):(b(e)&&o.set(e,null),null)}function pn(e,t){return!(!e||!l(t))&&(t=t.slice(2).replace(/Once$/,""),f(e,t[0].toLowerCase()+t.slice(1))||f(e,A(t))||f(e,t))}let fn=null,dn=null;function hn(e){const t=fn;return fn=e,dn=e&&e.type.__scopeId||null,t}function mn(e,t=fn,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&Pr(-1);const r=hn(t);let s;try{s=e(...n)}finally{hn(r),o._d&&Pr(1)}return s};return o._n=!0,o._c=!0,o._d=!0,o}function gn(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:s,propsOptions:[i],slots:l,attrs:a,emit:u,render:p,renderCache:f,data:d,setupState:h,ctx:m,inheritAttrs:g}=e;let v,y;const _=hn(e);try{if(4&n.shapeFlag){const e=r||o;v=Wr(p.call(e,e,f,s,h,d,m)),y=a}else{const e=t;0,v=Wr(e(s,e.length>1?{attrs:a,slots:l,emit:u}:null)),y=t.props?a:vn(a)}}catch(S){Tr.length=0,Dt(S,e,1),v=jr(kr)}let b=v;if(y&&!1!==g){const e=Object.keys(y),{shapeFlag:t}=b;e.length&&7&t&&(i&&e.some(c)&&(y=yn(y,i)),b=Dr(b,y))}return n.dirs&&(b=Dr(b),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&(b.transition=n.transition),v=b,hn(_),v}const vn=e=>{let t;for(const n in e)("class"===n||"style"===n||l(n))&&((t||(t={}))[n]=e[n]);return t},yn=(e,t)=>{const n={};for(const o in e)c(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function _n(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let r=0;r<o.length;r++){const s=o[r];if(t[s]!==e[s]&&!pn(n,s))return!0}return!1}function bn({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const Sn=e=>e.__isSuspense,xn={name:"Suspense",__isSuspense:!0,process(e,t,n,o,r,s,i,l,c,a){null==e?function(e,t,n,o,r,s,i,l,c){const{p:a,o:{createElement:u}}=c,p=u("div"),f=e.suspense=kn(e,r,o,t,p,n,s,i,l,c);a(null,f.pendingBranch=e.ssContent,p,null,o,f,s,i),f.deps>0?(Cn(e,"onPending"),Cn(e,"onFallback"),a(null,e.ssFallback,t,n,o,null,s,i),En(f,e.ssFallback)):f.resolve(!1,!0)}(t,n,o,r,s,i,l,c,a):function(e,t,n,o,r,s,i,l,{p:c,um:a,o:{createElement:u}}){const p=t.suspense=e.suspense;p.vnode=t,t.el=e.el;const f=t.ssContent,d=t.ssFallback,{activeBranch:h,pendingBranch:m,isInFallback:g,isHydrating:v}=p;if(m)p.pendingBranch=f,Mr(f,m)?(c(m,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0?p.resolve():g&&(c(h,d,n,o,r,null,s,i,l),En(p,d))):(p.pendingId++,v?(p.isHydrating=!1,p.activeBranch=m):a(m,r,p),p.deps=0,p.effects.length=0,p.hiddenContainer=u("div"),g?(c(null,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0?p.resolve():(c(h,d,n,o,r,null,s,i,l),En(p,d))):h&&Mr(f,h)?(c(h,f,n,o,r,p,s,i,l),p.resolve(!0)):(c(null,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0&&p.resolve()));else if(h&&Mr(f,h))c(h,f,n,o,r,p,s,i,l),En(p,f);else if(Cn(t,"onPending"),p.pendingBranch=f,p.pendingId++,c(null,f,p.hiddenContainer,null,r,p,s,i,l),p.deps<=0)p.resolve();else{const{timeout:e,pendingId:t}=p;e>0?setTimeout((()=>{p.pendingId===t&&p.fallback(d)}),e):0===e&&p.fallback(d)}}(e,t,n,o,r,i,l,c,a)},hydrate:function(e,t,n,o,r,s,i,l,c){const a=t.suspense=kn(t,o,n,e.parentNode,document.createElement("div"),null,r,s,i,l,!0),u=c(e,a.pendingBranch=t.ssContent,n,a,s,i);0===a.deps&&a.resolve(!1,!0);return u},create:kn,normalize:function(e){const{shapeFlag:t,children:n}=e,o=32&t;e.ssContent=wn(o?n.default:n),e.ssFallback=o?wn(n.fallback):jr(kr)}};function Cn(e,t){const n=e.props&&e.props[t];v(n)&&n()}function kn(e,t,n,o,r,s,i,l,c,a,u=!1){const{p:p,m:f,um:d,n:h,o:{parentNode:m,remove:g}}=a;let v;const y=function(e){var t;return null!=(null==(t=e.props)?void 0:t.suspensible)&&!1!==e.props.suspensible}(e);y&&(null==t?void 0:t.pendingBranch)&&(v=t.pendingId,t.deps++);const _=e.props?L(e.props.timeout):void 0,b={vnode:e,parent:t,parentComponent:n,isSVG:i,container:o,hiddenContainer:r,anchor:s,deps:0,pendingId:0,timeout:"number"==typeof _?_:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:o,activeBranch:r,pendingBranch:s,pendingId:i,effects:l,parentComponent:c,container:a}=b;if(b.isHydrating)b.isHydrating=!1;else if(!e){const e=r&&s.transition&&"out-in"===s.transition.mode;e&&(r.transition.afterLeave=()=>{i===b.pendingId&&f(s,a,t,0)});let{anchor:t}=b;r&&(t=h(r),d(r,c,b,!0)),e||f(s,a,t,0)}En(b,s),b.pendingBranch=null,b.isInFallback=!1;let u=b.parent,p=!1;for(;u;){if(u.pendingBranch){u.effects.push(...l),p=!0;break}u=u.parent}p||tn(l),b.effects=[],y&&t&&t.pendingBranch&&v===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),Cn(o,"onResolve")},fallback(e){if(!b.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:o,container:r,isSVG:s}=b;Cn(t,"onFallback");const i=h(n),a=()=>{b.isInFallback&&(p(null,e,r,i,o,null,s,l,c),En(b,e))},u=e.transition&&"out-in"===e.transition.mode;u&&(n.transition.afterLeave=a),b.isInFallback=!0,d(n,o,null,!0),u||a()},move(e,t,n){b.activeBranch&&f(b.activeBranch,e,t,n),b.container=e},next:()=>b.activeBranch&&h(b.activeBranch),registerDep(e,t){const n=!!b.pendingBranch;n&&b.deps++;const o=e.vnode.el;e.asyncDep.catch((t=>{Dt(t,e,0)})).then((r=>{if(e.isUnmounted||b.isUnmounted||b.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:s}=e;is(e,r,!1),o&&(s.el=o);const l=!o&&e.subTree.el;t(e,s,m(o||e.subTree.el),o?null:h(e.subTree),b,i,c),l&&g(l),bn(e,s.el),n&&0==--b.deps&&b.resolve()}))},unmount(e,t){b.isUnmounted=!0,b.activeBranch&&d(b.activeBranch,n,e,t),b.pendingBranch&&d(b.pendingBranch,n,e,t)}};return b}function wn(e){let t;if(v(e)){const n=$r&&e._c;n&&(e._d=!1,Nr()),e=e(),n&&(e._d=!0,t=Er,Or())}if(d(e)){const t=function(e){let t;for(let n=0;n<e.length;n++){const o=e[n];if(!Rr(o))return;if(o.type!==kr||"v-if"===o.children){if(t)return;t=o}}return t}(e);e=t}return e=Wr(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter((t=>t!==e))),e}function Tn(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):tn(e)}function En(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e,r=n.el=t.el;o&&o.subTree===n&&(o.vnode.el=r,bn(o,r))}function Nn(e,t){return Pn(e,null,{flush:"post"})}const On={};function $n(e,t,n){return Pn(e,t,n)}function Pn(e,t,{immediate:o,deep:s,flush:i}=n){var l;const c=se()===(null==(l=Yr)?void 0:l.scope)?Yr:null;let a,p,f=!1,h=!1;if(Nt(e)?(a=()=>e.value,f=bt(e)):yt(e)?(a=()=>e,s=!0):d(e)?(h=!0,f=e.some((e=>yt(e)||bt(e))),a=()=>e.map((e=>Nt(e)?e.value:yt(e)?Rn(e):v(e)?jt(e,c,2):void 0))):a=v(e)?t?()=>jt(e,c,2):()=>{if(!c||!c.isUnmounted)return p&&p(),Ut(e,c,3,[m])}:r,t&&s){const e=a;a=()=>Rn(e())}let m=e=>{p=b.onStop=()=>{jt(e,c,4)}},g=h?new Array(e.length).fill(On):On;const y=()=>{if(b.active)if(t){const e=b.run();(s||f||(h?e.some(((e,t)=>M(e,g[t]))):M(e,g)))&&(p&&p(),Ut(t,c,3,[e,g===On?void 0:h&&g[0]===On?[]:g,m]),g=e)}else b.run()};let _;y.allowRecurse=!!t,"sync"===i?_=y:"post"===i?_=()=>ur(y,c&&c.suspense):(y.pre=!0,c&&(y.id=c.uid),_=()=>Xt(y));const b=new me(a,_);t?o?y():g=b.run():"post"===i?ur(b.run.bind(b),c&&c.suspense):b.run();return()=>{b.stop(),c&&c.scope&&u(c.scope.effects,b)}}function An(e,t,n){const o=this.proxy,r=y(e)?e.includes(".")?Fn(o,e):()=>o[e]:e.bind(o,o);let s;v(t)?s=t:(s=t.handler,n=t);const i=Yr;es(this);const l=Pn(r,s.bind(o),n);return i?es(i):ts(),l}function Fn(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}function Rn(e,t){if(!b(e)||e.__v_skip)return e;if((t=t||new Set).has(e))return e;if(t.add(e),Nt(e))Rn(e.value,t);else if(d(e))for(let n=0;n<e.length;n++)Rn(e[n],t);else if(m(e)||h(e))e.forEach((e=>{Rn(e,t)}));else if(k(e))for(const n in e)Rn(e[n],t);return e}function Mn(e,t,n,o){const r=e.dirs,s=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];s&&(l.oldValue=s[i].value);let c=l.dir[o];c&&(_e(),Ut(c,n,8,[e.el,l,e,t]),be())}}function Vn(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return lo((()=>{e.isMounted=!0})),uo((()=>{e.isUnmounting=!0})),e}const In=[Function,Array],Bn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:In,onEnter:In,onAfterEnter:In,onEnterCancelled:In,onBeforeLeave:In,onLeave:In,onAfterLeave:In,onLeaveCancelled:In,onBeforeAppear:In,onAppear:In,onAfterAppear:In,onAppearCancelled:In},Ln={name:"BaseTransition",props:Bn,setup(e,{slots:t}){const n=Qr(),o=Vn();let r;return()=>{const s=t.default&&zn(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1)for(const e of s)if(e.type!==kr){i=e;break}const l=xt(e),{mode:c}=l;if(o.isLeaving)return Dn(i);const a=Hn(i);if(!a)return Dn(i);const u=Un(a,l,o,n);Wn(a,u);const p=n.subTree,f=p&&Hn(p);let d=!1;const{getTransitionKey:h}=a.type;if(h){const e=h();void 0===r?r=e:e!==r&&(r=e,d=!0)}if(f&&f.type!==kr&&(!Mr(a,f)||d)){const e=Un(f,l,o,n);if(Wn(f,e),"out-in"===c)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},Dn(i);"in-out"===c&&a.type!==kr&&(e.delayLeave=(e,t,n)=>{jn(o,f)[String(f.key)]=f,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return i}}};function jn(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Un(e,t,n,o){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:u,onBeforeLeave:p,onLeave:f,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:g,onAppear:v,onAfterAppear:y,onAppearCancelled:_}=t,b=String(e.key),S=jn(n,e),x=(e,t)=>{e&&Ut(e,o,9,t)},C=(e,t)=>{const n=t[1];x(e,t),d(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},k={mode:s,persisted:i,beforeEnter(t){let o=l;if(!n.isMounted){if(!r)return;o=g||l}t._leaveCb&&t._leaveCb(!0);const s=S[b];s&&Mr(e,s)&&s.el._leaveCb&&s.el._leaveCb(),x(o,[t])},enter(e){let t=c,o=a,s=u;if(!n.isMounted){if(!r)return;t=v||c,o=y||a,s=_||u}let i=!1;const l=e._enterCb=t=>{i||(i=!0,x(t?s:o,[e]),k.delayedLeave&&k.delayedLeave(),e._enterCb=void 0)};t?C(t,[e,l]):l()},leave(t,o){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return o();x(p,[t]);let s=!1;const i=t._leaveCb=n=>{s||(s=!0,o(),x(n?m:h,[t]),t._leaveCb=void 0,S[r]===e&&delete S[r])};S[r]=e,f?C(f,[t,i]):i()},clone:e=>Un(e,t,n,o)};return k}function Dn(e){if(Jn(e))return(e=Dr(e)).children=null,e}function Hn(e){return Jn(e)?e.children?e.children[0]:void 0:e}function Wn(e,t){6&e.shapeFlag&&e.component?Wn(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function zn(e,t=!1,n){let o=[],r=0;for(let s=0;s<e.length;s++){let i=e[s];const l=null==n?i.key:String(n)+String(null!=i.key?i.key:s);i.type===xr?(128&i.patchFlag&&r++,o=o.concat(zn(i.children,t,l))):(t||i.type!==kr)&&o.push(null!=l?Dr(i,{key:l}):i)}if(r>1)for(let s=0;s<o.length;s++)o[s].patchFlag=-2;return o}function Kn(e,t){return v(e)?(()=>a({name:e.name},t,{setup:e}))():e}const Gn=e=>!!e.type.__asyncLoader;function qn(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,i=jr(e,o,r);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Jn=e=>e.type.__isKeepAlive,Zn={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Qr(),o=n.ctx,r=new Map,s=new Set;let i=null;const l=n.suspense,{renderer:{p:c,m:a,um:u,o:{createElement:p}}}=o,f=p("div");function d(e){no(e),u(e,n,l,!0)}function h(e){r.forEach(((t,n)=>{const o=ps(t.type);!o||e&&e(o)||m(n)}))}function m(e){const t=r.get(e);i&&Mr(t,i)?i&&no(i):d(t),r.delete(e),s.delete(e)}o.activate=(e,t,n,o,r)=>{const s=e.component;a(e,t,n,0,l),c(s.vnode,e,t,n,s,l,o,e.slotScopeIds,r),ur((()=>{s.isDeactivated=!1,s.a&&V(s.a);const t=e.props&&e.props.onVnodeMounted;t&&qr(t,s.parent,e)}),l)},o.deactivate=e=>{const t=e.component;a(e,f,null,1,l),ur((()=>{t.da&&V(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&qr(n,t.parent,e),t.isDeactivated=!0}),l)},$n((()=>[e.include,e.exclude]),(([e,t])=>{e&&h((t=>Yn(e,t))),t&&h((e=>!Yn(t,e)))}),{flush:"post",deep:!0});let g=null;const v=()=>{null!=g&&r.set(g,oo(n.subTree))};return lo(v),ao(v),uo((()=>{r.forEach((e=>{const{subTree:t,suspense:o}=n,r=oo(t);if(e.type!==r.type||e.key!==r.key)d(e);else{no(r);const e=r.component.da;e&&ur(e,o)}}))})),()=>{if(g=null,!t.default)return null;const n=t.default(),o=n[0];if(n.length>1)return i=null,n;if(!(Rr(o)&&(4&o.shapeFlag||128&o.shapeFlag)))return i=null,o;let l=oo(o);const c=l.type,a=ps(Gn(l)?l.type.__asyncResolved||{}:c),{include:u,exclude:p,max:f}=e;if(u&&(!a||!Yn(u,a))||p&&a&&Yn(p,a))return i=l,o;const d=null==l.key?c:l.key,h=r.get(d);return l.el&&(l=Dr(l),128&o.shapeFlag&&(o.ssContent=l)),g=d,h?(l.el=h.el,l.component=h.component,l.transition&&Wn(l,l.transition),l.shapeFlag|=512,s.delete(d),s.add(d)):(s.add(d),f&&s.size>parseInt(f,10)&&m(s.values().next().value)),l.shapeFlag|=256,i=l,Sn(o.type)?o:l}}};function Yn(e,t){return d(e)?e.some((e=>Yn(e,t))):y(e)?e.split(",").includes(t):"[object RegExp]"===C(e)&&e.test(t)}function Qn(e,t){eo(e,"a",t)}function Xn(e,t){eo(e,"da",t)}function eo(e,t,n=Yr){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(ro(t,o,n),n){let e=n.parent;for(;e&&e.parent;)Jn(e.parent.vnode)&&to(o,t,n,e),e=e.parent}}function to(e,t,n,o){const r=ro(t,e,o,!0);po((()=>{u(o[t],r)}),n)}function no(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function oo(e){return 128&e.shapeFlag?e.ssContent:e}function ro(e,t,n=Yr,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;_e(),es(n);const r=Ut(t,n,e,o);return ts(),be(),r});return o?r.unshift(s):r.push(s),s}}const so=e=>(t,n=Yr)=>(!ss||"sp"===e)&&ro(e,((...e)=>t(...e)),n),io=so("bm"),lo=so("m"),co=so("bu"),ao=so("u"),uo=so("bum"),po=so("um"),fo=so("sp"),ho=so("rtg"),mo=so("rtc");function go(e,t=Yr){ro("ec",e,t)}const vo="components";const yo=Symbol.for("v-ndc");function _o(e,t,n=!0,o=!1){const r=fn||Yr;if(r){const n=r.type;if(e===vo){const e=ps(n,!1);if(e&&(e===t||e===$(t)||e===F($(t))))return n}const s=bo(r[e]||n[e],t)||bo(r.appContext[e],t);return!s&&o?n:s}}function bo(e,t){return e&&(e[t]||e[$(t)]||e[F($(t))])}function So(e){return e.some((e=>!Rr(e)||e.type!==kr&&!(e.type===xr&&!So(e.children))))?e:null}const xo=e=>e?ns(e)?us(e)||e.proxy:xo(e.parent):null,Co=a(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=>xo(e.parent),$root:e=>xo(e.root),$emit:e=>e.emit,$options:e=>Fo(e),$forceUpdate:e=>e.f||(e.f=()=>Xt(e.update)),$nextTick:e=>e.n||(e.n=Qt.bind(e.proxy)),$watch:e=>An.bind(e)}),ko=(e,t)=>e!==n&&!e.__isScriptSetup&&f(e,t),wo={get({_:e},t){const{ctx:o,setupState:r,data:s,props:i,accessCache:l,type:c,appContext:a}=e;let u;if("$"!==t[0]){const c=l[t];if(void 0!==c)switch(c){case 1:return r[t];case 2:return s[t];case 4:return o[t];case 3:return i[t]}else{if(ko(r,t))return l[t]=1,r[t];if(s!==n&&f(s,t))return l[t]=2,s[t];if((u=e.propsOptions[0])&&f(u,t))return l[t]=3,i[t];if(o!==n&&f(o,t))return l[t]=4,o[t];Oo&&(l[t]=0)}}const p=Co[t];let d,h;return p?("$attrs"===t&&Se(e,0,t),p(e)):(d=c.__cssModules)&&(d=d[t])?d:o!==n&&f(o,t)?(l[t]=4,o[t]):(h=a.config.globalProperties,f(h,t)?h[t]:void 0)},set({_:e},t,o){const{data:r,setupState:s,ctx:i}=e;return ko(s,t)?(s[t]=o,!0):r!==n&&f(r,t)?(r[t]=o,!0):!f(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=o,!0))},has({_:{data:e,setupState:t,accessCache:o,ctx:r,appContext:s,propsOptions:i}},l){let c;return!!o[l]||e!==n&&f(e,l)||ko(t,l)||(c=i[0])&&f(c,l)||f(r,l)||f(Co,l)||f(s.config.globalProperties,l)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:f(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},To=a({},wo,{get(e,t){if(t!==Symbol.unscopables)return wo.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!U(t)});function Eo(){const e=Qr();return e.setupContext||(e.setupContext=as(e))}function No(e){return d(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let Oo=!0;function $o(e){const t=Fo(e),n=e.proxy,o=e.ctx;Oo=!1,t.beforeCreate&&Po(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:l,watch:c,provide:a,inject:u,created:p,beforeMount:f,mounted:h,beforeUpdate:m,updated:g,activated:y,deactivated:_,beforeUnmount:S,unmounted:x,render:C,renderTracked:k,renderTriggered:w,errorCaptured:T,serverPrefetch:E,expose:N,inheritAttrs:O,components:$,directives:P}=t;if(u&&function(e,t,n=r){d(e)&&(e=Io(e));for(const o in e){const n=e[o];let r;r=b(n)?"default"in n?Ko(n.from||o,n.default,!0):Ko(n.from||o):Ko(n),Nt(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[o]=r}}(u,o,null),l)for(const r in l){const e=l[r];v(e)&&(o[r]=e.bind(n))}if(s){const t=s.call(n,n);b(t)&&(e.data=ht(t))}if(Oo=!0,i)for(const d in i){const e=i[d],t=v(e)?e.bind(n,n):v(e.get)?e.get.bind(n,n):r,s=!v(e)&&v(e.set)?e.set.bind(n):r,l=fs({get:t,set:s});Object.defineProperty(o,d,{enumerable:!0,configurable:!0,get:()=>l.value,set:e=>l.value=e})}if(c)for(const r in c)Ao(c[r],o,n,r);if(a){const e=v(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{zo(t,e[t])}))}function A(e,t){d(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&Po(p,e,"c"),A(io,f),A(lo,h),A(co,m),A(ao,g),A(Qn,y),A(Xn,_),A(go,T),A(mo,k),A(ho,w),A(uo,S),A(po,x),A(fo,E),d(N))if(N.length){const t=e.exposed||(e.exposed={});N.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});C&&e.render===r&&(e.render=C),null!=O&&(e.inheritAttrs=O),$&&(e.components=$),P&&(e.directives=P)}function Po(e,t,n){Ut(d(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ao(e,t,n,o){const r=o.includes(".")?Fn(n,o):()=>n[o];if(y(e)){const n=t[e];v(n)&&$n(r,n)}else if(v(e))$n(r,e.bind(n));else if(b(e))if(d(e))e.forEach((e=>Ao(e,t,n,o)));else{const o=v(e.handler)?e.handler.bind(n):t[e.handler];v(o)&&$n(r,o,e)}}function Fo(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let c;return l?c=l:r.length||n||o?(c={},r.length&&r.forEach((e=>Ro(c,e,i,!0))),Ro(c,t,i)):c=t,b(t)&&s.set(t,c),c}function Ro(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Ro(e,s,n,!0),r&&r.forEach((t=>Ro(e,t,n,!0)));for(const i in t)if(o&&"expose"===i);else{const o=Mo[i]||n&&n[i];e[i]=o?o(e[i],t[i]):t[i]}return e}const Mo={data:Vo,props:jo,emits:jo,methods:Lo,computed:Lo,beforeCreate:Bo,created:Bo,beforeMount:Bo,mounted:Bo,beforeUpdate:Bo,updated:Bo,beforeDestroy:Bo,beforeUnmount:Bo,destroyed:Bo,unmounted:Bo,activated:Bo,deactivated:Bo,errorCaptured:Bo,serverPrefetch:Bo,components:Lo,directives:Lo,watch:function(e,t){if(!e)return t;if(!t)return e;const n=a(Object.create(null),e);for(const o in t)n[o]=Bo(e[o],t[o]);return n},provide:Vo,inject:function(e,t){return Lo(Io(e),Io(t))}};function Vo(e,t){return t?e?function(){return a(v(e)?e.call(this,this):e,v(t)?t.call(this,this):t)}:t:e}function Io(e){if(d(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Bo(e,t){return e?[...new Set([].concat(e,t))]:t}function Lo(e,t){return e?a(Object.create(null),e,t):t}function jo(e,t){return e?d(e)&&d(t)?[...new Set([...e,...t])]:a(Object.create(null),No(e),No(null!=t?t:{})):t}function Uo(){return{app:null,config:{isNativeTag:s,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Do=0;function Ho(e,t){return function(n,o=null){v(n)||(n=a({},n)),null==o||b(o)||(o=null);const r=Uo(),s=new Set;let i=!1;const l=r.app={_uid:Do++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:gs,get config(){return r.config},set config(e){},use:(e,...t)=>(s.has(e)||(e&&v(e.install)?(s.add(e),e.install(l,...t)):v(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,c,a){if(!i){const u=jr(n,o);return u.appContext=r,c&&t?t(u,s):e(u,s,a),i=!0,l._container=s,s.__vue_app__=l,us(u.component)||u.component.proxy}},unmount(){i&&(e(null,l._container),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l),runWithContext(e){Wo=l;try{return e()}finally{Wo=null}}};return l}}let Wo=null;function zo(e,t){if(Yr){let n=Yr.provides;const o=Yr.parent&&Yr.parent.provides;o===n&&(n=Yr.provides=Object.create(o)),n[e]=t}else;}function Ko(e,t,n=!1){const o=Yr||fn;if(o||Wo){const r=o?null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:Wo._context.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&v(t)?t.call(o&&o.proxy):t}}function Go(e,t,o,r){const[s,i]=e.propsOptions;let l,c=!1;if(t)for(let n in t){if(T(n))continue;const a=t[n];let u;s&&f(s,u=$(n))?i&&i.includes(u)?(l||(l={}))[u]=a:o[u]=a:pn(e.emitsOptions,n)||n in r&&a===r[n]||(r[n]=a,c=!0)}if(i){const t=xt(o),r=l||n;for(let n=0;n<i.length;n++){const l=i[n];o[l]=qo(s,t,l,r[l],e,!f(r,l))}}return c}function qo(e,t,n,o,r,s){const i=e[n];if(null!=i){const e=f(i,"default");if(e&&void 0===o){const e=i.default;if(i.type!==Function&&!i.skipFactory&&v(e)){const{propsDefaults:s}=r;n in s?o=s[n]:(es(r),o=s[n]=e.call(null,t),ts())}else o=e}i[0]&&(s&&!e?o=!1:!i[1]||""!==o&&o!==A(n)||(o=!0))}return o}function Jo(e,t,r=!1){const s=t.propsCache,i=s.get(e);if(i)return i;const l=e.props,c={},u=[];let p=!1;if(!v(e)){const n=e=>{p=!0;const[n,o]=Jo(e,t,!0);a(c,n),o&&u.push(...o)};!r&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!l&&!p)return b(e)&&s.set(e,o),o;if(d(l))for(let o=0;o<l.length;o++){const e=$(l[o]);Zo(e)&&(c[e]=n)}else if(l)for(const n in l){const e=$(n);if(Zo(e)){const t=l[n],o=c[e]=d(t)||v(t)?{type:t}:a({},t);if(o){const t=Xo(Boolean,o.type),n=Xo(String,o.type);o[0]=t>-1,o[1]=n<0||t<n,(t>-1||f(o,"default"))&&u.push(e)}}}const h=[c,u];return b(e)&&s.set(e,h),h}function Zo(e){return"$"!==e[0]}function Yo(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function Qo(e,t){return Yo(e)===Yo(t)}function Xo(e,t){return d(t)?t.findIndex((t=>Qo(t,e))):v(t)&&Qo(t,e)?0:-1}const er=e=>"_"===e[0]||"$stable"===e,tr=e=>d(e)?e.map(Wr):[Wr(e)],nr=(e,t,n)=>{if(t._n)return t;const o=mn(((...e)=>tr(t(...e))),n);return o._c=!1,o},or=(e,t,n)=>{const o=e._ctx;for(const r in e){if(er(r))continue;const n=e[r];if(v(n))t[r]=nr(0,n,o);else if(null!=n){const e=tr(n);t[r]=()=>e}}},rr=(e,t)=>{const n=tr(t);e.slots.default=()=>n};function sr(e,t,o,r,s=!1){if(d(e))return void e.forEach(((e,n)=>sr(e,t&&(d(t)?t[n]:t),o,r,s)));if(Gn(r)&&!s)return;const i=4&r.shapeFlag?us(r.component)||r.component.proxy:r.el,l=s?null:i,{i:c,r:a}=e,p=t&&t.r,h=c.refs===n?c.refs={}:c.refs,m=c.setupState;if(null!=p&&p!==a&&(y(p)?(h[p]=null,f(m,p)&&(m[p]=null)):Nt(p)&&(p.value=null)),v(a))jt(a,c,12,[l,h]);else{const t=y(a),n=Nt(a);if(t||n){const r=()=>{if(e.f){const n=t?f(m,a)?m[a]:h[a]:a.value;s?d(n)&&u(n,i):d(n)?n.includes(i)||n.push(i):t?(h[a]=[i],f(m,a)&&(m[a]=h[a])):(a.value=[i],e.k&&(h[e.k]=a.value))}else t?(h[a]=l,f(m,a)&&(m[a]=l)):n&&(a.value=l,e.k&&(h[e.k]=l))};l?(r.id=-1,ur(r,o)):r()}}}let ir=!1;const lr=e=>/svg/.test(e.namespaceURI)&&"foreignObject"!==e.tagName,cr=e=>8===e.nodeType;function ar(e){const{mt:t,p:n,o:{patchProp:o,createText:r,nextSibling:s,parentNode:i,remove:c,insert:a,createComment:u}}=e,p=(n,o,l,c,u,v=!1)=>{const y=cr(n)&&"["===n.data,_=()=>m(n,o,l,c,u,y),{type:b,ref:S,shapeFlag:x,patchFlag:C}=o;let k=n.nodeType;o.el=n,-2===C&&(v=!1,o.dynamicChildren=null);let w=null;switch(b){case Cr:3!==k?""===o.children?(a(o.el=r(""),i(n),n),w=n):w=_():(n.data!==o.children&&(ir=!0,n.data=o.children),w=s(n));break;case kr:w=8!==k||y?_():s(n);break;case wr:if(y&&(k=(n=s(n)).nodeType),1===k||3===k){w=n;const e=!o.children.length;for(let t=0;t<o.staticCount;t++)e&&(o.children+=1===w.nodeType?w.outerHTML:w.data),t===o.staticCount-1&&(o.anchor=w),w=s(w);return y?s(w):w}_();break;case xr:w=y?h(n,o,l,c,u,v):_();break;default:if(1&x)w=1!==k||o.type.toLowerCase()!==n.tagName.toLowerCase()?_():f(n,o,l,c,u,v);else if(6&x){o.slotScopeIds=u;const e=i(n);if(t(o,e,null,l,c,lr(e),v),w=y?g(n):s(n),w&&cr(w)&&"teleport end"===w.data&&(w=s(w)),Gn(o)){let t;y?(t=jr(xr),t.anchor=w?w.previousSibling:e.lastChild):t=3===n.nodeType?Hr(""):jr("div"),t.el=n,o.component.subTree=t}}else 64&x?w=8!==k?_():o.type.hydrate(n,o,l,c,u,v,e,d):128&x&&(w=o.type.hydrate(n,o,l,c,lr(i(n)),u,v,e,p))}return null!=S&&sr(S,null,c,o),w},f=(e,t,n,r,s,i)=>{i=i||!!t.dynamicChildren;const{type:a,props:u,patchFlag:p,shapeFlag:f,dirs:h}=t,m="input"===a&&h||"option"===a;if(m||-1!==p){if(h&&Mn(t,null,n,"created"),u)if(m||!i||48&p)for(const t in u)(m&&t.endsWith("value")||l(t)&&!T(t))&&o(e,t,null,u[t],!1,void 0,n);else u.onClick&&o(e,"onClick",null,u.onClick,!1,void 0,n);let a;if((a=u&&u.onVnodeBeforeMount)&&qr(a,n,t),h&&Mn(t,null,n,"beforeMount"),((a=u&&u.onVnodeMounted)||h)&&Tn((()=>{a&&qr(a,n,t),h&&Mn(t,null,n,"mounted")}),r),16&f&&(!u||!u.innerHTML&&!u.textContent)){let o=d(e.firstChild,t,e,n,r,s,i);for(;o;){ir=!0;const e=o;o=o.nextSibling,c(e)}}else 8&f&&e.textContent!==t.children&&(ir=!0,e.textContent=t.children)}return e.nextSibling},d=(e,t,o,r,s,i,l)=>{l=l||!!t.dynamicChildren;const c=t.children,a=c.length;for(let u=0;u<a;u++){const t=l?c[u]:c[u]=Wr(c[u]);if(e)e=p(e,t,r,s,i,l);else{if(t.type===Cr&&!t.children)continue;ir=!0,n(null,t,o,null,r,s,lr(o),i)}}return e},h=(e,t,n,o,r,l)=>{const{slotScopeIds:c}=t;c&&(r=r?r.concat(c):c);const p=i(e),f=d(s(e),t,p,n,o,r,l);return f&&cr(f)&&"]"===f.data?s(t.anchor=f):(ir=!0,a(t.anchor=u("]"),p,f),f)},m=(e,t,o,r,l,a)=>{if(ir=!0,t.el=null,a){const t=g(e);for(;;){const n=s(e);if(!n||n===t)break;c(n)}}const u=s(e),p=i(e);return c(e),n(null,t,p,u,o,r,lr(p),l),u},g=e=>{let t=0;for(;e;)if((e=s(e))&&cr(e)&&("["===e.data&&t++,"]"===e.data)){if(0===t)return s(e);t--}return e};return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),on(),void(t._vnode=e);ir=!1,p(t.firstChild,e,null,null,null),on(),t._vnode=e,ir&&console.error("Hydration completed but contains mismatches.")},p]}const ur=Tn;function pr(e){return dr(e)}function fr(e){return dr(e,ar)}function dr(e,t){(j||(j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})).__VUE__=!0;const{insert:s,remove:i,patchProp:l,createElement:c,createText:u,createComment:p,setText:d,setElementText:h,parentNode:m,nextSibling:g,setScopeId:v=r,insertStaticContent:y}=e,_=(e,t,n,o=null,r=null,s=null,i=!1,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Mr(e,t)&&(o=Q(e),G(e,r,s,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:p}=t;switch(a){case Cr:b(e,t,n,o);break;case kr:x(e,t,n,o);break;case wr:null==e&&C(t,n,o,i);break;case xr:R(e,t,n,o,r,s,i,l,c);break;default:1&p?k(e,t,n,o,r,s,i,l,c):6&p?M(e,t,n,o,r,s,i,l,c):(64&p||128&p)&&a.process(e,t,n,o,r,s,i,l,c,ee)}null!=u&&r&&sr(u,e&&e.ref,s,t||e,!t)},b=(e,t,n,o)=>{if(null==e)s(t.el=u(t.children),n,o);else{const n=t.el=e.el;t.children!==e.children&&d(n,t.children)}},x=(e,t,n,o)=>{null==e?s(t.el=p(t.children||""),n,o):t.el=e.el},C=(e,t,n,o)=>{[e.el,e.anchor]=y(e.children,t,n,o,e.el,e.anchor)},k=(e,t,n,o,r,s,i,l,c)=>{i=i||"svg"===t.type,null==e?w(t,n,o,r,s,i,l,c):O(e,t,r,s,i,l,c)},w=(e,t,n,o,r,i,a,u)=>{let p,f;const{type:d,props:m,shapeFlag:g,transition:v,dirs:y}=e;if(p=e.el=c(e.type,i,m&&m.is,m),8&g?h(p,e.children):16&g&&N(e.children,p,null,o,r,i&&"foreignObject"!==d,a,u),y&&Mn(e,null,o,"created"),E(p,e,e.scopeId,a,o),m){for(const t in m)"value"===t||T(t)||l(p,t,null,m[t],i,e.children,o,r,Y);"value"in m&&l(p,"value",null,m.value),(f=m.onVnodeBeforeMount)&&qr(f,o,e)}y&&Mn(e,null,o,"beforeMount");const _=(!r||r&&!r.pendingBranch)&&v&&!v.persisted;_&&v.beforeEnter(p),s(p,t,n),((f=m&&m.onVnodeMounted)||_||y)&&ur((()=>{f&&qr(f,o,e),_&&v.enter(p),y&&Mn(e,null,o,"mounted")}),r)},E=(e,t,n,o,r)=>{if(n&&v(e,n),o)for(let s=0;s<o.length;s++)v(e,o[s]);if(r){if(t===r.subTree){const t=r.vnode;E(e,t,t.scopeId,t.slotScopeIds,r.parent)}}},N=(e,t,n,o,r,s,i,l,c=0)=>{for(let a=c;a<e.length;a++){const c=e[a]=l?zr(e[a]):Wr(e[a]);_(null,c,t,n,o,r,s,i,l)}},O=(e,t,o,r,s,i,c)=>{const a=t.el=e.el;let{patchFlag:u,dynamicChildren:p,dirs:f}=t;u|=16&e.patchFlag;const d=e.props||n,m=t.props||n;let g;o&&hr(o,!1),(g=m.onVnodeBeforeUpdate)&&qr(g,o,t,e),f&&Mn(t,e,o,"beforeUpdate"),o&&hr(o,!0);const v=s&&"foreignObject"!==t.type;if(p?P(e.dynamicChildren,p,a,o,r,v,i):c||H(e,t,a,null,o,r,v,i,!1),u>0){if(16&u)F(a,t,d,m,o,r,s);else if(2&u&&d.class!==m.class&&l(a,"class",null,m.class,s),4&u&&l(a,"style",d.style,m.style,s),8&u){const n=t.dynamicProps;for(let t=0;t<n.length;t++){const i=n[t],c=d[i],u=m[i];u===c&&"value"!==i||l(a,i,c,u,s,e.children,o,r,Y)}}1&u&&e.children!==t.children&&h(a,t.children)}else c||null!=p||F(a,t,d,m,o,r,s);((g=m.onVnodeUpdated)||f)&&ur((()=>{g&&qr(g,o,t,e),f&&Mn(t,e,o,"updated")}),r)},P=(e,t,n,o,r,s,i)=>{for(let l=0;l<t.length;l++){const c=e[l],a=t[l],u=c.el&&(c.type===xr||!Mr(c,a)||70&c.shapeFlag)?m(c.el):n;_(c,a,u,null,o,r,s,i,!0)}},F=(e,t,o,r,s,i,c)=>{if(o!==r){if(o!==n)for(const n in o)T(n)||n in r||l(e,n,o[n],null,c,t.children,s,i,Y);for(const n in r){if(T(n))continue;const a=r[n],u=o[n];a!==u&&"value"!==n&&l(e,n,u,a,c,t.children,s,i,Y)}"value"in r&&l(e,"value",o.value,r.value)}},R=(e,t,n,o,r,i,l,c,a)=>{const p=t.el=e?e.el:u(""),f=t.anchor=e?e.anchor:u("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:m}=t;m&&(c=c?c.concat(m):m),null==e?(s(p,n,o),s(f,n,o),N(t.children,n,f,r,i,l,c,a)):d>0&&64&d&&h&&e.dynamicChildren?(P(e.dynamicChildren,h,n,r,i,l,c),(null!=t.key||r&&t===r.subTree)&&mr(e,t,!0)):H(e,t,n,f,r,i,l,c,a)},M=(e,t,n,o,r,s,i,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?r.ctx.activate(t,n,o,i,c):B(t,n,o,r,s,i,c):L(e,t,c)},B=(e,t,o,r,s,i,l)=>{const c=e.component=function(e,t,o){const r=e.type,s=(t?t.appContext:e.appContext)||Jr,i={uid:Zr++,vnode:e,type:r,parent:t,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,scope:new oe(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(s.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Jo(r,s),emitsOptions:un(r,s),emit:null,emitted:null,propsDefaults:n,inheritAttrs:r.inheritAttrs,ctx:n,data:n,props:n,attrs:n,slots:n,refs:n,setupState:n,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};i.ctx={_:i},i.root=t?t.root:i,i.emit=an.bind(null,i),e.ce&&e.ce(i);return i}(e,r,s);if(Jn(e)&&(c.ctx.renderer=ee),function(e,t=!1){ss=t;const{props:n,children:o}=e.vnode,r=ns(e);(function(e,t,n,o=!1){const r={},s={};I(s,Vr,1),e.propsDefaults=Object.create(null),Go(e,t,r,s);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);e.props=n?o?r:mt(r):e.type.props?r:s,e.attrs=s})(e,n,r,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=xt(t),I(t,"_",n)):or(t,e.slots={})}else e.slots={},t&&rr(e,t);I(e.slots,Vr,1)})(e,o);const s=r?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Ct(new Proxy(e.ctx,wo));const{setup:o}=n;if(o){const n=e.setupContext=o.length>1?as(e):null;es(e),_e();const r=jt(o,e,0,[e.props,n]);if(be(),ts(),S(r)){if(r.then(ts,ts),t)return r.then((n=>{is(e,n,t)})).catch((t=>{Dt(t,e,0)}));e.asyncDep=r}else is(e,r,t)}else cs(e,t)}(e,t):void 0;ss=!1}(c),c.asyncDep){if(s&&s.registerDep(c,U),!e.el){const e=c.subTree=jr(kr);x(null,e,t,o)}}else U(c,e,t,o,s,i,l)},L=(e,t,n)=>{const o=t.component=e.component;if(function(e,t,n){const{props:o,children:r,component:s}=e,{props:i,children:l,patchFlag:c}=t,a=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!r&&!l||l&&l.$stable)||o!==i&&(o?!i||_n(o,i,a):!!i);if(1024&c)return!0;if(16&c)return o?_n(o,i,a):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t];if(i[n]!==o[n]&&!pn(a,n))return!0}}return!1}(e,t,n)){if(o.asyncDep&&!o.asyncResolved)return void D(o,t,n);o.next=t,function(e){const t=zt.indexOf(e);t>Kt&&zt.splice(t,1)}(o.update),o.update()}else t.el=e.el,o.vnode=t},U=(e,t,n,o,r,s,i)=>{const l=e.effect=new me((()=>{if(e.isMounted){let t,{next:n,bu:o,u:l,parent:c,vnode:a}=e,u=n;hr(e,!1),n?(n.el=a.el,D(e,n,i)):n=a,o&&V(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&qr(t,c,n,a),hr(e,!0);const p=gn(e),f=e.subTree;e.subTree=p,_(f,p,m(f.el),Q(f),e,r,s),n.el=p.el,null===u&&bn(e,p.el),l&&ur(l,r),(t=n.props&&n.props.onVnodeUpdated)&&ur((()=>qr(t,c,n,a)),r)}else{let i;const{el:l,props:c}=t,{bm:a,m:u,parent:p}=e,f=Gn(t);if(hr(e,!1),a&&V(a),!f&&(i=c&&c.onVnodeBeforeMount)&&qr(i,p,t),hr(e,!0),l&&ne){const n=()=>{e.subTree=gn(e),ne(l,e.subTree,e,r,null)};f?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const i=e.subTree=gn(e);_(null,i,n,o,e,r,s),t.el=i.el}if(u&&ur(u,r),!f&&(i=c&&c.onVnodeMounted)){const e=t;ur((()=>qr(i,p,e)),r)}(256&t.shapeFlag||p&&Gn(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&ur(e.a,r),e.isMounted=!0,t=n=o=null}}),(()=>Xt(c)),e.scope),c=e.update=()=>l.run();c.id=e.uid,hr(e,!0),c()},D=(e,t,o)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:i}}=e,l=xt(r),[c]=e.propsOptions;let a=!1;if(!(o||i>0)||16&i){let o;Go(e,t,r,s)&&(a=!0);for(const s in l)t&&(f(t,s)||(o=A(s))!==s&&f(t,o))||(c?!n||void 0===n[s]&&void 0===n[o]||(r[s]=qo(c,l,s,void 0,e,!0)):delete r[s]);if(s!==l)for(const e in s)t&&f(t,e)||(delete s[e],a=!0)}else if(8&i){const n=e.vnode.dynamicProps;for(let o=0;o<n.length;o++){let i=n[o];if(pn(e.emitsOptions,i))continue;const u=t[i];if(c)if(f(s,i))u!==s[i]&&(s[i]=u,a=!0);else{const t=$(i);r[t]=qo(c,l,t,u,e,!1)}else u!==s[i]&&(s[i]=u,a=!0)}}a&&Ce(e,"set","$attrs")}(e,t.props,r,o),((e,t,o)=>{const{vnode:r,slots:s}=e;let i=!0,l=n;if(32&r.shapeFlag){const e=t._;e?o&&1===e?i=!1:(a(s,t),o||1!==e||delete s._):(i=!t.$stable,or(t,s)),l=t}else t&&(rr(e,t),l={default:1});if(i)for(const n in s)er(n)||n in l||delete s[n]})(e,t.children,o),_e(),nn(),be()},H=(e,t,n,o,r,s,i,l,c=!1)=>{const a=e&&e.children,u=e?e.shapeFlag:0,p=t.children,{patchFlag:f,shapeFlag:d}=t;if(f>0){if(128&f)return void z(a,p,n,o,r,s,i,l,c);if(256&f)return void W(a,p,n,o,r,s,i,l,c)}8&d?(16&u&&Y(a,r,s),p!==a&&h(n,p)):16&u?16&d?z(a,p,n,o,r,s,i,l,c):Y(a,r,s,!0):(8&u&&h(n,""),16&d&&N(p,n,o,r,s,i,l,c))},W=(e,t,n,r,s,i,l,c,a)=>{const u=(e=e||o).length,p=(t=t||o).length,f=Math.min(u,p);let d;for(d=0;d<f;d++){const o=t[d]=a?zr(t[d]):Wr(t[d]);_(e[d],o,n,null,s,i,l,c,a)}u>p?Y(e,s,i,!0,!1,f):N(t,n,r,s,i,l,c,a,f)},z=(e,t,n,r,s,i,l,c,a)=>{let u=0;const p=t.length;let f=e.length-1,d=p-1;for(;u<=f&&u<=d;){const o=e[u],r=t[u]=a?zr(t[u]):Wr(t[u]);if(!Mr(o,r))break;_(o,r,n,null,s,i,l,c,a),u++}for(;u<=f&&u<=d;){const o=e[f],r=t[d]=a?zr(t[d]):Wr(t[d]);if(!Mr(o,r))break;_(o,r,n,null,s,i,l,c,a),f--,d--}if(u>f){if(u<=d){const e=d+1,o=e<p?t[e].el:r;for(;u<=d;)_(null,t[u]=a?zr(t[u]):Wr(t[u]),n,o,s,i,l,c,a),u++}}else if(u>d)for(;u<=f;)G(e[u],s,i,!0),u++;else{const h=u,m=u,g=new Map;for(u=m;u<=d;u++){const e=t[u]=a?zr(t[u]):Wr(t[u]);null!=e.key&&g.set(e.key,u)}let v,y=0;const b=d-m+1;let S=!1,x=0;const C=new Array(b);for(u=0;u<b;u++)C[u]=0;for(u=h;u<=f;u++){const o=e[u];if(y>=b){G(o,s,i,!0);continue}let r;if(null!=o.key)r=g.get(o.key);else for(v=m;v<=d;v++)if(0===C[v-m]&&Mr(o,t[v])){r=v;break}void 0===r?G(o,s,i,!0):(C[r-m]=u+1,r>=x?x=r:S=!0,_(o,t[r],n,null,s,i,l,c,a),y++)}const k=S?function(e){const t=e.slice(),n=[0];let o,r,s,i,l;const c=e.length;for(o=0;o<c;o++){const c=e[o];if(0!==c){if(r=n[n.length-1],e[r]<c){t[o]=r,n.push(o);continue}for(s=0,i=n.length-1;s<i;)l=s+i>>1,e[n[l]]<c?s=l+1:i=l;c<e[n[s]]&&(s>0&&(t[o]=n[s-1]),n[s]=o)}}s=n.length,i=n[s-1];for(;s-- >0;)n[s]=i,i=t[i];return n}(C):o;for(v=k.length-1,u=b-1;u>=0;u--){const e=m+u,o=t[e],f=e+1<p?t[e+1].el:r;0===C[u]?_(null,o,n,f,s,i,l,c,a):S&&(v<0||u!==k[v]?K(o,n,f,2):v--)}}},K=(e,t,n,o,r=null)=>{const{el:i,type:l,transition:c,children:a,shapeFlag:u}=e;if(6&u)return void K(e.component.subTree,t,n,o);if(128&u)return void e.suspense.move(t,n,o);if(64&u)return void l.move(e,t,n,ee);if(l===xr){s(i,t,n);for(let e=0;e<a.length;e++)K(a[e],t,n,o);return void s(e.anchor,t,n)}if(l===wr)return void(({el:e,anchor:t},n,o)=>{let r;for(;e&&e!==t;)r=g(e),s(e,n,o),e=r;s(t,n,o)})(e,t,n);if(2!==o&&1&u&&c)if(0===o)c.beforeEnter(i),s(i,t,n),ur((()=>c.enter(i)),r);else{const{leave:e,delayLeave:o,afterLeave:r}=c,l=()=>s(i,t,n),a=()=>{e(i,(()=>{l(),r&&r()}))};o?o(i,l,a):a()}else s(i,t,n)},G=(e,t,n,o=!1,r=!1)=>{const{type:s,props:i,ref:l,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:p,dirs:f}=e;if(null!=l&&sr(l,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const d=1&u&&f,h=!Gn(e);let m;if(h&&(m=i&&i.onVnodeBeforeUnmount)&&qr(m,t,e),6&u)Z(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);d&&Mn(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,ee,o):a&&(s!==xr||p>0&&64&p)?Y(a,t,n,!1,!0):(s===xr&&384&p||!r&&16&u)&&Y(c,t,n),o&&q(e)}(h&&(m=i&&i.onVnodeUnmounted)||d)&&ur((()=>{m&&qr(m,t,e),d&&Mn(e,null,t,"unmounted")}),n)},q=e=>{const{type:t,el:n,anchor:o,transition:r}=e;if(t===xr)return void J(n,o);if(t===wr)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=g(e),i(e),e=n;i(t)})(e);const s=()=>{i(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:o}=r,i=()=>t(n,s);o?o(e.el,s,i):i()}else s()},J=(e,t)=>{let n;for(;e!==t;)n=g(e),i(e),e=n;i(t)},Z=(e,t,n)=>{const{bum:o,scope:r,update:s,subTree:i,um:l}=e;o&&V(o),r.stop(),s&&(s.active=!1,G(i,e,t,n)),l&&ur(l,t),ur((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,o=!1,r=!1,s=0)=>{for(let i=s;i<e.length;i++)G(e[i],t,n,o,r)},Q=e=>6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():g(e.anchor||e.el),X=(e,t,n)=>{null==e?t._vnode&&G(t._vnode,null,null,!0):_(t._vnode||null,e,t,null,null,null,n),nn(),on(),t._vnode=e},ee={p:_,um:G,m:K,r:q,mt:B,mc:N,pc:H,pbc:P,n:Q,o:e};let te,ne;return t&&([te,ne]=t(ee)),{render:X,hydrate:te,createApp:Ho(X,te)}}function hr({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function mr(e,t,n=!1){const o=e.children,r=t.children;if(d(o)&&d(r))for(let s=0;s<o.length;s++){const e=o[s];let t=r[s];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=r[s]=zr(r[s]),t.el=e.el),n||mr(e,t)),t.type===Cr&&(t.el=e.el)}}const gr=e=>e&&(e.disabled||""===e.disabled),vr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,yr=(e,t)=>{const n=e&&e.to;if(y(n)){if(t){return t(n)}return null}return n};function _r(e,t,n,{o:{insert:o},m:r},s=2){0===s&&o(e.targetAnchor,t,n);const{el:i,anchor:l,shapeFlag:c,children:a,props:u}=e,p=2===s;if(p&&o(i,t,n),(!p||gr(u))&&16&c)for(let f=0;f<a.length;f++)r(a[f],t,n,2);p&&o(l,t,n)}const br={__isTeleport:!0,process(e,t,n,o,r,s,i,l,c,a){const{mc:u,pc:p,pbc:f,o:{insert:d,querySelector:h,createText:m}}=a,g=gr(t.props);let{shapeFlag:v,children:y,dynamicChildren:_}=t;if(null==e){const e=t.el=m(""),a=t.anchor=m("");d(e,n,o),d(a,n,o);const p=t.target=yr(t.props,h),f=t.targetAnchor=m("");p&&(d(f,p),i=i||vr(p));const _=(e,t)=>{16&v&&u(y,e,t,r,s,i,l,c)};g?_(n,a):p&&_(p,f)}else{t.el=e.el;const o=t.anchor=e.anchor,u=t.target=e.target,d=t.targetAnchor=e.targetAnchor,m=gr(e.props),v=m?n:u,y=m?o:d;if(i=i||vr(u),_?(f(e.dynamicChildren,_,v,r,s,i,l),mr(e,t,!0)):c||p(e,t,v,y,r,s,i,l,!1),g)m||_r(t,n,o,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=yr(t.props,h);e&&_r(t,e,null,a,0)}else m&&_r(t,u,d,a,1)}Sr(t)},remove(e,t,n,o,{um:r,o:{remove:s}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:u,target:p,props:f}=e;if(p&&s(u),(i||!gr(f))&&(s(a),16&l))for(let d=0;d<c.length;d++){const e=c[d];r(e,t,n,!0,!!e.dynamicChildren)}},move:_r,hydrate:function(e,t,n,o,r,s,{o:{nextSibling:i,parentNode:l,querySelector:c}},a){const u=t.target=yr(t.props,c);if(u){const c=u._lpa||u.firstChild;if(16&t.shapeFlag)if(gr(t.props))t.anchor=a(i(e),t,l(e),n,o,r,s),t.targetAnchor=c;else{t.anchor=i(e);let l=c;for(;l;)if(l=i(l),l&&8===l.nodeType&&"teleport anchor"===l.data){t.targetAnchor=l,u._lpa=t.targetAnchor&&i(t.targetAnchor);break}a(c,t,u,n,o,r,s)}Sr(t)}return t.anchor&&i(t.anchor)}};function Sr(e){const t=e.ctx;if(t&&t.ut){let n=e.children[0].el;for(;n!==e.targetAnchor;)1===n.nodeType&&n.setAttribute("data-v-owner",t.uid),n=n.nextSibling;t.ut()}}const xr=Symbol.for("v-fgt"),Cr=Symbol.for("v-txt"),kr=Symbol.for("v-cmt"),wr=Symbol.for("v-stc"),Tr=[];let Er=null;function Nr(e=!1){Tr.push(Er=e?null:[])}function Or(){Tr.pop(),Er=Tr[Tr.length-1]||null}let $r=1;function Pr(e){$r+=e}function Ar(e){return e.dynamicChildren=$r>0?Er||o:null,Or(),$r>0&&Er&&Er.push(e),e}function Fr(e,t,n,o,r){return Ar(jr(e,t,n,o,r,!0))}function Rr(e){return!!e&&!0===e.__v_isVNode}function Mr(e,t){return e.type===t.type&&e.key===t.key}const Vr="__vInternal",Ir=({key:e})=>null!=e?e:null,Br=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?y(e)||Nt(e)||v(e)?{i:fn,r:e,k:t,f:!!n}:e:null);function Lr(e,t=null,n=null,o=0,r=null,s=(e===xr?0:1),i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ir(t),ref:t&&Br(t),scopeId:dn,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:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fn};return l?(Kr(c,n),128&s&&e.normalize(c)):n&&(c.shapeFlag|=y(n)?8:16),$r>0&&!i&&Er&&(c.patchFlag>0||6&s)&&32!==c.patchFlag&&Er.push(c),c}const jr=function(e,t=null,n=null,o=0,r=null,s=!1){e&&e!==yo||(e=kr);if(Rr(e)){const o=Dr(e,t,!0);return n&&Kr(o,n),$r>0&&!s&&Er&&(6&o.shapeFlag?Er[Er.indexOf(e)]=o:Er.push(o)),o.patchFlag|=-2,o}i=e,v(i)&&"__vccOpts"in i&&(e=e.__vccOpts);var i;if(t){t=Ur(t);let{class:e,style:n}=t;e&&!y(e)&&(t.class=G(e)),b(n)&&(St(n)&&!d(n)&&(n=a({},n)),t.style=D(n))}const l=y(e)?1:Sn(e)?128:(e=>e.__isTeleport)(e)?64:b(e)?4:v(e)?2:0;return Lr(e,t,n,o,r,l,s,!0)};function Ur(e){return e?St(e)||Vr in e?a({},e):e:null}function Dr(e,t,n=!1){const{props:o,ref:r,patchFlag:s,children:i}=e,l=t?Gr(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ir(l),ref:t&&t.ref?n&&r?d(r)?r.concat(Br(t)):[r,Br(t)]:Br(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xr?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Dr(e.ssContent),ssFallback:e.ssFallback&&Dr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Hr(e=" ",t=0){return jr(Cr,null,e,t)}function Wr(e){return null==e||"boolean"==typeof e?jr(kr):d(e)?jr(xr,null,e.slice()):"object"==typeof e?zr(e):jr(Cr,null,String(e))}function zr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Dr(e)}function Kr(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(d(t))n=16;else if("object"==typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),Kr(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||Vr in t?3===o&&fn&&(1===fn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=fn}}else v(t)?(t={default:t,_ctx:fn},n=32):(t=String(t),64&o?(n=16,t=[Hr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Gr(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const e in o)if("class"===e)t.class!==o.class&&(t.class=G([t.class,o.class]));else if("style"===e)t.style=D([t.style,o.style]);else if(l(e)){const n=t[e],r=o[e];!r||n===r||d(n)&&n.includes(r)||(t[e]=n?[].concat(n,r):r)}else""!==e&&(t[e]=o[e])}return t}function qr(e,t,n,o=null){Ut(e,t,7,[n,o])}const Jr=Uo();let Zr=0;let Yr=null;const Qr=()=>Yr||fn;let Xr;Xr=e=>{Yr=e};const es=e=>{Xr(e),e.scope.on()},ts=()=>{Yr&&Yr.scope.off(),Xr(null)};function ns(e){return 4&e.vnode.shapeFlag}let os,rs,ss=!1;function is(e,t,n){v(t)?e.render=t:b(t)&&(e.setupState=Rt(t)),cs(e,n)}function ls(e){os=e,rs=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,To))}}function cs(e,t,n){const o=e.type;if(!e.render){if(!t&&os&&!o.render){const t=o.template||Fo(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:i}=o,l=a(a({isCustomElement:n,delimiters:s},r),i);o.render=os(t,l)}}e.render=o.render||r,rs&&rs(e)}es(e),_e(),$o(e),be(),ts()}function as(e){const t=t=>{e.exposed=t||{}};return{get attrs(){return function(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get:(t,n)=>(Se(e,0,"$attrs"),t[n])}))}(e)},slots:e.slots,emit:e.emit,expose:t}}function us(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Rt(Ct(e.exposed)),{get:(t,n)=>n in t?t[n]:n in Co?Co[n](e):void 0,has:(e,t)=>t in e||t in Co}))}function ps(e,t=!0){return v(e)?e.displayName||e.name:e.name||t&&e.__name}const fs=(e,t)=>function(e,t,n=!1){let o,s;const i=v(e);return i?(o=e,s=r):(o=e.get,s=e.set),new Lt(o,s,i||!s,n)}(e,0,ss);function ds(e,t,n){const o=arguments.length;return 2===o?b(t)&&!d(t)?Rr(t)?jr(e,null,[t]):jr(e,t):jr(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&Rr(n)&&(n=[n]),jr(e,t,n))}const hs=Symbol.for("v-scx");function ms(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let o=0;o<n.length;o++)if(M(n[o],t[o]))return!1;return $r>0&&Er&&Er.push(e),!0}const gs="3.3.4",vs="undefined"!=typeof document?document:null,ys=vs&&vs.createElement("template"),_s={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?vs.createElementNS("http://www.w3.org/2000/svg",e):vs.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>vs.createTextNode(e),createComment:e=>vs.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vs.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const i=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{ys.innerHTML=o?`<svg>${e}</svg>`:e;const r=ys.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};const bs=/\s*!important$/;function Ss(e,t,n){if(d(n))n.forEach((n=>Ss(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=Cs[t];if(n)return n;let o=$(t);if("filter"!==o&&o in e)return Cs[t]=o;o=F(o);for(let r=0;r<xs.length;r++){const n=xs[r]+o;if(n in e)return Cs[t]=n}return t}(e,t);bs.test(n)?e.setProperty(A(o),n.replace(bs,""),"important"):e[o]=n}}const xs=["Webkit","Moz","ms"],Cs={};const ks="http://www.w3.org/1999/xlink";function ws(e,t,n,o){e.addEventListener(t,n,o)}function Ts(e,t,n,o,r=null){const s=e._vei||(e._vei={}),i=s[t];if(o&&i)i.value=o;else{const[n,l]=function(e){let t;if(Es.test(e)){let n;for(t={};n=e.match(Es);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}const n=":"===e[2]?e.slice(3):A(e.slice(2));return[n,t]}(t);if(o){const i=s[t]=function(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Ut(function(e,t){if(d(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=(()=>Ns||(Os.then((()=>Ns=0)),Ns=Date.now()))(),n}(o,r);ws(e,n,i,l)}else i&&(!function(e,t,n,o){e.removeEventListener(t,n,o)}(e,n,i,l),s[t]=void 0)}}const Es=/(?:Once|Passive|Capture)$/;let Ns=0;const Os=Promise.resolve();const $s=/^on[a-z]/;function Ps(e,t){const n=Kn(e);class o extends Fs{constructor(e){super(n,e,t)}}return o.def=n,o}const As="undefined"!=typeof HTMLElement?HTMLElement:class{};class Fs extends As{constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Qt((()=>{this._connected||($i(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let n=0;n<this.attributes.length;n++)this._setAttr(this.attributes[n].name);new MutationObserver((e=>{for(const t of e)this._setAttr(t.attributeName)})).observe(this,{attributes:!0});const e=(e,t=!1)=>{const{props:n,styles:o}=e;let r;if(n&&!d(n))for(const s in n){const e=n[s];(e===Number||e&&e.type===Number)&&(s in this._props&&(this._props[s]=L(this._props[s])),(r||(r=Object.create(null)))[$(s)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this._applyStyles(o),this._update()},t=this._def.__asyncLoader;t?t().then((t=>e(t,!0))):e(this._def)}_resolveProps(e){const{props:t}=e,n=d(t)?t:Object.keys(t||{});for(const o of Object.keys(this))"_"!==o[0]&&n.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of n.map($))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(e){this._setProp(o,e)}})}_setAttr(e){let t=this.getAttribute(e);const n=$(e);this._numberProps&&this._numberProps[n]&&(t=L(t)),this._setProp(n,t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,o=!0){t!==this._props[e]&&(this._props[e]=t,o&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(A(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(A(e),t+""):t||this.removeAttribute(A(e))))}_update(){$i(this._createVNode(),this.shadowRoot)}_createVNode(){const e=jr(this._def,a({},this._props));return this._instance||(e.ce=e=>{this._instance=e,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};e.emit=(e,...n)=>{t(e,n),A(e)!==e&&t(A(e),n)};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof Fs){e.parent=n._instance,e.provides=n._instance.provides;break}}),e}_applyStyles(e){e&&e.forEach((e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)}))}}function Rs(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{Rs(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)Ms(e.el,t);else if(e.type===xr)e.children.forEach((e=>Rs(e,t)));else if(e.type===wr){let{el:n,anchor:o}=e;for(;n&&(Ms(n,t),n!==o);)n=n.nextSibling}}function Ms(e,t){if(1===e.nodeType){const n=e.style;for(const e in t)n.setProperty(`--${e}`,t[e])}}const Vs="transition",Is="animation",Bs=(e,{slots:t})=>ds(Ln,Hs(e),t);Bs.displayName="Transition";const Ls={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},js=Bs.props=a({},Bn,Ls),Us=(e,t=[])=>{d(e)?e.forEach((e=>e(...t))):e&&e(...t)},Ds=e=>!!e&&(d(e)?e.some((e=>e.length>1)):e.length>1);function Hs(e){const t={};for(const a in e)a in Ls||(t[a]=e[a]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=s,appearActiveClass:u=i,appearToClass:p=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=function(e){if(null==e)return null;if(b(e))return[Ws(e.enter),Ws(e.leave)];{const t=Ws(e);return[t,t]}}(r),g=m&&m[0],v=m&&m[1],{onBeforeEnter:y,onEnter:_,onEnterCancelled:S,onLeave:x,onLeaveCancelled:C,onBeforeAppear:k=y,onAppear:w=_,onAppearCancelled:T=S}=t,E=(e,t,n)=>{Ks(e,t?p:l),Ks(e,t?u:i),n&&n()},N=(e,t)=>{e._isLeaving=!1,Ks(e,f),Ks(e,h),Ks(e,d),t&&t()},O=e=>(t,n)=>{const r=e?w:_,i=()=>E(t,e,n);Us(r,[t,i]),Gs((()=>{Ks(t,e?c:s),zs(t,e?p:l),Ds(r)||Js(t,o,g,i)}))};return a(t,{onBeforeEnter(e){Us(y,[e]),zs(e,s),zs(e,i)},onBeforeAppear(e){Us(k,[e]),zs(e,c),zs(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>N(e,t);zs(e,f),Xs(),zs(e,d),Gs((()=>{e._isLeaving&&(Ks(e,f),zs(e,h),Ds(x)||Js(e,o,v,n))})),Us(x,[e,n])},onEnterCancelled(e){E(e,!1),Us(S,[e])},onAppearCancelled(e){E(e,!0),Us(T,[e])},onLeaveCancelled(e){N(e),Us(C,[e])}})}function Ws(e){return L(e)}function zs(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function Ks(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Gs(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let qs=0;function Js(e,t,n,o){const r=e._endId=++qs,s=()=>{r===e._endId&&o()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:c}=Zs(e,t);if(!i)return o();const a=i+"end";let u=0;const p=()=>{e.removeEventListener(a,f),s()},f=t=>{t.target===e&&++u>=c&&p()};setTimeout((()=>{u<c&&p()}),l+1),e.addEventListener(a,f)}function Zs(e,t){const n=window.getComputedStyle(e),o=e=>(n[e]||"").split(", "),r=o(`${Vs}Delay`),s=o(`${Vs}Duration`),i=Ys(r,s),l=o(`${Is}Delay`),c=o(`${Is}Duration`),a=Ys(l,c);let u=null,p=0,f=0;t===Vs?i>0&&(u=Vs,p=i,f=s.length):t===Is?a>0&&(u=Is,p=a,f=c.length):(p=Math.max(i,a),u=p>0?i>a?Vs:Is:null,f=u?u===Vs?s.length:c.length:0);return{type:u,timeout:p,propCount:f,hasTransform:u===Vs&&/\b(transform|all)(,|$)/.test(o(`${Vs}Property`).toString())}}function Ys(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map(((t,n)=>Qs(t)+Qs(e[n]))))}function Qs(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Xs(){return document.body.offsetHeight}const ei=new WeakMap,ti=new WeakMap,ni={name:"TransitionGroup",props:a({},js,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Qr(),o=Vn();let r,s;return ao((()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const o=e.cloneNode();e._vtc&&e._vtc.forEach((e=>{e.split(/\s+/).forEach((e=>e&&o.classList.remove(e)))}));n.split(/\s+/).forEach((e=>e&&o.classList.add(e))),o.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(o);const{hasTransform:s}=Zs(o);return r.removeChild(o),s}(r[0].el,n.vnode.el,t))return;r.forEach(ri),r.forEach(si);const o=r.filter(ii);Xs(),o.forEach((e=>{const n=e.el,o=n.style;zs(n,t),o.transform=o.webkitTransform=o.transitionDuration="";const r=n._moveCb=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n._moveCb=null,Ks(n,t))};n.addEventListener("transitionend",r)}))})),()=>{const i=xt(e),l=Hs(i);let c=i.tag||xr;r=s,s=t.default?zn(t.default()):[];for(let e=0;e<s.length;e++){const t=s[e];null!=t.key&&Wn(t,Un(t,l,o,n))}if(r)for(let e=0;e<r.length;e++){const t=r[e];Wn(t,Un(t,l,o,n)),ei.set(t,t.el.getBoundingClientRect())}return jr(c,null,s)}}},oi=ni;function ri(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function si(e){ti.set(e,e.el.getBoundingClientRect())}function ii(e){const t=ei.get(e),n=ti.get(e),o=t.left-n.left,r=t.top-n.top;if(o||r){const t=e.el.style;return t.transform=t.webkitTransform=`translate(${o}px,${r}px)`,t.transitionDuration="0s",e}}const li=e=>{const t=e.props["onUpdate:modelValue"]||!1;return d(t)?e=>V(t,e):t};function ci(e){e.target.composing=!0}function ai(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ui={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=li(r);const s=o||r.props&&"number"===r.props.type;ws(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),s&&(o=B(o)),e._assign(o)})),n&&ws(e,"change",(()=>{e.value=e.value.trim()})),t||(ws(e,"compositionstart",ci),ws(e,"compositionend",ai),ws(e,"change",ai))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},s){if(e._assign=li(s),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&B(e.value)===t)return}const i=null==t?"":t;e.value!==i&&(e.value=i)}},pi={deep:!0,created(e,t,n){e._assign=li(n),ws(e,"change",(()=>{const t=e._modelValue,n=gi(e),o=e.checked,r=e._assign;if(d(t)){const e=ee(t,n),s=-1!==e;if(o&&!s)r(t.concat(n));else if(!o&&s){const n=[...t];n.splice(e,1),r(n)}}else if(m(t)){const e=new Set(t);o?e.add(n):e.delete(n),r(e)}else r(vi(e,o))}))},mounted:fi,beforeUpdate(e,t,n){e._assign=li(n),fi(e,t,n)}};function fi(e,{value:t,oldValue:n},o){e._modelValue=t,d(t)?e.checked=ee(t,o.props.value)>-1:m(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=X(t,vi(e,!0)))}const di={created(e,{value:t},n){e.checked=X(t,n.props.value),e._assign=li(n),ws(e,"change",(()=>{e._assign(gi(e))}))},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=li(o),t!==n&&(e.checked=X(t,o.props.value))}},hi={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const r=m(t);ws(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?B(gi(e)):gi(e)));e._assign(e.multiple?r?new Set(t):t:t[0])})),e._assign=li(o)},mounted(e,{value:t}){mi(e,t)},beforeUpdate(e,t,n){e._assign=li(n)},updated(e,{value:t}){mi(e,t)}};function mi(e,t){const n=e.multiple;if(!n||d(t)||m(t)){for(let o=0,r=e.options.length;o<r;o++){const r=e.options[o],s=gi(r);if(n)r.selected=d(t)?ee(t,s)>-1:t.has(s);else if(X(gi(r),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function gi(e){return"_value"in e?e._value:e.value}function vi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const yi={created(e,t,n){_i(e,t,n,null,"created")},mounted(e,t,n){_i(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){_i(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){_i(e,t,n,o,"updated")}};function _i(e,t,n,o,r){const s=function(e,t){switch(e){case"SELECT":return hi;case"TEXTAREA":return ui;default:switch(t){case"checkbox":return pi;case"radio":return di;default:return ui}}}(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,o)}const bi=["ctrl","shift","alt","meta"],Si={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>bi.some((n=>e[`${n}Key`]&&!t.includes(n)))},xi={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Ci={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):ki(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),ki(e,!0),o.enter(e)):o.leave(e,(()=>{ki(e,!1)})):ki(e,t))},beforeUnmount(e,{value:t}){ki(e,t)}};function ki(e,t){e.style.display=t?e._vod:"none"}const wi=a({patchProp:(e,t,n,o,r=!1,s,i,a,u)=>{"class"===t?function(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,o,r):"style"===t?function(e,t,n){const o=e.style,r=y(n);if(n&&!r){if(t&&!y(t))for(const e in t)null==n[e]&&Ss(o,e,"");for(const e in n)Ss(o,e,n[e])}else{const s=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=s)}}(e,n,o):l(t)?c(t)||Ts(e,t,0,o,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&$s.test(t)&&v(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if($s.test(t)&&y(n))return!1;return t in e}(e,t,o,r))?function(e,t,n,o,r,s,i){if("innerHTML"===t||"textContent"===t)return o&&i(o,r,s),void(e[t]=null==n?"":n);const l=e.tagName;if("value"===t&&"PROGRESS"!==l&&!l.includes("-")){e._value=n;const o=null==n?"":n;return("OPTION"===l?e.getAttribute("value"):e.value)!==o&&(e.value=o),void(null==n&&e.removeAttribute(t))}let c=!1;if(""===n||null==n){const o=typeof e[t];"boolean"===o?n=Q(n):null==n&&"string"===o?(n="",c=!0):"number"===o&&(n=0,c=!0)}try{e[t]=n}catch(a){}c&&e.removeAttribute(t)}(e,t,o,s,i,a,u):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),function(e,t,n,o,r){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(ks,t.slice(6,t.length)):e.setAttributeNS(ks,t,n);else{const o=Y(t);null==n||o&&!Q(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,o,r))}},_s);let Ti,Ei=!1;function Ni(){return Ti||(Ti=pr(wi))}function Oi(){return Ti=Ei?Ti:fr(wi),Ei=!0,Ti}const $i=(...e)=>{Ni().render(...e)},Pi=(...e)=>{Oi().hydrate(...e)};function Ai(e){if(y(e)){return document.querySelector(e)}return e}const Fi=r;function Ri(e){throw e}function Mi(e){}function Vi(e,t,n,o){const r=new SyntaxError(String(e));return r.code=e,r.loc=t,r}const Ii=Symbol(""),Bi=Symbol(""),Li=Symbol(""),ji=Symbol(""),Ui=Symbol(""),Di=Symbol(""),Hi=Symbol(""),Wi=Symbol(""),zi=Symbol(""),Ki=Symbol(""),Gi=Symbol(""),qi=Symbol(""),Ji=Symbol(""),Zi=Symbol(""),Yi=Symbol(""),Qi=Symbol(""),Xi=Symbol(""),el=Symbol(""),tl=Symbol(""),nl=Symbol(""),ol=Symbol(""),rl=Symbol(""),sl=Symbol(""),il=Symbol(""),ll=Symbol(""),cl=Symbol(""),al=Symbol(""),ul=Symbol(""),pl=Symbol(""),fl=Symbol(""),dl=Symbol(""),hl=Symbol(""),ml=Symbol(""),gl=Symbol(""),vl=Symbol(""),yl=Symbol(""),_l=Symbol(""),bl=Symbol(""),Sl=Symbol(""),xl={[Ii]:"Fragment",[Bi]:"Teleport",[Li]:"Suspense",[ji]:"KeepAlive",[Ui]:"BaseTransition",[Di]:"openBlock",[Hi]:"createBlock",[Wi]:"createElementBlock",[zi]:"createVNode",[Ki]:"createElementVNode",[Gi]:"createCommentVNode",[qi]:"createTextVNode",[Ji]:"createStaticVNode",[Zi]:"resolveComponent",[Yi]:"resolveDynamicComponent",[Qi]:"resolveDirective",[Xi]:"resolveFilter",[el]:"withDirectives",[tl]:"renderList",[nl]:"renderSlot",[ol]:"createSlots",[rl]:"toDisplayString",[sl]:"mergeProps",[il]:"normalizeClass",[ll]:"normalizeStyle",[cl]:"normalizeProps",[al]:"guardReactiveProps",[ul]:"toHandlers",[pl]:"camelize",[fl]:"capitalize",[dl]:"toHandlerKey",[hl]:"setBlockTracking",[ml]:"pushScopeId",[gl]:"popScopeId",[vl]:"withCtx",[yl]:"unref",[_l]:"isRef",[bl]:"withMemo",[Sl]:"isMemoSame"};const Cl={source:"",start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function kl(e,t,n,o,r,s,i,l=!1,c=!1,a=!1,u=Cl){return e&&(l?(e.helper(Di),e.helper(Rl(e.inSSR,a))):e.helper(Fl(e.inSSR,a)),i&&e.helper(el)),{type:13,tag:t,props:n,children:o,patchFlag:r,dynamicProps:s,directives:i,isBlock:l,disableTracking:c,isComponent:a,loc:u}}function wl(e,t=Cl){return{type:17,loc:t,elements:e}}function Tl(e,t=Cl){return{type:15,loc:t,properties:e}}function El(e,t){return{type:16,loc:Cl,key:y(e)?Nl(e,!0):e,value:t}}function Nl(e,t=!1,n=Cl,o=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:o}}function Ol(e,t=Cl){return{type:8,loc:t,children:e}}function $l(e,t=[],n=Cl){return{type:14,loc:n,callee:e,arguments:t}}function Pl(e,t,n=!1,o=!1,r=Cl){return{type:18,params:e,returns:t,newline:n,isSlot:o,loc:r}}function Al(e,t,n,o=!0){return{type:19,test:e,consequent:t,alternate:n,newline:o,loc:Cl}}function Fl(e,t){return e||t?zi:Ki}function Rl(e,t){return e||t?Hi:Wi}function Ml(e,{helper:t,removeHelper:n,inSSR:o}){e.isBlock||(e.isBlock=!0,n(Fl(o,e.isComponent)),t(Di),t(Rl(o,e.isComponent)))}const Vl=e=>4===e.type&&e.isStatic,Il=(e,t)=>e===t||e===A(t);function Bl(e){return Il(e,"Teleport")?Bi:Il(e,"Suspense")?Li:Il(e,"KeepAlive")?ji:Il(e,"BaseTransition")?Ui:void 0}const Ll=/^\d|[^\$\w]/,jl=e=>!Ll.test(e),Ul=/[A-Za-z_$\xA0-\uFFFF]/,Dl=/[\.\?\w$\xA0-\uFFFF]/,Hl=/\s+[.[]\s*|\s*[.[]\s+/g,Wl=e=>{e=e.trim().replace(Hl,(e=>e.trim()));let t=0,n=[],o=0,r=0,s=null;for(let i=0;i<e.length;i++){const l=e.charAt(i);switch(t){case 0:if("["===l)n.push(t),t=1,o++;else if("("===l)n.push(t),t=2,r++;else if(!(0===i?Ul:Dl).test(l))return!1;break;case 1:"'"===l||'"'===l||"`"===l?(n.push(t),t=3,s=l):"["===l?o++:"]"===l&&(--o||(t=n.pop()));break;case 2:if("'"===l||'"'===l||"`"===l)n.push(t),t=3,s=l;else if("("===l)r++;else if(")"===l){if(i===e.length-1)return!1;--r||(t=n.pop())}break;case 3:l===s&&(t=n.pop(),s=null)}}return!o&&!r};function zl(e,t,n){const o={source:e.source.slice(t,t+n),start:Kl(e.start,e.source,t),end:e.end};return null!=n&&(o.end=Kl(e.start,e.source,t+n)),o}function Kl(e,t,n=t.length){return Gl(a({},e),t,n)}function Gl(e,t,n=t.length){let o=0,r=-1;for(let s=0;s<n;s++)10===t.charCodeAt(s)&&(o++,r=s);return e.offset+=n,e.line+=o,e.column=-1===r?e.column+n:n-r,e}function ql(e,t,n=!1){for(let o=0;o<e.props.length;o++){const r=e.props[o];if(7===r.type&&(n||r.exp)&&(y(t)?r.name===t:t.test(r.name)))return r}}function Jl(e,t,n=!1,o=!1){for(let r=0;r<e.props.length;r++){const s=e.props[r];if(6===s.type){if(n)continue;if(s.name===t&&(s.value||o))return s}else if("bind"===s.name&&(s.exp||o)&&Zl(s.arg,t))return s}}function Zl(e,t){return!(!e||!Vl(e)||e.content!==t)}function Yl(e){return 5===e.type||2===e.type}function Ql(e){return 7===e.type&&"slot"===e.name}function Xl(e){return 1===e.type&&3===e.tagType}function ec(e){return 1===e.type&&2===e.tagType}const tc=new Set([cl,al]);function nc(e,t=[]){if(e&&!y(e)&&14===e.type){const n=e.callee;if(!y(n)&&tc.has(n))return nc(e.arguments[0],t.concat(e))}return[e,t]}function oc(e,t,n){let o,r,s=13===e.type?e.props:e.arguments[2],i=[];if(s&&!y(s)&&14===s.type){const e=nc(s);s=e[0],i=e[1],r=i[i.length-1]}if(null==s||y(s))o=Tl([t]);else if(14===s.type){const e=s.arguments[0];y(e)||15!==e.type?s.callee===ul?o=$l(n.helper(sl),[Tl([t]),s]):s.arguments.unshift(Tl([t])):rc(t,e)||e.properties.unshift(t),!o&&(o=s)}else 15===s.type?(rc(t,s)||s.properties.unshift(t),o=s):(o=$l(n.helper(sl),[Tl([t]),s]),r&&r.callee===al&&(r=i[i.length-2]));13===e.type?r?r.arguments[0]=o:e.props=o:r?r.arguments[0]=o:e.arguments[2]=o}function rc(e,t){let n=!1;if(4===e.key.type){const o=e.key.content;n=t.properties.some((e=>4===e.key.type&&e.key.content===o))}return n}function sc(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}const ic=/&(gt|lt|amp|apos|quot);/g,lc={gt:">",lt:"<",amp:"&",apos:"'",quot:'"'},cc={delimiters:["{{","}}"],getNamespace:()=>0,getTextMode:()=>0,isVoidTag:s,isPreTag:s,isCustomElement:s,decodeEntities:e=>e.replace(ic,((e,t)=>lc[t])),onError:Ri,onWarn:Mi,comments:!1};function ac(e,t={}){const n=function(e,t){const n=a({},cc);let o;for(o in t)n[o]=void 0===t[o]?cc[o]:t[o];return{options:n,column:1,line:1,offset:0,originalSource:e,source:e,inPre:!1,inVPre:!1,onWarn:n.onWarn}}(e,t),o=kc(n);return function(e,t=Cl){return{type:0,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:t}}(uc(n,0,[]),wc(n,o))}function uc(e,t,n){const o=Tc(n),r=o?o.ns:0,s=[];for(;!Ac(e,t,n);){const i=e.source;let l;if(0===t||1===t)if(!e.inVPre&&Ec(i,e.options.delimiters[0]))l=Sc(e,t);else if(0===t&&"<"===i[0])if(1===i.length);else if("!"===i[1])l=Ec(i,"\x3c!--")?dc(e):Ec(i,"<!DOCTYPE")?hc(e):Ec(i,"<![CDATA[")&&0!==r?fc(e,n):hc(e);else if("/"===i[1])if(2===i.length);else{if(">"===i[2]){Nc(e,3);continue}if(/[a-z]/i.test(i[2])){yc(e,gc.End,o);continue}Pc(e,12,2),l=hc(e)}else/[a-z]/i.test(i[1])?l=mc(e,n):"?"===i[1]&&(Pc(e,21,1),l=hc(e));if(l||(l=xc(e,t)),d(l))for(let e=0;e<l.length;e++)pc(s,l[e]);else pc(s,l)}let i=!1;if(2!==t&&1!==t){const t="preserve"!==e.options.whitespace;for(let n=0;n<s.length;n++){const o=s[n];if(2===o.type)if(e.inPre)o.content=o.content.replace(/\r\n/g,"\n");else if(/[^\t\r\n\f ]/.test(o.content))t&&(o.content=o.content.replace(/[\t\r\n\f ]+/g," "));else{const e=s[n-1],r=s[n+1];!e||!r||t&&(3===e.type&&3===r.type||3===e.type&&1===r.type||1===e.type&&3===r.type||1===e.type&&1===r.type&&/[\r\n]/.test(o.content))?(i=!0,s[n]=null):o.content=" "}else 3!==o.type||e.options.comments||(i=!0,s[n]=null)}if(e.inPre&&o&&e.options.isPreTag(o.tag)){const e=s[0];e&&2===e.type&&(e.content=e.content.replace(/^\r?\n/,""))}}return i?s.filter(Boolean):s}function pc(e,t){if(2===t.type){const n=Tc(e);if(n&&2===n.type&&n.loc.end.offset===t.loc.start.offset)return n.content+=t.content,n.loc.end=t.loc.end,void(n.loc.source+=t.loc.source)}e.push(t)}function fc(e,t){Nc(e,9);const n=uc(e,3,t);return 0===e.source.length||Nc(e,3),n}function dc(e){const t=kc(e);let n;const o=/--(\!)?>/.exec(e.source);if(o){n=e.source.slice(4,o.index);const t=e.source.slice(0,o.index);let r=1,s=0;for(;-1!==(s=t.indexOf("\x3c!--",r));)Nc(e,s-r+1),r=s+1;Nc(e,o.index+o[0].length-r+1)}else n=e.source.slice(4),Nc(e,e.source.length);return{type:3,content:n,loc:wc(e,t)}}function hc(e){const t=kc(e),n="?"===e.source[1]?1:2;let o;const r=e.source.indexOf(">");return-1===r?(o=e.source.slice(n),Nc(e,e.source.length)):(o=e.source.slice(n,r),Nc(e,r+1)),{type:3,content:o,loc:wc(e,t)}}function mc(e,t){const n=e.inPre,o=e.inVPre,r=Tc(t),s=yc(e,gc.Start,r),i=e.inPre&&!n,l=e.inVPre&&!o;if(s.isSelfClosing||e.options.isVoidTag(s.tag))return i&&(e.inPre=!1),l&&(e.inVPre=!1),s;t.push(s);const c=e.options.getTextMode(s,r),a=uc(e,c,t);if(t.pop(),s.children=a,Fc(e.source,s.tag))yc(e,gc.End,r);else if(0===e.source.length&&"script"===s.tag.toLowerCase()){const e=a[0];e&&Ec(e.loc.source,"\x3c!--")}return s.loc=wc(e,s.loc.start),i&&(e.inPre=!1),l&&(e.inVPre=!1),s}var gc=(e=>(e[e.Start=0]="Start",e[e.End=1]="End",e))(gc||{});const vc=t("if,else,else-if,for,slot");function yc(e,t,n){const o=kc(e),r=/^<\/?([a-z][^\t\r\n\f />]*)/i.exec(e.source),s=r[1],i=e.options.getNamespace(s,n);Nc(e,r[0].length),Oc(e);const l=kc(e),c=e.source;e.options.isPreTag(s)&&(e.inPre=!0);let u=_c(e,t);0===t&&!e.inVPre&&u.some((e=>7===e.type&&"pre"===e.name))&&(e.inVPre=!0,a(e,l),e.source=c,u=_c(e,t).filter((e=>"v-pre"!==e.name)));let p=!1;if(0===e.source.length||(p=Ec(e.source,"/>"),Nc(e,p?2:1)),1===t)return;let f=0;return e.inVPre||("slot"===s?f=2:"template"===s?u.some((e=>7===e.type&&vc(e.name)))&&(f=3):function(e,t,n){const o=n.options;if(o.isCustomElement(e))return!1;if("component"===e||/^[A-Z]/.test(e)||Bl(e)||o.isBuiltInComponent&&o.isBuiltInComponent(e)||o.isNativeTag&&!o.isNativeTag(e))return!0;for(let r=0;r<t.length;r++){const e=t[r];if(6===e.type){if("is"===e.name&&e.value&&e.value.content.startsWith("vue:"))return!0}else{if("is"===e.name)return!0;"bind"===e.name&&Zl(e.arg,"is")}}}(s,u,e)&&(f=1)),{type:1,ns:i,tag:s,tagType:f,props:u,isSelfClosing:p,children:[],loc:wc(e,o),codegenNode:void 0}}function _c(e,t){const n=[],o=new Set;for(;e.source.length>0&&!Ec(e.source,">")&&!Ec(e.source,"/>");){if(Ec(e.source,"/")){Nc(e,1),Oc(e);continue}const r=bc(e,o);6===r.type&&r.value&&"class"===r.name&&(r.value.content=r.value.content.replace(/\s+/g," ").trim()),0===t&&n.push(r),/^[^\t\r\n\f />]/.test(e.source),Oc(e)}return n}function bc(e,t){var n;const o=kc(e),r=/^[^\t\r\n\f />][^\t\r\n\f />=]*/.exec(e.source)[0];t.has(r),t.add(r);{const t=/["'<]/g;let n;for(;n=t.exec(r);)Pc(e,17,n.index)}let s;Nc(e,r.length),/^[\t\r\n\f ]*=/.test(e.source)&&(Oc(e),Nc(e,1),Oc(e),s=function(e){const t=kc(e);let n;const o=e.source[0],r='"'===o||"'"===o;if(r){Nc(e,1);const t=e.source.indexOf(o);-1===t?n=Cc(e,e.source.length,4):(n=Cc(e,t,4),Nc(e,1))}else{const t=/^[^\t\r\n\f >]+/.exec(e.source);if(!t)return;const o=/["'<=`]/g;let r;for(;r=o.exec(t[0]);)Pc(e,18,r.index);n=Cc(e,t[0].length,4)}return{content:n,isQuoted:r,loc:wc(e,t)}}(e));const i=wc(e,o);if(!e.inVPre&&/^(v-[A-Za-z0-9-]|:|\.|@|#)/.test(r)){const t=/(?:^v-([a-z0-9-]+))?(?:(?::|^\.|^@|^#)(\[[^\]]+\]|[^\.]+))?(.+)?$/i.exec(r);let l,c=Ec(r,"."),a=t[1]||(c||Ec(r,":")?"bind":Ec(r,"@")?"on":"slot");if(t[2]){const s="slot"===a,i=r.lastIndexOf(t[2],r.length-((null==(n=t[3])?void 0:n.length)||0)),c=wc(e,$c(e,o,i),$c(e,o,i+t[2].length+(s&&t[3]||"").length));let u=t[2],p=!0;u.startsWith("[")?(p=!1,u.endsWith("]")?u=u.slice(1,u.length-1):(Pc(e,27),u=u.slice(1))):s&&(u+=t[3]||""),l={type:4,content:u,isStatic:p,constType:p?3:0,loc:c}}if(s&&s.isQuoted){const e=s.loc;e.start.offset++,e.start.column++,e.end=Kl(e.start,s.content),e.source=e.source.slice(1,-1)}const u=t[3]?t[3].slice(1).split("."):[];return c&&u.push("prop"),{type:7,name:a,exp:s&&{type:4,content:s.content,isStatic:!1,constType:0,loc:s.loc},arg:l,modifiers:u,loc:i}}return!e.inVPre&&Ec(r,"v-"),{type:6,name:r,value:s&&{type:2,content:s.content,loc:s.loc},loc:i}}function Sc(e,t){const[n,o]=e.options.delimiters,r=e.source.indexOf(o,n.length);if(-1===r)return;const s=kc(e);Nc(e,n.length);const i=kc(e),l=kc(e),c=r-n.length,a=e.source.slice(0,c),u=Cc(e,c,t),p=u.trim(),f=u.indexOf(p);f>0&&Gl(i,a,f);return Gl(l,a,c-(u.length-p.length-f)),Nc(e,o.length),{type:5,content:{type:4,isStatic:!1,constType:0,content:p,loc:wc(e,i,l)},loc:wc(e,s)}}function xc(e,t){const n=3===t?["]]>"]:["<",e.options.delimiters[0]];let o=e.source.length;for(let s=0;s<n.length;s++){const t=e.source.indexOf(n[s],1);-1!==t&&o>t&&(o=t)}const r=kc(e);return{type:2,content:Cc(e,o,t),loc:wc(e,r)}}function Cc(e,t,n){const o=e.source.slice(0,t);return Nc(e,t),2!==n&&3!==n&&o.includes("&")?e.options.decodeEntities(o,4===n):o}function kc(e){const{column:t,line:n,offset:o}=e;return{column:t,line:n,offset:o}}function wc(e,t,n){return{start:t,end:n=n||kc(e),source:e.originalSource.slice(t.offset,n.offset)}}function Tc(e){return e[e.length-1]}function Ec(e,t){return e.startsWith(t)}function Nc(e,t){const{source:n}=e;Gl(e,n,t),e.source=n.slice(t)}function Oc(e){const t=/^[\t\r\n\f ]+/.exec(e.source);t&&Nc(e,t[0].length)}function $c(e,t,n){return Kl(t,e.originalSource.slice(t.offset,n),n)}function Pc(e,t,n,o=kc(e)){n&&(o.offset+=n,o.column+=n),e.options.onError(Vi(t,{start:o,end:o,source:""}))}function Ac(e,t,n){const o=e.source;switch(t){case 0:if(Ec(o,"</"))for(let e=n.length-1;e>=0;--e)if(Fc(o,n[e].tag))return!0;break;case 1:case 2:{const e=Tc(n);if(e&&Fc(o,e.tag))return!0;break}case 3:if(Ec(o,"]]>"))return!0}return!o}function Fc(e,t){return Ec(e,"</")&&e.slice(2,2+t.length).toLowerCase()===t.toLowerCase()&&/[\t\r\n\f />]/.test(e[2+t.length]||">")}function Rc(e,t){Vc(e,t,Mc(e,e.children[0]))}function Mc(e,t){const{children:n}=e;return 1===n.length&&1===t.type&&!ec(t)}function Vc(e,t,n=!1){const{children:o}=e,r=o.length;let s=0;for(let i=0;i<o.length;i++){const e=o[i];if(1===e.type&&0===e.tagType){const o=n?0:Ic(e,t);if(o>0){if(o>=2){e.codegenNode.patchFlag="-1",e.codegenNode=t.hoist(e.codegenNode),s++;continue}}else{const n=e.codegenNode;if(13===n.type){const o=Dc(n);if((!o||512===o||1===o)&&jc(e,t)>=2){const o=Uc(e);o&&(n.props=t.hoist(o))}n.dynamicProps&&(n.dynamicProps=t.hoist(n.dynamicProps))}}}if(1===e.type){const n=1===e.tagType;n&&t.scopes.vSlot++,Vc(e,t),n&&t.scopes.vSlot--}else if(11===e.type)Vc(e,t,1===e.children.length);else if(9===e.type)for(let n=0;n<e.branches.length;n++)Vc(e.branches[n],t,1===e.branches[n].children.length)}s&&t.transformHoist&&t.transformHoist(o,t,e),s&&s===r&&1===e.type&&0===e.tagType&&e.codegenNode&&13===e.codegenNode.type&&d(e.codegenNode.children)&&(e.codegenNode.children=t.hoist(wl(e.codegenNode.children)))}function Ic(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(0!==e.tagType)return 0;const o=n.get(e);if(void 0!==o)return o;const r=e.codegenNode;if(13!==r.type)return 0;if(r.isBlock&&"svg"!==e.tag&&"foreignObject"!==e.tag)return 0;if(Dc(r))return n.set(e,0),0;{let o=3;const s=jc(e,t);if(0===s)return n.set(e,0),0;s<o&&(o=s);for(let r=0;r<e.children.length;r++){const s=Ic(e.children[r],t);if(0===s)return n.set(e,0),0;s<o&&(o=s)}if(o>1)for(let r=0;r<e.props.length;r++){const s=e.props[r];if(7===s.type&&"bind"===s.name&&s.exp){const r=Ic(s.exp,t);if(0===r)return n.set(e,0),0;r<o&&(o=r)}}if(r.isBlock){for(let t=0;t<e.props.length;t++){if(7===e.props[t].type)return n.set(e,0),0}t.removeHelper(Di),t.removeHelper(Rl(t.inSSR,r.isComponent)),r.isBlock=!1,t.helper(Fl(t.inSSR,r.isComponent))}return n.set(e,o),o}case 2:case 3:return 3;case 9:case 11:case 10:default:return 0;case 5:case 12:return Ic(e.content,t);case 4:return e.constType;case 8:let s=3;for(let n=0;n<e.children.length;n++){const o=e.children[n];if(y(o)||_(o))continue;const r=Ic(o,t);if(0===r)return 0;r<s&&(s=r)}return s}}const Bc=new Set([il,ll,cl,al]);function Lc(e,t){if(14===e.type&&!y(e.callee)&&Bc.has(e.callee)){const n=e.arguments[0];if(4===n.type)return Ic(n,t);if(14===n.type)return Lc(n,t)}return 0}function jc(e,t){let n=3;const o=Uc(e);if(o&&15===o.type){const{properties:e}=o;for(let o=0;o<e.length;o++){const{key:r,value:s}=e[o],i=Ic(r,t);if(0===i)return i;let l;if(i<n&&(n=i),l=4===s.type?Ic(s,t):14===s.type?Lc(s,t):0,0===l)return l;l<n&&(n=l)}}return n}function Uc(e){const t=e.codegenNode;if(13===t.type)return t.props}function Dc(e){const t=e.patchFlag;return t?parseInt(t,10):void 0}function Hc(e,{filename:t="",prefixIdentifiers:o=!1,hoistStatic:s=!1,cacheHandlers:i=!1,nodeTransforms:l=[],directiveTransforms:c={},transformHoist:a=null,isBuiltInComponent:u=r,isCustomElement:p=r,expressionPlugins:f=[],scopeId:d=null,slotted:h=!0,ssr:m=!1,inSSR:g=!1,ssrCssVars:v="",bindingMetadata:_=n,inline:b=!1,isTS:S=!1,onError:x=Ri,onWarn:C=Mi,compatConfig:k}){const w=t.replace(/\?.*$/,"").match(/([^/\\]+)\.\w+$/),T={selfName:w&&F($(w[1])),prefixIdentifiers:o,hoistStatic:s,cacheHandlers:i,nodeTransforms:l,directiveTransforms:c,transformHoist:a,isBuiltInComponent:u,isCustomElement:p,expressionPlugins:f,scopeId:d,slotted:h,ssr:m,inSSR:g,ssrCssVars:v,bindingMetadata:_,inline:b,isTS:S,onError:x,onWarn:C,compatConfig:k,root:e,helpers:new Map,components:new Set,directives:new Set,hoists:[],imports:[],constantCache:new Map,temps:0,cached:0,identifiers:Object.create(null),scopes:{vFor:0,vSlot:0,vPre:0,vOnce:0},parent:null,currentNode:e,childIndex:0,inVOnce:!1,helper(e){const t=T.helpers.get(e)||0;return T.helpers.set(e,t+1),e},removeHelper(e){const t=T.helpers.get(e);if(t){const n=t-1;n?T.helpers.set(e,n):T.helpers.delete(e)}},helperString:e=>`_${xl[T.helper(e)]}`,replaceNode(e){T.parent.children[T.childIndex]=T.currentNode=e},removeNode(e){const t=e?T.parent.children.indexOf(e):T.currentNode?T.childIndex:-1;e&&e!==T.currentNode?T.childIndex>t&&(T.childIndex--,T.onNodeRemoved()):(T.currentNode=null,T.onNodeRemoved()),T.parent.children.splice(t,1)},onNodeRemoved:()=>{},addIdentifiers(e){},removeIdentifiers(e){},hoist(e){y(e)&&(e=Nl(e)),T.hoists.push(e);const t=Nl(`_hoisted_${T.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache:(e,t=!1)=>function(e,t,n=!1){return{type:20,index:e,value:t,isVNode:n,loc:Cl}}(T.cached++,e,t)};return T}function Wc(e,t){const n=Hc(e,t);zc(e,n),t.hoistStatic&&Rc(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:o}=e;if(1===o.length){const n=o[0];if(Mc(e,n)&&n.codegenNode){const o=n.codegenNode;13===o.type&&Ml(o,t),e.codegenNode=o}else e.codegenNode=n}else if(o.length>1){let o=64;e.codegenNode=kl(t,n(Ii),void 0,e.children,o+"",void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached}function zc(e,t){t.currentNode=e;const{nodeTransforms:n}=t,o=[];for(let s=0;s<n.length;s++){const r=n[s](e,t);if(r&&(d(r)?o.push(...r):o.push(r)),!t.currentNode)return;e=t.currentNode}switch(e.type){case 3:t.ssr||t.helper(Gi);break;case 5:t.ssr||t.helper(rl);break;case 9:for(let n=0;n<e.branches.length;n++)zc(e.branches[n],t);break;case 10:case 11:case 1:case 0:!function(e,t){let n=0;const o=()=>{n--};for(;n<e.children.length;n++){const r=e.children[n];y(r)||(t.parent=e,t.childIndex=n,t.onNodeRemoved=o,zc(r,t))}}(e,t)}t.currentNode=e;let r=o.length;for(;r--;)o[r]()}function Kc(e,t){const n=y(e)?t=>t===e:t=>e.test(t);return(e,o)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some(Ql))return;const s=[];for(let i=0;i<r.length;i++){const l=r[i];if(7===l.type&&n(l.name)){r.splice(i,1),i--;const n=t(e,l,o);n&&s.push(n)}}return s}}}const Gc="/*#__PURE__*/",qc=e=>`${xl[e]}: _${xl[e]}`;function Jc(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:o=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:i=!1,runtimeGlobalName:l="Vue",runtimeModuleName:c="vue",ssrRuntimeModuleName:a="vue/server-renderer",ssr:u=!1,isTS:p=!1,inSSR:f=!1}){const d={mode:t,prefixIdentifiers:n,sourceMap:o,filename:r,scopeId:s,optimizeImports:i,runtimeGlobalName:l,runtimeModuleName:c,ssrRuntimeModuleName:a,ssr:u,isTS:p,inSSR:f,source:e.loc.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${xl[e]}`,push(e,t){d.code+=e},indent(){h(++d.indentLevel)},deindent(e=!1){e?--d.indentLevel:h(--d.indentLevel)},newline(){h(d.indentLevel)}};function h(e){d.push("\n"+"  ".repeat(e))}return d}function Zc(e,t={}){const n=Jc(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:o,push:r,prefixIdentifiers:s,indent:i,deindent:l,newline:c,ssr:a}=n,u=Array.from(e.helpers),p=u.length>0,f=!s&&"module"!==o,d=n;!function(e,t){const{push:n,newline:o,runtimeGlobalName:r}=t,s=r,i=Array.from(e.helpers);if(i.length>0&&(n(`const _Vue = ${s}\n`),e.hoists.length)){n(`const { ${[zi,Ki,Gi,qi,Ji].filter((e=>i.includes(e))).map(qc).join(", ")} } = _Vue\n`)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:o}=t;o();for(let r=0;r<e.length;r++){const s=e[r];s&&(n(`const _hoisted_${r+1} = `),ea(s,t),o())}t.pure=!1})(e.hoists,t),o(),n("return ")}(e,d);if(r(`function ${a?"ssrRender":"render"}(${(a?["_ctx","_push","_parent","_attrs"]:["_ctx","_cache"]).join(", ")}) {`),i(),f&&(r("with (_ctx) {"),i(),p&&(r(`const { ${u.map(qc).join(", ")} } = _Vue`),r("\n"),c())),e.components.length&&(Yc(e.components,"component",n),(e.directives.length||e.temps>0)&&c()),e.directives.length&&(Yc(e.directives,"directive",n),e.temps>0&&c()),e.temps>0){r("let ");for(let t=0;t<e.temps;t++)r(`${t>0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n"),c()),a||r("return "),e.codegenNode?ea(e.codegenNode,n):r("null"),f&&(l(),r("}")),l(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function Yc(e,t,{helper:n,push:o,newline:r,isTS:s}){const i=n("component"===t?Zi:Qi);for(let l=0;l<e.length;l++){let n=e[l];const c=n.endsWith("__self");c&&(n=n.slice(0,-6)),o(`const ${sc(n,t)} = ${i}(${JSON.stringify(n)}${c?", true":""})${s?"!":""}`),l<e.length-1&&r()}}function Qc(e,t){const n=e.length>3||!1;t.push("["),n&&t.indent(),Xc(e,t,n),n&&t.deindent(),t.push("]")}function Xc(e,t,n=!1,o=!0){const{push:r,newline:s}=t;for(let i=0;i<e.length;i++){const l=e[i];y(l)?r(l):d(l)?Qc(l,t):ea(l,t),i<e.length-1&&(n?(o&&r(","),s()):o&&r(", "))}}function ea(e,t){if(y(e))t.push(e);else if(_(e))t.push(t.helper(e));else switch(e.type){case 1:case 9:case 11:case 12:ea(e.codegenNode,t);break;case 2:!function(e,t){t.push(JSON.stringify(e.content),e)}(e,t);break;case 4:ta(e,t);break;case 5:!function(e,t){const{push:n,helper:o,pure:r}=t;r&&n(Gc);n(`${o(rl)}(`),ea(e.content,t),n(")")}(e,t);break;case 8:na(e,t);break;case 3:!function(e,t){const{push:n,helper:o,pure:r}=t;r&&n(Gc);n(`${o(Gi)}(${JSON.stringify(e.content)})`,e)}(e,t);break;case 13:!function(e,t){const{push:n,helper:o,pure:r}=t,{tag:s,props:i,children:l,patchFlag:c,dynamicProps:a,directives:u,isBlock:p,disableTracking:f,isComponent:d}=e;u&&n(o(el)+"(");p&&n(`(${o(Di)}(${f?"true":""}), `);r&&n(Gc);const h=p?Rl(t.inSSR,d):Fl(t.inSSR,d);n(o(h)+"(",e),Xc(function(e){let t=e.length;for(;t--&&null==e[t];);return e.slice(0,t+1).map((e=>e||"null"))}([s,i,l,c,a]),t),n(")"),p&&n(")");u&&(n(", "),ea(u,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:o,pure:r}=t,s=y(e.callee)?e.callee:o(e.callee);r&&n(Gc);n(s+"(",e),Xc(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:o,deindent:r,newline:s}=t,{properties:i}=e;if(!i.length)return void n("{}",e);const l=i.length>1||!1;n(l?"{":"{ "),l&&o();for(let c=0;c<i.length;c++){const{key:e,value:o}=i[c];oa(e,t),n(": "),ea(o,t),c<i.length-1&&(n(","),s())}l&&r(),n(l?"}":" }")}(e,t);break;case 17:!function(e,t){Qc(e.elements,t)}(e,t);break;case 18:!function(e,t){const{push:n,indent:o,deindent:r}=t,{params:s,returns:i,body:l,newline:c,isSlot:a}=e;a&&n(`_${xl[vl]}(`);n("(",e),d(s)?Xc(s,t):s&&ea(s,t);n(") => "),(c||l)&&(n("{"),o());i?(c&&n("return "),d(i)?Qc(i,t):ea(i,t)):l&&ea(l,t);(c||l)&&(r(),n("}"));a&&n(")")}(e,t);break;case 19:!function(e,t){const{test:n,consequent:o,alternate:r,newline:s}=e,{push:i,indent:l,deindent:c,newline:a}=t;if(4===n.type){const e=!jl(n.content);e&&i("("),ta(n,t),e&&i(")")}else i("("),ea(n,t),i(")");s&&l(),t.indentLevel++,s||i(" "),i("? "),ea(o,t),t.indentLevel--,s&&a(),s||i(" "),i(": ");const u=19===r.type;u||t.indentLevel++;ea(r,t),u||t.indentLevel--;s&&c(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:o,indent:r,deindent:s,newline:i}=t;n(`_cache[${e.index}] || (`),e.isVNode&&(r(),n(`${o(hl)}(-1),`),i());n(`_cache[${e.index}] = `),ea(e.value,t),e.isVNode&&(n(","),i(),n(`${o(hl)}(1),`),i(),n(`_cache[${e.index}]`),s());n(")")}(e,t);break;case 21:Xc(e.body,t,!0,!1)}}function ta(e,t){const{content:n,isStatic:o}=e;t.push(o?JSON.stringify(n):n,e)}function na(e,t){for(let n=0;n<e.children.length;n++){const o=e.children[n];y(o)?t.push(o):ea(o,t)}}function oa(e,t){const{push:n}=t;if(8===e.type)n("["),na(e,t),n("]");else if(e.isStatic){n(jl(e.content)?e.content:JSON.stringify(e.content),e)}else n(`[${e.content}]`,e)}const ra=Kc(/^(if|else|else-if)$/,((e,t,n)=>function(e,t,n,o){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const o=t.exp?t.exp.loc:e.loc;n.onError(Vi(28,t.loc)),t.exp=Nl("true",!1,o)}if("if"===t.name){const r=sa(e,t),s={type:9,loc:e.loc,branches:[r]};if(n.replaceNode(s),o)return o(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const i=r[s];if(i&&3===i.type)n.removeNode(i);else{if(!i||2!==i.type||i.content.trim().length){if(i&&9===i.type){"else-if"===t.name&&void 0===i.branches[i.branches.length-1].condition&&n.onError(Vi(30,e.loc)),n.removeNode();const r=sa(e,t);i.branches.push(r);const s=o&&o(i,r,!1);zc(r,n),s&&s(),n.currentNode=null}else n.onError(Vi(30,e.loc));break}n.removeNode(i)}}}}(e,t,n,((e,t,o)=>{const r=n.parent.children;let s=r.indexOf(e),i=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(i+=e.branches.length)}return()=>{if(o)e.codegenNode=ia(t,i,n);else{const o=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);o.alternate=ia(t,i+e.branches.length-1,n)}}}))));function sa(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!ql(e,"for")?e.children:[e],userKey:Jl(e,"key"),isTemplateIf:n}}function ia(e,t,n){return e.condition?Al(e.condition,la(e,t,n),$l(n.helper(Gi),['""',"true"])):la(e,t,n)}function la(e,t,n){const{helper:o}=n,r=El("key",Nl(`${t}`,!1,Cl,2)),{children:s}=e,i=s[0];if(1!==s.length||1!==i.type){if(1===s.length&&11===i.type){const e=i.codegenNode;return oc(e,r,n),e}{let t=64;return kl(n,o(Ii),Tl([r]),s,t+"",void 0,void 0,!0,!1,!1,e.loc)}}{const e=i.codegenNode,t=14===(l=e).type&&l.callee===bl?l.arguments[1].returns:l;return 13===t.type&&Ml(t,n),oc(t,r,n),e}var l}const ca=Kc("for",((e,t,n)=>{const{helper:o,removeHelper:r}=n;return function(e,t,n,o){if(!t.exp)return void n.onError(Vi(31,t.loc));const r=fa(t.exp);if(!r)return void n.onError(Vi(32,t.loc));const{scopes:s}=n,{source:i,value:l,key:c,index:a}=r,u={type:11,loc:t.loc,source:i,valueAlias:l,keyAlias:c,objectIndexAlias:a,parseResult:r,children:Xl(e)?e.children:[e]};n.replaceNode(u),s.vFor++;const p=o&&o(u);return()=>{s.vFor--,p&&p()}}(e,t,n,(t=>{const s=$l(o(tl),[t.source]),i=Xl(e),l=ql(e,"memo"),c=Jl(e,"key"),a=c&&(6===c.type?Nl(c.value.content,!0):c.exp),u=c?El("key",a):null,p=4===t.source.type&&t.source.constType>0,f=p?64:c?128:256;return t.codegenNode=kl(n,o(Ii),void 0,s,f+"",void 0,void 0,!0,!p,!1,e.loc),()=>{let c;const{children:f}=t,d=1!==f.length||1!==f[0].type,h=ec(e)?e:i&&1===e.children.length&&ec(e.children[0])?e.children[0]:null;if(h?(c=h.codegenNode,i&&u&&oc(c,u,n)):d?c=kl(n,o(Ii),u?Tl([u]):void 0,e.children,"64",void 0,void 0,!0,void 0,!1):(c=f[0].codegenNode,i&&u&&oc(c,u,n),c.isBlock!==!p&&(c.isBlock?(r(Di),r(Rl(n.inSSR,c.isComponent))):r(Fl(n.inSSR,c.isComponent))),c.isBlock=!p,c.isBlock?(o(Di),o(Rl(n.inSSR,c.isComponent))):o(Fl(n.inSSR,c.isComponent))),l){const e=Pl(ha(t.parseResult,[Nl("_cached")]));e.body={type:21,body:[Ol(["const _memo = (",l.exp,")"]),Ol(["if (_cached",...a?[" && _cached.key === ",a]:[],` && ${n.helperString(Sl)}(_cached, _memo)) return _cached`]),Ol(["const _item = ",c]),Nl("_item.memo = _memo"),Nl("return _item")],loc:Cl},s.arguments.push(e,Nl("_cache"),Nl(String(n.cached++)))}else s.arguments.push(Pl(ha(t.parseResult),c,!0))}}))}));const aa=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,ua=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,pa=/^\(|\)$/g;function fa(e,t){const n=e.loc,o=e.content,r=o.match(aa);if(!r)return;const[,s,i]=r,l={source:da(n,i.trim(),o.indexOf(i,s.length)),value:void 0,key:void 0,index:void 0};let c=s.trim().replace(pa,"").trim();const a=s.indexOf(c),u=c.match(ua);if(u){c=c.replace(ua,"").trim();const e=u[1].trim();let t;if(e&&(t=o.indexOf(e,a+c.length),l.key=da(n,e,t)),u[2]){const r=u[2].trim();r&&(l.index=da(n,r,o.indexOf(r,l.key?t+e.length:a+c.length)))}}return c&&(l.value=da(n,c,a)),l}function da(e,t,n){return Nl(t,!1,zl(e,n,t.length))}function ha({value:e,key:t,index:n},o=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||Nl("_".repeat(t+1),!1)))}([e,t,n,...o])}const ma=Nl("undefined",!1),ga=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=ql(e,"slot");if(n)return t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},va=(e,t,n)=>Pl(e,t,!1,!0,t.length?t[0].loc:n);function ya(e,t,n=va){t.helper(vl);const{children:o,loc:r}=e,s=[],i=[];let l=t.scopes.vSlot>0||t.scopes.vFor>0;const c=ql(e,"slot",!0);if(c){const{arg:e,exp:t}=c;e&&!Vl(e)&&(l=!0),s.push(El(e||Nl("default",!0),n(t,o,r)))}let a=!1,u=!1;const p=[],f=new Set;let d=0;for(let g=0;g<o.length;g++){const e=o[g];let r;if(!Xl(e)||!(r=ql(e,"slot",!0))){3!==e.type&&p.push(e);continue}if(c){t.onError(Vi(37,r.loc));break}a=!0;const{children:h,loc:m}=e,{arg:v=Nl("default",!0),exp:y,loc:_}=r;let b;Vl(v)?b=v?v.content:"default":l=!0;const S=n(y,h,m);let x,C,k;if(x=ql(e,"if"))l=!0,i.push(Al(x.exp,_a(v,S,d++),ma));else if(C=ql(e,/^else(-if)?$/,!0)){let e,n=g;for(;n--&&(e=o[n],3===e.type););if(e&&Xl(e)&&ql(e,"if")){o.splice(g,1),g--;let e=i[i.length-1];for(;19===e.alternate.type;)e=e.alternate;e.alternate=C.exp?Al(C.exp,_a(v,S,d++),ma):_a(v,S,d++)}else t.onError(Vi(30,C.loc))}else if(k=ql(e,"for")){l=!0;const e=k.parseResult||fa(k.exp);e?i.push($l(t.helper(tl),[e.source,Pl(ha(e),_a(v,S),!0)])):t.onError(Vi(32,k.loc))}else{if(b){if(f.has(b)){t.onError(Vi(38,_));continue}f.add(b),"default"===b&&(u=!0)}s.push(El(v,S))}}if(!c){const e=(e,t)=>El("default",n(e,t,r));a?p.length&&p.some((e=>Sa(e)))&&(u?t.onError(Vi(39,p[0].loc)):s.push(e(void 0,p))):s.push(e(void 0,o))}const h=l?2:ba(e.children)?3:1;let m=Tl(s.concat(El("_",Nl(h+"",!1))),r);return i.length&&(m=$l(t.helper(ol),[m,wl(i)])),{slots:m,hasDynamicSlots:l}}function _a(e,t,n){const o=[El("name",e),El("fn",t)];return null!=n&&o.push(El("key",Nl(String(n),!0))),Tl(o)}function ba(e){for(let t=0;t<e.length;t++){const n=e[t];switch(n.type){case 1:if(2===n.tagType||ba(n.children))return!0;break;case 9:if(ba(n.branches))return!0;break;case 10:case 11:if(ba(n.children))return!0}}return!1}function Sa(e){return 2!==e.type&&12!==e.type||(2===e.type?!!e.content.trim():Sa(e.content))}const xa=new WeakMap,Ca=(e,t)=>function(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:o}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:o}=e;const r=Ea(o),s=Jl(e,"is");if(s)if(r){const e=6===s.type?s.value&&Nl(s.value.content,!0):s.exp;if(e)return $l(t.helper(Yi),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(o=s.value.content.slice(4));const i=!r&&ql(e,"is");if(i&&i.exp)return $l(t.helper(Yi),[i.exp]);const l=Bl(o)||t.isBuiltInComponent(o);if(l)return n||t.helper(l),l;return t.helper(Zi),t.components.add(o),sc(o,"component")}(e,t):`"${n}"`;const i=b(s)&&s.callee===Yi;let l,c,a,u,p,f,d=0,h=i||s===Bi||s===Li||!r&&("svg"===n||"foreignObject"===n);if(o.length>0){const n=ka(e,t,void 0,r,i);l=n.props,d=n.patchFlag,p=n.dynamicPropNames;const o=n.directives;f=o&&o.length?wl(o.map((e=>function(e,t){const n=[],o=xa.get(e);o?n.push(t.helperString(o)):(t.helper(Qi),t.directives.add(e.name),n.push(sc(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=Nl("true",!1,r);n.push(Tl(e.modifiers.map((e=>El(e,t))),r))}return wl(n,e.loc)}(e,t)))):void 0,n.shouldUseBlock&&(h=!0)}if(e.children.length>0){s===ji&&(h=!0,d|=1024);if(r&&s!==Bi&&s!==ji){const{slots:n,hasDynamicSlots:o}=ya(e,t);c=n,o&&(d|=1024)}else if(1===e.children.length&&s!==Bi){const n=e.children[0],o=n.type,r=5===o||8===o;r&&0===Ic(n,t)&&(d|=1),c=r||2===o?n:e.children}else c=e.children}0!==d&&(a=String(d),p&&p.length&&(u=function(e){let t="[";for(let n=0,o=e.length;n<o;n++)t+=JSON.stringify(e[n]),n<o-1&&(t+=", ");return t+"]"}(p))),e.codegenNode=kl(t,s,l,c,a,u,f,!!h,!1,r,e.loc)};function ka(e,t,n=e.props,o,r,s=!1){const{tag:i,loc:c,children:a}=e;let u=[];const p=[],f=[],d=a.length>0;let h=!1,m=0,g=!1,v=!1,y=!1,b=!1,S=!1,x=!1;const C=[],k=e=>{u.length&&(p.push(Tl(wa(u),c)),u=[]),e&&p.push(e)},w=({key:e,value:n})=>{if(Vl(e)){const s=e.content,i=l(s);if(!i||o&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||T(s)||(b=!0),i&&T(s)&&(x=!0),20===n.type||(4===n.type||8===n.type)&&Ic(n,t)>0)return;"ref"===s?g=!0:"class"===s?v=!0:"style"===s?y=!0:"key"===s||C.includes(s)||C.push(s),!o||"class"!==s&&"style"!==s||C.includes(s)||C.push(s)}else S=!0};for(let l=0;l<n.length;l++){const r=n[l];if(6===r.type){const{loc:e,name:n,value:o}=r;let s=!0;if("ref"===n&&(g=!0,t.scopes.vFor>0&&u.push(El(Nl("ref_for",!0),Nl("true")))),"is"===n&&(Ea(i)||o&&o.content.startsWith("vue:")))continue;u.push(El(Nl(n,!0,zl(e,0,n.length)),Nl(o?o.content:"",s,o?o.loc:e)))}else{const{name:n,arg:l,exp:a,loc:m}=r,g="bind"===n,v="on"===n;if("slot"===n){o||t.onError(Vi(40,m));continue}if("once"===n||"memo"===n)continue;if("is"===n||g&&Zl(l,"is")&&Ea(i))continue;if(v&&s)continue;if((g&&Zl(l,"key")||v&&d&&Zl(l,"vue:before-update"))&&(h=!0),g&&Zl(l,"ref")&&t.scopes.vFor>0&&u.push(El(Nl("ref_for",!0),Nl("true"))),!l&&(g||v)){S=!0,a?g?(k(),p.push(a)):k({type:14,loc:m,callee:t.helper(ul),arguments:o?[a]:[a,"true"]}):t.onError(Vi(g?34:35,m));continue}const y=t.directiveTransforms[n];if(y){const{props:n,needRuntime:o}=y(r,e,t);!s&&n.forEach(w),v&&l&&!Vl(l)?k(Tl(n,c)):u.push(...n),o&&(f.push(r),_(o)&&xa.set(r,o))}else E(n)||(f.push(r),d&&(h=!0))}}let N;if(p.length?(k(),N=p.length>1?$l(t.helper(sl),p,c):p[0]):u.length&&(N=Tl(wa(u),c)),S?m|=16:(v&&!o&&(m|=2),y&&!o&&(m|=4),C.length&&(m|=8),b&&(m|=32)),h||0!==m&&32!==m||!(g||x||f.length>0)||(m|=512),!t.inSSR&&N)switch(N.type){case 15:let e=-1,n=-1,o=!1;for(let t=0;t<N.properties.length;t++){const r=N.properties[t].key;Vl(r)?"class"===r.content?e=t:"style"===r.content&&(n=t):r.isHandlerKey||(o=!0)}const r=N.properties[e],s=N.properties[n];o?N=$l(t.helper(cl),[N]):(r&&!Vl(r.value)&&(r.value=$l(t.helper(il),[r.value])),s&&(y||4===s.value.type&&"["===s.value.content.trim()[0]||17===s.value.type)&&(s.value=$l(t.helper(ll),[s.value])));break;case 14:break;default:N=$l(t.helper(cl),[$l(t.helper(al),[N])])}return{props:N,directives:f,patchFlag:m,dynamicPropNames:C,shouldUseBlock:h}}function wa(e){const t=new Map,n=[];for(let o=0;o<e.length;o++){const r=e[o];if(8===r.key.type||!r.key.isStatic){n.push(r);continue}const s=r.key.content,i=t.get(s);i?("style"===s||"class"===s||l(s))&&Ta(i,r):(t.set(s,r),n.push(r))}return n}function Ta(e,t){17===e.value.type?e.value.elements.push(t.value):e.value=wl([e.value,t.value],e.loc)}function Ea(e){return"component"===e||"Component"===e}const Na=(e,t)=>{if(ec(e)){const{children:n,loc:o}=e,{slotName:r,slotProps:s}=function(e,t){let n,o='"default"';const r=[];for(let s=0;s<e.props.length;s++){const t=e.props[s];6===t.type?t.value&&("name"===t.name?o=JSON.stringify(t.value.content):(t.name=$(t.name),r.push(t))):"bind"===t.name&&Zl(t.arg,"name")?t.exp&&(o=t.exp):("bind"===t.name&&t.arg&&Vl(t.arg)&&(t.arg.content=$(t.arg.content)),r.push(t))}if(r.length>0){const{props:o,directives:s}=ka(e,t,r,!1,!1);n=o,s.length&&t.onError(Vi(36,s[0].loc))}return{slotName:o,slotProps:n}}(e,t),i=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let l=2;s&&(i[2]=s,l=3),n.length&&(i[3]=Pl([],n,!1,!1,o),l=4),t.scopeId&&!t.slotted&&(l=5),i.splice(l),e.codegenNode=$l(t.helper(nl),i,o)}};const Oa=/^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,$a=(e,t,n,o)=>{const{loc:r,modifiers:s,arg:i}=e;let l;if(4===i.type)if(i.isStatic){let e=i.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);l=Nl(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?R($(e)):`on:${e}`,!0,i.loc)}else l=Ol([`${n.helperString(dl)}(`,i,")"]);else l=i,l.children.unshift(`${n.helperString(dl)}(`),l.children.push(")");let c=e.exp;c&&!c.content.trim()&&(c=void 0);let a=n.cacheHandlers&&!c&&!n.inVOnce;if(c){const e=Wl(c.content),t=!(e||Oa.test(c.content)),n=c.content.includes(";");(t||a&&e)&&(c=Ol([`${t?"$event":"(...args)"} => ${n?"{":"("}`,c,n?"}":")"]))}let u={props:[El(l,c||Nl("() => {}",!1,r))]};return o&&(u=o(u)),a&&(u.props[0].value=n.cache(u.props[0].value)),u.props.forEach((e=>e.key.isHandlerKey=!0)),u},Pa=(e,t,n)=>{const{exp:o,modifiers:r,loc:s}=e,i=e.arg;return 4!==i.type?(i.children.unshift("("),i.children.push(') || ""')):i.isStatic||(i.content=`${i.content} || ""`),r.includes("camel")&&(4===i.type?i.content=i.isStatic?$(i.content):`${n.helperString(pl)}(${i.content})`:(i.children.unshift(`${n.helperString(pl)}(`),i.children.push(")"))),n.inSSR||(r.includes("prop")&&Aa(i,"."),r.includes("attr")&&Aa(i,"^")),!o||4===o.type&&!o.content.trim()?{props:[El(i,Nl("",!0,s))]}:{props:[El(i,o)]}},Aa=(e,t)=>{4===e.type?e.content=e.isStatic?t+e.content:`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},Fa=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let o,r=!1;for(let e=0;e<n.length;e++){const t=n[e];if(Yl(t)){r=!0;for(let r=e+1;r<n.length;r++){const s=n[r];if(!Yl(s)){o=void 0;break}o||(o=n[e]=Ol([t],t.loc)),o.children.push(" + ",s),n.splice(r,1),r--}}}if(r&&(1!==n.length||0!==e.type&&(1!==e.type||0!==e.tagType||e.props.find((e=>7===e.type&&!t.directiveTransforms[e.name])))))for(let e=0;e<n.length;e++){const o=n[e];if(Yl(o)||8===o.type){const r=[];2===o.type&&" "===o.content||r.push(o),t.ssr||0!==Ic(o,t)||r.push("1"),n[e]={type:12,content:o,loc:o.loc,codegenNode:$l(t.helper(qi),r)}}}}},Ra=new WeakSet,Ma=(e,t)=>{if(1===e.type&&ql(e,"once",!0)){if(Ra.has(e)||t.inVOnce||t.inSSR)return;return Ra.add(e),t.inVOnce=!0,t.helper(hl),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}}},Va=(e,t,n)=>{const{exp:o,arg:r}=e;if(!o)return n.onError(Vi(41,e.loc)),Ia();const s=o.loc.source,i=4===o.type?o.content:s,l=n.bindingMetadata[s];if("props"===l||"props-aliased"===l)return Ia();if(!i.trim()||!Wl(i))return n.onError(Vi(42,o.loc)),Ia();const c=r||Nl("modelValue",!0),a=r?Vl(r)?`onUpdate:${$(r.content)}`:Ol(['"onUpdate:" + ',r]):"onUpdate:modelValue";let u;u=Ol([`${n.isTS?"($event: any)":"$event"} => ((`,o,") = $event)"]);const p=[El(c,e.exp),El(a,u)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map((e=>(jl(e)?e:JSON.stringify(e))+": true")).join(", "),n=r?Vl(r)?`${r.content}Modifiers`:Ol([r,' + "Modifiers"']):"modelModifiers";p.push(El(n,Nl(`{ ${t} }`,!1,e.loc,2)))}return Ia(p)};function Ia(e=[]){return{props:e}}const Ba=new WeakSet,La=(e,t)=>{if(1===e.type){const n=ql(e,"memo");if(!n||Ba.has(e))return;return Ba.add(e),()=>{const o=e.codegenNode||t.currentNode.codegenNode;o&&13===o.type&&(1!==e.tagType&&Ml(o,t),e.codegenNode=$l(t.helper(bl),[n.exp,Pl(void 0,o),"_cache",String(t.cached++)]))}}};function ja(e,t={}){const n=t.onError||Ri,o="module"===t.mode;!0===t.prefixIdentifiers?n(Vi(47)):o&&n(Vi(48));t.cacheHandlers&&n(Vi(49)),t.scopeId&&!o&&n(Vi(50));const r=y(e)?ac(e,t):e,[s,i]=[[Ma,ra,La,ca,Na,Ca,ga,Fa],{on:$a,bind:Pa,model:Va}];return Wc(r,a({},t,{prefixIdentifiers:false,nodeTransforms:[...s,...t.nodeTransforms||[]],directiveTransforms:a({},i,t.directiveTransforms||{})})),Zc(r,a({},t,{prefixIdentifiers:false}))}const Ua=Symbol(""),Da=Symbol(""),Ha=Symbol(""),Wa=Symbol(""),za=Symbol(""),Ka=Symbol(""),Ga=Symbol(""),qa=Symbol(""),Ja=Symbol(""),Za=Symbol("");var Ya;let Qa;Ya={[Ua]:"vModelRadio",[Da]:"vModelCheckbox",[Ha]:"vModelText",[Wa]:"vModelSelect",[za]:"vModelDynamic",[Ka]:"withModifiers",[Ga]:"withKeys",[qa]:"vShow",[Ja]:"Transition",[Za]:"TransitionGroup"},Object.getOwnPropertySymbols(Ya).forEach((e=>{xl[e]=Ya[e]}));const Xa=t("style,iframe,script,noscript",!0),eu={isVoidTag:Z,isNativeTag:e=>q(e)||J(e),isPreTag:e=>"pre"===e,decodeEntities:function(e,t=!1){return Qa||(Qa=document.createElement("div")),t?(Qa.innerHTML=`<div foo="${e.replace(/"/g,"&quot;")}">`,Qa.children[0].getAttribute("foo")):(Qa.innerHTML=e,Qa.textContent)},isBuiltInComponent:e=>Il(e,"Transition")?Ja:Il(e,"TransitionGroup")?Za:void 0,getNamespace(e,t){let n=t?t.ns:0;if(t&&2===n)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(n=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(n=0);else t&&1===n&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(n=0));if(0===n){if("svg"===e)return 1;if("math"===e)return 2}return n},getTextMode({tag:e,ns:t}){if(0===t){if("textarea"===e||"title"===e)return 1;if(Xa(e))return 2}return 0}},tu=(e,t)=>{const n=K(e);return Nl(JSON.stringify(n),!1,t,3)};function nu(e,t){return Vi(e,t)}const ou=t("passive,once,capture"),ru=t("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),su=t("left,right"),iu=t("onkeyup,onkeydown,onkeypress",!0),lu=(e,t)=>Vl(e)&&"onclick"===e.content.toLowerCase()?Nl(t,!0):4!==e.type?Ol(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,cu=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()},au=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:Nl("style",!0,t.loc),exp:tu(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],uu={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:o,loc:r}=e;return o||n.onError(nu(53,r)),t.children.length&&(n.onError(nu(54,r)),t.children.length=0),{props:[El(Nl("innerHTML",!0,r),o||Nl("",!0))]}},text:(e,t,n)=>{const{exp:o,loc:r}=e;return o||n.onError(nu(55,r)),t.children.length&&(n.onError(nu(56,r)),t.children.length=0),{props:[El(Nl("textContent",!0),o?Ic(o,n)>0?o:$l(n.helperString(rl),[o],r):Nl("",!0))]}},model:(e,t,n)=>{const o=Va(e,t,n);if(!o.props.length||1===t.tagType)return o;e.arg&&n.onError(nu(58,e.arg.loc));const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let i=Ha,l=!1;if("input"===r||s){const o=Jl(t,"type");if(o){if(7===o.type)i=za;else if(o.value)switch(o.value.content){case"radio":i=Ua;break;case"checkbox":i=Da;break;case"file":l=!0,n.onError(nu(59,e.loc))}}else(function(e){return e.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))})(t)&&(i=za)}else"select"===r&&(i=Wa);l||(o.needRuntime=n.helper(i))}else n.onError(nu(57,e.loc));return o.props=o.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),o},on:(e,t,n)=>$a(e,t,n,(t=>{const{modifiers:o}=e;if(!o.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:i,nonKeyModifiers:l,eventOptionModifiers:c}=((e,t,n,o)=>{const r=[],s=[],i=[];for(let l=0;l<t.length;l++){const n=t[l];ou(n)?i.push(n):su(n)?Vl(e)?iu(e.content)?r.push(n):s.push(n):(r.push(n),s.push(n)):ru(n)?s.push(n):r.push(n)}return{keyModifiers:r,nonKeyModifiers:s,eventOptionModifiers:i}})(r,o);if(l.includes("right")&&(r=lu(r,"onContextmenu")),l.includes("middle")&&(r=lu(r,"onMouseup")),l.length&&(s=$l(n.helper(Ka),[s,JSON.stringify(l)])),!i.length||Vl(r)&&!iu(r.content)||(s=$l(n.helper(Ga),[s,JSON.stringify(i)])),c.length){const e=c.map(F).join("");r=Vl(r)?Nl(`${r.content}${e}`,!0):Ol(["(",r,`) + "${e}"`])}return{props:[El(r,s)]}})),show:(e,t,n)=>{const{exp:o,loc:r}=e;return o||n.onError(nu(61,r)),{props:[],needRuntime:n.helper(qa)}}};const pu=Object.create(null);function fu(e,t){if(!y(e)){if(!e.nodeType)return r;e=e.innerHTML}const n=e,o=pu[n];if(o)return o;if("#"===e[0]){const t=document.querySelector(e);e=t?t.innerHTML:""}const s=a({hoistStatic:!0,onError:void 0,onWarn:r},t);s.isCustomElement||"undefined"==typeof customElements||(s.isCustomElement=e=>!!customElements.get(e));const{code:i}=function(e,t={}){return ja(e,a({},eu,t,{nodeTransforms:[cu,...au,...t.nodeTransforms||[]],directiveTransforms:a({},uu,t.directiveTransforms||{}),transformHoist:null}))}(e,s),l=new Function(i)();return l._rc=!0,pu[n]=l}return ls(fu),e.BaseTransition=Ln,e.BaseTransitionPropsValidators=Bn,e.Comment=kr,e.EffectScope=oe,e.Fragment=xr,e.KeepAlive=Zn,e.ReactiveEffect=me,e.Static=wr,e.Suspense=xn,e.Teleport=br,e.Text=Cr,e.Transition=Bs,e.TransitionGroup=oi,e.VueElement=Fs,e.assertNumber=function(e,t){},e.callWithAsyncErrorHandling=Ut,e.callWithErrorHandling=jt,e.camelize=$,e.capitalize=F,e.cloneVNode=Dr,e.compatUtils=null,e.compile=fu,e.computed=fs,e.createApp=(...e)=>{const t=Ni().createApp(...e),{mount:n}=t;return t.mount=e=>{const o=Ai(e);if(!o)return;const r=t._component;v(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t},e.createBlock=Fr,e.createCommentVNode=function(e="",t=!1){return t?(Nr(),Fr(kr,null,e)):jr(kr,null,e)},e.createElementBlock=function(e,t,n,o,r,s){return Ar(Lr(e,t,n,o,r,s,!0))},e.createElementVNode=Lr,e.createHydrationRenderer=fr,e.createPropsRestProxy=function(e,t){const n={};for(const o in e)t.includes(o)||Object.defineProperty(n,o,{enumerable:!0,get:()=>e[o]});return n},e.createRenderer=pr,e.createSSRApp=(...e)=>{const t=Oi().createApp(...e),{mount:n}=t;return t.mount=e=>{const t=Ai(e);if(t)return n(t,!0,t instanceof SVGElement)},t},e.createSlots=function(e,t){for(let n=0;n<t.length;n++){const o=t[n];if(d(o))for(let t=0;t<o.length;t++)e[o[t].name]=o[t].fn;else o&&(e[o.name]=o.key?(...e)=>{const t=o.fn(...e);return t&&(t.key=o.key),t}:o.fn)}return e},e.createStaticVNode=function(e,t){const n=jr(wr,null,e);return n.staticCount=t,n},e.createTextVNode=Hr,e.createVNode=jr,e.customRef=function(e){return new Mt(e)},e.defineAsyncComponent=function(e){v(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,timeout:s,suspensible:i=!0,onError:l}=e;let c,a=null,u=0;const p=()=>{let e;return a||(e=a=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise(((t,n)=>{l(e,(()=>t((u++,a=null,p()))),(()=>n(e)),u+1)}));throw e})).then((t=>e!==a&&a?a:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),c=t,t))))};return Kn({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const e=Yr;if(c)return()=>qn(c,e);const t=t=>{a=null,Dt(t,e,13,!o)};if(i&&e.suspense)return p().then((t=>()=>qn(t,e))).catch((e=>(t(e),()=>o?jr(o,{error:e}):null)));const l=Ot(!1),u=Ot(),f=Ot(!!r);return r&&setTimeout((()=>{f.value=!1}),r),null!=s&&setTimeout((()=>{if(!l.value&&!u.value){const e=new Error(`Async component timed out after ${s}ms.`);t(e),u.value=e}}),s),p().then((()=>{l.value=!0,e.parent&&Jn(e.parent.vnode)&&Xt(e.parent.update)})).catch((e=>{t(e),u.value=e})),()=>l.value&&c?qn(c,e):u.value&&o?jr(o,{error:u.value}):n&&!f.value?jr(n):void 0}})},e.defineComponent=Kn,e.defineCustomElement=Ps,e.defineEmits=function(){return null},e.defineExpose=function(e){},e.defineModel=function(){},e.defineOptions=function(e){},e.defineProps=function(){return null},e.defineSSRCustomElement=e=>Ps(e,Pi),e.defineSlots=function(){return null},e.effect=function(e,t){e.effect&&(e=e.effect.fn);const n=new me(e);t&&(a(n,t),t.scope&&re(n,t.scope)),t&&t.lazy||n.run();const o=n.run.bind(n);return o.effect=n,o},e.effectScope=function(e){return new oe(e)},e.getCurrentInstance=Qr,e.getCurrentScope=se,e.getTransitionRawChildren=zn,e.guardReactiveProps=Ur,e.h=ds,e.handleError=Dt,e.hasInjectionContext=function(){return!!(Yr||fn||Wo)},e.hydrate=Pi,e.initCustomFormatter=function(){},e.initDirectivesForSSR=Fi,e.inject=Ko,e.isMemoSame=ms,e.isProxy=St,e.isReactive=yt,e.isReadonly=_t,e.isRef=Nt,e.isRuntimeOnly=()=>!os,e.isShallow=bt,e.isVNode=Rr,e.markRaw=Ct,e.mergeDefaults=function(e,t){const n=No(e);for(const o in t){if(o.startsWith("__skip"))continue;let e=n[o];e?d(e)||v(e)?e=n[o]={type:e,default:t[o]}:e.default=t[o]:null===e&&(e=n[o]={default:t[o]}),e&&t[`__skip_${o}`]&&(e.skipFactory=!0)}return n},e.mergeModels=function(e,t){return e&&t?d(e)&&d(t)?e.concat(t):a({},No(e),No(t)):e||t},e.mergeProps=Gr,e.nextTick=Qt,e.normalizeClass=G,e.normalizeProps=function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!y(t)&&(e.class=G(t)),n&&(e.style=D(n)),e},e.normalizeStyle=D,e.onActivated=Qn,e.onBeforeMount=io,e.onBeforeUnmount=uo,e.onBeforeUpdate=co,e.onDeactivated=Xn,e.onErrorCaptured=go,e.onMounted=lo,e.onRenderTracked=mo,e.onRenderTriggered=ho,e.onScopeDispose=function(e){ne&&ne.cleanups.push(e)},e.onServerPrefetch=fo,e.onUnmounted=po,e.onUpdated=ao,e.openBlock=Nr,e.popScopeId=function(){dn=null},e.provide=zo,e.proxyRefs=Rt,e.pushScopeId=function(e){dn=e},e.queuePostFlushCb=tn,e.reactive=ht,e.readonly=gt,e.ref=Ot,e.registerRuntimeCompiler=ls,e.render=$i,e.renderList=function(e,t,n,o){let r;const s=n&&n[o];if(d(e)||y(e)){r=new Array(e.length);for(let n=0,o=e.length;n<o;n++)r[n]=t(e[n],n,void 0,s&&s[n])}else if("number"==typeof e){r=new Array(e);for(let n=0;n<e;n++)r[n]=t(n+1,n,void 0,s&&s[n])}else if(b(e))if(e[Symbol.iterator])r=Array.from(e,((e,n)=>t(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,i=n.length;o<i;o++){const i=n[o];r[o]=t(e[i],i,o,s&&s[o])}}else r=[];return n&&(n[o]=r),r},e.renderSlot=function(e,t,n={},o,r){if(fn.isCE||fn.parent&&Gn(fn.parent)&&fn.parent.isCE)return"default"!==t&&(n.name=t),jr("slot",n,o&&o());let s=e[t];s&&s._c&&(s._d=!1),Nr();const i=s&&So(s(n)),l=Fr(xr,{key:n.key||i&&i.key||`_${t}`},i||(o?o():[]),i&&1===e._?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l},e.resolveComponent=function(e,t){return _o(vo,e,!0,t)||e},e.resolveDirective=function(e){return _o("directives",e)},e.resolveDynamicComponent=function(e){return y(e)?_o(vo,e,!1)||e:e||yo},e.resolveFilter=null,e.resolveTransitionHooks=Un,e.setBlockTracking=Pr,e.setDevtoolsHook=function t(n,o){var r,s;if(e.devtools=n,e.devtools)e.devtools.enabled=!0,cn.forEach((({event:t,args:n})=>e.devtools.emit(t,...n))),cn=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(s=null==(r=window.navigator)?void 0:r.userAgent)?void 0:s.includes("jsdom"))){(o.__VUE_DEVTOOLS_HOOK_REPLAY__=o.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((e=>{t(e,o)})),setTimeout((()=>{e.devtools||(o.__VUE_DEVTOOLS_HOOK_REPLAY__=null,cn=[])}),3e3)}else cn=[]},e.setTransitionHooks=Wn,e.shallowReactive=mt,e.shallowReadonly=function(e){return vt(e,!0,je,ct,ft)},e.shallowRef=function(e){return $t(e,!0)},e.ssrContextKey=hs,e.ssrUtils=null,e.stop=function(e){e.effect.stop()},e.toDisplayString=e=>y(e)?e:null==e?"":d(e)||b(e)&&(e.toString===x||!v(e.toString))?JSON.stringify(e,te,2):String(e),e.toHandlerKey=R,e.toHandlers=function(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:R(o)]=e[o];return n},e.toRaw=xt,e.toRef=function(e,t,n){return Nt(e)?e:v(e)?new It(e):b(e)&&arguments.length>1?Bt(e,t,n):Ot(e)},e.toRefs=function(e){const t=d(e)?new Array(e.length):{};for(const n in e)t[n]=Bt(e,n);return t},e.toValue=function(e){return v(e)?e():At(e)},e.transformVNodeArgs=function(e){},e.triggerRef=function(e){Et(e)},e.unref=At,e.useAttrs=function(){return Eo().attrs},e.useCssModule=function(e="$style"){return n},e.useCssVars=function(e){const t=Qr();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>Ms(e,n)))},o=()=>{const o=e(t.proxy);Rs(t.subTree,o),n(o)};Nn(o),lo((()=>{const e=new MutationObserver(o);e.observe(t.subTree.el.parentNode,{childList:!0}),po((()=>e.disconnect()))}))},e.useModel=function(e,t,n){const o=Qr();if(n&&n.local){const n=Ot(e[t]);return $n((()=>e[t]),(e=>n.value=e)),$n(n,(n=>{n!==e[t]&&o.emit(`update:${t}`,n)})),n}return{__v_isRef:!0,get value(){return e[t]},set value(e){o.emit(`update:${t}`,e)}}},e.useSSRContext=()=>{},e.useSlots=function(){return Eo().slots},e.useTransitionState=Vn,e.vModelCheckbox=pi,e.vModelDynamic=yi,e.vModelRadio=di,e.vModelSelect=hi,e.vModelText=ui,e.vShow=Ci,e.version=gs,e.warn=function(e,...t){},e.watch=$n,e.watchEffect=function(e,t){return Pn(e,null,t)},e.watchPostEffect=Nn,e.watchSyncEffect=function(e,t){return Pn(e,null,{flush:"sync"})},e.withAsyncContext=function(e){const t=Qr();let n=e();return ts(),S(n)&&(n=n.catch((e=>{throw es(t),e}))),[n,()=>es(t)]},e.withCtx=mn,e.withDefaults=function(e,t){return null},e.withDirectives=function(e,t){const o=fn;if(null===o)return e;const r=us(o)||o.proxy,s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[e,o,l,c=n]=t[i];e&&(v(e)&&(e={mounted:e,updated:e}),e.deep&&Rn(o),s.push({dir:e,instance:r,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e},e.withKeys=(e,t)=>n=>{if(!("key"in n))return;const o=A(n.key);return t.some((e=>e===o||xi[e]===o))?e(n):void 0},e.withMemo=function(e,t,n,o){const r=n[o];if(r&&ms(r,e))return r;const s=t();return s.memo=e.slice(),n[o]=s},e.withModifiers=(e,t)=>(n,...o)=>{for(let e=0;e<t.length;e++){const o=Si[t[e]];if(o&&o(n,t))return}return e(n,...o)},e.withScopeId=e=>mn,e}({});
diff --git a/src/cdh/vue3/templatetags/vue3.py b/src/cdh/vue3/templatetags/vue3.py
index 90c0f6b7..44a37d99 100644
--- a/src/cdh/vue3/templatetags/vue3.py
+++ b/src/cdh/vue3/templatetags/vue3.py
@@ -5,15 +5,19 @@
 from functools import partial
 
 from django import template
+from django.conf import settings
+from django.core.serializers.json import DjangoJSONEncoder
+from django.templatetags.static import static
 from django.utils.html import format_html
 from django.utils.safestring import mark_safe
+from django.utils.translation import get_language
 
 register = template.Library()
 
 
-class VueJSONEncoder(json.JSONEncoder):
+class VueJSONEncoder(DjangoJSONEncoder):
     def encode(self, obj):
-        if hasattr(obj, '_wrapped'):
+        if hasattr(obj, "_wrapped"):
             return super().encode(obj._wrapped)
         return super().encode(obj)
 
@@ -37,7 +41,26 @@ def prop_js(code, context):
 
 
 def event_prop(name):
-    return 'on' + name[0].upper() + name[1:]
+    return "on" + name[0].upper() + name[1:]
+
+
+@register.simple_tag
+def load_vue_libs():
+    if settings.DEBUG:
+        vue = static("cdh.vue3/vue/vue.global.js")
+        vue_i18n = static("cdh.vue3/vue/vue-i18n.global.js")
+    else:
+        vue = static("cdh.vue3/vue/vue.global.prod.js")
+        vue_i18n = static("cdh.vue3/vue/vue-i18n.global.prod.js")
+
+    return format_html(
+        """
+<script src="{vue}"></script>
+<script src="{vue_i18n}"></script>
+    """,
+        vue=vue,
+        vue_i18n=vue_i18n,
+    )
 
 
 @register.tag
@@ -48,8 +71,8 @@ def vue(parser, token):
     # to specify an inline display style when required by adding the word
     # 'inline' in the tag argument list
     inline = False
-    if 'inline' in args:
-        args.remove('inline')
+    if "inline" in args:
+        args.remove("inline")
         inline = True
 
     # in props we store (per prop) a fucntion that takes a context
@@ -60,10 +83,10 @@ def vue(parser, token):
 
     component = args[1]
     for i in range(2, len(args)):
-        if args[i][0] == ':':
+        if args[i][0] == ":":
             # prop binding
-            if '=' in args[i]:
-                (name, value) = args[i][1:].split('=', 1)
+            if "=" in args[i]:
+                (name, value) = args[i][1:].split("=", 1)
                 if value[0] in ['"', "'"]:
                     # :prop="thing", treat thing as a javascript value
                     props[name] = partial(prop_js, value[1:-1])
@@ -75,12 +98,12 @@ def vue(parser, token):
                 # :prop, is the same as :prop=prop (treat prop as a python value)
                 props[name] = partial(prop_variable, name)
 
-        elif args[i][0] == '@':
-            (name, value) = args[i][1:].split('=', 1)
+        elif args[i][0] == "@":
+            (name, value) = args[i][1:].split("=", 1)
             # @event="thing", thing should be a javascript function
             props[event_prop(name)] = partial(prop_js, value[1:-1])
         else:
-            (name, value) = args[i].split('=', 1)
+            (name, value) = args[i].split("=", 1)
             if value[0] in ['"', "'"]:
                 props[name] = partial(prop_const, value[1:-1])
 
@@ -97,37 +120,53 @@ def render(self, context):
         binding_defs = []
         for prop, value in self.props.items():
             try:
-                binding_defs.append('data["{}"] = {};'.format(prop, value(context)))
-            except Exception:
+                val = value(context)
+                binding_defs.append('data["{}"] = {};'.format(prop, val))
+            except Exception as e:
+                print(e)
                 raise RuntimeError(f'Failed binding proeprty "{prop}"')
 
-        binding = mark_safe('\n'.join(binding_defs))
+        binding = mark_safe("\n".join(binding_defs))
 
         # add a random suffix to container id, to avoid collisions
-        suffix = ''.join(random.sample(string.ascii_lowercase, 5))
-        container = '_'.join(self.component.split('.') + [suffix])
+        suffix = "".join(random.sample(string.ascii_lowercase, 5))
+        container = "_".join(self.component.split(".") + [suffix])
 
-        style = 'display:inline' if self.inline else 'width:100%'
+        style = "display:inline" if self.inline else "width:100%"
 
         # Retrieve the CSP nonce if present
-        nonce = ''
-        if hasattr(context, 'request') and hasattr(context.request,
-                                                   'csp_nonce'):
+        nonce = ""
+        if hasattr(context, "request") and hasattr(context.request, "csp_nonce"):
             nonce = context.request.csp_nonce
 
         return format_html(
-            '''
+            """
             <div id="{container}" style="{style}"></div>
             <script nonce="{nonce}">
             (function() {{
-            let data = {{}};
-            {binding}
-                createApp({component}, data).mount('#{container}')
+                if (typeof Vue !== "undefined") {{
+                   var createApp = Vue.createApp;
+                }}
+                let data = {{}};
+                {binding}
+                const app = createApp({component}, data)
+                
+                if (typeof VueI18n !== "undefined") {{
+                   const i18n = VueI18n.createI18n({{
+                      legacy: false,
+                      locale: '{language}', 
+                      fallbackLocale: 'en',
+                   }});
+                   app.use(i18n);
+                }}
+                
+                app.mount('#{container}');
             }})();
-            </script>''',
+            </script>""",
             binding=binding,
             component=self.component,
             container=container,
             style=style,
             nonce=nonce,
+            language=get_language(),
         )
diff --git a/yarn.lock b/yarn.lock
index 7ac04744..eddfc3ef 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -128,8 +128,8 @@ to-regex-range@^5.0.1:
   dependencies:
     is-number "^7.0.0"
 
-"uu-bootstrap@git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.4.0":
-  version "1.4.0"
-  resolved "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#93f16f14e932c984c85c1aaff22c2116a8c84cfb"
+"uu-bootstrap@git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#1.5.0-alpha.0":
+  version "1.5.0-alpha.0"
+  resolved "git+ssh://git@github.com/DH-IT-Portal-Development/bootstrap-theme.git#0bd740cae32d73770ed4ca7f4818612c8b4bff91"
   dependencies:
     bootstrap "5.3.1"