From 9170c67964fcb581095db4899e2dd0bdbd77fe1c Mon Sep 17 00:00:00 2001 From: Faisal Salman Date: Sun, 9 Apr 2023 22:04:18 +0700 Subject: [PATCH] Initial work for docs using VitePress --- .github/workflows/deploy.yml | 33 + css/style.css | 11 +- docs/v2/.vitepress/cache/deps/@theme_index.js | 41 + .../.vitepress/cache/deps/@theme_index.js.map | 7 + docs/v2/.vitepress/cache/deps/_metadata.json | 19 + docs/v2/.vitepress/cache/deps/package.json | 1 + docs/v2/.vitepress/cache/deps/vue.js | 9516 +++++++++++++++++ docs/v2/.vitepress/cache/deps/vue.js.map | 7 + docs/v2/.vitepress/config.js | 150 + docs/v2/.vitepress/dist/404.html | 21 + docs/v2/.vitepress/dist/api/idata/is.html | 71 + .../.vitepress/dist/api/idata/to-string.html | 48 + .../dist/api/idata/with-client-hints.html | 70 + .../dist/api/idata/with-feature-check.html | 29 + .../.vitepress/dist/api/submodules/enums.html | 24 + .../dist/api/submodules/extensions.html | 24 + .../.vitepress/dist/api/submodules/maps.html | 24 + .../dist/api/ua-parser-js/get-browser.html | 51 + .../dist/api/ua-parser-js/get-cpu.html | 31 + .../dist/api/ua-parser-js/get-device.html | 37 + .../dist/api/ua-parser-js/get-engine.html | 32 + .../dist/api/ua-parser-js/get-os.html | 38 + .../dist/api/ua-parser-js/get-result.html | 77 + .../dist/api/ua-parser-js/get-ua.html | 34 + .../dist/api/ua-parser-js/overview.html | 52 + .../dist/api/ua-parser-js/set-ua.html | 34 + .../dist/assets/api_idata_is.md.e021670c.js | 48 + .../assets/api_idata_is.md.e021670c.lean.js | 1 + .../assets/api_idata_to-string.md.20eaa222.js | 25 + .../api_idata_to-string.md.20eaa222.lean.js | 1 + ...api_idata_with-client-hints.md.ed97926a.js | 47 + ...data_with-client-hints.md.ed97926a.lean.js | 1 + ...pi_idata_with-feature-check.md.6b15066b.js | 6 + ...ata_with-feature-check.md.6b15066b.lean.js | 1 + .../api_submodules_enums.md.67d01874.js | 1 + .../api_submodules_enums.md.67d01874.lean.js | 1 + .../api_submodules_extensions.md.af715bdb.js | 1 + ..._submodules_extensions.md.af715bdb.lean.js | 1 + .../assets/api_submodules_maps.md.ae1e54e0.js | 1 + .../api_submodules_maps.md.ae1e54e0.lean.js | 1 + ...pi_ua-parser-js_get-browser.md.f4df1518.js | 28 + ...-parser-js_get-browser.md.f4df1518.lean.js | 1 + .../api_ua-parser-js_get-cpu.md.b4ef11dc.js | 8 + ...i_ua-parser-js_get-cpu.md.b4ef11dc.lean.js | 1 + ...api_ua-parser-js_get-device.md.f2518671.js | 14 + ...a-parser-js_get-device.md.f2518671.lean.js | 1 + ...api_ua-parser-js_get-engine.md.93357cf9.js | 9 + ...a-parser-js_get-engine.md.93357cf9.lean.js | 1 + .../api_ua-parser-js_get-os.md.71bcb7f0.js | 15 + ...pi_ua-parser-js_get-os.md.71bcb7f0.lean.js | 1 + ...api_ua-parser-js_get-result.md.f65ecd4a.js | 54 + ...a-parser-js_get-result.md.f65ecd4a.lean.js | 1 + .../api_ua-parser-js_get-ua.md.0fa9fd7f.js | 11 + ...pi_ua-parser-js_get-ua.md.0fa9fd7f.lean.js | 1 + .../api_ua-parser-js_overview.md.1d0cad56.js | 29 + ..._ua-parser-js_overview.md.1d0cad56.lean.js | 1 + .../api_ua-parser-js_set-ua.md.8907efd2.js | 11 + ...pi_ua-parser-js_set-ua.md.8907efd2.lean.js | 1 + .../v2/.vitepress/dist/assets/app.a149bf9c.js | 1 + .../dist/assets/chunks/framework.eb892692.js | 2 + .../dist/assets/chunks/theme.683fbe81.js | 7 + .../dist/assets/chunks/ui-custom.5c5b2e5f.js | 1 + .../dist/assets/index.md.9cfed7b9.js | 1 + .../dist/assets/index.md.9cfed7b9.lean.js | 1 + .../inter-italic-cyrillic-ext.33bd5a8e.woff2 | Bin 0 -> 28332 bytes .../inter-italic-cyrillic.ea42a392.woff2 | Bin 0 -> 17824 bytes .../inter-italic-greek-ext.4fbe9427.woff2 | Bin 0 -> 12188 bytes .../assets/inter-italic-greek.8f4463c4.woff2 | Bin 0 -> 23264 bytes .../inter-italic-latin-ext.bd8920cc.woff2 | Bin 0 -> 63552 bytes .../assets/inter-italic-latin.bd3b6f56.woff2 | Bin 0 -> 46048 bytes .../inter-italic-vietnamese.6ce511fb.woff2 | Bin 0 -> 8784 bytes .../inter-roman-cyrillic-ext.e75737ce.woff2 | Bin 0 -> 26600 bytes .../inter-roman-cyrillic.5f2c6c8c.woff2 | Bin 0 -> 16780 bytes .../inter-roman-greek-ext.ab0619bc.woff2 | Bin 0 -> 11808 bytes .../assets/inter-roman-greek.d5a6d92a.woff2 | Bin 0 -> 21776 bytes .../inter-roman-latin-ext.0030eebd.woff2 | Bin 0 -> 59608 bytes .../assets/inter-roman-latin.2ed14f66.woff2 | Bin 0 -> 42464 bytes .../inter-roman-vietnamese.14ce25a6.woff2 | Bin 0 -> 8492 bytes .../intro_extending-regex.md.83598a7d.js | 33 + .../intro_extending-regex.md.83598a7d.lean.js | 1 + ...tro_quick-start_quick-start.md.3fcc54ad.js | 1 + ...uick-start_quick-start.md.3fcc54ad.lean.js | 1 + ...uick-start_using-es-modules.md.add772ad.js | 8 + ...start_using-es-modules.md.add772ad.lean.js | 1 + ...ntro_quick-start_using-html.md.c26425e5.js | 67 + ...quick-start_using-html.md.c26425e5.lean.js | 1 + ...ro_quick-start_using-jquery.md.a8bfabfc.js | 27 + ...ick-start_using-jquery.md.a8bfabfc.lean.js | 1 + ...o_quick-start_using-node-js.md.d0e3ffe9.js | 25 + ...ck-start_using-node-js.md.d0e3ffe9.lean.js | 1 + ...uick-start_using-typescript.md.c1578797.js | 9 + ...start_using-typescript.md.c1578797.lean.js | 1 + .../intro_why-ua-parser-js.md.b5f993b6.js | 25 + ...intro_why-ua-parser-js.md.b5f993b6.lean.js | 1 + .../.vitepress/dist/assets/style.57130259.css | 1 + docs/v2/.vitepress/dist/hashmap.json | 1 + .../.vitepress/dist/images/illustration.png | Bin 0 -> 169817 bytes docs/v2/.vitepress/dist/images/logo.png | Bin 0 -> 55457 bytes docs/v2/.vitepress/dist/index.html | 24 + .../dist/intro/extending-regex.html | 56 + .../dist/intro/quick-start/quick-start.html | 24 + .../intro/quick-start/using-es-modules.html | 31 + .../dist/intro/quick-start/using-html.html | 90 + .../dist/intro/quick-start/using-jquery.html | 50 + .../dist/intro/quick-start/using-node-js.html | 48 + .../intro/quick-start/using-typescript.html | 32 + .../dist/intro/why-ua-parser-js.html | 48 + docs/v2/api/idata/is.md | 67 + docs/v2/api/idata/to-string.md | 42 + docs/v2/api/idata/with-client-hints.md | 74 + docs/v2/api/idata/with-feature-check.md | 19 + docs/v2/api/submodules/enums.md | 0 docs/v2/api/submodules/extensions.md | 0 docs/v2/api/submodules/maps.md | 0 docs/v2/api/ua-parser-js/get-browser.md | 55 + docs/v2/api/ua-parser-js/get-cpu.md | 30 + docs/v2/api/ua-parser-js/get-device.md | 47 + docs/v2/api/ua-parser-js/get-engine.md | 31 + docs/v2/api/ua-parser-js/get-os.md | 38 + docs/v2/api/ua-parser-js/get-result.md | 90 + docs/v2/api/ua-parser-js/get-ua.md | 19 + docs/v2/api/ua-parser-js/overview.md | 90 + docs/v2/api/ua-parser-js/set-ua.md | 19 + docs/v2/index.md | 16 + docs/v2/intro/extending-regex.md | 59 + docs/v2/intro/quick-start/quick-start.md | 9 + docs/v2/intro/quick-start/using-es-modules.md | 18 + docs/v2/intro/quick-start/using-html.md | 78 + docs/v2/intro/quick-start/using-jquery.md | 43 + docs/v2/intro/quick-start/using-node-js.md | 35 + docs/v2/intro/quick-start/using-typescript.md | 19 + docs/v2/intro/why-ua-parser-js.md | 39 + docs/v2/public/images/illustration.png | Bin 0 -> 169817 bytes docs/v2/public/images/logo.png | Bin 0 -> 55457 bytes index.html | 58 +- js/script.js | 19 +- js/ua-parser.js | 2 +- package-lock.json | 834 ++ package.json | 10 + 139 files changed, 13258 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/deploy.yml create mode 100644 docs/v2/.vitepress/cache/deps/@theme_index.js create mode 100644 docs/v2/.vitepress/cache/deps/@theme_index.js.map create mode 100644 docs/v2/.vitepress/cache/deps/_metadata.json create mode 100644 docs/v2/.vitepress/cache/deps/package.json create mode 100644 docs/v2/.vitepress/cache/deps/vue.js create mode 100644 docs/v2/.vitepress/cache/deps/vue.js.map create mode 100644 docs/v2/.vitepress/config.js create mode 100644 docs/v2/.vitepress/dist/404.html create mode 100644 docs/v2/.vitepress/dist/api/idata/is.html create mode 100644 docs/v2/.vitepress/dist/api/idata/to-string.html create mode 100644 docs/v2/.vitepress/dist/api/idata/with-client-hints.html create mode 100644 docs/v2/.vitepress/dist/api/idata/with-feature-check.html create mode 100644 docs/v2/.vitepress/dist/api/submodules/enums.html create mode 100644 docs/v2/.vitepress/dist/api/submodules/extensions.html create mode 100644 docs/v2/.vitepress/dist/api/submodules/maps.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-browser.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-cpu.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-device.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-engine.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-os.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-result.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/get-ua.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/overview.html create mode 100644 docs/v2/.vitepress/dist/api/ua-parser-js/set-ua.html create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.js create mode 100644 docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.js create mode 100644 docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.js create mode 100644 docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.js create mode 100644 docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.js create mode 100644 docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/app.a149bf9c.js create mode 100644 docs/v2/.vitepress/dist/assets/chunks/framework.eb892692.js create mode 100644 docs/v2/.vitepress/dist/assets/chunks/theme.683fbe81.js create mode 100644 docs/v2/.vitepress/dist/assets/chunks/ui-custom.5c5b2e5f.js create mode 100644 docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.js create mode 100644 docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-greek-ext.4fbe9427.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-greek.8f4463c4.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-greek-ext.ab0619bc.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-latin.2ed14f66.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 create mode 100644 docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.js create mode 100644 docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.lean.js create mode 100644 docs/v2/.vitepress/dist/assets/style.57130259.css create mode 100644 docs/v2/.vitepress/dist/hashmap.json create mode 100644 docs/v2/.vitepress/dist/images/illustration.png create mode 100644 docs/v2/.vitepress/dist/images/logo.png create mode 100644 docs/v2/.vitepress/dist/index.html create mode 100644 docs/v2/.vitepress/dist/intro/extending-regex.html create mode 100644 docs/v2/.vitepress/dist/intro/quick-start/quick-start.html create mode 100644 docs/v2/.vitepress/dist/intro/quick-start/using-es-modules.html create mode 100644 docs/v2/.vitepress/dist/intro/quick-start/using-html.html create mode 100644 docs/v2/.vitepress/dist/intro/quick-start/using-jquery.html create mode 100644 docs/v2/.vitepress/dist/intro/quick-start/using-node-js.html create mode 100644 docs/v2/.vitepress/dist/intro/quick-start/using-typescript.html create mode 100644 docs/v2/.vitepress/dist/intro/why-ua-parser-js.html create mode 100644 docs/v2/api/idata/is.md create mode 100644 docs/v2/api/idata/to-string.md create mode 100644 docs/v2/api/idata/with-client-hints.md create mode 100644 docs/v2/api/idata/with-feature-check.md create mode 100644 docs/v2/api/submodules/enums.md create mode 100644 docs/v2/api/submodules/extensions.md create mode 100644 docs/v2/api/submodules/maps.md create mode 100644 docs/v2/api/ua-parser-js/get-browser.md create mode 100644 docs/v2/api/ua-parser-js/get-cpu.md create mode 100644 docs/v2/api/ua-parser-js/get-device.md create mode 100644 docs/v2/api/ua-parser-js/get-engine.md create mode 100644 docs/v2/api/ua-parser-js/get-os.md create mode 100644 docs/v2/api/ua-parser-js/get-result.md create mode 100644 docs/v2/api/ua-parser-js/get-ua.md create mode 100644 docs/v2/api/ua-parser-js/overview.md create mode 100644 docs/v2/api/ua-parser-js/set-ua.md create mode 100644 docs/v2/index.md create mode 100644 docs/v2/intro/extending-regex.md create mode 100644 docs/v2/intro/quick-start/quick-start.md create mode 100644 docs/v2/intro/quick-start/using-es-modules.md create mode 100644 docs/v2/intro/quick-start/using-html.md create mode 100644 docs/v2/intro/quick-start/using-jquery.md create mode 100644 docs/v2/intro/quick-start/using-node-js.md create mode 100644 docs/v2/intro/quick-start/using-typescript.md create mode 100644 docs/v2/intro/why-ua-parser-js.md create mode 100644 docs/v2/public/images/illustration.png create mode 100644 docs/v2/public/images/logo.png create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..9171294 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,33 @@ +name: Deploy +on: + workflow_dispatch: {} + push: + branches: + - gh-pages +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-node@v3 + with: + node-version: 16 + cache: npm + - run: npm ci + - name: Build + run: npm run docs:build + - uses: actions/configure-pages@v2 + - uses: actions/upload-pages-artifact@v1 + with: + path: docs/v2/.vitepress/dist + - name: Deploy + id: deployment + uses: actions/deploy-pages@v1 \ No newline at end of file diff --git a/css/style.css b/css/style.css index 0364188..c859f43 100644 --- a/css/style.css +++ b/css/style.css @@ -1,3 +1,6 @@ +html { + scroll-behavior: smooth; +} .ui.horizontal.divider { margin: 3rem 0 2rem; } @@ -14,16 +17,16 @@ padding: 1em 0em; .masthead .ui.menu .ui.button { margin-left: 0.5em; } -.masthead h1.ui.header { +.masthead h2.ui.header { margin-top: 3em; font-size: 7em; } -.masthead h2 { +.masthead h1 { font-size: 1.3em; font-weight: normal; -margin: 0.5em 0 5em 0; +margin: 0.5em 0 2em 0; } -.masthead h2 a { +.masthead h1 a { color: #fff; font-weight: bold; } diff --git a/docs/v2/.vitepress/cache/deps/@theme_index.js b/docs/v2/.vitepress/cache/deps/@theme_index.js new file mode 100644 index 0000000..965498a --- /dev/null +++ b/docs/v2/.vitepress/cache/deps/@theme_index.js @@ -0,0 +1,41 @@ +// node_modules/vitepress/dist/client/theme-default/index.js +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/fonts.css"; + +// node_modules/vitepress/dist/client/theme-default/without-fonts.js +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/vars.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/base.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/utils.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css"; +import "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css"; +import VPBadge from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue"; +import Layout from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/Layout.vue"; +import { default as default2 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue"; +import { default as default3 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue"; +import { default as default4 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue"; +import { default as default5 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue"; +import { default as default6 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue"; +import { default as default7 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue"; +import { default as default8 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue"; +import { default as default9 } from "/home/aero/Documents/ua-parser-js/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue"; +var theme = { + Layout, + enhanceApp: ({ app }) => { + app.component("Badge", VPBadge); + } +}; +var without_fonts_default = theme; +export { + default5 as VPDocAsideSponsors, + default3 as VPHomeFeatures, + default2 as VPHomeHero, + default4 as VPHomeSponsors, + default9 as VPTeamMembers, + default6 as VPTeamPage, + default8 as VPTeamPageSection, + default7 as VPTeamPageTitle, + without_fonts_default as default +}; +//# sourceMappingURL=@theme_index.js.map diff --git a/docs/v2/.vitepress/cache/deps/@theme_index.js.map b/docs/v2/.vitepress/cache/deps/@theme_index.js.map new file mode 100644 index 0000000..643d1bb --- /dev/null +++ b/docs/v2/.vitepress/cache/deps/@theme_index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../../node_modules/vitepress/dist/client/theme-default/index.js", "../../../../../node_modules/vitepress/dist/client/theme-default/without-fonts.js"], + "sourcesContent": ["import './styles/fonts.css';\nexport * from './without-fonts';\nexport { default as default } from './without-fonts';\n", "import './styles/vars.css';\nimport './styles/base.css';\nimport './styles/utils.css';\nimport './styles/components/custom-block.css';\nimport './styles/components/vp-code.css';\nimport './styles/components/vp-code-group.css';\nimport './styles/components/vp-doc.css';\nimport './styles/components/vp-sponsor.css';\nimport VPBadge from './components/VPBadge.vue';\nimport Layout from './Layout.vue';\n// Note: if we add more optional components here, i.e. components that are not\n// used in the theme by default unless the user imports them, make sure to update\n// the `lazyDefaultThemeComponentsRE` regex in src/node/build/bundle.ts.\nexport { default as VPHomeHero } from './components/VPHomeHero.vue';\nexport { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';\nexport { default as VPHomeSponsors } from './components/VPHomeSponsors.vue';\nexport { default as VPDocAsideSponsors } from './components/VPDocAsideSponsors.vue';\nexport { default as VPTeamPage } from './components/VPTeamPage.vue';\nexport { default as VPTeamPageTitle } from './components/VPTeamPageTitle.vue';\nexport { default as VPTeamPageSection } from './components/VPTeamPageSection.vue';\nexport { default as VPTeamMembers } from './components/VPTeamMembers.vue';\nconst theme = {\n Layout,\n enhanceApp: ({ app }) => {\n app.component('Badge', VPBadge);\n }\n};\nexport default theme;\n"], + "mappings": ";AAAA,OAAO;;;ACAP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO,aAAa;AACpB,OAAO,YAAY;AAInB,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAqC;AAC9C,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAAkC;AAC3C,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAAgC;AACzC,IAAM,QAAQ;AAAA,EACV;AAAA,EACA,YAAY,CAAC,EAAE,IAAI,MAAM;AACrB,QAAI,UAAU,SAAS,OAAO;AAAA,EAClC;AACJ;AACA,IAAO,wBAAQ;", + "names": ["default"] +} diff --git a/docs/v2/.vitepress/cache/deps/_metadata.json b/docs/v2/.vitepress/cache/deps/_metadata.json new file mode 100644 index 0000000..7de46dd --- /dev/null +++ b/docs/v2/.vitepress/cache/deps/_metadata.json @@ -0,0 +1,19 @@ +{ + "hash": "b292d9d1", + "browserHash": "b5e14559", + "optimized": { + "vue": { + "src": "../../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", + "file": "vue.js", + "fileHash": "f4149b17", + "needsInterop": false + }, + "@theme/index": { + "src": "../../../../../node_modules/vitepress/dist/client/theme-default/index.js", + "file": "@theme_index.js", + "fileHash": "fdc9780f", + "needsInterop": false + } + }, + "chunks": {} +} \ No newline at end of file diff --git a/docs/v2/.vitepress/cache/deps/package.json b/docs/v2/.vitepress/cache/deps/package.json new file mode 100644 index 0000000..7c34deb --- /dev/null +++ b/docs/v2/.vitepress/cache/deps/package.json @@ -0,0 +1 @@ +{"type":"module"} \ No newline at end of file diff --git a/docs/v2/.vitepress/cache/deps/vue.js b/docs/v2/.vitepress/cache/deps/vue.js new file mode 100644 index 0000000..1708501 --- /dev/null +++ b/docs/v2/.vitepress/cache/deps/vue.js @@ -0,0 +1,9516 @@ +// node_modules/@vue/shared/dist/shared.esm-bundler.js +function makeMap(str, expectsLowerCase) { + const map2 = /* @__PURE__ */ Object.create(null); + const list = str.split(","); + for (let i = 0; i < list.length; i++) { + map2[list[i]] = true; + } + return expectsLowerCase ? (val) => !!map2[val.toLowerCase()] : (val) => !!map2[val]; +} +var 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"; +var isGloballyWhitelisted = makeMap(GLOBALS_WHITE_LISTED); +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; + } +} +var listDelimiterRE = /;(?![^(]*\))/g; +var propertyDelimiterRE = /:([^]+)/; +var styleCommentRE = /\/\*.*?\*\//gs; +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; +} +var 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"; +var 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"; +var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +var isHTMLTag = makeMap(HTML_TAGS); +var isSVGTag = makeMap(SVG_TAGS); +var isVoidTag = makeMap(VOID_TAGS); +var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); +var isBooleanAttr = makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +var isKnownHtmlAttr = makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`); +var isKnownSvgAttr = makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`); +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)); +} +var 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); +}; +var 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; +}; +var EMPTY_OBJ = true ? Object.freeze({}) : {}; +var EMPTY_ARR = true ? Object.freeze([]) : []; +var NOOP = () => { +}; +var NO = () => false; +var onRE = /^on[^a-z]/; +var isOn = (key) => onRE.test(key); +var isModelListener = (key) => key.startsWith("onUpdate:"); +var extend = Object.assign; +var remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var hasOwn = (val, key) => hasOwnProperty.call(val, key); +var isArray = Array.isArray; +var isMap = (val) => toTypeString(val) === "[object Map]"; +var isSet = (val) => toTypeString(val) === "[object Set]"; +var isDate = (val) => toTypeString(val) === "[object Date]"; +var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +var isFunction = (val) => typeof val === "function"; +var isString = (val) => typeof val === "string"; +var isSymbol = (val) => typeof val === "symbol"; +var isObject = (val) => val !== null && typeof val === "object"; +var isPromise = (val) => { + return isObject(val) && isFunction(val.then) && isFunction(val.catch); +}; +var objectToString = Object.prototype.toString; +var toTypeString = (value) => objectToString.call(value); +var toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +var isPlainObject = (val) => toTypeString(val) === "[object Object]"; +var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +var isReservedProp = makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +var isBuiltInDirective = makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); +var cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +var camelizeRE = /-(\w)/g; +var camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); +}); +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); +var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); +var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); +var hasChanged = (value, oldValue) => !Object.is(value, oldValue); +var invokeArrayFns = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } +}; +var def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +var looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +var toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +var _globalThis; +var getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; + +// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js +function warn(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +var activeEffectScope; +var EffectScope = class { + constructor(detached = false) { + this.detached = detached; + this._active = true; + this.effects = []; + 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 if (true) { + warn(`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(effect2, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect2); + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else if (true) { + warn(`onScopeDispose() is called when there is no active effect scope to be associated with.`); + } +} +var createDep = (effects) => { + const dep = new Set(effects); + dep.w = 0; + dep.n = 0; + return dep; +}; +var wasTracked = (dep) => (dep.w & trackOpBit) > 0; +var newTracked = (dep) => (dep.n & trackOpBit) > 0; +var initDepMarkers = ({ deps }) => { + if (deps.length) { + for (let i = 0; i < deps.length; i++) { + deps[i].w |= trackOpBit; + } + } +}; +var finalizeDepMarkers = (effect2) => { + const { deps } = effect2; + 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(effect2); + } else { + deps[ptr++] = dep; + } + dep.w &= ~trackOpBit; + dep.n &= ~trackOpBit; + } + deps.length = ptr; + } +}; +var targetMap = /* @__PURE__ */ new WeakMap(); +var effectTrackDepth = 0; +var trackOpBit = 1; +var maxMarkerBits = 30; +var activeEffect; +var ITERATE_KEY = Symbol(true ? "iterate" : ""); +var MAP_KEY_ITERATE_KEY = Symbol(true ? "Map key iterate" : ""); +var ReactiveEffect = class { + 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(); +} +var shouldTrack = true; +var 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 = true ? { effect: activeEffect, target, type, key } : void 0; + 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(Object.assign({ 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 = true ? { target, type, key, newValue, oldValue, oldTarget } : void 0; + if (deps.length === 1) { + if (deps[0]) { + if (true) { + triggerEffects(deps[0], eventInfo); + } else { + triggerEffects(deps[0]); + } + } + } else { + const effects = []; + for (const dep of deps) { + if (dep) { + effects.push(...dep); + } + } + if (true) { + triggerEffects(createDep(effects), eventInfo); + } else { + triggerEffects(createDep(effects)); + } + } +} +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 _a2; + return (_a2 = targetMap.get(object)) === null || _a2 === void 0 ? void 0 : _a2.get(key); +} +var isNonTrackableKeys = makeMap(`__proto__,__v_isRef,__isVue`); +var builtInSymbols = new Set( + Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) +); +var get$1 = createGetter(); +var shallowGet = createGetter(false, true); +var readonlyGet = createGetter(true); +var shallowReadonlyGet = createGetter(true, true); +var arrayInstrumentations = 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 hasOwnProperty2(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 hasOwnProperty2; + } + } + 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; + }; +} +var set$1 = createSetter(); +var shallowSet = 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); +} +var mutableHandlers = { + get: get$1, + set: set$1, + deleteProperty, + has: has$1, + ownKeys +}; +var readonlyHandlers = { + get: readonlyGet, + set(target, key) { + if (true) { + warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + }, + deleteProperty(target, key) { + if (true) { + warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + } +}; +var shallowReactiveHandlers = extend({}, mutableHandlers, { + get: shallowGet, + set: shallowSet +}); +var shallowReadonlyHandlers = extend({}, readonlyHandlers, { + get: shallowReadonlyGet +}); +var toShallow = (value) => value; +var getProto = (v) => Reflect.getPrototypeOf(v); +function get(target, key, isReadonly2 = false, isShallow3 = false) { + target = target[ + "__v_raw" + /* ReactiveFlags.RAW */ + ]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow3 ? toShallow : isReadonly2 ? 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, isReadonly2 = false) { + const target = this[ + "__v_raw" + /* ReactiveFlags.RAW */ + ]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + 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, isReadonly2 = false) { + target = target[ + "__v_raw" + /* ReactiveFlags.RAW */ + ]; + !isReadonly2 && 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 if (true) { + 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 if (true) { + 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 = true ? isMap(target) ? new Map(target) : new Set(target) : void 0; + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +function createForEach(isReadonly2, isShallow3) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed[ + "__v_raw" + /* ReactiveFlags.RAW */ + ]; + const rawTarget = toRaw(target); + const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly2, isShallow3) { + return function(...args) { + const target = this[ + "__v_raw" + /* ReactiveFlags.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 = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && 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) { + if (true) { + 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" + /* TriggerOpTypes.ADD */ + ), + set: createReadonlyMethod( + "set" + /* TriggerOpTypes.SET */ + ), + delete: createReadonlyMethod( + "delete" + /* TriggerOpTypes.DELETE */ + ), + clear: createReadonlyMethod( + "clear" + /* TriggerOpTypes.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" + /* TriggerOpTypes.ADD */ + ), + set: createReadonlyMethod( + "set" + /* TriggerOpTypes.SET */ + ), + delete: createReadonlyMethod( + "delete" + /* TriggerOpTypes.DELETE */ + ), + clear: createReadonlyMethod( + "clear" + /* TriggerOpTypes.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 + ]; +} +var [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); + }; +} +var mutableCollectionHandlers = { + get: createInstrumentationGetter(false, false) +}; +var shallowCollectionHandlers = { + get: createInstrumentationGetter(false, true) +}; +var readonlyCollectionHandlers = { + get: createInstrumentationGetter(true, false) +}; +var shallowReadonlyCollectionHandlers = { + get: 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.`); + } +} +var reactiveMap = /* @__PURE__ */ new WeakMap(); +var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +var readonlyMap = /* @__PURE__ */ new WeakMap(); +var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value[ + "__v_skip" + /* ReactiveFlags.SKIP */ + ] || !Object.isExtensible(value) ? 0 : 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)) { + if (true) { + console.warn(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target[ + "__v_raw" + /* ReactiveFlags.RAW */ + ] && !(isReadonly2 && target[ + "__v_isReactive" + /* ReactiveFlags.IS_REACTIVE */ + ])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value[ + "__v_raw" + /* ReactiveFlags.RAW */ + ]); + } + return !!(value && value[ + "__v_isReactive" + /* ReactiveFlags.IS_REACTIVE */ + ]); +} +function isReadonly(value) { + return !!(value && value[ + "__v_isReadonly" + /* ReactiveFlags.IS_READONLY */ + ]); +} +function isShallow(value) { + return !!(value && value[ + "__v_isShallow" + /* ReactiveFlags.IS_SHALLOW */ + ]); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + const raw = observed && observed[ + "__v_raw" + /* ReactiveFlags.RAW */ + ]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + def(value, "__v_skip", true); + return value; +} +var toReactive = (value) => isObject(value) ? reactive(value) : value; +var toReadonly = (value) => isObject(value) ? readonly(value) : value; +function trackRefValue(ref2) { + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + if (true) { + trackEffects(ref2.dep || (ref2.dep = createDep()), { + target: ref2, + type: "get", + key: "value" + }); + } else { + trackEffects(ref2.dep || (ref2.dep = createDep())); + } + } +} +function triggerRefValue(ref2, newVal) { + ref2 = toRaw(ref2); + const dep = ref2.dep; + if (dep) { + if (true) { + triggerEffects(dep, { + target: ref2, + type: "set", + key: "value", + newValue: newVal + }); + } else { + triggerEffects(dep); + } + } +} +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); +} +var RefImpl = class { + 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, true ? ref2.value : void 0); +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +var 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); +} +var CustomRefImpl = class { + constructor(factory) { + this.dep = void 0; + this.__v_isRef = true; + const { get: get2, set: set2 } = factory(() => trackRefValue(this), () => triggerRefValue(this)); + this._get = get2; + this._set = set2; + } + 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] = toRef(object, key); + } + return ret; +} +var ObjectRefImpl = class { + 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); + } +}; +function toRef(object, key, defaultValue) { + const val = object[key]; + return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue); +} +var _a$1; +var ComputedRefImpl = class { + constructor(getter, _setter, isReadonly2, isSSR) { + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this[_a$1] = 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" + /* ReactiveFlags.IS_READONLY */ + ] = isReadonly2; + } + get value() { + const self2 = toRaw(this); + trackRefValue(self2); + if (self2._dirty || !self2._cacheable) { + self2._dirty = false; + self2._value = self2.effect.run(); + } + return self2._value; + } + set value(newValue) { + this._setter(newValue); + } +}; +_a$1 = "__v_isReadonly"; +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = true ? () => { + console.warn("Write operation failed: computed value is readonly"); + } : NOOP; + } 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; +} +var _a; +var tick = Promise.resolve(); +_a = "__v_isReadonly"; + +// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +var stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +function warn2(msg, ...args) { + if (false) + return; + 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 (false) + return; + if (val === void 0) { + return; + } else if (typeof val !== "number") { + warn2(`${type} is not a valid number - got ${JSON.stringify(val)}.`); + } else if (isNaN(val)) { + warn2(`${type} is NaN - the duration expression might be incorrect.`); + } +} +var ErrorTypeStrings = { + [ + "sp" + /* LifecycleHooks.SERVER_PREFETCH */ + ]: "serverPrefetch hook", + [ + "bc" + /* LifecycleHooks.BEFORE_CREATE */ + ]: "beforeCreate hook", + [ + "c" + /* LifecycleHooks.CREATED */ + ]: "created hook", + [ + "bm" + /* LifecycleHooks.BEFORE_MOUNT */ + ]: "beforeMount hook", + [ + "m" + /* LifecycleHooks.MOUNTED */ + ]: "mounted hook", + [ + "bu" + /* LifecycleHooks.BEFORE_UPDATE */ + ]: "beforeUpdate hook", + [ + "u" + /* LifecycleHooks.UPDATED */ + ]: "updated", + [ + "bum" + /* LifecycleHooks.BEFORE_UNMOUNT */ + ]: "beforeUnmount hook", + [ + "um" + /* LifecycleHooks.UNMOUNTED */ + ]: "unmounted hook", + [ + "a" + /* LifecycleHooks.ACTIVATED */ + ]: "activated hook", + [ + "da" + /* LifecycleHooks.DEACTIVATED */ + ]: "deactivated hook", + [ + "ec" + /* LifecycleHooks.ERROR_CAPTURED */ + ]: "errorCaptured hook", + [ + "rtc" + /* LifecycleHooks.RENDER_TRACKED */ + ]: "renderTracked hook", + [ + "rtg" + /* LifecycleHooks.RENDER_TRIGGERED */ + ]: "renderTriggered hook", + [ + 0 + /* ErrorCodes.SETUP_FUNCTION */ + ]: "setup function", + [ + 1 + /* ErrorCodes.RENDER_FUNCTION */ + ]: "render function", + [ + 2 + /* ErrorCodes.WATCH_GETTER */ + ]: "watcher getter", + [ + 3 + /* ErrorCodes.WATCH_CALLBACK */ + ]: "watcher callback", + [ + 4 + /* ErrorCodes.WATCH_CLEANUP */ + ]: "watcher cleanup function", + [ + 5 + /* ErrorCodes.NATIVE_EVENT_HANDLER */ + ]: "native event handler", + [ + 6 + /* ErrorCodes.COMPONENT_EVENT_HANDLER */ + ]: "component event handler", + [ + 7 + /* ErrorCodes.VNODE_HOOK */ + ]: "vnode hook", + [ + 8 + /* ErrorCodes.DIRECTIVE_HOOK */ + ]: "directive hook", + [ + 9 + /* ErrorCodes.TRANSITION_HOOK */ + ]: "transition hook", + [ + 10 + /* ErrorCodes.APP_ERROR_HANDLER */ + ]: "app errorHandler", + [ + 11 + /* ErrorCodes.APP_WARN_HANDLER */ + ]: "app warnHandler", + [ + 12 + /* ErrorCodes.FUNCTION_REF */ + ]: "ref function", + [ + 13 + /* ErrorCodes.ASYNC_COMPONENT_LOADER */ + ]: "async component loader", + [ + 14 + /* ErrorCodes.SCHEDULER */ + ]: "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 = true ? ErrorTypeStrings[type] : 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) { + if (true) { + const info = ErrorTypeStrings[type]; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn2(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + throw err; + } else { + console.error(err); + } + } else { + console.error(err); + } +} +var isFlushing = false; +var isFlushPending = false; +var queue = []; +var flushIndex = 0; +var pendingPostFlushCbs = []; +var activePostFlushCbs = null; +var postFlushIndex = 0; +var resolvedPromise = Promise.resolve(); +var currentFlushPromise = null; +var RECURSION_LIMIT = 100; +function nextTick(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +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) { + if (true) { + 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; + if (true) { + 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; + } +} +var getId = (job) => job.id == null ? Infinity : job.id; +var 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; + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + queue.sort(comparator); + const check = true ? (job) => checkRecursiveUpdates(seen, job) : NOOP; + 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 + /* ErrorCodes.SCHEDULER */ + ); + } + } + } 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); + warn2(`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); + } + } +} +var isHmrUpdating = false; +var hmrDirtyComponents = /* @__PURE__ */ new Set(); +if (true) { + getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; +} +var 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.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.`); + } + }; +} +var devtools; +var buffer = []; +var devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools) { + devtools.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } +} +function setDevtoolsHook(hook, target) { + var _a2, _b; + devtools = hook; + if (devtools) { + devtools.enabled = true; + buffer.forEach(({ event, args }) => 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 = (_a2 = window.navigator) === null || _a2 === void 0 ? void 0 : _a2.userAgent) === null || _b === void 0 ? 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 (!devtools) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app, version2) { + emit$1("app:init", app, version2, { + Fragment, + Text, + Comment, + Static + }); +} +function devtoolsUnmountApp(app) { + emit$1("app:unmount", app); +} +var devtoolsComponentAdded = createDevtoolsComponentHook( + "component:added" + /* DevtoolsHooks.COMPONENT_ADDED */ +); +var devtoolsComponentUpdated = createDevtoolsComponentHook( + "component:updated" + /* DevtoolsHooks.COMPONENT_UPDATED */ +); +var _devtoolsComponentRemoved = createDevtoolsComponentHook( + "component:removed" + /* DevtoolsHooks.COMPONENT_REMOVED */ +); +var devtoolsComponentRemoved = (component) => { + if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered + !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); + }; +} +var devtoolsPerfStart = createDevtoolsPerformanceHook( + "perf:start" + /* DevtoolsHooks.PERFORMANCE_START */ +); +var devtoolsPerfEnd = createDevtoolsPerformanceHook( + "perf:end" + /* DevtoolsHooks.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.appContext.app, component, event, params); +} +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) + return; + const props = instance.vnode.props || EMPTY_OBJ; + if (true) { + const { emitsOptions, propsOptions: [propsOptions] } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn2(`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) { + warn2(`Invalid event arguments: event validation failed for event "${event}".`); + } + } + } + } + } + let args = rawArgs; + const isModelListener2 = event.startsWith("update:"); + const modelArg = isModelListener2 && 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); + } + } + if (true) { + devtoolsComponentEmit(instance, event, args); + } + if (true) { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn2(`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 && isModelListener2) { + 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 (__VUE_OPTIONS_API__ && !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); +} +var currentRenderingInstance = null; +var 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; +} +var 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); + } + } + if (true) { + devtoolsComponentUpdated(ctx); + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +var accessedAttrs = false; +function markAttrsAccessed() { + accessedAttrs = true; +} +function renderComponentRoot(instance) { + const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit: emit2, render: render2, renderCache, data, setupState, ctx, inheritAttrs } = instance; + let result; + let fallthroughAttrs; + const prev = setCurrentRenderingInstance(instance); + if (true) { + accessedAttrs = false; + } + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + result = normalizeVNode(render2.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx)); + fallthroughAttrs = attrs; + } else { + const render3 = Component; + if (attrs === props) { + markAttrsAccessed(); + } + result = normalizeVNode(render3.length > 1 ? render3(props, true ? { + get attrs() { + markAttrsAccessed(); + return attrs; + }, + slots, + emit: emit2 + } : { attrs, slots, emit: emit2 }) : render3( + props, + null + /* we know it doesn't need it */ + )); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError( + err, + instance, + 1 + /* ErrorCodes.RENDER_FUNCTION */ + ); + 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) { + warn2(`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) { + warn2(`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)) { + warn2(`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)) { + warn2(`Component inside renders non-element root node that cannot be animated.`); + } + root.transition = vnode.transition; + } + if (setRoot) { + setRoot(root); + } else { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +var 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; +} +var getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +var filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +var 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; + } +} +var isSuspense = (type) => type.__isSuspense; +var 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 +}; +var 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(); + } +} +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); + } + } + } + } +} +var hasWarned = false; +function createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + if (!hasWarned) { + hasWarned = true; + console[console.info ? "info" : "log"](` is an experimental feature and its API will likely change.`); + } + const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove: remove2 } } = rendererInternals; + const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; + if (true) { + assertNumber(timeout, `Suspense timeout`); + } + const suspense = { + vnode, + parent, + 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) { + if (true) { + 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 + /* MoveType.ENTER */ + ); + } + }; + } + let { anchor: anchor2 } = suspense; + if (activeBranch) { + anchor2 = next(activeBranch); + unmount(activeBranch, parentComponent2, suspense, true); + } + if (!delayEnter) { + move( + pendingBranch, + container2, + anchor2, + 0 + /* MoveType.ENTER */ + ); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent2 = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent2) { + if (parent2.pendingBranch) { + parent2.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent2 = parent2.parent; + } + if (!hasUnresolvedAncestor) { + queuePostFlushCb(effects); + } + suspense.effects = []; + 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 + /* ErrorCodes.SETUP_FUNCTION */ + ); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + if (true) { + 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) { + remove2(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + if (true) { + popWarningContext(); + } + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove); + } + if (suspense.pendingBranch) { + unmount(suspense.pendingBranch, parentComponent, parentSuspense, 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(); + } + 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) { + warn2(` 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 provide(key, value) { + if (!currentInstance) { + if (true) { + warn2(`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) { + const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue; + } else if (true) { + warn2(`injection "${String(key)}" not found.`); + } + } else if (true) { + warn2(`inject() can only be used inside setup() or functional components.`); + } +} +function watchEffect(effect2, options) { + return doWatch(effect2, null, options); +} +function watchPostEffect(effect2, options) { + return doWatch(effect2, null, true ? Object.assign(Object.assign({}, options), { flush: "post" }) : { flush: "post" }); +} +function watchSyncEffect(effect2, options) { + return doWatch(effect2, null, true ? Object.assign(Object.assign({}, options), { flush: "sync" }) : { flush: "sync" }); +} +var INITIAL_WATCHER_VALUE = {}; +function watch(source, cb, options) { + if (!isFunction(cb)) { + warn2(`\`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) { + if (!cb) { + if (immediate !== void 0) { + warn2(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`); + } + if (deep !== void 0) { + warn2(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); + } + } + const warnInvalidSource = (s) => { + warn2(`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() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.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 + /* ErrorCodes.WATCH_GETTER */ + ); + } else { + warnInvalidSource(s); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = () => callWithErrorHandling( + source, + instance, + 2 + /* ErrorCodes.WATCH_GETTER */ + ); + } 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 = effect2.onStop = () => { + callWithErrorHandling( + fn, + instance, + 4 + /* ErrorCodes.WATCH_CLEANUP */ + ); + }; + }; + let ssrCleanup; + if (isInSSRComponentSetup) { + onCleanup = NOOP; + if (!cb) { + getter(); + } else if (immediate) { + callWithAsyncErrorHandling(cb, instance, 3, [ + getter(), + isMultiSource ? [] : void 0, + onCleanup + ]); + } + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else { + return NOOP; + } + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = () => { + if (!effect2.active) { + return; + } + if (cb) { + const newValue = effect2.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 { + effect2.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 effect2 = new ReactiveEffect(getter, scheduler); + if (true) { + effect2.onTrack = onTrack; + effect2.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect2.run(); + } + } else if (flush === "post") { + queuePostRenderEffect(effect2.run.bind(effect2), instance && instance.suspense); + } else { + effect2.run(); + } + const unwatch = () => { + effect2.stop(); + if (instance && instance.scope) { + remove(instance.scope.effects, effect2); + } + }; + if (ssrCleanup) + ssrCleanup.push(unwatch); + 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" + /* ReactiveFlags.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 useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +var TransitionHookValidator = [Function, Array]; +var BaseTransitionImpl = { + name: `BaseTransition`, + props: { + 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 + }, + 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) { + warn2(" can only be used on a single element or component. Use for lists."); + break; + } + child = c; + hasFound = true; + if (false) + break; + } + } + } + const rawProps = toRaw(props); + const { mode } = rawProps; + if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { + warn2(`invalid 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; + }; + } +}; +var 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 callHook3 = (hook, args) => { + hook && callWithAsyncErrorHandling(hook, instance, 9, args); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook3(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(); + } + callHook3(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) { + callHook3(cancelHook, [el]); + } else { + callHook3(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el._enterCb = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove2) { + const key2 = String(vnode.key); + if (el._enterCb) { + el._enterCb( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove2(); + } + callHook3(onBeforeLeave, [el]); + let called = false; + const done = el._leaveCb = (cancelled) => { + if (called) + return; + called = true; + remove2(); + if (cancelled) { + callHook3(onLeaveCancelled, [el]); + } else { + callHook3(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) { + return isFunction(options) ? { setup: options, name: options.name } : options; +} +var 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((resolve2, reject) => { + const userRetry = () => resolve2(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn2(`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 || isInSSRComponentSetup) { + 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; +} +var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +var 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; + if (!sharedContext.renderer) { + return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + if (true) { + 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); + if (true) { + 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); + if (true) { + 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) { + if (true) { + warn2(`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; + }; + } +}; +var KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (isArray(pattern)) { + return pattern.some((p2) => matches(p2, 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 if (true) { + const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, "")); + warn2(`${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.`); + } +} +var 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) +); +var onBeforeMount = createHook( + "bm" + /* LifecycleHooks.BEFORE_MOUNT */ +); +var onMounted = createHook( + "m" + /* LifecycleHooks.MOUNTED */ +); +var onBeforeUpdate = createHook( + "bu" + /* LifecycleHooks.BEFORE_UPDATE */ +); +var onUpdated = createHook( + "u" + /* LifecycleHooks.UPDATED */ +); +var onBeforeUnmount = createHook( + "bum" + /* LifecycleHooks.BEFORE_UNMOUNT */ +); +var onUnmounted = createHook( + "um" + /* LifecycleHooks.UNMOUNTED */ +); +var onServerPrefetch = createHook( + "sp" + /* LifecycleHooks.SERVER_PREFETCH */ +); +var onRenderTriggered = createHook( + "rtg" + /* LifecycleHooks.RENDER_TRIGGERED */ +); +var onRenderTracked = createHook( + "rtc" + /* LifecycleHooks.RENDER_TRACKED */ +); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn2("Do not use built-in directive ids as custom directive id: " + name); + } +} +function withDirectives(vnode, directives) { + const internalInstance = currentRenderingInstance; + if (internalInstance === null) { + warn2(`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(); + } + } +} +var COMPONENTS = "components"; +var DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +var NULL_DYNAMIC_COMPONENT = Symbol(); +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.` : ``; + warn2(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else if (true) { + warn2(`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)) { + warn2(`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) { + warn2(`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 + /* PatchFlags.BAIL */ + ); + 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)) { + warn2(`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; +} +var getPublicInstance = (i) => { + if (!i) + return null; + if (isStatefulComponent(i)) + return getExposeProxy(i) || i.proxy; + return getPublicInstance(i.parent); +}; +var publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => true ? shallowReadonly(i.props) : i.props, + $attrs: (i) => true ? shallowReadonly(i.attrs) : i.attrs, + $slots: (i) => true ? shallowReadonly(i.slots) : i.slots, + $refs: (i) => true ? shallowReadonly(i.refs) : i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $emit: (i) => i.emit, + $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, + $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP + }) +); +var isReservedPrefix = (key) => key === "_" || key === "$"; +var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +var 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: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + 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; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance, "get", key); + markAttrsAccessed(); + } + 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; + 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)) { + warn2(`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) { + warn2(`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)) { + warn2(`Cannot mutate + + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/idata/is.html b/docs/v2/.vitepress/dist/api/idata/is.html new file mode 100644 index 0000000..0e8af3d --- /dev/null +++ b/docs/v2/.vitepress/dist/api/idata/is.html @@ -0,0 +1,71 @@ + + + + + + is(value:string):boolean | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

is(value:string):boolean ​

This method returns true if the passed value matches with the value of one of the properties of current object, false otherwise.

INFO

  • device properties are checked in this particular order: type, model, vendor.
  • When checking for browser, any Browser suffix will be ignored.
  • When checking for OS, any OS suffix will be ignored.
  • The comparison is case-insensitive, thus is("firefox") == is("Firefox").

Code Example ​

js
// is() is just a shorthand comparison
+// so that instead of write it using `==` operator like this:
+
+const ua = UAParser();
+const device = ua.device;
+const os = ua.os;
+
+if (device.type == "mobile" && os.name != "iOS") {}
+if (device.type == "smarttv" || device.vendor == "Samsung") {}
+
+// we can also write the comparison above into as follow:
+
+if (device.is("mobile") && !os.is("iOS")) {}
+if (device.is("SmartTV") || device.is("SaMsUnG")) {}
js
// Another examples:
+
+const uap = new UAParser('Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537');
+
+uap.getBrowser().name;              // "IEMobile"
+uap.getBrowser().is("IEMobile");    // true
+uap.getCPU().is("ARM");             // true
+
+uap.getOS().name;                   // "Windows Phone"
+uap.getOS().is("Windows Phone");    // true
+
+uap.getDevice();                    // { vendor: "Nokia", model: "Lumia 635", type: "mobile" }
+uap.getResult().device;             // { vendor: "Nokia", model: "Lumia 635", type: "mobile" }
+
+const device = uap.getDevice();
+device.is("mobile");                // true
+device.is("Lumia 635");             // true
+device.is("Nokia");                 // true
+device.is("iPhone");                // false
+uap.getResult().device.is("Nokia"); // true
+uap.getResult().device.model;       // "Lumia 635"
+
+uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
+
+const browser = uap.getBrowser();
+browser.is("IEMobile");             // false 
+browser.is("Chrome");               // true
+
+uap.getResult().browser.is("Edge"); // false
+uap.getResult().os.name             // "Mac OS"
+uap.getResult().os.is("Mac OS");    // true
+uap.getResult().os.version;         // "10.6.8"
+
+const engine = uap.getEngine();
+engine.is("Blink");                 // true

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/idata/to-string.html b/docs/v2/.vitepress/dist/api/idata/to-string.html new file mode 100644 index 0000000..8a40eea --- /dev/null +++ b/docs/v2/.vitepress/dist/api/idata/to-string.html @@ -0,0 +1,48 @@ + + + + + + toString():string | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

toString():string ​

Retrieve full-name values as a string

INFO

Values will be concatenated following this pattern:

  • browser : name + version
  • cpu : architecture
  • device : vendor + model
  • engine : name + version
  • os : name + version

Code Example ​

js
// Usage examples
+
+let uap = new UAParser('Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537');
+
+uap.getDevice();                    // { 
+                                    //    vendor: "Nokia", 
+                                    //    model: "Lumia 635", 
+                                    //    type: "mobile"
+                                    // }
+uap.getDevice().toString();         // "Nokia Lumia 635"
+
+uap.getResult().os.name;            // "Windows Phone"
+uap.getResult().os.version;         // "8.1"
+uap.getResult().os.toString();      // "Windows Phone 8.1"
+
+uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
+uap.getBrowser().name;              // "Chrome"
+uap.getBrowser().version;           // "28.0.1500.95"
+uap.getBrowser().major;             // "28"
+uap.getBrowser().toString();        // "Chrome 28.0.1500.95"
+
+let engine = uap.getEngine();
+engine.name;                        // "Blink"
+engine.version;                     // "28.0.1500.95"
+engine.toString();                  // "Blink 28.0.1500.95"

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/idata/with-client-hints.html b/docs/v2/.vitepress/dist/api/idata/with-client-hints.html new file mode 100644 index 0000000..a997ff9 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/idata/with-client-hints.html @@ -0,0 +1,70 @@ + + + + + + withClientHints():Promise<IData>|Thenable<IData>|IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

withClientHints():Promise<IData>|Thenable<IData>|IData ​

Recently, Chrome limits the information that exposed through user-agent and introduces a new experimental set of data called "Client Hints"↗.

Chrome also sends this client-hints data by default under Sec-CH-UA-* HTTP headers in each request, along with the legacy User-Agent HTTP header. In server-side development, you can capture this extra information by passing the req.headers to UAParser() (see examples below).

In browser-environment, obtaining the client-hints data via JavaScript must be done in an asynchronous way. You can chain the result object from get* method with withClientHints() to also read the client-hints data from the browser which will return the updated data in a Promise.

INFO

In Node.js or in browser-environment without client-hints support (basically anything that's not Chromium-based), withClientHints() will return the updated data as a new object instead of as a Promise.

Code Example ​

Client-side Example ​

js
(async function () {  
+    const ua = new UAParser();
+
+    // get browser data from user-agent only :
+    let browser = ua.getBrowser();
+    console.log('Using User-Agent: ', browser);
+
+    // get browser data from client-hints 
+    // (with user-agent as a fallback) :
+    browser = await ua.getBrowser().withClientHints();
+    console.log('Using Client-Hints: ', browser);
+})();
js
// alternatively without async-await:
+const ua = new UAParser();
+
+ua.getBrowser().withClientHints().then(function (browser) {
+    console.log('Using Client-Hints: ', browser);
+});

Server-side Example ​

js
// Suppose we got a request having these HTTP headers: 
+const request = {
+    headers : {
+        'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
+
+        'sec-ch-ua-mobile' : '?1',
+        'sec-ch-ua-model' : 'Galaxy S3 Marketing',
+        'sec-ch-ua-platform' : 'Android'
+    }
+};
+
+// parse only "user-agent" header
+const result1 = UAParser(request.headers);
+
+// also use "sec-ch-ua" headers, in addition to "user-agent"
+const result2 = UAParser(request.headers).withClientHints();    
+
+console.log(result1.os.name);       // "Linux"
+console.log(result1.device.type);   // undefined
+console.log(result1.device.model);  // undefined
+
+console.log(result2.os.name);       // "Android"
+console.log(result2.device.type);   // "mobile"
+console.log(result2.device.model);  // "Galaxy S3 Marketing"
+
+new UAParser(request.headers)
+        .getBrowser()
+        .withClientHints()
+        .then((browser) => {
+    console.log(browser.toString());    // Chrome 110.0.0.0 
+});

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/idata/with-feature-check.html b/docs/v2/.vitepress/dist/api/idata/with-feature-check.html new file mode 100644 index 0000000..275b7b9 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/idata/with-feature-check.html @@ -0,0 +1,29 @@ + + + + + + withFeatureCheck():IData` | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

withFeatureCheck():IData` ​

This method allows us to examine other features beyond navigator.userAgent. Currently this further improve the detection of the following:

  • browser :
    • Brave (check for navigator.isBrave)
  • device :
    • iPad (check for navigator.standalone & navigator.maxTouchPoints)

Code Example ​

js
// suppose this code runs on iPad
+const withoutFeatureCheck = UAParser();
+const withFeatureCheck = UAParser().withFeatureCheck();
+
+console.log(withoutFeatureCheck.device); // { vendor : "Apple", model : "Macintosh", type : undefined }
+console.log(withFeatureCheck.device);    // { vendor : "Apple", model : "iPad", type : "tablet" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/submodules/enums.html b/docs/v2/.vitepress/dist/api/submodules/enums.html new file mode 100644 index 0000000..946564a --- /dev/null +++ b/docs/v2/.vitepress/dist/api/submodules/enums.html @@ -0,0 +1,24 @@ + + + + + + UAParser.js | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/submodules/extensions.html b/docs/v2/.vitepress/dist/api/submodules/extensions.html new file mode 100644 index 0000000..ae49bae --- /dev/null +++ b/docs/v2/.vitepress/dist/api/submodules/extensions.html @@ -0,0 +1,24 @@ + + + + + + UAParser.js | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/submodules/maps.html b/docs/v2/.vitepress/dist/api/submodules/maps.html new file mode 100644 index 0000000..016e3cb --- /dev/null +++ b/docs/v2/.vitepress/dist/api/submodules/maps.html @@ -0,0 +1,24 @@ + + + + + + UAParser.js | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-browser.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-browser.html new file mode 100644 index 0000000..9fb70ff --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-browser.html @@ -0,0 +1,51 @@ + + + + + + getBrowser():IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getBrowser():IData ​

Get browser name, full version, & major version from user-agent string.

js
// Result object is structured as follow:
+{ name: '', version: '', major: '' }

name:string ​

sh
# List of possible `browser.name`:
+2345Explorer, 360 Browser, Amaya, Android Browser, Arora, 
+Avant, Avast, AVG, BIDUBrowser, Baidu, Basilisk, Blazer, 
+Bolt, Brave, Bowser, Camino, Chimera, [Mobile] Chrome 
+[Headless/WebView], Chromium, Cobalt, Comodo Dragon, 
+Dillo, Dolphin, Doris, DuckDuckGo, Edge, Electron, 
+Epiphany, Facebook, Falkon, Fennec, Firebird, [Mobile] 
+Firefox [Focus/Reality], Flock, Flow, GSA, GoBrowser, 
+HeyTap, Huawei Browser, ICE Browser, IE, IEMobile, 
+IceApe, IceCat, IceDragon, Iceweasel, Instagram, Iridium, 
+Iron, Jasmine, Kakao[Story/Talk], K-Meleon, Kindle, Klar, 
+Konqueror, LBBROWSER, Line, LinkedIn, Links, Lunascape, 
+Lynx, MIUI Browser, Maemo Browser, Maemo, Maxthon, MetaSr,
+Midori, Minimo, Mosaic, Mozilla, NetFront, NetSurf, 
+Netfront, Netscape, NokiaBrowser, Obigo, Oculus Browser, 
+OmniWeb, Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, 
+PhantomJS, Phoenix, Polaris, Puffin, QQ, QQBrowser, 
+QQBrowserLite, Quark, QupZilla, RockMelt, [Mobile] Safari, 
+Sailfish Browser, Samsung Browser, SeaMonkey, Silk, 
+Skyfire, Sleipnir, Slim, SlimBrowser, Swiftfox, Tesla, 
+TikTok, Tizen Browser, UCBrowser, UP.Browser, Viera, Vivaldi, 
+Waterfox, WeChat, Weibo, Yandex, baidu, iCab, w3m, 
+Whale Browser, ...

version:string ​

Determined dynamically

major:string ​

Major number of version following semver↗, eg: if we have version 5.1.21214 the major would be 5.

Code Example ​

js
const operamini = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25'
+const parser = new UAParser(operamini);
+
+console.log(parser.getBrowser());
+// { name : "Opera Mini", version : "5.1.21214", major : "5" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-cpu.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-cpu.html new file mode 100644 index 0000000..34209e0 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-cpu.html @@ -0,0 +1,31 @@ + + + + + + getCPU():IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getCPU():IData ​

Get type of CPU architecture from user-agent string.

js
// Result object is structured as follow:
+{ architecture: '' }

architecture:string ​

sh
# List of possible values for `cpu.architecture`
+68k, amd64, arm[64/hf], avr, ia[32/64], irix[64], 
+mips[64], pa-risc, ppc, sparc[64]

INFO

Our convention here for 32-bit version of 'x86' is referred as ia32, while its 64-bit extension (also known as 'x86-64' or simply 'x64') is referred as amd64.

Code Example ​

js
const powerpc = 'Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC Mac OS; en)'
+const parser = new UAParser(powerpc);
+
+console.log(parser.getCPU());
+// { architecture : "ppc" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-device.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-device.html new file mode 100644 index 0000000..8a5a0e8 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-device.html @@ -0,0 +1,37 @@ + + + + + + getDevice():IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getDevice():IData ​

Get details of device information (type, vendor, model) from user-agent string.

js
// Result object is structured as follow:
+{ type: '', vendor: '', model: '' }

type:string ​

sh
# List of possible values for `device.type`:
+mobile, tablet, smarttv, console, wearable, embedded

INFO

If you wish to detect desktop devices, you must handle the logic yourself, since UAParser only reports info that is directly available from user-agent string. Read more about this issue here↗

vendor:string ​

sh
# List of possible `device.vendor`:
+Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ,
+BlackBerry, Dell, Essential, Facebook, Fairphone, GeeksPhone,
+Google, HP, HTC, Huawei, Jolla, Kobo, Lenovo, LG, Meizu,
+Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, 
+OPPO, Ouya, Palm, Panasonic, Pebble, Polytron, Realme, RIM, 
+Roku, Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Tesla, 
+Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...

model:string ​

Determined dynamically

Code Example ​

js
const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36'
+const parser = new UAParser(galaxytabs8);
+
+console.log(parser.getDevice());
+// { type : "tablet", vendor : "Samsung", model : "SM-X706B" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-engine.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-engine.html new file mode 100644 index 0000000..03d5abd --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-engine.html @@ -0,0 +1,32 @@ + + + + + + getEngine():IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getEngine():IData ​

Get layout rendering engine name & version from user-agent string.

js
// Result object is structured as follow:
+{ name: '', version: '' }

name:string ​

sh
# List of possible value of `engine.name`
+Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, 
+KHTML, LibWeb, Links, Lynx, NetFront, NetSurf, 
+Presto, Tasman, Trident, w3m, WebKit

version:string ​

Determined dynamically

Code Example ​

js
const operamini = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25'
+const parser = new UAParser(operamini);
+
+console.log(parser.getEngine());
+// { name : "Presto", version : "2.5.25" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-os.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-os.html new file mode 100644 index 0000000..9b959d3 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-os.html @@ -0,0 +1,38 @@ + + + + + + getOS():IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getOS():IData ​

Get operating system name & version from user-agent string.

js
// Result object is structured as follow:
+{ name: '', version: '' }

name:string ​

sh
# List of possible values for `os.name`
+AIX, Amiga OS, Android[-x86], Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS,
+Contiki, Fedora, Firefox OS, FreeBSD, Debian, Deepin, DragonFly, elementary OS, 
+Fuchsia, Gentoo, GhostBSD, GNU, Haiku, HarmonyOS, HP-UX, Hurd, iOS, Joli, KaiOS, 
+Linpus, Linspire,Linux, Mac OS, Maemo, Mageia, Mandriva, Manjaro, MeeGo, Minix, 
+Mint, Morph OS, NetBSD, NetRange, NetTV, Nintendo, OpenBSD, OpenVMS, OS/2, Palm, 
+PC-BSD, PCLinuxOS, Plan9, PlayStation, QNX, Raspbian, RedHat, RIM Tablet OS, 
+RISC OS, Sabayon, Sailfish, SerenityOS, Series40, Slackware, Solaris, SUSE, Symbian, 
+Tizen, Ubuntu, Unix, VectorLinux, Viera, watchOS, WebOS, Windows [Phone/Mobile], 
+Zenwalk, ...

version:string ​

Determined dynamically

Code Example ​

js
const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36'
+const parser = new UAParser(galaxytabs8);
+
+console.log(parser.getOS());
+// { name : "Android", version : "12" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-result.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-result.html new file mode 100644 index 0000000..58993cb --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-result.html @@ -0,0 +1,77 @@ + + + + + + getResult():IData | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getResult():IData ​

Get all information regarding browser, CPU, device, engine, & OS from user-agent string.

js
// Result object is structured as follow:
+{ 
+    ua: "", 
+    browser: { 
+        name: "", 
+        version: "",
+        major: ""
+    }, 
+    cpu: {
+        architecture: ""
+    }, 
+    device: {
+        type: "",
+        vendor: "",
+        model: ""
+    }, 
+    engine: {
+        name: "",
+        version: ""
+    }, 
+    os: {
+        name: "",
+        version: ""
+    }
+}

ua:string ​

The user-agent string value of current instance.

browser:IData ​

Object that contains the value of browser name, full version, & major version.

cpu:IData ​

Object that contains the value of type of CPU architecture.

device:IData ​

Object that contains the value of device details: type, vendor, model.

engine:IData ​

Object that contains the value of layout rendering engine name & version.

os:IData ​

Object that contains the value of operating system name & version.

Code Example ​

js
const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36'
+const parser = new UAParser(galaxytabs8);
+
+console.log(parser.getResult());
+/*
+{ 
+    ua: "Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36", 
+    browser: { 
+        name: "Chrome", 
+        version: "103.0.5060.53",
+        major: "103"
+    }, 
+    cpu: {
+        architecture: undefined
+    }, 
+    device: {
+        type: "mobile",
+        vendor: "Huawei",
+        model: "SM-X706B"
+    },
+    engine: {
+        name: "Blink",
+        version: "103.0.5060.53"
+    }, 
+    os: {
+        name: "Android",
+        version: "12"
+    }
+}
+*/

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/get-ua.html b/docs/v2/.vitepress/dist/api/ua-parser-js/get-ua.html new file mode 100644 index 0000000..baaee92 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/get-ua.html @@ -0,0 +1,34 @@ + + + + + + getUA():string | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

getUA():string ​

Get user-agent string of current instance

Code Example ​

js
// Try to run this code on a browser
+const parser = new UAParser();
+
+// This will print the user-agent of current browser
+console.log(parser.getUA());
+
+// Replace the user-agent value
+parser.setUA('Mozilla/5.0 MyBrowser/1.0');
+
+parser.getUA();
+// "Mozilla/5.0 MyBrowser/1.0"

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/overview.html b/docs/v2/.vitepress/dist/api/ua-parser-js/overview.html new file mode 100644 index 0000000..6743dac --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/overview.html @@ -0,0 +1,52 @@ + + + + + + UAParser Class Overview | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

UAParser Class Overview ​

Constructor ​

new UAParser([user-agent:string][,extensions:object][,headers:object]):UAParser ​

When called with the new keyword, it will return a new instance of UAParser.

js
const parser = new UAParser("your user-agent here"); // you need to pass the user-agent for nodejs
+console.log(parser); 
+/* 
+    {}
+*/
+
+const parserResults = parser.getResult();
+console.log(parserResults);
+/* 
+    {
+        ua      : "",
+        browser : {},
+        engine  : {},
+        os      : {},
+        device  : {},
+        cpu     : {}
+    }
+*/

UAParser([user-agent:string][,extensions:object][,headers:object]):IData ​

When called without the new keyword, it will directly return the results of getResult():

js
const parser = UAParser("your user-agent here");
+console.log(parser);
+/* 
+    {
+        ua      : "",
+        browser : {},
+        engine  : {},
+        os      : {},
+        device  : {},
+        cpu     : {}
+    }
+*/

TIP

In browser environment you don't need to pass the user-agent string, as it should automatically get the string from the current window.navigator.userAgent.

TIP

In Node.js environment, user-agent string must be passed in order for the function to work. Usually you can find it in: request.headers["user-agent"].

Methods ​

The methods are self explanatory, here's a small overview of available methods:

getBrowser():IData ​

returns the browser name, version, and major.

getCPU():IData ​

returns CPU architectural design name.

getDevice():IData ​

returns the device model, type, vendor.

getEngine():IData ​

returns the browser engine name and version.

getOS():IData ​

returns the operating system name and version.

getResult():IData ​

returns all function object calls, user-agent string, browser info, cpu, device, engine, os.

getUA():string ​

returns the user-agent string.

setUA(ua:string):UAParser ​

set a custom user-agent string to be parsed.

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/api/ua-parser-js/set-ua.html b/docs/v2/.vitepress/dist/api/ua-parser-js/set-ua.html new file mode 100644 index 0000000..4e900b4 --- /dev/null +++ b/docs/v2/.vitepress/dist/api/ua-parser-js/set-ua.html @@ -0,0 +1,34 @@ + + + + + + setUA(ua:string):UAParser | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

setUA(ua:string):UAParser ​

Set user-agent string to be parsed, returns current instance

Code Example ​

js
// Try to run this code on a browser
+const parser = new UAParser();
+
+// This will print the user-agent of current browser
+console.log(parser.getUA());
+
+// Replace the user-agent value
+parser.setUA('Mozilla/5.0 MyBrowser/1.0');
+
+parser.getUA();
+// "Mozilla/5.0 MyBrowser/1.0"

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.js b/docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.js new file mode 100644 index 0000000..0985d9d --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.js @@ -0,0 +1,48 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"is(value:string):boolean","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/is.md","lastUpdated":null}'),o={name:"api/idata/is.md"},p=l(`

is(value:string):boolean ​

This method returns true if the passed value matches with the value of one of the properties of current object, false otherwise.

INFO

  • device properties are checked in this particular order: type, model, vendor.
  • When checking for browser, any Browser suffix will be ignored.
  • When checking for OS, any OS suffix will be ignored.
  • The comparison is case-insensitive, thus is("firefox") == is("Firefox").

Code Example ​

js
// is() is just a shorthand comparison
+// so that instead of write it using \`==\` operator like this:
+
+const ua = UAParser();
+const device = ua.device;
+const os = ua.os;
+
+if (device.type == "mobile" && os.name != "iOS") {}
+if (device.type == "smarttv" || device.vendor == "Samsung") {}
+
+// we can also write the comparison above into as follow:
+
+if (device.is("mobile") && !os.is("iOS")) {}
+if (device.is("SmartTV") || device.is("SaMsUnG")) {}
js
// Another examples:
+
+const uap = new UAParser('Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537');
+
+uap.getBrowser().name;              // "IEMobile"
+uap.getBrowser().is("IEMobile");    // true
+uap.getCPU().is("ARM");             // true
+
+uap.getOS().name;                   // "Windows Phone"
+uap.getOS().is("Windows Phone");    // true
+
+uap.getDevice();                    // { vendor: "Nokia", model: "Lumia 635", type: "mobile" }
+uap.getResult().device;             // { vendor: "Nokia", model: "Lumia 635", type: "mobile" }
+
+const device = uap.getDevice();
+device.is("mobile");                // true
+device.is("Lumia 635");             // true
+device.is("Nokia");                 // true
+device.is("iPhone");                // false
+uap.getResult().device.is("Nokia"); // true
+uap.getResult().device.model;       // "Lumia 635"
+
+uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
+
+const browser = uap.getBrowser();
+browser.is("IEMobile");             // false 
+browser.is("Chrome");               // true
+
+uap.getResult().browser.is("Edge"); // false
+uap.getResult().os.name             // "Mac OS"
+uap.getResult().os.is("Mac OS");    // true
+uap.getResult().os.version;         // "10.6.8"
+
+const engine = uap.getEngine();
+engine.is("Blink");                 // true
`,6),e=[p];function t(c,r,D,y,A,F){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{C as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.lean.js b/docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.lean.js new file mode 100644 index 0000000..5ea4d20 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_is.md.e021670c.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"is(value:string):boolean","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/is.md","lastUpdated":null}'),o={name:"api/idata/is.md"},p=l("",6),e=[p];function t(c,r,D,y,A,F){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{C as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.js b/docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.js new file mode 100644 index 0000000..1a22cc1 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.js @@ -0,0 +1,25 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"toString():string","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/to-string.md","lastUpdated":null}'),o={name:"api/idata/to-string.md"},p=l(`

toString():string ​

Retrieve full-name values as a string

INFO

Values will be concatenated following this pattern:

  • browser : name + version
  • cpu : architecture
  • device : vendor + model
  • engine : name + version
  • os : name + version

Code Example ​

js
// Usage examples
+
+let uap = new UAParser('Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537');
+
+uap.getDevice();                    // { 
+                                    //    vendor: "Nokia", 
+                                    //    model: "Lumia 635", 
+                                    //    type: "mobile"
+                                    // }
+uap.getDevice().toString();         // "Nokia Lumia 635"
+
+uap.getResult().os.name;            // "Windows Phone"
+uap.getResult().os.version;         // "8.1"
+uap.getResult().os.toString();      // "Windows Phone 8.1"
+
+uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36");
+uap.getBrowser().name;              // "Chrome"
+uap.getBrowser().version;           // "28.0.1500.95"
+uap.getBrowser().major;             // "28"
+uap.getBrowser().toString();        // "Chrome 28.0.1500.95"
+
+let engine = uap.getEngine();
+engine.name;                        // "Blink"
+engine.version;                     // "28.0.1500.95"
+engine.toString();                  // "Blink 28.0.1500.95"
`,5),e=[p];function t(c,r,i,y,D,A){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{C as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.lean.js b/docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.lean.js new file mode 100644 index 0000000..7ec7593 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_to-string.md.20eaa222.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"toString():string","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/to-string.md","lastUpdated":null}'),o={name:"api/idata/to-string.md"},p=l("",5),e=[p];function t(c,r,i,y,D,A){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{C as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.js b/docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.js new file mode 100644 index 0000000..ac201be --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.js @@ -0,0 +1,47 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"withClientHints():Promise|Thenable|IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/with-client-hints.md","lastUpdated":null}'),e={name:"api/idata/with-client-hints.md"},p=l(`

withClientHints():Promise<IData>|Thenable<IData>|IData ​

Recently, Chrome limits the information that exposed through user-agent and introduces a new experimental set of data called "Client Hints"↗.

Chrome also sends this client-hints data by default under Sec-CH-UA-* HTTP headers in each request, along with the legacy User-Agent HTTP header. In server-side development, you can capture this extra information by passing the req.headers to UAParser() (see examples below).

In browser-environment, obtaining the client-hints data via JavaScript must be done in an asynchronous way. You can chain the result object from get* method with withClientHints() to also read the client-hints data from the browser which will return the updated data in a Promise.

INFO

In Node.js or in browser-environment without client-hints support (basically anything that's not Chromium-based), withClientHints() will return the updated data as a new object instead of as a Promise.

Code Example ​

Client-side Example ​

js
(async function () {  
+    const ua = new UAParser();
+
+    // get browser data from user-agent only :
+    let browser = ua.getBrowser();
+    console.log('Using User-Agent: ', browser);
+
+    // get browser data from client-hints 
+    // (with user-agent as a fallback) :
+    browser = await ua.getBrowser().withClientHints();
+    console.log('Using Client-Hints: ', browser);
+})();
js
// alternatively without async-await:
+const ua = new UAParser();
+
+ua.getBrowser().withClientHints().then(function (browser) {
+    console.log('Using Client-Hints: ', browser);
+});

Server-side Example ​

js
// Suppose we got a request having these HTTP headers: 
+const request = {
+    headers : {
+        'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
+
+        'sec-ch-ua-mobile' : '?1',
+        'sec-ch-ua-model' : 'Galaxy S3 Marketing',
+        'sec-ch-ua-platform' : 'Android'
+    }
+};
+
+// parse only "user-agent" header
+const result1 = UAParser(request.headers);
+
+// also use "sec-ch-ua" headers, in addition to "user-agent"
+const result2 = UAParser(request.headers).withClientHints();    
+
+console.log(result1.os.name);       // "Linux"
+console.log(result1.device.type);   // undefined
+console.log(result1.device.model);  // undefined
+
+console.log(result2.os.name);       // "Android"
+console.log(result2.device.type);   // "mobile"
+console.log(result2.device.model);  // "Galaxy S3 Marketing"
+
+new UAParser(request.headers)
+        .getBrowser()
+        .withClientHints()
+        .then((browser) => {
+    console.log(browser.toString());    // Chrome 110.0.0.0 
+});
`,11),o=[p];function t(r,c,i,y,D,F){return a(),n("div",null,o)}const d=s(e,[["render",t]]);export{C as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.lean.js b/docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.lean.js new file mode 100644 index 0000000..37a803e --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_with-client-hints.md.ed97926a.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"withClientHints():Promise|Thenable|IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/with-client-hints.md","lastUpdated":null}'),e={name:"api/idata/with-client-hints.md"},p=l("",11),o=[p];function t(r,c,i,y,D,F){return a(),n("div",null,o)}const d=s(e,[["render",t]]);export{C as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.js b/docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.js new file mode 100644 index 0000000..52dedf9 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.js @@ -0,0 +1,6 @@ +import{_ as a,c as s,o as e,N as n}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"withFeatureCheck():IData`","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/with-feature-check.md","lastUpdated":null}'),o={name:"api/idata/with-feature-check.md"},t=n(`

withFeatureCheck():IData\` ​

This method allows us to examine other features beyond navigator.userAgent. Currently this further improve the detection of the following:

  • browser :
    • Brave (check for navigator.isBrave)
  • device :
    • iPad (check for navigator.standalone & navigator.maxTouchPoints)

Code Example ​

js
// suppose this code runs on iPad
+const withoutFeatureCheck = UAParser();
+const withFeatureCheck = UAParser().withFeatureCheck();
+
+console.log(withoutFeatureCheck.device); // { vendor : "Apple", model : "Macintosh", type : undefined }
+console.log(withFeatureCheck.device);    // { vendor : "Apple", model : "iPad", type : "tablet" }
`,5),l=[t];function p(c,r,i,d,u,h){return e(),s("div",null,l)}const y=a(o,[["render",p]]);export{C as __pageData,y as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.lean.js b/docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.lean.js new file mode 100644 index 0000000..043b03f --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_idata_with-feature-check.md.6b15066b.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as e,N as n}from"./chunks/framework.eb892692.js";const C=JSON.parse('{"title":"withFeatureCheck():IData`","description":"","frontmatter":{},"headers":[],"relativePath":"api/idata/with-feature-check.md","lastUpdated":null}'),o={name:"api/idata/with-feature-check.md"},t=n("",5),l=[t];function p(c,r,i,d,u,h){return e(),s("div",null,l)}const y=a(o,[["render",p]]);export{C as __pageData,y as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.js b/docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.js new file mode 100644 index 0000000..e1e1eed --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as s}from"./chunks/framework.eb892692.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/submodules/enums.md","lastUpdated":null}'),a={name:"api/submodules/enums.md"};function n(o,r,c,p,d,m){return s(),t("div")}const l=e(a,[["render",n]]);export{i as __pageData,l as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.lean.js b/docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.lean.js new file mode 100644 index 0000000..e1e1eed --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_submodules_enums.md.67d01874.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as s}from"./chunks/framework.eb892692.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/submodules/enums.md","lastUpdated":null}'),a={name:"api/submodules/enums.md"};function n(o,r,c,p,d,m){return s(),t("div")}const l=e(a,[["render",n]]);export{i as __pageData,l as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.js b/docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.js new file mode 100644 index 0000000..b2eb793 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as s}from"./chunks/framework.eb892692.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/submodules/extensions.md","lastUpdated":null}'),a={name:"api/submodules/extensions.md"};function n(o,r,c,i,p,d){return s(),t("div")}const m=e(a,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.lean.js b/docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.lean.js new file mode 100644 index 0000000..b2eb793 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_submodules_extensions.md.af715bdb.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as s}from"./chunks/framework.eb892692.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/submodules/extensions.md","lastUpdated":null}'),a={name:"api/submodules/extensions.md"};function n(o,r,c,i,p,d){return s(),t("div")}const m=e(a,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.js b/docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.js new file mode 100644 index 0000000..1fb3fd1 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t}from"./chunks/framework.eb892692.js";const l=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/submodules/maps.md","lastUpdated":null}'),s={name:"api/submodules/maps.md"};function o(r,p,n,c,d,m){return t(),a("div")}const _=e(s,[["render",o]]);export{l as __pageData,_ as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.lean.js b/docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.lean.js new file mode 100644 index 0000000..1fb3fd1 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_submodules_maps.md.ae1e54e0.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t}from"./chunks/framework.eb892692.js";const l=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/submodules/maps.md","lastUpdated":null}'),s={name:"api/submodules/maps.md"};function o(r,p,n,c,d,m){return t(),a("div")}const _=e(s,[["render",o]]);export{l as __pageData,_ as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.js new file mode 100644 index 0000000..d10ec9b --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.js @@ -0,0 +1,28 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const F=JSON.parse('{"title":"getBrowser():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-browser.md","lastUpdated":null}'),o={name:"api/ua-parser-js/get-browser.md"},p=l(`

getBrowser():IData ​

Get browser name, full version, & major version from user-agent string.

js
// Result object is structured as follow:
+{ name: '', version: '', major: '' }

name:string ​

sh
# List of possible \`browser.name\`:
+2345Explorer, 360 Browser, Amaya, Android Browser, Arora, 
+Avant, Avast, AVG, BIDUBrowser, Baidu, Basilisk, Blazer, 
+Bolt, Brave, Bowser, Camino, Chimera, [Mobile] Chrome 
+[Headless/WebView], Chromium, Cobalt, Comodo Dragon, 
+Dillo, Dolphin, Doris, DuckDuckGo, Edge, Electron, 
+Epiphany, Facebook, Falkon, Fennec, Firebird, [Mobile] 
+Firefox [Focus/Reality], Flock, Flow, GSA, GoBrowser, 
+HeyTap, Huawei Browser, ICE Browser, IE, IEMobile, 
+IceApe, IceCat, IceDragon, Iceweasel, Instagram, Iridium, 
+Iron, Jasmine, Kakao[Story/Talk], K-Meleon, Kindle, Klar, 
+Konqueror, LBBROWSER, Line, LinkedIn, Links, Lunascape, 
+Lynx, MIUI Browser, Maemo Browser, Maemo, Maxthon, MetaSr,
+Midori, Minimo, Mosaic, Mozilla, NetFront, NetSurf, 
+Netfront, Netscape, NokiaBrowser, Obigo, Oculus Browser, 
+OmniWeb, Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, 
+PhantomJS, Phoenix, Polaris, Puffin, QQ, QQBrowser, 
+QQBrowserLite, Quark, QupZilla, RockMelt, [Mobile] Safari, 
+Sailfish Browser, Samsung Browser, SeaMonkey, Silk, 
+Skyfire, Sleipnir, Slim, SlimBrowser, Swiftfox, Tesla, 
+TikTok, Tizen Browser, UCBrowser, UP.Browser, Viera, Vivaldi, 
+Waterfox, WeChat, Weibo, Yandex, baidu, iCab, w3m, 
+Whale Browser, ...

version:string ​

Determined dynamically

major:string ​

Major number of version following semver↗, eg: if we have version 5.1.21214 the major would be 5.

Code Example ​

js
const operamini = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25'
+const parser = new UAParser(operamini);
+
+console.log(parser.getBrowser());
+// { name : "Opera Mini", version : "5.1.21214", major : "5" }
`,11),e=[p];function r(t,c,C,y,D,A){return n(),a("div",null,e)}const E=s(o,[["render",r]]);export{F as __pageData,E as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.lean.js new file mode 100644 index 0000000..be5c3b7 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-browser.md.f4df1518.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const F=JSON.parse('{"title":"getBrowser():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-browser.md","lastUpdated":null}'),o={name:"api/ua-parser-js/get-browser.md"},p=l("",11),e=[p];function r(t,c,C,y,D,A){return n(),a("div",null,e)}const E=s(o,[["render",r]]);export{F as __pageData,E as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.js new file mode 100644 index 0000000..fb501c3 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.js @@ -0,0 +1,8 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const D=JSON.parse('{"title":"getCPU():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-cpu.md","lastUpdated":null}'),l={name:"api/ua-parser-js/get-cpu.md"},p=e(`

getCPU():IData ​

Get type of CPU architecture from user-agent string.

js
// Result object is structured as follow:
+{ architecture: '' }

architecture:string ​

sh
# List of possible values for \`cpu.architecture\`
+68k, amd64, arm[64/hf], avr, ia[32/64], irix[64], 
+mips[64], pa-risc, ppc, sparc[64]

INFO

Our convention here for 32-bit version of 'x86' is referred as ia32, while its 64-bit extension (also known as 'x86-64' or simply 'x64') is referred as amd64.

Code Example ​

js
const powerpc = 'Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC Mac OS; en)'
+const parser = new UAParser(powerpc);
+
+console.log(parser.getCPU());
+// { architecture : "ppc" }
`,8),o=[p];function t(r,c,i,d,y,u){return n(),a("div",null,o)}const F=s(l,[["render",t]]);export{D as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.lean.js new file mode 100644 index 0000000..8c4a255 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-cpu.md.b4ef11dc.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const D=JSON.parse('{"title":"getCPU():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-cpu.md","lastUpdated":null}'),l={name:"api/ua-parser-js/get-cpu.md"},p=e("",8),o=[p];function t(r,c,i,d,y,u){return n(),a("div",null,o)}const F=s(l,[["render",t]]);export{D as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.js new file mode 100644 index 0000000..975b648 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.js @@ -0,0 +1,14 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"getDevice():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-device.md","lastUpdated":null}'),e={name:"api/ua-parser-js/get-device.md"},o=l(`

getDevice():IData ​

Get details of device information (type, vendor, model) from user-agent string.

js
// Result object is structured as follow:
+{ type: '', vendor: '', model: '' }

type:string ​

sh
# List of possible values for \`device.type\`:
+mobile, tablet, smarttv, console, wearable, embedded

INFO

If you wish to detect desktop devices, you must handle the logic yourself, since UAParser only reports info that is directly available from user-agent string. Read more about this issue here↗

vendor:string ​

sh
# List of possible \`device.vendor\`:
+Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ,
+BlackBerry, Dell, Essential, Facebook, Fairphone, GeeksPhone,
+Google, HP, HTC, Huawei, Jolla, Kobo, Lenovo, LG, Meizu,
+Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, 
+OPPO, Ouya, Palm, Panasonic, Pebble, Polytron, Realme, RIM, 
+Roku, Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Tesla, 
+Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...

model:string ​

Determined dynamically

Code Example ​

js
const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36'
+const parser = new UAParser(galaxytabs8);
+
+console.log(parser.getDevice());
+// { type : "tablet", vendor : "Samsung", model : "SM-X706B" }
`,12),p=[o];function t(r,c,i,C,y,D){return n(),a("div",null,p)}const u=s(e,[["render",t]]);export{d as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.lean.js new file mode 100644 index 0000000..201cc9a --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-device.md.f2518671.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"getDevice():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-device.md","lastUpdated":null}'),e={name:"api/ua-parser-js/get-device.md"},o=l("",12),p=[o];function t(r,c,i,C,y,D){return n(),a("div",null,p)}const u=s(e,[["render",t]]);export{d as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.js new file mode 100644 index 0000000..fba9352 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.js @@ -0,0 +1,9 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const A=JSON.parse('{"title":"getEngine():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-engine.md","lastUpdated":null}'),l={name:"api/ua-parser-js/get-engine.md"},o=e(`

getEngine():IData ​

Get layout rendering engine name & version from user-agent string.

js
// Result object is structured as follow:
+{ name: '', version: '' }

name:string ​

sh
# List of possible value of \`engine.name\`
+Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, 
+KHTML, LibWeb, Links, Lynx, NetFront, NetSurf, 
+Presto, Tasman, Trident, w3m, WebKit

version:string ​

Determined dynamically

Code Example ​

js
const operamini = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25'
+const parser = new UAParser(operamini);
+
+console.log(parser.getEngine());
+// { name : "Presto", version : "2.5.25" }
`,9),p=[o];function t(r,c,i,y,C,D){return n(),a("div",null,p)}const m=s(l,[["render",t]]);export{A as __pageData,m as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.lean.js new file mode 100644 index 0000000..a94eb11 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-engine.md.93357cf9.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const A=JSON.parse('{"title":"getEngine():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-engine.md","lastUpdated":null}'),l={name:"api/ua-parser-js/get-engine.md"},o=e("",9),p=[o];function t(r,c,i,y,C,D){return n(),a("div",null,p)}const m=s(l,[["render",t]]);export{A as __pageData,m as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.js new file mode 100644 index 0000000..b14be8f --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.js @@ -0,0 +1,15 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const E=JSON.parse('{"title":"getOS():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-os.md","lastUpdated":null}'),p={name:"api/ua-parser-js/get-os.md"},o=l(`

getOS():IData ​

Get operating system name & version from user-agent string.

js
// Result object is structured as follow:
+{ name: '', version: '' }

name:string ​

sh
# List of possible values for \`os.name\`
+AIX, Amiga OS, Android[-x86], Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS,
+Contiki, Fedora, Firefox OS, FreeBSD, Debian, Deepin, DragonFly, elementary OS, 
+Fuchsia, Gentoo, GhostBSD, GNU, Haiku, HarmonyOS, HP-UX, Hurd, iOS, Joli, KaiOS, 
+Linpus, Linspire,Linux, Mac OS, Maemo, Mageia, Mandriva, Manjaro, MeeGo, Minix, 
+Mint, Morph OS, NetBSD, NetRange, NetTV, Nintendo, OpenBSD, OpenVMS, OS/2, Palm, 
+PC-BSD, PCLinuxOS, Plan9, PlayStation, QNX, Raspbian, RedHat, RIM Tablet OS, 
+RISC OS, Sabayon, Sailfish, SerenityOS, Series40, Slackware, Solaris, SUSE, Symbian, 
+Tizen, Ubuntu, Unix, VectorLinux, Viera, watchOS, WebOS, Windows [Phone/Mobile], 
+Zenwalk, ...

version:string ​

Determined dynamically

Code Example ​

js
const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36'
+const parser = new UAParser(galaxytabs8);
+
+console.log(parser.getOS());
+// { name : "Android", version : "12" }
`,9),e=[o];function r(t,c,C,y,D,A){return n(),a("div",null,e)}const d=s(p,[["render",r]]);export{E as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.lean.js new file mode 100644 index 0000000..0f34cb1 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-os.md.71bcb7f0.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const E=JSON.parse('{"title":"getOS():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-os.md","lastUpdated":null}'),p={name:"api/ua-parser-js/get-os.md"},o=l("",9),e=[o];function r(t,c,C,y,D,A){return n(),a("div",null,e)}const d=s(p,[["render",r]]);export{E as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.js new file mode 100644 index 0000000..190b50c --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.js @@ -0,0 +1,54 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const D=JSON.parse('{"title":"getResult():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-result.md","lastUpdated":null}'),e={name:"api/ua-parser-js/get-result.md"},p=l(`

getResult():IData ​

Get all information regarding browser, CPU, device, engine, & OS from user-agent string.

js
// Result object is structured as follow:
+{ 
+    ua: "", 
+    browser: { 
+        name: "", 
+        version: "",
+        major: ""
+    }, 
+    cpu: {
+        architecture: ""
+    }, 
+    device: {
+        type: "",
+        vendor: "",
+        model: ""
+    }, 
+    engine: {
+        name: "",
+        version: ""
+    }, 
+    os: {
+        name: "",
+        version: ""
+    }
+}

ua:string ​

The user-agent string value of current instance.

browser:IData ​

Object that contains the value of browser name, full version, & major version.

cpu:IData ​

Object that contains the value of type of CPU architecture.

device:IData ​

Object that contains the value of device details: type, vendor, model.

engine:IData ​

Object that contains the value of layout rendering engine name & version.

os:IData ​

Object that contains the value of operating system name & version.

Code Example ​

js
const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36'
+const parser = new UAParser(galaxytabs8);
+
+console.log(parser.getResult());
+/*
+{ 
+    ua: "Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36", 
+    browser: { 
+        name: "Chrome", 
+        version: "103.0.5060.53",
+        major: "103"
+    }, 
+    cpu: {
+        architecture: undefined
+    }, 
+    device: {
+        type: "mobile",
+        vendor: "Huawei",
+        model: "SM-X706B"
+    },
+    engine: {
+        name: "Blink",
+        version: "103.0.5060.53"
+    }, 
+    os: {
+        name: "Android",
+        version: "12"
+    }
+}
+*/
`,17),o=[p];function t(r,c,i,y,F,u){return n(),a("div",null,o)}const d=s(e,[["render",t]]);export{D as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.lean.js new file mode 100644 index 0000000..61a027c --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-result.md.f65ecd4a.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const D=JSON.parse('{"title":"getResult():IData","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-result.md","lastUpdated":null}'),e={name:"api/ua-parser-js/get-result.md"},p=l("",17),o=[p];function t(r,c,i,y,F,u){return n(),a("div",null,o)}const d=s(e,[["render",t]]);export{D as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.js new file mode 100644 index 0000000..d671ff1 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.js @@ -0,0 +1,11 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"getUA():string","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-ua.md","lastUpdated":null}'),l={name:"api/ua-parser-js/get-ua.md"},p=e(`

getUA():string ​

Get user-agent string of current instance

Code Example ​

js
// Try to run this code on a browser
+const parser = new UAParser();
+
+// This will print the user-agent of current browser
+console.log(parser.getUA());
+
+// Replace the user-agent value
+parser.setUA('Mozilla/5.0 MyBrowser/1.0');
+
+parser.getUA();
+// "Mozilla/5.0 MyBrowser/1.0"
`,4),o=[p];function r(t,c,i,A,y,u){return n(),a("div",null,o)}const F=s(l,[["render",r]]);export{d as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.lean.js new file mode 100644 index 0000000..c0dcb32 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_get-ua.md.0fa9fd7f.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"getUA():string","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/get-ua.md","lastUpdated":null}'),l={name:"api/ua-parser-js/get-ua.md"},p=e("",4),o=[p];function r(t,c,i,A,y,u){return n(),a("div",null,o)}const F=s(l,[["render",r]]);export{d as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.js new file mode 100644 index 0000000..fb198c4 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.js @@ -0,0 +1,29 @@ +import{_ as s,c as a,o as e,N as n}from"./chunks/framework.eb892692.js";const g=JSON.parse('{"title":"UAParser Class Overview","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/overview.md","lastUpdated":null}'),t={name:"api/ua-parser-js/overview.md"},r=n(`

UAParser Class Overview ​

Constructor ​

new UAParser([user-agent:string][,extensions:object][,headers:object]):UAParser ​

When called with the new keyword, it will return a new instance of UAParser.

js
const parser = new UAParser("your user-agent here"); // you need to pass the user-agent for nodejs
+console.log(parser); 
+/* 
+    {}
+*/
+
+const parserResults = parser.getResult();
+console.log(parserResults);
+/* 
+    {
+        ua      : "",
+        browser : {},
+        engine  : {},
+        os      : {},
+        device  : {},
+        cpu     : {}
+    }
+*/

UAParser([user-agent:string][,extensions:object][,headers:object]):IData ​

When called without the new keyword, it will directly return the results of getResult():

js
const parser = UAParser("your user-agent here");
+console.log(parser);
+/* 
+    {
+        ua      : "",
+        browser : {},
+        engine  : {},
+        os      : {},
+        device  : {},
+        cpu     : {}
+    }
+*/

TIP

In browser environment you don't need to pass the user-agent string, as it should automatically get the string from the current window.navigator.userAgent.

TIP

In Node.js environment, user-agent string must be passed in order for the function to work. Usually you can find it in: request.headers["user-agent"].

Methods ​

The methods are self explanatory, here's a small overview of available methods:

getBrowser():IData ​

returns the browser name, version, and major.

getCPU():IData ​

returns CPU architectural design name.

getDevice():IData ​

returns the device model, type, vendor.

getEngine():IData ​

returns the browser engine name and version.

getOS():IData ​

returns the operating system name and version.

getResult():IData ​

returns all function object calls, user-agent string, browser info, cpu, device, engine, os.

getUA():string ​

returns the user-agent string.

setUA(ua:string):UAParser ​

set a custom user-agent string to be parsed.

`,28),l=[r];function o(p,c,i,u,d,h){return e(),a("div",null,l)}const y=s(t,[["render",o]]);export{g as __pageData,y as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.lean.js new file mode 100644 index 0000000..0d9d885 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_overview.md.1d0cad56.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as e,N as n}from"./chunks/framework.eb892692.js";const g=JSON.parse('{"title":"UAParser Class Overview","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/overview.md","lastUpdated":null}'),t={name:"api/ua-parser-js/overview.md"},r=n("",28),l=[r];function o(p,c,i,u,d,h){return e(),a("div",null,l)}const y=s(t,[["render",o]]);export{g as __pageData,y as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.js new file mode 100644 index 0000000..d09172b --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.js @@ -0,0 +1,11 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"setUA(ua:string):UAParser","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/set-ua.md","lastUpdated":null}'),l={name:"api/ua-parser-js/set-ua.md"},p=e(`

setUA(ua:string):UAParser ​

Set user-agent string to be parsed, returns current instance

Code Example ​

js
// Try to run this code on a browser
+const parser = new UAParser();
+
+// This will print the user-agent of current browser
+console.log(parser.getUA());
+
+// Replace the user-agent value
+parser.setUA('Mozilla/5.0 MyBrowser/1.0');
+
+parser.getUA();
+// "Mozilla/5.0 MyBrowser/1.0"
`,4),r=[p];function o(t,c,i,u,A,y){return n(),a("div",null,r)}const F=s(l,[["render",o]]);export{d as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.lean.js b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.lean.js new file mode 100644 index 0000000..bcf4e41 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/api_ua-parser-js_set-ua.md.8907efd2.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"setUA(ua:string):UAParser","description":"","frontmatter":{},"headers":[],"relativePath":"api/ua-parser-js/set-ua.md","lastUpdated":null}'),l={name:"api/ua-parser-js/set-ua.md"},p=e("",4),r=[p];function o(t,c,i,u,A,y){return n(),a("div",null,r)}const F=s(l,[["render",o]]);export{d as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/app.a149bf9c.js b/docs/v2/.vitepress/dist/assets/app.a149bf9c.js new file mode 100644 index 0000000..2172e77 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/app.a149bf9c.js @@ -0,0 +1 @@ +import{d as p,I as s,a3 as i,u,h as c,l,a4 as d,a5 as f,a6 as m,a7 as h,a8 as A,a9 as g,aa as P,ab as v,ac as y,ad as C,ae as w,af as _,ag as b,a1 as E}from"./chunks/framework.eb892692.js";import{t as R}from"./chunks/theme.683fbe81.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(R),D=p({name:"VitePressApp",setup(){const{site:e}=u();return c(()=>{l(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),d(),f(),m(),n.setup&&n.setup(),()=>h(n.Layout)}});async function O(){const e=T(),a=S();a.provide(A,e);const t=g(e.route);return a.provide(P,t),a.component("Content",v),a.component("ClientOnly",y),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:C}),{app:a,router:e,data:t}}function S(){return w(D)}function T(){let e=s,a;return _(t=>{let o=b(t);return e&&(a=o),(e||a===o)&&(o=o.replace(/\.js$/,".lean.js")),s&&(e=!1),E(()=>import(o),[])},n.NotFound)}s&&O().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{O as createApp}; diff --git a/docs/v2/.vitepress/dist/assets/chunks/framework.eb892692.js b/docs/v2/.vitepress/dist/assets/chunks/framework.eb892692.js new file mode 100644 index 0000000..c95a636 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/chunks/framework.eb892692.js @@ -0,0 +1,2 @@ +function zn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function Yn(e){if(N(e)){const t={};for(let n=0;n{if(n){const s=n.split(wi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Jn(e){let t="";if(ie(e))t=e;else if(N(e))for(let n=0;nie(e)?e:e==null?"":N(e)||ee(e)&&(e.toString===ar||!j(e.toString))?JSON.stringify(e,cr,2):String(e),cr=(e,t)=>t&&t.__v_isRef?cr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:fr(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!N(t)&&!dr(t)?String(t):t,te={},ft=[],Oe=()=>{},vi=()=>!1,Ai=/^on[^a-z]/,Nt=e=>Ai.test(e),Xn=e=>e.startsWith("onUpdate:"),le=Object.assign,Zn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ri=Object.prototype.hasOwnProperty,V=(e,t)=>Ri.call(e,t),N=Array.isArray,ut=e=>fn(e)==="[object Map]",fr=e=>fn(e)==="[object Set]",j=e=>typeof e=="function",ie=e=>typeof e=="string",Qn=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",ur=e=>ee(e)&&j(e.then)&&j(e.catch),ar=Object.prototype.toString,fn=e=>ar.call(e),Oi=e=>fn(e).slice(8,-1),dr=e=>fn(e)==="[object Object]",Gn=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vt=zn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),un=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ii=/-(\w)/g,Se=un(e=>e.replace(Ii,(t,n)=>n?n.toUpperCase():"")),Fi=/\B([A-Z])/g,it=un(e=>e.replace(Fi,"-$1").toLowerCase()),an=un(e=>e.charAt(0).toUpperCase()+e.slice(1)),Zt=un(e=>e?`on${an(e)}`:""),Ft=(e,t)=>!Object.is(e,t),xn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Pi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Mi=e=>{const t=ie(e)?Number(e):NaN;return isNaN(t)?e:t};let ws;const Si=()=>ws||(ws=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let _e;class Li{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},hr=e=>(e.w&qe)>0,pr=e=>(e.n&qe)>0,Hi=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":N(e)?Gn(n)&&l.push(o.get("length")):(l.push(o.get(st)),ut(e)&&l.push(o.get(Ln)));break;case"delete":N(e)||(l.push(o.get(st)),ut(e)&&l.push(o.get(Ln)));break;case"set":ut(e)&&l.push(o.get(st));break}if(l.length===1)l[0]&&Nn(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Nn(es(c))}}function Nn(e,t){const n=N(e)?e:[...e];for(const s of n)s.computed&&xs(s);for(const s of n)s.computed||xs(s)}function xs(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Ui=zn("__proto__,__v_isRef,__isVue"),_r=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qn)),ji=ns(),Di=ns(!1,!0),Ki=ns(!0),Es=ki();function ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let i=0,o=this.length;i{e[t]=function(...n){wt();const s=Y(this)[t].apply(this,n);return Ct(),s}}),e}function Wi(e){const t=Y(this);return pe(t,"has",e),t.hasOwnProperty(e)}function ns(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?oo:xr:t?Cr:wr).get(s))return s;const o=N(s);if(!e){if(o&&V(Es,r))return Reflect.get(Es,r,i);if(r==="hasOwnProperty")return Wi}const l=Reflect.get(s,r,i);return(Qn(r)?_r.has(r):Ui(r))||(e||pe(s,"get",r),t)?l:fe(l)?o&&Gn(r)?l:l.value:ee(l)?e?Er(l):hn(l):l}}const qi=br(),Vi=br(!0);function br(e=!1){return function(n,s,r,i){let o=n[s];if(mt(o)&&fe(o)&&!fe(r))return!1;if(!e&&(!nn(r)&&!mt(r)&&(o=Y(o),r=Y(r)),!N(n)&&fe(o)&&!fe(r)))return o.value=r,!0;const l=N(n)&&Gn(s)?Number(s)e,dn=e=>Reflect.getPrototypeOf(e);function Kt(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),i=Y(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=dn(r),l=s?ss:n?os:Pt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function kt(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Wt(e,t=!1){return e=e.__v_raw,!t&&pe(Y(e),"iterate",st),Reflect.get(e,"size",e)}function Ts(e){e=Y(e);const t=Y(this);return dn(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function vs(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=dn(n);let i=s.call(n,e);i||(e=Y(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Ft(t,o)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function As(e){const t=Y(this),{has:n,get:s}=dn(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&$e(t,"delete",e,void 0),i}function Rs(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function qt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=Y(o),c=t?ss:e?os:Pt;return!e&&pe(l,"iterate",st),o.forEach((a,d)=>s.call(r,c(a),c(d),i))}}function Vt(e,t,n){return function(...s){const r=this.__v_raw,i=Y(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),d=n?ss:t?os:Pt;return!t&&pe(i,"iterate",c?Ln:st),{next(){const{value:p,done:y}=a.next();return y?{value:p,done:y}:{value:l?[d(p[0]),d(p[1])]:d(p),done:y}},[Symbol.iterator](){return this}}}}function Be(e){return function(...t){return e==="delete"?!1:this}}function Qi(){const e={get(i){return Kt(this,i)},get size(){return Wt(this)},has:kt,add:Ts,set:vs,delete:As,clear:Rs,forEach:qt(!1,!1)},t={get(i){return Kt(this,i,!1,!0)},get size(){return Wt(this)},has:kt,add:Ts,set:vs,delete:As,clear:Rs,forEach:qt(!1,!0)},n={get(i){return Kt(this,i,!0)},get size(){return Wt(this,!0)},has(i){return kt.call(this,i,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:qt(!0,!1)},s={get(i){return Kt(this,i,!0,!0)},get size(){return Wt(this,!0)},has(i){return kt.call(this,i,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Vt(i,!1,!1),n[i]=Vt(i,!0,!1),t[i]=Vt(i,!1,!0),s[i]=Vt(i,!0,!0)}),[e,n,t,s]}const[Gi,eo,to,no]=Qi();function rs(e,t){const n=t?e?no:to:e?eo:Gi;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(V(n,r)&&r in s?n:s,r,i)}const so={get:rs(!1,!1)},ro={get:rs(!1,!0)},io={get:rs(!0,!1)},wr=new WeakMap,Cr=new WeakMap,xr=new WeakMap,oo=new WeakMap;function lo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function co(e){return e.__v_skip||!Object.isExtensible(e)?0:lo(Oi(e))}function hn(e){return mt(e)?e:is(e,!1,yr,so,wr)}function fo(e){return is(e,!1,Zi,ro,Cr)}function Er(e){return is(e,!0,Xi,io,xr)}function is(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=co(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function at(e){return mt(e)?at(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function nn(e){return!!(e&&e.__v_isShallow)}function Tr(e){return at(e)||mt(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function At(e){return tn(e,"__v_skip",!0),e}const Pt=e=>ee(e)?hn(e):e,os=e=>ee(e)?Er(e):e;function vr(e){ke&&Ae&&(e=Y(e),mr(e.dep||(e.dep=es())))}function Ar(e,t){e=Y(e);const n=e.dep;n&&Nn(n)}function fe(e){return!!(e&&e.__v_isRef===!0)}function Rt(e){return Rr(e,!1)}function uo(e){return Rr(e,!0)}function Rr(e,t){return fe(e)?e:new ao(e,t)}class ao{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:Pt(t)}get value(){return vr(this),this._value}set value(t){const n=this.__v_isShallow||nn(t)||mt(t);t=n?t:Y(t),Ft(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Pt(t),Ar(this))}}function ho(e){return fe(e)?e.value:e}const po={get:(e,t,n)=>ho(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Or(e){return at(e)?e:new Proxy(e,po)}var Ir;class go{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Ir]=!1,this._dirty=!0,this.effect=new ts(t,()=>{this._dirty||(this._dirty=!0,Ar(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return vr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Ir="__v_isReadonly";function mo(e,t,n=!1){let s,r;const i=j(e);return i?(s=e,r=Oe):(s=e.get,r=e.set),new go(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){$t(i,t,n)}return r}function xe(e,t,n,s){if(j(e)){const i=We(e,t,n,s);return i&&ur(i)&&i.catch(o=>{$t(o,t,n)}),i}const r=[];for(let i=0;i>>1;St(ce[s])Me&&ce.splice(t,1)}function wo(e){N(e)?dt.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ge+1:Ge))&&dt.push(e),Mr()}function Os(e,t=Mt?Me+1:0){for(;tSt(n)-St(s)),Ge=0;Gee.id==null?1/0:e.id,Co=(e,t)=>{const n=St(e)-St(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Sr(e){$n=!1,Mt=!0,ce.sort(Co);const t=Oe;try{for(Me=0;Meie(T)?T.trim():T)),p&&(r=n.map(Pi))}let l,c=s[l=Zt(t)]||s[l=Zt(Se(t))];!c&&i&&(c=s[l=Zt(it(t))]),c&&xe(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(a,e,6,r)}}function Lr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!j(e)){const c=a=>{const d=Lr(a,t,!0);d&&(l=!0,le(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(N(i)?i.forEach(c=>o[c]=null):le(o,i),ee(e)&&s.set(e,o),o)}function gn(e,t){return!e||!Nt(t)?!1:(t=t.slice(2).replace(/Once$/,""),V(e,t[0].toLowerCase()+t.slice(1))||V(e,it(t))||V(e,t))}let ue=null,mn=null;function rn(e){const t=ue;return ue=e,mn=e&&e.type.__scopeId||null,t}function vc(e){mn=e}function Ac(){mn=null}function Eo(e,t=ue,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Bs(-1);const i=rn(t);let o;try{o=e(...r)}finally{rn(i),s._d&&Bs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function En(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:d,renderCache:p,data:y,setupState:T,ctx:R,inheritAttrs:I}=e;let B,g;const w=rn(e);try{if(n.shapeFlag&4){const H=r||s;B=ve(d.call(H,H,p,i,T,y,R)),g=c}else{const H=t;B=ve(H.length>1?H(i,{attrs:c,slots:l,emit:a}):H(i,null)),g=t.props?c:To(c)}}catch(H){It.length=0,$t(H,e,1),B=re(be)}let O=B;if(g&&I!==!1){const H=Object.keys(g),{shapeFlag:K}=O;H.length&&K&7&&(o&&H.some(Xn)&&(g=vo(g,o)),O=Ve(O,g))}return n.dirs&&(O=Ve(O),O.dirs=O.dirs?O.dirs.concat(n.dirs):n.dirs),n.transition&&(O.transition=n.transition),B=O,rn(w),B}const To=e=>{let t;for(const n in e)(n==="class"||n==="style"||Nt(n))&&((t||(t={}))[n]=e[n]);return t},vo=(e,t)=>{const n={};for(const s in e)(!Xn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ao(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Is(s,o,a):!!o;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Nr(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):wo(e)}function Io(e,t){if(se){let n=se.provides;const s=se.parent&&se.parent.provides;s===n&&(n=se.provides=Object.create(s)),n[e]=t}}function ht(e,t,n=!1){const s=se||ue;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&j(t)?t.call(s.proxy):t}}function Fo(e,t){return _n(e,null,t)}function Po(e,t){return _n(e,null,{flush:"post"})}const zt={};function Qt(e,t,n){return _n(e,t,n)}function _n(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=te){const l=$i()===(se==null?void 0:se.scope)?se:null;let c,a=!1,d=!1;if(fe(e)?(c=()=>e.value,a=nn(e)):at(e)?(c=()=>e,s=!0):N(e)?(d=!0,a=e.some(O=>at(O)||nn(O)),c=()=>e.map(O=>{if(fe(O))return O.value;if(at(O))return ct(O);if(j(O))return We(O,l,2)})):j(e)?t?c=()=>We(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return p&&p(),xe(e,l,3,[y])}:c=Oe,t&&s){const O=c;c=()=>ct(O())}let p,y=O=>{p=g.onStop=()=>{We(O,l,4)}},T;if(yt)if(y=Oe,t?n&&xe(t,l,3,[c(),d?[]:void 0,y]):c(),r==="sync"){const O=El();T=O.__watcherHandles||(O.__watcherHandles=[])}else return Oe;let R=d?new Array(e.length).fill(zt):zt;const I=()=>{if(g.active)if(t){const O=g.run();(s||a||(d?O.some((H,K)=>Ft(H,R[K])):Ft(O,R)))&&(p&&p(),xe(t,l,3,[O,R===zt?void 0:d&&R[0]===zt?[]:R,y]),R=O)}else g.run()};I.allowRecurse=!!t;let B;r==="sync"?B=I:r==="post"?B=()=>he(I,l&&l.suspense):(I.pre=!0,l&&(I.id=l.uid),B=()=>pn(I));const g=new ts(c,B);t?n?I():R=g.run():r==="post"?he(g.run.bind(g),l&&l.suspense):g.run();const w=()=>{g.stop(),l&&l.scope&&Zn(l.scope.effects,g)};return T&&T.push(w),w}function Mo(e,t,n){const s=this.proxy,r=ie(e)?e.includes(".")?$r(s,e):()=>s[e]:e.bind(s,s);let i;j(t)?i=t:(i=t.handler,n=t);const o=se;bt(this);const l=_n(r,i.bind(s),n);return o?bt(o):rt(),l}function $r(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{ct(n,t)});else if(dr(e))for(const n in e)ct(e[n],t);return e}function So(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Bt(()=>{e.isMounted=!0}),Dr(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Lo={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},setup(e,{slots:t}){const n=hs(),s=So();let r;return()=>{const i=t.default&&Ur(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const I of i)if(I.type!==be){o=I;break}}const l=Y(e),{mode:c}=l;if(s.isLeaving)return Tn(o);const a=Fs(o);if(!a)return Tn(o);const d=Hn(a,l,s,n);Bn(a,d);const p=n.subTree,y=p&&Fs(p);let T=!1;const{getTransitionKey:R}=a.type;if(R){const I=R();r===void 0?r=I:I!==r&&(r=I,T=!0)}if(y&&y.type!==be&&(!et(a,y)||T)){const I=Hn(y,l,s,n);if(Bn(y,I),c==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Tn(o);c==="in-out"&&a.type!==be&&(I.delayLeave=(B,g,w)=>{const O=Br(s,y);O[String(y.key)]=y,B._leaveCb=()=>{g(),B._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=w})}return o}}},Hr=Lo;function Br(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Hn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:y,onAfterLeave:T,onLeaveCancelled:R,onBeforeAppear:I,onAppear:B,onAfterAppear:g,onAppearCancelled:w}=t,O=String(e.key),H=Br(n,e),K=(A,D)=>{A&&xe(A,s,9,D)},Z=(A,D)=>{const U=D[1];K(A,D),N(A)?A.every(z=>z.length<=1)&&U():A.length<=1&&U()},q={mode:i,persisted:o,beforeEnter(A){let D=l;if(!n.isMounted)if(r)D=I||l;else return;A._leaveCb&&A._leaveCb(!0);const U=H[O];U&&et(e,U)&&U.el._leaveCb&&U.el._leaveCb(),K(D,[A])},enter(A){let D=c,U=a,z=d;if(!n.isMounted)if(r)D=B||c,U=g||a,z=w||d;else return;let F=!1;const k=A._enterCb=M=>{F||(F=!0,M?K(z,[A]):K(U,[A]),q.delayedLeave&&q.delayedLeave(),A._enterCb=void 0)};D?Z(D,[A,k]):k()},leave(A,D){const U=String(e.key);if(A._enterCb&&A._enterCb(!0),n.isUnmounting)return D();K(p,[A]);let z=!1;const F=A._leaveCb=k=>{z||(z=!0,D(),k?K(R,[A]):K(T,[A]),A._leaveCb=void 0,H[U]===e&&delete H[U])};H[U]=e,y?Z(y,[A,F]):F()},clone(A){return Hn(A,t,n,s)}};return q}function Tn(e){if(Ht(e))return e=Ve(e),e.children=null,e}function Fs(e){return Ht(e)?e.children?e.children[0]:void 0:e}function Bn(e,t){e.shapeFlag&6&&e.component?Bn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ur(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;function Rc(e){j(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,a,d=0;const p=()=>(d++,c=null,y()),y=()=>{let T;return c||(T=c=t().catch(R=>{if(R=R instanceof Error?R:new Error(String(R)),l)return new Promise((I,B)=>{l(R,()=>I(p()),()=>B(R),d+1)});throw R}).then(R=>T!==c&&c?c:(R&&(R.__esModule||R[Symbol.toStringTag]==="Module")&&(R=R.default),a=R,R)))};return cs({name:"AsyncComponentWrapper",__asyncLoader:y,get __asyncResolved(){return a},setup(){const T=se;if(a)return()=>vn(a,T);const R=w=>{c=null,$t(w,T,13,!s)};if(o&&T.suspense||yt)return y().then(w=>()=>vn(w,T)).catch(w=>(R(w),()=>s?re(s,{error:w}):null));const I=Rt(!1),B=Rt(),g=Rt(!!r);return r&&setTimeout(()=>{g.value=!1},r),i!=null&&setTimeout(()=>{if(!I.value&&!B.value){const w=new Error(`Async component timed out after ${i}ms.`);R(w),B.value=w}},i),y().then(()=>{I.value=!0,T.parent&&Ht(T.parent.vnode)&&pn(T.parent.update)}).catch(w=>{R(w),B.value=w}),()=>{if(I.value&&a)return vn(a,T);if(B.value&&s)return re(s,{error:B.value});if(n&&!g.value)return re(n)}}})}function vn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=re(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Ht=e=>e.type.__isKeepAlive;function No(e,t){jr(e,"a",t)}function $o(e,t){jr(e,"da",t)}function jr(e,t,n=se){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(bn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Ht(r.parent.vnode)&&Ho(s,t,n,r),r=r.parent}}function Ho(e,t,n,s){const r=bn(t,e,s,!0);Ut(()=>{Zn(s[t],r)},n)}function bn(e,t,n=se,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;wt(),bt(n);const l=xe(t,n,e,o);return rt(),Ct(),l});return s?r.unshift(i):r.push(i),i}}const He=e=>(t,n=se)=>(!yt||e==="sp")&&bn(e,(...s)=>t(...s),n),Bo=He("bm"),Bt=He("m"),Uo=He("bu"),jo=He("u"),Dr=He("bum"),Ut=He("um"),Do=He("sp"),Ko=He("rtg"),ko=He("rtc");function Wo(e,t=se){bn("ec",e,t)}function Pe(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lcn(t)?!(t.type===be||t.type===de&&!Wr(t.children)):!0)?e:null}function Mc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Zt(s)]=e[s];return n}const Un=e=>e?ii(e)?ps(e)||e.proxy:Un(e.parent):null,Ot=le(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=>Un(e.parent),$root:e=>Un(e.root),$emit:e=>e.emit,$options:e=>us(e),$forceUpdate:e=>e.f||(e.f=()=>pn(e.update)),$nextTick:e=>e.n||(e.n=Pr.bind(e.proxy)),$watch:e=>Mo.bind(e)}),An=(e,t)=>e!==te&&!e.__isScriptSetup&&V(e,t),qo={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const T=o[t];if(T!==void 0)switch(T){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(An(s,t))return o[t]=1,s[t];if(r!==te&&V(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&V(a,t))return o[t]=3,i[t];if(n!==te&&V(n,t))return o[t]=4,n[t];jn&&(o[t]=0)}}const d=Ot[t];let p,y;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==te&&V(n,t))return o[t]=4,n[t];if(y=c.config.globalProperties,V(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return An(r,t)?(r[t]=n,!0):s!==te&&V(s,t)?(s[t]=n,!0):V(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&V(e,o)||An(t,o)||(l=i[0])&&V(l,o)||V(s,o)||V(Ot,o)||V(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:V(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let jn=!0;function Vo(e){const t=us(e),n=e.proxy,s=e.ctx;jn=!1,t.beforeCreate&&Ms(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:d,beforeMount:p,mounted:y,beforeUpdate:T,updated:R,activated:I,deactivated:B,beforeDestroy:g,beforeUnmount:w,destroyed:O,unmounted:H,render:K,renderTracked:Z,renderTriggered:q,errorCaptured:A,serverPrefetch:D,expose:U,inheritAttrs:z,components:F,directives:k,filters:M}=t;if(a&&zo(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const ne in o){const Q=o[ne];j(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);ee(ne)&&(e.data=hn(ne))}if(jn=!0,i)for(const ne in i){const Q=i[ne],ze=j(Q)?Q.bind(n,n):j(Q.get)?Q.get.bind(n,n):Oe,jt=!j(Q)&&j(Q.set)?Q.set.bind(n):Oe,Ye=Te({get:ze,set:jt});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Ie=>Ye.value=Ie})}if(l)for(const ne in l)qr(l[ne],s,n,ne);if(c){const ne=j(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Q=>{Io(Q,ne[Q])})}d&&Ms(d,e,"c");function J(ne,Q){N(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(J(Bo,p),J(Bt,y),J(Uo,T),J(jo,R),J(No,I),J($o,B),J(Wo,A),J(ko,Z),J(Ko,q),J(Dr,w),J(Ut,H),J(Do,D),N(U))if(U.length){const ne=e.exposed||(e.exposed={});U.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});K&&e.render===Oe&&(e.render=K),z!=null&&(e.inheritAttrs=z),F&&(e.components=F),k&&(e.directives=k)}function zo(e,t,n=Oe,s=!1){N(e)&&(e=Dn(e));for(const r in e){const i=e[r];let o;ee(i)?"default"in i?o=ht(i.from||r,i.default,!0):o=ht(i.from||r):o=ht(i),fe(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ms(e,t,n){xe(N(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function qr(e,t,n,s){const r=s.includes(".")?$r(n,s):()=>n[s];if(ie(e)){const i=t[e];j(i)&&Qt(r,i)}else if(j(e))Qt(r,e.bind(n));else if(ee(e))if(N(e))e.forEach(i=>qr(i,t,n,s));else{const i=j(e.handler)?e.handler.bind(n):t[e.handler];j(i)&&Qt(r,i,e)}}function us(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>on(c,a,o,!0)),on(c,t,o)),ee(t)&&i.set(t,c),c}function on(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&on(e,i,n,!0),r&&r.forEach(o=>on(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Yo[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Yo={data:Ss,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Qe,directives:Qe,watch:Xo,provide:Ss,inject:Jo};function Ss(e,t){return t?e?function(){return le(j(e)?e.call(this,this):e,j(t)?t.call(this,this):t)}:t:e}function Jo(e,t){return Qe(Dn(e),Dn(t))}function Dn(e){if(N(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[y,T]=zr(p,t,!0);le(o,y),T&&l.push(...T)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return ee(e)&&s.set(e,ft),ft;if(N(i))for(let d=0;d-1,T[1]=I<0||R-1||V(T,"default"))&&l.push(p)}}}const a=[o,l];return ee(e)&&s.set(e,a),a}function Ls(e){return e[0]!=="$"}function Ns(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function $s(e,t){return Ns(e)===Ns(t)}function Hs(e,t){return N(t)?t.findIndex(n=>$s(n,e)):j(t)&&$s(t,e)?0:-1}const Yr=e=>e[0]==="_"||e==="$stable",as=e=>N(e)?e.map(ve):[ve(e)],Go=(e,t,n)=>{if(t._n)return t;const s=Eo((...r)=>as(t(...r)),n);return s._c=!1,s},Jr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Yr(r))continue;const i=e[r];if(j(i))t[r]=Go(r,i,s);else if(i!=null){const o=as(i);t[r]=()=>o}}},Xr=(e,t)=>{const n=as(t);e.slots.default=()=>n},el=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),tn(t,"_",n)):Jr(t,e.slots={})}else e.slots={},t&&Xr(e,t);tn(e.slots,yn,1)},tl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(le(r,t),!n&&l===1&&delete r._):(i=!t.$stable,Jr(t,r)),o=t}else t&&(Xr(e,t),o={default:1});if(i)for(const l in r)!Yr(l)&&!(l in o)&&delete r[l]};function Zr(){return{app:null,config:{isNativeTag:vi,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 nl=0;function sl(e,t){return function(s,r=null){j(s)||(s=Object.assign({},s)),r!=null&&!ee(r)&&(r=null);const i=Zr(),o=new Set;let l=!1;const c=i.app={_uid:nl++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Tl,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&j(a.install)?(o.add(a),a.install(c,...d)):j(a)&&(o.add(a),a(c,...d))),c},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),c},component(a,d){return d?(i.components[a]=d,c):i.components[a]},directive(a,d){return d?(i.directives[a]=d,c):i.directives[a]},mount(a,d,p){if(!l){const y=re(s,r);return y.appContext=i,d&&t?t(y,a):e(y,a,p),l=!0,c._container=a,a.__vue_app__=c,ps(y.component)||y.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(a,d){return i.provides[a]=d,c}};return c}}function ln(e,t,n,s,r=!1){if(N(e)){e.forEach((y,T)=>ln(y,t&&(N(t)?t[T]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?ps(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,d=l.refs===te?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(ie(a)?(d[a]=null,V(p,a)&&(p[a]=null)):fe(a)&&(a.value=null)),j(c))We(c,l,12,[o,d]);else{const y=ie(c),T=fe(c);if(y||T){const R=()=>{if(e.f){const I=y?V(p,c)?p[c]:d[c]:c.value;r?N(I)&&Zn(I,i):N(I)?I.includes(i)||I.push(i):y?(d[c]=[i],V(p,c)&&(p[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else y?(d[c]=o,V(p,c)&&(p[c]=o)):T&&(c.value=o,e.k&&(d[e.k]=o))};o?(R.id=-1,he(R,n)):R()}}}let Ue=!1;const Yt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Jt=e=>e.nodeType===8;function rl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,d=(g,w)=>{if(!w.hasChildNodes()){n(null,g,w),sn(),w._vnode=g;return}Ue=!1,p(w.firstChild,g,null,null,null),sn(),w._vnode=g,Ue&&console.error("Hydration completed but contains mismatches.")},p=(g,w,O,H,K,Z=!1)=>{const q=Jt(g)&&g.data==="[",A=()=>I(g,w,O,H,K,q),{type:D,ref:U,shapeFlag:z,patchFlag:F}=w;let k=g.nodeType;w.el=g,F===-2&&(Z=!1,w.dynamicChildren=null);let M=null;switch(D){case _t:k!==3?w.children===""?(c(w.el=r(""),o(g),g),M=g):M=A():(g.data!==w.children&&(Ue=!0,g.data=w.children),M=i(g));break;case be:k!==8||q?M=A():M=i(g);break;case gt:if(q&&(g=i(g),k=g.nodeType),k===1||k===3){M=g;const ge=!w.children.length;for(let J=0;J{Z=Z||!!w.dynamicChildren;const{type:q,props:A,patchFlag:D,shapeFlag:U,dirs:z}=w,F=q==="input"&&z||q==="option";if(F||D!==-1){if(z&&Pe(w,null,O,"created"),A)if(F||!Z||D&48)for(const M in A)(F&&M.endsWith("value")||Nt(M)&&!vt(M))&&s(g,M,null,A[M],!1,void 0,O);else A.onClick&&s(g,"onClick",null,A.onClick,!1,void 0,O);let k;if((k=A&&A.onVnodeBeforeMount)&&we(k,O,w),z&&Pe(w,null,O,"beforeMount"),((k=A&&A.onVnodeMounted)||z)&&Nr(()=>{k&&we(k,O,w),z&&Pe(w,null,O,"mounted")},H),U&16&&!(A&&(A.innerHTML||A.textContent))){let M=T(g.firstChild,w,g,O,H,K,Z);for(;M;){Ue=!0;const ge=M;M=M.nextSibling,l(ge)}}else U&8&&g.textContent!==w.children&&(Ue=!0,g.textContent=w.children)}return g.nextSibling},T=(g,w,O,H,K,Z,q)=>{q=q||!!w.dynamicChildren;const A=w.children,D=A.length;for(let U=0;U{const{slotScopeIds:q}=w;q&&(K=K?K.concat(q):q);const A=o(g),D=T(i(g),w,A,O,H,K,Z);return D&&Jt(D)&&D.data==="]"?i(w.anchor=D):(Ue=!0,c(w.anchor=a("]"),A,D),D)},I=(g,w,O,H,K,Z)=>{if(Ue=!0,w.el=null,Z){const D=B(g);for(;;){const U=i(g);if(U&&U!==D)l(U);else break}}const q=i(g),A=o(g);return l(g),n(null,w,A,q,O,H,Yt(A),K),q},B=g=>{let w=0;for(;g;)if(g=i(g),g&&Jt(g)&&(g.data==="["&&w++,g.data==="]")){if(w===0)return i(g);w--}return g};return[d,p]}const he=Nr;function il(e){return ol(e,rl)}function ol(e,t){const n=Si();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:d,parentNode:p,nextSibling:y,setScopeId:T=Oe,insertStaticContent:R}=e,I=(f,u,h,_=null,m=null,x=null,v=!1,C=null,E=!!u.dynamicChildren)=>{if(f===u)return;f&&!et(f,u)&&(_=Dt(f),Ie(f,m,x,!0),f=null),u.patchFlag===-2&&(E=!1,u.dynamicChildren=null);const{type:b,ref:S,shapeFlag:P}=u;switch(b){case _t:B(f,u,h,_);break;case be:g(f,u,h,_);break;case gt:f==null&&w(u,h,_,v);break;case de:F(f,u,h,_,m,x,v,C,E);break;default:P&1?K(f,u,h,_,m,x,v,C,E):P&6?k(f,u,h,_,m,x,v,C,E):(P&64||P&128)&&b.process(f,u,h,_,m,x,v,C,E,ot)}S!=null&&m&&ln(S,f&&f.ref,x,u||f,!u)},B=(f,u,h,_)=>{if(f==null)s(u.el=l(u.children),h,_);else{const m=u.el=f.el;u.children!==f.children&&a(m,u.children)}},g=(f,u,h,_)=>{f==null?s(u.el=c(u.children||""),h,_):u.el=f.el},w=(f,u,h,_)=>{[f.el,f.anchor]=R(f.children,u,h,_,f.el,f.anchor)},O=({el:f,anchor:u},h,_)=>{let m;for(;f&&f!==u;)m=y(f),s(f,h,_),f=m;s(u,h,_)},H=({el:f,anchor:u})=>{let h;for(;f&&f!==u;)h=y(f),r(f),f=h;r(u)},K=(f,u,h,_,m,x,v,C,E)=>{v=v||u.type==="svg",f==null?Z(u,h,_,m,x,v,C,E):D(f,u,m,x,v,C,E)},Z=(f,u,h,_,m,x,v,C)=>{let E,b;const{type:S,props:P,shapeFlag:L,transition:$,dirs:W}=f;if(E=f.el=o(f.type,x,P&&P.is,P),L&8?d(E,f.children):L&16&&A(f.children,E,null,_,m,x&&S!=="foreignObject",v,C),W&&Pe(f,null,_,"created"),q(E,f,f.scopeId,v,_),P){for(const X in P)X!=="value"&&!vt(X)&&i(E,X,null,P[X],x,f.children,_,m,Le);"value"in P&&i(E,"value",null,P.value),(b=P.onVnodeBeforeMount)&&we(b,_,f)}W&&Pe(f,null,_,"beforeMount");const G=(!m||m&&!m.pendingBranch)&&$&&!$.persisted;G&&$.beforeEnter(E),s(E,u,h),((b=P&&P.onVnodeMounted)||G||W)&&he(()=>{b&&we(b,_,f),G&&$.enter(E),W&&Pe(f,null,_,"mounted")},m)},q=(f,u,h,_,m)=>{if(h&&T(f,h),_)for(let x=0;x<_.length;x++)T(f,_[x]);if(m){let x=m.subTree;if(u===x){const v=m.vnode;q(f,v,v.scopeId,v.slotScopeIds,m.parent)}}},A=(f,u,h,_,m,x,v,C,E=0)=>{for(let b=E;b{const C=u.el=f.el;let{patchFlag:E,dynamicChildren:b,dirs:S}=u;E|=f.patchFlag&16;const P=f.props||te,L=u.props||te;let $;h&&Je(h,!1),($=L.onVnodeBeforeUpdate)&&we($,h,u,f),S&&Pe(u,f,h,"beforeUpdate"),h&&Je(h,!0);const W=m&&u.type!=="foreignObject";if(b?U(f.dynamicChildren,b,C,h,_,W,x):v||Q(f,u,C,null,h,_,W,x,!1),E>0){if(E&16)z(C,u,P,L,h,_,m);else if(E&2&&P.class!==L.class&&i(C,"class",null,L.class,m),E&4&&i(C,"style",P.style,L.style,m),E&8){const G=u.dynamicProps;for(let X=0;X{$&&we($,h,u,f),S&&Pe(u,f,h,"updated")},_)},U=(f,u,h,_,m,x,v)=>{for(let C=0;C{if(h!==_){if(h!==te)for(const C in h)!vt(C)&&!(C in _)&&i(f,C,h[C],null,v,u.children,m,x,Le);for(const C in _){if(vt(C))continue;const E=_[C],b=h[C];E!==b&&C!=="value"&&i(f,C,b,E,v,u.children,m,x,Le)}"value"in _&&i(f,"value",h.value,_.value)}},F=(f,u,h,_,m,x,v,C,E)=>{const b=u.el=f?f.el:l(""),S=u.anchor=f?f.anchor:l("");let{patchFlag:P,dynamicChildren:L,slotScopeIds:$}=u;$&&(C=C?C.concat($):$),f==null?(s(b,h,_),s(S,h,_),A(u.children,h,S,m,x,v,C,E)):P>0&&P&64&&L&&f.dynamicChildren?(U(f.dynamicChildren,L,h,m,x,v,C),(u.key!=null||m&&u===m.subTree)&&Qr(f,u,!0)):Q(f,u,h,S,m,x,v,C,E)},k=(f,u,h,_,m,x,v,C,E)=>{u.slotScopeIds=C,f==null?u.shapeFlag&512?m.ctx.activate(u,h,_,v,E):M(u,h,_,m,x,v,E):ge(f,u,E)},M=(f,u,h,_,m,x,v)=>{const C=f.component=gl(f,_,m);if(Ht(f)&&(C.ctx.renderer=ot),ml(C),C.asyncDep){if(m&&m.registerDep(C,J),!f.el){const E=C.subTree=re(be);g(null,E,u,h)}return}J(C,f,u,h,m,x,v)},ge=(f,u,h)=>{const _=u.component=f.component;if(Ao(f,u,h))if(_.asyncDep&&!_.asyncResolved){ne(_,u,h);return}else _.next=u,yo(_.update),_.update();else u.el=f.el,_.vnode=u},J=(f,u,h,_,m,x,v)=>{const C=()=>{if(f.isMounted){let{next:S,bu:P,u:L,parent:$,vnode:W}=f,G=S,X;Je(f,!1),S?(S.el=W.el,ne(f,S,v)):S=W,P&&xn(P),(X=S.props&&S.props.onVnodeBeforeUpdate)&&we(X,$,S,W),Je(f,!0);const oe=En(f),Ee=f.subTree;f.subTree=oe,I(Ee,oe,p(Ee.el),Dt(Ee),f,m,x),S.el=oe.el,G===null&&Ro(f,oe.el),L&&he(L,m),(X=S.props&&S.props.onVnodeUpdated)&&he(()=>we(X,$,S,W),m)}else{let S;const{el:P,props:L}=u,{bm:$,m:W,parent:G}=f,X=pt(u);if(Je(f,!1),$&&xn($),!X&&(S=L&&L.onVnodeBeforeMount)&&we(S,G,u),Je(f,!0),P&&Cn){const oe=()=>{f.subTree=En(f),Cn(P,f.subTree,f,m,null)};X?u.type.__asyncLoader().then(()=>!f.isUnmounted&&oe()):oe()}else{const oe=f.subTree=En(f);I(null,oe,h,_,f,m,x),u.el=oe.el}if(W&&he(W,m),!X&&(S=L&&L.onVnodeMounted)){const oe=u;he(()=>we(S,G,oe),m)}(u.shapeFlag&256||G&&pt(G.vnode)&&G.vnode.shapeFlag&256)&&f.a&&he(f.a,m),f.isMounted=!0,u=h=_=null}},E=f.effect=new ts(C,()=>pn(b),f.scope),b=f.update=()=>E.run();b.id=f.uid,Je(f,!0),b()},ne=(f,u,h)=>{u.component=f;const _=f.vnode.props;f.vnode=u,f.next=null,Qo(f,u.props,_,h),tl(f,u.children,h),wt(),Os(),Ct()},Q=(f,u,h,_,m,x,v,C,E=!1)=>{const b=f&&f.children,S=f?f.shapeFlag:0,P=u.children,{patchFlag:L,shapeFlag:$}=u;if(L>0){if(L&128){jt(b,P,h,_,m,x,v,C,E);return}else if(L&256){ze(b,P,h,_,m,x,v,C,E);return}}$&8?(S&16&&Le(b,m,x),P!==b&&d(h,P)):S&16?$&16?jt(b,P,h,_,m,x,v,C,E):Le(b,m,x,!0):(S&8&&d(h,""),$&16&&A(P,h,_,m,x,v,C,E))},ze=(f,u,h,_,m,x,v,C,E)=>{f=f||ft,u=u||ft;const b=f.length,S=u.length,P=Math.min(b,S);let L;for(L=0;LS?Le(f,m,x,!0,!1,P):A(u,h,_,m,x,v,C,E,P)},jt=(f,u,h,_,m,x,v,C,E)=>{let b=0;const S=u.length;let P=f.length-1,L=S-1;for(;b<=P&&b<=L;){const $=f[b],W=u[b]=E?Ke(u[b]):ve(u[b]);if(et($,W))I($,W,h,null,m,x,v,C,E);else break;b++}for(;b<=P&&b<=L;){const $=f[P],W=u[L]=E?Ke(u[L]):ve(u[L]);if(et($,W))I($,W,h,null,m,x,v,C,E);else break;P--,L--}if(b>P){if(b<=L){const $=L+1,W=$L)for(;b<=P;)Ie(f[b],m,x,!0),b++;else{const $=b,W=b,G=new Map;for(b=W;b<=L;b++){const me=u[b]=E?Ke(u[b]):ve(u[b]);me.key!=null&&G.set(me.key,b)}let X,oe=0;const Ee=L-W+1;let lt=!1,_s=0;const xt=new Array(Ee);for(b=0;b=Ee){Ie(me,m,x,!0);continue}let Fe;if(me.key!=null)Fe=G.get(me.key);else for(X=W;X<=L;X++)if(xt[X-W]===0&&et(me,u[X])){Fe=X;break}Fe===void 0?Ie(me,m,x,!0):(xt[Fe-W]=b+1,Fe>=_s?_s=Fe:lt=!0,I(me,u[Fe],h,null,m,x,v,C,E),oe++)}const bs=lt?ll(xt):ft;for(X=bs.length-1,b=Ee-1;b>=0;b--){const me=W+b,Fe=u[me],ys=me+1{const{el:x,type:v,transition:C,children:E,shapeFlag:b}=f;if(b&6){Ye(f.component.subTree,u,h,_);return}if(b&128){f.suspense.move(u,h,_);return}if(b&64){v.move(f,u,h,ot);return}if(v===de){s(x,u,h);for(let P=0;PC.enter(x),m);else{const{leave:P,delayLeave:L,afterLeave:$}=C,W=()=>s(x,u,h),G=()=>{P(x,()=>{W(),$&&$()})};L?L(x,W,G):G()}else s(x,u,h)},Ie=(f,u,h,_=!1,m=!1)=>{const{type:x,props:v,ref:C,children:E,dynamicChildren:b,shapeFlag:S,patchFlag:P,dirs:L}=f;if(C!=null&&ln(C,null,h,f,!0),S&256){u.ctx.deactivate(f);return}const $=S&1&&L,W=!pt(f);let G;if(W&&(G=v&&v.onVnodeBeforeUnmount)&&we(G,u,f),S&6)bi(f.component,h,_);else{if(S&128){f.suspense.unmount(h,_);return}$&&Pe(f,null,u,"beforeUnmount"),S&64?f.type.remove(f,u,h,m,ot,_):b&&(x!==de||P>0&&P&64)?Le(b,u,h,!1,!0):(x===de&&P&384||!m&&S&16)&&Le(E,u,h),_&&gs(f)}(W&&(G=v&&v.onVnodeUnmounted)||$)&&he(()=>{G&&we(G,u,f),$&&Pe(f,null,u,"unmounted")},h)},gs=f=>{const{type:u,el:h,anchor:_,transition:m}=f;if(u===de){_i(h,_);return}if(u===gt){H(f);return}const x=()=>{r(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(f.shapeFlag&1&&m&&!m.persisted){const{leave:v,delayLeave:C}=m,E=()=>v(h,x);C?C(f.el,x,E):E()}else x()},_i=(f,u)=>{let h;for(;f!==u;)h=y(f),r(f),f=h;r(u)},bi=(f,u,h)=>{const{bum:_,scope:m,update:x,subTree:v,um:C}=f;_&&xn(_),m.stop(),x&&(x.active=!1,Ie(v,f,u,h)),C&&he(C,u),he(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(f,u,h,_=!1,m=!1,x=0)=>{for(let v=x;vf.shapeFlag&6?Dt(f.component.subTree):f.shapeFlag&128?f.suspense.next():y(f.anchor||f.el),ms=(f,u,h)=>{f==null?u._vnode&&Ie(u._vnode,null,null,!0):I(u._vnode||null,f,u,null,null,null,h),Os(),sn(),u._vnode=f},ot={p:I,um:Ie,m:Ye,r:gs,mt:M,mc:A,pc:Q,pbc:U,n:Dt,o:e};let wn,Cn;return t&&([wn,Cn]=t(ot)),{render:ms,hydrate:wn,createApp:sl(ms,wn)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Qr(e,t,n=!1){const s=e.children,r=t.children;if(N(s)&&N(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const cl=e=>e.__isTeleport,de=Symbol(void 0),_t=Symbol(void 0),be=Symbol(void 0),gt=Symbol(void 0),It=[];let Re=null;function Gr(e=!1){It.push(Re=e?null:[])}function fl(){It.pop(),Re=It[It.length-1]||null}let Lt=1;function Bs(e){Lt+=e}function ei(e){return e.dynamicChildren=Lt>0?Re||ft:null,fl(),Lt>0&&Re&&Re.push(e),e}function Sc(e,t,n,s,r,i){return ei(si(e,t,n,s,r,i,!0))}function ti(e,t,n,s,r){return ei(re(e,t,n,s,r,!0))}function cn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const yn="__vInternal",ni=({key:e})=>e??null,Gt=({ref:e,ref_key:t,ref_for:n})=>e!=null?ie(e)||fe(e)||j(e)?{i:ue,r:e,k:t,f:!!n}:e:null;function si(e,t=null,n=null,s=0,r=null,i=e===de?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Gt(t),scopeId:mn,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:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ue};return l?(ds(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ie(n)?8:16),Lt>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const re=ul;function ul(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Kr)&&(e=be),cn(e)){const l=Ve(e,t,!0);return n&&ds(l,n),Lt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(wl(e)&&(e=e.__vccOpts),t){t=al(t);let{class:l,style:c}=t;l&&!ie(l)&&(t.class=Jn(l)),ee(c)&&(Tr(c)&&!N(c)&&(c=le({},c)),t.style=Yn(c))}const o=ie(e)?1:Oo(e)?128:cl(e)?64:ee(e)?4:j(e)?2:0;return si(e,t,n,s,r,o,i,!0)}function al(e){return e?Tr(e)||yn in e?le({},e):e:null}function Ve(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?dl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&ni(l),ref:t&&t.ref?n&&r?N(r)?r.concat(Gt(t)):[r,Gt(t)]:Gt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ve(e.ssContent),ssFallback:e.ssFallback&&Ve(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ri(e=" ",t=0){return re(_t,null,e,t)}function Lc(e,t){const n=re(gt,null,e);return n.staticCount=t,n}function Nc(e="",t=!1){return t?(Gr(),ti(be,null,e)):re(be,null,e)}function ve(e){return e==null||typeof e=="boolean"?re(be):N(e)?re(de,null,e.slice()):typeof e=="object"?Ke(e):re(_t,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ve(e)}function ds(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(N(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ds(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(yn in t)?t._ctx=ue:r===3&&ue&&(ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else j(t)?(t={default:t,_ctx:ue},n=32):(t=String(t),s&64?(n=16,t=[ri(t)]):n=8);e.children=t,e.shapeFlag|=n}function dl(...e){const t={};for(let n=0;nse||ue,bt=e=>{se=e,e.scope.on()},rt=()=>{se&&se.scope.off(),se=null};function ii(e){return e.vnode.shapeFlag&4}let yt=!1;function ml(e,t=!1){yt=t;const{props:n,children:s}=e.vnode,r=ii(e);Zo(e,n,r,t),el(e,s);const i=r?_l(e,t):void 0;return yt=!1,i}function _l(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=At(new Proxy(e.ctx,qo));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?li(e):null;bt(e),wt();const i=We(s,e,0,[e.props,r]);if(Ct(),rt(),ur(i)){if(i.then(rt,rt),t)return i.then(o=>{Us(e,o,t)}).catch(o=>{$t(o,e,0)});e.asyncDep=i}else Us(e,i,t)}else oi(e,t)}function Us(e,t,n){j(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Or(t)),oi(e,n)}let js;function oi(e,t,n){const s=e.type;if(!e.render){if(!t&&js&&!s.render){const r=s.template||us(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=le(le({isCustomElement:i,delimiters:l},o),c);s.render=js(r,a)}}e.render=s.render||Oe}bt(e),wt(),Vo(e),Ct(),rt()}function bl(e){return new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}})}function li(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=bl(e))},slots:e.slots,emit:e.emit,expose:t}}function ps(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Or(At(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ot)return Ot[n](e)},has(t,n){return n in t||n in Ot}}))}function yl(e,t=!0){return j(e)?e.displayName||e.name:e.name||t&&e.__name}function wl(e){return j(e)&&"__vccOpts"in e}const Te=(e,t)=>mo(e,t,yt);function $c(){return Cl().slots}function Cl(){const e=hs();return e.setupContext||(e.setupContext=li(e))}function kn(e,t,n){const s=arguments.length;return s===2?ee(t)&&!N(t)?cn(t)?re(e,null,[t]):re(e,t):re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&cn(n)&&(n=[n]),re(e,t,n))}const xl=Symbol(""),El=()=>ht(xl),Tl="3.2.47",vl="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,Ds=tt&&tt.createElement("template"),Al={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?tt.createElementNS(vl,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Ds.innerHTML=s?`${e}`:e;const l=Ds.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Rl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Ol(e,t,n){const s=e.style,r=ie(n);if(n&&!r){if(t&&!ie(t))for(const i in t)n[i]==null&&Wn(s,i,"");for(const i in n)Wn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const Ks=/\s*!important$/;function Wn(e,t,n){if(N(n))n.forEach(s=>Wn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Il(e,t);Ks.test(n)?e.setProperty(it(s),n.replace(Ks,""),"important"):e[s]=n}}const ks=["Webkit","Moz","ms"],Rn={};function Il(e,t){const n=Rn[t];if(n)return n;let s=Se(t);if(s!=="filter"&&s in e)return Rn[t]=s;s=an(s);for(let r=0;rOn||($l.then(()=>On=0),On=Date.now());function Bl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(Ul(s,n.value),t,5,[s])};return n.value=e,n.attached=Hl(),n}function Ul(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Vs=/^on[a-z]/,jl=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?Rl(e,s,r):t==="style"?Ol(e,n,s):Nt(t)?Xn(t)||Ll(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Dl(e,t,s,r))?Pl(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Fl(e,t,s,r))};function Dl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Vs.test(t)&&j(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Vs.test(t)&&ie(n)?!1:t in e}function Hc(e){const t=hs();if(!t)return;const n=t.ut=(r=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i=>Vn(i,r))},s=()=>{const r=e(t.proxy);qn(t.subTree,r),n(r)};Po(s),Bt(()=>{const r=new MutationObserver(s);r.observe(t.subTree.el.parentNode,{childList:!0}),Ut(()=>r.disconnect())})}function qn(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{qn(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Vn(e.el,t);else if(e.type===de)e.children.forEach(n=>qn(n,t));else if(e.type===gt){let{el:n,anchor:s}=e;for(;n&&(Vn(n,t),n!==s);)n=n.nextSibling}}function Vn(e,t){if(e.nodeType===1){const n=e.style;for(const s in t)n.setProperty(`--${s}`,t[s])}}const je="transition",Et="animation",ci=(e,{slots:t})=>kn(Hr,Kl(e),t);ci.displayName="Transition";const fi={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};ci.props=le({},Hr.props,fi);const Xe=(e,t=[])=>{N(e)?e.forEach(n=>n(...t)):e&&e(...t)},zs=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function Kl(e){const t={};for(const F in e)F in fi||(t[F]=e[F]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:T=`${n}-leave-to`}=e,R=kl(r),I=R&&R[0],B=R&&R[1],{onBeforeEnter:g,onEnter:w,onEnterCancelled:O,onLeave:H,onLeaveCancelled:K,onBeforeAppear:Z=g,onAppear:q=w,onAppearCancelled:A=O}=t,D=(F,k,M)=>{Ze(F,k?d:l),Ze(F,k?a:o),M&&M()},U=(F,k)=>{F._isLeaving=!1,Ze(F,p),Ze(F,T),Ze(F,y),k&&k()},z=F=>(k,M)=>{const ge=F?q:w,J=()=>D(k,F,M);Xe(ge,[k,J]),Ys(()=>{Ze(k,F?c:i),De(k,F?d:l),zs(ge)||Js(k,s,I,J)})};return le(t,{onBeforeEnter(F){Xe(g,[F]),De(F,i),De(F,o)},onBeforeAppear(F){Xe(Z,[F]),De(F,c),De(F,a)},onEnter:z(!1),onAppear:z(!0),onLeave(F,k){F._isLeaving=!0;const M=()=>U(F,k);De(F,p),Vl(),De(F,y),Ys(()=>{F._isLeaving&&(Ze(F,p),De(F,T),zs(H)||Js(F,s,B,M))}),Xe(H,[F,M])},onEnterCancelled(F){D(F,!1),Xe(O,[F])},onAppearCancelled(F){D(F,!0),Xe(A,[F])},onLeaveCancelled(F){U(F),Xe(K,[F])}})}function kl(e){if(e==null)return null;if(ee(e))return[In(e.enter),In(e.leave)];{const t=In(e);return[t,t]}}function In(e){return Mi(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ys(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Wl=0;function Js(e,t,n,s){const r=e._endId=++Wl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=ql(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,y),i()},y=T=>{T.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[R]||"").split(", "),r=s(`${je}Delay`),i=s(`${je}Duration`),o=Xs(r,i),l=s(`${Et}Delay`),c=s(`${Et}Duration`),a=Xs(l,c);let d=null,p=0,y=0;t===je?o>0&&(d=je,p=o,y=i.length):t===Et?a>0&&(d=Et,p=a,y=c.length):(p=Math.max(o,a),d=p>0?o>a?je:Et:null,y=d?d===je?i.length:c.length:0);const T=d===je&&/\b(transform|all)(,|$)/.test(s(`${je}Property`).toString());return{type:d,timeout:p,propCount:y,hasTransform:T}}function Xs(e,t){for(;e.lengthZs(n)+Zs(e[s])))}function Zs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Vl(){return document.body.offsetHeight}const zl=["ctrl","shift","alt","meta"],Yl={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,t)=>zl.some(n=>e[`${n}Key`]&&!t.includes(n))},Bc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=it(n.key);if(t.some(r=>r===s||Jl[r]===s))return e(n)},Xl=le({patchProp:jl},Al);let Fn,Qs=!1;function Zl(){return Fn=Qs?Fn:il(Xl),Qs=!0,Fn}const jc=(...e)=>{const t=Zl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ql(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Ql(e){return ie(e)?document.querySelector(e):e}const Dc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Gl="modulepreload",ec=function(e){return"/ua-parser-js/docs/v2/"+e},Gs={},Kc=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=ec(i),i in Gs)return;Gs[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":Gl,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},tc=window.__VP_SITE_DATA__,ui=/^[a-z]+:/i,kc=/^pathname:\/\//,Wc="vitepress-theme-appearance",ai=/#.*$/,nc=/(index)?\.(md|html)$/,Ce=typeof document<"u",di={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function sc(e,t,n=!1){if(t===void 0)return!1;if(e=er(`/${e}`),n)return new RegExp(t).test(e);if(er(t)!==e)return!1;const s=t.match(ai);return s?(Ce?location.hash:"")===s[0]:!0}function er(e){return decodeURI(e).replace(ai,"").replace(nc,"")}function rc(e){return ui.test(e)}function ic(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!rc(d)&&sc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:pi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function hi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=oc(e.title,s);return`${n}${r}`}function oc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function lc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function pi(e,t){return[...e.filter(n=>!lc(t,n)),...t]}const cc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,fc=/^[a-z]:/i;function tr(e){const t=fc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(cc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const uc=Symbol(),nt=uo(tc);function qc(e){const t=Te(()=>ic(nt.value,e.data.relativePath));return{site:t,theme:Te(()=>t.value.themeConfig),page:Te(()=>e.data),frontmatter:Te(()=>e.data.frontmatter),params:Te(()=>e.data.params),lang:Te(()=>t.value.lang),dir:Te(()=>t.value.dir),localeIndex:Te(()=>t.value.localeIndex||"root"),title:Te(()=>hi(t.value,e.data)),description:Te(()=>e.data.description||t.value.description),isDark:Rt(!1)}}function Vc(){const e=ht(uc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function ac(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function nr(e){return ui.test(e)||e.startsWith(".")?e:ac(nt.value.base,e)}function dc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/ua-parser-js/docs/v2/";t=tr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${tr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let en=[];function zc(e){en.push(e),Ut(()=>{en=en.filter(t=>t!==e)})}const hc=Symbol(),sr="http://a.com",pc=()=>({path:"/",component:null,data:di});function Yc(e,t){const n=hn(pc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,d;await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l));const c=new URL(l,sr);nt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),Ce&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,a=!1){const d=new URL(l,sr),p=i=d.pathname;try{let y=await e(p);if(i===p){i=null;const{default:T,__pageData:R}=y;if(!T)throw new Error(`Invalid route component: ${T}`);n.path=Ce?p:nr(p),n.component=At(T),n.data=At(R),Ce&&Pr(()=>{let I=nt.value.base+R.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!nt.value.cleanUrls&&!I.endsWith("/")&&(I+=".html"),I!==d.pathname&&(d.pathname=I,l=I+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let B=null;try{B=document.querySelector(decodeURIComponent(d.hash))}catch(g){console.warn(g)}if(B){rr(B,d.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const T=await fetch(nt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await T.json(),await o(l,c,!0);return}catch{}i===p&&(i=null,n.path=Ce?p:nr(p),n.component=t?At(t):null,n.data=di)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:y,pathname:T,hash:R,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),B=window.location,g=T.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&y===B.origin&&!(g&&g[0]!==".html")&&(l.preventDefault(),T===B.pathname&&I===B.search?R&&R!==B.hash&&(history.pushState(null,"",R),window.dispatchEvent(new Event("hashchange")),rr(a,R,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function gc(){const e=ht(hc);if(!e)throw new Error("useRouter() is called without provider.");return e}function gi(){return gc().route}function rr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){const r=nt.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=ir(r);else if(Array.isArray(r))for(const c of r){const a=ir(c);if(a){i=a;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})}}function ir(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const or=()=>en.forEach(e=>e()),Jc=cs({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=gi();return()=>kn(e.as,{style:{position:"relative"}},[t.component?kn(t.component,{onVnodeMounted:or,onVnodeUpdated:or}):"404 Page Not Found"])}});function Xc(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=mc(o);document.head.appendChild(l),n.push(l)})};Fo(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=hi(o,i),document.querySelector("meta[name=description]").setAttribute("content",l||o.description),r(pi(o.head,bc(c)))})}function mc([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function _c(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function bc(e){return e.filter(t=>!_c(t))}const Pn=new Set,mi=()=>document.createElement("link"),yc=e=>{const t=mi();t.rel="prefetch",t.href=e,document.head.appendChild(t)},wc=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Xt;const Cc=Ce&&(Xt=mi())&&Xt.relList&&Xt.relList.supports&&Xt.relList.supports("prefetch")?yc:wc;function Zc(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Pn.has(c)){Pn.add(c);const a=dc(c);Cc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{target:o}=i,{hostname:l,pathname:c}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=c.match(/\.\w+$/);a&&a[0]!==".html"||o!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(i):Pn.add(c))})})};Bt(s);const r=gi();Qt(()=>r.path,s),Ut(()=>{n&&n.disconnect()})}const Qc=cs({setup(e,{slots:t}){const n=Rt(!1);return Bt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Gc(){if(Ce){const e=new Map;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` +`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),xc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function xc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function ef(){Ce&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement,i=Array.from((r==null?void 0:r.querySelectorAll("input"))||[]).indexOf(t),o=r==null?void 0:r.querySelector('div[class*="language-"].active'),l=(s=r==null?void 0:r.querySelectorAll('div[class*="language-"]:not(.language-id)'))==null?void 0:s[i];o&&l&&o!==l&&(o.classList.remove("active"),l.classList.add("active"))}})}export{Bc as $,Nc as A,dl as B,re as C,Oc as D,Hc as E,de as F,Ic as G,ui as H,Ce as I,Er as J,Fc as K,vc as L,Ac as M,Lc as N,Wc as O,kc as P,ht as Q,Io as R,jo as S,ci as T,zc as U,uo as V,Yn as W,Uc as X,Mc as Y,Po as Z,Dc as _,ri as a,Rc as a0,Kc as a1,$c as a2,Xc as a3,Zc as a4,Gc as a5,ef as a6,kn as a7,hc as a8,qc as a9,uc as aa,Jc as ab,Qc as ac,nt as ad,jc as ae,Yc as af,dc as ag,ho as b,Sc as c,cs as d,Te as e,Rt as f,hs as g,Bt as h,Pr as i,$i as j,Tc as k,Fo as l,rc as m,Jn as n,Gr as o,nr as p,sc as q,Pc as r,gi as s,Ec as t,Vc as u,Ut as v,Qt as w,si as x,ti as y,Eo as z}; diff --git a/docs/v2/.vitepress/dist/assets/chunks/theme.683fbe81.js b/docs/v2/.vitepress/dist/assets/chunks/theme.683fbe81.js new file mode 100644 index 0000000..74dd95d --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/chunks/theme.683fbe81.js @@ -0,0 +1,7 @@ +import{d as g,o as a,c as i,r as u,n as M,a as C,t as w,_ as p,u as tt,b as c,e as y,f as x,g as nt,h as G,i as ze,j as st,k as ot,w as q,l as Y,m as at,P as ct,p as ve,q as K,s as Z,v as ce,x as r,F as I,y as b,z as v,T as he,A as m,B as te,C as f,D as R,E as lt,G as U,H as De,I as it,J as rt,K as B,L as E,M as H,N as ut,O as Ie,Q as fe,R as ne,S as dt,U as X,V as pe,W as _t,X as vt,Y as ht,Z as ft,$ as pt,a0 as mt,a1 as gt,a2 as bt}from"./framework.eb892692.js";const yt=g({__name:"VPBadge",props:{text:null,type:null},setup(e){return(t,n)=>(a(),i("span",{class:M(["VPBadge",e.type??"tip"])},[u(t.$slots,"default",{},()=>[C(w(e.text),1)],!0)],2))}});const kt=p(yt,[["__scopeId","data-v-2624088a"]]),V=tt;var Ce;const Fe=typeof window<"u",$t=e=>typeof e=="string",Pt=()=>{};Fe&&((Ce=window==null?void 0:window.navigator)!=null&&Ce.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Ge(e){return typeof e=="function"?e():c(e)}function wt(e){return e}function Re(e){return st()?(ot(e),!0):!1}function Vt(e){return typeof e=="function"?y(e):x(e)}function xt(e,t=!0){nt()?G(e):t?e():ze(e)}function St(e){var t;const n=Ge(e);return(t=n==null?void 0:n.$el)!=null?t:n}const me=Fe?window:void 0;function Lt(...e){let t,n,s,o;if($t(e[0])||Array.isArray(e[0])?([n,s,o]=e,t=me):[t,n,s,o]=e,!t)return Pt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const l=[],d=()=>{l.forEach($=>$()),l.length=0},h=($,L,P,S)=>($.addEventListener(L,P,S),()=>$.removeEventListener(L,P,S)),_=q(()=>[St(t),Ge(o)],([$,L])=>{d(),$&&l.push(...n.flatMap(P=>s.map(S=>h($,P,S,L))))},{immediate:!0,flush:"post"}),k=()=>{_(),d()};return Re(k),k}function Mt(e,t=!1){const n=x(),s=()=>n.value=!!e();return s(),xt(s,t),n}function ue(e,t={}){const{window:n=me}=t,s=Mt(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=x(!1),d=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",h):o.removeListener(h))},h=()=>{s.value&&(d(),o=n.matchMedia(Vt(e).value),l.value=o.matches,"addEventListener"in o?o.addEventListener("change",h):o.addListener(h))};return Y(h),Re(()=>d()),l}const Te=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Be="__vueuse_ssr_handlers__";Te[Be]=Te[Be]||{};var Ne;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Ne||(Ne={}));var It=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Ct=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Ee=(e,t,n)=>t in e?It(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bt=(e,t)=>{for(var n in t||(t={}))Ct.call(t,n)&&Ee(e,n,t[n]);if(Ae)for(var n of Ae(t))Tt.call(t,n)&&Ee(e,n,t[n]);return e};const Nt={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};Bt({linear:wt},Nt);function At({window:e=me}={}){if(!e)return{x:x(0),y:x(0)};const t=x(e.scrollX),n=x(e.scrollY);return Lt(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}function Et(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function de(e){return/^\//.test(e)?e:`/${e}`}function J(e){if(at(e))return e.replace(ct,"");const{site:t}=V(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),l=n.endsWith("/")||n.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,t.value.cleanUrls?"":".html")}${s}${o}`);return ve(l)}function Ue(e,t){if(Array.isArray(e))return e;if(e==null)return[];t=de(t);const n=Object.keys(e).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>t.startsWith(de(s)));return n?e[n]:[]}function Ht(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function Ot(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link}),o.items&&n(o.items)}return n(e),t}function _e(e,t){return Array.isArray(t)?t.some(n=>_e(e,n)):K(e,t.link)?!0:t.items?_e(e,t.items):!1}function O(){const e=Z(),{theme:t,frontmatter:n}=V(),s=ue("(min-width: 960px)"),o=x(!1),l=y(()=>{const T=t.value.sidebar,N=e.data.relativePath;return T?Ue(T,N):[]}),d=y(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),h=y(()=>_?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),_=y(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),k=y(()=>d.value&&s.value),$=y(()=>d.value?Ht(l.value):[]);function L(){o.value=!0}function P(){o.value=!1}function S(){o.value?P():L()}return{isOpen:o,sidebar:l,sidebarGroups:$,hasSidebar:d,hasAside:_,leftAside:h,isSidebarEnabled:k,open:L,close:P,toggle:S}}function zt(e,t){let n;Y(()=>{n=e.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",s)}),ce(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Dt(e){const{page:t}=V(),n=x(!1),s=y(()=>e.value.collapsed!=null),o=y(()=>!!e.value.link),l=y(()=>K(t.value.relativePath,e.value.link)),d=y(()=>l.value?!0:e.value.items?_e(t.value.relativePath,e.value.items):!1),h=y(()=>!!(e.value.items&&e.value.items.length));Y(()=>{n.value=!!(s.value&&e.value.collapsed)}),Y(()=>{(l.value||d.value)&&(n.value=!1)});function _(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:o,isActiveLink:l,hasActiveLink:d,hasChildren:h,toggle:_}}const Ft=g({__name:"VPSkipLink",setup(e){const t=Z(),n=x();q(()=>t.path,()=>n.value.focus());function s({target:o}){const l=document.querySelector(decodeURIComponent(o.hash));if(l){const d=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",d)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",d),l.focus(),window.scrollTo(0,0)}}return(o,l)=>(a(),i(I,null,[r("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),r("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const Gt=p(Ft,[["__scopeId","data-v-b1e5adb7"]]),Rt={key:0,class:"VPBackdrop"},Ut=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(a(),b(he,{name:"fade"},{default:v(()=>[e.show?(a(),i("div",Rt)):m("",!0)]),_:1}))}});const jt=p(Ut,[["__scopeId","data-v-b06cdb19"]]);function qt(){const e=x(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const l=Z();return q(()=>l.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}function ee({removeCurrent:e=!0,correspondingLink:t=!1}={}){const{site:n,localeIndex:s,page:o,theme:l}=V(),d=y(()=>{var _,k;return{label:(_=n.value.locales[s.value])==null?void 0:_.label,link:((k=n.value.locales[s.value])==null?void 0:k.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:y(()=>Object.entries(n.value.locales).flatMap(([_,k])=>e&&d.value.label===k.label?[]:{text:k.label,link:Kt(k.link||(_==="root"?"/":`/${_}/`),l.value.i18nRouting!==!1&&t,o.value.relativePath.slice(d.value.link.length-1),!n.value.cleanUrls)})),currentLang:d}}function Kt(e,t,n,s){return t?e.replace(/\/$/,"")+de(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const Wt=["src","alt"],Qt={inheritAttrs:!1},Yt=g({...Qt,__name:"VPImage",props:{image:null,alt:null},setup(e){return(t,n)=>{const s=R("VPImage",!0);return e.image?(a(),i(I,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",te({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:c(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Wt)):(a(),i(I,{key:1},[f(s,te({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),f(s,te({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}});const ge=p(Yt,[["__scopeId","data-v-5666d3c1"]]),Xt=["href"],Jt=g({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=V(),{hasSidebar:s}=O(),{currentLang:o}=ee();return(l,d)=>(a(),i("div",{class:M(["VPNavBarTitle",{"has-sidebar":c(s)}])},[r("a",{class:"title",href:c(J)(c(o).link)},[u(l.$slots,"nav-bar-title-before",{},void 0,!0),c(n).logo?(a(),b(ge,{key:0,class:"logo",image:c(n).logo},null,8,["image"])):m("",!0),c(n).siteTitle?(a(),i(I,{key:1},[C(w(c(n).siteTitle),1)],64)):c(n).siteTitle===void 0?(a(),i(I,{key:2},[C(w(c(t).title),1)],64)):m("",!0),u(l.$slots,"nav-bar-title-after",{},void 0,!0)],8,Xt)],2))}});const Zt=p(Jt,[["__scopeId","data-v-4b4b99f1"]]);const en={key:0,class:"VPNavBarSearch"},tn={key:1,id:"docsearch"},nn={class:"DocSearch-Button-Container"},sn=r("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[r("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),on={class:"DocSearch-Button-Placeholder"},an=r("span",{class:"DocSearch-Button-Keys"},[r("kbd",{class:"DocSearch-Button-Key"}),r("kbd",{class:"DocSearch-Button-Key"},"K")],-1),cn=g({__name:"VPNavBarSearch",setup(e){lt($=>({e33de7f2:l.value}));const t=()=>null,{theme:n,localeIndex:s}=V(),o=x(!1),l=x("'Meta'"),d=y(()=>{var $,L,P,S,T,N,A,z;return((T=(S=(P=(L=($=n.value.algolia)==null?void 0:$.locales)==null?void 0:L[s.value])==null?void 0:P.translations)==null?void 0:S.button)==null?void 0:T.buttonText)||((z=(A=(N=n.value.algolia)==null?void 0:N.translations)==null?void 0:A.button)==null?void 0:z.buttonText)||"Search"}),h=()=>{const $="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{const P=document.createElement("link");P.id=$,P.rel="preconnect",P.href=`https://${n.value.algolia.appId}-dsn.algolia.net`,P.crossOrigin="",document.head.appendChild(P)})};G(()=>{if(!n.value.algolia)return;h(),l.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'";const $=P=>{P.key==="k"&&(P.ctrlKey||P.metaKey)&&(P.preventDefault(),_(),L())},L=()=>{window.removeEventListener("keydown",$)};window.addEventListener("keydown",$),ce(L)});function _(){o.value||(o.value=!0,setTimeout(k,16))}function k(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||k()},16)}return($,L)=>c(n).algolia?(a(),i("div",en,[o.value?(a(),b(c(t),{key:0,algolia:c(n).algolia},null,8,["algolia"])):(a(),i("div",tn,[r("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search",onClick:_},[r("span",nn,[sn,r("span",on,w(c(d)),1)]),an])]))])):m("",!0)}});const ln={},rn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},un=r("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),dn=r("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),_n=[un,dn];function vn(e,t){return a(),i("svg",rn,_n)}const hn=p(ln,[["render",vn]]),fn=g({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=y(()=>t.tag??t.href?"a":"span"),s=y(()=>t.href&&De.test(t.href));return(o,l)=>(a(),b(U(c(n)),{class:M(["VPLink",{link:e.href}]),href:e.href?c(J)(e.href):void 0,target:e.target||(c(s)?"_blank":void 0),rel:e.rel||(c(s)?"noreferrer":void 0)},{default:v(()=>[u(o.$slots,"default",{},void 0,!0),c(s)&&!e.noIcon?(a(),b(hn,{key:0,class:"icon"})):m("",!0)]),_:3},8,["class","href","target","rel"]))}});const D=p(fn,[["__scopeId","data-v-40bbea7a"]]),pn=g({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),b(D,{class:M({VPNavBarMenuLink:!0,active:c(K)(c(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:v(()=>[C(w(e.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const mn=p(pn,[["__scopeId","data-v-42f218ec"]]),be=x();let je=!1,re=0;function gn(e){const t=x(!1);if(it){!je&&bn(),re++;const n=q(be,s=>{var o,l,d;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(l=e.onFocus)==null||l.call(e)):(t.value=!1,(d=e.onBlur)==null||d.call(e))});ce(()=>{n(),re--,re||yn()})}return rt(t)}function bn(){document.addEventListener("focusin",qe),je=!0,be.value=document.activeElement}function yn(){document.removeEventListener("focusin",qe)}function qe(){be.value=document.activeElement}const kn={},$n={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Pn=r("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),wn=[Pn];function Vn(e,t){return a(),i("svg",$n,wn)}const Ke=p(kn,[["render",Vn]]),xn={},Sn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ln=r("circle",{cx:"12",cy:"12",r:"2"},null,-1),Mn=r("circle",{cx:"19",cy:"12",r:"2"},null,-1),In=r("circle",{cx:"5",cy:"12",r:"2"},null,-1),Cn=[Ln,Mn,In];function Tn(e,t){return a(),i("svg",Sn,Cn)}const Bn=p(xn,[["render",Tn]]),Nn={class:"VPMenuLink"},An=g({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),i("div",Nn,[f(D,{class:M({active:c(K)(c(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:v(()=>[C(w(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const le=p(An,[["__scopeId","data-v-ec28281a"]]),En={class:"VPMenuGroup"},Hn={key:0,class:"title"},On=g({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(a(),i("div",En,[e.text?(a(),i("p",Hn,w(e.text),1)):m("",!0),(a(!0),i(I,null,B(e.items,s=>(a(),i(I,null,["link"in s?(a(),b(le,{key:0,item:s},null,8,["item"])):m("",!0)],64))),256))]))}});const zn=p(On,[["__scopeId","data-v-48c802d0"]]),Dn={class:"VPMenu"},Fn={key:0,class:"items"},Gn=g({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(a(),i("div",Dn,[e.items?(a(),i("div",Fn,[(a(!0),i(I,null,B(e.items,s=>(a(),i(I,{key:s.text},["link"in s?(a(),b(le,{key:0,item:s},null,8,["item"])):(a(),b(zn,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0),u(t.$slots,"default",{},void 0,!0)]))}});const Rn=p(Gn,[["__scopeId","data-v-97491713"]]),Un=["aria-expanded","aria-label"],jn={key:0,class:"text"},qn={class:"menu"},Kn=g({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=x(!1),n=x();gn({el:n,onBlur:s});function s(){t.value=!1}return(o,l)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:l[1]||(l[1]=d=>t.value=!0),onMouseleave:l[2]||(l[2]=d=>t.value=!1)},[r("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:l[0]||(l[0]=d=>t.value=!t.value)},[e.button||e.icon?(a(),i("span",jn,[e.icon?(a(),b(U(e.icon),{key:0,class:"option-icon"})):m("",!0),C(" "+w(e.button)+" ",1),f(Ke,{class:"text-icon"})])):(a(),b(Bn,{key:1,class:"icon"}))],8,Un),r("div",qn,[f(Rn,{items:e.items},{default:v(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const ye=p(Kn,[["__scopeId","data-v-e4ec5600"]]),Wn=g({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),b(ye,{class:M({VPNavBarMenuGroup:!0,active:c(K)(c(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),Qn=e=>(E("data-v-492ea56d"),e=e(),H(),e),Yn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Xn=Qn(()=>r("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Jn=g({__name:"VPNavBarMenu",setup(e){const{theme:t}=V();return(n,s)=>c(t).nav?(a(),i("nav",Yn,[Xn,(a(!0),i(I,null,B(c(t).nav,o=>(a(),i(I,{key:o.text},["link"in o?(a(),b(mn,{key:0,item:o},null,8,["item"])):(a(),b(Wn,{key:1,item:o},null,8,["item"]))],64))),128))])):m("",!0)}});const Zn=p(Jn,[["__scopeId","data-v-492ea56d"]]),es={},ts={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ns=r("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),ss=r("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),os=[ns,ss];function as(e,t){return a(),i("svg",ts,os)}const We=p(es,[["render",as]]),cs={class:"items"},ls={class:"title"},is=g({__name:"VPNavBarTranslations",setup(e){const{theme:t}=V(),{localeLinks:n,currentLang:s}=ee({correspondingLink:!0});return(o,l)=>c(n).length&&c(s).label?(a(),b(ye,{key:0,class:"VPNavBarTranslations",icon:We,label:c(t).langMenuLabel||"Change language"},{default:v(()=>[r("div",cs,[r("p",ls,w(c(s).label),1),(a(!0),i(I,null,B(c(n),d=>(a(),b(le,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}});const rs=p(is,[["__scopeId","data-v-bb3d9832"]]);const us={},ds={class:"VPSwitch",type:"button",role:"switch"},_s={class:"check"},vs={key:0,class:"icon"};function hs(e,t){return a(),i("button",ds,[r("span",_s,[e.$slots.default?(a(),i("span",vs,[u(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const fs=p(us,[["render",hs],["__scopeId","data-v-0832a754"]]),ps={},ms={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},gs=ut('',9),bs=[gs];function ys(e,t){return a(),i("svg",ms,bs)}const ks=p(ps,[["render",ys]]),$s={},Ps={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ws=r("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),Vs=[ws];function xs(e,t){return a(),i("svg",Ps,Vs)}const Ss=p($s,[["render",xs]]),Ls={title:"toggle dark mode"},Ms=g({__name:"VPSwitchAppearance",setup(e){const{site:t,isDark:n}=V(),s=x(!1),o=typeof localStorage<"u"?l():()=>{};G(()=>{s.value=document.documentElement.classList.contains("dark")});function l(){const d=window.matchMedia("(prefers-color-scheme: dark)"),h=document.documentElement.classList;let _=localStorage.getItem(Ie),k=t.value.appearance==="dark"&&_==null||(_==="auto"||_==null?d.matches:_==="dark");d.onchange=P=>{_==="auto"&&L(k=P.matches)};function $(){L(k=!k),_=k?d.matches?"auto":"dark":d.matches?"light":"auto",localStorage.setItem(Ie,_)}function L(P){const S=document.createElement("style");S.type="text/css",S.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; +}`)),document.head.appendChild(S),s.value=P,h[P?"add":"remove"]("dark"),window.getComputedStyle(S).opacity,document.head.removeChild(S)}return $}return q(s,d=>{n.value=d}),(d,h)=>(a(),i("label",Ls,[f(fs,{class:"VPSwitchAppearance","aria-checked":s.value,onClick:c(o)},{default:v(()=>[f(ks,{class:"sun"}),f(Ss,{class:"moon"})]),_:1},8,["aria-checked","onClick"])]))}});const ke=p(Ms,[["__scopeId","data-v-12bb4a49"]]),Is={key:0,class:"VPNavBarAppearance"},Cs=g({__name:"VPNavBarAppearance",setup(e){const{site:t}=V();return(n,s)=>c(t).appearance?(a(),i("div",Is,[f(ke)])):m("",!0)}});const Ts=p(Cs,[["__scopeId","data-v-98566150"]]),Bs={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Ns=["href","aria-label","innerHTML"],As=g({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=y(()=>typeof t.icon=="object"?t.icon.svg:Bs[t.icon]);return(s,o)=>(a(),i("a",{class:"VPSocialLink",href:e.link,"aria-label":typeof e.icon=="string"?e.icon:"",target:"_blank",rel:"noopener",innerHTML:c(n)},null,8,Ns))}});const Es=p(As,[["__scopeId","data-v-ac1ebd17"]]),Hs={class:"VPSocialLinks"},Os=g({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(a(),i("div",Hs,[(a(!0),i(I,null,B(e.links,({link:s,icon:o})=>(a(),b(Es,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const $e=p(Os,[["__scopeId","data-v-5f80acc1"]]),zs=g({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=V();return(n,s)=>c(t).socialLinks?(a(),b($e,{key:0,class:"VPNavBarSocialLinks",links:c(t).socialLinks},null,8,["links"])):m("",!0)}});const Ds=p(zs,[["__scopeId","data-v-164c457f"]]),Fs={key:0,class:"group translations"},Gs={class:"trans-title"},Rs={key:1,class:"group"},Us={class:"item appearance"},js={class:"label"},qs={class:"appearance-action"},Ks={key:2,class:"group"},Ws={class:"item social-links"},Qs=g({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=V(),{localeLinks:s,currentLang:o}=ee({correspondingLink:!0}),l=y(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(d,h)=>c(l)?(a(),b(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[c(s).length&&c(o).label?(a(),i("div",Fs,[r("p",Gs,w(c(o).label),1),(a(!0),i(I,null,B(c(s),_=>(a(),b(le,{key:_.link,item:_},null,8,["item"]))),128))])):m("",!0),c(t).appearance?(a(),i("div",Rs,[r("div",Us,[r("p",js,w(c(n).darkModeSwitchLabel||"Appearance"),1),r("div",qs,[f(ke)])])])):m("",!0),c(n).socialLinks?(a(),i("div",Ks,[r("div",Ws,[f($e,{class:"social-links-list",links:c(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}});const Ys=p(Qs,[["__scopeId","data-v-608cba8b"]]),Xs=e=>(E("data-v-5dea55bf"),e=e(),H(),e),Js=["aria-expanded"],Zs=Xs(()=>r("span",{class:"container"},[r("span",{class:"top"}),r("span",{class:"middle"}),r("span",{class:"bottom"})],-1)),eo=[Zs],to=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(a(),i("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},eo,10,Js))}});const no=p(to,[["__scopeId","data-v-5dea55bf"]]),so=e=>(E("data-v-b1bba9bb"),e=e(),H(),e),oo={class:"container"},ao={class:"title"},co={class:"content"},lo=so(()=>r("div",{class:"curtain"},null,-1)),io={class:"content-body"},ro=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=At(),{hasSidebar:n}=O(),s=y(()=>({"has-sidebar":n.value,fill:t.value>0}));return(o,l)=>(a(),i("div",{class:M(["VPNavBar",c(s)])},[r("div",oo,[r("div",ao,[f(Zt,null,{"nav-bar-title-before":v(()=>[u(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),r("div",co,[lo,r("div",io,[u(o.$slots,"nav-bar-content-before",{},void 0,!0),f(cn,{class:"search"}),f(Zn,{class:"menu"}),f(rs,{class:"translations"}),f(Ts,{class:"appearance"}),f(Ds,{class:"social-links"}),f(Ys,{class:"extra"}),u(o.$slots,"nav-bar-content-after",{},void 0,!0),f(no,{class:"hamburger",active:e.isScreenOpen,onClick:l[0]||(l[0]=d=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const uo=p(ro,[["__scopeId","data-v-b1bba9bb"]]);function _o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),j=[],oe=!1,we=-1,W=void 0,F=void 0,Q=void 0,Qe=function(t){return j.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},ae=function(t){var n=t||window.event;return Qe(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},vo=function(t){if(Q===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);Q=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}W===void 0&&(W=document.body.style.overflow,document.body.style.overflow="hidden")},ho=function(){Q!==void 0&&(document.body.style.paddingRight=Q,Q=void 0),W!==void 0&&(document.body.style.overflow=W,W=void 0)},fo=function(){return window.requestAnimationFrame(function(){if(F===void 0){F={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var l=o-window.innerHeight;l&&n>=o&&(document.body.style.top=-(n+l))})},300)}})},po=function(){if(F!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=F.position,document.body.style.top=F.top,document.body.style.left=F.left,window.scrollTo(n,t),F=void 0}},mo=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},go=function(t,n){var s=t.targetTouches[0].clientY-we;return Qe(t.target)?!1:n&&n.scrollTop===0&&s>0||mo(n)&&s<0?ae(t):(t.stopPropagation(),!0)},Ye=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!j.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};j=[].concat(_o(j),[s]),se?fo():vo(n),se&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(we=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&go(o,t)},oe||(document.addEventListener("touchmove",ae,Pe?{passive:!1}:void 0),oe=!0))}},Xe=function(){se&&(j.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),oe&&(document.removeEventListener("touchmove",ae,Pe?{passive:!1}:void 0),oe=!1),we=-1),se?po():ho(),j=[]};const bo=g({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=fe("close-screen");return(n,s)=>(a(),b(D,{class:"VPNavScreenMenuLink",href:e.link,onClick:c(t)},{default:v(()=>[C(w(e.text),1)]),_:1},8,["href","onClick"]))}});const yo=p(bo,[["__scopeId","data-v-77e33ec4"]]),ko={},$o={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Po=r("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),wo=[Po];function Vo(e,t){return a(),i("svg",$o,wo)}const xo=p(ko,[["render",Vo]]),So=g({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=fe("close-screen");return(n,s)=>(a(),b(D,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:c(t)},{default:v(()=>[C(w(e.text),1)]),_:1},8,["href","onClick"]))}});const Je=p(So,[["__scopeId","data-v-ba699804"]]),Lo={class:"VPNavScreenMenuGroupSection"},Mo={key:0,class:"title"},Io=g({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(a(),i("div",Lo,[e.text?(a(),i("p",Mo,w(e.text),1)):m("",!0),(a(!0),i(I,null,B(e.items,s=>(a(),b(Je,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const Co=p(Io,[["__scopeId","data-v-fdc70419"]]),To=["aria-controls","aria-expanded"],Bo={class:"button-text"},No=["id"],Ao={key:1,class:"group"},Eo=g({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=x(!1),s=y(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(l,d)=>(a(),i("div",{class:M(["VPNavScreenMenuGroup",{open:n.value}])},[r("button",{class:"button","aria-controls":c(s),"aria-expanded":n.value,onClick:o},[r("span",Bo,w(e.text),1),f(xo,{class:"button-icon"})],8,To),r("div",{id:c(s),class:"items"},[(a(!0),i(I,null,B(e.items,h=>(a(),i(I,{key:h.text},["link"in h?(a(),i("div",{key:h.text,class:"item"},[f(Je,{text:h.text,link:h.link},null,8,["text","link"])])):(a(),i("div",Ao,[f(Co,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,No)],2))}});const Ho=p(Eo,[["__scopeId","data-v-ef3d30f9"]]),Oo={key:0,class:"VPNavScreenMenu"},zo=g({__name:"VPNavScreenMenu",setup(e){const{theme:t}=V();return(n,s)=>c(t).nav?(a(),i("nav",Oo,[(a(!0),i(I,null,B(c(t).nav,o=>(a(),i(I,{key:o.text},["link"in o?(a(),b(yo,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(a(),b(Ho,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),Do={key:0,class:"VPNavScreenAppearance"},Fo={class:"text"},Go=g({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=V();return(s,o)=>c(t).appearance?(a(),i("div",Do,[r("p",Fo,w(c(n).darkModeSwitchLabel||"Appearance"),1),f(ke)])):m("",!0)}});const Ro=p(Go,[["__scopeId","data-v-b557c0fb"]]),Uo={class:"list"},jo=g({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=ee({correspondingLink:!0}),s=x(!1);function o(){s.value=!s.value}return(l,d)=>c(t).length&&c(n).label?(a(),i("div",{key:0,class:M(["VPNavScreenTranslations",{open:s.value}])},[r("button",{class:"title",onClick:o},[f(We,{class:"icon lang"}),C(" "+w(c(n).label)+" ",1),f(Ke,{class:"icon chevron"})]),r("ul",Uo,[(a(!0),i(I,null,B(c(t),h=>(a(),i("li",{key:h.link,class:"item"},[f(D,{class:"link",href:h.link},{default:v(()=>[C(w(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}});const qo=p(jo,[["__scopeId","data-v-56996409"]]),Ko=g({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=V();return(n,s)=>c(t).socialLinks?(a(),b($e,{key:0,class:"VPNavScreenSocialLinks",links:c(t).socialLinks},null,8,["links"])):m("",!0)}}),Wo={class:"container"},Qo=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=x(null);function n(){Ye(t.value,{reserveScrollBarGap:!0})}function s(){Xe()}return(o,l)=>(a(),b(he,{name:"fade",onEnter:n,onAfterLeave:s},{default:v(()=>[e.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[r("div",Wo,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),f(zo,{class:"menu"}),f(qo,{class:"translations"}),f(Ro,{class:"appearance"}),f(Ko,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}});const Yo=p(Qo,[["__scopeId","data-v-92d935ac"]]),Xo={class:"VPNav"},Jo=g({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=qt();return ne("close-screen",n),(o,l)=>(a(),i("header",Xo,[f(uo,{"is-screen-open":c(t),onToggleScreen:c(s)},{"nav-bar-title-before":v(()=>[u(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),f(Yo,{open:c(t)},{"nav-screen-content-before":v(()=>[u(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Zo=p(Jo,[["__scopeId","data-v-7c10a9e2"]]),ea={},ta={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},na=r("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),sa=r("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),oa=r("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),aa=r("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),ca=[na,sa,oa,aa];function la(e,t){return a(),i("svg",ta,ca)}const ia=p(ea,[["render",la]]);function ra(){const{hasSidebar:e}=O(),t=ue("(min-width: 960px)"),n=ue("(min-width: 1280px)");return{isAsideEnabled:y(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const ua=71;function Ve(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function xe(e){const t=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{title:da(n),link:"#"+n.id,level:s}});return _a(t,e)}function da(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function _a(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(d=>d.level>=s&&d.level<=o);const l=[];e:for(let d=0;d=0;_--){const k=e[_];if(k.level{requestAnimationFrame(l),window.addEventListener("scroll",s)}),dt(()=>{d(location.hash)}),ce(()=>{window.removeEventListener("scroll",s)});function l(){if(!n.value)return;const h=[].slice.call(e.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(S=>h.some(T=>T.hash===S.hash&&S.offsetParent!==null)),k=window.scrollY,$=window.innerHeight,L=document.body.offsetHeight,P=Math.abs(k+$-L)<1;if(_.length&&P){d(_[_.length-1].hash);return}for(let S=0;S<_.length;S++){const T=_[S],N=_[S+1],[A,z]=ha(S,T,N);if(A){d(z);return}}}function d(h){o&&o.classList.remove("active"),h!==null&&(o=e.value.querySelector(`a[href="${decodeURIComponent(h)}"]`));const _=o;_?(_.classList.add("active"),t.value.style.top=_.offsetTop+33+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Oe(e){return e.parentElement.offsetTop-ua}function ha(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{const o=R("VPDocOutlineItem",!0);return a(),i("ul",{class:M(e.root?"root":"nested")},[(a(!0),i(I,null,B(e.headers,({children:l,link:d,title:h})=>(a(),i("li",null,[r("a",{class:"outline-link",href:d,onClick:t},w(h),9,fa),l!=null&&l.length?(a(),b(o,{key:0,headers:l},null,8,["headers"])):m("",!0)]))),256))],2)}}});const Se=p(pa,[["__scopeId","data-v-3e213931"]]),ma={},ga={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ba=r("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),ya=[ba];function ka(e,t){return a(),i("svg",ga,ya)}const Le=p(ma,[["render",ka]]),$a=g({__name:"VPLocalNavOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=V(),s=x(!1),o=x(0),l=x();X(()=>{s.value=!1});function d(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-64,0)}function h($){$.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),ze(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}const k=pe([]);return X(()=>{k.value=xe(t.value.outline??n.value.outline)}),($,L)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:_t({"--vp-vh":o.value+"px"})},[c(k).length>0?(a(),i("button",{key:0,onClick:d,class:M({open:s.value})},[C(w(c(Ve)(c(n)))+" ",1),f(Le,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:_},w(c(n).returnToTopLabel||"Return to top"),1)),f(he,{name:"flyout"},{default:v(()=>[s.value?(a(),i("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:h},[r("a",{class:"top-link",href:"#",onClick:_},w(c(n).returnToTopLabel||"Return to top"),1),f(Se,{headers:c(k)},null,8,["headers"])],512)):m("",!0)]),_:1})],4))}});const Pa=p($a,[["__scopeId","data-v-7526cab1"]]),wa={key:0,class:"VPLocalNav"},Va=["aria-expanded"],xa={class:"menu-text"},Sa=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t}=V(),{hasSidebar:n}=O();return(s,o)=>c(n)?(a(),i("div",wa,[r("button",{class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:o[0]||(o[0]=l=>s.$emit("open-menu"))},[f(ia,{class:"menu-icon"}),r("span",xa,w(c(t).sidebarMenuLabel||"Menu"),1)],8,Va),f(Pa)])):m("",!0)}});const La=p(Sa,[["__scopeId","data-v-117fc0fa"]]),Ma=e=>(E("data-v-9a82e1d6"),e=e(),H(),e),Ia=["role","tabindex"],Ca=Ma(()=>r("div",{class:"indicator"},null,-1)),Ta=["onKeydown"],Ba={key:1,class:"items"},Na=g({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:l,hasActiveLink:d,hasChildren:h,toggle:_}=Dt(y(()=>t.item)),k=y(()=>h.value?"section":"div"),$=y(()=>o.value?"a":"div"),L=y(()=>h.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=y(()=>o.value?void 0:"button"),S=y(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":l.value},{"has-active":d.value}]);function T(A){"key"in A&&A.key!=="Enter"||!t.item.link&&_()}function N(){t.item.link&&_()}return(A,z)=>{const et=R("VPSidebarItem",!0);return a(),b(U(c(k)),{class:M(["VPSidebarItem",c(S)])},{default:v(()=>[e.item.text?(a(),i("div",te({key:0,class:"item",role:c(P)},ht(e.item.items?{click:T,keydown:T}:{},!0),{tabindex:e.item.items&&0}),[Ca,e.item.link?(a(),b(D,{key:0,tag:c($),class:"link",href:e.item.link},{default:v(()=>[(a(),b(U(c(L)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(a(),b(U(c(L)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:N,onKeydown:vt(N,["enter"]),tabindex:"0"},[f(Le,{class:"caret-icon"})],40,Ta)):m("",!0)],16,Ia)):m("",!0),e.item.items&&e.item.items.length?(a(),i("div",Ba,[e.depth<5?(a(!0),i(I,{key:0},B(e.item.items,Me=>(a(),b(et,{key:Me.text,item:Me,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}});const Aa=p(Na,[["__scopeId","data-v-9a82e1d6"]]),Ze=e=>(E("data-v-0640f721"),e=e(),H(),e),Ea=Ze(()=>r("div",{class:"curtain"},null,-1)),Ha={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Oa=Ze(()=>r("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),za=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:s}=O();let o=x(null);function l(){Ye(o.value,{reserveScrollBarGap:!0})}function d(){Xe()}return ft(async()=>{var h;t.open?(l(),(h=o.value)==null||h.focus()):d()}),(h,_)=>c(s)?(a(),i("aside",{key:0,class:M(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:_[0]||(_[0]=pt(()=>{},["stop"]))},[Ea,r("nav",Ha,[Oa,u(h.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(I,null,B(c(n),k=>(a(),i("div",{key:k.text,class:"group"},[f(Aa,{item:k,depth:0},null,8,["item"])]))),128)),u(h.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}});const Da=p(za,[["__scopeId","data-v-0640f721"]]),Fa={},Ga={class:"VPPage"};function Ra(e,t){const n=R("Content");return a(),i("div",Ga,[u(e.$slots,"page-top"),f(n),u(e.$slots,"page-bottom")])}const Ua=p(Fa,[["render",Ra]]),ja=g({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=y(()=>[t.size??"medium",t.theme??"brand"]),s=y(()=>t.href&&De.test(t.href)),o=y(()=>t.tag?t.tag:t.href?"a":"button");return(l,d)=>(a(),b(U(c(o)),{class:M(["VPButton",c(n)]),href:e.href?c(J)(e.href):void 0,target:c(s)?"_blank":void 0,rel:c(s)?"noreferrer":void 0},{default:v(()=>[C(w(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const qa=p(ja,[["__scopeId","data-v-3b59a1dc"]]),Ka=e=>(E("data-v-ef8a39f0"),e=e(),H(),e),Wa={class:"container"},Qa={class:"main"},Ya={key:0,class:"name"},Xa={class:"clip"},Ja={key:1,class:"text"},Za={key:2,class:"tagline"},ec={key:0,class:"actions"},tc={key:0,class:"image"},nc={class:"image-container"},sc=Ka(()=>r("div",{class:"image-bg"},null,-1)),oc=g({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=fe("hero-image-slot-exists");return(n,s)=>(a(),i("div",{class:M(["VPHero",{"has-image":e.image||c(t)}])},[r("div",Wa,[r("div",Qa,[u(n.$slots,"home-hero-info",{},()=>[e.name?(a(),i("h1",Ya,[r("span",Xa,w(e.name),1)])):m("",!0),e.text?(a(),i("p",Ja,w(e.text),1)):m("",!0),e.tagline?(a(),i("p",Za,w(e.tagline),1)):m("",!0)],!0),e.actions?(a(),i("div",ec,[(a(!0),i(I,null,B(e.actions,o=>(a(),i("div",{key:o.link,class:"action"},[f(qa,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):m("",!0)]),e.image||c(t)?(a(),i("div",tc,[r("div",nc,[sc,u(n.$slots,"home-hero-image",{},()=>[e.image?(a(),b(ge,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}});const ac=p(oc,[["__scopeId","data-v-ef8a39f0"]]),cc=g({__name:"VPHomeHero",setup(e){const{frontmatter:t}=V();return(n,s)=>c(t).hero?(a(),b(ac,{key:0,class:"VPHomeHero",name:c(t).hero.name,text:c(t).hero.text,tagline:c(t).hero.tagline,image:c(t).hero.image,actions:c(t).hero.actions},{"home-hero-info":v(()=>[u(n.$slots,"home-hero-info")]),"home-hero-image":v(()=>[u(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),lc={},ic={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},rc=r("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),uc=[rc];function dc(e,t){return a(),i("svg",ic,uc)}const _c=p(lc,[["render",dc]]),vc={class:"box"},hc=["innerHTML"],fc=["innerHTML"],pc=["innerHTML"],mc={key:3,class:"link-text"},gc={class:"link-text-value"},bc=g({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null},setup(e){return(t,n)=>(a(),b(D,{class:"VPFeature",href:e.link,"no-icon":!0},{default:v(()=>[r("article",vc,[typeof e.icon=="object"?(a(),b(ge,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:1,class:"icon",innerHTML:e.icon},null,8,hc)):m("",!0),r("h2",{class:"title",innerHTML:e.title},null,8,fc),e.details?(a(),i("p",{key:2,class:"details",innerHTML:e.details},null,8,pc)):m("",!0),e.linkText?(a(),i("div",mc,[r("p",gc,[C(w(e.linkText)+" ",1),f(_c,{class:"link-text-icon"})])])):m("",!0)])]),_:1},8,["href"]))}});const yc=p(bc,[["__scopeId","data-v-13a88a6c"]]),kc={key:0,class:"VPFeatures"},$c={class:"container"},Pc={class:"items"},wc=g({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=y(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(a(),i("div",kc,[r("div",$c,[r("div",Pc,[(a(!0),i(I,null,B(e.features,l=>(a(),i("div",{key:l.title,class:M(["item",[c(n)]])},[f(yc,{icon:l.icon,title:l.title,details:l.details,link:l.link,"link-text":l.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):m("",!0)}});const Vc=p(wc,[["__scopeId","data-v-84141c71"]]),xc=g({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=V();return(n,s)=>c(t).features?(a(),b(Vc,{key:0,class:"VPHomeFeatures",features:c(t).features},null,8,["features"])):m("",!0)}}),Sc={class:"VPHome"},Lc=g({__name:"VPHome",setup(e){return(t,n)=>{const s=R("Content");return a(),i("div",Sc,[u(t.$slots,"home-hero-before",{},void 0,!0),f(cc,null,{"home-hero-info":v(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),f(xc),u(t.$slots,"home-features-after",{},void 0,!0),f(s)])}}});const Mc=p(Lc,[["__scopeId","data-v-c3f834ca"]]),Ic=e=>(E("data-v-9bb6ddc9"),e=e(),H(),e),Cc={class:"content"},Tc={class:"outline-title"},Bc={"aria-labelledby":"doc-outline-aria-label"},Nc=Ic(()=>r("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Ac=g({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=V(),s=pe([]);X(()=>{s.value=xe(t.value.outline??n.value.outline)});const o=x(),l=x();return va(o,l),(d,h)=>(a(),i("div",{class:M(["VPDocAsideOutline",{"has-outline":c(s).length>0}]),ref_key:"container",ref:o},[r("div",Cc,[r("div",{class:"outline-marker",ref_key:"marker",ref:l},null,512),r("div",Tc,w(c(Ve)(c(n))),1),r("nav",Bc,[Nc,f(Se,{headers:c(s),root:!0},null,8,["headers"])])])],2))}});const Ec=p(Ac,[["__scopeId","data-v-9bb6ddc9"]]),Hc={class:"VPDocAsideCarbonAds"},Oc=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=mt(()=>gt(()=>import("./ui-custom.5c5b2e5f.js"),["assets/chunks/ui-custom.5c5b2e5f.js","assets/chunks/framework.eb892692.js"]));return(n,s)=>(a(),i("div",Hc,[f(c(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),zc=e=>(E("data-v-6d7b3c46"),e=e(),H(),e),Dc={class:"VPDocAside"},Fc=zc(()=>r("div",{class:"spacer"},null,-1)),Gc=g({__name:"VPDocAside",setup(e){const{theme:t}=V();return(n,s)=>(a(),i("div",Dc,[u(n.$slots,"aside-top",{},void 0,!0),u(n.$slots,"aside-outline-before",{},void 0,!0),f(Ec),u(n.$slots,"aside-outline-after",{},void 0,!0),Fc,u(n.$slots,"aside-ads-before",{},void 0,!0),c(t).carbonAds?(a(),b(Oc,{key:0,"carbon-ads":c(t).carbonAds},null,8,["carbon-ads"])):m("",!0),u(n.$slots,"aside-ads-after",{},void 0,!0),u(n.$slots,"aside-bottom",{},void 0,!0)]))}});const Rc=p(Gc,[["__scopeId","data-v-6d7b3c46"]]);function Uc(){const{theme:e,page:t}=V();return y(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{},{relativePath:o}=t.value;let l;return typeof s=="function"?l=s({relativePath:o}):l=s.replace(/:path/g,o),{url:l,text:n}})}function jc(){const{page:e,theme:t,frontmatter:n}=V();return y(()=>{var d,h,_,k;const s=Ue(t.value.sidebar,e.value.relativePath),o=Ot(s),l=o.findIndex($=>K(e.value.relativePath,$.link));return{prev:n.value.prev===!1?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((d=o[l-1])==null?void 0:d.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((h=o[l-1])==null?void 0:h.link)},next:n.value.next===!1?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((_=o[l+1])==null?void 0:_.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((k=o[l+1])==null?void 0:k.link)}}})}const qc={},Kc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Wc=r("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Qc=r("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Yc=[Wc,Qc];function Xc(e,t){return a(),i("svg",Kc,Yc)}const Jc=p(qc,[["render",Xc]]),Zc={class:"VPLastUpdated"},el=["datetime"],tl=g({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=V(),o=y(()=>new Date(n.value.lastUpdated)),l=y(()=>o.value.toISOString()),d=x("");return G(()=>{Y(()=>{d.value=o.value.toLocaleString(s.value)})}),(h,_)=>(a(),i("p",Zc,[C(w(c(t).lastUpdatedText||"Last updated")+": ",1),r("time",{datetime:c(l)},w(d.value),9,el)]))}});const nl=p(tl,[["__scopeId","data-v-f84fa165"]]),sl={key:0,class:"VPDocFooter"},ol={key:0,class:"edit-info"},al={key:0,class:"edit-link"},cl={key:1,class:"last-updated"},ll={key:1,class:"prev-next"},il={class:"pager"},rl=["href"],ul=["innerHTML"],dl=["innerHTML"],_l=["href"],vl=["innerHTML"],hl=["innerHTML"],fl=g({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=V(),o=Uc(),l=jc(),d=y(()=>t.value.editLink&&s.value.editLink!==!1),h=y(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),_=y(()=>d.value||h.value||l.value.prev||l.value.next);return(k,$)=>{var L,P,S,T,N,A,z;return c(_)?(a(),i("footer",sl,[u(k.$slots,"doc-footer-before",{},void 0,!0),c(d)||c(h)?(a(),i("div",ol,[c(d)?(a(),i("div",al,[f(D,{class:"edit-link-button",href:c(o).url,"no-icon":!0},{default:v(()=>[f(Jc,{class:"edit-link-icon","aria-label":"edit icon"}),C(" "+w(c(o).text),1)]),_:1},8,["href"])])):m("",!0),c(h)?(a(),i("div",cl,[f(nl)])):m("",!0)])):m("",!0),(L=c(l).prev)!=null&&L.link||(P=c(l).next)!=null&&P.link?(a(),i("div",ll,[r("div",il,[(S=c(l).prev)!=null&&S.link?(a(),i("a",{key:0,class:"pager-link prev",href:c(J)(c(l).prev.link)},[r("span",{class:"desc",innerHTML:((T=c(t).docFooter)==null?void 0:T.prev)||"Previous page"},null,8,ul),r("span",{class:"title",innerHTML:c(l).prev.text},null,8,dl)],8,rl)):m("",!0)]),r("div",{class:M(["pager",{"has-prev":(N=c(l).prev)==null?void 0:N.link}])},[(A=c(l).next)!=null&&A.link?(a(),i("a",{key:0,class:"pager-link next",href:c(J)(c(l).next.link)},[r("span",{class:"desc",innerHTML:((z=c(t).docFooter)==null?void 0:z.next)||"Next page"},null,8,vl),r("span",{class:"title",innerHTML:c(l).next.text},null,8,hl)],8,_l)):m("",!0)],2)])):m("",!0)])):m("",!0)}}});const pl=p(fl,[["__scopeId","data-v-10d8714f"]]),ml={key:0,class:"VPDocOutlineDropdown"},gl={key:0,class:"items"},bl=g({__name:"VPDocOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=V(),s=x(!1);X(()=>{s.value=!1});const o=pe([]);return X(()=>{o.value=xe(t.value.outline??n.value.outline)}),(l,d)=>c(o).length>0?(a(),i("div",ml,[r("button",{onClick:d[0]||(d[0]=h=>s.value=!s.value),class:M({open:s.value})},[C(w(c(Ve)(c(n)))+" ",1),f(Le,{class:"icon"})],2),s.value?(a(),i("div",gl,[f(Se,{headers:c(o)},null,8,["headers"])])):m("",!0)])):m("",!0)}});const yl=p(bl,[["__scopeId","data-v-c8bfe2f9"]]),kl=e=>(E("data-v-39b3cdb2"),e=e(),H(),e),$l={class:"container"},Pl=kl(()=>r("div",{class:"aside-curtain"},null,-1)),wl={class:"aside-container"},Vl={class:"aside-content"},xl={class:"content"},Sl={class:"content-container"},Ll={class:"main"},Ml=g({__name:"VPDoc",setup(e){const t=Z(),{hasSidebar:n,hasAside:s,leftAside:o}=O(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,h)=>{const _=R("Content");return a(),i("div",{class:M(["VPDoc",{"has-sidebar":c(n),"has-aside":c(s)}])},[u(d.$slots,"doc-top",{},void 0,!0),r("div",$l,[c(s)?(a(),i("div",{key:0,class:M(["aside",{"left-aside":c(o)}])},[Pl,r("div",wl,[r("div",Vl,[f(Rc,null,{"aside-top":v(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),r("div",xl,[r("div",Sl,[u(d.$slots,"doc-before",{},void 0,!0),f(yl),r("main",Ll,[f(_,{class:M(["vp-doc",c(l)])},null,8,["class"])]),f(pl,null,{"doc-footer-before":v(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(d.$slots,"doc-after",{},void 0,!0)])])]),u(d.$slots,"doc-bottom",{},void 0,!0)],2)}}});const Il=p(Ml,[["__scopeId","data-v-39b3cdb2"]]),ie=e=>(E("data-v-6163eb66"),e=e(),H(),e),Cl={class:"NotFound"},Tl=ie(()=>r("p",{class:"code"},"404",-1)),Bl=ie(()=>r("h1",{class:"title"},"PAGE NOT FOUND",-1)),Nl=ie(()=>r("div",{class:"divider"},null,-1)),Al=ie(()=>r("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),El={class:"action"},Hl=["href"],Ol=g({__name:"NotFound",setup(e){const{site:t}=V(),{localeLinks:n}=ee({removeCurrent:!1}),s=x("/");return G(()=>{var l;const o=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((l=n.value.find(({link:d})=>d.startsWith(o)))==null?void 0:l.link)||n.value[0].link)}),(o,l)=>(a(),i("div",Cl,[Tl,Bl,Nl,Al,r("div",El,[r("a",{class:"link",href:c(ve)(s.value),"aria-label":"go to home"}," Take me home ",8,Hl)])]))}});const zl=p(Ol,[["__scopeId","data-v-6163eb66"]]),Dl=g({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=V(),{hasSidebar:s}=O();return(o,l)=>(a(),i("div",{class:M(["VPContent",{"has-sidebar":c(s),"is-home":c(n).layout==="home"}]),id:"VPContent"},[c(t).isNotFound?u(o.$slots,"not-found",{key:0},()=>[f(zl)],!0):c(n).layout==="page"?(a(),b(Ua,{key:1},{"page-top":v(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):c(n).layout==="home"?(a(),b(Mc,{key:2},{"home-hero-before":v(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):(a(),b(Il,{key:3},{"doc-top":v(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Fl=p(Dl,[["__scopeId","data-v-9d78bab4"]]),Gl={class:"container"},Rl=["innerHTML"],Ul=["innerHTML"],jl=g({__name:"VPFooter",setup(e){const{theme:t}=V(),{hasSidebar:n}=O();return(s,o)=>c(t).footer?(a(),i("footer",{key:0,class:M(["VPFooter",{"has-sidebar":c(n)}])},[r("div",Gl,[c(t).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:c(t).footer.message},null,8,Rl)):m("",!0),c(t).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:c(t).footer.copyright},null,8,Ul)):m("",!0)])],2)):m("",!0)}});const ql=p(jl,[["__scopeId","data-v-c7eeb802"]]),Kl={key:0,class:"Layout"},Wl=g({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=O(),o=Z();q(()=>o.path,s),zt(t,s),ne("close-sidebar",s),ne("is-sidebar-open",t);const{frontmatter:l}=V(),d=bt(),h=y(()=>!!d["home-hero-image"]);return ne("hero-image-slot-exists",h),(_,k)=>{const $=R("Content");return c(l).layout!==!1?(a(),i("div",Kl,[u(_.$slots,"layout-top",{},void 0,!0),f(Gt),f(jt,{class:"backdrop",show:c(t),onClick:c(s)},null,8,["show","onClick"]),f(Zo,null,{"nav-bar-title-before":v(()=>[u(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[u(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),f(La,{open:c(t),onOpenMenu:c(n)},null,8,["open","onOpenMenu"]),f(Da,{open:c(t)},{"sidebar-nav-before":v(()=>[u(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[u(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),f(Fl,null,{"page-top":v(()=>[u(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[u(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[u(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[u(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[u(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[u(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),f(ql),u(_.$slots,"layout-bottom",{},void 0,!0)])):(a(),b($,{key:1}))}}});const Ql=p(Wl,[["__scopeId","data-v-1d113308"]]);const Xl={Layout:Ql,enhanceApp:({app:e})=>{e.component("Badge",kt)}};export{ra as a,Xl as t,V as u}; diff --git a/docs/v2/.vitepress/dist/assets/chunks/ui-custom.5c5b2e5f.js b/docs/v2/.vitepress/dist/assets/chunks/ui-custom.5c5b2e5f.js new file mode 100644 index 0000000..ee8799a --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/chunks/ui-custom.5c5b2e5f.js @@ -0,0 +1 @@ +import{u as l,a as _}from"./theme.683fbe81.js";import{d as p,f as u,w as c,h as f,o as m,c as b,_ as v}from"./framework.eb892692.js";const A=p({__name:"VPCarbonAds",props:{carbonAds:null},setup(r){const d=r,{page:i}=l(),a=d.carbonAds,{isAsideEnabled:s}=_(),o=u();let n=!1;function t(){if(!n){n=!0;const e=document.createElement("script");e.id="_carbonads_js",e.src=`//cdn.carbonads.com/carbon.js?serve=${a.code}&placement=${a.placement}`,e.async=!0,o.value.appendChild(e)}}return c(()=>i.value.relativePath,()=>{var e;n&&s.value&&((e=window._carbonads)==null||e.refresh())}),a&&f(()=>{s.value?t():c(s,e=>e&&t())}),(e,h)=>(m(),b("div",{class:"VPCarbonAds",ref_key:"container",ref:o},null,512))}});const w=v(A,[["__scopeId","data-v-6e6a73ad"]]);export{w as default}; diff --git a/docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.js b/docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.js new file mode 100644 index 0000000..61d4560 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./chunks/framework.eb892692.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"UAParser.js","text":"Documentation Reference","tagline":"Detect Browser, OS, CPU, & Device with JavaScript","actions":[{"text":"Introduction","link":"/intro/why-ua-parser-js"},{"theme":"alt","text":"API Reference","link":"/api/ua-parser-js/overview"}]}},"headers":[],"relativePath":"index.md","lastUpdated":1681052658000}'),r={name:"index.md"};function n(o,s,i,c,p,d){return a(),t("div")}const _=e(r,[["render",n]]);export{m as __pageData,_ as default}; diff --git a/docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.lean.js b/docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.lean.js new file mode 100644 index 0000000..61d4560 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/index.md.9cfed7b9.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./chunks/framework.eb892692.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"UAParser.js","text":"Documentation Reference","tagline":"Detect Browser, OS, CPU, & Device with JavaScript","actions":[{"text":"Introduction","link":"/intro/why-ua-parser-js"},{"theme":"alt","text":"API Reference","link":"/api/ua-parser-js/overview"}]}},"headers":[],"relativePath":"index.md","lastUpdated":1681052658000}'),r={name:"index.md"};function n(o,s,i,c,p,d){return a(),t("div")}const _=e(r,[["render",n]]);export{m as __pageData,_ as default}; diff --git a/docs/v2/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 b/docs/v2/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2a687296748f6b8bc8076cd11bde49cd27e4442b GIT binary patch literal 28332 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 HNCp4^t1hY; literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 b/docs/v2/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f64035158d7e4c01654e3f23dcd6e8299928a28c GIT binary patch literal 17824 zcmV(|K+(TGZYzoV0yihRy3;{L*Bm;yv3xXa1 z1Rw>42nQe=C3zL>7I?PUshK)MG!ta^L3b^d$O{#w!;WOi#caU z9epdi^~z}FXC1zMc;nw||B-~iJKZ7-`H(Kn3lKjZ5N5RqaHof~Lr#JsXW1jml58&> zQGi~|0cnL4zB|P8}0t5&U@c|JdMvNGlmzMw!d_sgsBSwh~ z<3uKERMdzOA;C{wc9u@*KWk~1ZrQFoOIvrA?XoRxnU;2`Lr2EaDbuDiOouv|*;F%- z#gKPJ>8fl=HUf*mFq&P*op#SRB5uMwrI5O=D|BV|t7*jYszMn6_y=vT5wbG)8zDBN(kmfH1b)al)=7_XtiK52#|ESncdAW0QK2HvRY`_;WiO>pz_-Xk zH!T)&YR`MAJa7J@pNA;Ve=XlUuY2Z4Y1bh`Bcza^p&9I}QLUiMj74g|4NyqjXq$hi zG1}j&v`P|}Bqr@5l@eV;qy>fq`v}SgHrfA#@*v!mV~$a+B6D&Jh-sRueXL+`%jr?vt30*Vq&Bs(79VL�!Z1%E;0yxE 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 literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 b/docs/v2/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9c1b9440ed419d4a71ba46b0db3951164f9e10df GIT binary patch literal 63552 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 literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 b/docs/v2/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..01fcf20724f915f68a974ef2fb85f86f3039b1d8 GIT binary patch literal 46048 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 literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 b/docs/v2/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e4f788ee02bb687bc1d5045483ff0d381e7654e0 GIT binary patch literal 8784 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 G0002QVTgqQ literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 b/docs/v2/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28593ccb8a4d849a746f2b970678fe426cb136e8 GIT binary patch literal 26600 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 literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 b/docs/v2/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a20adc161f433a7c4e3d92306301b9228bcf9fb4 GIT binary patch literal 16780 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

KZ;k8ywA} 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 O1{o}0SRMEP0000Yp_Hru literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 b/docs/v2/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f790e047daa346583880da2be470431e35aa6054 GIT binary patch literal 21776 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 De!(H( literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 b/docs/v2/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..715bd903b9b14d22a056f10e6d13b8d7e0acce57 GIT binary patch literal 59608 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

Extending Regex ​

Write Your Own Extension ​

If you want to detect something that's not currently provided by UAParser.js (eg: bots, specific apps, etc), you can pass a list of regexes to extends internal UAParser.js regexes with your own.

  • UAParser([uastring:string,] extensions:object [,headers:object])
js
// Example:
+const myOwnListOfBrowsers = [
+    [/(mybrowser)\\/([\\w\\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, ['type', 'bot']]
+];
+
+const myUA = 'Mozilla/5.0 MyBrowser/1.3';
+
+const myParser = new UAParser({ browser: myOwnListOfBrowsers });
+
+console.log(myParser.setUA(myUA).getBrowser());  // {name: "MyBrowser", version: "1.3", major: "1", type : "bot"}
+console.log(myParser.getBrowser().is('bot'));    // true
js
// Another example:
+const myOwnListOfDevices = [
+    [/(mytab) ([\\w ]+)/i], [UAParser.DEVICE.VENDOR, UAParser.DEVICE.MODEL, [UAParser.DEVICE.TYPE, UAParser.DEVICE.TABLET]],
+    [/(myphone)/i], [UAParser.DEVICE.VENDOR, [UAParser.DEVICE.TYPE, UAParser.DEVICE.MOBILE]]
+];
+
+const myUA2 = 'Mozilla/5.0 MyTab 14 Pro Max';
+
+const myParser2 = new UAParser({
+    browser: myOwnListOfBrowsers,
+    device: myOwnListOfDevices
+});
+
+console.log(myParser2.setUA(myUA2).getDevice());  // {vendor: "MyTab", model: "14 Pro Max", type: "tablet"}

INFO

When custom regexes passed into UAParser constructor, they will be ordered before internal regexes, thus when the parser runs they will get checked first.

Use Predefined Extensions Submodule ​

Some basic extensions (although not very complete at the moment) can also be found under ua-parser-js/extensions↗ submodule.

js
// Usage example
+import { UAParser } from 'ua-parser-js';
+import { Emails } from 'ua-parser-js/extensions';
+
+const ua = 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0';
+const browser = new UAParser(Emails)
+                    .setUA(ua)
+                    .getBrowser();
+
+console.log(browser.toString()); // Thunderbird 78.13.0
`,10),e=[o];function r(t,c,D,y,A,F){return a(),n("div",null,e)}const u=s(p,[["render",r]]);export{i as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.lean.js b/docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.lean.js new file mode 100644 index 0000000..b4aa759 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const i=JSON.parse('{"title":"Extending Regex","description":"","frontmatter":{},"headers":[],"relativePath":"intro/extending-regex.md","lastUpdated":null}'),p={name:"intro/extending-regex.md"},o=l("",10),e=[o];function r(t,c,D,y,A,F){return a(),n("div",null,e)}const u=s(p,[["render",r]]);export{i as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.js new file mode 100644 index 0000000..4ac8d00 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,N as s}from"./chunks/framework.eb892692.js";const k=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/quick-start.md","lastUpdated":null}'),e={name:"intro/quick-start/quick-start.md"},i=s('

Quick Start ​

Choose your fighter development strategy:

',3),o=[i];function c(u,l,n,d,_,p){return r(),a("div",null,o)}const m=t(e,[["render",c]]);export{k as __pageData,m as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.lean.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.lean.js new file mode 100644 index 0000000..679042c --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_quick-start.md.3fcc54ad.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,N as s}from"./chunks/framework.eb892692.js";const k=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/quick-start.md","lastUpdated":null}'),e={name:"intro/quick-start/quick-start.md"},i=s("",3),o=[i];function c(u,l,n,d,_,p){return r(),a("div",null,o)}const m=t(e,[["render",c]]);export{k as __pageData,m as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.js new file mode 100644 index 0000000..196bbc1 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.js @@ -0,0 +1,8 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const F=JSON.parse('{"title":"Using ES Modules","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-es-modules.md","lastUpdated":null}'),o={name:"intro/quick-start/using-es-modules.md"},e=l(`

Using ES Modules ​

sh
$ npm install ua-parser-js

Code Example ​

js
import { UAParser } from 'ua-parser-js';
+
+const { browser, cpu, device } = UAParser('Mozilla/5.0 (X11; U; Linux armv7l; en-GB; rv:1.9.2a1pre) Gecko/20090928 Firefox/3.5 Maemo Browser 1.4.1.22 RX-51 N900');
+
+console.log(browser.name);          // Maemo Browser
+console.log(cpu.is('arm'));         // true
+console.log(device.is('mobile'));   // true
+console.log(device.model);          // N900
`,4),p=[e];function r(t,c,D,i,y,A){return n(),a("div",null,p)}const d=s(o,[["render",r]]);export{F as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.lean.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.lean.js new file mode 100644 index 0000000..038778f --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-es-modules.md.add772ad.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as l}from"./chunks/framework.eb892692.js";const F=JSON.parse('{"title":"Using ES Modules","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-es-modules.md","lastUpdated":null}'),o={name:"intro/quick-start/using-es-modules.md"},e=l("",4),p=[e];function r(t,c,D,i,y,A){return n(),a("div",null,p)}const d=s(o,[["render",r]]);export{F as __pageData,d as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.js new file mode 100644 index 0000000..f96a323 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.js @@ -0,0 +1,67 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const u=JSON.parse('{"title":"Using HTML","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-html.md","lastUpdated":null}'),p={name:"intro/quick-start/using-html.md"},o=l(`

Using HTML ​


Code Example ​

html
<!doctype html>
+<html>
+<head>
+<script src="ua-parser.min.js"></script>
+<script>
+
+    var uap = new UAParser();
+    console.log(uap.getResult());
+    /*
+        /// This will print an object structured like this:
+        {
+            ua: "",
+            browser: {
+                name: "",
+                version: "",
+                major: ""
+            },
+            engine: {
+                name: "",
+                version: ""
+            },
+            os: {
+                name: "",
+                version: ""
+            },
+            device: {
+                model: "",
+                type: "",
+                vendor: ""
+            },
+            cpu: {
+                architecture: ""
+            }
+        }
+    */
+    // Default result depends on current window.navigator.userAgent value
+
+    // Now let's try a custom user-agent string as an example
+    var uastring1 = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2";
+    uap.setUA(uastring1);
+    var result = uap.getResult();
+    // You can also use UAParser constructor directly without having to create an instance:
+    // var ua = UAParser(uastring1);
+
+    console.log(result.browser);        // {name: "Chromium", version: "15.0.874.106"}
+    console.log(result.device);         // {model: undefined, type: undefined, vendor: undefined}
+    console.log(result.os);             // {name: "Ubuntu", version: "11.10"}
+    console.log(result.os.version);     // "11.10"
+    console.log(result.engine.name);    // "WebKit"
+    console.log(result.cpu.architecture);   // "amd64"
+
+    // Do some other tests
+    var uastring2 = "Mozilla/5.0 (compatible; Konqueror/4.1; OpenBSD) KHTML/4.1.4 (like Gecko)";
+    console.log(uap.setUA(uastring2).getBrowser().name); // "Konqueror"
+    console.log(uap.getOS());                            // {name: "OpenBSD", version: undefined}
+    console.log(uap.getEngine());                        // {name: "KHTML", version: "4.1.4"}
+
+    var uastring3 = 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Version/7.1.0.7 Safari/534.11';
+    console.log(uap.setUA(uastring3).getDevice().model); // "PlayBook"
+    console.log(uap.getOS())                             // {name: "RIM Tablet OS", version: "1.0.0"}
+    console.log(uap.getBrowser().name);                  // "Safari"
+
+</script>
+</head>
+<body>
+</body>
+</html>
`,5),e=[o];function t(r,c,i,y,D,F){return a(),n("div",null,e)}const C=s(p,[["render",t]]);export{u as __pageData,C as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.lean.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.lean.js new file mode 100644 index 0000000..03e7e52 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-html.md.c26425e5.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const u=JSON.parse('{"title":"Using HTML","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-html.md","lastUpdated":null}'),p={name:"intro/quick-start/using-html.md"},o=l("",5),e=[o];function t(r,c,i,y,D,F){return a(),n("div",null,e)}const C=s(p,[["render",t]]);export{u as __pageData,C as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.js new file mode 100644 index 0000000..c46e263 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.js @@ -0,0 +1,27 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const F=JSON.parse('{"title":"Using jQuery/Zepto ($.ua)","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-jquery.md","lastUpdated":null}'),o={name:"intro/quick-start/using-jquery.md"},p=l(`

Using jQuery/Zepto ($.ua) ​

Although written in vanilla js, this library will automatically detect if jQuery/Zepto is present and create $.ua object (with values based on its User-Agent) along with window.UAParser constructor. To get/set user-agent you can use:

$.ua.get():string ​

Get user-agent string

$.ua.set(ua:string) ​

Set user-agent string

Code Example ​

js
// Say we are in a browser which has default user-agent: 
+// "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0"
+
+// Get the details
+console.log($.ua.device);           // {vendor: "HTC", model: "Evo Shift 4G", type: "mobile"}
+console.log($.ua.os);               // {name: "Android", version: "2.3.4"}
+console.log($.ua.os.name);          // "Android"
+console.log($.ua.get());            // "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0"
+
+// Now lets try to reset to another custom user-agent
+$.ua.set('Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build/HWI69) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13');
+
+// Test again
+console.log($.ua.browser.name);     // "Safari"
+console.log($.ua.engine.name);      // "Webkit"
+console.log($.ua.device);           // {vendor: "Motorola", model: "Xoom", type: "tablet"}
+console.log($.ua.browser.version);  // "4.0"
+console.log($.ua.browser.major);    // "4"
+
+// Add class to <body> tag
+// <body class="ua-browser-safari ua-devicetype-tablet">
+$('body')
+    .addClass(
+        'ua-browser-' + 
+        $.ua.browser.name + 
+        ' ua-devicetype-' + 
+        $.ua.device.type);
`,8),e=[p];function t(r,c,y,i,D,A){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{F as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.lean.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.lean.js new file mode 100644 index 0000000..7f79378 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-jquery.md.a8bfabfc.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const F=JSON.parse('{"title":"Using jQuery/Zepto ($.ua)","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-jquery.md","lastUpdated":null}'),o={name:"intro/quick-start/using-jquery.md"},p=l("",8),e=[p];function t(r,c,y,i,D,A){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{F as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.js new file mode 100644 index 0000000..8e2c197 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.js @@ -0,0 +1,25 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const A=JSON.parse('{"title":"Using Node.js","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-node-js.md","lastUpdated":null}'),p={name:"intro/quick-start/using-node-js.md"},e=l(`

Using Node.js ​

sh
$ npm install ua-parser-js

Code Example ​

js
var http = require('http');
+var uap = require('ua-parser-js');
+
+http.createServer(function (req, res) {
+    // get user-agent header
+    var ua = uap(req.headers['user-agent']);
+
+    /* // BEGIN since@2.0 - you can also pass client-hints data to UAParser
+
+    // note: only works in secure context (https:// or localhost or file://)
+
+    var getHighEntropyValues = 'Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness';
+    res.setHeader('Accept-CH', getHighEntropyValues);
+    res.setHeader('Critical-CH', getHighEntropyValues);
+    
+    var ua = uap(req.headers).withClientHints();
+
+    // END since@2.0 */
+
+    // write the result as response
+    res.end(JSON.stringify(ua, null, '  '));
+})
+.listen(1337, '127.0.0.1');
+
+console.log('Server running at http://127.0.0.1:1337/');
`,4),o=[e];function r(t,c,i,y,D,F){return a(),n("div",null,o)}const u=s(p,[["render",r]]);export{A as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.lean.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.lean.js new file mode 100644 index 0000000..a0dd4b4 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-node-js.md.d0e3ffe9.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const A=JSON.parse('{"title":"Using Node.js","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-node-js.md","lastUpdated":null}'),p={name:"intro/quick-start/using-node-js.md"},e=l("",4),o=[e];function r(t,c,i,y,D,F){return a(),n("div",null,o)}const u=s(p,[["render",r]]);export{A as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.js new file mode 100644 index 0000000..ad7db1c --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.js @@ -0,0 +1,9 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"Using TypeScript","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-typescript.md","lastUpdated":null}'),l={name:"intro/quick-start/using-typescript.md"},p=e(`

Using TypeScript ​

sh
$ npm install --save ua-parser-js
+# Install ua-parser-js
+
+$ npm install --save-dev @types/ua-parser-js
+# Download type definition from DefinitelyTyped repository
+# https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ua-parser-js

Code Example ​

js
import { UAParser } from 'ua-parser-js'; 
+
+const parser = new UAParser();
+console.log(parser.getResult());
`,4),o=[p];function t(r,c,i,y,D,C){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{d as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.lean.js b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.lean.js new file mode 100644 index 0000000..3703294 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_quick-start_using-typescript.md.c1578797.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,N as e}from"./chunks/framework.eb892692.js";const d=JSON.parse('{"title":"Using TypeScript","description":"","frontmatter":{},"headers":[],"relativePath":"intro/quick-start/using-typescript.md","lastUpdated":null}'),l={name:"intro/quick-start/using-typescript.md"},p=e("",4),o=[p];function t(r,c,i,y,D,C){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{d as __pageData,u as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.js b/docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.js new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.js @@ -0,0 +1,25 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const D=JSON.parse('{"title":"Why UAParser.js","description":"","frontmatter":{},"headers":[],"relativePath":"intro/why-ua-parser-js.md","lastUpdated":null}'),e={name:"intro/why-ua-parser-js.md"},p=l(`

Why UAParser.js ​


This illustration sums up why:

js
// Consider we got this user-agent (yes it's real):
+const ua = \`Mozilla/5.0 (Linux; Android 10; STK-LX1 
+Build/HONORSTK-LX1; wv) AppleWebKit/537.36 (KHTML, 
+like Gecko) Version/4.0 Chrome/110.0.5481.153 Mobile 
+Safari/537.36 musical_ly_2022803040 JsSdk/1.0 
+NetType/WIFI Channel/huaweiadsglobal_int 
+AppName/musical_ly app_version/28.3.4 ByteLocale/en 
+ByteFullLocale/en Region/IQ Spark/1.2.7-alpha.8 
+AppVersion/28.3.4 PIA/1.5.11 BytedanceWebview/d8a21c6\`;
+
+// what???

Worry not:

js
// Just pass it to \`UAParser\`
+const parser = new UAParser(ua);
+
+// And voila!
+console.log(parser.getBrowser());
+// { name : "TikTok", version : "28.3.4", major : "28" }
+
+console.log(parser.getEngine());
+// { name : "Blink", version : "110.0.5481.153" }
+
+console.log(parser.getDevice());
+// { type : "mobile", vendor : "Huawei", model : "STK-LX1" }
+
+console.log(parser.getOS());
+// { name : "Android", version : "10" }
`,6),o=[p];function r(t,c,i,y,u,A){return a(),n("div",null,o)}const F=s(e,[["render",r]]);export{D as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.lean.js b/docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.lean.js new file mode 100644 index 0000000..05f5f3e --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_why-ua-parser-js.md.b5f993b6.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const D=JSON.parse('{"title":"Why UAParser.js","description":"","frontmatter":{},"headers":[],"relativePath":"intro/why-ua-parser-js.md","lastUpdated":null}'),e={name:"intro/why-ua-parser-js.md"},p=l("",6),o=[p];function r(t,c,i,y,u,A){return a(),n("div",null,o)}const F=s(e,[["render",r]]);export{D as __pageData,F as default}; diff --git a/docs/v2/.vitepress/dist/assets/style.57130259.css b/docs/v2/.vitepress/dist/assets/style.57130259.css new file mode 100644 index 0000000..27e1d88 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/style.57130259.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/ua-parser-js/docs/v2/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/ua-parser-js/docs/v2/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-text-dark-3);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info th{color:var(--vp-custom-block-info-text)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip th{color:var(--vp-custom-block-tip-text)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning th{color:var(--vp-custom-block-warning-text)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger th{color:var(--vp-custom-block-danger-text)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details th{color:var(--vp-custom-block-details-text)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:10;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-text-dark-3);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-2624088a]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-2624088a],h2 .VPBadge[data-v-2624088a],h3 .VPBadge[data-v-2624088a],h4 .VPBadge[data-v-2624088a],h5 .VPBadge[data-v-2624088a],h6 .VPBadge[data-v-2624088a]{vertical-align:top}h2 .VPBadge[data-v-2624088a]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-2624088a]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-2624088a]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-2624088a]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-2624088a]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-b1e5adb7]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-b1e5adb7]:focus{height:auto;width:auto;clip:auto;clip-path:none}.dark .VPSkipLink[data-v-b1e5adb7]{color:var(--vp-c-green)}@media (min-width: 1280px){.VPSkipLink[data-v-b1e5adb7]{top:14px;left:16px}}.VPBackdrop[data-v-b06cdb19]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b06cdb19],.VPBackdrop.fade-leave-to[data-v-b06cdb19]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b06cdb19]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b06cdb19]{display:none}}html:not(.dark) .VPImage.dark[data-v-5666d3c1]{display:none}.dark .VPImage.light[data-v-5666d3c1]{display:none}.title[data-v-4b4b99f1]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}.title[data-v-4b4b99f1]:hover{opacity:.6}@media (min-width: 960px){.title[data-v-4b4b99f1]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-4b4b99f1]{border-bottom-color:var(--vp-c-divider)}}[data-v-4b4b99f1] .logo{margin-right:8px;height:24px}/*! @docsearch/css 3.3.3 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"\bb "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:32px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--e33de7f2);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.icon[data-v-40bbea7a]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-42f218ec]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-42f218ec],.VPNavBarMenuLink[data-v-42f218ec]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-ec28281a]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-ec28281a]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-ec28281a]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-ec28281a]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-48c802d0]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-48c802d0]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-48c802d0]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-48c802d0]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-97491713]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-97491713] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-97491713] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-97491713] .group:last-child{padding-bottom:0}.VPMenu[data-v-97491713] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-97491713] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-97491713] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-97491713] .action{padding-left:24px}.VPFlyout[data-v-e4ec5600]{position:relative}.VPFlyout[data-v-e4ec5600]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-e4ec5600]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-e4ec5600]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-e4ec5600]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-e4ec5600]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-e4ec5600],.button[aria-expanded=true]+.menu[data-v-e4ec5600]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-e4ec5600]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-e4ec5600]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-e4ec5600]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-e4ec5600]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-e4ec5600]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-e4ec5600]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-492ea56d]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-492ea56d]{display:flex}}.VPNavBarTranslations[data-v-bb3d9832]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-bb3d9832]{display:flex;align-items:center}}.title[data-v-bb3d9832]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-0832a754]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-0832a754]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-0832a754]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-0832a754]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-0832a754] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-0832a754] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-12bb4a49]{opacity:1}.moon[data-v-12bb4a49],.dark .sun[data-v-12bb4a49]{opacity:0}.dark .moon[data-v-12bb4a49]{opacity:1}.dark .VPSwitchAppearance[data-v-12bb4a49] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-98566150]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-98566150]{display:flex;align-items:center}}.VPSocialLink[data-v-ac1ebd17]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-ac1ebd17]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-ac1ebd17]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-5f80acc1]{display:flex;flex-wrap:wrap;justify-content:center}.VPNavBarSocialLinks[data-v-164c457f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-164c457f]{display:flex;align-items:center}}.VPNavBarExtra[data-v-608cba8b]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-608cba8b]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-608cba8b]{display:none}}.trans-title[data-v-608cba8b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-608cba8b],.item.social-links[data-v-608cba8b]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-608cba8b]{min-width:176px}.appearance-action[data-v-608cba8b]{margin-right:-2px}.social-links-list[data-v-608cba8b]{margin:-4px -8px}.VPNavBarHamburger[data-v-5dea55bf]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-5dea55bf]{display:none}}.container[data-v-5dea55bf]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-5dea55bf]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-5dea55bf]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-5dea55bf]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-5dea55bf],.VPNavBarHamburger.active:hover .middle[data-v-5dea55bf],.VPNavBarHamburger.active:hover .bottom[data-v-5dea55bf]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-5dea55bf],.middle[data-v-5dea55bf],.bottom[data-v-5dea55bf]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-5dea55bf]{top:0;left:0;transform:translate(0)}.middle[data-v-5dea55bf]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-5dea55bf]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-b1bba9bb]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);transition:border-color .5s,background-color .5s;pointer-events:none}.VPNavBar.has-sidebar[data-v-b1bba9bb]{border-bottom-color:var(--vp-c-gutter)}@media (min-width: 768px){.VPNavBar[data-v-b1bba9bb]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-b1bba9bb]{border-bottom-color:transparent;padding:0}.VPNavBar.fill[data-v-b1bba9bb]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-b1bba9bb]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container[data-v-b1bba9bb] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-b1bba9bb]{max-width:100%}}.title[data-v-b1bba9bb]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-b1bba9bb]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-b1bba9bb]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-b1bba9bb]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-b1bba9bb]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-b1bba9bb]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-b1bba9bb]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-b1bba9bb],.VPNavBar.fill .content-body[data-v-b1bba9bb]{position:relative;background-color:var(--vp-nav-bg-color)}}.menu+.translations[data-v-b1bba9bb]:before,.menu+.appearance[data-v-b1bba9bb]:before,.menu+.social-links[data-v-b1bba9bb]:before,.translations+.appearance[data-v-b1bba9bb]:before,.appearance+.social-links[data-v-b1bba9bb]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-b1bba9bb]:before,.translations+.appearance[data-v-b1bba9bb]:before{margin-right:16px}.appearance+.social-links[data-v-b1bba9bb]:before{margin-left:16px}.social-links[data-v-b1bba9bb]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-b1bba9bb]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-b1bba9bb]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-b1bba9bb]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-77e33ec4]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-77e33ec4]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-ba699804]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-ba699804]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-fdc70419]{display:block}.title[data-v-fdc70419]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-ef3d30f9]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-ef3d30f9]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-ef3d30f9]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-ef3d30f9]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-ef3d30f9]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-ef3d30f9]{transform:rotate(45deg)}.button[data-v-ef3d30f9]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-ef3d30f9]:hover{color:var(--vp-c-brand)}.button-icon[data-v-ef3d30f9]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-ef3d30f9]:first-child{padding-top:0}.group+.group[data-v-ef3d30f9],.group+.item[data-v-ef3d30f9]{padding-top:4px}.VPNavScreenAppearance[data-v-b557c0fb]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-b557c0fb]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-56996409]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-56996409]{height:auto}.title[data-v-56996409]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-56996409]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-56996409]{margin-right:8px}.icon.chevron[data-v-56996409]{margin-left:4px}.list[data-v-56996409]{padding:4px 0 0 24px}.link[data-v-56996409]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-92d935ac]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-92d935ac],.VPNavScreen.fade-leave-active[data-v-92d935ac]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-92d935ac],.VPNavScreen.fade-leave-active .container[data-v-92d935ac]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-92d935ac],.VPNavScreen.fade-leave-to[data-v-92d935ac]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-92d935ac],.VPNavScreen.fade-leave-to .container[data-v-92d935ac]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-92d935ac]{display:none}}.container[data-v-92d935ac]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-92d935ac],.menu+.appearance[data-v-92d935ac],.translations+.appearance[data-v-92d935ac]{margin-top:24px}.menu+.social-links[data-v-92d935ac]{margin-top:16px}.appearance+.social-links[data-v-92d935ac]{margin-top:16px}.VPNav[data-v-7c10a9e2]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-7c10a9e2]{position:fixed}}.root[data-v-3e213931]{position:relative;z-index:1}.nested[data-v-3e213931]{padding-left:13px}.outline-link[data-v-3e213931]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-3e213931]:hover,.outline-link.active[data-v-3e213931]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-3e213931]{padding-left:13px}.VPLocalNavOutlineDropdown[data-v-7526cab1]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-7526cab1]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-7526cab1]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-7526cab1]{color:var(--vp-c-text-1)}.icon[data-v-7526cab1]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-7526cab1] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-7526cab1]{transform:rotate(90deg)}.items[data-v-7526cab1]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-7526cab1]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-7526cab1]{transition:all .2s ease-out}.flyout-leave-active[data-v-7526cab1]{transition:all .15s ease-in}.flyout-enter-from[data-v-7526cab1],.flyout-leave-to[data-v-7526cab1]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-117fc0fa]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-117fc0fa]{display:none}}.menu[data-v-117fc0fa]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-117fc0fa]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-117fc0fa]{padding:0 32px}}.menu-icon[data-v-117fc0fa]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-117fc0fa]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-117fc0fa]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-9a82e1d6]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-9a82e1d6]{padding-bottom:10px}.item[data-v-9a82e1d6]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-9a82e1d6]{cursor:pointer}.indicator[data-v-9a82e1d6]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-9a82e1d6],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-9a82e1d6],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-9a82e1d6],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-9a82e1d6]{background-color:var(--vp-c-brand)}.link[data-v-9a82e1d6]{display:flex;align-items:center;flex-grow:1}.text[data-v-9a82e1d6]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-9a82e1d6]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-9a82e1d6],.VPSidebarItem.level-2 .text[data-v-9a82e1d6],.VPSidebarItem.level-3 .text[data-v-9a82e1d6],.VPSidebarItem.level-4 .text[data-v-9a82e1d6],.VPSidebarItem.level-5 .text[data-v-9a82e1d6]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-9a82e1d6],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-9a82e1d6],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-9a82e1d6],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-9a82e1d6],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-9a82e1d6],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-9a82e1d6]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-9a82e1d6],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-9a82e1d6],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-9a82e1d6],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-9a82e1d6],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-9a82e1d6],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-9a82e1d6]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-9a82e1d6],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-9a82e1d6],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-9a82e1d6],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-9a82e1d6],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-9a82e1d6],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-9a82e1d6]{color:var(--vp-c-brand)}.caret[data-v-9a82e1d6]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-9a82e1d6]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-9a82e1d6]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-9a82e1d6]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-9a82e1d6]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-9a82e1d6],.VPSidebarItem.level-2 .items[data-v-9a82e1d6],.VPSidebarItem.level-3 .items[data-v-9a82e1d6],.VPSidebarItem.level-4 .items[data-v-9a82e1d6],.VPSidebarItem.level-5 .items[data-v-9a82e1d6]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-9a82e1d6]{display:none}.VPSidebar[data-v-0640f721]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease}.VPSidebar.open[data-v-0640f721]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-0640f721]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-0640f721]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-0640f721]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-0640f721]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-0640f721]{outline:0}.group+.group[data-v-0640f721]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-0640f721]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-3b59a1dc]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-3b59a1dc]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-3b59a1dc]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-3b59a1dc]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-3b59a1dc]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-3b59a1dc]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-3b59a1dc]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-3b59a1dc]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-3b59a1dc]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-3b59a1dc]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-3b59a1dc]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-3b59a1dc]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-3b59a1dc]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-ef8a39f0]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-ef8a39f0]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-ef8a39f0]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-ef8a39f0]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-ef8a39f0]{flex-direction:row}}.main[data-v-ef8a39f0]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-ef8a39f0]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-ef8a39f0]{text-align:left}}@media (min-width: 960px){.main[data-v-ef8a39f0]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-ef8a39f0]{max-width:592px}}.name[data-v-ef8a39f0],.text[data-v-ef8a39f0]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-ef8a39f0],.VPHero.has-image .text[data-v-ef8a39f0]{margin:0 auto}.name[data-v-ef8a39f0]{color:var(--vp-home-hero-name-color)}.clip[data-v-ef8a39f0]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-ef8a39f0],.text[data-v-ef8a39f0]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-ef8a39f0],.text[data-v-ef8a39f0]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-ef8a39f0],.VPHero.has-image .text[data-v-ef8a39f0]{margin:0}}.tagline[data-v-ef8a39f0]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-ef8a39f0]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-ef8a39f0]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-ef8a39f0]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-ef8a39f0]{margin:0}}.actions[data-v-ef8a39f0]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-ef8a39f0]{justify-content:center}@media (min-width: 640px){.actions[data-v-ef8a39f0]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-ef8a39f0]{justify-content:flex-start}}.action[data-v-ef8a39f0]{flex-shrink:0;padding:6px}.image[data-v-ef8a39f0]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-ef8a39f0]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-ef8a39f0]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-ef8a39f0]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-ef8a39f0]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-ef8a39f0]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-ef8a39f0]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-ef8a39f0]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-ef8a39f0]{width:320px;height:320px}}[data-v-ef8a39f0] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-ef8a39f0] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-ef8a39f0] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-13a88a6c]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-13a88a6c]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-13a88a6c]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-13a88a6c] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-13a88a6c]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-13a88a6c]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-13a88a6c]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-13a88a6c]{padding-top:8px}.link-text-value[data-v-13a88a6c]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-13a88a6c]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-84141c71]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-84141c71]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-84141c71]{padding:0 64px}}.container[data-v-84141c71]{margin:0 auto;max-width:1152px}.items[data-v-84141c71]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-84141c71]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-84141c71],.item.grid-4[data-v-84141c71],.item.grid-6[data-v-84141c71]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-84141c71],.item.grid-4[data-v-84141c71]{width:50%}.item.grid-3[data-v-84141c71],.item.grid-6[data-v-84141c71]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-84141c71]{width:25%}}.VPHome[data-v-c3f834ca]{padding-bottom:96px}.VPHome[data-v-c3f834ca] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-c3f834ca]{padding-bottom:128px}}.VPDocAsideOutline[data-v-9bb6ddc9]{display:none}.VPDocAsideOutline.has-outline[data-v-9bb6ddc9]{display:block}.content[data-v-9bb6ddc9]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-9bb6ddc9]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-9bb6ddc9]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-6d7b3c46]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-6d7b3c46]{flex-grow:1}.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-6d7b3c46] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-6d7b3c46] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-f84fa165]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-f84fa165]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-10d8714f]{margin-top:64px}.edit-info[data-v-10d8714f]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-10d8714f]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-10d8714f]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-10d8714f]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-10d8714f]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-10d8714f]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-10d8714f]{display:flex}}.pager.has-prev[data-v-10d8714f]{padding-top:8px}@media (min-width: 640px){.pager[data-v-10d8714f]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-10d8714f]{padding-top:0;padding-left:16px}}.pager-link[data-v-10d8714f]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-10d8714f]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-10d8714f]{margin-left:auto;text-align:right}.desc[data-v-10d8714f]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-10d8714f]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-c8bfe2f9]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-c8bfe2f9]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-c8bfe2f9]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-c8bfe2f9]{color:var(--vp-c-text-1)}.icon[data-v-c8bfe2f9]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-c8bfe2f9] .outline-link{font-size:13px}.open>.icon[data-v-c8bfe2f9]{transform:rotate(90deg)}.items[data-v-c8bfe2f9]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-39b3cdb2]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-39b3cdb2]{display:none}@media (min-width: 960px) and (max-width: 1280px){.VPDoc .VPDocOutlineDropdown[data-v-39b3cdb2]{display:block}}@media (min-width: 768px){.VPDoc[data-v-39b3cdb2]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39b3cdb2]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39b3cdb2]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39b3cdb2]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39b3cdb2]{display:flex;justify-content:center}.VPDoc .aside[data-v-39b3cdb2]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39b3cdb2]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39b3cdb2]{max-width:1104px}}.container[data-v-39b3cdb2]{margin:0 auto;width:100%}.aside[data-v-39b3cdb2]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39b3cdb2]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39b3cdb2]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-39b3cdb2]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39b3cdb2]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39b3cdb2]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-39b3cdb2]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39b3cdb2]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39b3cdb2]{order:1;margin:0;min-width:640px}}.content-container[data-v-39b3cdb2]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39b3cdb2]{max-width:688px}.NotFound[data-v-6163eb66]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-6163eb66]{padding:96px 32px 168px}}.code[data-v-6163eb66]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-6163eb66]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-6163eb66]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-6163eb66]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-6163eb66]{padding-top:20px}.link[data-v-6163eb66]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-6163eb66]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPContent[data-v-9d78bab4]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-9d78bab4]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-9d78bab4]{margin:0}@media (min-width: 960px){.VPContent[data-v-9d78bab4]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-9d78bab4]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-9d78bab4]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-c7eeb802]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-c7eeb802]{display:none}@media (min-width: 768px){.VPFooter[data-v-c7eeb802]{padding:32px}}.container[data-v-c7eeb802]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c7eeb802],.copyright[data-v-c7eeb802]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.message[data-v-c7eeb802]{order:2}.copyright[data-v-c7eeb802]{order:1}.Layout[data-v-1d113308]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-5ce22bb9]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-5ce22bb9]{margin:0 auto;max-width:1152px}.love[data-v-5ce22bb9]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-5ce22bb9]{width:28px;height:28px;fill:currentColor}.message[data-v-5ce22bb9]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-5ce22bb9]{padding-top:32px}.action[data-v-5ce22bb9]{padding-top:40px;text-align:center}.VPTeamPage[data-v-679de4be]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-679de4be]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-679de4be-s],.VPTeamMembers+.VPTeamPageSection[data-v-679de4be-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-679de4be-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-679de4be-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-679de4be-s],.VPTeamMembers+.VPTeamPageSection[data-v-679de4be-s]{margin-top:96px}}.VPTeamMembers[data-v-679de4be-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-679de4be-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-679de4be-s]{padding:0 64px}}.VPTeamPageTitle[data-v-e277e15c]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e277e15c]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e277e15c]{padding:80px 64px 48px}}.title[data-v-e277e15c]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-e277e15c]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-e277e15c]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e277e15c]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-d43bc49d]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-d43bc49d]{padding:0 64px}}.title[data-v-d43bc49d]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-d43bc49d]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-d43bc49d]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-d43bc49d]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-d43bc49d]{padding-top:40px}.VPTeamMembersItem[data-v-20db3c9f]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-20db3c9f]{padding:32px}.VPTeamMembersItem.small .data[data-v-20db3c9f]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-20db3c9f]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-20db3c9f]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-20db3c9f]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-20db3c9f]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-20db3c9f]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-20db3c9f]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-20db3c9f]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-20db3c9f]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-20db3c9f]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-20db3c9f]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-20db3c9f]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-20db3c9f]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-20db3c9f]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-20db3c9f]{text-align:center}.avatar[data-v-20db3c9f]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-20db3c9f]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-20db3c9f]{margin:0;font-weight:600}.affiliation[data-v-20db3c9f]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-20db3c9f]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-20db3c9f]:hover{color:var(--vp-c-brand)}.desc[data-v-20db3c9f]{margin:0 auto}.links[data-v-20db3c9f]{display:flex;justify-content:center;height:56px}.sp-link[data-v-20db3c9f]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-20db3c9f]:hover,.sp .sp-link.link[data-v-20db3c9f]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-20db3c9f]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-5692f2f2]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-5692f2f2]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-5692f2f2]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-5692f2f2]{max-width:876px}.VPTeamMembers.medium .container[data-v-5692f2f2]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-5692f2f2]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-5692f2f2]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-5692f2f2]{max-width:760px}.container[data-v-5692f2f2]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.VPCarbonAds[data-v-6e6a73ad]{display:flex;justify-content:center;align-items:center;padding:24px;border-radius:12px;min-height:256px;text-align:center;line-height:18px;font-size:12px;font-weight:500;background-color:var(--vp-carbon-ads-bg-color)}.VPCarbonAds[data-v-6e6a73ad] img{margin:0 auto;border-radius:6px}.VPCarbonAds[data-v-6e6a73ad] .carbon-text{display:block;margin:0 auto;padding-top:12px;color:var(--vp-carbon-ads-text-color);transition:color .25s}.VPCarbonAds[data-v-6e6a73ad] .carbon-text:hover{color:var(--vp-carbon-ads-hover-text-color)}.VPCarbonAds[data-v-6e6a73ad] .carbon-poweredby{display:block;padding-top:6px;font-size:11px;font-weight:500;color:var(--vp-carbon-ads-poweredby-color);text-transform:uppercase;transition:color .25s}.VPCarbonAds[data-v-6e6a73ad] .carbon-poweredby:hover{color:var(--vp-carbon-ads-hover-poweredby-color)} diff --git a/docs/v2/.vitepress/dist/hashmap.json b/docs/v2/.vitepress/dist/hashmap.json new file mode 100644 index 0000000..aca04d5 --- /dev/null +++ b/docs/v2/.vitepress/dist/hashmap.json @@ -0,0 +1 @@ +{"api_submodules_extensions.md":"af715bdb","api_submodules_enums.md":"67d01874","api_submodules_maps.md":"ae1e54e0","api_ua-parser-js_set-ua.md":"8907efd2","api_ua-parser-js_overview.md":"1d0cad56","api_ua-parser-js_get-ua.md":"0fa9fd7f","api_ua-parser-js_get-browser.md":"f4df1518","intro_quick-start_using-html.md":"c26425e5","intro_quick-start_using-typescript.md":"c1578797","api_ua-parser-js_get-result.md":"f65ecd4a","index.md":"9cfed7b9","api_idata_to-string.md":"20eaa222","api_ua-parser-js_get-cpu.md":"b4ef11dc","intro_quick-start_quick-start.md":"3fcc54ad","intro_quick-start_using-jquery.md":"a8bfabfc","intro_quick-start_using-es-modules.md":"add772ad","api_ua-parser-js_get-os.md":"71bcb7f0","api_ua-parser-js_get-engine.md":"93357cf9","intro_extending-regex.md":"83598a7d","api_idata_with-feature-check.md":"6b15066b","api_idata_is.md":"e021670c","intro_why-ua-parser-js.md":"b5f993b6","api_idata_with-client-hints.md":"ed97926a","api_ua-parser-js_get-device.md":"f2518671","intro_quick-start_using-node-js.md":"d0e3ffe9"} diff --git a/docs/v2/.vitepress/dist/images/illustration.png b/docs/v2/.vitepress/dist/images/illustration.png new file mode 100644 index 0000000000000000000000000000000000000000..aea390b39dd94b72d98012c136599f0b161a5cb7 GIT binary patch literal 169817 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 T6Y9R?8x}{cek(cRa{Ye*?$kXm literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/images/logo.png b/docs/v2/.vitepress/dist/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..275b2ef4b595078f76bf954a1ac9a6d786b2b708 GIT binary patch literal 55457 zcmeFZcRbdA`!{ZcQbH&ZPFf<_d*{rGL`Gy}oc7)$Bqb>-DKqLMdn8E+EtHI8Wf$2i zJNtLM&-0}ET%Y^?-QUOKzW=+f>+vbx@7Fk9$Llzr$9#9=>=`90N+wDoA|fgkWwaI% z5h?D!?d0&p>Bt5J{Po^f`@FlBsTa!G)ydMv9)oiCamJu9-Zqv*MBW_^XD{q|huXe6 zL@!N3!o^xGCDFt@_v;k-L|jS6CCV?tw+3v5rd54+a_~wy3eD}6=eZKorA+&I zP5*pc>nz;^mb|kje4(vkd#_LVWr&pVbOy#)552dpJsv>JdNZhW2S4kAeXM0}RqW}j z?Q)5O?nD7hBKoc>O~OV*M8sEZ6co;?C@5^62TqaTe^*-ho!o&+6It{z1~SP|F|_r= zGvtUDg5@W+N|YGrM@18o;=Mek&B0mmiyg38`1Oz z@4cP7ZhI}VdQA}pCco7d6x*F1he^4&gFXHNLx~A3diz?aDcUSm=4jY4?}$9VU%!0! z4e9p`tsf{;?XkG5fl9=bn9@4YXgC>24EgtM=T@Pd7N3rh-*+hBN6GjM^APr3K;nLW zff1j+?fGZNFBS*ue>{65Ei^eSQ?p!l?AcqNn*|0L`K{7RJKy;@U}DFFuHSvn@c?!5 z@-3#C^w%d7bi?WCY&tZ&e_cONp?o6N5X0ws{1GKXWIx45aBp|qwU0YQk0lV57~8KL zBzK=8sVi{^Wb5>t-L_qdRL`K(#DPdKDW$E`U~c88;s3Oh&FlxVS% zDUdsF8<4N_>S_|^P7WtbEu73SC%he;LGXx(q-4FFP0j5v?kF>im5rk`$5d$r2g=4m znnO=molo6a0b^~W?CXj-=X*xm+}F-r+=4?^hEmE~0v2$1t(VwO6Y{p2|k`v-Zq{B95R$BDOU?i2`#iDVF~z6n#0=N z-C2T{*UQW6gqPq6Cs!+8esOVeUOoX{0RbKu!QUJYf+6 zLH|0#O&ipdR}16jSwoRAS|%5ad5`X0%rd;(%r`LH?#ht4S9n*&Yy(9^sROO8ohaT++Y}`t}cOgGWS5p zQ$b5}Ap1*LIGNj6NZ@`HgDeG$pRj>-1o;H{#rgPUufGn zV9vRlBHZK`5##3<5)u&=5f>B^rc51cqa=ROP~M0(TMV(r0`d+Y~u#|``{koHR>G31^*lVS9=?rDxpv~rI0W+ z#~;DX)DvTYqZ8J`zcRNrb+p0&dJx2Q^SRBxhytIbu&|jKp8yZPI7Wy^$jnlJ$CO`~ zkH_5HLR`dLTv$L%%ak{;1!4`j#ns7+(jMxd$gA|2Dt@b7!RKi z&wnzEmvCTS1T!{IEXDgDJdwf;_yc5M9{w4C7hoap78nwEhQQAM!~YTP;{V|eu=Ia7 z`5*E3zwG)iyZ%QU_#X}auXO#FUH>Bv{Er6zSGxYMv5WF|IE8TpFUSjmrE#HDeF(J3 z%}y(!i8he`KPpSR2Tyi5E9<)v5uG@Q{73BlMAj1?Qn;(ApQ0GrMoDv6EGTf7C=n5g zNChpg?cFin?GvTF=rgpT(VaQ!-)kM0!)$H+NYC@m`S;~sqTZ*+-!G`yCyBpEPX5sP zHQ!v4HJs(>!IfLpt?Rt{RuWgrh%biHcLY{YIAUcJmoLxz>3k9p*X`#Y3G zYx7Yki6)8?9R%-Fwi9puctnmKd0rzsbdT{4$2K&X`3KxEO;P;t;%l5YxM7L(mk+z- zk)ao_l;HmML{Tc!lE6-XJVRwB5%$A;ciw@2huhML7QbiBJvugIJjq2Inf8kG$esvE z*w@=URaQc03{4muUvpZ&1UW z^@~Kv-jqkMm+9FFN5)>N=y}n$8+k53ttl5qL*ULPAF#_eI8mpzBZsc3!JiN}lXr`j z{YGAw&P+=2?m&|*XH(z~_nWm?&%kDfDrd^SAK!U|I}m-S>yF=BMy^#8cpJp&wY7Q> zXHrWYsh7O=S#~O5fyzJbt>(VJ=_C1a=H%aDp6kB4B zsyY6jBn8Fo+#-K-I)m87_y6$_k!BybN`j34rI!Ep3{-Xcpgx|YS^b?`(nPJ{n@`ld z9e)28y~aNxc@}}H+4~o*a8Z~`6CfgZ#rcDQ|N5x?8fd^4NAWNM*C-dZZKtMuE-g+? zkEAo>)fF_0bouEmvPX)@)&8%@Iu#DP>(l(TEQSV;IlpxfCx-}*{L7;k2k|%c54!Gf z;3OZ%DMV)xsQ6=-|J~jHr-Y;vv2*Pu)q4Nz-mcBHaEF3lrhnBEYrVHR>P2|4Me2Ie z&dc-!6x~t}GVF4D)|P_&zADYNaUGyeo9Oy++&YLlB3uh)>RP2t*&eF;;Uml6>{UxN z3HrC?#VbfQ^Is zx`08X1YmezXo&%@tZ*G$X9ZaI-wkAvXa*@nIVcGK!K6M}JVBt_1MA|%um%BqNi^l- ze;U`3V-`-9*;&6BrF>S8)^^J??9E@BIYNi>7kvq?9#F?-w%m^B=Ta4af%mU~mC z20oSed^-^;uwQeqJ{1V$|5tKnh6{FYvI?t6b86!Xa;GuB&y1If_62cjSiYBV5x;eC zF95Y%lqm5gHCrGQRax**v~UYe|G4HYXxx0}*&vAG%Kwco_%#^LquU*K(F{1?1eEJr zD5Y!o<_tIvVU=fKn@$mID;ak6_HXqefGptrmPT#j?#s|;Yqn8fUQ#yi<~PhDZUsRy zw$$%mo~08VtjQblK;iEEH#-nMzr)G4HeV}X&DIi@=kXG}nzC=F9KZ>lls6}}@7Qev z!1&wUi8@^v%t@H>*VjmY)$hYC4VoPHyckTR7s{d^Pgt(KWEvfK=i};uK_FE1J9vwIVu=`(-#?`n& zibJKpALD@HA43Vx#?xtkQ-awKh8yKP#q;}+3`S1k=pK?v#pd^KO7_**>wn6;Mu zzgYgZ5(+b-LjK24{E`FRLtJ;TJMg~ZrjLOr^g@AN5WPD7YBUiq2uDWPQejdVWs3Dl z+&zS1H$7<0+B_V9(=qwGlHsV`fgb@}&zs&b3@1Jo$2Uz_ZVNSQ^HS>ogO1=uZcCnN zDpxxiWGJ+R*l{N(Xcoep!M1<}afDoLqL9B~d{ED82!NdKO8UzLoEJ_cNSx^qA$9+&E`Td(JWxXsvCd$8ZI;$F@_KYhN$r=1id#euBE$UlM4cm z99duP#9pDa!M&f&Vgu*)55jAjz?HT~JoQ;_fKI|a{2@EFdAY5-2{W`WB4D)T3ptW0 zH(te^5|1GI-o_M&4QlD!+MeJQ%Z|RVTPN3i6K4`^n7ksnZBs8myF-`|!n9GArRRxk zZ<%z<5j11V0wBWp&xiI>dBB^2eE{EtV-p1J*}CoT@eDEdSpSe)R81b75Jzus>u&6( z?*>ep;RdB9s2)Ky5r6of&w@Bt@)U#8-?y=N|8W2U0iX&0rw>KyT~j%@p58%j@hd>h zpZE)#0!SWzz3oqrgAyGp+^~&u6E$#dXZl5AQZN!%z$}sC&}x%m%Z8GnW+8>nPQPsJ zNdCzm1Q`)*BtZX`9$KD9F!%3;fH7tv!fB4z$#((P1B7on_lTeg9!I3*+hv*K=EUiU zQ2gg1VE$%MgcBRf^K@gL1X#zvQLBby0!6^O#>;;Q5<$f7V2S?;)BNu`gexS3P=8-m z5Lh`H29z>BTKLodMsB6}nOHuN2!6^R07Jvjz{FCzmjW-)zwf;~F7GoS9!E%!nuWWxnNl^N)mf@HRG2A(5$hKkwU_+QwctrcZPiY&DDgC!8 zs%qg8vCITz|7(}`uuIYRf7wOVK0HGI->1MX1^+f>rn>muoz5hJ1OA7tMN%NUuM^OE zOW_g!61|`DA3BGFzgX7*ck7dWXL9k^xMiJTLgkQK%i|q3cssJ??3)FUX|73@v&7xO z@3NU<0p!=CX{jjLeDTMP{eH2l&{ zic}EC0}Y z7Wx%TOpr&Qotbt(9N-crf~=e(L=uQA?4S^p2BrbWhs)bGNdVJONUNDBABNDN{rPQ9 zIo@L7P2e|F4IN-CpfY90qdKa+a@uzYf>)a-kB%DKTn}XInYllHCRgaJ-5tB}jh$iy zFjqcH2sIGlwVk*j7iG6;qTUePBAmiqiQps{A%dc>U&dvQAb2_1{D>WAo(ON^Z3(U; z4eqcwX8tKXT%n;%e0ZaAB_tj7I}3yGsfJ)S$Y>eyf=zi+PWvg64UyOGVkcNJ{F`TP zVq}_cNEMG00Zj6ad6E}R|0Vc=hh=5)u_9I~uXF#es=p+8HCiLU^~Di2MtmYlGqIKB zuNbvm%UnezB2|O;oDfs%`kGa?G-6di`%Q}eQtxL^s)X$_87Nim9lhQB;jYhGZl|X? z4jlT35M8)(6FDMY;oa(tv``Sh><3~Xy_!$XMnCFEGzPiYwdMF=OGn!J>yt8;A6 zQoprZn~}Np`IsG8l0C3mpV8mD3zSvO%~|jmOMN%msBr$;n5mBOIO*(eDZVo(e)g;_@Ik_X#%Gv&2wKD4 zF#m1D)N)+bS6yoA&y-Ebnv`FPjJ%hO;^G4?a-BiU7b2y2;Ey#(?!WrnQoU|vT{1TI zn8DMFQlZas5u35+0-Wbc1WpR@HVWe#E@%~@>*CVNvQgHOWkq1_wNPP4ZaFE2*EGF!IaM{e@#6;)l;yS2u1I!43r{BkB8~T6n<139%Ezj|QW=yxf_7 zLD2N=*>Gl2BucS74;~<1_UW3{5q;1xOvu?USVO+rD=PHWMF)upXJU7!Fd8E_g^ZyO z9d#QWv-=_Tn0RBcDfPbXub+mn1Tl+Cg5<;B?UX0^z8Mygx6ryMe(!GP`)cNXf9IBB_Ot#Yg(d-J(gzQ?a z39IRaM@YkJxEsL+^2mOHoEEK)zPOrs6}|7eqp>*^VgoSyu$Mrdkh_f`(uA4d z(IepwNZqSE{Lo9AKF1$J^JAX7V(w!bo!`E&MbP7;3Mn2cHclddK?3nO;NpBe)46lW z1|{xVCyS0VQP~aDaN+qna}>Eo4!}u7r;1u%dQYRDq#ZqcX=n6_hw07QUPZWY57V}5 z>{sAB;FekFHqeKS;B*v%D9|Mk;v%AJV6SNSQls~*jGqU;f z*|ASKyvIJa&W$|5T@B5BMnnxy0YK6L7aaBaQ&bLf@$$|%FocJD;D;~-Dw911N9EmN z@6L z=O!i|+B!^}J$<^gq|{F?>Nbrqr*csGn>Hius0`D0uG(6WIemS{2ZqwPWn~q_#WPej zG)5OC1Nxb7kNx~U3!x6))2oRNjZ6`Ds{;Ay{#EwWQaxP6v8yTX`(E^P>_L_ODyl}W z@`BvnjqaALwwA80%-Nv}?(3^M55=3Z?;VZznE7$IY;6HUbN_O~QfLt~HP-P6506TJ zHMQocN}BNf=h8KkXQJXpC)-FABWlO?fwDqM*%#cfbZ-tWddiIQ@~SZDyGcp8;%+sC zHciAdm;tK@ufpgDdv^_2eEOiQtEl)agu21MLDtT0thq5+UBdZW_QIrej{nM;tinQ4 zw9l$I+q7f9ytcf2NUA#XladlzCfR_{x28@>_i1m4?XW+IIM!jGS5TvCf*zyk#@FS} zHGMv74tZGZOLkKYuUgwuQWb?=`p&8+h-rt17miL&HkSKaJ@**nFPr-kFA-QyhW7ah zn^^V--%L+Q3AL<0-qKY(keSZ72MI?&{cos@ZO85j;#9G<&n~phyTy1nE#utjLXWWv zaK}qr-=8LDW}0SZGNmFe=E8(zvQ=VxUR^wOR&w%Aba68&?V_kmOel!c7x1l~TQ_=} z^xoKx=D&J{6UQku%C_(QV;2)ujlQK1L@8(Lr%sy%Ri1zeWBABZ#2I>p?&(a zWGIsbHM*<&*Ee>q!-q33o7g~xCz8c zQP;Q!JD4I4#HM|`r({r?#>6}(NB`l{w&l%UfKUOhj0{cxpTXzmlG*&#+y-y;zv6$* z8hSZB$Xe!9;Pk!%VN6Zv<=wnE>WIlhpZT$v=eAmnwWP-v`_P5oJId>F{0e7sAy?AhfOVNq)Gw%+yPtPl$Jm(ZH$eM;h!bvcO}H~( zCSz59o`K#1><`9%X0~bmTQJp*jm)HDp`#31sLaLV`U3JvYvYC*lWWvi#8(85Lm*?a z{D`37sh#_DxAo0R9PoVZ>w#2#6p!w4aoBp!?T)gVcM?iSy+S9J{m;vfQyMLIKAf;5!P43+`JH6?$h5qtKFC97#>QrWV;O+xQ}RM zoiK4cXJ>a^LZSr0z1&<@ql%s<+Z%H`jLnuhOZ7MV9eb^>M<&zM~ob zpub?ZN2Qm#r*@BcRY;~}XVYUaPY{Jrey=Gu&Ix>-n>&QDN;}5OYgAdO&&1E6@h)WG z(D-CD21B;|`FiSzm8{=>^gNr^8-?bd--`_jGr1-^{bno*UO34JU zCosQRZlRKTA$xi8%rUN-=4^fQ=RULSh-r=of;|RQ{gQ0eRBqU={$kIB(7~ojRoKcPltyAi=_$@0jngTqmn6Cu5+p^f2~gCIuLPtInQM3%S~R^*4YNO=IQ=@{-3X^ z`GX4Mdm+Y7d3wd}PEc9QQmJ6s4=5(^VG?ue-dHS|VGjG6jrp(WvV+Q%ynpvxd zt-8DL|a%MzR%#iQb{1RS)@_86c(J=DKBtTnsrQHtD260~GqJ%>;(>Zldo#J=c zYo)zV9)aT8F8Jm?_r!8_U>DYJYVF#>lx+W!XTYy_O>)gE3S2KkQNYd-Ci?yjn4 z>rJL$yL8g3-f%(lk6VZ(r8uXhuaBLX;Q;nat-rc4(wuR6c~pG--lC~bDKs4#+V8RwK5ZHrR!^LGR3 z8bfXIBVZ$B*P2fI{`#(-7!WbP*hv0@V|1@Fxa-BmHW2Pzwd(xUlvJKFlqmVFfH*vZ z8lRc+%rigkDBRlC_Sv?~VtG#Be$>kixpSSg3|D=s)X`;v8q$S&)UvCu(xe|IC9!&= z%Sg4}C`KIuFk@_(Y^X4O$Li4Gj!PDi0pL8_qe(`#zhq@H|M>;p9oJHpeZ4AX7`LJ4 z%k<>6oqU!@{FmqROcu$h&nV9hhEq#n*GaWds*w=)PJ9$$6?4|znA&h4c-th{Y;=@+ zf0oSmrwX6CkIW9;K4)xPBFPN_gf`pQdUT+V{>p-n8)=x&Y!w-+X8u=)sg8ZwM-D(R zbkEAz-P3dIsBAknG4cGBt!xh&_Eio)K;g~3>W>C`jzZ9PpF0bj^)P1ap^UVnsT=bZ ziRYA*ipD%{G2PDtmxVN(^W$0N;_j=)Ya+J&Rb{>_6Wm+UavwAu^XW+CK+vO9tC24% z;Leb15-VzR)H_+#3ytMhdwM?;hQOAbNmKD;&CZW)EydIsc5M>R1J)dA7{1|Pjs$D3 zr0wd826X-6>91^S>;Bq{f*e#w`enb%w~gt%z_pTGsfVq-SMSx0G6&sK%IZQSU;P{i6c z@X6sXPL)nFCBJ>U%OEc)BQI~Hsb3fP?piQ8IH+4TQ$yP}7SCsD{mAM-^(6VL*$6hl zs^(p+QNlZwTU z`Kgm+z}zs2UQsc4q@`X-xcLyZVY5#)|M+-N*jAf$LiDweNGpSc>usze4t=-!zqVcW@0|t=e_1|J>iLk+&x9l5rHew}uhQ*)ZrqB1oMB4c zokdB`Yr;wqbA6-F_e+2K+H!fVbNb!&QtAxIXd5wBGAU*Gl7)nkR%*k0#clMYQK4MIIK9m%h#KQvHfE(!S} zfyjly;?gXSSAxz;{9}az(i@y6@?1Tkkw2ClE>N?{P;45s8dbE4sAD$^Wo$ki)$dY8 zc!6a&B)|5;&A8OP3AQrwmoDN}i+LUqu|y^I^T_ezweE!xMLi|kaSq5fwEm6s)m8Vp z*mI8WjZ1y!ON;}SLZ^zFTuv5sDY623O}YK};FEN+=9PFge-wde;4c{Y*Ciwf^)Fm!PRfG1h|I4VL4huRnyF$pJqAA| z)6IiYg+gFxT}kPd8)I0~ynMalWyN~Qev_%w8XB#Uhmjm-*f}cxhthtPEp4?msylup z^g}IWQhQP)rN@U`Ws@>;pzI1+KZV$#!$%~&)~ChAJB!#vElZtN$$7v5(>8RSOennr z&ON_n;LD}r(U`*TlRAlsi9c)|_MI>!1tW{omy_C{{&jIo$qPRsSdOm$tYDLHKf}W_ zp=j?F5KuB$&m&skCm-eFQMz_KW8LV{Q>%KH+ID9zZjCdZi=`isaFTF;!l99lQbXzK zoJ|SR`~4OfG7=MGz;7|FU4UfeF^ihu61k{G50jGS(a|vo4g4!)U;Q%lsQv1^$j#Q( zeabgjn;91p0}4<9Q0M2jrkDB5S>MYw^jTc;9&0tPvfudmT|7=C2k{&mn!3hMq%4c* zb&3v&t@k=RacQW!F8Y1Q$zl0TP-YhMV~7L8JCe(c{5$gduYzdb%6N>orwwis9Ujr_ z4D%D~KWE%prWZr}^n8Rytsun_q72PJUpAmo$HqEc&@r!keL3HlqH1lWf$`kCU(*Ug zE@nv9M^S!sZOGPd=sw9ST7@Z=a=s1o8J_&`EoXSVH5&c zkDuS#jW^n}@>m5k_sRx7*@JG^Tx`jj47fMC;8xh}7SZ28wOH<2#6D2Za168>X~>0D z7=KVivPhmuPfJ^TxYS{%6rPExiP9`zH8>plEP3*L?HadMSwqW0gLuS-h?LBI$%xV? zMTpHHv}INu%uG3?1YyYjBCjHc(lx>4`iFLn5YsBQG=2WYTYH7mkLGakM(4V-82tzF z>gl$Sc)y<>9`onVZFaq;Uxe%;B-AXvvb=0*q8poE)SRm2&WrKT8J#Sx&V2frttgQ~ z)05ryr<ZFOV3{^CUH;%C_Q?_5yrj;ZVWPXOFTY4BXOcm2`+x#8|#ALz^_$g z&dq$Xl&|5XRv_10V7GO4<93TUdWZ5PT?sY9f&JUing@XeY8fsqnOvthB3%5ITJ(BL z`YYV}-k$=u-Co-W4E zqtiQtlBUx4oMb4LLN1DJPk0CfVNdS*tvrd2m|NP|%og>oZ>ko+D}Qk~eDRguKU@a6J{bN)-0 zcg(3m|FFOjDyqV&fF7#3Q6z#8$nCj%a8?LYgR5gk-L7{!a|z~s&RNE`Qn8%@GU@*zr2h)dgegpbpK5{XQ?=!pI12RS&Wm~Se!%=>(dH}NX|1? zQ8l;s3#Ojc(Rp{PYsJV&Iym4+)D4rVdnr{_9b#;^QDF@_G{Pt($64u%=1H#AJBv$@X0zOpWJ5$5+l1G_|umAHZzIG=02I@?hH ziSm1X&y^&9&x))h(FUp6kh?3UA0uzzoL#659Ss`tpg=<(O;{m>+hGkI7g1c0Zi5(4 z$a967RVuB&nzy7QtwClb1cBJjeaDVz@?6kG;A<#+TVfjv4N{oJ5i4Uip#%;;mm=i8 z^E)?c1y>BGnh^hRp@aY6Vl@;F!8(G-SNa^3m;QE{6SBnlI6_xw89;+G97$FyRc;L_BWXbR@QBV?_)@**@BY*#)M-&H`nUTy~HV??eHuM_5pyjRB z&yU-y95+(cDcpf*EAVlmO=Pf;%)Heli`S<81-$lgE(bc9aG7T0K1r}W4@1b^@)Rr0 zzAVp|N{Q|5U86?$x|Y*C+(?$0u^-pD5a!k$p$>gGa`bjc+c_~*7j;_rAopoKzTnj9 zsg|Z8>KB$C?=u*?1_@g}SJ@n+3%CFqnaK0kM0IoXhmD;ZU(F?rWcE5$yoBrulG0F| zOdB0FWs-cc9jKyVs4ih){)@_ZC`M`MzH>B|pye(Va`GI1tN6ro5 z1BxpG>c3&~NE3R5CfvxlVRZ<3Q=a04>-72Y&OYOp&N}g;Y$C3KbqVdA>QK5H3Z%JD z1WLGD=q<&r&_1{A=-9ZvKKr@^earC$QDLK&slW}(lM&NF0T1~aT@vm<)eD!LaLMev z`v$3n;$-x4dQX9+`g|#Cv#kO73`1#8TmHsPKkz3!r(`fc0!oJxr*So(gbjJ^K4@!m zeMF0>V3Go=rrE+OZ8XuZin(+RVZ`#t+79{Vx)@&_NFUkFk8;se+E?GY#|S+S2duAB zGtyKJ(NrgY)Gy40lH^z51q8shc4Le`Bz8Nx6gfzyg15Q9c;mr|9Bo_MJ)veV%&Ttj zLf^q|q1L-F`_zVk&m5U0%eiy+oGmN+r3-; zLr|5(3^6J4y$D7FN=NC>pTmp|Fl5^2np&^pSm==wk9bK z*QJ(Z^YEL9=`B)Roe=4n&Ju9y5gQmx-Cw%4vhc7m-YIbrGERdZk1nPsCwG2WYyW&U z>ntaIOg}SvdOzC~I3n%%0wAvAx^xfaH7LP{HwsHF57!g3-tOU4 zl7z}hXAtM@*0vqGNS`87GJ{g2{c7zE#Gf2ya=dtWP!ioOXI${Y(f`wjH3MVgl$sjw z%-eUPeV&$|aR#&jNe43s{5^{0;=XP({*}Yr?xpJ!qj(XPxx-k;R9+LwIlI=}98x3$ zFFkD1E00SoA$t*P`a_YeKTlD5`aP?MyZh2!2-cl?M`XIUzq_50#hmfw3keOTa_KHz zR8nheeg(dB3|CrS;K5F-AAk2{A z*w=1+7aES6ezb?XUse`=EbdltS_^?J-rCgd;nk%q#mS-4Db_3~1%p)~(L9lxWA21+ zoWpTsT(S8MyMCOs->t^^Y?F#l+tDgoUS79F5Ht<&#MMswyRrb*+NIkhJPB=S=*9|E zjUz-I0Eeyz+}K{0ICQ!^l=Atw9o=0k*f6dKS<|~Ke$e>*fGM8#!{xD3ul=9BAD>wxs2Z<4wf zd-Cy}Y3gtO0Qx1KIq$;QUB_CB+#!X0cZ|;rotvu8O{Q7vg{o<|LrH?Q7C|BeVohVf z4S3V?)Kt8xwXKP+39L?zL|(;g>i$&BM8`+OzO^kw@;}V-ApA^AGq4+bXt6xve){VA zqLMpAzdA$n;CG~ditfDCwE*QE^%y=RN*gq&0PSeB$H$so3e8Y3W)jW)Ff7sQmnJ#8 zuP8bBG$QI>C#HDo<>_ZxJp6VYqd8T8G`4OJb*0vfytU!b3{^3Au+`iRV_?5E!3^K+ zlyNY~P`vd4l89j?YtY}cHD#Y>vf_Z<%#XW@ZOfCAUG0T0Az-&@N+kuv=qU8?ABJSf zC8h2}D8p=#bt>wRut=Q0@aWvgC*O%ebKS%?rxX29+7f!HIv_ zeADJZLZto9jMRxXFzcUFRn`6!t#^fUP;xW^DRBL3to;94-~O+Ho&%FE_&o15K5n!_r*Wpk-< zak)(TCc3&|dru?~f#jxlo(5AL7d}6Dh!__nUa|tmqtnbE&%TkbLZSiC_GU?38_;Z1cy8|x$*)x8(7n*w`Zz7I z!^*zS-$yR5Z0y6O>JHy+$3iG~3$!Ax2t=bkH=%H9&9_4QO6j(UOdwWg=vQV=+oQnc&9WepIqi?U-b-Y@7`h9G;e%e8Rlbidr zwz14MI9gEpqQ2A7b>^D0#Mtvlv;4RW?UnQ(%ePk_L(M|OS9W!ws1(Xlblw0Y-`@>A z_nNXXU#u+g@BoJHMwd1Cf~ysL3!hHZ?t}h@@Ni3$a3o$?KC;u1W7Lw>zq#we>xLM9 z14vsU*G}URKkq3=PZ1klhzs`<=F}9B{=ql_OjP4aU#wNn=R&(S`DV#yP?&xw({2Al z22%c2RT9Vvmwt$hO>AS(oYserG7nr?Wv4`1phh*+HXO7yG}M?y##8kCMriK^atjBp zdk+je2}X8o*@t*{0?5tbLLL(|1f)nJfvHRu$s0m;BL9^h#f!lP*+4lcxiS~$;ybsN zYE8>YHN7CkLPGe)00JfxV8v)l3*~i|*GwyyHeHTcQck& zW$Ed0L%9(*xpxOZ)H|GKAxE#W3kw~JppsvP*IWl{F=fl67f_iR--H%Z>BPltpn6FH z4Ilzd<#eEr;C4-$A}D=B7N=O07|T?~GAHnO2HMy2cW6esLnnkor)TZgLhusq^dkIUz~(R!Gpgh9a|)?S`)TD+W2{Qh~o+bcoy>b;pI zzG5&ex31+#!}ExYI+3rHq3GIc2$K;LQ$Pz9dd_ghyH;~DzTd9}+d4XuX_9^zth?^< z{jH99TR?ZoM;T)!n){(>4pY)G*422)BO>w4H@_cA@%1&Ed>;RJvloC^{Bz9iB^q3r zxcDvzZvP_KH%b5Uh;``-53fb*cOgbqx&G>P+rwFnwqtk6Zj_2w?B1p&Qu{o@rf#s+ z?B&w&tKOSVUg%ONlWh5Ux+C<=Wl2a`79!s(>GD4^(iSqx%9_5io-g%$)&QRp%m)Tc zxJ(o-OX_tBG{vncJeEJM=<6G4H`UwH;xHeC%hs zvZt<1lvadZH&o5H_S}LdX=RMXAqv;j@R(+2#}kTydsokl3=h9pmP4#@5NF>R=u~NW zZj*c~_xqP8P)mHTtuMX{O(mdo+nDbK^?{=)At4fL!%FdTQI89Zl$4?&iIw}x%p~c$ zRi_#=|C8@s#<%9&1);NZ)qf8JP&GMB4&H}?Ki+6-Ne>Az=wH-vbc`!ssuLEXY6J_k zT*+(fF`s%6#TDS;<^FPU_)59qqo*#Z9%|NNynEl(9sTGx&tgS0;H4bvo25ZBAc|HQ zl#L{Ywgadd#z__>u$;+OfoA4RofcHh=l0y3y0RrL)vf7jWRm2SYt5(?8M8q86G8$z_dA==9&mh&0<#b!x`4in2{w?}TA*t{|>>C`~*x z9<}9_-o65#1^G|+3G4OdKNpfc8ye|*Evg&52*{Be`j@4qW}$556r$VpQkF@OUeM(p z4H3h;GomSbg3_J8YWn+AofFBId3Sxt7D~u8n9ufJlZH35rVMm-89CAOB*!2_vs;o$ zMyk4{O)79bvxOo~&#totv&@izG^w~;E8buq=nYYBo+^S;aMKv|(;fNzW3B4sn&fq! zL-j^3^ADA7eJEJ3PbtdHp*sYy4#|$SWrx!yFJ{Nv_rg*0T3fH?5mUMU1ZCz5y)y#_ z=|lX*uRn>5PcFx~^oLk~N!bJ6E&Ht1#(v6mbkfo~KQN$>{m{;@Q}4_ja9}`dOP772 z`oZ$~-s9j1&W{Ofsl6vgMi2+Lc&})ZLv;GD>6kNzuweO@uJ`Vu*%OtG1eN<;ji-i( zzbws829)JJb3K2NW}fX1CHTNLeP}Os@Kg@d2)`~-uV_a*$+E)NWwzh$2y9qx3y@5u z^Osxz$Vs)`^HMEVKoxw`U`~blvFZpTXOGj+f4%=)DYM;J7O#MB_f-g8+VYgk=3B4H z9k4deo{-D^v2?6xcR3J8#-i1h=XE80;{((cg`j5)7X0vPHWR)I^XgWLNbvHogIKk4 zI%_olYF>^LisAN=>>QTK(Wzudp>O!*9Q;b#k!ldYbhw4EiK{B^THZQ<=N1%BHv6j=IA8KtOZp9R83?Dosqe`e93e$6zlcg zCQ%nXPip=e86f=rnj6!uyVa(%xO zHgveRy+DauyuF*kc(TKT5>175Y+{EzqF>qfZ6K3t>JWoXAMHm6<}~m^i^u7Nf3t%`isNo| zxFjkOGO|GhuDd2!Q1l)LDKr#0klQMTZhtur4Bq<)R6Nnx6ut=q6Q!A4lgvU5pG z>qFj^p8ba+^Z-2fp58_?Fx%lZApuPXU2EoF(=~lg^tf{jcFuc@JG_-G*ECOFk@fB> znSWVQ;tO%+sH21WDs>Y@JTz&7jvEdq+xOolE7EwI%B~vufH#T0x^sPxnIa_B7k`B} z4A7MfS~ujh!7xE#;b{wsN@66z?umqAud7?r<)}A+TYi)K z*{(}Q(VAH@F&_=)Olm9lTT}rbb$oejz0#ysQ;2EWp*z^8N#i#UJ^+o_zjxarYgN7?3GPe$xOjONC~DXUcJ-PKRJbwi_-I%Yh-~d zgN(^?lkCIEPbJ;wFH|QYOWu#(XVb#9SYg@N)wP_MHxB^(q@bYl7xS4PgQ>@)rS~Jf zv{vs!4Y|pme2TsR<@b@QcSoUizlZ(Df_{Em)lIdAliloPg@qO z)OBqv&HdO|Y(wBWt9ZnU26}Zq&npwxxjEMgbyoptKof8&g}+5T7`(uL$f%@wFJv`D z1JpFO`)sH|Qz-*OC90+xY_$7G@A?F+-sW=B_gl~t|6j{)wJ!@jYMowtRcIdS8}9L& z(v%NcDWa2c>5EMCn7_&%vzL{@3alE!Uy8OA}UFEM#Xdm(nG<%K90sn=9S)|XE+BR$?O|~1F zby#TzMt@?UQupPHRR1y&dTEE&3otZ;=OdObv6p$jB4>YL2_}Y$ttUE9FgP6z5l?qA z+xkzR`MH-BJW#%wyT*HbWWe(mzd58$iimst4v)Ge#i#8TRF(EAf}GhCX#8@yQ=E{R zY6omm+Q-yF0UrwZagF#=MuI(m9ukH891QF*9UU7Ztz-l%f{0py{On}zb&C z;^)T-LsC9dB_(&4C%t6Hmx_E}8DFT*CcjlSCTCdsLbrEy(3WAJpIc}9+DdP0QN>z{ z!39aN4^lP7ZalgPjD2nxVsyK1|J5Cya--wz+(D4ZgKrSH==ZQ&5a~a&_`=isgGe(V zyR>k=qg#it6Z~ZQXUs z(eQ5A{^xh#3m=~aC8?8FA|cy1|KVU~@4WpPnt=vf(@-#*R9bhb#%MuOnNmi^v;++Fi5+mnfIKgErez>PCd z92Ni27XwvXd#Myi^MU&?G7xbq$RClE)Y-Z3 z%;&1`Qu!!$kBXmfB2R0YjIiE?7YAA&@LYdx)o=_t z{a0Ka4hA^9hJHr>rBA1!{bhc&EZ1o4GjBk?4wU)GDfCHtmLXrpB-^uE8r{;m+iO1r z*R4znKv&j8vBN^fxw_zCor1ltBVTT)s)vWs2>cQfY94_qf%i-;2hD(b_fUP|aF)qh z_yeA-X6PrrFf!89RVa3_zltpfx+7Cwyg1`OVRw5tT(tg|qXSEY$hYS<2m7z2*TwfX zuPtuC2QE)1o6>kMxSULfHjg`Y6*3f>3$2{t%z7yh)pIYGKY3yV71SV{Nr5z%TE*3u zQDF4CJ=)IGU@mq;-cc!OskXuzl7op(fws1D5fw?Q%^ec!_OD|E1YWTS^!ScpA?)cL z{eIo#^L=iI0~R~7SAKjvt(!pO>Z)Z_@=!SR*?!GP!!>yatl;N9d*CxJC^ZVK z?ddaX&3#CM-IcR4GoULy_xarNm*{{e2bJpm460YwrupyMjs40ac6xQU-`mZkeQ;1@ zEor0Rl*!s?vTuKQk@$y8XBThK?aL8o-?jeuGpfcDUEFkZ{bRoQK8nv-gFGqySG7${ zJ~f{X{j^`YL=Jjn<)hwsOm+JiEOswCEx(~oY8!SRQB)$_iqeCCQHsPY~P?3K&u)BV>uWo5hL*oS{j z--LflLvSDDDjE}|3+~)`WCg)Ds^%wxCB8Es%a-TTHe}bvD$4gn7uQp#(N)VbkJK?k z1IaMl_DK0kK!(YNZ)vW{R3B>g`^Ao4)7rd`b?WDIba0RybWgc&QAt`Te z&eC*(o%Knk?aQhN9um#H&D}jckCQf58T^-1Vgk8k*4Kgad9lvMC{b1rKS17Ts^)$ zW<7aQSC6_4!i=iCHb{%kO>LC(oEh5f*5>D&6Bko5Rp#}0$mI5{1Vkyw=P0yjeJw9H zx2%BG{(W;}CKb82FImLx<%xsnDF0EF%*h%HG*ZT1>)Ut10}?yC1xRT;NVWD^oQCAO z4t!98^my8^UFMt>FjtKI@+C4mV+h2l%y^&(5;-h-$&k75{c)GY){*ts)IPbWK)XQj zJgO9If$?0&KJK4$8;O}()$uxa?q*#2sU$W$)+n=xEb!oAe@|NJr5(VNcOzXAaki#%C)v$M9d%m6{z}tdK=Y z(sEJPz^Q^pBgPE|pXwbMj~~}lzy~I;(pQjP=2mF;B&A+mVM(IE)Emuz$s){aH=G#shlvQpF_rpxs`*d;9^^Ga-qb6Ki##GmeKo zaXh8RW3_%oT>X|Pv=ls-rYJc({=heP=JYgep0S+Px9k7tSQ%cKjuw% zN$#+8{rzocD19jG8>%mV2;@oi(fUw<;lBAqq;Zm6dt_{?t(M`0<7taj-ay(($32in zihlFf-Cv)`%BK+nLS!I@g_JDWKRfAA^L&YW#g~Q!mHE_#bZtB$4C>>{I#0xJxVgF6 z%(c}|d7z;bg+0{tKK&=T+9&`hXd{5&d$$f%hLUGnH9MOv^r)hoRNJP(e1}7)I`FGw z@TeVOzfz;Z`lHt?Y|BcY`=AiX^VfUV4d-y{%b(=>eWn}rpbCa%?Du;@bsY%PY@!Ctd0Xw&YEDkfk>SEib)*lxoXSZo`qV-IVWm!U|nMUf%h0sw>~$u{}qH=exqA)dN1!8i{<`=W~8}D47yW@16aXLi&V=M36!P z)r5<@p?L2GtIx??X&j_`&FSgI-Lw{aD<0^L{i*xzKarZXo$yp+(=>u3I-xG(*6}Kh z?n#sBA2)32%A?1p4AmRFJ#TnNcinvs=b4Vi7kxi~OhymNC0CDk-PEir?`FN-o!F2} zcko%kO%Y#Qe<1;dNt!;(+&(k-;c?N?-2tx~tAXoa)Zd1}t*SL+dt1dgpCvjiLBWWx#ba0HfcxG=^G#~rwK?Ec-){fkFvec+@u;~rb z!9HI8gfRd_WtsZ~arXxZrI&uBrIISijkpSabe98469uN*ttIPWX>hKf3LHUY`?7HE zOY{fv$x|}9ktj%So@^QFN~ArVsODg}-sDO_VYyN>by~D?|2<6G(LiDOQfb<0qT9N} zOilG1PR>DrClKSlXWK(NYYtK)SsMZSY@qI1UNJV#fr189gHD%o9rVNzQ1A7y>$N(F zH5s9hbZOFyf}Mw_XLRzGdjXvFFnp*O34|Z#vIn?sAcamD0k)T!cRijvK7tIF^_N$9 z9_x=SYTPrj*;W1a-B%3Gmz{wxK3j0O+IN21piknRUL3ID(!TS2tnT;|ELugE&1up5 z#=<;2>c(fkzl(eKM4|WO*8UDl@!PFWlsex|{3FoP3k3B?BQ|R;lnxB|93M~77nc;2 zlw9N-EXY~O&0a`ayK<;)L zge%ALVI9tc*a15czlN%W)6=_uJBY3!!t-Qn!q20g0!TMuXW$S~^`C9~`^_PwaVaTy zP=(^oPWGLmzDNyKO>txoim*ZB^IZoQSOjwPT0x5STm(ZSBl)nVpVe&!*03FcFb$Ng z3)11H6T&v*wTJ4tq2I^H1t41KihFDQovTEqKVLACPCvtI!|>gmFUxKN5Rr&^_SZ|< zU!sc194T$5G*;Bt&r0>QMxAe5x1eEsD8L9tCf~>q9on;xEhVxW=}xomkowG`;p}Wf z_+u%5U+*PX%PesrK?BHcf-|!iDpZ3i(^x@ImkZbrlWn}0GKKTKrx(Tfoy-c>8~mb? zeMJ}a@salV#ZdkT)5picB5&p;WG7~2s9yXAAUtO~uW^&6RGp@s9csDkzP)cGx_mSd zNg92H^CK$kG9lz2n}{hk4gHl)pR%-EV>jvjU<$<3l9d<2yf!w52OR;<0xQQ;d6dM_ zj=RL4mYD7+@;QLKotnqcdH^*2`Sf>kb3*}#lV7LZ+cuq$hJhi6ge%R|1G><{x6G1o z11Rrm6qAFZM zJg@bxQkVJCooHUYQ6D0C{FWY3UDgJ2v(t+6!70n0#FVkqy|$k-;(~%l1?@y{lJ))0 zA?(O;8@oG5sSN}XPZoXK^nT8G-W`#7)l7o z3ou%@z2rMxn<~%+HAi3^N-WVjz57)%Lhj6O@2j{(*oyVs2Kla$mIKZmc_rljq+0uM zWdepRTRG|2(;~X|HWuy|s{XxopCbvl-%N(1X{qs8<0!wI^qMfVJ3YG-oD<{Lx!%3{ zEG@J>>Ty=G=>DW=L)Ct2dgFN2iHcS4eHuB^xoWBR;=O@sJ!LHjm%eX897vl ziVV!nP496NuouhSbRO3Hj?A${}3K-`-1T zv}-WdYMSvSn&EBQkG;MS+aX6JPh|eu$?1B5{^jest!-G>xVaGwVN5j>r)+iExIU}qa=Tg01aDJ)I!TGx~k#Sp_k`L z<%s2YJ<0VeMo05tEF9iSh`#<|c7LqG5?Oke2XAcTK+B$!V7)QGTVv=jiiW~2magZm zko~0X8V}9jT{ShdNiPT94;m36YOJN!G_Q`_1Su%6Zx~Bn<*66>!D=lxp~0p>hAb)3 z(Jrc7*X;_yszhgx2W znVCrpEs0@C-xIXFhpxgO)E~yGl>Ms(2oK2zn7kbmlpP$*aEW$UbEm$~nqat$Gbuq* zgNVfkaS^R<(mzGKl$lqT>tUQMQS0~hMrqBRjg9t^f!;J8`P;W^piSfqENfWqCmxJh zi>k`FOo)R{|HkTFmo*~UU0mdaD0Rw=*G1idu#cit3*XI}6n8VO2$JCO(&*vY6 z&GVvOlby_|J537o{vm4|95czIehX^F>eBs!4CXWh1)1_aOZNxgyg_4+cOrHZh_&*u z;Y-}y?zQ9?Jx!yfi-(OsMepa$vtH*eB5^AP7kTu^>-@~uW4-Fh!DdShuag;>V1|v$ zfum$+Cp8PEmcPrMLW=0!z_2h2jbjlwf?noc#nI*YW+(vNa&&fPMwmRR(aw?f_9n7) zcbr$@dYhypbV2JJony?}F){H`cY>brCK6M5E6-% zk!jdm*kB~%<(1VVd+*UZY*r20;Eq`Ax4fp7Nu%|*NOyPFfU`optd!}8UB$NqQYFq;kVy*Lvy-a8F>JtntgNsiIBI#-Zc}6s`w%Jw9Dr>3b8q}WB+?QSN^f^eaU;H4^3_C2HusI z6P%rmlL-?L>|R5Z#6(Q_`QhCTeeNvA!X?iU@5Ia&dQDW6OkvLB=lsC*$)UDE<(=oV zvslW~030tC7hh0PSuQCpJdN2&sy|-G=(kSEfZh(#JO`VRc^89`~`$E3g-2O3yxE?3`s_iEGo<9sEqC6avB@ z?u6Y3s|gHY^nyZek6NB@SMEkQKCXFr_8{h9AEC-5`rSeO2<{__NiHP=}c&pP5XU(W|lM3`tl zKD0Is49M(AYUg|!uHZ>vPziR^UpW18cI{#Q)fzYRnf031^T$qGvt;4^ab&aNetzy6 z_jh62gf-i9`&bdbB6(<E(o0xO@CD!ebfO}|6NNAM zhL$$Y(XBi*HkQu7fOdM;gpiQX(!)cfxupfy$mlCL#&q)}@^44GmZJ2eA!u4EnHRSg zSd^O;kN4(f^9M=54{jaZa9itao^8!}*;S1rPfT2|q)xCX=#_kLwnm?V&jMY$2U(P) zO8@(6CQfm&&ix9f%i0)PgOJ1{a9jP-mMr>$?8-K~rKMMJs8>?_qY!4>E98TwKR$rJ zVMn8s@@E?e0oNBB{m+xb!%a)^_TGA=a(YHmr!M3=I$UH_u}VI18kUW31+i~bbBuw1MZ+go zN=Mr$Hob2j9g_+kB`hr*cmo-dQ&vVsN_1>2A~`+E3~FjIxgUd=gxa$9wmm)L7GzcA z892y1rhMI~fn35cR(9s-y!`XCeGC;<8u_P%3$kz&Ni+^_bX$E#68`3&adMAFB0bH_ zb(D}B1x=FPy{n0-m9;+_ntlbA(%9e zn#dc6^}>(G$}cJJq$|f_HMO_vVAPjIHdJA7tj}7t#p%7Z<#iN3h>Pb#~wAaa~KTx5{xmUgd5gynd#I5-4^ zxEsDcT;ODvA^WlT{s+}&uiv`7vNF2-AajzIb18LULw!W(#TU(i>}YQUIf*Y{R_QzL zHVd>W%_NpnCPbn!NHu^T8Hk}IrQlWzFyLlFRCD{z+h1!useE`s)QXdl@qM@wgCkL` zIz?@jXn-qTC0uxFJOq$aSdntfeVbhB!uskfVBTXw*|D+3OZTL3^s+Q5(o3|xP03)S zU~H3wRnw&%0Bk5kgs~!KIeZ0q3SMK$B@$?BTia?s$MU>dfr<^FrMF2!u#_{#ZpUH4 zP3h+6)#0XSZ-ltW?d>neY)-u9n#F&Bi_9RTGq4HPN`BnxaP8n?Ba|f%S@R!Fc3vr?-jMlr_Qh)&B0(jeCvfMa6j^10GJ!=Hw3Eh;19P9Qt(h@BnHd~<^`YWdnTERQ~Np6|3{=l*c( zF7r}$eLbDu`7t^8xKRwb3yqae(Wh5duH&A+uoDVn=oDi3sDHd?`16zPOTjXar`J&r zn3o14DV7)qznbVuD=Foax%R@4g(U*QIrTu}@=g}H3*R{!_4UV|ld|EVHadolsiI;Q zJD%sh{O#w#NIyTnunipK0XF!wWi##IZ2O#nhqb4B_O#+|n9MN`;uG}(5{xHpNkinZ-Z|KF=clcJKDdM7k2!1TfOiSctuJ7NuiNS&4PPTpgNS-Xl z5^-@qU2$Jg+8_JRE&c!8l1sY3?C5Z@^g-D&+NX!;@{7z(s)fR{T|7~?nCw97%Vehi`TX0o16)c`;cU)4p*W&jGGQ;AxDY1t>PK^ zKEt=R8Ottyg^{~%#sPRB+@<@m6pxq1pU zzNV%nY9iNR7F4RsN#%CcVY5FdHX+qWx&8r>!YpD4SZ^`)7_+KMM+jf*{rgEuF#!XT zGYQX~5~Y2>IwRNQTp{HJc2`PV9J6*7vOqhT>l$*~>E!mnoI{r9O zIwjQIh~*~o3~QV=XTy`SC&@ZKUgxxF#^UvF zNgTi$0P#_aY3G;_CeHrqkdP%q>rP6*2$AK+J+~i;VdRrSdEwI!6E)7vr6#76wTySJ zUqQKwmnU2m3$1oTG8kGW{@M0amlX1h{m40WZRLD@x#SO+Cv_e?h`PclG<&?EDVs&A zSkx>mS5+lyGWtnG`Jm#{C*sAg@kDUz7lUnsx`LOl)-u01`!zQg2tExp0KC5|#@|w~ zLFi5r8)0s)esDZhF}vLxg{-TKMf#8|0yaE2S}}zQM90H#jim~AfHevoo}PXe7n~MS zt(OLvLjwXCb$#d*p!ovQ8MZmwnA^!SXZag!lh1^ELUN%D==lQvK1!) zd2x1{u=z7q%A`H=hE^G;s&rgX5DCnXO7l=p4+=kNf^TOzqI{Q^hw6d~()f9>$K%fk zCDag?o^pi}yx0qZ>b}f!Ap*!5P^S9%qJK@{WJ-vkNzIQuL zdYSm$q_;Dhk@r(lnS1mC7HR?~C*#aB$Dcl_TG{;gbMxzMBjxI1rP|>XS$LgO7+TFy z#_@yo7vS`#U~Oupl9KDM0CXK3Fm$J-1vB23MbIjt`EM_F6`6No0=h$tURH&rcf)`^ z;$kf;X_1}&^Tty+8HG3U(2ZW=O(^zNN=$cmw!Zxz?{Bvd6VHsPMhJ(kvHO;>!-mmf z`c!xNSX4CrOGl2hMnHmyerYf-OS#9x_1(i!bPA3kOu;f zXgPfm*N->=Z&AxRCj4pj>pY9Of|}>b$U<(TO68!)$(C`9A2Vp~)0|<1*m^ z9#-;@nGPg92qa}_ z$^$+HV~sq%DA^xR48L&WT%&xrFTrs;c(AuOzE_i zy|1TNN3=gx*f2Y6uN@;huxy#Z9Ke*UvLcYM@)=;*gh=F`K1RX*%k8bAKage|1Xj1XN#?}`^dm+gAv9DtAGwE$AfpLYfzl@<>%S&k zftSFo!z9%}o|00nfA9(n)t~E8;Od71orgkv4O%R&0@lH>xq`Fxb4u?yVdM}!58szM_w+N@Y*%+>0e5Y13&n0aNA2ietZiLf91}dJK&C12fVMETV1}i_G`qQWEzVSQ-=TbcC zh_Bb~sK93YbKR72Q{^e=AMuYkktMtR3Ytp;Sk~IqGVAid02hqf(!hHCD0@Ozw~>nC zKi&DKTO@pP7yOgO;PqT6q*mpYWSahfQDwRG&wBfJ#f`jHOFq`ppo{oBu{;P82fzOv zmrTmBk?SLg9$V@E-U;rtCLPCBYk=}EIILgnQGTbM@nh6KTLI;QmA!!S`*&#n_@UkZ z`Fm7*{#;EMBkIsi^Hloz{=P2?s2lyygdZ-xjzDdaayup&vbz6yFdRO< zkGk;)*n1*Z&N0-ZGK33A+yddy@E|!S>^h(A~Ad}Fsc7hTT_|e|M+E3saLYC>M*R#Mv$HdYi$NUTG{&%pm zlLQ?fNsYTt;as93!Ae|Ra5e@|OYbWZqMGoL8TS?06yPmlF?{$kTo^Mrl!&Pwc7u`eVfqTALpl4O}N~E`>q-| zwT_PWN*b42+aeY>*DBf_DChnTY2N&87FRxNf9(tMA+nKA=a87LsAw!MP5@b1c>(3L zd-7#1v;LspzvDBx>v6J$`{tH-ac_h1Cw5E?jlF}PvA0oUNY;Ya7^<>t){mBnrX?E> zLsMIu%xk8ELw-Xk(8%HQ;kLPm3p*hg{N_hD|643CcJzvhpDuJ`ltSkJPWjuh$UrO z|749pQj&# zKc?f)9tyTYMXC&6Wwz*0AB&gy$8mYFu!KBX`u_Oe8)ImZ06WRfZU4w8vZUl6Q^7gL zj%p98Gd+L}0V4iqK3XrI>_ ze{RQu#*q_?S|P4EKzx^#+1)=kW<@8%I~q^3x166E!%^iN41fAYLh~n>RHj09$19}YHaF+L&YARd&$eTrfeQ}Dx3|DSR2-#Kp!#>|?L}!{_TIxQkWn?sh?%aO-7_~b7UU8ovAt4z9ls`_I zUuq<9uh4ZgG-~QmEv>%pu{S7J0BIEdKRtNSYR@=g#h2&^WFQ}3=hn&g4_-)d3@*|N zUdMw7|39mwOvVbP43a|63W@*jfYykgf2ZUmCsRJc@5Gc15+;^Da1h_k|CU+cUoWNd z3+4S#&y4^JD0$*21tu_eJ2>Q7%fLXu{|!zU;4##GCb|Aku>Lgn?OWZ|;po<7T0W|8 z4Gr}F*G;m2oFj|etCEO_Ra8q}4}DD;xk>pl?2pTotrZ%g|6fcaDy3?XMO8^Y0&+ zK;xZ;(>vvq<1PTkF7}Vb^3;K}N$%VgysGTA|JzvLrErmX4ot_D@eFuH%P-?TSs;Hp zCF-PN%EVP>43y-um z+TAPapJx93vq>Y|c$Kc>QU(M`#YA*;eco3%7>kuMH%36}hjG;yj{wkUBHo0x9yZ{Eh zL`59K(R^OyW&&Qo;F$5r|F%>~ptib77U)S1#_*FkFYlXyk#s@AoFSUN{{Dbv5I!de!$|?w5ahqB(lh6!sjD-5^@j3gHoI|f$RPvd z0pSmBeQm2KdveEc0`i7fKNp7>_)BR81@mJ9*nw(8BE5M5)&xKIMBTo=z5oc5z|zuN z1ruU6d>5|Alhe_qSXnPitE(nL0+5GdXLWXT%UB<$>XCrcT#F6&*d zGH?^j>0V=8UTAEx5||jY2jukRhY7FW8PU$lqVI9QLypk2G#cPwP$LPf7aAI%!lCN3`f1v| zwddCKtM3#93(O`a7mrSe)mhOE3|40#x9R66e2JROaiU>psA3M1;?UNY&WkFd$HVRB z2`g16&G}<~`=PJLI$B#Vgp+4J8qE8Ab^n!^*eE0W7g8CSR7h-Mzrurz*2|ZC;63Js zi@TEj7$8!sgDCap(^-a>^ir?-VqAft_3#v9;^roDUbytU1LNm{?#y(P0sP5rRL*qk zhPb#r@w==mINC<)nPmDwbDc5 zZ6XQ^tG%aiL?xxy-p}!!ePDw<77}w1h|R~|ntgq~5W2UV?niy@OHbH3-DmqY{Kc2v z(4&$EG7@btilS4mXs@nEVAIovK-q94kRLPc^qTsZ+1+%`+S<*$pq+Sr33r~wt_Wrc z#hrY5^7Ky5ClquAK07@xPwVDJgt70lb~ayV^~M3T#g{TR8B!L(KR6Z_CyeIn8^QMnOu{WA?>H{%;Fa6};9MmK->h zdVZ&tj|zH+0Mba}WRuc%>~(;#uc()68?Y5#yH_jT(%fIMy^Qq0;&|*J*>7D%XO)t& zhO(gcHv8{nF1!)tPaV+X=jZgOnX9a1xS=mZ{{FpDts!b>0`G+jGuM`t_96Y*9 z+nbIiJ0YculI%BF*g|Ix7qeRW`XXbuL22=ljwZsP;WU2W+4w|?>nS2L%IG zmRXIU#Cdb`F~iyM)Ep2y`mc!K=p*L!Doe_h(};!g`H@mmNbOw%+P`O z!lS(=Y{kcec^=`n-Xn16Yj+1_VFI4mj(ccGq|Rq6v$2HCwo+IY7jU?xgZAa+YjVNd zW68%;<@7LZo5QAadOYpsxiHl?Z69EOe67uW zif-dajq0zB2o}}nvuDSOPQH_L;w8V}gxU|9QSERSQB93+NkEotc5*rw13BltJ3!1y zo{?}>&NYCnf}Y-iHpv!hGqf)eL`EqL_w_xw00cx#K}6jc7s$9^*rD8)Y=y%G(zB(O zsv>pzAnwR}z)Kn(ElKXD4a$@K31M15qz4Ccw*xhmnsmeo06lK^YA(`3igZz9fnN+Y z>r7EEXMD&%vOy~S1qhI$;yEkc*BP1$N_Cp?-FR>l1MU(?A;lZ5hSmKx-XBzWMV_wI zeEePV;vXWZNPF<*pt^-Clo>JWmh5}7_2T}%*+bRsMZy5EbCW*q30Eesd=JhpsEh}b zYtwG0-+7aZ!ZT5`6OJ zuB&{5uRYG?JvlkK`_w;yZTmVVku>t0=E~Lepdq8Au`FBf*WZSV`?4W>3~QeSUkmM~ zgAs|tv8~&>S$W2j^>JpV4-y8p|v@)MX7t^|Ia86IF32+V zFi~f%xSp08*i_*ugGLd|3PHhVPM1c<#J2|SD`EnAntp9 z{4}sm3LBf{s;89zYz7J$vX#n#kW%Ne@{jp%E`9bSYQ3QJf)rUjFrK$?DZ|^x5Esd8 zlfL`ORFNF8orvfVM2ON#h=fOWyO20c77fC@q}5Gb1mv?t_cR+P60%g$d{ZvM%A9jvGdJm5`5!xD2_Bt;<@Hk_8W{oC??( zmmeCxju(8qF-hChEN5$rW@3u|tf~~?-&fMD;p>p-x=k1{%PemE>=`NGsBhoCMSj(| zm7KCRGc)rC3I==dPsWY_qib3xJr|d;{6P=ik%ndr9vn(bG}Is!q*Zxw~G0kEg0aoi~IOeGV!paW^yv!Gf>J911=@ zHG1tJ#pq5+`n*gQ0XaymB4TLJD~_npj)Fl(QeYkixM~O$EDla zS6r}G#}h;7#Q6Y-jNh*P`CK{H1Wd(mE)v%XqlPn2Oq;=s_xb8fcz*bz>(L!%FRkB9 zXn+jun(fwjznBhQW|LkzvD140S9UPi%)mg2p0|gNuCCGs2CvLOr3fw7yr~81f|oCy;$90O z0nJ;Nk;4Xs#L4Eq`)#ufp4qt|dpxmjby*WWSMvrZXVY@Ug8Y2ajk<~~O|Jx0ZmLe4 z=6HY61f+N4u0!9hCXi5HQaIW9K?RO4QYUP#K2o?VA!X=6k%Z9sRI?AxcKgHLt4}b?wI$Jo;Sq3 z9v`wxN~l1-P^WqPY-M>A+>JpjE*H_9@DWFMFZ$G3E4 zA3n&Nq=iavZb{2FeG-walNpZlDPJ3GR2`;ZNDQ=2@FQ`|L+df7&#HWKrbR zx|eh9_|XaXCsxjA9ULewU8N1gCB-t?oSqC%ddNf|Y)mwe1S0AdP*$|IhU?Uw>Artu z`sLLfkUV4H;>xh|I0$i4-L8mWQjp`Tz7HsQ$av~G?7bd|ul{MiVj#P>*=okG;FdFh z#qM|R)iAPXAvXDviZp`buE~SrLdcK!9CMoh1iW`oVE1SYsEGdlPuC!Tf*mTGbB{q# z@RIWab20Y`4M5Tm{Ln|IN2SOB-1NR+)ZhL1;GF%@dTAgESXN45do;+FE8Ka-_Wj4U zXm6uUSL;v3$d@KAW_M%pc}th-B+b=bL(TDP9(up7DNA#m=@!C$r>lh{ zkgb^Zmhw8P3E#ctunwi7kYol`)2yo2#4ow0uG8MmG(dJn{3V0d>UH zB%ze{NV>#3xyMF@nXoKDr9K0748ftt)Ah#+(0(-$u2DRq%pscd{gB-lJ%67)Timay zTunufi7nPlD+d)mTsQ_QOfTT;NGZ#MGHVn?dF1NX;A}~b0+D%^#>Zlll~tm%#qDjS zdo#tR2`F2uw?^=7g+Sz42@abkIU@_pr6?)M=mDoB@eQ@sdY>vQdyAx7;pa^?(4vjn zQhZQK`Rt`X%x|5n6NMaXYwa^-5x>-x8)@bET2STja{rqz0IyOogmx327uMG!A5^;> zxcbc1Y-l{1Yjc+1njmvO>C`o_vsu#BR29v%S+*ItpPh2zdI^Ov+#A)qe@1|Lq*!FD|J&XJ#@A(XfoqvM2{e%J(y z5>+i#&Y1_>X?~wedo@gxS;s*p3_;V}N?{Z(H7iQ!){IYc=l)RJmncZr!c?}d( zI$E@j)O7NY6|JYQ45obEoY4Y?4<$Z3+bz7s&RtM}SS!cU^2a469v>9=X^j~%3~wrZ z6?0YYg0!6-Cn#$zSLCoS@1WQslMH@KmCaTP#c$sl4HuI9(Fk8s61N^nC`KBzfzK2W zZ*|jD(d<>!(<41Q+aF23f1kordKW$~k`whgg9i(Xk5g#u+qcJV+TmkMq4XNJxf5n$ zHNT6F2-tu1AO$}QWV@bBf6c~vb4RRv?SX3McPQO)pBb^tdfffSN@4L0FB3{DiUl-6 zpv`fEkJ9j0O62F^#nw$D!b>}5F3$r4M~(Ic_F5|pGbJ^yF*4#z`Fhccr5N3lq#%V3 zsamdZdj!&NgSGubQs!MMkh`7&L(h6vT5Q_Mn#y4hD&5Aw-?if*ESHM_Nz`va5fyeWJfu z4GXv(V!3Ef9Sw~uC_)tK6L0YZBpPtH1mmvmDO|ZSU^?(ozzF*bxR*RV=Wp;{Z8VU^ z2kW%=+wi9*GI8SzKU}Fp;muqUG{s1=O@rJeVJLv`-fWVzD(jX6jf1WIH3Dd;o!#4{ z*FS*(ZL#6vW$}^B}EK$#-sTId`XyL5d^`7g)}m82$L#^Y(#H)fxMP|b)hRtMgMs=cg%tt zzbOb4P{{+q77VTL@g4nTmlX2{Wi!9ar1!~Wen;jghXCscAoLF8)JsZO@7=F>;IiyB zT;!0t_;z%da8zGv- zM>4XZ7NgntT#R(1z9wmF$i}8l7(_`kkU04D06aAaeDh39L2C-7T_#YdWRb?k!9fP) zPo$UBActshDsr2MMWXo7Q3yx^I8x5PS4xu&K~gyZ@c-sjd#Ap+%r~O>`T1rMahh-O z3lG!#^iJwQpS3P{981ZF_iGft&Ab`w!)bAuPRsQgZJ61!ttiZw{N8#ib-dml7;~nC zSG!9e_*KS7v_}~~b}2xWFOfMlHOeU{h|0wIPptu4SMpGh*WI4vY_CEzrnmXJ1uVRg zQfz0>cpxMvC&xfjMAE1emhCVn%S{!kzCZCD z*&KpDo`qR~+9?1qE>hiB7jb@WSiJbl$`7^~Nq3SkhDv5LUtMfw&2aa(tCGnMIy9xF ziFIjE#ZZxBXO$ALHruKKi+QY|@7JsNR{Ik=Q9e9+9~XKc5HTJjKp(QZvC&(pFtOHu z8t_?{ahdv6i6P=*<84=$=~S=hpv9rem9sUyN9K%ZaLWApahE|OnLUmcpn&UA5WLsH zrKhMU9+nLpKqa7CXcPwcXz%9sV^mt}ZM4UXr=W1|tAzV@16v=;bRq!1C@j`h{ra$r zRo<15Uv(17@R3JFwaeT`kcY?eWS)nAbJEKl_+|q>NeXf3a}Z(V!ihBqk8vmM>rb;k zxgsuBU*{7RaA|B0ts!dw;@9NYH^)I^KNO4AedWhH;-a&mOej6-kRkh4MsXL1Xn??# zifTUDYzF_*PGj1+#FhOiDH1?WvyA}~Ut{@-R-#zt6#3KM+u5!*{_H5$-T0xlpAquh z6Zax3l!;i|=;yn*>T7V=q^^O5n+A@iX=*BBH{R6b;wEs3C_)+)ZEVhX<8xE7A*!_i z>OGaD(YZeawMCwNpPcJYvOghST(b(!(zs#@q>@H&mF>s_puyjj>7a8U7*uHSa30l5 zg{_zus9`O%wMAaFiA8|Gb(62F9Rpdt+auf#W1=dOq>R#qLZHoz@3`a|}`T;}~N1fZy7@|X!3NuEGy zh~QnRcmSEBphhSoa~{-5Dgu%T7v-LLh|F}bWjXrFe>fJ-#L$v1#C&F#N&I$mrEpvr z2j)m(x1U*t$BS4N1Yone5Kq30nzvc_OdJ1NNCgl1_U*motV@>YS`)rT73*Y+<=24? zr20Y6)8LI=f3(a9tfUoC{rV^YFYw3Z*Xil+<2+Vq6YC1WMZWn3=O>HAHy*}a^zzEoS$%y`PE>Scu9ae=FUEtg2HR;1sc1*)B9+W5%yNdu+9!Ks##>*- zYrYK*J}Gt+gItUE-U#}GqIbDhuh0`=`fq99=TORt!_OdmU~LP~NgGHIhlVzb~;h9bI|K6qmjtj5*bx2}UCN$`=h6ch&Yw7q<>u(k|>%=F@7!=knE@4j(kMog=R ztcPcOG|)3hOG^UF!>fCstpZY#j`{9{DC;sTnPDi|x$*rg7fU&Z-(hgJjq7hS;#A)w zY+7-PDm66?4L6Tp@B0p>gKBQVgN#nN$legmy2uT zW4g@WNZz`PDr*IyPe^EJth%sl%+1e2I)e92DiZE^5Io4YxGMJ$?+^FX?6tAhWK(E& zTTd^xHC4+hn*zuxVu&ag`lp&l6Rx+NnVq8A=2N52ijq%*7TOa91izC0+R11Nx?N<^ zQ-_K{3*Ev6pYQItw4oEeZ1X$Y79W4w{%BGvIaxvvfg)bYoox>9JP{`-+IU#8E&vG? z55EhdVxv$nU-eT}_ns%9tV&fo# zFK7)dHwGBcitGA6+kXBC3hBa`1)hRA3cFHDM7|JIW)n3gAvZF@0pgzL9kHgo*7y9v zd#Y(7SfMze9SRyCjhum~)dds=fn-a64)5!yf!dK;>ByVb_sBqb0L%$grCf1x&b?za z+3obfAM|3Bv25!V{i1@tPWcN z(K-h~&TbJ;`i2|uQ3_tz+uJsq5cbOd_7&LurDzl0;8mo9C@F|YN$~{bJ{I`9nMiRG zUWZ8{k7uIWzEUW47Zki5oNT)!{Z5xzl zS7)?M+T<*vK;Ip&<#~v{)yPDdOa>j4Jb(TY9gS99|5Ha-D806p3Iv>1R==b{AqfIX zNZo?;2CCVyf^cClZW=CroiRJ~8%o+Vt-BHN{`C2QHrUY4W?$u3b@60&4Z zWnU_8NK~SPLP7|oP!y4Ut!}biBs&-HoO@lWU;npGpAV;Vo@JhydFGk<&KyuUr}icd z{Sb&Wc&~r>gwuJHFcqwocNsZk)Vy6@D&D5JpTe_SVp~|)>z5W%;NCd8UxM7BmD9?p zNITt@N*{b$a9B?b7Lo|ifzZ5wx_Mube4hUjJ7BTN!Rt`jU91JC)&A-7A0Ih_N=o)Q zc3#wN_KyP$EyH9m1krT_u0Xo)o;^%RjweKFA-Do~?ciK-=c`w}PWn}89*?c9%-8!C zW{GLy(M;$$3-AX5)ZgcPraMYo0tj(j6C#6n zy0~JC3phoL zJc7~GRg+HsM(L?OieskN zgu2oy9j>rN9jcL4yLF6AV1IYlp(UXd4-5UKK=77a)!?3|f#?BkaWVe%S2CsT4g{W_#}QJ#$n=vloH~)j<%=rfREd6wW(o3J>jXkNj6Z6F@arxH%REIa&0Rb zOn-yGuqyv!q4XsBrgh5+4iDKpc)TBZ*l4)t10eJ83| z>h*UvB(T)jhaCe97S_hbhLSGz>>a_-Q;z|tkZqA19KyXo4{j87jgVWhll6&G3HWyp z5Co!YzmYDvaX9w2nK$Egh0tLm0AfNO##R%PW@+Q5I>S$>s(lwCBN(1#ngjZhN{`QZ z00c_G)9!1SV0lf9Qi`4VV8`driH5EW`*zVo$eFeIg*+6i=$%QUTkKIm@l$hjbt&YX z@6m#9EA?5mJ>A{f78S!hHYoy0i<8X&uCEhwR)sng_ZEs!OG5ERl;62iOAIY~uR?V1 zL3z3PbFM3B?FF##H)HI$Wlfk*pO)-kJh)ZZi^WZ$ZD`{hlz)Iq4AVklXHIk%zz)Q?1Bx_!^iv)Sq>DYq?TFK0p7V<|Bmmw()dzW*$07oqy5<5+p!RXDdDxVUt8+ z#L6f16V9Y02G90Y)bUBZqtcURnn;J>)c!@>(Tpsc@)!yEPRK7(Gk<9u24!$IfDfKN zGk~EZ1|0R1{(ViU)wP(eJU|qr*xP(!0OXh)xQPISKjr;{TKv(Gi2QIr@UgL~!`E3# z()G_xK#mx@peo(Q(NUe~@9{#kWVvjo@U-y+~F2dRF15SL{jC+9Xg zpM}7;J^&QjTJZ?m6R8Z zl|R-t3>8qSYZd_2I)hWsQZZOrUVbr<^0jEG3IGoijT*CGZ)j9s=yV3w=6n_x9zL84 z9`{E!lu+{qlVp1BQHn_fG?rkl+}p}KTnIqB78y*O^tb-_qHkB2n;=G~dWBylt_4yN zVON$cPl4bRl(Z>G@SB;@Mj({*7E~y8CeHR4L%-NwN65;Pe30mSO|@Rc%@WdK0H_RQ zKxTX10ASM2CDhf;?JWa*Y*@b|e-wfX3|n?$^BcHdad~dEGpEI%!>jLeAfN)=DCXt- z;wN6ay$a44-)rbhXAv>yN>k_2S8feUZ|x5UimEk>0+_YdH(6FM^i0ahn1E$BF-YA+ zj*{8n!n-hRK$kUApOXB_-ZEUy8_KX`$De0W&pQq%)8$|B>`Yps;?R&y{8WyVz&tJ+r{mJtC016u6*4i z;<1tlUFr)4uZBCquM?&C0Y1nTE5KNpp?AZG4nFnl$dO70VHI+KY(}zbfO7&^TN;YK za~S)*A3p-H2pDsdPK9jyXWBiFWfi=f)6;ov zYjsZ$pf75tPKg7K>7GF?k~skpc!)f>Kw*!xJ#Ky+oVaTUh6a4tImx#buxu_~#qJ?w1TBxcrdwY`!Y|JC%AEdfPegA$8KwU`2 z+{_Gq3kL!@9Bu`8>rX(avh(nuzC_1c+`a~aRDW2dT<^gG0vmyY$}mwLn@SUWRX`ffe}J9u^jGxOxELc#OgKD?QMK@50nA^cN0#|h$8c~%;{ z&`c9?j_;`81PheFS>)fCeh9@5UVKzT%84*5%5HZX5P+H==CjUF-~^11YRCqJ9JaUM ztyFVz%G$YDCRdKw!BBGb)rZ6h8Bvxakm97HgWhAF`K|l>L%QQ7tUFNZ=3-A;17U}S zY9--PXTtT&%*5zRtG4wC)1}TCo;$Y#@I!gFhiL%p0DvnLGnZz!G*qf?on=h^p>-^6*A5}`Wrq)ON+nf}X2cYzT5BnM3m*xsc zK$aW81`td>nJf(1PEc!LAEO>11OV>7f9K9Aiw|;&inKibURy!==c8xCjVV$&xke#$ zN{?i5#>VzI1Fbeh7q=wY9e&GcX9*bz&G? zN>SiYXW);{bqb{*1Le{WL0p%9?GtL_x4^_JDw2Zr1jCL7!gh0WvTy3@s38^#A=5xG zFOUi!u;!yvU{fM-jkFy>LWNK%3+fr{*STB2CwczWfCRZ}>8B`cPH^uurlM?OPG zZPmw5Z6AmTAHJ`D4v-lEbvvfKAz;A;7n1SO`cMT*%tS?TW#l+(sHrIcR05!xLEsM2 zwb>9PB!y_ih0AVgY8#-w2S6fQvUoh?Hfvn>I3-2~%v>h|J}6|51r z230lT!$&qd;ySHjtE!fEh=A?<j(hO7u(XYbD~P>x5pLz=UdH6Z3aCg9p zrfxj~9N<5!pLbeI1fuyuLKz1kwy~W<0qg*4>D%`VM37Q8psgUu56xFOP-vOj0TtOR z72B{kTs_JGfF`NvfuFlPx4g&-Noy=l72{dXi_>m09H}LH!Iup%t33M_f2a&3@yt{p z_A7Wot;f1~Bgc4^DuVU49OEr;OV(vh*0q;_4-UoADnlOjFynPJ{mY~8SMZZ30Tajw zqF7%))ZZTo_86jSC2jZ%jW^d6=1TwsN>-(TO|N*RRKzfB5?Q zK$ab;kb!(jOO1^T*OPPw(qviK-tI1S(AO7Ioc~Ua>%>Hvmp(hD*VuffbOR&(+Xpex zD!#trHl}d+y@iv7Oq5x4IjQ82KM}^II~n!NJi-@w7syrANZ;_ zAV3U0oU+HuM)p-9^;$J zJ_v%oDp&h4lCTMXGm_jPZycgGmAHPhf$~3;4 zWvS$;bC}QP>I>fAvpXG7&GlCVovPv%)*Z(>S32t)$gNDFCWaFPx&X$gKKT}io98jAWsw6WZUppC{lw_bdv9>qTll#% z?6Dm4D^3?xW+NM%reUhLX2bM2`Yp~63<>RWU^`OU@J{GW$^kjV$PUUi--9_s%tvX- z2Pi(&a+9g8y-hWz6WFrS*SoaTezNTn*~*l-uJz!tUC$4@=xr(@$5zt3>|l7nH$f34 z5$yFKAgJ-JKyXmOjk7x?W@xYiM&GXSm13?vF%>atYGPxnYJJW%SjcV?;xSnGxjx3j z-^2e-4TH1?OS_!ZK+U9YMb7LJ-m3v18IzZir3U0;aAB;1!TS5ZrOzLMk4x_ZEbL09 zw1NVUY0=pEK}y^B+iD@YHAUsq7j=#{7}{qBhX`UXZ%7GWUUp-*Q0Qgw*JiLSmB+H+11ADzM85AoP%+u>+9Jk3|W*we$<(|oG9EqaFr4R*w`Pw$sP;F2gH z580sHJ*$NH1?xsGxA$2&OjX~%|046B`#I!@a_8qRa_q>%RhT>ESmpzMHF_I&N}y1v z$dOr-mJq@Kw%4_{8#wmjBV_&YW;Frv-esXYcq>b-l_NVoMn>vX|M;kI%Icmk&zA#I zQd|4x>&39IE?+JbyDzA_vFb#{!sOtHPg!$~^FaL@mzAZXd+ZZGFzT^5;~o0oNMOE2 zXnC&Y_(|Sj?W>A&Uyi5ys#<$_@j*FVm!sUuZ0ZI1K2K`ZXyH50dWY-g=5!o8e)Z+~ z%r-_ZF|o47W4ro#H~Y-snR_l;319m8dL_IM|8Rc}MfviAG5GwCbE!0Aj!ODsIVwUm zc>L~PbUv-*Ii~N}`*H`j-_-oUGG-wS^`(N@nbCmIuV2%xzl11tuLLM&Br~1gbt?%9^|ErvoVT3XV4+4FR3>pyb#-{Ws$*B761V?cBEJ~d;g5AL9*^gm8*-_J1__1Q>oReAi7qTG?@(Oq z2ncKN{SiGlG<3eBVLN+bWDQRMNd5t%JZ!>Pq~dIMp6mrHwBl^B0`~LW@&hHMU2Z2c z+9JG$(v_-gVwRpdjdwVFmrYSp;x;W>mQV5eW(7H~<`Xw!@W(H@7mOFzG&VkNFBs9> zKl!0fLPEmEhy&+`pX><30TAHLmcVR`4Ii;Z*U18jIKy6(++QUOt@Fur$u7LDs@= zF}h}J#azzBL`>iIg3jAcMNDI(WVy4%8TAh9zHXN)sQ2T$>G49VF9J~iJCA;j`nmrU&I$kcSxX{Qbx|n^ZqhlWQ zvjModb^|S+d^No^;2JS`$lKG?v#M-%+0FMGYtd3q$TXCqsbUbD0#H@REs2Q3<9>Cb zGH+)qR;~qCjQ#4LhrKeuVWiKir)1>Y@w+7l6ld~GZALo{Md#TmDYt$r9*C|P>k;#u zGIU+c;wrqsRY-X~NQjbF&+wgSkr@ws8fy_7t)5ewLk&r1uO-@cH+_@74^;AxIc}dpaVRz_sy2G1!yDW?D@i)=C#xEwS zW$GD$r~t-$68ZEg{KCL6op9GOv@U)C+mxQTjUy@i>(?+@KkuD(c0WX(!&hFoW}YZ` zuvcCblLUqKQM=6IZAboAWJ=C%oDpxM0Zt}oV{=?$-#+)Mo|oa@<@fB37i*|`_3B!5 z_igr6vo?jEMg07PY=Hm%uRTnu=;2X?){WM3-jDWPMPbg@e3DR8H_Y=~wA(B&Rlikl z$nq#`AHBskA5p4o>MG5@emsA7Z-=@Ho6aDk-X&g@5Ak|8Be0YrNAPpD1Wiom4QGxD(pU@~;q$gtI zYClLT7|GOI{?b%_{$Zml7 zZi$RuU@91SV$mTBW{qs&A_q^y1YfILl(~(;W3~aKWNGMH!kQ4eOV9P)%6<`PHp9a` z8~Xq2>aa|r5e}8SN*MGnED*I8j|?epsbFZeYihkAH1wVM?)x0F)bKxkN@X;9^2jg9 zr8&rikZq>TRz>8DIy+%Q2+Fw1!-BrAfIQx^+$o|7pA93Bg;AT*H!rJo8@SZ z=oOGq;wwNa2fAqyGYidNp~bAFf}SDb)JcmnI_mY~gRyV_u9e=OZ7n0zgrV%@DqWwh zLFd4wP!Y=-M3-LrEFzW!OtiLs%#6fSCLW zBa}YMmKNbL(v{g-S^|kA1@v4F=XlVoFH!3eSeHO8yLD=j*d3t<`G0O_O!4&1v-XRSL8CmUe=bwy2Y$)B^!hsIz;I5CJ z__KUtX(pEgfw9*_hVVlR`X5iDMHmpFCSF8h!mGc@ElD^olO9@=dlbgL#>9S&NGR(6 z=TYia$tvEVt+A>f(DbC?WJ)qfuZ{r5!Ou((&fitZuQI!!|8(zROxzv`GbMH1U-IS_ ztSX5wS9MN@wF;~Qn%D=T1>u3U*D(#*ssz=Dyk#3ADoPlZh?5l?BAly(#pMD?z}O&= zm?-HPI?)ff3WI*rd<1=!Sy2bw)sk&jCa&pP10LqRit7Nj%fDvf!(|X zvm^2Us`mZoXiX>|o3UWrG(u~4q56F(NxY&J%Zrgp{l%#oTFZz>27Keh_#FjUpbpD) zr{9(}v|jaF z>q0%qq-vK%7(rK%X0!8R2w^YDk|q;g6)?=t9el?%zXzR0R^wSkNs~LRKC;WeOCmi7 zyBN2iYguWaXXutZ?RTAH=tmBXJ*&_*1qDeU;957SxSS@k^@sT{?Sm5_p?U3Hzda1J z&A5}YI}lX=b8=Fr^vHgD2W1#_82HRm_HHAj9 z1z?tI`-gB@sS@S_7|=B#BNB-|m5QVt|J4|&Tl&;A?X@0AH?@`jSMwRZ zh>1urQ`Uzz{O(#AD23I@fqmE)y{`V#39_mZ$7PgB`;Q_1rBhM-Xj?KOi>=KJB$ASF zjwi7NNPu-ZVbrzcdUBp?Di*D+Oi+)a=ZqpYf(1j8{{OUD`(3uvI$iS5d5iGtD8~iH zk*`{5Br4)^^#%T3zkiLA92w-i848wVZR85saa;6J7#{I(WH^YKN)&7g{XY~o3`Z5{ zqs{bq|071?x*`J89H@8t6H6*uTbtrBU+jkMM0Q)B6iH2x)Fhj_Rw?h_H{$}?)aj5n z*E;8Wav4lg?WGnXH<9M4ZnCbX>B=U}%8^z0lM(E_JrM@nbUi4;5rx@~82oEf4ZV32 zn5GFaQ-4$3nz8>Fkij8A9U>!>_zjqF^m?ruEw4xsV(*g3#CL?CwCxe4ji?Glv#P{t za;!5KhHsU$FhQ-5_4_0$@G%lOc~c6-s^}o&Kc`6Cpv}R$*7^R@5V7;v)We={T;F9% z)QI;$d#=7nK}S%t^r`CGfuxA!8!)+mtt&Z#tSNt!^eU6|=bkNnO`+aTRI{7TQLafL zNoi`Qk(52s3h|25M2_l&t}@;>AX@kbCy+mFo^+RBMr6JWgmIl5PJi>qZCD3*l+CVUUJZ zdK0y_L4?nvf(4MJ)!C6amRgTuoxnsvK=I#1tcqSW zM^}=5{(I>p;T?W``#-3AZg(H@j&>T`-=k3{O3weo2{2dre-T%tloio9>&wpP6lBmF zDk3?ECqUJ?rNYaXH^xydi&(3jY VJcq-~bdC)EXdTp5f2wK~^ncmMSAGBh literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/index.html b/docs/v2/.vitepress/dist/index.html new file mode 100644 index 0000000..d0d72cd --- /dev/null +++ b/docs/v2/.vitepress/dist/index.html @@ -0,0 +1,24 @@ + + + + + + UAParser.js | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +

Skip to content

UAParser.js

Documentation Reference

Detect Browser, OS, CPU, & Device with JavaScript

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/extending-regex.html b/docs/v2/.vitepress/dist/intro/extending-regex.html new file mode 100644 index 0000000..7baee77 --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/extending-regex.html @@ -0,0 +1,56 @@ + + + + + + Extending Regex | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Extending Regex ​

Write Your Own Extension ​

If you want to detect something that's not currently provided by UAParser.js (eg: bots, specific apps, etc), you can pass a list of regexes to extends internal UAParser.js regexes with your own.

  • UAParser([uastring:string,] extensions:object [,headers:object])
js
// Example:
+const myOwnListOfBrowsers = [
+    [/(mybrowser)\/([\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, ['type', 'bot']]
+];
+
+const myUA = 'Mozilla/5.0 MyBrowser/1.3';
+
+const myParser = new UAParser({ browser: myOwnListOfBrowsers });
+
+console.log(myParser.setUA(myUA).getBrowser());  // {name: "MyBrowser", version: "1.3", major: "1", type : "bot"}
+console.log(myParser.getBrowser().is('bot'));    // true
js
// Another example:
+const myOwnListOfDevices = [
+    [/(mytab) ([\w ]+)/i], [UAParser.DEVICE.VENDOR, UAParser.DEVICE.MODEL, [UAParser.DEVICE.TYPE, UAParser.DEVICE.TABLET]],
+    [/(myphone)/i], [UAParser.DEVICE.VENDOR, [UAParser.DEVICE.TYPE, UAParser.DEVICE.MOBILE]]
+];
+
+const myUA2 = 'Mozilla/5.0 MyTab 14 Pro Max';
+
+const myParser2 = new UAParser({
+    browser: myOwnListOfBrowsers,
+    device: myOwnListOfDevices
+});
+
+console.log(myParser2.setUA(myUA2).getDevice());  // {vendor: "MyTab", model: "14 Pro Max", type: "tablet"}

INFO

When custom regexes passed into UAParser constructor, they will be ordered before internal regexes, thus when the parser runs they will get checked first.

Use Predefined Extensions Submodule ​

Some basic extensions (although not very complete at the moment) can also be found under ua-parser-js/extensions↗ submodule.

js
// Usage example
+import { UAParser } from 'ua-parser-js';
+import { Emails } from 'ua-parser-js/extensions';
+
+const ua = 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0';
+const browser = new UAParser(Emails)
+                    .setUA(ua)
+                    .getBrowser();
+
+console.log(browser.toString()); // Thunderbird 78.13.0

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/quick-start/quick-start.html b/docs/v2/.vitepress/dist/intro/quick-start/quick-start.html new file mode 100644 index 0000000..935917f --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/quick-start/quick-start.html @@ -0,0 +1,24 @@ + + + + + + Quick Start | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/quick-start/using-es-modules.html b/docs/v2/.vitepress/dist/intro/quick-start/using-es-modules.html new file mode 100644 index 0000000..2b4618e --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/quick-start/using-es-modules.html @@ -0,0 +1,31 @@ + + + + + + Using ES Modules | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Using ES Modules ​

sh
$ npm install ua-parser-js

Code Example ​

js
import { UAParser } from 'ua-parser-js';
+
+const { browser, cpu, device } = UAParser('Mozilla/5.0 (X11; U; Linux armv7l; en-GB; rv:1.9.2a1pre) Gecko/20090928 Firefox/3.5 Maemo Browser 1.4.1.22 RX-51 N900');
+
+console.log(browser.name);          // Maemo Browser
+console.log(cpu.is('arm'));         // true
+console.log(device.is('mobile'));   // true
+console.log(device.model);          // N900

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/quick-start/using-html.html b/docs/v2/.vitepress/dist/intro/quick-start/using-html.html new file mode 100644 index 0000000..30f6fac --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/quick-start/using-html.html @@ -0,0 +1,90 @@ + + + + + + Using HTML | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Using HTML ​


Code Example ​

html
<!doctype html>
+<html>
+<head>
+<script src="ua-parser.min.js"></script>
+<script>
+
+    var uap = new UAParser();
+    console.log(uap.getResult());
+    /*
+        /// This will print an object structured like this:
+        {
+            ua: "",
+            browser: {
+                name: "",
+                version: "",
+                major: ""
+            },
+            engine: {
+                name: "",
+                version: ""
+            },
+            os: {
+                name: "",
+                version: ""
+            },
+            device: {
+                model: "",
+                type: "",
+                vendor: ""
+            },
+            cpu: {
+                architecture: ""
+            }
+        }
+    */
+    // Default result depends on current window.navigator.userAgent value
+
+    // Now let's try a custom user-agent string as an example
+    var uastring1 = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2";
+    uap.setUA(uastring1);
+    var result = uap.getResult();
+    // You can also use UAParser constructor directly without having to create an instance:
+    // var ua = UAParser(uastring1);
+
+    console.log(result.browser);        // {name: "Chromium", version: "15.0.874.106"}
+    console.log(result.device);         // {model: undefined, type: undefined, vendor: undefined}
+    console.log(result.os);             // {name: "Ubuntu", version: "11.10"}
+    console.log(result.os.version);     // "11.10"
+    console.log(result.engine.name);    // "WebKit"
+    console.log(result.cpu.architecture);   // "amd64"
+
+    // Do some other tests
+    var uastring2 = "Mozilla/5.0 (compatible; Konqueror/4.1; OpenBSD) KHTML/4.1.4 (like Gecko)";
+    console.log(uap.setUA(uastring2).getBrowser().name); // "Konqueror"
+    console.log(uap.getOS());                            // {name: "OpenBSD", version: undefined}
+    console.log(uap.getEngine());                        // {name: "KHTML", version: "4.1.4"}
+
+    var uastring3 = 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Version/7.1.0.7 Safari/534.11';
+    console.log(uap.setUA(uastring3).getDevice().model); // "PlayBook"
+    console.log(uap.getOS())                             // {name: "RIM Tablet OS", version: "1.0.0"}
+    console.log(uap.getBrowser().name);                  // "Safari"
+
+</script>
+</head>
+<body>
+</body>
+</html>

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/quick-start/using-jquery.html b/docs/v2/.vitepress/dist/intro/quick-start/using-jquery.html new file mode 100644 index 0000000..4a1c730 --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/quick-start/using-jquery.html @@ -0,0 +1,50 @@ + + + + + + Using jQuery/Zepto ($.ua) | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Using jQuery/Zepto ($.ua) ​

Although written in vanilla js, this library will automatically detect if jQuery/Zepto is present and create $.ua object (with values based on its User-Agent) along with window.UAParser constructor. To get/set user-agent you can use:

$.ua.get():string ​

Get user-agent string

$.ua.set(ua:string) ​

Set user-agent string

Code Example ​

js
// Say we are in a browser which has default user-agent: 
+// "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0"
+
+// Get the details
+console.log($.ua.device);           // {vendor: "HTC", model: "Evo Shift 4G", type: "mobile"}
+console.log($.ua.os);               // {name: "Android", version: "2.3.4"}
+console.log($.ua.os.name);          // "Android"
+console.log($.ua.get());            // "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0"
+
+// Now lets try to reset to another custom user-agent
+$.ua.set('Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build/HWI69) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13');
+
+// Test again
+console.log($.ua.browser.name);     // "Safari"
+console.log($.ua.engine.name);      // "Webkit"
+console.log($.ua.device);           // {vendor: "Motorola", model: "Xoom", type: "tablet"}
+console.log($.ua.browser.version);  // "4.0"
+console.log($.ua.browser.major);    // "4"
+
+// Add class to <body> tag
+// <body class="ua-browser-safari ua-devicetype-tablet">
+$('body')
+    .addClass(
+        'ua-browser-' + 
+        $.ua.browser.name + 
+        ' ua-devicetype-' + 
+        $.ua.device.type);

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/quick-start/using-node-js.html b/docs/v2/.vitepress/dist/intro/quick-start/using-node-js.html new file mode 100644 index 0000000..a9434b2 --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/quick-start/using-node-js.html @@ -0,0 +1,48 @@ + + + + + + Using Node.js | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Using Node.js ​

sh
$ npm install ua-parser-js

Code Example ​

js
var http = require('http');
+var uap = require('ua-parser-js');
+
+http.createServer(function (req, res) {
+    // get user-agent header
+    var ua = uap(req.headers['user-agent']);
+
+    /* // BEGIN since@2.0 - you can also pass client-hints data to UAParser
+
+    // note: only works in secure context (https:// or localhost or file://)
+
+    var getHighEntropyValues = 'Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness';
+    res.setHeader('Accept-CH', getHighEntropyValues);
+    res.setHeader('Critical-CH', getHighEntropyValues);
+    
+    var ua = uap(req.headers).withClientHints();
+
+    // END since@2.0 */
+
+    // write the result as response
+    res.end(JSON.stringify(ua, null, '  '));
+})
+.listen(1337, '127.0.0.1');
+
+console.log('Server running at http://127.0.0.1:1337/');

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/quick-start/using-typescript.html b/docs/v2/.vitepress/dist/intro/quick-start/using-typescript.html new file mode 100644 index 0000000..30fe30b --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/quick-start/using-typescript.html @@ -0,0 +1,32 @@ + + + + + + Using TypeScript | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Using TypeScript ​

sh
$ npm install --save ua-parser-js
+# Install ua-parser-js
+
+$ npm install --save-dev @types/ua-parser-js
+# Download type definition from DefinitelyTyped repository
+# https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ua-parser-js

Code Example ​

js
import { UAParser } from 'ua-parser-js'; 
+
+const parser = new UAParser();
+console.log(parser.getResult());

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/.vitepress/dist/intro/why-ua-parser-js.html b/docs/v2/.vitepress/dist/intro/why-ua-parser-js.html new file mode 100644 index 0000000..166dc07 --- /dev/null +++ b/docs/v2/.vitepress/dist/intro/why-ua-parser-js.html @@ -0,0 +1,48 @@ + + + + + + Why UAParser.js | Detect Browser, OS, CPU, & Device with JavaScript + + + + + + + + + + + + +
Skip to content
On this page

Why UAParser.js ​


This illustration sums up why:

js
// Consider we got this user-agent (yes it's real):
+const ua = `Mozilla/5.0 (Linux; Android 10; STK-LX1 
+Build/HONORSTK-LX1; wv) AppleWebKit/537.36 (KHTML, 
+like Gecko) Version/4.0 Chrome/110.0.5481.153 Mobile 
+Safari/537.36 musical_ly_2022803040 JsSdk/1.0 
+NetType/WIFI Channel/huaweiadsglobal_int 
+AppName/musical_ly app_version/28.3.4 ByteLocale/en 
+ByteFullLocale/en Region/IQ Spark/1.2.7-alpha.8 
+AppVersion/28.3.4 PIA/1.5.11 BytedanceWebview/d8a21c6`;
+
+// what???

Worry not:

js
// Just pass it to `UAParser`
+const parser = new UAParser(ua);
+
+// And voila!
+console.log(parser.getBrowser());
+// { name : "TikTok", version : "28.3.4", major : "28" }
+
+console.log(parser.getEngine());
+// { name : "Blink", version : "110.0.5481.153" }
+
+console.log(parser.getDevice());
+// { type : "mobile", vendor : "Huawei", model : "STK-LX1" }
+
+console.log(parser.getOS());
+// { name : "Android", version : "10" }

Licensed under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/v2/api/idata/is.md b/docs/v2/api/idata/is.md new file mode 100644 index 0000000..1de7b09 --- /dev/null +++ b/docs/v2/api/idata/is.md @@ -0,0 +1,67 @@ +# is(value:string):boolean + +This method returns `true` if the passed value matches with the value of one of the properties of current object, `false` otherwise. + +::: info +* `device` properties are checked in this particular order: `type`, `model`, `vendor`. +* When checking for browser, any `Browser` suffix will be ignored. +* When checking for OS, any `OS` suffix will be ignored. +* The comparison is case-insensitive, thus `is("firefox") == is("Firefox")`. +::: + +## Code Example + +```js +// is() is just a shorthand comparison +// so that instead of write it using `==` operator like this: + +const ua = UAParser(); +const device = ua.device; +const os = ua.os; + +if (device.type == "mobile" && os.name != "iOS") {} +if (device.type == "smarttv" || device.vendor == "Samsung") {} + +// we can also write the comparison above into as follow: + +if (device.is("mobile") && !os.is("iOS")) {} +if (device.is("SmartTV") || device.is("SaMsUnG")) {} +``` + +```js +// Another examples: + +const uap = new UAParser('Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537'); + +uap.getBrowser().name; // "IEMobile" +uap.getBrowser().is("IEMobile"); // true +uap.getCPU().is("ARM"); // true + +uap.getOS().name; // "Windows Phone" +uap.getOS().is("Windows Phone"); // true + +uap.getDevice(); // { vendor: "Nokia", model: "Lumia 635", type: "mobile" } +uap.getResult().device; // { vendor: "Nokia", model: "Lumia 635", type: "mobile" } + +const device = uap.getDevice(); +device.is("mobile"); // true +device.is("Lumia 635"); // true +device.is("Nokia"); // true +device.is("iPhone"); // false +uap.getResult().device.is("Nokia"); // true +uap.getResult().device.model; // "Lumia 635" + +uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36"); + +const browser = uap.getBrowser(); +browser.is("IEMobile"); // false +browser.is("Chrome"); // true + +uap.getResult().browser.is("Edge"); // false +uap.getResult().os.name // "Mac OS" +uap.getResult().os.is("Mac OS"); // true +uap.getResult().os.version; // "10.6.8" + +const engine = uap.getEngine(); +engine.is("Blink"); // true +``` \ No newline at end of file diff --git a/docs/v2/api/idata/to-string.md b/docs/v2/api/idata/to-string.md new file mode 100644 index 0000000..0568ff3 --- /dev/null +++ b/docs/v2/api/idata/to-string.md @@ -0,0 +1,42 @@ +# `toString():string` + +Retrieve full-name values as a string + +::: info +Values will be concatenated following this pattern: +* browser : `name` + `version` +* cpu : `architecture` +* device : `vendor` + `model` +* engine : `name` + `version` +* os : `name` + `version` +::: + +## Code Example + +```js +// Usage examples + +let uap = new UAParser('Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537'); + +uap.getDevice(); // { + // vendor: "Nokia", + // model: "Lumia 635", + // type: "mobile" + // } +uap.getDevice().toString(); // "Nokia Lumia 635" + +uap.getResult().os.name; // "Windows Phone" +uap.getResult().os.version; // "8.1" +uap.getResult().os.toString(); // "Windows Phone 8.1" + +uap.setUA("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36"); +uap.getBrowser().name; // "Chrome" +uap.getBrowser().version; // "28.0.1500.95" +uap.getBrowser().major; // "28" +uap.getBrowser().toString(); // "Chrome 28.0.1500.95" + +let engine = uap.getEngine(); +engine.name; // "Blink" +engine.version; // "28.0.1500.95" +engine.toString(); // "Blink 28.0.1500.95" +``` diff --git a/docs/v2/api/idata/with-client-hints.md b/docs/v2/api/idata/with-client-hints.md new file mode 100644 index 0000000..674d39c --- /dev/null +++ b/docs/v2/api/idata/with-client-hints.md @@ -0,0 +1,74 @@ +# `withClientHints():Promise|Thenable|IData` + +Recently, Chrome limits the information that exposed through user-agent and introduces a new experimental set of data called ["Client Hints"↗](https://developer.mozilla.org/en-US/docs/Web/API/User-Agent_Client_Hints_API). + +Chrome also sends this client-hints data by default under `Sec-CH-UA-*` HTTP headers in each request, along with the legacy `User-Agent` HTTP header. In server-side development, you can capture this extra information by passing the `req.headers` to `UAParser()` (see examples below). + +In browser-environment, obtaining the client-hints data via JavaScript must be done in an asynchronous way. You can chain the result object from `get*` method with `withClientHints()` to also read the client-hints data from the browser which will return the updated data in a `Promise`. + +::: info +In Node.js or in browser-environment without client-hints support (basically anything that's not Chromium-based), `withClientHints()` will return the updated data as a new object instead of as a `Promise`. +::: + +## Code Example + +### Client-side Example + +```js +(async function () { + const ua = new UAParser(); + + // get browser data from user-agent only : + let browser = ua.getBrowser(); + console.log('Using User-Agent: ', browser); + + // get browser data from client-hints + // (with user-agent as a fallback) : + browser = await ua.getBrowser().withClientHints(); + console.log('Using Client-Hints: ', browser); +})(); +``` +```js +// alternatively without async-await: +const ua = new UAParser(); + +ua.getBrowser().withClientHints().then(function (browser) { + console.log('Using Client-Hints: ', browser); +}); +``` + +### Server-side Example + +```js +// Suppose we got a request having these HTTP headers: +const request = { + headers : { + 'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', + + 'sec-ch-ua-mobile' : '?1', + 'sec-ch-ua-model' : 'Galaxy S3 Marketing', + 'sec-ch-ua-platform' : 'Android' + } +}; + +// parse only "user-agent" header +const result1 = UAParser(request.headers); + +// also use "sec-ch-ua" headers, in addition to "user-agent" +const result2 = UAParser(request.headers).withClientHints(); + +console.log(result1.os.name); // "Linux" +console.log(result1.device.type); // undefined +console.log(result1.device.model); // undefined + +console.log(result2.os.name); // "Android" +console.log(result2.device.type); // "mobile" +console.log(result2.device.model); // "Galaxy S3 Marketing" + +new UAParser(request.headers) + .getBrowser() + .withClientHints() + .then((browser) => { + console.log(browser.toString()); // Chrome 110.0.0.0 +}); +``` \ No newline at end of file diff --git a/docs/v2/api/idata/with-feature-check.md b/docs/v2/api/idata/with-feature-check.md new file mode 100644 index 0000000..4120966 --- /dev/null +++ b/docs/v2/api/idata/with-feature-check.md @@ -0,0 +1,19 @@ +# withFeatureCheck():IData` + +This method allows us to examine other features beyond `navigator.userAgent`. Currently this further improve the detection of the following: + +- browser : + - Brave (check for `navigator.isBrave`) +- device : + - iPad (check for `navigator.standalone` & `navigator.maxTouchPoints`) + +## Code Example + +```js +// suppose this code runs on iPad +const withoutFeatureCheck = UAParser(); +const withFeatureCheck = UAParser().withFeatureCheck(); + +console.log(withoutFeatureCheck.device); // { vendor : "Apple", model : "Macintosh", type : undefined } +console.log(withFeatureCheck.device); // { vendor : "Apple", model : "iPad", type : "tablet" } +``` \ No newline at end of file diff --git a/docs/v2/api/submodules/enums.md b/docs/v2/api/submodules/enums.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/v2/api/submodules/extensions.md b/docs/v2/api/submodules/extensions.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/v2/api/submodules/maps.md b/docs/v2/api/submodules/maps.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/v2/api/ua-parser-js/get-browser.md b/docs/v2/api/ua-parser-js/get-browser.md new file mode 100644 index 0000000..3cd5e46 --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-browser.md @@ -0,0 +1,55 @@ +# getBrowser():IData + +Get browser name, full version, & major version from user-agent string. + +```js +// Result object is structured as follow: +{ name: '', version: '', major: '' } +``` + +## `name:string` + +```sh +# List of possible `browser.name`: +2345Explorer, 360 Browser, Amaya, Android Browser, Arora, +Avant, Avast, AVG, BIDUBrowser, Baidu, Basilisk, Blazer, +Bolt, Brave, Bowser, Camino, Chimera, [Mobile] Chrome +[Headless/WebView], Chromium, Cobalt, Comodo Dragon, +Dillo, Dolphin, Doris, DuckDuckGo, Edge, Electron, +Epiphany, Facebook, Falkon, Fennec, Firebird, [Mobile] +Firefox [Focus/Reality], Flock, Flow, GSA, GoBrowser, +HeyTap, Huawei Browser, ICE Browser, IE, IEMobile, +IceApe, IceCat, IceDragon, Iceweasel, Instagram, Iridium, +Iron, Jasmine, Kakao[Story/Talk], K-Meleon, Kindle, Klar, +Konqueror, LBBROWSER, Line, LinkedIn, Links, Lunascape, +Lynx, MIUI Browser, Maemo Browser, Maemo, Maxthon, MetaSr, +Midori, Minimo, Mosaic, Mozilla, NetFront, NetSurf, +Netfront, Netscape, NokiaBrowser, Obigo, Oculus Browser, +OmniWeb, Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, +PhantomJS, Phoenix, Polaris, Puffin, QQ, QQBrowser, +QQBrowserLite, Quark, QupZilla, RockMelt, [Mobile] Safari, +Sailfish Browser, Samsung Browser, SeaMonkey, Silk, +Skyfire, Sleipnir, Slim, SlimBrowser, Swiftfox, Tesla, +TikTok, Tizen Browser, UCBrowser, UP.Browser, Viera, Vivaldi, +Waterfox, WeChat, Weibo, Yandex, baidu, iCab, w3m, +Whale Browser, ... +``` + +## `version:string` + +Determined dynamically + +## `major:string` + +Major number of `version` following [semver↗](https://semver.org/), eg: if we have version `5.1.21214` the major would be `5`. + + +## Code Example + +```js +const operamini = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25' +const parser = new UAParser(operamini); + +console.log(parser.getBrowser()); +// { name : "Opera Mini", version : "5.1.21214", major : "5" } +``` \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/get-cpu.md b/docs/v2/api/ua-parser-js/get-cpu.md new file mode 100644 index 0000000..ac0a8de --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-cpu.md @@ -0,0 +1,30 @@ +# getCPU():IData + +Get type of CPU architecture from user-agent string. + +```js +// Result object is structured as follow: +{ architecture: '' } +``` + +## `architecture:string` + +```sh +# List of possible values for `cpu.architecture` +68k, amd64, arm[64/hf], avr, ia[32/64], irix[64], +mips[64], pa-risc, ppc, sparc[64] +``` + +::: info +Our convention here for 32-bit version of **'x86'** is referred as `ia32`, while its 64-bit extension (also known as **'x86-64'** or simply **'x64'**) is referred as `amd64`. +::: + +## Code Example + +```js +const powerpc = 'Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC Mac OS; en)' +const parser = new UAParser(powerpc); + +console.log(parser.getCPU()); +// { architecture : "ppc" } +``` \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/get-device.md b/docs/v2/api/ua-parser-js/get-device.md new file mode 100644 index 0000000..1573c92 --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-device.md @@ -0,0 +1,47 @@ +# getDevice():IData + +Get details of device information (type, vendor, model) from user-agent string. + +```js +// Result object is structured as follow: +{ type: '', vendor: '', model: '' } +``` + +## `type:string` + +```sh +# List of possible values for `device.type`: +mobile, tablet, smarttv, console, wearable, embedded +``` + +::: info +If you wish to detect desktop devices, you must handle the logic yourself, since `UAParser` only reports info that is directly available from user-agent string. Read more about this issue [here↗](https://github.com/faisalman/ua-parser-js/issues/182) +::: + +## `vendor:string` + +```sh +# List of possible `device.vendor`: +Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, +BlackBerry, Dell, Essential, Facebook, Fairphone, GeeksPhone, +Google, HP, HTC, Huawei, Jolla, Kobo, Lenovo, LG, Meizu, +Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, +OPPO, Ouya, Palm, Panasonic, Pebble, Polytron, Realme, RIM, +Roku, Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Tesla, +Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ... +``` + +## `model:string` + +Determined dynamically + +## Code Example + +```js + +const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36' +const parser = new UAParser(galaxytabs8); + +console.log(parser.getDevice()); +// { type : "tablet", vendor : "Samsung", model : "SM-X706B" } +``` \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/get-engine.md b/docs/v2/api/ua-parser-js/get-engine.md new file mode 100644 index 0000000..0be99d3 --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-engine.md @@ -0,0 +1,31 @@ +# getEngine():IData + +Get layout rendering engine name & version from user-agent string. + +```js +// Result object is structured as follow: +{ name: '', version: '' } +``` + +## `name:string` + +```sh +# List of possible value of `engine.name` +Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, +KHTML, LibWeb, Links, Lynx, NetFront, NetSurf, +Presto, Tasman, Trident, w3m, WebKit +``` + +## `version:string` + +Determined dynamically + +## Code Example + +```js +const operamini = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/19.916; U; en) Presto/2.5.25' +const parser = new UAParser(operamini); + +console.log(parser.getEngine()); +// { name : "Presto", version : "2.5.25" } +``` \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/get-os.md b/docs/v2/api/ua-parser-js/get-os.md new file mode 100644 index 0000000..e5f1977 --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-os.md @@ -0,0 +1,38 @@ +# getOS():IData + +Get operating system name & version from user-agent string. + +```js +// Result object is structured as follow: +{ name: '', version: '' } +``` + +## `name:string` + +```sh +# List of possible values for `os.name` +AIX, Amiga OS, Android[-x86], Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, +Contiki, Fedora, Firefox OS, FreeBSD, Debian, Deepin, DragonFly, elementary OS, +Fuchsia, Gentoo, GhostBSD, GNU, Haiku, HarmonyOS, HP-UX, Hurd, iOS, Joli, KaiOS, +Linpus, Linspire,Linux, Mac OS, Maemo, Mageia, Mandriva, Manjaro, MeeGo, Minix, +Mint, Morph OS, NetBSD, NetRange, NetTV, Nintendo, OpenBSD, OpenVMS, OS/2, Palm, +PC-BSD, PCLinuxOS, Plan9, PlayStation, QNX, Raspbian, RedHat, RIM Tablet OS, +RISC OS, Sabayon, Sailfish, SerenityOS, Series40, Slackware, Solaris, SUSE, Symbian, +Tizen, Ubuntu, Unix, VectorLinux, Viera, watchOS, WebOS, Windows [Phone/Mobile], +Zenwalk, ... +``` + +## `version:string` + +Determined dynamically + +## Code Example + +```js + +const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36' +const parser = new UAParser(galaxytabs8); + +console.log(parser.getOS()); +// { name : "Android", version : "12" } +``` diff --git a/docs/v2/api/ua-parser-js/get-result.md b/docs/v2/api/ua-parser-js/get-result.md new file mode 100644 index 0000000..ce29b1f --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-result.md @@ -0,0 +1,90 @@ +# getResult():IData + +Get all information regarding browser, CPU, device, engine, & OS from user-agent string. + +```js +// Result object is structured as follow: +{ + ua: "", + browser: { + name: "", + version: "", + major: "" + }, + cpu: { + architecture: "" + }, + device: { + type: "", + vendor: "", + model: "" + }, + engine: { + name: "", + version: "" + }, + os: { + name: "", + version: "" + } +} +``` + +## `ua:string` + +The user-agent string value of current instance. + +## [`browser:IData`](/api/ua-parser-js/get-browser) + +Object that contains the value of browser name, full version, & major version. + +## [`cpu:IData`](/api/ua-parser-js/get-cpu) + +Object that contains the value of type of CPU architecture. + +## [`device:IData`](/api/ua-parser-js/get-device) + +Object that contains the value of device details: type, vendor, model. + +## [`engine:IData`](/api/ua-parser-js/get-engine) + +Object that contains the value of layout rendering engine name & version. + +## [`os:IData`](/api/ua-parser-js/get-os) + +Object that contains the value of operating system name & version. + +## Code Example + +```js +const galaxytabs8 = 'Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36' +const parser = new UAParser(galaxytabs8); + +console.log(parser.getResult()); +/* +{ + ua: "Mozilla/5.0 (Linux; Android 12; SM-X706B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36", + browser: { + name: "Chrome", + version: "103.0.5060.53", + major: "103" + }, + cpu: { + architecture: undefined + }, + device: { + type: "mobile", + vendor: "Huawei", + model: "SM-X706B" + }, + engine: { + name: "Blink", + version: "103.0.5060.53" + }, + os: { + name: "Android", + version: "12" + } +} +*/ +``` \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/get-ua.md b/docs/v2/api/ua-parser-js/get-ua.md new file mode 100644 index 0000000..4731729 --- /dev/null +++ b/docs/v2/api/ua-parser-js/get-ua.md @@ -0,0 +1,19 @@ +# getUA():string + +Get user-agent string of current instance + +## Code Example + +```js +// Try to run this code on a browser +const parser = new UAParser(); + +// This will print the user-agent of current browser +console.log(parser.getUA()); + +// Replace the user-agent value +parser.setUA('Mozilla/5.0 MyBrowser/1.0'); + +parser.getUA(); +// "Mozilla/5.0 MyBrowser/1.0" +``` \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/overview.md b/docs/v2/api/ua-parser-js/overview.md new file mode 100644 index 0000000..5e0102a --- /dev/null +++ b/docs/v2/api/ua-parser-js/overview.md @@ -0,0 +1,90 @@ +# UAParser Class Overview + +## Constructor + +### `new UAParser([user-agent:string][,extensions:object][,headers:object]):UAParser` + +When called with the `new` keyword, it will return a new instance of `UAParser`. + +```js +const parser = new UAParser("your user-agent here"); // you need to pass the user-agent for nodejs +console.log(parser); +/* + {} +*/ + +const parserResults = parser.getResult(); +console.log(parserResults); +/* + { + ua : "", + browser : {}, + engine : {}, + os : {}, + device : {}, + cpu : {} + } +*/ +``` + +### `UAParser([user-agent:string][,extensions:object][,headers:object]):IData` + +When called without the `new` keyword, it will directly return the results of `getResult()`: + +```js +const parser = UAParser("your user-agent here"); +console.log(parser); +/* + { + ua : "", + browser : {}, + engine : {}, + os : {}, + device : {}, + cpu : {} + } +*/ +``` + +::: tip +In **browser** environment you don't need to pass the user-agent string, as it should automatically get the string from the current `window.navigator.userAgent`. +::: + +::: tip +In **Node.js** environment, user-agent string must be passed in order for the function to work. Usually you can find it in: `request.headers["user-agent"]`. +::: + +## Methods +The methods are self explanatory, here's a small overview of available methods: + +### [`getBrowser():IData`](/api/ua-parser-js/get-browser) + +returns the browser name, version, and major. + +### [`getCPU():IData`](/api/ua-parser-js/get-cpu) + +returns CPU architectural design name. + +### [`getDevice():IData`](/api/ua-parser-js/get-device) + +returns the device model, type, vendor. + +### [`getEngine():IData`](/api/ua-parser-js/get-engine) + +returns the browser engine name and version. + +### [`getOS():IData`](/api/ua-parser-js/get-os) + +returns the operating system name and version. + +### [`getResult():IData`](/api/ua-parser-js/get-result) + +returns all function object calls, user-agent string, browser info, cpu, device, engine, os. + +### [`getUA():string`](/api/ua-parser-js/get-ua) + +returns the user-agent string. + +### [`setUA(ua:string):UAParser`](/api/ua-parser-js/set-ua) + +set a custom user-agent string to be parsed. \ No newline at end of file diff --git a/docs/v2/api/ua-parser-js/set-ua.md b/docs/v2/api/ua-parser-js/set-ua.md new file mode 100644 index 0000000..e698d50 --- /dev/null +++ b/docs/v2/api/ua-parser-js/set-ua.md @@ -0,0 +1,19 @@ +# setUA(ua:string):UAParser + +Set user-agent string to be parsed, returns current instance + +## Code Example + +```js +// Try to run this code on a browser +const parser = new UAParser(); + +// This will print the user-agent of current browser +console.log(parser.getUA()); + +// Replace the user-agent value +parser.setUA('Mozilla/5.0 MyBrowser/1.0'); + +parser.getUA(); +// "Mozilla/5.0 MyBrowser/1.0" +``` \ No newline at end of file diff --git a/docs/v2/index.md b/docs/v2/index.md new file mode 100644 index 0000000..694a7f5 --- /dev/null +++ b/docs/v2/index.md @@ -0,0 +1,16 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "UAParser.js" + text: "Documentation Reference" + tagline: Detect Browser, OS, CPU, & Device with JavaScript + + actions: + - text: Introduction + link: /intro/why-ua-parser-js + - theme: alt + text: API Reference + link: /api/ua-parser-js/overview +--- \ No newline at end of file diff --git a/docs/v2/intro/extending-regex.md b/docs/v2/intro/extending-regex.md new file mode 100644 index 0000000..1381ee9 --- /dev/null +++ b/docs/v2/intro/extending-regex.md @@ -0,0 +1,59 @@ +# Extending Regex + +## Write Your Own Extension + +If you want to detect something that's not currently provided by UAParser.js (eg: bots, specific apps, etc), you can pass a list of regexes to extends internal UAParser.js regexes with your own. + +- `UAParser([uastring:string,] extensions:object [,headers:object])` + +```js +// Example: +const myOwnListOfBrowsers = [ + [/(mybrowser)\/([\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, ['type', 'bot']] +]; + +const myUA = 'Mozilla/5.0 MyBrowser/1.3'; + +const myParser = new UAParser({ browser: myOwnListOfBrowsers }); + +console.log(myParser.setUA(myUA).getBrowser()); // {name: "MyBrowser", version: "1.3", major: "1", type : "bot"} +console.log(myParser.getBrowser().is('bot')); // true +``` + +```js +// Another example: +const myOwnListOfDevices = [ + [/(mytab) ([\w ]+)/i], [UAParser.DEVICE.VENDOR, UAParser.DEVICE.MODEL, [UAParser.DEVICE.TYPE, UAParser.DEVICE.TABLET]], + [/(myphone)/i], [UAParser.DEVICE.VENDOR, [UAParser.DEVICE.TYPE, UAParser.DEVICE.MOBILE]] +]; + +const myUA2 = 'Mozilla/5.0 MyTab 14 Pro Max'; + +const myParser2 = new UAParser({ + browser: myOwnListOfBrowsers, + device: myOwnListOfDevices +}); + +console.log(myParser2.setUA(myUA2).getDevice()); // {vendor: "MyTab", model: "14 Pro Max", type: "tablet"} +``` + +::: info +When custom regexes passed into `UAParser` constructor, they will be ordered **before** internal regexes, thus when the parser runs they will get checked first. +::: + +## Use Predefined Extensions Submodule + +Some basic extensions (although not very complete at the moment) can also be found under [`ua-parser-js/extensions`↗](/api/submodules/extensions) submodule. + +```js +// Usage example +import { UAParser } from 'ua-parser-js'; +import { Emails } from 'ua-parser-js/extensions'; + +const ua = 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0'; +const browser = new UAParser(Emails) + .setUA(ua) + .getBrowser(); + +console.log(browser.toString()); // Thunderbird 78.13.0 +``` diff --git a/docs/v2/intro/quick-start/quick-start.md b/docs/v2/intro/quick-start/quick-start.md new file mode 100644 index 0000000..bd81883 --- /dev/null +++ b/docs/v2/intro/quick-start/quick-start.md @@ -0,0 +1,9 @@ +# Quick Start + +Choose your ~~fighter~~ development strategy: + +- [HTML ↗](/intro/quick-start/using-html) +- [Node.js ↗](/intro/quick-start/using-node-js) +- [ES Modules ↗](/intro/quick-start/using-es-modules) +- [TypeScript ↗](/intro/quick-start/using-typescript) +- [jQuery ↗](/intro/quick-start/using-jquery) \ No newline at end of file diff --git a/docs/v2/intro/quick-start/using-es-modules.md b/docs/v2/intro/quick-start/using-es-modules.md new file mode 100644 index 0000000..7d5d0ae --- /dev/null +++ b/docs/v2/intro/quick-start/using-es-modules.md @@ -0,0 +1,18 @@ +# Using ES Modules + +```sh +$ npm install ua-parser-js +``` + +## Code Example + +```js +import { UAParser } from 'ua-parser-js'; + +const { browser, cpu, device } = UAParser('Mozilla/5.0 (X11; U; Linux armv7l; en-GB; rv:1.9.2a1pre) Gecko/20090928 Firefox/3.5 Maemo Browser 1.4.1.22 RX-51 N900'); + +console.log(browser.name); // Maemo Browser +console.log(cpu.is('arm')); // true +console.log(device.is('mobile')); // true +console.log(device.model); // N900 +``` \ No newline at end of file diff --git a/docs/v2/intro/quick-start/using-html.md b/docs/v2/intro/quick-start/using-html.md new file mode 100644 index 0000000..1d57c01 --- /dev/null +++ b/docs/v2/intro/quick-start/using-html.md @@ -0,0 +1,78 @@ +# Using HTML +--- +- Download minified file locally from [GitHub ↗](https://github.com/faisalman/ua-parser-js/blob/master/dist/ua-parser.pack.js) +- Or use CDN for extra cache performance + - [jsDelivr ↗](https://cdn.jsdelivr.net/npm/ua-parser-js/src/ua-parser.min.js) + - [cdnjs ↗](https://cdnjs.com/libraries/UAParser.js) + +## Code Example + +```html + + + + + + + + + +``` \ No newline at end of file diff --git a/docs/v2/intro/quick-start/using-jquery.md b/docs/v2/intro/quick-start/using-jquery.md new file mode 100644 index 0000000..650cd71 --- /dev/null +++ b/docs/v2/intro/quick-start/using-jquery.md @@ -0,0 +1,43 @@ +# Using jQuery/Zepto ($.ua) + +Although written in vanilla js, this library will automatically detect if jQuery/Zepto is present and create `$.ua` object (with values based on its User-Agent) along with `window.UAParser` constructor. To get/set user-agent you can use: + +## `$.ua.get():string` + +Get user-agent string + +## `$.ua.set(ua:string)` + +Set user-agent string + +## Code Example + +```js +// Say we are in a browser which has default user-agent: +// "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0" + +// Get the details +console.log($.ua.device); // {vendor: "HTC", model: "Evo Shift 4G", type: "mobile"} +console.log($.ua.os); // {name: "Android", version: "2.3.4"} +console.log($.ua.os.name); // "Android" +console.log($.ua.get()); // "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0" + +// Now lets try to reset to another custom user-agent +$.ua.set('Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build/HWI69) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'); + +// Test again +console.log($.ua.browser.name); // "Safari" +console.log($.ua.engine.name); // "Webkit" +console.log($.ua.device); // {vendor: "Motorola", model: "Xoom", type: "tablet"} +console.log($.ua.browser.version); // "4.0" +console.log($.ua.browser.major); // "4" + +// Add class to tag +// +$('body') + .addClass( + 'ua-browser-' + + $.ua.browser.name + + ' ua-devicetype-' + + $.ua.device.type); +``` \ No newline at end of file diff --git a/docs/v2/intro/quick-start/using-node-js.md b/docs/v2/intro/quick-start/using-node-js.md new file mode 100644 index 0000000..c790736 --- /dev/null +++ b/docs/v2/intro/quick-start/using-node-js.md @@ -0,0 +1,35 @@ +# Using Node.js + +```sh +$ npm install ua-parser-js +``` + +## Code Example + +```js +var http = require('http'); +var uap = require('ua-parser-js'); + +http.createServer(function (req, res) { + // get user-agent header + var ua = uap(req.headers['user-agent']); + + /* // BEGIN since@2.0 - you can also pass client-hints data to UAParser + + // note: only works in secure context (https:// or localhost or file://) + + var getHighEntropyValues = 'Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness'; + res.setHeader('Accept-CH', getHighEntropyValues); + res.setHeader('Critical-CH', getHighEntropyValues); + + var ua = uap(req.headers).withClientHints(); + + // END since@2.0 */ + + // write the result as response + res.end(JSON.stringify(ua, null, ' ')); +}) +.listen(1337, '127.0.0.1'); + +console.log('Server running at http://127.0.0.1:1337/'); +``` \ No newline at end of file diff --git a/docs/v2/intro/quick-start/using-typescript.md b/docs/v2/intro/quick-start/using-typescript.md new file mode 100644 index 0000000..43b0b21 --- /dev/null +++ b/docs/v2/intro/quick-start/using-typescript.md @@ -0,0 +1,19 @@ +# Using TypeScript + +```sh +$ npm install --save ua-parser-js +# Install ua-parser-js + +$ npm install --save-dev @types/ua-parser-js +# Download type definition from DefinitelyTyped repository +# https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ua-parser-js +``` + +## Code Example + +```js +import { UAParser } from 'ua-parser-js'; + +const parser = new UAParser(); +console.log(parser.getResult()); +``` \ No newline at end of file diff --git a/docs/v2/intro/why-ua-parser-js.md b/docs/v2/intro/why-ua-parser-js.md new file mode 100644 index 0000000..d60d319 --- /dev/null +++ b/docs/v2/intro/why-ua-parser-js.md @@ -0,0 +1,39 @@ +# Why UAParser.js + +--- + +This illustration sums up why: + +```js +// Consider we got this user-agent (yes it's real): +const ua = `Mozilla/5.0 (Linux; Android 10; STK-LX1 +Build/HONORSTK-LX1; wv) AppleWebKit/537.36 (KHTML, +like Gecko) Version/4.0 Chrome/110.0.5481.153 Mobile +Safari/537.36 musical_ly_2022803040 JsSdk/1.0 +NetType/WIFI Channel/huaweiadsglobal_int +AppName/musical_ly app_version/28.3.4 ByteLocale/en +ByteFullLocale/en Region/IQ Spark/1.2.7-alpha.8 +AppVersion/28.3.4 PIA/1.5.11 BytedanceWebview/d8a21c6`; + +// what??? +``` + +Worry not: + +```js +// Just pass it to `UAParser` +const parser = new UAParser(ua); + +// And voila! +console.log(parser.getBrowser()); +// { name : "TikTok", version : "28.3.4", major : "28" } + +console.log(parser.getEngine()); +// { name : "Blink", version : "110.0.5481.153" } + +console.log(parser.getDevice()); +// { type : "mobile", vendor : "Huawei", model : "STK-LX1" } + +console.log(parser.getOS()); +// { name : "Android", version : "10" } +``` \ No newline at end of file diff --git a/docs/v2/public/images/illustration.png b/docs/v2/public/images/illustration.png new file mode 100644 index 0000000000000000000000000000000000000000..aea390b39dd94b72d98012c136599f0b161a5cb7 GIT binary patch literal 169817 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 T6Y9R?8x}{cek(cRa{Ye*?$kXm literal 0 HcmV?d00001 diff --git a/docs/v2/public/images/logo.png b/docs/v2/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..275b2ef4b595078f76bf954a1ac9a6d786b2b708 GIT binary patch literal 55457 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 VJcq-~bdC)EXdTp5f2wK~^ncmMSAGBh literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 02137ea..6ff6dbd 100644 --- a/index.html +++ b/index.html @@ -19,21 +19,23 @@

-

+

What device.type am I using? -

+
-

-

{UAParser.js} detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client-Hints with relatively small footprint (~17KB minified, ~6KB gzipped) that can be used either in browser (client-side) or node.js (server-side).

- -

Now, detecting browser is as simple as ua.getBrowser() -

+

+

{UAParser.js} detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client-Hints with relatively small footprint (~17KB minified, ~7KB gzipped) that can be used either in browser (client-side) or node.js (server-side).

+
-
+
FROM OUR SPONSORS :
@@ -67,13 +69,30 @@
+
+
+
+
+
+
+
+
+
+
+ +
+
- USER-AGENT PLAYGROUND + DEMO : A USER-AGENT PLAYGROUND
@@ -332,7 +351,7 @@
-

Who's Using {UAParser.js} ?
Showcasing some well-known companies that are using our library

+

Who's Using {UAParser.js} ?
Showcasing some companies that are using our library

@@ -901,7 +920,7 @@
-

Backers & Sponsors
Those who give back and generously keep this library alive

+

Backers & Sponsors
Those who give back and get the value from using this library

@@ -926,13 +945,16 @@
diff --git a/js/script.js b/js/script.js index 3530b0e..ce87f6b 100644 --- a/js/script.js +++ b/js/script.js @@ -4,7 +4,7 @@ $(document) var labels = ['browser.name', 'os.version', 'device.type', 'cpu.arch', 'device.model', 'browser.version', 'device.vendor', 'engine.name', 'engine.version']; var counter = 0; var rotateLabel = function () { - $('h1 .label').transition('fly down', function () { + $('h2 .label').transition('fly down', function () { $(this).text(labels[counter++]).transition('fade up', 100, function (){ if(counter>=labels.length)counter=0; $(this).transition('jiggle'); @@ -21,7 +21,7 @@ $(document) $(this).transition('flip vertical'); }); $('#ua-result').text(JSON.stringify(result, null, " ")); - $('#demo-result').transition('fly up', function () { + $('#demo-result').transition('zoom', function () { if (result.browser.name) { var version = result.browser.version!==undefined?result.browser.version:'-'; $('#browser-txt').html('' + result.browser.name + '' + version + ''); @@ -95,8 +95,10 @@ $(document) } else { $('#gpu-txt').text('-'); }*/ - $(this).transition('fly up', function () { - $(this).transition('pulse'); + $(this).transition('zoom', function () { + $(this).transition('pulse', function () { + $(this).transition('jiggle'); + }); }); }); } @@ -106,14 +108,19 @@ $(document) var i; var values = []; + var prevVal; for(i = 0; i < uaExampleList.length; i++){ values.push({ name: uaExampleList[i], value: uaExampleList[i]}); } $('#demo-select').dropdown({ values: values, onChange: function (val) { - $('#ua-txt-info').text('For a given user-agent:'); - updateDemo(UAParser(val)); + if (val != prevVal) + { + $('#ua-txt-info').text('For a given user-agent:'); + updateDemo(UAParser(val)); + prevVal = val; + } } }); $('#demo-btn').click(function() { diff --git a/js/ua-parser.js b/js/ua-parser.js index 50850b5..bc8c73a 100644 --- a/js/ua-parser.js +++ b/js/ua-parser.js @@ -1,4 +1,4 @@ /* UAParser.js v2.0.0-alpha.2 Copyright © 2012-2023 Faisal Salman MIT License */ -!function(i,u){"use strict";function e(i){for(var e={},t=0;tT?yi(i,T):i,this}]]).setUA(o),this}Ni.prototype.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:u:this.data},Ni.prototype.parse=function(){return this.itemType!=W&&l.call(this.data,this.ua,this.rgxMap),this},Ni.prototype.parseCH=function(){var e=this.ua,t=this.uaCH,o=this.rgxMap;switch(this.itemType){case V:var i=t[C]||t[q];if(i)for(var r in i){var a=i[r].brand,s=i[r].version;!/not.a.brand/i.test(a)&&(r<1||/chromi/i.test(this.get(g)))&&this.set(g,xi(K+" ",a)).set(x,s).set(f,vi(s))}break;case B:var n=t[k];n&&(n&&"64"==t[A]&&(n+="64"),l.call(this.data,n+";",o));break;case $:t[y]&&this.set(v,y),t[m]&&this.set(m,t[m]);break;case L:n=t[N];n&&(w=t[z],n==ui&&(w=13<=parseInt(vi(w),10)?"11":"10"),this.set(g,n).set(x,w));break;case W:var w=function(i){return new Ni(i,e,o[i],t).parseCH().get()};this.set("ua",e).set(V,w(V)).set(B,w(B)).set($,w($)).set(D,w(D)).set(L,w(L))}return this},Ni.prototype.set=function(i,e){return this.data[i]=e,this},zi.VERSION="2.0.0-alpha.2",zi.BROWSER=e([g,x,f]),zi.CPU=e([k]),zi.DEVICE=e([m,o,v,r,y,a,n,w,_]),zi.ENGINE=zi.OS=e([g,x]),typeof exports!==p?(typeof module!==p&&module.exports&&(exports=module.exports=zi),exports.UAParser=zi):typeof define===d&&define.amd?define(function(){return zi}):typeof i!==p&&(i.UAParser=zi);var Ai,Oi=typeof i!==p&&(i.jQuery||i.Zepto);Oi&&!Oi.ua&&(Ai=new zi,Oi.ua=Ai.getResult(),Oi.ua.get=function(){return Ai.getUA()},Oi.ua.set=function(i){Ai.setUA(i);var e,t=Ai.getResult();for(e in t)Oi.ua[e]=t[e]})}("object"==typeof window?window:this); \ No newline at end of file + (function(window,undefined){"use strict";var LIBVERSION="2.0.0-alpha.2",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded",USER_AGENT="user-agent",UA_MAX_LENGTH=350,BRANDS="brands",FULLVERLIST="fullVersionList",PLATFORM="platform",PLATFORMVER="platformVersion",BITNESS="bitness",CH_HEADER="sec-ch-ua",CH_HEADER_FULL_VER_LIST=CH_HEADER+"-full-version-list",CH_HEADER_ARCH=CH_HEADER+"-arch",CH_HEADER_BITNESS=CH_HEADER+"-bitness",CH_HEADER_MOBILE=CH_HEADER+"-mobile",CH_HEADER_MODEL=CH_HEADER+"-model",CH_HEADER_PLATFORM=CH_HEADER+"-platform",CH_HEADER_PLATFORM_VER=CH_HEADER_PLATFORM+"-version",CH_ALL_VALUES=["brands","fullVersionList",MOBILE,MODEL,"platform","platformVersion",ARCHITECTURE,"bitness"],UA_BROWSER="browser",UA_CPU="cpu",UA_DEVICE="device",UA_ENGINE="engine",UA_OS="os",UA_RESULT="result",AMAZON="Amazon",APPLE="Apple",ASUS="ASUS",BLACKBERRY="BlackBerry",GOOGLE="Google",HUAWEI="Huawei",LG="LG",MICROSOFT="Microsoft",MOTOROLA="Motorola",SAMSUNG="Samsung",SHARP="Sharp",SONY="Sony",XIAOMI="Xiaomi",ZEBRA="Zebra",PREFIX_MOBILE="Mobile ",SUFFIX_BROWSER=" Browser",CHROME="Chrome",EDGE="Edge",FIREFOX="Firefox",OPERA="Opera",FACEBOOK="Facebook",WINDOWS="Windows";var NAVIGATOR=typeof window!==UNDEF_TYPE&&window.navigator?window.navigator:undefined,NAVIGATOR_UADATA=NAVIGATOR&&NAVIGATOR.userAgentData?NAVIGATOR.userAgentData:undefined;var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){mergedRegexes[i]=extensions[i]&&extensions[i].length%2===0?extensions[i].concat(regexes[i]):regexes[i]}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i0){for(var i in str1){if(lowerize(str1[i])==lowerize(str2))return true}return false}return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:false},isExtensions=function(obj){for(var prop in obj){return/^(browser|cpu|device|engine|os)$/.test(prop)}},itemListToArray=function(header){if(!header)return undefined;var arr=[];var tokens=strip(/\\?\"/g,header).split(", ");for(var i=0;i0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j2){this.set(MODEL,"iPad").set(TYPE,TABLET)}break;case UA_OS:if(!this.get(NAME)&&NAVIGATOR_UADATA&&NAVIGATOR_UADATA[PLATFORM]){this.set(NAME,NAVIGATOR_UADATA[PLATFORM])}break;case UA_RESULT:var data=this.data;var detect=function(itemType){return data[itemType].getItem().detectFeature().get()};this.set(UA_BROWSER,detect(UA_BROWSER)).set(UA_CPU,detect(UA_CPU)).set(UA_DEVICE,detect(UA_DEVICE)).set(UA_ENGINE,detect(UA_ENGINE)).set(UA_OS,detect(UA_OS))}}return this};this.parseUA=function(){if(this.itemType!=UA_RESULT){rgxMapper.call(this.data,this.ua,this.rgxMap)}if(this.itemType==UA_BROWSER){this.set(MAJOR,majorize(this.get(VERSION)))}return this};this.parseCH=function(){var ua=this.ua,uaCH=this.uaCH,rgxMap=this.rgxMap;switch(this.itemType){case UA_BROWSER:var brands=uaCH[FULLVERLIST]||uaCH[BRANDS];if(brands){for(var i in brands){var brandName=brands[i].brand,brandVersion=brands[i].version;if(!/not.a.brand/i.test(brandName)&&(i<1||/chromi/i.test(this.get(NAME)))){this.set(NAME,strip(GOOGLE+" ",brandName)).set(VERSION,brandVersion).set(MAJOR,majorize(brandVersion))}}}break;case UA_CPU:var archName=uaCH[ARCHITECTURE];if(archName){if(archName&&uaCH[BITNESS]=="64")archName+="64";rgxMapper.call(this.data,archName+";",rgxMap)}break;case UA_DEVICE:if(uaCH[MOBILE]){this.set(TYPE,MOBILE)}if(uaCH[MODEL]){this.set(MODEL,uaCH[MODEL])}break;case UA_OS:var osName=uaCH[PLATFORM];if(osName){var osVersion=uaCH[PLATFORMVER];if(osName==WINDOWS)osVersion=parseInt(majorize(osVersion),10)>=13?"11":"10";this.set(NAME,osName).set(VERSION,osVersion)}break;case UA_RESULT:var data=this.data;var parse=function(itemType){return data[itemType].getItem().setCH(uaCH).parseCH().get()};this.set(UA_BROWSER,parse(UA_BROWSER)).set(UA_CPU,parse(UA_CPU)).set(UA_DEVICE,parse(UA_DEVICE)).set(UA_ENGINE,parse(UA_ENGINE)).set(UA_OS,parse(UA_OS))}return this};setProps.call(this,[["itemType",itemType],["ua",ua],["uaCH",uaCH],["rgxMap",rgxMap],["data",createIData(this,itemType)]]);return this}function UAParser(ua,extensions,headers){if(typeof ua===OBJ_TYPE){if(isExtensions(ua)){if(typeof extensions===OBJ_TYPE){headers=extensions}extensions=ua}else{headers=ua;extensions=undefined}ua=undefined}else if(typeof ua===STR_TYPE&&!isExtensions(extensions)){headers=extensions;extensions=undefined}if(!(this instanceof UAParser)){return new UAParser(ua,extensions,headers).getResult()}var userAgent=ua||(NAVIGATOR&&NAVIGATOR.userAgent?NAVIGATOR.userAgent:headers&&headers[USER_AGENT]?headers[USER_AGENT]:EMPTY),HTTP_UACH=new UACHData(headers,true),regexMap=extensions?extend(defaultRegexes,extensions):defaultRegexes,createItemFunc=function(itemType){if(itemType==UA_RESULT){return function(){return new UAItem(itemType,userAgent,regexMap,HTTP_UACH).set("ua",userAgent).set(UA_BROWSER,this.getBrowser()).set(UA_CPU,this.getCPU()).set(UA_DEVICE,this.getDevice()).set(UA_ENGINE,this.getEngine()).set(UA_OS,this.getOS()).get()}}else{return function(){return new UAItem(itemType,userAgent,regexMap[itemType],HTTP_UACH).parseUA().get()}}};setProps.call(this,[["getBrowser",createItemFunc(UA_BROWSER)],["getCPU",createItemFunc(UA_CPU)],["getDevice",createItemFunc(UA_DEVICE)],["getEngine",createItemFunc(UA_ENGINE)],["getOS",createItemFunc(UA_OS)],["getResult",createItemFunc(UA_RESULT)],["getUA",function(){return userAgent}],["setUA",function(ua){userAgent=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this}]]).setUA(userAgent);return this}UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window==="object"?window:this); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8ec1488 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,834 @@ +{ + "name": "ua-parser-js", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "vitepress": "^1.0.0-alpha.65" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.4.tgz", + "integrity": "sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.7.4" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.4.tgz", + "integrity": "sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.7.4" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.4.tgz", + "integrity": "sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==", + "dev": true + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.17.0.tgz", + "integrity": "sha512-myRSRZDIMYB8uCkO+lb40YKiYHi0fjpWRtJpR/dgkaiBlSD0plRyB6lLOh1XIfmMcSeBOqDE7y9m8xZMrXYfyQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.17.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.17.0.tgz", + "integrity": "sha512-g8mXzkrcUBIPZaulAuqE7xyHhLAYAcF2xSch7d9dABheybaU3U91LjBX6eJTEB7XVhEsgK4Smi27vWtAJRhIKQ==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.17.0.tgz", + "integrity": "sha512-PT32ciC/xI8z919d0oknWVu3kMfTlhQn3MKxDln3pkn+yA7F7xrxSALysxquv+MhFfNAcrtQ/oVvQVBAQSHtdw==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.17.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.17.0.tgz", + "integrity": "sha512-sSEHx9GA6m7wrlsSMNBGfyzlIfDT2fkz2u7jqfCCd6JEEwmxt8emGmxAU/0qBfbhRSuGvzojoLJlr83BSZAKjA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.17.0", + "@algolia/client-search": "4.17.0", + "@algolia/transporter": "4.17.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.17.0.tgz", + "integrity": "sha512-84ooP8QA3mQ958hQ9wozk7hFUbAO+81CX1CjAuerxBqjKIInh1fOhXKTaku05O/GHBvcfExpPLIQuSuLYziBXQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.17.0", + "@algolia/client-search": "4.17.0", + "@algolia/requester-common": "4.17.0", + "@algolia/transporter": "4.17.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.17.0.tgz", + "integrity": "sha512-jHMks0ZFicf8nRDn6ma8DNNsdwGgP/NKiAAL9z6rS7CymJ7L0+QqTJl3rYxRW7TmBhsUH40wqzmrG6aMIN/DrQ==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.17.0", + "@algolia/transporter": "4.17.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.17.0.tgz", + "integrity": "sha512-RMzN4dZLIta1YuwT7QC9o+OeGz2cU6eTOlGNE/6RcUBLOU3l9tkCOdln5dPE2jp8GZXPl2yk54b2nSs1+pAjqw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.17.0", + "@algolia/requester-common": "4.17.0", + "@algolia/transporter": "4.17.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.17.0.tgz", + "integrity": "sha512-x4P2wKrrRIXszT8gb7eWsMHNNHAJs0wE7/uqbufm4tZenAp+hwU/hq5KVsY50v+PfwM0LcDwwn/1DroujsTFoA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.17.0", + "@algolia/requester-common": "4.17.0", + "@algolia/transporter": "4.17.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.17.0.tgz", + "integrity": "sha512-DGuoZqpTmIKJFDeyAJ7M8E/LOenIjWiOsg1XJ1OqAU/eofp49JfqXxbfgctlVZVmDABIyOz8LqEoJ6ZP4DTyvw==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.17.0.tgz", + "integrity": "sha512-zMPvugQV/gbXUvWBCzihw6m7oxIKp48w37QBIUu/XqQQfxhjoOE9xyfJr1KldUt5FrYOKZJVsJaEjTsu+bIgQg==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.17.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.17.0.tgz", + "integrity": "sha512-aSOX/smauyTkP21Pf52pJ1O2LmNFJ5iHRIzEeTh0mwBeADO4GdG94cAWDILFA9rNblq/nK3EDh3+UyHHjplZ1A==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.17.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.17.0.tgz", + "integrity": "sha512-XJjmWFEUlHu0ijvcHBoixuXfEoiRUdyzQM6YwTuB8usJNIgShua8ouFlRWF8iCeag0vZZiUm4S2WCVBPkdxFgg==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.17.0.tgz", + "integrity": "sha512-bpb/wDA1aC6WxxM8v7TsFspB7yBN3nqCGs2H1OADolQR/hiAIjAxusbuMxVbRFOdaUvAIqioIIkWvZdpYNIn8w==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.17.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.17.0.tgz", + "integrity": "sha512-6xL6H6fe+Fi0AEP3ziSgC+G04RK37iRb4uUUqVAH9WPYFI8g+LYFq6iv5HS8Cbuc5TTut+Bwj6G+dh/asdb9uA==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.17.0", + "@algolia/logger-common": "4.17.0", + "@algolia/requester-common": "4.17.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.3.tgz", + "integrity": "sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.3.3.tgz", + "integrity": "sha512-2xAv2GFuHzzmG0SSZgf8wHX0qZX8n9Y1ZirKUk5Wrdc+vH9CL837x2hZIUdwcPZI9caBA+/CzxsS68O4waYjUQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.3.3", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.3.tgz", + "integrity": "sha512-pLa0cxnl+G0FuIDuYlW+EBK6Rw2jwLw9B1RHIeS4N4s2VhsfJ/wzeCi3CWcs5yVfxLd5ZK50t//TMA5e79YT7Q==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.7.4", + "@algolia/autocomplete-preset-algolia": "1.7.4", + "@docsearch/css": "3.3.3", + "algoliasearch": "^4.0.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", + "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz", + "integrity": "sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dev": true, + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dev": true, + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.17.0.tgz", + "integrity": "sha512-JMRh2Mw6sEnVMiz6+APsi7lx9a2jiDFF+WUtANaUVCv6uSU9UOLdo5h9K3pdP6frRRybaM2fX8b1u0nqICS9aA==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.17.0", + "@algolia/cache-common": "4.17.0", + "@algolia/cache-in-memory": "4.17.0", + "@algolia/client-account": "4.17.0", + "@algolia/client-analytics": "4.17.0", + "@algolia/client-common": "4.17.0", + "@algolia/client-personalization": "4.17.0", + "@algolia/client-search": "4.17.0", + "@algolia/logger-common": "4.17.0", + "@algolia/logger-console": "4.17.0", + "@algolia/requester-browser-xhr": "4.17.0", + "@algolia/requester-common": "4.17.0", + "@algolia/requester-node-http": "4.17.0", + "@algolia/transporter": "4.17.0" + } + }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "dev": true + }, + "node_modules/body-scroll-lock": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", + "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==", + "dev": true + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", + "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.15", + "@esbuild/android-arm64": "0.17.15", + "@esbuild/android-x64": "0.17.15", + "@esbuild/darwin-arm64": "0.17.15", + "@esbuild/darwin-x64": "0.17.15", + "@esbuild/freebsd-arm64": "0.17.15", + "@esbuild/freebsd-x64": "0.17.15", + "@esbuild/linux-arm": "0.17.15", + "@esbuild/linux-arm64": "0.17.15", + "@esbuild/linux-ia32": "0.17.15", + "@esbuild/linux-loong64": "0.17.15", + "@esbuild/linux-mips64el": "0.17.15", + "@esbuild/linux-ppc64": "0.17.15", + "@esbuild/linux-riscv64": "0.17.15", + "@esbuild/linux-s390x": "0.17.15", + "@esbuild/linux-x64": "0.17.15", + "@esbuild/netbsd-x64": "0.17.15", + "@esbuild/openbsd-x64": "0.17.15", + "@esbuild/sunos-x64": "0.17.15", + "@esbuild/win32-arm64": "0.17.15", + "@esbuild/win32-ia32": "0.17.15", + "@esbuild/win32-x64": "0.17.15" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.13.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", + "integrity": "sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", + "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/shiki": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", + "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/vite": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", + "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.18.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "1.0.0-alpha.65", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-alpha.65.tgz", + "integrity": "sha512-iGWC0AQC6WrfRZTJf5+TiGG4o8PLhqIJNyai8NVxZCY9YpmMJhddvQeqqjJdQniF/LQK/hQ5nQZ9HgSZDGRPGQ==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.3.3", + "@docsearch/js": "^3.3.3", + "@vitejs/plugin-vue": "^4.1.0", + "@vue/devtools-api": "^6.5.0", + "@vueuse/core": "^9.13.0", + "body-scroll-lock": "4.0.0-beta.0", + "shiki": "^0.14.1", + "vite": "^4.2.1", + "vue": "^3.2.47" + }, + "bin": { + "vitepress": "bin/vitepress.js" + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, + "node_modules/vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..56e2fd8 --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "devDependencies": { + "vitepress": "^1.0.0-alpha.65" + }, + "scripts": { + "docs:dev": "vitepress dev docs/v2", + "docs:build": "vitepress build docs/v2", + "docs:preview": "vitepress preview docs/v2" + } +} \ No newline at end of file

ZW z>LvWci|0Ys_~}zA<#r!FpYB||^on+Us`%f%qy+jTHN#5H_iqB-3Ph=a%NV&Ad-gHw zl4kvsk9?lBv!OO#qTiYn;vKECa%fn4tT|~nfbKPSY6FQp8|vk7r?}G(%x$_VOxJ)1tWAXy zcO*??y!+8dxoc9|2dW^~GN;B|U287!Nm=LIaJ|ooF+aLwJ~NGa1&q?uVsgUYS0mKc z^NMXa(-R0U<;Xo`mUgC|{_3V_zm68nk4b20hpwkRQkMb*pZZl2rg(>RoxTxgS~q>5 zb7#x}f7-3WFBmEwNSeWAM6RG)CF_BlV(;Q7?x!tD9MS)>b17=hXlnJg>danU(&=^r z-)3(3ih3{goV}bHi+zaagq6RWx_bm``PwSmsO_Yvdpio+qC;yl?_p;yv+s7FpwBj+ zQai?Me5wWN2(b*{1y)CJlZqTYJZ35$0sP!^-i64 z`d(46qTZAIEg zkrG#q7P)*}dk)#g;1erffjC^O)0hAQnxgE(`z}fm7Ix$@FIwC;_oNa zQb&n&LZp+=b$_xc{dgqZKj`Ci-p9j(Ryc}Wu~;G%Dtxnv98OyN+DAJgu2V;>(~qs& zkMFpj*r+4-hRg21{p371)eP8HBbcxVziL&b4fi2d@`LnFB1U$xu*{2mR8p>ft_poh zSMe{nu_Rcv;3^rP@5-rh|9xug(~ls?I)#9qyBhPnOY%II$Co)f@D+Kv_-R{h zXnyH(AMtPjD&-$N=K_KvHgl>^4Qkuj!*!WJ;SH=1X9TjeBd-x-1AbEA=ZaACwu*`O z0>$QkuFPMm%7?1@#NE3ripz13?~-Ww-aowBr@cqTsggA3 z3*J}p+tOY*WsqHRX2`&Z9p9#Ro4ul0WWTiGS|uwMo;BEVjY$vB+Ym)-U6|ZqF;3$! zrN(UN4VB^Vp_&@OB&0&+WJq@9)n3uzf+f zznj$JjkJc79b(a6waK(YWIRJ!Az;Yhj+_A5DxQ;Kv6B~B21}U1912nRRMCh4kTHon zgbPU{0EAg->BR!bLNdrCvr;(nAvdf6$s-c7u*ozhQK>)$bE0}2sB+FpRM6te|9d$z zsI5ztZ;OpjIolBaY**(tM0%96Ey=yE_lNV?pF1vK9eCUcm|=EY0VN(v_@u(f(o4}T zDPatNGza`q^$)!d@XiKafG`2@@smOcv1e`|<84JnJ<$xy@d428$9~ES%Y{8c)7c^n zCH|?WB}1}yOj(oly=x^m+d|brlb`{e)F_{pX_W>XA3CIEa{FgYkrY``lAH5~dex~$_1`jOy7Z>Rpw0O{g&wfc8 zQ=iC8D4!jalOX>Fj04tz^xgg$v?*Z*31uAo@4$U-n?rDBUjS!7h(YY2#tQ$g;|q`r z6c%wSK>q>Ig@9dl3le8G5Au%?{(s&QOGwMY?0V1x?*aY^;4c7v0ez8T2t?=ziU<*Q zMO}m4;J1V=b6XHD85m<@a-6rmf|5WzKtBLaw>$69b&G*`@%w?2Zjkc6QO@>=?2gJu zMR{rB{F(XX^z=(DJg1{C4X|8La0Q*-*h>dA!_qQDU=a$>G17i^XM`|v+iBl(Iv zYKMTn2yGB%@URuq#LNm(UQD`(h0j;Ag2v$b`0g3dRV!}5!n zTEcQZP5dOYHo4Ry7aVg&nCFwJ2=gMA7n7(ac8`;5MfKxIOA+d#TpcGn)LMvumjl_h zo=TuG8$p7Bf?;A&ZWQJu%%NpI#B&ojr;fSBGH2qv7l(3@jmyn)W{liT=O16Sw9;6L z{+-oC>l{M`sr;;@i}Pi}QD426)og?M6l$x zS285gwp@ILu`&NdHn$V;c6%=3-X!G9AXa1=cvs@ZL_|Vzr9F`=Ah$kY%Ji~+lH_D= zL7O9Z_ZSs!;N;Rya`B7GUm$`~Ji@B)bdN(}y-bR7g;nIr$RbUF^}8O`al0rNtw&g9LmFGLLJ}WJawYEuP%qpMa8&>OX((BGB7iL zav?s(?X2X)K#H-Ts&MCC_gC4>xZM`an()wF`FE zPdn)sjI?+bN3B7c4y#bF(PghHNxk}6vvN;Hv9F)~fUp=P%q3OF#j%NXp`xxh9l&44 z=jAvS{$#zW>(Kg?qqK&v&9m7?f77mxS$qJamj}TvR_Dm;DMFOQlcdEP`#VYx52Zox z-mW5ry3tedKXOK9e4(}cBy7K?kQR(iqc`g3o>c4aj!5&8Dy-LeO~M~!p(oxiu2*ho zLn9%w#gIoN#i!|qhQWk6#pSD%kD|;?in_(rx~ssH%rag?Sjw^?0W77Lz6RlQyIDF6 zJtPH865f#Vfh;!wD{fUcKiApATY)Fe&3}eFxo$iE0yUeVWI=<02d`rfxL5(W8Fs#& zD|%!AIC-?{7S>{`YwSP(puevN~8bE$j8Jz9Ekdec7tG3laqtU^S2(R!)|IFZidr8 zM?Ea*~cX?!2l%ch2t}LH@d0Z>zRw?(&cvQi&qA_X^7*j~MH%?!Vm{?-F zxBBi%s!LWQvKy7tFNzyd(X@tmZZzX@Tb{P0yIXo%MwByDUZ8^EiY8{k;i2N8iQ%i^ z=I3y8RZ=4?%qcxrOT?;@#QKt{uBuaGJH6_0+swNcL+{P~?o~_`Dy-W}Ij@h=n5$$m zPtoC`@Ym^ek#5v99bXR=wJd zjkC{>G-$8y&Q^AI=k_wycCAiIO>0onge-b}zDm_Sv$$%Rk(O5D)@m)!-4Pb9g0h^u zVh2jIrA)hORnx4S@%M{8>DJ1qwA0qIT)o#W^aRELD#loE<*;gecZ7;xU5Y3uCuLxMY*o3kV_?;x+$zS;kApXLtMS$yDy3%qX zFNWaAY&g0y92u@ zQbSQ1ixw`%hGI1p=aS+zmtaRV{HoQ_OU}%)X#LBKwRe`NWyfuHEq*Pzj zXVW&bQTtMDwPtyPfwI0&(ghi4>tTYLV%}?Vd**`tkiz(DqP3o}&%U>P4c{lrKJboL z^hH{#Y32c&bC0Gi$z4)^L8>~3O-(n!s*Z?i)z}2Aa4%$Q34HV3-t;6~PAHrQ%^J{8?pu7zZ2WqILvIix5cu~< z2cS5?>}{Zqt>^b`6&34|EjYvDU1h5H-N!Qkr3KbR9i=&rdqxMYwJ0m9{g`QoK3J z?cQ5Vzb2bf7Il>LYlch)(|rSKi><>nC)z9uhdB=+A^FS0mScljN_~eq8=8idCM4_H zG{T8czae68BX6#A(^U_S-_%L17*8(OS4WSrha#&&T223QEl{~|7BfyaSz7=N42Lb> z%3JS(T`RT{dIlXGQ#j5jtzZBMTV?EOFgu|(rT=2*D1Wo5Xr!23jnWfO-Q)V}K` zQPAF~LWXiwq>i{&PH;LI(%};6myPrntCEkHhjpXzR-2Fb z;?5o{%&u2lp~a6=#+Yf+)B7V7QmmGvdM^_3J5kir`MNpE_bk-w@7%;%IkaWfWMdFa zI&~ZNV_lD@LhHQvD53w8J6|v>kiSdK*9hq4jh++qR_j;RT6dcOGoE5f( zq~yp`FeKufrjhV&sgVleT4Dqgp<$^YHUE{7hT^?!R9Z^$cSd|P<=|SYlvDI4_bb6x zBUNqy&2h9%Ys>FZe6p0@H=ko(*>F2F^hG3N#pa^oJW<}YvTQ#jp02r9yuaQ%V@$qf zF-TS58swLOSYUkM2Unw`XgE>f{4gPqssfm?bWjQ#u0=$U> z=Jc?I?J=zxqkVC^1)C?mTmKS4M9MvcSCCjBiVE>B8vdy<0&FPPkf)XE9zKE%O21G4yIA*H6;_4fUyD;Cwk#)oXq2pLv#nW zKCi?Bq0JBx(&sR;M_GIYVsuT}5`X3L?0#HUCIEfRY694F#>%4_U8i-?QcgI!EMm$b ze|F3!dvVx8aJI>fg4hLsYsLg=nX{3~4agk1r$@=A*_%tD?E}=XSD^TwKD=v zTbsGdLP#Hz5Kv-eM<|n~H}YOAR|fksLfmO+e(Bf_L$hkx8C9rVgb**Z#yVBTq_F`h zx7_~0Uy&l_(gGi`Do$>YtHgVtc=yFcWi^(RF7XDqC351j{-nWUU_hq-f-DWJURP`d zQl27WA&6oeim2D7*Rqs{fN&5ZS#{fIh`yD~MTVpH8+`BfQ;Mm&&BImP6~-L0j5^aG zpfQVy)3ozqs_zbK`E~|qW&^Mm;_uY#9MEC?0HP6vnN>K~GOq}+0D`(!D z_KhCJC4n&(Rv9mn#X)1YPbe6V0(KZ%QUk}{4@mO@D8+9?aNrDFW?~@uk-fB$7sXt2 zp!w|&*KrhF*4GZU2Ra}M3VYj}QWz|MKHtfai+Y0e3ltW3vB4Aw3>D!D%mkICL6Vqb zIFe5pBKQ*TWo!)tndBT=V_XknuGkqF8nHO-5G{60g) zG&u(uh-CmrXe@}S1_q@3x5jZolcBo?Q$_;a;)i2~87(XzdbV+Jgc^Q?^|&fDm~?<_ zgKV@dltBUpwhkDu+6Yx*ihJ3}f>ZtxMYD%v~@)Z4coYVX8t;{Z2RMDD zTg)1GWmmEBB z6)Unp=FYv;i`MeJ4N6T#?$DUoW_X7Vxx;g|155RgZrH-b6_n_zbndns7gfXw@I-_S z=99|J0_L&B2^6Xa5?Zwyn{A@`IVZcMG)JRy$?W0-Nt_t z3)w@ClC|O?A2jfk6wojb9xGDU@ob}0k-J~OXkyi4%n?*t6(Aeq=T4q}O~4&C)9pIp zSEf#5eBe&@86Y)2iI~s8zYsIvw$^eqxWjnmhv}Q}f2tUSb*-3WW-;wkMuR?5)9r0v z9Ou#4&U9%!-d)ea4s}6STGnrj282tVgI3cC&_yYIkm$fQf)739>1{wwLd=XRA%_Qr zgH%P%(qwyK$_2my@7VH^p|k!hPyE6Td1Quf${;A+o^S$0-F(RJ_M`r4S6_TD?O&YV z%6-pqEsgmp%T(~M<%hrK?={3V{GE>D!< z6Qdlgz)g~tye8quf|t1kRD+MdJ(zzer_XqFmGk1A>kSN8E3+A1l9xx{J=D$mTzj@p zAHI~COYX-r8k8uhroB2}RT4rsWerlyZgzAys8eaoj5})qIxjE!>Nez%0X7^uCbi^& z=z2u*@yu7B6PmT|~?rr(PMa8;)g!;T~!S^(GSvD7! zD4Z>Lz!lQ%JQ4g)Z^ z2G7<_%0*Fu1J+ER>Ss1H7})UdwHPg)5uxe+sN=y01JWxWOf|f&n$Jx%je+k3W>#W7 z=`b>@9*K8d1K1R%_F!BYQSUV-a=1bF2v^p#J ztp}B6;=xa<_LK;f4#(;8m1}416L3f)yyQt}q+Z3vnxnz6LzA>b@Nr}rfiV`{npCr_ z`fc}cAB$~fkc)&xgR6S|-?8fzxBtqZVq^q``rc(}hND0B__^CRI-QyU>w@Pa)?JO0 zbpid?-)3wku=Pz7EtEJLA*MEo0eoH-a9c9UFr~jCiTg@|U>ngiJ7zM!zZhkDwx3P} zY|>n?wnU8)5b-njb<9JlRPH&`cQXOg(&nNH;yP4^rfb{hAI=UHWeBO_M`36~qkhEV zT{xVFR9dT8N6(-4+f^tfq%eha8OW#0K01%+w8AoVg3kqCA+O`<>aE#<(xVl7Giu)Hr2v53$$PF_!5& zZ7c3aH_Be+GJ=ZDwvN3VD8xls0B8D|b`r;)enF_(- zh?E-F7uPBqy|2Km`ntwK_%w$Z=*eKKYrb*u8<&vwkG!J0hws8xOi zBr%OCi6aE@)zx|IQEI7Nx0Df^}3U)$Ma{Vq(ZUEejB!Hlk ztBXR&vMCKZ0B{FEHhFbP}_@MbbxQ!45l|k(`VSj14nL3`&|Vsv&j&- z8tluCu*-ER(Y*#K(m(O|n<=uvnRs$b{@*wk38N?yVp=K_A73UuQX9D+FDdzAy!ObG zKIz(8i>@#TrmL&&`%Ad&K3RFIb@@)a&bk^y+J3z{Gqbq5P2MMOc4?^9fOGKi;sA!utAc%nTXqcgS${X|TFu*Ad-$sq zhFwT(jgL!jE@zy^r~{0=zY(ZSsV zQ`j_Y@9&!riaF^!K=j%AFmxR;y2`+Fz<1Ecbqc4qR8~d+uCqUFQCIj!! zqyY|7ahrSJ`_YOsRb1*0bHIHMMx+ni?0LhAQ+H|}Pt)Pmf}_%nQY&WJQ&H->yMx}@ zhfxjolgyTaJO{g~<{Q+@u^v7aB~`v!{bpJ=a*i_hMPn`ioukjeCjXMY-L&?{QEx?2 z#RUTaf!#NyKHVApc^AC;%+z>4D(p{}SXDnid|0WX+xu}B+Ub~1^c~O4^nE&$(8UJg zJ|G9%>4WnbR|<0kG~uTRrWrKChU&N*b?oZ3Rw-y#$>}zI(AiLJ=LPxpb*K0Z&Ja3( zyHInY?i{sF@tnvEoSIO~+Q@=)LGW|Ws{kBh9L^8ZpW#XMp$P>ALk^B7=8bSju01;^ zb+WvZCFO8S0AWfV{V&x8B&O)Ki`Z+WZ~Up9q=>}a$GF%t-|aqH%N@?Y3i>MT#4WamuUyCCO{98U~66ci+clIow~>BEQfU?0HT55-qbHZRnE_4xIs zpT{(QR_aV;4d~;jTD&f`&85&^|%k%7#goXx-k|T<|RfdLzW{-Og^G>nF zCI!G;0KcpZ1p@%lfVgiTi2DGM{_YP){w9>^05Gw9wObXYv#cynnKyES9RSA!)-#2M42Vf_?cV^Yyhs`v!kM zd}o4GG5_`y3TQ{SwKWTyZ6ikVhrBW1?HnMytb8!v@-MH}+2jo;)ANxy3)_R^_a9sx z_l~-EwW*LV1#*_;EzT@N3)TjQK|Cpgqw@Cw8-{* z0gD%7j@&%fd)!sa1U_wPYr8X6b-`mDcljod`N2HJf%6kPHvPB3J;8!>A~EqXE@Y{g z6CZjnc=Zhdm5;o3)YDI@Nk2HsH}g>zNCJw7ZiNdxjqeWkP?LP}pSZF9#GhXhTKIkW z5woMIloEbX{OcTgZ^rJ+tkQs5{rH$OxVLDf>m=j65&8wXe0lfM+GsIuhmHz&}r-;QS2H`2B zZ>WD31Gy&v5L*INeNfJW(B!4kiRy58FDp!VqP)CzsxDNtwVfb2#RRfEFa@!(;>zWw zuMTEDdL4k_YIuJ^2;hWV1$z;sXh$sG*9MLC*s+sJGUTUcG8&E0L7@TyvE$WLM_gzd z+b^r(alXe?#1gTqQUi|SYYdlle;Ei^QHIYJXqWsw7s%Tx8#`iGnH(L)W$8=-KGlVl zNa^eh;_j0_;_3J^{-_WG#Qs3byg!Lgz{e}}Sk215(Myd;O#))?1je?2XU3B$0Qv8R zq8E^Yw!@-?mE*rluWuPFq&{p%9-)2@&ss4S<6lsy2FE$kqJH!5;C@Zg>VuT)kw1u!YRRmC0Or`)p2zHSM zX{*H#Z@tgT2U80I&fqAoE9Fs0)CgG3TR{O6M?sbD(CDXrZxOVxg9hp7%h@Yy)UVyw zm+QjDn3tU_{IEuz>yuao0tD7hJPK?=11v2AHoNZh?uRQff;YOtM=n+QtyrNncz!&w zT3TK@kw!{ihvlTEa!9N4pI~BnGm6`hI#hc=TjU*`<{stQCFI!&O#p|^*9`x)t4(Wy z3F;Ik2B!}MKp+HrNaBE|Uzyqj2@MMbyfCx6_~>%8yIVL60~8hj-v>~Kp|9;wK+#U* zFL45t4Jnih^{@drmtb17xrLn4kJ-@{HQtSy4hi>s!rBrz@!pbeI}&oV>YR@9%4&-3Rt?=aBr4)ISSS5C@&qbP z4g0X$8y?t&eKdUcLrS5_{8H2G?GW*Xh7gI_wx-V4#xD58$2lO=gAr*ZrvJQQFW7>b z$5+3C6liNo>RU4**zIhUir53-gWlciBcUWcD_%=4(Eu*C_E0MIP9Zgc4Mv^*4wk|c z2;5&79n{8(?aeABAB#zKJBlrB?DwQ7VT@Fk2{TUpuf zG}6PibvZuRozRiVt?sx|c4W#Z}yFEE%SRdFO@~o_}lfTz7_ln^rr2Bz@q$-mL1x zy3x7J{>+Mw@#3(yxB7>d7j?Od&H0tnKN4HFM5n=t*!=C=O5sebsj4Bt;)q`}zuwo) zyT~E6%#@(?-DZLXJy&?4+o(-sdaE_1#*+NziNz(|GSw1n3v2yZ*HJN$c{X$1NOj`U ztf2pBdhI;z_A@?T_pK5Ad``G`*f6D}q4MTg95Av4JQQ!6C;)L^A()2xE9$GrZ)z`* zy^dQFo_J;5F91D*@3o70zuTX4eWVN8YrVZsi5mhS@Y=+Nx>^x%u2&p=qx4I?SDxMO zVKnv(e%g8wLm8i(sr4|v5gW!Z3=(r6AxhRH9*PIzD%c^^&=CB%gK$c*ps)!<5pCbL z_Li^b>?dvv3G|X<06G12uFT z;p$oSfY@f!F6B-gi~ct(;LF7hc>*wmu%);2vy{a)qy;0KpsY~?(H56dHg6afP zD@84{fMkWI^hehu1;K(=<*7!$zq^j%tlaU@m>nPAQ4X$f*3>yQ`uk$#S0NT+GW(Ca zO3K?D#t-kjk=wf>6e;M{y_QrtI;+(EFD)Gdg6foC-`K;m9i+aHh!Ma(kc=dkKEl&gFhgMbe-*`lnr-2iwxiW*{))&xbQE3S0fHM%uxaBX3WVzq9zXWUYI zvah*FQs?%6V(M0Ah~xCi@@Nj+Y8}XJDM0M}K0C6YU;rXQl&fWd^&*NfWZcj}LiZC0 z=tmtX4WRYE+py2cwd9`c>(7;yYtDX3p1=G+&Ck!~Dv^@ttAEZHXKN=rV&o;C;o%ae zoN4K6+Lo3(V1KQ4Ix+phnV@-`oQ+LjeTm1cIZVd^G91_k}-f%WPbi87eC|98%^s*fGOUIFO zWqs_!P~mRNUPAo!w#)8U+q|MXWEgBd+w5u7J_m?>f0q|c0gB}Dch~gGSKfjJ_=aEhp#|nt%&>QFTC@8 zXXC?ju6C9MZmEw8dRu=jsF&`$y>%`DP_H9-xfGyCUSDvXl4wl-cDmgS03>Ort59v? zVoJFfd!SncXu1wygF{piccW=oWnB;(+p(+A#Ol)DANVEEf^lo|@APu|=z()Wkpuw< z!4b0dDb!XsU$fYs+9V+x;bF_mSA=Z-6@c2!aEzAa^ZX|SFA55(Tj7y>A<|A|@WrXW zuF0J=G3zmc-r0>I8Wc{vCG^X(tx?dv0Q67!1S``JegBmuCete&&^ zzpcCFM_aYc=L1Q3ZEhg$Pr+WypS*#K>XV{CjD2elJSM84IOsH&Dv2f>5CQ06)CHK& z#1GHwfbcJ`#m;^B9RG5*;^h8D`Gp_l?aad=hSDp3#g$VJ`DW?L13!t+qS~V%?D`4& z?<&)Ox*h%V*~4yoo0eD4akv{87jf%>7cs3jIPhMofZZW;mNCGVW!w^KN_1VB61zV- z`yMd_ft7RsjY8UVRNtwacfN=>?j9-HVBgB&rjq8U1u2WO8TlXpOq%|`tswq#R~7QM z^OJt_i$&zRW&-9B(04k3%PL*F!Kc8FsWw=Ag|+< zKv%%B6LX}BDS?z(<^wU?&fZdtwya}kt!KNPjvf~2tN>!oQvg{sK-eN%y~xVI%& zp@0?9?h{-eO#RL6K@kzHL4nP|!GZOyKH&_{*kr6@EZMV1$&T2cR|*v9#pFA8$iJM^ z%go(8uUrY3hcf^LxGnelB02Gu49;09FD5l_xpiK=G2oi1jZL_2A{;cX>r}7lBEmkm zz`*5q3-$zVz>&wl6FKM)I2GAEe56RTd$5Tq>UvF!RgQ@Ut z^#89d6gYITj0x-SXUbfxhs0mPi^oZXenQoou-Zcly#EmWcSvqFv;oF{gvGvA-dWgDzmnS=r*xjbjlqUZ@+H!u?5xg zCN1pkzD?eInXvtA!7(UH8qPI9;&Ph2 zqWrm=%q^3m+tS>k_&4*-6)KJj!CRxn!@>UT5hTyfA^+MeAih!2M`%}elA@^%GZ4V2 zpnEJQhIa9Gb8+?qW@4@s!zq*TwlTA+o2QGTt0&N#Uf#&rxIHn^ zsOJwc8t)$$?dyLcuu5iQT_)T1C2$?8+S@I!=B(WQW%xJAD%#6GBEk;+@diw2V zUI8K~z1uGxapJw1v!9EL8;r7HZx@^;B9T!>EcA#fzFp!RPQ|L& z_g}_h`3kW>7ps~XyD#&d>ich4`Cw1?kOvH>sHGF5;wDaI4`xL8Cb(L|fdO5*4Yx0~ zM819e_fPmB;yE{JL9m_;Dx9UJZjV-uRdCBK3RbsLSi&f%sM}u#$HYDm`>Y8A(h;*h zPfSf_;w(@JU&Dk0?wAA3(LX(1O|{I2dZ*6|D#AVQCmzu)rrML^@%3G zEmV8uN#xLkoMoTPqij+ZDLD}ii+ZA(T)(l(is-B|_is(8R>tQb^X>xW^1%W;1XfEL zO4`Us?ZSEeaDA)_`1!pH^Lpwn;tEYHTzwo}+;Kyme8c3gu~x`^ERaTs~5 z{g-#Ckxz)Z>38{Fx#=7%xl}R|NM8c1Zk_SIa@LXgv(mqM6>=+q?sZEiDh(Ei$SU4I zluq@D5=*CP?9;0VJzcKs9Cp){$Mod>L*7F*l- zCEDjYB}UpY5&?4G%Pua_G1n#$Z%2!ymCuMK_VSLG7H{StMSdDduD|3`#Y_zWfhf z>x9XC=bKG^s7%hRq5)G5Z%a|m?X>9E2gf)hR%GbY0<-%i>Bli8(?VcTt7+`J->FQq z=*yuxHkRd8qFMUAIsQP+!Bs;W<)Iy0$m`~THQ1J~&GLH9)InZ152V^*7P=Rt6wF-w zaL%sm>!4n?aPwlEv#6`5BiXzwk6wsZ&m#&oh0UjOx2o8mMPMLz=}$oVTp)Y_=4tH0})g^L{2~5(D4@0mS~Hao;~| z5S+E40jdX_;1Q<39>A{_Y2-UCNlABZlLOq&X-O|McXKs0<$!tcJC;D~hx=J3?jB~A z?p`L8)J|q5xwGn$?4L8MOdcSgg;_CDBJ1_N&N@o24#{@NVEk1t1-i=ov#7(D@<7rv zgFMa7TT35@R>O~DOXi;a4c6OQ)RE~`3EC}{uW0UIjk>^3;(q$Mh`gEz2OmA0o|%?8 zRxd3G%VtKH`|J8D$9}7A1s2%lWyw6q%)=zENfPIL4se-~rX0H3OW@|>hcmTbAu+W20u({;IEV(9E=HXt5>V-|XQqE`wTtE0}z6lU0a3Cw)y0&4+eW0ji= zcQsZ0t4N8L-=7e>^0x~{Rji)3Uvd`i5P6@T{by%o+I!&}i@`jDI|)&pByl++i&ofC z+nGmeXsb`9UKP@lIkpG@O2=SYFza%pT!oa4rJJT)u|!@>n#{V$wAU8aE{MBClm{|+ z0FV@l_Af2q^!=?PYB&BoT)v$)=+t2)pw>LK%V`}=2;|8YqOMxJwr75h8RlgvV~@_P z#iYLZ0M^ehytj>I{x?E-SMg|may)m$EutbAb(j6ktdKutQ1}2gI`YKI3&wwXgmkkp zQLUxHQ_#7`@$>(%+AMFp^+7u|U-(HO@@a1fAFMsc7Z}^I?yl3aZ_)|^=orUTH$-*W zDm-mqU+LS*@HeZ;_j0m~o7L!A*m#&&JKSm&aT#}~;mh4Z|1l6QY=#8lUtlIoE(g?A z9XJPBK>p@Zz2+y5HP1CR?Z@c=4g$adhO|+|75t4EnPMr2&%y>ZT>dJesqmS0LyTxE#=>tDXfT3Fce44g8a@(f(q zSzuLe{+m)GzDiNdFQpYz=!@#WkT#^a;#D|(Up1dU*@vkH!vd2DGNLyE;TrQ>#n-lKlbrV zm$5=($WU_}xu~PU{;Rpr10ePvB!F}9cD?{5C<~P4j0}A1D|I>X-uq}DUbbS4PoRy; zOjiV)_#f3^|Fxr{h};|(GNh1be5UKk$AO#ORgT|)?YJ2b-zKN9C8q$yx8ZD5q1-50 zprId+0ALW!n0G2I-sSKEl>4t%FuYP~`|iWbq+x%mJCLmG-_nrJLH^W}di|K&GJE-v zq(}nN%inrZB`)^e9wF5WXBuKZe!0QNu*{k%V-2_Smm4dXyq+FEWE2vFVt}$O*X}ZO zkq!*RR!UP`txnC>|p1~)DoJW$AZoRP){pD?i2uhU;hUP0m%MUaG))!+pXVG6WWxiKjIcE zo@`p^_)Nd`#`$=W)2bb1&;++CuC4L5`~2UP)xTLO+++90eCp2hPipda@24;$U);$} z{w>0vGVZK{T#OBxu5#R7Zb7!)& z{H5&drF=^E@={KI>96$Um6ZIPrRD70uXr*sjz}iqeKSbJxC|mtvjs?zENtTa3B~Yk zgi3Ho^!iF!&R$X-{vJ-seY+Fu3b4NZ&xPQ8WJbdSPe3>$a_u-cLJS?JA)Tkr*H{sW zWKTSa>|a^#-xR}TtqxSuFZLk|j7y+L69IWB>(i^wilxW(99`XQT+S5B%W>mmt+X4? zv*XAC&nL5)?c=$g&(l&pPWDqy|2#=^oL?UR-mnF}8vy)|VF&pbh{b^s6|d#oqc#-&QX4R}Rm|%2pZ?$jK@X4VjE9q(jDIg5`i<_7 zIkc098QR^`MgU27za3#W|H&V29nE%~Ji}#{iG2NN8ju@UdykWH#hs4SNgA!#hF-`7 zGHOk`9InTY^^tid{v!h)2S%oWj=~+8xMGL+NdWlTNyTG01oHy&g3B~wYz*Roz17bu zuu^mn;jUA~JT}YtwqAM(^}mS?hnc(6&+B;Ns7(t;^j% zu`1}~+i^jCU#8*KS7A_|U0I9Mm8B9fs+w-!!Wh*MU5E2Jd-#{13=HaSqM~4`za~n_ z80O#_yRuzm5BSZ#>g}8#5XR=!l=+8$B=4|Z$FSjyn^I)ik~-B)H|B`o%>$}0Tn@8t z;~NT=NC`k@wwTTQ{m0`?Q!{Db$+4-a8x`^tynBHDTHk-E_I4>1^~1h_o<&P8w`Lmfi+VXKwFuWCwa$Uw*HZ#MI zs5?cOFdITRMk!(SNJ7pZ7Msf-7R2cx2KmFi>@bP9GatKVh{Rm1LostbP$v zI3$Bl$rd;0X$v}Zv!pnfo%Z0<2PSOe9)|Iz2R+rhzKtCc?Klzvj3~wE!GR}vkyH?K>Wcf{jmEROvCVH5HUW|pdy^D8{J|HB!sFI@Kp4xOtIRL|O*PcpLKyJZ^G5S>$Nvnbs z7gWvZu>?!tJT)OG>-f#|Tc$n@qcJyZvP5DF4|#}D%P!~1d2g19&))Wv&i8RGEMss? zyi^!_TObTFubQ;(i!$fC(Y<};g3_`hx+&Ki;GHS_zA632>)*g^eZk&}wruuxqj99I&$jpncu$r0JQ(fhZ=4J#3_GLH zyzn%`8|Nrn{w>fml0oNn;}t@<0yO_edzxX*GnV1K6~mz{@E-N2U|KW(5jzYsm%~y2 z5Ch6wS7_FUbSPOz+U$65gZ(+`DcFU46!xdZr-F%Z4rjyoc5Yz$o3X}_;0|(sYpVKu zN(01N1=hbeo3hs*v$=zt;OB$nQD}-zV{O!q9c)Fg4v<+ z*^Z6v+N_r8wupC2C&n9BOD9*W?#=Ebb!d&2qiHo%C{tTCWl9v9tW?3_jH3qz!(`Md zw$smHydrQw6*C1zM>Fcx>3i(gR`ktghgd5>a^vg{tUeiI>u`L7)k{ZPSZy~G-#C8F zOz=k(U9YwM&28syA{qcIC&C_RvO62#x`|978Gr|ZSU*2>p zs0z6MbErJAtJp34DG9jq{=)P&Pyd#TBd6=cje14nk~k=z5`XiUMV~^73pzGmN~e&A zQ#Ne_{LswUG*R%+>Z_ap7pE7mz1x%2b-D4+6}{M(Q*3?p{NmjEPnE}}{lBgp-#WXs zWpOe5cVWBC!oufozxAJ||Mlwjw;x;9;>PX&wqMVyTAVzn|F;AdERz9%cXI&14B#z5 z1wa_fd1Wl}J=-D0Jx3(2qYU#PEJKqK=~t(;2Pn4?wluGVst|4LxJGPPI#v-}c_$`7 z-&SW4BU@!2mq?9VAhh{jz*4(0eDk8DARR$m>4S1KECe!?D~2G#lA#*`%G&`wo+&A+ zB)T{}ksC+E4w*GW14-}NR*j$?4RlPsZi*LjF!d+^^ZrUER+6*icEmNrRij_k&WB_X zj7WQ~NFiiemR+jH8m`x-Rf0^}4OXdtq_K6GGGMImNbbsG@rPi)s!WY`;r!)t0cmcP zU=zC;q!QIH*Gk`Sfx$1+z=*AT0Kl-k0&;jMVCt65>)v0v`BF<=vv)FkYLOa|v20{; zpN1MH*E%+?C09nzYqVt88Z9akRM(Wsjp733;scMS>w@j0zyBrG?pYCNqGi(MdnKAC4S{8V+)a?+t zMqqKDo3Uk|QDbAe8SVjfb@sD>v28uF#aM*Mu_hsXmBt*YmZEtNF(t7jgJefGN8KG})I$;WIKE{Nf8n3Vg zl9(HmCyJ7|G94+}u+E_!xKDA`Bi7F1HXO#}kZR;He{OEO3O6-P!y$5aVC$9d#>dh5 zazz%tZfJSYRkb%h9>v@2Acm&gs|MsG3vzI*|s9d@8-D?nb8{*@jPdJ%y?Q3cCoMHsQiZdx)tRwOy?A z&MD=oo1+>gj7n$bl-;Nq88USDh~+*V`dZJ4&7VQ<7Gs^2m%BMlXXy-F8l`AgxpC}T zkqT!$CsB)_u==89G(F>LBS5=_01J1&WQVU?m|)G(IyV`hA+o9Ud5ByiuvlU;w(Mi7 z9A26hI$(;-^jNI{2HlDzNQ*H;Vi%O0RjXq)OxCC@`|BP?p@b02a75;-Z%qQ`??sZE7=~w%8!sKZ7Rp(4KK#1Z;sLe)yBYeAI=7NX zgBrl}PD+mC|i$mw86{pc0yLY)sybs z4Q_H5mOT8_m^w~AsJ^EDfAwwk_v(erubWC)8_XYO{Wa@mmOtx3RxBH{{KoRS1!RwB zJ8qlRuF9xMwWu~p(?BBm)R6~;Q6f<&PLs4mGF_)ht=3mv>7QOOUp0Sw$%a^>&9=oB z*#)~}-?wvioxzD|wz%Xo5A$`NV4h{CT<-+uxyHGT(P6weV1@)|I(L!_kKRs zXZlIcc;2rEgcz7$hAbRHQlNzGa1_QuOmcx95P$&az#T$>2-yH(6}lsv&Ou+gOG7k8 zA^ry!a1FO{KR@MRj_@L<5JGxHKmw!}4V1f!70*rzS1VS8SK`|tOgDtoQ6vSYa3m&=R+q{O)@(un(2$2Me zC`JWNdJNDod zdSMtQV?L5Ng-a;oG1ADRtj)U9O*-mPjYGTGE>{=A0xgT{@79c!zSgea#h=@E$w;Fl zOQAIFoPGHCx+*D-Qmc#lYm8^rW=8Q14(Zq`YKD5Q`@Sqv3RMQy>BuJX7nD(P~*+$^t^R2lO* ze)b){&(C=uALSqUYkt&6{YqevFdOipK5*gxqAgCbBW}g#aViQ?Nw&00MOsP$>DM%u z?7Z&7Pd?*&etWu|C6{QB12%Ai+x5||+Z`LSX&bYctws+ciKxho-c2a})ymqf*3(8h zzDM@7PU}^@wfA*S5A>6+d$9k}o(t$)vJ!o>cRu4fkv~+w1yfH(axu_7AxK77lpq zM=`HcuR~*YbujmpU3h=|b{+7(>b=njpJtz7pUZZxeboGIy07!S>UaBW&kt$8WxsnP zIl28S{>`&xjxK015U?IlwOZEf76Kpkm3?cc&f@d-^xo4VZX=l}Ceat?Y9h*Ix&ChNk~*=Yg5hPw)j3$GMlB|B{A3WZ01Kbd%sdTgNU2TB$cLZ+3zNr)%hO8|hFlK2iyb&$MJgFMPoExr;F5S0#m z#uhiyk$ssgAVF`+Xxe!kWZ}A6{8E#xSkzB0;%iv7czIh6=s4yUtjdj5#E2_bZ(EwS zFpVoLmR?qyPLq9JbV~!ZiE?%@Ej3J?2XR{~fU1Weq1x5}&|3=fA)%&<2&sC8NjQdB zPsZ^0>Al+`sN?Y4f|hi_QBkx_u_Gi3$SyiUOd+Z}QcGv_^=x7ZZ90KkGwHH>j@U;2 zIp4oQISN$aB?pcMBB7lz!Y(QHby=Vr>S7@@0dy)KP>BJd>RZq)f*gwTNU;_6s>Bq~rGk#d( zZ3J-d5Og9kG;8%@!LqQu7~EoiITr>|bfnki{Km=B*WQ+PZ+m$Qb;t_bJeqn4)vDFx zD^!{0AsO>sR#=#r5ct(ttMD$lvO<2#PS6)J_vK>OOArRDYPCG3oHijZ`$YPYh&$ud zAY12_d<13lItq`o+Gi*o%4yAkXTL) z&H8(w!T;ThbdrG(gmXzVc?3#;J)w|OmTzpm z#u|jnraxp3*b<#wc5h&DdKza@*m0VK+^_rSla#A=EIAFk7c zCd=1JY(5J+=-v2R5}JqkGJi=K7)z(`tKgtTik_LTME4ebHNqDR3>12dCLZpq{&AlA{nBpXa zXn|S|Rk;68`-G}ulsU51<1R0;WPGh=wU*i=fu=AMdRo%2_gm$vWKax*F$rE6XHWHV zq>KD4i>`fcBq*wnM3A37s0s&{RtV?K*L)`=hL>(UYJ;JEHRreJg>HKi`?>Udd*4P8 z^9Qk7Rf+g<%;mC%f;d(I7545KB^M75gA zl)cKgYK1)V)jjeeB+`J6%h4@vAZ>tPQcFsVXAh(NyiozIZw%N=X#H%ulaK&-@dl8{ zF1_b^P@q=hEoXVrCvc?*TtQ&#~Mu0tDD! zN00zQ>t0o|?FKsKh$caIaNpEiBZsa52hbW}om%N%5#H2Td(MsCFV|^{?nL(Hft^M*DF=x^i5^n+ zer%x_DvptT`tTfn|KrQ#aB#}{#dEt10>G}Xtqwl~<;uDECi(mpklOoXcvxMuOIYW4 zsl5?3ZT&$iwXs2zkZ%}nX^p{c&dKA76I@2Kx}c~Us6z15U2Q}v+~%ZoiWaa%dN#MHTj{44VExvK(=#pl9_8s}2(@T;MTci*jGOmoLk zJT-#R(ifu~GgnZNFy9;>u>+!LUW#N;UK4~?h(nKIH<sO>^#Rb%`miLdhqO2frc`zz#Kn2 z;>?MX1drUPlktwmeeuibyM|P1D$g`%-^IUTDYpTp)2)^QssnW_U=|Br01!13g*X@mNJd zNj@-TD(J~tf&o45wQNueTNx(A^Ev$_VjpLv!N8<6Av{@x5G>?4>(Ks9o}r;1z_O61 zg;cH*Xnr%e01_GXae<3p4+j(p-dZrgWKmsUIx2I>33ZtsLetWrdB)JZ_z|&hn4zV67QNKkwV3krxCSky-{Qb!jb` z!+ZSeqXjoS&KFgdClx9Z8>nTeyhHO&Yk*wRGcz=wf*x&xLZ6YbGUT(~;Nn)VJKT*6 zEss2>Mg-Y$ z&8t!+GxCk!=eEQY4D^m(I*Y;Fhj^g15>oXwfy0TXR-y+-LMER4YZ>1RO_-Sltc(rq zwI>ztn^XB@Z>=!CRjI8{OuSYO0!mN2!a--oAhp%b>@A2{`kQ`wx`e`x_7jwj(mIn2_O7a_&q z=9t)r?#O3v(0V66Jb!``{G(cex5iO_^t-trqI-d;AZ!?_-AF8b(VILU2bgsDtf+1J{VBnz^I{G-}p$gA!!=@yTNlp?$2f zpg_hc+fm32Wyh;dtb`0|ENlS1*;${aUQe?jsfL(w5(mPvxDS21)DdvAwgMmxY(={z zC~|Q7ve4Ek)u`@Ui2YEWSwLTTgttmStT3i5+@y~!s1S!+67Mx`1(WhJL6`ccPB=xf zfmWXr?1VHW9;?M4x(``0eBvgXBDr#~dTDrI3n(+Bno%8nWh6w5-SgmSVC92X<`|06 zyivBqS%ZW%)`Xf4X0_!~)^Eh!VI4cS%Q+jPmXECS; zEaf{=f_aoMZ9oG&$;VYF5%{#XvWa7$D&@x@=&rq;Ca3edMIKzt4@+NCHZ_;n z`shX2eV)o!@ebnZleXm)F8rK6-3-(dL?Yd*Ame^o7h*?kkXMqN$fD3E@_1;)R$c6Q+nL}dY&nGu41loLK zzodXF$Wp0?7&CGanLG@wmIf3kY#YT)KPYS#>pdBqh)`)qCck?1hE4_g0Bvt{0~=zm zMF==;k(BLn$&9KAn+PoqfPgd$YN+dM=HLWd?W_j|)kGj;t&70@LH`%Y6|snTOHz1+^a&2zBUKJ&ayZ@3pLPQ zf~^Y83A_zF;URRd6o^STk90r!6EpSB(bg6L__?R+P219%1yYA5p_3j~Lay7K&j}S1 z<&Z+@Z~FDHSIT(4=-D8fE8z#m_Bq|p7I`BcpGg?e30;@%>@;6Z3)V@u?VKRgP@_j4 znhVt~DHxX^*me{YfV2?dqD|$gnmJsHY<89T!Cj+?L;$IzmrcIYg_ET5XNi9V;ymnR zs>2#sk+4j8vVWe=2!L@`(A#dW8U-FqOF3D@5n8GnUkn55BYY0ihpmCfIRaLTfq}&_F$a#ImQ2z#Ie)8{1X8kx{9hoeM)j2S$F*!v zb;0}b5WJ;i`1aeqC6+ZT& ziV+jkQyl-n22(RDU-`0TBIgOX+rz(}IPYa+cp8Fz9wsNh0=lN}mCw_pCt>0(q^uh@jB@C5h# z{N}DrncX&r>UYT!emwnxdla(-Nz90=g*N>3cQJUf4vMaKnJgb3@)6GD_DN3-deE~< zQMl%j1oIMN!}?iC(A=)jouNUkA6Vz;RRXyn4_3tB@y0??MzRyl*WPk!9KGWTxI|oa zg|ojl-1dgfyQT0@OVuO}hl!g!kt+d@dqAOQ+~wXJX6|6&`jn+d7-Hx+KJ@kg!1RTp zl5*8$y!)6PZxTfzWlJq@p#~CgU?^Uj1yrm{N_=I-4VG@+ne_k^G(ravOh!^9=%{b0 z_I@=j$aADPET|pO+~0pH~T z;u^hECfLvTsoBtE$MSrATWRN##Vd=QyZNK0!5fY~?thT>{L9~cMVBUraVT8<)J$oM zYW}Xc-~Ra#12R=BU>;}3O93*F_D%_H2;{F?#|_niErEfN5moKqN>I{ZIuT=FW4MA6 zOj&6s1D$PW2g1V5?EvJw86-Fm4V{Pp9lD&Fu(?HrQ^+_rsW#Nn!Yrq2&4B}pDiS*F z1SFTlS&H3H2_3Cv6*U%bHwTI6*Ct^amx-YRKC~!7W9k$F5T}q!L4E~|=|yyHcy*qUL9m$|`(eFPaFLetUgRoglsjdz z!d~LR9(XQKJz`v7C!d~8nDaeMwI+m!p&SSu*Qt!h7(;!6Q{jvATj63Rt}wYAF9Xy& z&2i}fuos-67)oRT)pkCHSI_{DR60^`FYOJd!8Y$V#(by6Xf~vJJE%0RbfddXciA+^ zZ+Ip<6OR?!!#lh+3MFWJ{gA@p2k)SB0lh%k6CchN(NwkGmkvzy?FO<` zKYq4r)S>nC!FRF-a+kixec&@k)JG&}i(So$OP!oOi9>jVLdqo99jWMX2K z2oW;lz)-c8N{=?TO8}eJ0~e$NHgC3<==k9OF-n`rqeGej@dE(KIVNe(Y^ceNI=hI zYH$(A*Tvi^La1!3qun+8Km?C%a<1l$E zoyoIk@SUplO&s1O)5ZB<-jO#$1K&`H=Al#4eVfTQ+nR*hC2_JVXDsyZ>T#S# zi=TcNl%VvNKP-@Bbfd6vGJ3B`h?rBD(B^x#nE)C5NpvBB7{k$&|F}fu5Hp803+jXt zcVL5T!-G-nGJSU0;xHD4_rTXg#r8Xoa;YWNcTst&s;Iwl*E8io?sZx(VfGB z&DgEmjdsbioK-Eaaecj>5*t5OL$+@8ynt$mQq}d&OP0ZA6dBCdCQ<5ZMwm6yl6!k4BQ~ zl7HHwR#%GzRimgnX-{%yJXico6}nH0LsOsW$y43=wXv-GK;Bcro@EboY;jr#Yrfz1yx9(gWuz( zJ(bXkLs8p)Z3C-6(|X$saQFnf5p?rq#WgCf3SlO`HL9ULOfaDjo~X8yx4@lqM0gz~ zsngmdQ{&w0Am{{INsrit!qQb-z8GP5E8YtjxI%AVST{oxXv3J>7Vj!igPKjFK)O3F}n{XJ|$-= zytV+qw^&iZWG9pALi00V=8N5dIl*swJbgt%Y<84zj~#%WvF9>{!!lz)#cGb+N71%FD@Q(BA>H@1gy|ehtU7E-AvoqH`!33=<_>6Y!Msq_ z6*iL(Ap`JQy1GP%x-~6h4uXCgFD#g9S={FX@k{X7E!b+ZD!UAj@Ez&(i>U^_>Dk#~ z1$W@z#Dq;qCV;BTy0$c5ja+MD>s1_d6_s2GN(KrxoPB&@_eaRGXw_W(gh;*HT)e?@S6a5%(NOSa5e!(FOGM;)hO^K z_{gCF-1RBKM;fBuwgd57g6q!i218_ULRZ-l;hr_$OqNL!UDuWS5MoL>$dr=8<|j~b z2x7CEK2T0?Ziruk)7e5zQ$=t3zXv+eNY?2hka%e{hb%k{>-ROfJzNuWB)XdtDYDcCdZqk7Cuf?xWcrIFCg>U|rkR&N05AWb`MqDuzn^V9tt3yhwthQdcD1zj)F{W0D8~&r@89O!wr$> zT~PSEkqk8QyR0Tg9FC~etzdy0q}$TBa1_XYjhM1p0z*v}a4X|L&_rOg$qt6;^!TG| zl1%6#AcTCN$T;`JKDibCDCOPdQ1HwP5O1seS9=Ha+HjukgqeC590x(J##P zGP11@A+ErwF7o=D+R6z1c*m6FQU@lvrB_GO`;}^iZ?;aIO!k)^g71IZL2brOGPkP< z(*&83@%akon#i@0!6ZhD4*{{ot`0Wm7~S6c66LlU_Es}Z1Z)^81OTtAkcMklNo=Gq zzBZLd-&*y!q`K!QUx!Ay8|+KdU?`Eg88cD~={N(|h=@2Z2pt%D7?qvHfkhK-7u&8F06>mr=K(M^2f~O%{1H(IC(Onu=FlGYG6HIo?H8S*E+-sRD-l$GEN`< ze*&YqC2{{e(Wt0P62;b1cX_iUAtf;(CX(Q-0rq<_heVQOHg>a>Y%Qf%-@x?wF)Z8g zz&{UdTP;_yab7@?7K=_OWP39MeYVh(3Vp36SJUyBE&*LHCl~%bFkmuD-z>9r!`oKF zw)qw1);~Ox#A_P}{K$mCxX-wm19V;!Zj^sKI#4>VLduk&-CFqH63&|JW!uV?tMd7Y zjfvvJ0%{%SLl=KZoT?h#sEEx z-1)HpaN0}Xs`1_e#5?}F90gi9j+Cv9?hcr$!-~s62T+}I}Ko0i{Rm3IuwLQj#O zYVuo#TEqy&Gj1!AYAwOY5h>)RNI}DHnj#4u$rZ$>^bhwe{nMi?m@3Fl739FsQd%*n z^Vf*Dop}d2FKVn-Vw+8&cXn4%S+{#2y|8>&vdw$06&thu>l+jDy81S4WU6z)7eM^U z6CjtXNn_u-tG52h!FZYL{s2ooP(#Chdxg0YV_jijZ=yRSgVUx=8)j+5a9z+`PM_a4;4)nGO;c)EfFA3n%WJmFreoR+wY87@xAiQg_$$eS8S(OE-kT= z$wVS|Ot!2GN3RY>=k_N+sUQWrC*-DnWiH z8ZRfj@WDD3!&#xSItJef!OAi5YAXc!prv<9ZFaaCAx|KHw&6r|5CHUW{@Rz1Yl66} zz?{dh(7X2uiDUb3&WN^so6+u&>4}R3i)yCmzbaxa%$AC@0eoCfAA!k3H5k4)J(f_;r? z1qNPjP)=*|F+C2yF#A=p!A3AJNe2}Tj4(E~Ug%BQnPt$uYU(~5&YWvKKmFRte8DtU zbJ&ysOF*>0x||!_a%?-P8-=XU7JA^f(Iq24=e@(8^htNKZ4dVJMzY!RML({Z4EkNO zGTGN1oo8Q3jr=(jBcz=}`TIYcK4#K~(bQl&(>;sPIQaD&q07c4F0k>i0)Ok(fm;SY zf-8Li0#eI=Yz~M696-CkH)0U&X|Zb6`>k&>^K>Z_;MVFaB=9{z7&g#8y8I&`2Bf2U ze}E2jG70aC2zZ_iLo_MXt6vfl&oA^`~!HDq|?(40)SPVa!Ym+QX%7HlQ z9uZ?o9Um$y)ygDb>&Gp0SfTali*dP1PQeP%bIH4fAU4_=z1|FU9oCNO&}WN2thVDu zW(U8wnODpdEmPSB63%cNgVkjiW=Gngi>8xjxr9bz4_GX= zFF@0weY75vBuC9($0k&`M)ZID@pgT+YBAUb=M0^9Gn^c67pf~$0&iBZe>PIlGmIyy zstb!_tdvm0H^$VXbW=+hQj_$jz&7H@c=^6S?`Bq5b)-e`8%J=d)IvxC6=oppPSZ+L zI;YUiqN5Z=P5Nz2$~XwCX~xT_(yzDLm?K#C*|#hy8mr(MNctq`R##F#p;~3IEma&4 zQw{zYCZ0r5yva3d8Y#c80@9yzqD`pL0TQexNVJ`e?-uzaE>#hb^tD}!#M{%}*-d=Z zWjXOJQK~-L`gZmtc2%wI2?#td*IK}!Mov$n@(QEY3o8@yt5BxX+R8JCwQR@;g_B}I zGN;aiv&RxjWv`v1J~RJyq~p5cq*IS~w@}>+(JeLBClenWE+!0xQ)-url!d^l!N*CP zgNRKlh$b1%LFPio&>K%v4T_)$2(h^E24Xyk$)(asi-jZ!$d97j>|jBYmQ&r+jVN+t3yVD5Q&$=jo8POzQjptXg^HL}PvOKH`H^QT0~<6dD~pG=4EkN_|kMy}WE$|8B2GhrL#pL}aX z_F!N^MV3HAjx*{qD8@zdOOU~(Gg$YXW-2Y*%?;P!5fbk5TUrN^WwQPYBXFd$tb%=9b7sPYn35! z^M`6Es5lO`6cQWrW=|HGqM!V#3%Kqgte?*tdTnTQC zGVC{V=aq_cOo67kWKkcl>>_x6BBSjNB4mouGUfdBq;QqC+FGUVqzC&MM#-Q6N`lTP z^)?ak^Xu{LeIX&?Obr8HLZcj-LN;a(VG1++6iw|H+%r0oV#;6HPKtls-jedh#<2#@*tLp!$yU_r?Bp;J9w2$syIzS;mEfmv&(694*?tjWC1+ z5uN@ObB3Mddn`NV1z81wZLr;az>IjPN=W#<*`3ED;-=f-+$BzLYcd}Nd?7}}K;Wt+ zM#7>ucIm!2g=>0aM0`jlU=8Dv$m)!~mcGGFXwVF!IX)w8f*ov4GpQ9!`gcsnl z=AuKkP3-XKltAT@r1ReQR6em|cy@c3J2P7pps0bFI32)a#Xc9_#vk_>`*x}Wr2XmF zpzd0Th z&eU3_h=&yRCLhS&Y)vcEph(uZf$qW(T5S^jur%L^opCIA%>rS4h;h!VHg4~&6F~w- zxdOs8C4;)7oVN7(gQ9rMhGkhB9U-<|lP3xiA_|=mN(Oh=W)3PN4f{|Mr9}5ec>quZ z+eLM6c8Ku2=+=g03NrDJ9W+q7@9nZnLw70YltZs#Y2GG?2}w zg)HO5J-f0K4e8i<=AFUb8qd+Vh1HeL5xkN9drmz7m}{$e)oUrPGX`#$CF1~lbqZx; zV1!@cMa6tNGC^TKz~s-&H!^pPp9~8|w^1rQ4VwLfT}y|HyqJ>*~?3=j3SLb$1TjAmcZbqYwf! z+vf$of>p3kpT~?8%a;u{{HHN)e+{Fw4p>X&n|8;)gEH82DDE12p0C26P1f3BwisIf z!+xjce7Tj?T~q*RYVbQBI`6y;8y;{=#9%wB^@w#$4n|qC4`g;Da{vKB&cZfPiQo|{ z{f|J#fvBHi9_5P##G?xIFtKRwDveC&hh!m}^`Q&7Z;B}c!A6vLO^UGdb4h{{1*Xm^ z^~P!65sAbPTki3f)u}((+vMOnp(H5+2VptW6JQ*Nn?rJ`z|u_pp6N4AGxMPtO=Ab7 z8?`X{_;ilCCeSCF{Q&GJ)5}bE{44ax20I*T=ARVhRuL$GO*W_g#>Trd)2pfqwWPcj zEEpxJt@XH(@MMRi7oNE=a)oP54d-dG{Am0bMvT$Jp7cSf2W$+4(R?`sMQ0B>V@`#g zl76NjTX{hW@@?nSQAj6Nm=}{|@nq_{0&R6Bekg_z>yYLfL*tgO>+QWxZEW-a=f{8z z3v^P|0|mL;u}|(xa;n@n{2Ht~_+9gqp4dL_5_!>1wiI})d!kJjWElBuLIJdpLj!Lf zok`xCct`Q7eTzHP(2~)kNq7sh*lI~6+-6&icLJ}e2#Tg=5R+2O$GuiVYSwfR4ZHOP z97q=lPKP)KDf9k-B_Z8$qCR5wqapFzOn_{M+5QyUuOY)BPcXDFS1c#4h{J87$h?ox zL>^%v!|_0mlaI9~EMxcgH4|zUq~X4x5V`>#ZR$Z-psxhHQ2?bFy51O- zegxe)SC2h}7Pb`i0gQc85T$Jt(on`INPA9uh2A`)MmMmQGPN(~NUQ6TPk`&@15GWw zM2b2o9=z8T@&pmEFcwrAVFfKZ6-JgC5Vk0snL2{-M>}e~c75aR`E3*z9>mBPh$>8l z-4kSC0rR4J_i?jNg3kmGXP#GQgXzxP_Prx(w?)a(o#|E}u5d_(`h&S?6Xo7p>bt*s z-p68+sb$<=I5Zbr%BDSv>GKA36YlKEvk~@XOK4ULV9{d`b*ln+6B5KjN9ejTS__*i zl=lyFB^EjuJrUf2$GTEXuNj1>acWo8BfKaYlk&Efcv74|!#59M8s6Q7OU zu47Y!RG&+mYA3nKGJ&Zeg>8&y{1eA#jKrrNfMBVEtKO|XDa`5$ z1VZg@pHhW0#*C&U)3lKY%%O;XtPj^!Gu}6y1obK`>^KPg=@^>6Z>BdVG*7T&WogVT zLTEu)e=|Yilm=8KiR`*F9H;620Hg3{lU>*W%KNA@gf6fAAyiXIW4xwjF@vb)m$`nqAn>4m#$g9vkkx*$~KWX5#? z;YW}2<6DT9aP~t)e|z`E8UlqHKGhmA9GB}Z6gYHFtZH&dvrh188W9r-GBdBvA%Yfl z34_Z#!2pa$Kw{DlL32QYIRsxuOdfi)FlO`kYWd_5pkwm~H9y%698ciG!A|lJV&U{> za1TzDF*x+Vc1myKmr7FS?p!Kx_uL8!D-#{^lex_!b4iG2dQm?y5>Ris`IOUD z@WvU@OU;iS%gAV&Z8$^wknCqR2PQ*-unfgLH_9Ra50DiZ_vk11{9Qg%Gs0qg$|4BN zCOO!%k2d#w<^CD|Wsfl;^P2oxAWd0-@op&|y$T&IiFlznl`GjxvR%rvEtI{f6iQ?x zinB5v)RgXCA|Yext3hv`M-|^ARg&q(+$ph2{I2{!B~KvsA62z4RuG#C}>Im>C{>_y<0PVHBK zyY_^IaNj8(=Mbie6)YT^?I1!I@lKyqRGo;;uepCe<{sBIDLm2UCAsG3)(K5D^H4l zJv|t=wFN$NGdKq|+6fb?Jnbi>+I4UZ1p3Jk~Htj^nOik#BX0?P%CulOWIHxbDboxRmE!D)N*;V4800DziDg3zomI+8) zwi+21Z7FSMPyfE-E#&4t{kh{U)aE{&vEv_&4TFyP0(+Pm&(>{#ni+Kt5hKKk88K;gm6AC05dx7i9;v!RN>u=#`9uYJ1}M;qhQjb_V>!awG*6%(MUW=) z#i;+hSTZbYbc#=27tZ6(^4DD!2xw-2j_+4Me)gH=*9=T~z7^}jn7568XwAkkU_4Ev zlY`(poYBefIPH_(=9vMy`unCxcS>>wdkPb}@XYW_(oWB`w_Ni7xw+`X9X8EVx;IGs z&krg=vRAS^VG;)u`QkDcY{ZS2#oMb0f z{IsSjx<=lO_oV``z2_q2*AhinpeRc&Pd+c>k29&G!fDkZdZvEwg(;$z{6Zee1Q3i7 zlfH=kOfe`;FtC#ze2tRI!(_WD1sj#!^9(rW2($t(XY#lo*wAO)4K0-Sod9kQUPZ4* zAqL=l)+pvNE?CabSnp8!#Ga7bZT2^r;etiXku^{R-rBjD<8VFoS$B7>2|oED@5N&= zGG#A0KM^lYvfn-&~4_^St#KF*-)+O-u%{?sE~-Z2B+ak5m!Q_CX{xro47^MMI`;6` zwM9+b0pZ@j@TqHs__s7CCaHXJb+NPes(|y`kre2u9SoI1ow+S3CV6zMa!4?yC69S- zK&owSUy?~SV56}cZyms9sXwzDdbu$?*y~gdfSU>xD09{K!|P7;hz`S!Kw?Mp^Qym7 z72=bX%`xLl9=e?6gEyg9%zGw|Md`vdp&8AWl1#W`xCBP=Iu@{AgFE< zLc%hRcWL@xzGMr%^z@48$HZexTgXrI>pb^G$BDFXJ{*E_Q35ITV>6r41w`D(nr735 zB4U$b(})Y*`18$#QxVg2W?uAa;mHhl?oMjSn)9;fOeZsjNQFX2*TSH((6--!j+?u> z;(c6oWQt_pivbiNY$mnt{Yce%`zP^8s6FLk$f5c9O(bxYOfLpN-rdr(q6z z9o_sd8u$dW3aC_)hdm7RmVT^v+do@PoccaME<_l~t$LK`uzLPu09f?V?tz@eghNa) zh;9uo_ayJkh|WkUDsLXM2%+J9UYZcrFDlHA{DVT(iZ0CweBwV$7;s)3j{wM(+!`$f zIWBI6_PS1hE%8kr98-BJ9CAh6k2y7331g8e_Jx2rvQ8w*lSMS3*Nqkfu01q-+$!Tk z+|O4|rl#4v-B$$z?M@+;wD!9fr&5j7P}{1KL`mczWCa&LV566^MS!m=v?1RGMwblo<`%w;+1^RZD-C?#ugr)U>n2m&9^g7XV>V2Ji*c8hC-ga;JvFZ+gA zFZ-khT>26AQeMrGWd59q!B^Ynq1+7=-^4!kaBmPr;HCD4$kPutI@mwumPmJ5tl4G8 z`?~ichjBqdnu8Sv2I!AE+P}cNZ#7-DCza|yI(BkAlPMx5CRvDP$&A{Z)f#FFgtnUJ zYp^*F#ZN)oC<2I)6ZvxI`Qc)&@lopr>~i5=GTOMlGu8Ct&v4X3!(EEDQ$3tChAp(i zsU+quRWtGNQ2IDg$49LOjSn%Rv?#$@%4X1U?et)I^4 zV}e9*rk}@5%yQTfZAHidzDOX^pwR~dgxembDc*ZT-J;-}dM18l$8>r2jGc;X7wMhR zLIG$1USk1RayNHga=U-s-vsZPdPBCW@)O-dw5^E&?UYJ-3?2ur zOi?|;f%hX$xHVxkBREpWX&PwjNoPWJtqL;L#L)6!1 zZ9?{0HB)MM=_?}4QL6hftze%RkLn9~U~EVjd1M0G?LgF`orceugZ2--Gs$MIQ`(2E zM_kBS$SStSK((T4%ku@I&)CnwTv=HkroE6d=K0gynXt&*mQqTwP&CLeRV@z7nteZ| zw-fD)KdlQFP#fZ9I38)t!iFMw(qujK3Y&O;i!96y+z+EW?p@r<3>eB_VTK zdgJ^wSN&M*E^na@l!$Z9q9*%Ys5j$SO;+$s z$MmBJS;&up!46xXRL}bLCNkeWoKW+<%?U&sfQcZ1ZDU(p628r2uK;uu)K43l+0qwv zP0R6O!-f}#!ui;FPt-w5EvUb-`4!NVas|4l_#MuOAk;Oe$*@opv%3CZgktHGov`gpOqiqXn zVTXH>i#55l1TKBNa%tiK-FardB$5Z5 zUEqZ55XN$dfLT#ebviP}<3^BRPA>{j5oQf5cuK0at>i!ia;c74vHvJZ^7#gxfoU?= zBMuRx46(5Z{%f}Z93(9En--cJnlb_)|NfmWAxthd1wNBxS|(7qi3BNZ4ca0USo?y0 z_9Mk&d^d6Zh(eY%D{!UA&;6T7v0e@__H0?x@p|+emo=Hs$h>3oT4a>_&G~_-r zK=mwOpfO1W7mV;yUyJob3(zI%o^~YZ%%BTQN3}%>P9X&c)QR|@eN-u;o}#Ad`;&Hz z47U3u>>&b`296aq3;23Y$Tl`{nPjLmBn$J!pFFYsarwrag5ujg2U0B;&-!-!M;KjY z#&!P`z`1TYExG|+3AIaD< zq#jhe81yUWY{iFqvgwBXOul;t(~e_G2mLs&7_LQW80GJbp(I;uu)X}5KwQGsnaQp( zJRwpLBnnrAY)!JPd7lw)BXL&jYf@TG6>g1soUm1|aZOndDfhcEBb;g!1GNLszgG|lMZnF8qF6Mru} z;x$i2@u)R`M9@MJ;DHwv?o`EA&r47zL*MkhRpWr#TO9yL1&iW53xs#sAf{JmP~J(y z6X8xnDn!9XJ6`xxq(HUP9Swk&ZfjI@m5e0D8T-SS3(2kH7 z1FQyW1f`H`@u8M-I2rci3)g+%YsuV2-Rtnp{EH`#s_&4jR)p9Ju(?0rwWg5eN_S30 zOF8{j715gu1hXc3KQG>rT^NG1`51n2MkTej6;JXUMem|r({XA~_T1?VA3b7HB`;W` zfEm>Q@N>{QuV+p?;I+?AC-sc5tX!>vZRd>ShS_HqiA0u|;5A3?-EMFMfiVOyrXL$3 zP~TKcrfZ%j2Wg(*0ra!XcVHFkab={hp?Y>tH}lFWXonanmQl&tevL35BaU{+Qh@&R z%5F$rHSv!i-*@V*l&Efq#M&n$MlPrd45HjEpxT+=j#$8A>FECDR!EpP1)|l^`-+Js zF138ceDLK(pSyEcWgvX9G~n~asZ%8-AoLf+D<<7|Jry80;OZRQ-|#Kx04fk1W#l1c zk%*sh^U59#EK6tkq^&qRxG^k+sSTq1uSNb0vY3{*R0UdZB^+CteYmccvjZ!- z>(w4t)-*Kjp7J9E;Yty-Wo;{x=Mu>%BqcL>>Mmtd$-SR~@#8S|O?sg$`LaFVQZeH) zvMP^!;hJP-RPQ*9^{+S_{X^BJFo&e${1=HMjw(HenLIw-Z>$`Q>na$RZWcs+* zHd)0~&;^a-VCcn1YeCyEAjWPB;gZ4?+NY9X-pJU!XinuE=n| zk$@tshhPZ&nAh%XAR+~!e1C!n?G0G4gl8ScP|9nU=rVb$;*U^n180V=lLxbNVS)z} zZOJ`5nFz`p#!;n=1TM3TaDGlm&|8V~R37a8Z z7=C{9M6*be)k!MLV0aU;r{PrtM|7x3dIdVzFVW@NOGnDd*CYsMXnjP9Fg0jL>*`NQ zp5vTlu7Fc--|D4DVlJr5sh*V+j7Iv009NI#d#O_a;$7Mz@T|a@xxtax_nGL*tdw=s zOF&3nbwt_*FzzfHDB%Xo`~Tp?h1drWa>eFTv~H~qU{1Rc+aSdX_B0a6`y6^Q1%8yA zE(VCwKr?+Kp%p&P$bb2Ywr$KHDV{b3U&&f0;7i)W=Ix2wky_mb?-UCYPg@h=;RSJt zN8f_4{glkjb?k(MVL3ORjGBS{_m=cCY0;2|!`zmcyM0{J-HKl)xpx5ES=BsW0Qc>i zDo$BUC4rr6N0G2ty6+SL0#mBj5-9;hdZ%$;yY(sk3vNA0%5;z=&j@t@+U@4*OFkP! zy3qfI?WW{^D0Dz@=%MtZZ{x_D>)Ba9bu&30L7I&uFSN2D$MI?^mC4Lj;#)k?NuP7R z#Ej@GWZ!??0MU6_c~UaT2+h3Dw?OjeyhsCM`Mas-11>P;y||i7cv(Q#e$Wcqr}8&x zmCyo%KL-9ZD8s#F&UPX9N`uF0QQk+cK1($yU}R| z=Wd(Y{xrt+Q^p)BRp$b|}jssR1 z23JL}JdECJ@H%x5HPXzzI?vrg&-}v(66#z$8f&mDQCx94pPQD(gLLqqD#-jEQfzL} zVVf#C6K2)u;b=J~IMHsW;!K}VQgnMTT!3Uoc_&P-g-C-6z3^bFNOK!z@Irm+a1VS^ zy`7*Ry^r16SgJ9d;CpV?a(XT!0-kiRQ4>f^Bl{$m4IO|hXnNv{ppRlTZ=LuG*+PCW zOkgQX1GmV__uN~+QfqkZVybx}N`^z{%y@q(Tgo~=pBPQsv`5pvp zR3nt!@X-KC!FlY5=PWpl3qAvjj_`Xf6cx@ayiYQ5DRJO=<}u_PJF6_P#6lW$Qou(~ zcSLwHRT!uk*p--MCoV|h6(1b)_qxG3cX|CICKc`0IYGWPHI7afi!+HDqPTF=_vb!g zgLfSC=lc&~Sb6Z7_Oi0ib<2h3Olw(FPLIuKLnCFha%L^Yrt(tRw7=`~lFPV|HR}yN z`}-}=lI_iJOb8y-6$OuqKjqJH|3n{FL7HZmYHyUHWnKlkINYBc+oDKD!06ub5L)O3 zHMi;Hm-9MT4Mu9B^yxw4r(b95w0==b^3Su#w!Xxf_lT z+7(P;^?l=c7MU^7xN-dWHKXaLe(~L{*D{!*6)EAl3V-@nZCOEHr;e08+D$KAe@}*y z2^qYN-kTG3YAj`taew4OvaK#j3NR4lWS(28!MXyh-i1T^qjBN|xX9rLo&DPDjLra8 zb%Y~RHcmrNwpJPA?|Owz6SJ9ia&?Qr%Wm|F-Z)L)V&T8xy|D7Q01Zpuf7rb0D@odJGXnJ`|mHLK@7hwSU0A@VNTt%GKgzz_T9A1XI*$xV7Jv}r1 zyb~+n@v*+7Qy9>Uw{o8batL09*P*jxdS@Hpokqq1-+-6l=@?dS!_a8p&}%$jQY(7H ztC*6){8?VY{9THNs&2lKzmAA`ved3nVDhQFNR49+Mwz-IM z4&S5QMc2B812FV!*!HNy1FhK2Lm2yy^jJOr0bYdvEG!!Nkh{SI-Mu&XRD0)G@fDNQ zpm*}*k-0%%1=vdl=gJ=+5X&r^3KC}nV#<5+aDl1@eS)XDm?)qW6&~_&q3&o7MsCUE z2fajYbC8fdKQ`geU+Ct&%%KY~zRtZ;=WNs*<1DCdP=m_r#kv9?yqBwS8Fg`IgB#-` z`paunn@Iw-V{rhK8=873YSH@i_X?nMSl;#uYrDR%40{*tot&}`1whe89Vq?^maLOU zIPK9eN1j~%k{5%BsG?|GwZtSO2iB7-wZ6WlK16l=4zT< zV}nu(_=Fv*#G@$JN?2gmEM?9t==3|Lfn^NYVjM=|`ar8sACokQ`x3u@IQ;i5FkZ06 zx;7G@O>K=mSXD1a*^IWDELXY7AO+ncM+r+TaH7ryn_IZ#kOeB?tFb|JFB%>b!~Z}0 z`xhcM=@l9_f(dKFzv&xaAkYgN9!}sB(&09JNKZY~#0z3=fg)S8+O#Bvp2oJG^ ziTDWE9NBh~Sxq^t2Ib%20DD1S`pgdrJPjzX2+u2UxXirzZ z5FYjj{kVaGd!6Zm1|tNXmf%$pSYU_AVV0{9T1&O4&eOMKi>P{-q6R4H`K0{k@Nb6g zWrz&fjH(EZISQ7F<0iZ!49DSq)dFdhq(~5~n|IqK0A41Zrb#J)r*L{drya_OL1Oj^ zE+Yh`GU}Dns!WN@WfMNPdeXC2RJXOJlDk9-oy8oPHr_z&_u8r=fEIEeg{TPW2Q$kt z2zvd{nj!nRLP*LzX@1ELxFQfOC!|n+m9{oBi;d4o`=34%%TKfmJoOj8|3Nq9ulv#|XOqMi+Uf zB2$+$?n$>Gf{x-*JH+bkeS zYBLN#P)icO!?1zEG#bvb29Gy9!|N7j!u0#tAec2BfT76=XJ9~2+VgVGlW5!P%%37w z#Y7f2HKL%2CqpM5E^@!<0{dmY+t>_U7XzI`^$|i9lImn&6Cy?Y?4xHLJsRT@&neN< z{S+q&j!X<{DA9wZQ`XgIPy8-8CeU<4#-VTlVXsjdw)B09L?n4#vm<@(+#`M=yR74! zM06WH+#{K_9aDdgIgx#p!dS*dw-Dy>w@xMk-Z!LlX*E<>q-@&ttD)8R#-@% zlH@`(?_xA`5hK9vc=?BC-KkIZZrA}j=|VqGZQ18o8g{DO-b7+a?zKe1JK`Gg6FYS= z0NzMN24#lO`W+=L;SIZc798dlA-0o#6GVUn1_l{&2@md_CcSM$_ozav=`#qin8p~p)T(6iZ- zn)()H`55dz`T;!mx6tbwtUAg-?H6)<=IZ^NY1Qy5wH@9mt;oyg?G|^;1mYEGx6!7w z5y@1dQv?MzRu!4mz;Hk!b$Ip-SxCpsc0C(!#E`@^pDdh+huB!2cs%JG-$@5{SzIf{ zefaxbhtw_03{Z$}uE9L7!9{ri)3{fWqzTyOE#k9Z4i_o#fvDi;G*iP@`6B<0UTgd> zusji|1d~H-m5hyrf?|mF(9pHs;8mO3ox_+>M>f1ZOFS{{Jyw*xjlAD$6BVRKiZnco zi;z?(n`3oParb`X4~_0v{cNg)2GsWveGRoJfN!y5?UMhSsB} zxy-0K2k)z)1QiP?^8TD^>*Smnb7X@1Qmv)ih_cv+Vs?}-~I!& zMM?*6w}C8B*;SO7lqNSM*8u|nt|>%vJ!DdlSrI?lJ@%jP7zneEgaTP8I}ZLm*XgP# zm>1aGq%%8dDrKYpi?3GMCiq41nGg`jXn=)efChsg4xB%6w9mlupwN+}znIbah(+n!@z8e(MST>ej`5W@eWNK z7wVW6?kLv*B}~0=8w!|I!s5TD&>mwRZtq}`Z6E#_bdU=v8Be^$XGpl2G1zDS&6`0M z3NEe?dd?bql3lzTi=Fu_Wo1U zhbpJc=fB;BokmG!f0K~Dt^z{*^zaY-m@-uk4m8fy)z(l`Q|p2b2L5jA?T7#2aFkFf zPpneeL%}DTw`w{MPiQFS(G0QCAX*%(hc&%;27@zn()ALbbml%RE?#Q0(V~6OLjNJr zVyKHWOVx+CRC8j)2gh~xYyQf9H0~atU5k~J*AkK=oAPdm20{e^Q6x)K1dOb)FAFcO z3atlF(e{7V%!hoj$@Q=aCvQ6|QD{9|*hw}cD))8G7E`2l&G9>Ab;R8#{n_pG2lqKF z;Pp$=(N6&;zg(#6PVWkHK#9|!UHdqm-0+N;$)}QW(=`?*m*hh)!x5D44-jjM7o`NME9dCqn~E^6@^}zWlw$B-&bVU>q`$}#O~c? zCq?F$w(=K3p%&eRp;fSGDOY@+*+pZ)dml(^ZH+bXpj10#+g)M!q67H?m-xkVD-pqj zNb`n6o-@^HGpPZu>3z#u4aaOUR(hY&B%F&~r$!Sgizp$}pMzf34ZZBG{U}bi0yXjZ zy}lC7YM>Le$se_d5}I}aRDx}|8+TAXgf z)oL!(@gs@?cAYIwc{&FMC^BCYlA%XGnh&+Qo+`YN5O)Gx2AE@z0U0p{BXRijzGe^j zJP)7M6g&OAlp$aGN$R4lh`I*ot9GTQnOBZL(oX`=lMb~L+Hqq(bE=S56IEjw(S@4> z??sgg!c8aEc&p)+kvFX1IvL(`bmZ>YXn0~Q1WFAuJz?~G<;@O9eYK_8kU}sOMykSd zzUayRN1ZT;(n=hC>jS+znx$$VC~>tL;JfYGX>f(Xu z^r4IT{OU;D$JpArnrkM~T#;xx>6q05c&{e-}|*5 ze;W3DI>P$-6>U^FmeE)>Sok zmj!{**E5>wsFg14J!?LVZSj84F&qj#Kae_h$|T5I_pRU3=3X5)N{I$^#vD@{q(IR; z^OsP#O)S?sa<;K6Z)um#q(8}k^11jUb|%b8A|dY6Z^C zWQitTw7+^cl&4HahuYqiKXf0b!Tkuzf!xmVC4(*kNw?8t7AcveSS{aPGjtLUBh8di z4a1e%dX#NMElVJ-x05%bOt2b8-&lC0T+Cp!cSW0tm`-*Ryf=Oa>k=sEo93MeA5*f3 zW}+y&F0RHWclRVYcXs5?rk#`7-|@$7H#~LcU-s4Qz0Rj)$yNnZ91K=a`(d2y=oQAy zJ1Q0Xg4%8_WtiRd+}8D9c3dbzctk5A;mwvUY9UE9xq{V_Ahj9Z7eG>W_;Tm5Np-nM zT6F{xi`|UXI_1amN@7AXLxWGU5qLF>`vUX@^|G&Z{F_H3Js~X>WXyEuUt18mzO~?S zy(|4X^1^1Ue&%UM8!ohCTcS62*tgQ>QM?k~j8jsBasptINo$&p3j(dh=aAGG(AqY+ z(_T0WN4Oz5L5DNZcJ@!J0qF1N9oR< zec1!d`ULbRUC|EQVlach3^}&S4AABDl~q@SWlVmT>G1PF2kRsQ#pH?kOn zqt7@8SI8tsMzP74QnJmvCzX@1@M@EJ8heM2w1g-W70k!L;hAenh$J{uCPC~z-rdjv zJz;oU-}^cVhSYgo1b?Zng*P1A!VOcMa!;A79u%$sTqF8d+cI2F{1ICku z4=#SXH6#-E{PKp4Gl$VNo8Ok*bJiUu!uSm=cjJ#t>r~$C+SC-D~-{r!_PDE{$Dr@#zdw0#Cw`TFgr8}vnYKk%1p&i^6v8`(2 zLTkc9LGF=-V~DXgtyoKzL8rW<7b=)hhGctFDtg#^>>|9d@hV-DHz2j5%O`m9qN)Z> zEqdI(DxEu@&27HkYOx_E^6mSa)j3OHxfj&4Qf82{Qz(q((`$NPH>U+|lGeeq;JE5V zS~(@VP5hD{7Wo!W3sTg3bVwo#`9(z-MU~q{PVsQPk25HJ)%Q{|d*Qv^A!Vu2Y^u|k zow_0Av%TIj|NNQZVRU6;rei*N?2#-M3NlS|r!!wnPQ6I=D}MVX=^x`i9R=dp5gwY) zMGB!~BjbXRAj?F=Nb5&t3uM6+m-oi126a?x$Cb9wG4@n5vkI!q^^Gp{XEQBh^F)Z* zS7}C8?A~8n%-G3nxmBYCw&}FR8tFCWY!rbVqPX@vZN?|fyq+$`8eixhe>9?Ko?}K< zJ24k;sbIDyV@)pp zj17Soa##2(cRQq^p(3a)S%%jPd?VkqV)pib=$cRz<;}b=kfZhe%c^FL!rP-QqnP=K zOsbwpasOETDr5k9sA}`K%$8A??lHN`GQ6DJBDdDPw&06z{)`)iAX7Qts6V3fUP)7y zvVp_ONvD02f-RM-*wvRm)Aa2@x4OIc%chp3#W|8IVMTOd{P>*F6B4xn2##6x_UTha zdmel0F_iQK8S-gLVs6DwOJM6-E4cqI|7ZvlSNPW>p#^%0cCYQMXZFwAHoJ9Iy6%!t zLNqwWumSC__DYRmLY{Wf;+X4PLg;vLd3a*9t;gq*Q}3v^9mlW*4IB_n@AM0~1nMSF zBrLDq_(D4z#i3+6z9~?10S&Jl?X_((k}!`CLnR+1D8MCZY?09rC}{XI7F z20321fn-8$9Bk`+{hq3t`hhOeh=lX$kQaQ~vCxsJ_kexVd$98I~!XnV4=@3xcX1 z$9f1Rl~pN>OkgDN*BD0Co^T5;7$rM<_KwZ1j`|cmDL*FN9pAp_LK)q-)CT{IoH zi;Y`t`*t()X+^N7qWveHJuMiWtIB<&06x&4@AwwOu!WFSHuwJ-!xna%YopfLU1gP{ zryadg_tUNpomeO2ywvc|r3^G$ z16@HbV?j93rFG+cvb-mb^7-Wa7jb@3Zuihj?RT49UyDc*{8Tw z?`p+c{d=?Ls(!gWn;VITg-D09xLH(HoZ_f59JwIXd$=4?LzO^v7%7{`M#?EitccJ^ zE6t9nZ%}ws>_gQ$er6p2EPAR+>pp-zQnNr*+10b(GxpvvBu?WZNp}=`6W>hPn^98PGb0pSR}he} zN*CBp%$&pm3@CT%WFmG)f)3;duJ%H+ATDCs!9M2trxyI&qTh?n#r0BZ1yrhGgXOLm zsq?{{Qly0RO%u_%#Lz}e)MnkZ_82RR?MGPf?|^bo{g?w04(-Jhfj~_I1uK8BcrM(< zlS$~R$5>WQ@4QNDj9KS2P*ow=AzKY#O=ut>wvdK!>=lqeLSe}W7_`grQ1%6?h_^UYB4H ztlq7qsz7Jg9As!T=kxjao;r`@Mtuo)IXEByN0gGND2nP~_b33vZ?sQ0y)HF2*DP#R%iszz+i zPaH-I!q)>aADE}zHMFoLwG}E~=cjOB=v3+SF%byTjwT;Z-J29$T|bb`pnXChExP9L zSEf2(iFWWtgb|Y7L#a2mw6`UPPaEK1J9;5N(CZq1O~tDd85g&uk_pFXDxYy|>1_UD zn@ovq08W=*{_%rgU&8ff!*%#tQV@Tf0ST*vrrE?M4jjDk@~;|?OPJ{1^y;S9E?<;) zUhK+r4lh?DGhgi$#JavSGhvqw@GT^jxDkyy`|58NCz+#cO-mKFAv<-x0Z2}D4ttJ7 zNCdxw4+?d)d=UN78DkUa(s(NEK|~}NO9)b z{wwY|qRw?NGmNZrn%n5@%*Q2eba(vKwQXy&$RbfZH1>$DnQg6xpq#&q6$nKkmN&FE z0P5r6$EXJtBqq}sJl1%7`f6U=v`I~xdEjZ$7tpqrPC)V#k-}${c0CS4nl0?!bo^%~ zpc{Sz=ZZguSD+n^!x2g3R+Sq^3TYyfG5xXdpXgx|Qe1Mnr)o4L$@m(f!xC~swb%gU zi}qZ>|X03agC83mj_-S=}8f29*aArnHrRl4R)pB2fuEJ z(K7Mess19=_KSwMX~G{n{j^xgQu9NX988C#L%X3|;sSP?K7!5`|H%|=#n~sd-q^6e zt+r!dv5VhrPkq>PBeFg={;6qdp}sZiPvkZ#b0fOh&dNOdn^%RwKG;3dh~xu&Au~nM zSX1LHh@C`VRNFV_hUV1RrX%ezd}l(5NMq|a#5uUV!$m!s`7yAI^RW^oz*o7xxh@-6x2p~h%h`Fy^^mR(00IvYqTaQ zH+Uo)esUV^1%C5-tqF3%Yw9R_uI`tNCOK`?)TV@l3(bhzaavwBpo7GNQ0?UG!+=wf z(w+fKx7T?>kle%2-c4fSOJc!?wKtGf$YvXt`<}bgb>tkU=pumfQ3rb9`F!9HqPbaM z{(%c(K?{N-{mj|k_&GMq4L92s`xc$_$@;Q2h2-<%J6vl2r<3_p%N(k@^&i#)9M5y$ zo%Cv3QB(CY!S)YE(Uv$OgV-6@>JJ$_x;~-5cXy-&r+ZA{y4Y?ic6)6892W=qQE-68 z@5;VdQ3_G-7Zdy#6WFbwyLcCI8uD;t8Cb4M6ffcivl&?yz`S?H=k$Z6wX(#OqxpRF zm@k2WTi@W#-*o97!7K)abqHGP4CM}Cjvf4hm(~=z<^}x*?}>yIWs_xq!nLisHB^jF znb2f_TZ`|Z>j7zDakGcSE^bTAk3rzjICN5mvHD4>nvhiMp|ey`zk<%7YC&RERcAVq zffD*l?r`+(2NlhH9fd>cyjI6+BTGtar;ZV+=bDHek`9#ZhW4ib{-lk|D0a?MkeKJS zt)^>s?h|l6tg+rY0vQf^`uZ(XoBsTjR;PIKnPw1^s8?J)C`w+&e|G zp>u-q&=+*|^rwlXH1gzWuaG(kxdq9nF6dg&LpYd7>y1?|P8X*0L-VgJN!+!|wv3_(o=!)*=t@LjCkYswY)PM7AWrK@uHb!nd9 zKKqdONV3Z=Kky>Bg3ygJwqe@;mzsVvImgGq`oT?F=lJRGzw1>q1{(l!g5nuQ7kGGz z5BeGm`)Z|nFD=(ADpPIpwY8Ws8%!pn>r4InMz7fUZIb5+@KyXotG|W*X48CMNYd&H z7bo_oe9A6N9_T*ovduCWgFg&l=B3we`BHY3L}FYdt_Gu~1%aC#umy~0a?SDzZUt#f zMne4@sX*F%gqghUD+O%(|9xr(rWA`4VhVpqDqrl4<=<$2Vwct)_D5jDq)e zpIOv2&e%R5x$;C3c%y#gO83UTufS#$I*!8$_(%9D^tX3H2eiRWa5UB=s~(E6B9~=6 zz!5kKFThq+GgnLYuiio4lrY-3=Q*+9*$1*HHnD0j0_l~;x)?=sVdrC5+P{()+AcVp zHae4gRU1A$<81Ss3K$qunlph?&Cu6MU(+68f*+)$jq1M`*^pe@(?7n42%}o+vCuvb zezQ2`SzvmK3Pbo`m=3@ofPfHc-67*3kM z=i(}8OD4bqQ-$H{UTY*xO+`T1Pxerd*>82W(+dU27xsfCqd!D`9-V`gJU5&QbkZ|s zgkL|fO~1COExMBLu=9n;u$)up7v4k>g5irGrc{_aeEY|3!QopA!b+~o>JiPVhN{qo z4LUvK#nZgXGy6Ef*kduB3=mV?EPdWSppPQODE@EP9ojfK8=Kx&gBsiXqV^nOpSP@| zX^((gEd68^*oMRq@|Z`>AK_s4FdK~}*hs6n#XEIT)b$6^YL2(-aAY=RdQ6j9f)vxp zvkAIV&Rqfyhne|6BisLuDQzumpn@$uj6cBZtcN&xpNj=95Uq{+o37jg@m@aNI=}wz zP;xEtTE!RBgZ{RWYP4Dotq3O+m9r*f=}4v|%ua)U#Y} z^{gkKB zBHmydPH+t_B+4WFhpbJl>&a-ap`p2z#&L8o7f~^|a(lU4ZULh#-c|wYK;o_tdamhD zMSU`o{uMr{%Fnrix^S{WCn_#eQCNR9M#yC{ z5y<_0^Tdv~GZ;p{^rU^#Q%U@3%hVehc@}K_ck6GjM&);)dR|wv3%AeD)lY&U z6qzw|O+G5%2IdWlCVneLNu!(~9EC+y$==rRBu)#llVvwiQy}O9gUzC@+8kLz);TNS z0E-?id|qpB7fs{iGN(imW2?7ul&t}@B+w@`=ZYv}ju_mVKV?HeSkj;&0Ar6b;g_v+ z-;Af9c1K-j1AQSV+0YB;+@4PE@EFSxdtin@{}WN5td8nDF+x#|vGh)2uZA|lO;1+f zBb}H-jygnx{KdwoYV4Y@V+ib84Dx9E1?>a&m2mr;w^UVhK(^m6?w{C<*D^iqgU3(# zQ(WydSK1C2hyk93Q?TGK;2PX&%I0%%G|6C_PnktGOQ>A9jW5KovJ9MuJyD-_0iK>j zi4`akb<29Xl;z1_qgSAWNBD4-9}!v(dia~V*DTs5TLW1p)Zlf?Bf8CZnG7K{w+ts) zM6kTxm(FmEFi1wH{66C1TSP}F@I5g4YFpfGTV zY=@x|v%Y;;THwxO?14QlgwH|QPVsXJ*I&Zf%?+P|rU%SxAwfobL?(0}VO|OPITZwH zTJ2zpy}Hn;T%w6^CDC&GMIxegs~KU#O+XKCHU$;@f3nB441nom5h6Wd-KK4~Wk?7M z%y?wO-jZyGuwlu|LOzKS1$ZDTgP_1WQ<69FdqkGPwQC-)6eouI*X@ufA(Z!=h4b!; z3#G2dzSrme*eKPNevA^thq|SnFxnWCEB-qCP+j|kBI9%4eg^D%6Y~f*$l5s1dBz7q zD24F=NQ$Kjg`xfo_DHB6wU-2TW$m5eCNxmWrbw5SFqqEkCGpfTp%LE|)KvN-nA#Qg z3{khTu?IQ{Ma^35q=2QxAx~pE4E#FaCFx=@>mW^_?S!wtlLeM$4+tcgN>N73SUkET zdKHaR84Q9M8<%_G$(S%_Xdnj_S9YMTCr@V|5tL`6Fe`~os0$Ef2di1rNZMNz0HUzq z*#sX3$AWs-9b0sUmUPV1TSt&|b%R3A`uv$rM*JY4e67$_PW%;tK)s!C8e{N%6v2jb zXrGzGAyyD*JNCoEH}QSsn5`4)@5UP3QxZBKBw@sz>|g^+%3ke|zcR?vP3dp14mH0Y z8h9mN9vw)U&2{N4nZoee?7mmfz_+JdOW*_?VXfDv$(6HSbO;=1(|6 z540dIbKI#oVFg?tCJtbnf`$B@a!vy0OAvh4)Ecj_otI)b$!iFv zM!3FAwn`az+JO6e&kG~DRTTe#SbY5ZFZX5T`<4y8H7_aiw}~)%ME;&F<-AEdG0tfE zF7J2xwbSUBsA#jbe_SX!peJF-+`hjf`-QDQdZUiR!$4aU|DMbXM$*w8YLVSUC;+3Vt2a)7$+Rzog6aS=Z*6;`QsY(nAxsv2)i==;N!c zH|>oyrne&@fPZU?$gz^{r#*8oU9XitZM}%&bA5X&HQJl8T0ntaZ|d~aL@;V9;^w$7 z1Curb4O6v*;ZN2@`_P%iuuJ09*xp6J5i#qjWiNE>q?bSDw}~NWMD+Cqb~vwd)1kPE zDa2*RDk9tu#0cw+3PN7egTuMW^Q20JejWTS4KhsRLGX_{gZkN@k1Pu znt%c3kQUC-cp3Tc{BS08<)b@j`;e}jsUeICW65Mfvo*$|y3b!XzVJKY^&1Hvo*3~=N^!?CNn@>S(^|rs65$l}Nd3A%W28^yXze8Z#R~Vw_m`~w|g~QRQ zncueG&OLrqT?@VXb^h7d$g}nL!kha3{zFO>n!x_*+8X!AKQCsV&CIQ=$!ib=t_>*G zLOKHfA%L-Wuy=KEP-+rq1^C{u`B0B)3$;e5kdbWv?n1>U6v#VdTfd;vmQ}*SOZWie z)swsHp$W*)UP zk}2SgpKz@MgfFvcM1Aa};DydUQ9IdUSG=2m@e1U;S(3!I8}wM0q%NaOB8X#^jC} z-Tt-j`Q1o&OM3?+0dZ}s#}^M3(Q;h!=6Qx41Q_i2bZ9KsYTF!Cx*NN@)8jLCnw^~N zxao1$H0k&E`EAa4&CNeX%UZWe6cDR{+&JgrsM-38j85b_jBk{fgr=vq^A)_qdPjsj3G!+s8UT90_lTP(GNP z&HY%ARW+JS; zz0~~hT&YVWH8t>n{zc2Gah7!$#aJr1#+oM}hsJQ-61a@ZtMsJWb`*?6)v7$Ag>!IT zu6u94c=Khoy%vf#%c20O+0d?Vfk`fLp4)m8!d3=O*Bg-?nd~T9uQ_<1IJ_U9v>+Hs zUcj=}5wKAsd)Jad7U9;5;oZcXZmKACq3e5S`W0&l?U4Va#BrtDc|ztWk~Q4t#P zLilt7VB9gioGKCzmkfehYmGM8qe0Pvg`8t-Poo2kjj{219Q9tXFIM}VTP7kobU%@k zT3T7Oj7d0)e9;CP5I=CYi;X7i>#UoRi<&>;zwrC#^oM4w5RBvP&EjyG}94=W@|1cGywkA;odn-KRzHO?U_|3`rO@UPoj>TH)5U zBQm^br`Euw2GRV-mxi0eL|lbtC3J(Ct)==Jwhs3XV$0LfTmm8F6Ds6jT4Vke9KJFw zDU;Y9ILwznB9XF*`HePI#@y$OytZfGqc65b7#g@P>C=1<2BE+l&tA;Udb0!f9jg4q zOo#)5cI+Z-<2a|3hCkP7GO6KfoPg(GEipB6vYMUjW&+wb2JgX7;Qzq0daQ^tXi3SK z_n?=4Fky70LQ)P=Sfe3u?-Xm)zV;6HoIbF{Pz!JrUedKr^J|`(+(`DCTX(SKKP1m0 z=jFVgW^VM}oZHs6Ft@+tJK};!qedx=W& z!j#fWVpAZ5rJBS>K;Pl~N|{{WZ@HnycH2{uE%&iYaDKyE*}<4y*#Fqo&7p$-|518$ zQWv+#1IDe1M4!z)T)M6Hy7D0v$?v?-Q=XSJv2@8)ID+c47nIcA8{vB(N3edZw0s&} z1r?&6QU9Y1#b2=1J65YjWyJ=#beo_Psz_nn2=aCG1Ym{obZrGeY*u}p7*U=`mmFAPY6`GUf`lWnrPgNb_VhgG11GQMcaeTlgc(Y0HI41rnBz=@?j8wm*twryH| z@D+zCqnzIb-gNCRR62t(+duvNlG{%8o1u4$x7}mWhd_u)i5|GFy$u@$VbjN=Fc^hB zQy1~Xc^7$5)1^u>qO6^gH>X}jdb2+voQ&EA0@8QqCYs_We4PV}ummy;b01;WEL~ju zzY|WftgL)y322wZ6Y3)^>~;yrKjD4y3Q6w1&s2%_IG5H^>j!fO_HD5~v$cD3_F1MD z_@gxuI8|5U;(kd`dbd`}y5zE*59cn_jahko$PsWiRFBVuWCfUdQ6N!?L#nJLBkM+K z2mi}Gxb1vxIm8P znzoeSgf7&k$7V|6luu{kh6oz*C8-cY^C&#`&4Mf9anvg7FA+`~ioDVB5*-$pFgE97 z&DFgfldJ6y{Pz#3S*K%AFhNa0m9AK*-6?rf{ld;JwLtd%{T3rsSbW`qKFt4qOSWEV zP3t1g8VGfO)t_BM=JYDi<|sh$Pd@6d-lTfqQ zQ7Db%h*=!+K}hZc{P17-D>OyN{X_1#rDoI>379~gh&X6AHUKw2RxT} zB~eN`B_g2T_!0OYxqdxY=@36`xKT*GrU;83yQkPt^~y(AXp#Jd6)_ z$uMq@uioDK*l0TLH4-@wy{&%0{aPjOm8__QiXp|4WFakvE6O{`V>=~kl$gEszT%@{ za|krB0g+Mzk%ljRw&3k37Cz$|He$YY2?Mz-`gYHzBiy^+!{IuGFnp5|%a>DOQrPyuFb z9mM9)>sz%8d!QrDmc*WZz9@@H1}wmP7v3N{11cFNxIfu1sReKBltOl}B{utkt=tax z>kG$b{x(L+6+4z8xO9#ez0N6?ZRsgKndmS$H1rt>!dmYB`FSTfUhalx0iA^OA#voE ztD~u5ix?r>JJ=3Hf3rlZH7pKr#V7JB%4aCv>oZ7{MDuD#LvWW;Vxdq>Q=R!Dg9v!p zSo|35*w^I9D-cPy0?uvi6s4#W?eQ#WGC5ong+|jm6;j@4_9hZ}jAB25=6qoq&5gttU2wR)CdXSR4d&cAiac4 zb`A4oi!QJuc|4U;78K~3KKLiqLlY9{tqeGpp@*jc4iBfmTD-xPB()VyiQZpE(>d)O zznjiT`StgoS35aQGfPS>a~jK{v_o@lK*!L9qJi1rG{g7^73Q~0V$Oq=mSg376THJ9 z;QLcoMK^1|9C^-Su(&oltrR$2r74>)d zqq$y+Vw{&%5_Gu1qo$?`PU;f9F|2Hcb@ZW^LU%M`r{wwyjg_^2QIKe7HuystL7PAi z*-EcF?6A(0cUzP8mJt##+BTeoU-M0-{v~UC8kxrw-AghwSgA%^mNE2#GcG5>)3`u6 z!&JuIP*#o5ON9EB-b9^&*&q;e{<~r>eVfXU*g7&YeCVV3m#JIucW@L2H2jlQybgE~ ztk!>JFRww53Kgpb!22IgGp?N0Yl_nXG45_8Fxk!3@6e3f!p|G<)?)HeB}OBI>4SXg z>k5(rqOGa4V_D}x5A?=3_aiF8*$V*Ct#~tT+7UdiMC%_o>C$%;1AFu1`*LzFF$e;? zzNQ@j=Pfn>SD2?-cv_#Yjd?mrFdMr-dAcKR8Xh@2GxsIgkUNu!o0RPKSc5(76}sZ> z=*~gZC4HXr5d1#=3|{Psyezu*Z3^XNfyyejltI#a))O*XWe=&Si=&ng+8}L|>f8W< zjE6FkwL5GOEh5T!**^ut)=WO|CB&}n64nTU8^NYKh^)X2gUbkJP-fbzZS2;z^l_IO zN-&x~AiEe|_sNA(vlc$k$sFNF-Pv~^U=qS09zdo9Pm9v&$Szb4M7!&+R^rK+3dw=_uAd+ zn2GEUWLS(^#PbX(tZ?QaFxV0tWz)H=FX5J1$gpD=GJD%1;+~jLY|nzI6bxcTVd354 zQWr1>Ul!u!S9wyCU1`#2MSFLWii<`NDU9)Am zwk=v4T9Wig%+IG4(LR%-eq!3;qD62h=IJsf6Bo)QirJwV&LW6M{!-**1jkB+jnSg<8h4?KA3FT-_Xm zu&o)I!Pa>U?!)~X_rs(SsODho$8!cVz-ezgvklV$c$d1c8+N->`i^*R($a`;WoD%bqBv~h zC~N_6C?f;CFqh!&5A%WBG)-lQBO)V&twurZWk;O^4^4xY5L;(dqarVEyvhrph1?D= z3FC0ZY!q#!$&i_$uR9=z3_O(ZsQ6VTgrThumaee^N{G^=l4` zc2N+?aq#3OMXp^qWM}-3M5885@%9Z2_uNiXILf)+08M{&l?BzJcd=f07j^cpI0aN` zRkJT`sq<<)GSZ+TZqcr+s!ExM3noD%1W#ER9ZGa0T(_z|5{;_gkp$M}lA%6}l?Frb z^hI;Q3r4GHB7!f&J#+!y=^B+^g?Ci|AGyjZjzfRGbQ2wvH-xbalKfE`R7+$d*4Uw&0?o1WD zx^zDTZx{J|mB|gHFcwvs;l1{d{SA0A!iRwAv!`NP( z0?+i;LwXZ~c_)}-0E78)p;75fFoIKBevo+-ZCZRzwJZLLjaYwWRu~R*$w{3YQsIz@`A#KiDRMOHq zc%mq8FfMt#koK{*uYcfhA|;4K-&Xl?cXXtRz;xlHG|oh^fl0ZAGLyizYoa<38D3yJ^Sj|<9Fi>W?@ z)^P>w?X7>_YhR8zJ{q%)vVU)jX++V?2k-r>FoD$ckb zS@W<{Ut2NRxDvpM8V(0xHD5eWhvAQ0Wd6IT@|U5^sklB7*&(c@9e&?JH93dnHhk<* zJ1UK0Jlx)O6h5)$xDo?xTSl$_0m3kVR$c_xt94QK6M zJn2@e`;Nv+Cam=kgZRMszO>a|c!Qmqd6%*s)|U}!Y7UIh7T_Hm@RWa8xTLB(-4x_R z&b~M2;{;XOJM|PdD-^xXtd&P-YITJd;sF_lr4}Qm#(9$9-Yk*qo~c9|vkc(CpFD#L z=7*=_oLoge6P+S9S?+lJzmx-$kLHP`BZcuuFC~drO0bu>s!2k``uNOsz)yl)L&jP{ zN31r}$*(=ik}=VG#>OS#&09qsnY9Hu5=_E_j`#g*t@S;Ccd|ES`?YMmOy%R!kl7`E zhz|V_mB>sbv-q>ulpI~sI%N=b3p0QeeauN;$5XoUg-G2A!Y7aM^*pAe=mY9O zpz5LHU27(Y2sT4A%o*Q-plytyQ_Ov2;vL=INTzobwI`JBl2vAqO+zGdS}>;9bb8Qg zdbQ6NJA=Xj-@!8onCi~aADi6#O8hfPWq@*qA?jJS5LQID2-tDu771lOGg%IAF`?3L zCz&OS*|1?kwm6_TvL%O0a*LA<=WuQr4_jO?%3Ja{Lbl{XS+b=7QNCPdB!tBNwcu9YdFlm2{gp+xh`|woC;4g#xTb+YaZ6?eLkTP_iE+oi;Pbt>{`#W@m{; zPy)k1WP%Ya2rD=ftda<<5h4iapLYa-TR#VL_ii>>ZbeWSN#Rm^TQ;QWCgEGFEEaVM3?5FI4+g1*{T6bM>^JO31g@FnDRAIPS} zu||?D!_(Y!w@dr|HKdO< z%yH9yJ#5WwvEU!~Y~Ot|<~$m0v7n{Mx#*TE@aR9Z7jB)$(`a@&Wybq{74-aWdL5FU zTGrLkMw5nfG>;<-$Y3~yq*C9sFaRMaLV%6|*{mp|CeAP$MxUljz$CLz_(MdNGy2pC zB8JAKSSJy<`6T0y;XRx=hZq(+q6wCQqWX~s<{E8hWvfC#AbN9vhPSzdU1;MP@JsmJ zm&w|i-#4T(m3ZA;l@g+QRT>X2*UsZGIGWVtm4}z7cJuFSZB;m#1AnvbegHEIVyy0B zwc<WNXbG)i;+@Gtu5=?qd31PSy689{i9J97Aj~B!%6#{Je zi_3Et?f$H!mICmjW@DPhx|$N#sM+%6YdxhuYSPEvJRd|R=+i9cMg z+T{UHLQm0COvh@08`4U~K*d z3vu9EJ&VsSMQ}|cTzeJVRR*aGYg?7}(ANTR=nwbH;pVp3V>X+M-`i^K>uw-of9@J! zD@#ASP}XYf`M*1*6f4YZT<*Be=!>7X0SA!=teZ$h<2g+hF6hFv7Ud6FlgFtl%Q~)qT724S+o{|C zICt(0{XTxaTm1rXinh?0g)t?ufZ9|>xqtgO1XB8caVHf|FofV6VEVq`OgY6I(Gi3u zCaG2E1X9(a3uscS(vAsNi;hj+czHVn(bdR{Q#CLED4+?bfhJwVX$Z!n4_Ag`#)WW*Q;8?DtXEfvMAGdZBJm#S64Hln} zhfsne!H|)mnbRsIp@>tD{n15*_0sczbzUW;@?GO>XlZgnrys*6`3>C1038?N|7Ay! z6rrpEdj0$J{dWhGUHNKcaBv9ZDMs$Re>Xqc^KIhm?M@)@WW9)iz3dP}P1twx9+|{N zBe0%CAg~f-S+TRM>6_+BOy6xu70BVH%~d2D&m}FIwasE07t)Qp>DKI4r6qnn2!L(D z1n~x7GlABDEklhMh=2k?zz0B~UV77ObAg17XknVHH~&PGV5c8~D~V&Xm0~9HL4H%hsR%f z@}iaHZ+73{PK}suZw3Ap${sTRPn&JNks_XlFa|2cHx6^_rbvTckJR7&14e(xwe-$O7AU& zkjC(Vg>}jtOj+p^f1AeC4fHRo$mO@TTs2$pqotN#49Of-R%??Qj>AUpcnk1-7BJAy z`Yi#QePkl6Sc;fDKS%_8t~Tz*Rus`lv{3-LcC05f3b|A|Nt#5qD|U~x>yn;A@6)P; z!S@r#fM5t5+cuO*9Lu1n$~5B=ZSxG%oblAM<~}%otNv58+A8;1B56GL3E#6k=eY~~ z&G{pc-8|JQr~EqEF6mN{XfxR(#stRb2(b)G`X6<&TIJe}MCdeAn8rnF=;~Uh+7fNI zI**i^9JVd9_HXNxAEDXU_NpMi`Ct_&*0xI>aYutX;-7mi^&bzTfI@8I4i`0shQ*c@^*iOusXkesEo04K-`9 z>{T*ky1Tk&Oc|LfDHu-~lKE0$^llt<@71 z^NyxSTjvS#1Ya0cS4L_G@>FGUi>~>!n>vqq|4cY$G58Az(5Sl;ZBtSrlUoSH)=5h4oBvq4sHM#?LJuIfE513YEj zNoCcjxg`cu4%fmPGIWHR%tR0;h*SNxSS#zIDwei+v!4v8b|%w>M;NjZa{qmFEBE@C zkjzK#5-Wn3!ePT=LSTxQX&EAU?S8Yu^L~HAr2?H>@mKyd| zmwV&PbwUs@x7oRMc`Jp(vs#Q{_}`MbO^5 zZ2^Lg!74UUrc|cbrC6+NaB~()g1;ha4qBVUBgEn@$rUR}fq!lvgoBR&-^xt=7l<+a z%XLMC_4Cr!!*y!wC2w4XP+K@wRY;K91t{?$P$W@9QLr3LY!8cs^!XztMz*|q5cX>W z8x+Pf<4JCB$cjtI;HuoSpl;j;fnD@#kP(+_#AYA;@Kna*Xn{8sw?zwv1E549oxg-k z|1DC1NHc%%b(1zgOW~rrpAw_@aW+FkO98P4&_Znr(SzZTl}u|Ef^gTJkbn5$N-^tV z-vtnLe8Yci%@T6PQ(Z7*2NuJ;5v-z0RaOwoVAd6a3r*rd; zSyNOiUwmKmMZLYe%W?m9<5x2%=oJ2WKkHpDOTOQXWxiUT<}TOX`c872*=prJzNY*W z5#@F_dHT4nRFsTT?$H@t$(OWgG&NF}jLhHOV>?*lk4g7X z%9X%UNNMr!BW%~DIZ!pe+F^`K%loP8QYKWkG2Q9!+-a28PjwCt+AX%brCnXuA6t|y zc>354OGWo?BfaUuuH6ftxC{dZsU)=axF=@^hT>k<$^hQs^#!af%MP^VU@#54Fo#^U zn(LKI`SzDr(=g?R!W1!9dALTu(~VMxb&QZtPezT4NrezBJ(@ILJ|dH!G|E->29M}4 z`4Zjt`;LNe$A0|8qsi?)m@3{Y-Rf!Ku4*Uoj9mZA$$F*2SkE4+G)CJYyXU&Ax33ZM zeLS7lI4SnR9Wb-|&>7=ZXP#Zv>iDMxkH>n@WXw< zDq(B4=P!sk!SYRAj{4~`g(=!N%3mldn)3`B=+WMePSq%b@C#J{$RcloM!5Rq9Wdpl z&YG5UsJ@7+IyPqnvl9{e$dZF9WaUM0mXbRj3tO*TPi#Eh(Yt3Ce=k~DqKWLM_j=z# zt@sZo^M?$d;*8B$@bXL33C+gX+|y1g)_4M8%Dbfw>F71!?5;}s>Ye(O=2Nje;38=! zz+-7`aM!6o>dhng9Ci=0>E&5rn=HMMzIyhhCiF9vCc@KZZQ&m?HM(eM`uX}6p@9{FaK1+kE`ihT1Ugb3DH1op^=%!MPmn7Vd9e$UO{pKBc=77C$i{H*cuQjf-@}tFy7TIG z2i7K{k@qF=BFn8RNvG`^Cobb-#dN=OaG>`oFPid(;d31S^NhMGrI8XbA} zFSeLPv@*i4>f*Lo1GVL{Jf-rTM(&#r=GHXff^i9>UzIdR+&6lxwCee>srbj+jinAj zjtg$0MSP@|D1C~KWl$h_ow#p;}w#vjF0At`k)zswLn~J+n}yd2~qlAe%wu1- zO>uvh{gP_dO<<{1-Pi#4_o1nXoAcg|-p6mZ#HTWJYv z3U=>;@ZG0MQ}CXKv$`X;8QR^Ai6ck|f*_Df7}H+BN7(P!JGp+p9|GrD0Dd;+wOc0b zenoA9@g;{5ZUG&2X4%$UOO*NXe%9p(as=&*O?J(+%Vh0K9rC$oY{~-PR zfm2d_-#!k-TbHb#p39PoRbHhQCpP@S9oJ8Q1u{H?E`F6zO^5d8IQ$<}L;A7={?yR3juYnRLyvRn%(CbnUu@)+@%#6-i^` zlzY-NqZMj2E8dsn>xRRJfn@nxRD)7EuU^8t}&SMBs+wM}Xy97~noWk=LSg8FT zi3GPy=c)`6^Uwr({Fo8*MB{wro==>lI{6Hqyz^wE4fSNWPEt)u8CkKNB%qhn^@%pj zvE8#aLv&RQJhB9xG)6WYM;DK=Jn;Q61>fW2c0bjqC%lXHN*&=N=cEywj|)^N+|-y!plamG%eDivI|2rBWJ5;K7mzUe%2%;sDqs8nd8A~EH~B5+^GY0;QONYE%F1`S9fLqqv# zYLx8mWVyHu+N=j&{7B~KSn^QpvX*p=Xo($mXkErN6kjE9#bJE&2}%K)j_ydz^oUq^ za0miW@XRpkv{c7Hk0VL%@ml{Tge}@8n5J??(qtO8&8pr1SnI}O9swzFMh!`+Zdg&~ zPT8L}t##tL>PO&l6(NQ5^m0s9dF*rEa`htSMJtxeV5qWgMG<9LCP%V+bd1cpJdL18 z&^lpFdQ&G$pD`7TE3W!LmS?B^eKeo=kyNncQpS@H)8=5xx2|wzL*E?uZNi>LJ(KuH zS*?#Ch;Xiyp11*4OK^gky2n3ZjN=zxZ8#wcnUiynNJ%l*tfT(Yt&W2>E4w=^tcgF& zs)NRf(EJDNdXsu@vWXsuF~gKX8{q&9BUw9@b2=M~mg;4N22LM&xh30(3%2Sx@xZi# zJ8TW4`!Brc_cTGAofK6(8Ybw5kvgLg$Hav#kRmE{tdh&eZF``s>n@@N0Wp8Ng)HM6J}#XV-7UUeOe}@@^pfq19V{`d{M?oeGWJ@ zyda=bd(PL4#-zM(MgBdPZJZWN)}kI>?&;kK+VA^iimm+XVSqqr!MHunf@l_(OdWwW z(GY0nl-6Vm#`;N6?n$s1%XE`ZVt!A=V_vdWT;YiADj3Q%)p|Ry{d+-DR_tV}4sHJ% z6Yzm6OVk{HewQ?YD27(tB!+8`Skm3I89B4#(%XcO8j#$)C#&~YG=a{-VcN51 z6G487jEpyL5k2`uBRHS-yvco6=2|J&&e*xKtjpHIL|P0&;_=lq>L$WNF%D$G{dfT! zGr6e6Zim34S%Ug)`q8?Dsae>Bcp16et;9cUNcw(d?!8Hm(A2~Pb!xM_x=o}*B0~5w z^24^*pd&8Rb}NAI^=0Bt=vRLk`EwUS&;kBLuPkg(yZ4pHQB@e8RU2lkVk+sL^A%)$ z1Vm)##BDqAfO4}PPZ7eEe_I^-^7`5zWu#|#_N?bU9f+AGXgNPKzl)D#&O`H$i?=%i zocx+yh|8L^VB{w>Tt-m}FG;i2EyKx)&IV3#mX10~g`iOG=wlWIztdsL)9_?a{Jr(TcN49T6d+O3* zpM-1L8BDwq_F{jlZE*5>QAW^JGt=FLgTkEeNgWM-|CA+$`F%kI%iG3DxQb~ zK0BB8KPPZ;r4e8dTY~<($sx59{n>fn{L6+wHqm54G1B5RrQ1~XLWA~du-fXqgUn)W z>vsLa`fMk5OY{)7L@FvNAGWeK+>4`$a09$8dq^g-EC#I_woT(qw_N+Mv5ZQwIO5ze zsVz#g2x2^H(>B^pgDC%%F?=}*kIQC0l$z{=c;Wj7%mVYRotc%DMD|At1qf)@=XPA6 z+RKHOj%LgO{Wm`7Bj7E!5w99v7f z5_fDm|BqiPo4UVv3i>qDi~Y z1T#k)NrS9blkO^lr#N5v9{R+sb39d1jlEwxv;g zJnPy3kXOC6RnhyiL722! zc6C9MwY6kdTnwprX=#$^xE6fSvu|Lb))#RoLawmEx4k085)DzHOp-eDv zP9T<|ckuN==UQ?QQtmipma6n$V*NGvVYg;1`2 z#8a;x+lpyD?GLjU9WOfVT}Xx*m5#;7OZPc^TM-A zb;c}g-Sb^9t~F8g@j$l(V@U+1PE(09GfPZ)UTe1b57;?~85*&=L&@q!Gqu?(y*Kq+ zG8C|as(?b1y|ZTvd(RL&PFQKUQXsd9bm(0o z+qfSv#Ut>kfKpplZ*<#7;KS3yqzR&2Y`V4rBpwpbGLvet8?@q}@XsZQg4&f*v*R`k zV$s3e7LZgau5Y}q8=PGrIAwv*OZqef_t15ONK8c0E(#@^t<|@b4s&z}NyuhU;tmgD z(-C!1imQj$3Gu_)X`#EO>ATy>Y_fP2o2b5)ifP&^`fONOE@%s;hb6MR=*JRr z8Bo7g(&t{*E%9GMwLgevrkDQIT3P_79G&gi##;BumtOJP7gunl(X1VYc&f$kOn=k& z^*OhMsEDE!XIasd_T?oj5Qf2)8KW=Q{Qc=r>={@;bNb+e~f0>{_AC z3L(QNmjbZzp}x%YGP%F-UypHj!3e8i= zN4Ft@p+(PkjZ4W_3KC@TMOsHaTggS*|FXC4_FXlVTY29Q=4OW^;wm3Qr{+v)D5zEV zAvo!*ex}Z%kkZ=yOgrh$e-M)*NvWmyhj=+?L5oca?IQd_V>U#3PE|zM9*cg@fdQYJ zq?O@$_TC>UTtkLjs8dH~H9TkYBF}v#J|(KVg>p~5l<3vd3no8#a_$kmC=Q%M;yHxJ zUJ%c0sgv8IIkKt!t2Z7s!5q^%Cr#4PYSnHgG0Y*g)^0FYIQ-0}ozBlAFZbbB##v}$ zU<9&WBJu_wIC8jJQ6{Z8&Qn!vb$aPt-kSRQPYWgrBbzUcB!OQ*@4yc;VGL33z%pDu zMb#ALA>3~A%DY2`M$Ss{ifwOK%)|ru_SLPkYVdt-9Ttw~ut`!_PVi_X$9%?avp}G! zIjR&A*v5%G7VyAMPA5E^Bj{TV9)i5W)J&-;bHEKb^~T%orI5*fm$vOlIa={N-PCqx zq+9-Bm|J$ZBXocNymw!8VUIPU_xK@u)b z3l1B_#1B}iR)t0s04LrX@$A!*amBcyJ9uZ@B<+;%orGI?F;yGSTxGBY%E$nq1_nuq zi$_P=*waDXGtdGhgiPRr=;7UQvF)ZiAqqgYgaK`}NhJ`TL<(2pcR=4h)mBgiGX3-0 z(;xE)%6KFSE?_MBV!!P*Se+g23wyeGI;6`gm0h%V^;^uK?H7lagp}8boS?G`3IPPo~7^oyBru01d`ht z^y9*+4_&qq^rJI1fPJ|f^rXqW1-ssXx+3nu?0F^ma6(f}ItqI5PvnQ1gcSOwD&db_ zCq@#0exVe4V=WPgDKPpc0C~;;@{ZHd5AjnkG}RvXg^{=ix`!C_N!;><#@i2elA%ci zbkM#oij4Eqk{yuHAA$e}G^3Lmkay}f|K*zg`0hF#ND*UBxWRSHMF&V{^VYLjKB&R|xZ)HGT`(yMdqQLQGU zX59|BVy}Is-}QlI5?ptL}C!X(8#!@=eN0POT;?(ka!P(R;E|?|1KSSDmM^ zFz%^S22PlgJ>6^2JPVH_kXtMzRH89p?{C!_`|ReV>J_q7U9m~s`t11Ckn-WS(Kb>w)SRgKr@PO<=t~>(I|^@-$Qpenh;>L%B;|W zW4qxlWItbLjjyDEVBwFvZ#K~1A5DrdmK2N>3#ua zyfI$QDZ)90Nfr+Yi;F~hOWZ{R?%v@AsH(0j^W4u+tkL+AWNM|f zM2&j@M)CCX$ehzdl^@zW(EFFE#M=h|w>&f71pF%5bOY07JEJ~8(~!_qfj9RrkgF{C zzxQ~&iK`4=AVm3g#ua@8h389U;Y`ZNq%)L@o!bOE-3EXLL+c=L6u~Fg;ddO3SOMvckM3Flg0|} zpA?y1)Y&86{|=u~Ir$TPFYe0ki-r(!xJ_}*-p_?kxD(iQhK~>oIvK1Ma?4F4Ivas< zZJKs*8YwfR{9BuU#&sX3+XH`3Eiklfqe@};>iNJJjU%Or_XZ&h@#e7|RVeo$ z9)sFA`4k}X747f%;qD+{zC=w#^oPJQEbY%O^oJ6Q&LIPL#rN!Q-#~RYATD9XN+0|{ zer^ZzR)RT)ySG)-n%GI?CwT@Z+6Y1-^}1vka!)+vp&2N}jACL;*LOYXkuc5SqBGrM z)CW4M$>&Z<%}HIX*)4mIM~i$?@e+>X^JRS=y&(vjEpe?bfT$Ct5-~_3__y_h7Oj)@;d<| zSg6TVB(&BD2KjDzyzTbA%Q^N>EVt1Lso|GRInA26Vmddx|9EeSNlGJ|hofFwu~YN! zCrbx`AFB>lPy6~BEB{n&xNPd9vd`?YW2lYWH^q_q7*H9|vng~G+s*ZIfVnoLDzbUc zbx=Z5hpMPKc^wql{E;KV&pW}=8jBb6`Fj!)(HFjVz4xo$emINY1}uT!{h4D@#x^eN z?-)(f0rhp=lvzR2qE?Yroz-p_`)x`;EaR9bD~=QG~ZalQpb<5T^tmL z560_*Mz5vYk8+VkVk6+ZkVoOGLu>N}QudM=w%ofWBEIiePqQm>RLldt7qL}EVy1BNKtRJai91L=!HaNAVGhlJKKw}}ECJwD6$ng*G7iCzDbu-MncH$^v0%=XuGW3bY{*FxI9q&k|d%lNQaaBqUH#jxN zd^(jDR$$t+TY;}b&6^Vu2GfJWu^sG$^a_=SZ5M$8kCf69z2{E-CQbU5{3CO$Cwky)4W^ojgtDH_km zvVd3)^u0Ij^iV2bn%uSE07-z-kpS=Wy3C}9YowEzI3)X!? zfn^@u{Fo*0{e@-tLP@!1qlt!@!G)b%i0C{YXg)Ko1m9r@o~0xE{kdxxCB^A9q{zOp zqQ%#U6X0D8vXBnvi>QHU^Wa7^|BeYSKw`v_?A_ioMwHyRWil;q*Q@?$ke-~jX4q5? zeZe$>Y}Pt!Lv*Y#qkTzOW;|F(g0wd*gS~Am#{8fA@E&?IO&ZcBpGXem;kMvY*m*|<{2gE`V zT~+!_l~6NvXvnDOGTJ*BTj?16C8aD!3fy;eI%$cl_w`D)4}2t~r^M_~g_vcI?u~2@{fyijV20jyz!igAD8`spy!;_FpqDD({OSb!|$q){R zWo}FEouFNqqu!_Ms^2G{{x>OkX6#*0l;DuG!aRfuNQWD|H|{NSKo(7R+mU*`1vda| zLw}6^2{^mqF3myI`Ba?$+WRIWpgIf;6vp?{9TSs4Lzt&I3oVh&Ly4R^m7}S z0|f{0;5SbY`P&mSOI^zVQMLMURYIe$^6zIo^EBKO3)Q?Mk3}%= zvdduCD_Aq0*ii@>TeAFcR8X~`3*Y9J*-(M(2&Ul`aIY!5PQqLhEtx{MnqW|r z1cJGPYpTB44lI}|2GMW8B6WG6iG>Z>m$+Kj6Ei+DUKgF&mq?)amWnG zbs1@D>jT>Ne7XL`D%K?#MqIT~)|b5k&% zp=&!i{*_X@0926tyKJ6-f>1fi}cl!Y7I@sVHD!C|1&I#~ek&b7md5b%4v^DTtbOX_ASEv%jX^#l7 zbX`6>7|9{a-(&=%+W6O)zxo0i}&w<(-;dlY(42sSh1lTFJ zsZG2urBm)-J19QKRORv6YPMOMB?oeUI>Wtf!UtquEYC;g!Yft5q9}85ZIBZH5oF{H%)Ly+|bKJ|)&p1g5NTtxjZ6#8E zh?(}&Y@;-qLpyBd-Q>!LA}QRPR#g4C##A@!U0!@i-iagiy^KdP>a#OPWE`d7jP-Qs zBsyq%l){Uiu@m%P(L*Tjb~JKzuFCYTt?)%gfE1QgjtalIbZA`Mo$<5 zZaM&;Xc0-3-Z=REc(fZ$@zpf?e?9(1uGcH23;K(MtC!xxmMqIlUp#WbYA^LEGD7DWhh6Xvy}|$cnJbxTMIg2a5!9SyC*4i z(9-H;9uFuj-|3albI$Mc69K(vh0z}q(p{lZj{3k*a}bKwz$4rsC$11zn@3QWWEUm1p||K#GbX{)Ten<`vXfK7?XCmq!FR&6KYwmAMXbMYK!Z+fzegOwBh ze%e8!Qiea#G#{)>9@l6@Y}1c!;+h!VTy2ocQ3B4 zY5gsD(oz4e zzlO8}#mt2f?bhiGC?UUCLJ|JF{WJQ)(^&XRculqEcdfmlpE8>u<5cNI#&1YPNB3{G zcYRe~aBRPY8}sobu(Y}ygvIAy$)P@YrHC!=OQ(t4F~rBQHw8Rl{4}w6&!-)D9!YFSW)YlL-K*NKk(yfIkeu4az zauVYp`VD2*AA?CAfR}d!!d%K(Ja||7?bqIL?um@-Qh_flJq_!18srw zz=rd_fc>t5_7z6-%h4&J;@0adz$?ET9e+J&j4Vtx@*BettHF{Mrv?!NqF1T6mpeDE z6S=B{X_H!Z==Tn}F0HjVsXrXEuZi{+rX>B{O}vtX#>YqZT;X%5lgC31C8*j@u(VhP?Z95?Q6uueVJw)pP5^A$%;b~aidL8G=08iO-4 zvb^&C$SC}1qv)F9pniv3;$G%iY;pgRcTZCC%nRio*dTYckeXhUQ?V|7drm7JW0uM> zzst(61$YDv@U-)}=M{l|hP1alAv!$1A>y8!)o@ewvh-M6-sYK4mLE?o?}$7^)9e>! zwT8#w*yJHoiHS*tDT}V8vWJnTvZ)D&B^Dvzt(~0%AZwBPzZZmfoC2DpNIT!7?9UI> zy$w<-4136gdYdD{@B|E08Fg(_8!K{XykXSl$vBd439QTL1G;24d@L%eSa_*=ak_h; zn3H3|TMM%^hUVncsHjO4^YGE!!W1=2YoH}qr7E+fk?}Hcdq?0sLK*1Y=M}c|(TJW& zU^(g1>;3zRFRsg_?a?p!iHy>jkV_3Q*yz37anj~~gz^WmJ(UjHK zx9z9f2fw&uwjMNBzn4|pa5}ijoA}Br{pHm=ZdUis6Z-FpY95}F-mO0mI!Gy#f73#2 zTf&!$*Tik;QXQfdLe(ZO?%0wtyK26W;GjtsNG2p1jK)*`V(4`@B>sh;1c<%I1udw* zJTrdKdBTt^5|KE-Ucn)b9S(=sIrwt-_e-O{3>3Bh^DO3!U*UtISpxnHbeEM84#lvgFjksm(GVf3Z8sD~e!slIqX4$%!_>`IMEYJo!){hNqaX z+3#eGc|?evWjn`F%-pyu^V9mF7%iF}C1`%kn_$Vxvhj9ch1XQWZruqkCW1k;ASE7p z*ZZd_`s9+8@ttbnOKCcIcYD9C3wh`(DAWL(_3BZ;JwX^D2GiMZbZg*yAbl#uDH*w{ z4{0+SVxlcrhnzU<#<{HmqpPm{yL%`em+Qi`o?>2pI&~PCiJiJ%&Axe(OdX zsEgjba8L#?b#k~XDY6x&`MT||gPM$90qm^!tWI+xqN$QO%52gR<-!Ts%`@V@0;eAHuiLSdo3YWonTD-&_omAd`ai_dbRUJ%leElvf;S>BjcX`I+ zsERwKLqbDHXP!;`jvMMgu-%c^@%#wep@yhdNO&hEThgI-yXFM+oJiIj!I4hcC zFoZ;Lg1Bb=mzMwJ&P;;<1UCjGJNMjvpK=aXbZ93F5aGm~Iztvtq#5eHV)#eBlDuro zCV6LsZi5RX?GR|s-xdF0jbeqILh?))N7yiG3e8ZbYYqnON2j^dwt^EcQo^5|3T|)M zj{530Tj!ReKl;Nj`D^KbJFK?n-t7+UNfzH)5K8W5g;d?gjn?M!B#xlA@~C%8TmNvv zZ>Llyp@J}vNu}{S;_XKmRSh^YhpHvICv2WZ;9RifWTR~f@s3w8lEc(TQn2$BiS26y z11prAWy&EJ`WBclUaDae5Gjvl>;u<2BxLvbu{8&hv+EgP-$;40) z2-fMsb1i!~R9)HAAL~iA{bm=1H}Rwu8iacN5ZY@5u1aZ|YCq5kBx5R(%G+u>0Qkek zFPxns;w^+?aDdn-mO~KR5x0yViA+E+ALBjb?UR$08W5Wux^INwZc!UFNZ8fXIRRZx zO&Lozb2L@Wfw7>?csC~oO1t(+eQEx*8fyi0Q;a$8ET5+(X>Jec;-GBc=+pj^6iFu_l|pzl+<9%42Ubhg6Str-%q40?n-he8QdER4P$X+FDeD&lbwp$pZPA_kcNr zn{VA$)RWmZ3o0=ih6__R$-g)(&FJcyO0Tf8OrX^8fJ?;*KR;yCz!}crn_Ji|e$vZ~ z7MK%n22%verm=Ufs|ZBpCSt6gse`Rgi^OPh?PCkVNdM<%xub!<1RM8B`?JLqJC4fs znT0RUh^TWc$#6`_i#*~vGz=aEkDL6L9JCH|8oD+gft^56nJM~ixjO7hJ3Kty@zju8 zwDB)-{S$aIh6-jDjT8|}%*_OM$%OwYdZCp{1co!$jaZ~!gX3%yY z6Oshsa;18l1xRuPFb4ZTEcVG%9tH?Yv106A;k$v999diHW@vt{$m{=cM~0dl!Djdt zqMKy`%M79_u%NWt7qw2bH=E7()p$5B5)b6Yk95^w(667;=M`0U1|SU6@h;5$NO7d{Zzr!r26-QTDrn@>q^Rl%_IrbhnlgJ)BY=gH%sa^5%Bv{a zsbjM?4)<(p*y+eg!EKCBo#or>*X2+!qs)-{=KJ&9(nnj&C#>Bn)!A0H;nU((3Lmy# z7?aVl8$zF+u_(pSoUsu=;8~;o;-UB83h;EhXjNg)CN@*lB`!x~HZ}_5eBpTEHUm)f z?xa;Rz(3hKc6TsSBJj(UBr#$;Qgo=%_j14_4JrxD8DbZ+v<1d zwD&9u74Y9R%>R`Ra4Xik1lAuBcW{;V{7>@ngeN$#Zz(|R*G<0U)>))3AG0g5O}vUG znJLg(^3osF0%kQYyq|67A`{)n*_eVHc3>cbT5040H&}CqQR40tL;AGL9~pT#inEwB zaoK7m3+I}F8@Hfip3^~*kPqer*ksO-Pp@DMJYk@Px{0qPZnPyS(ogFVcs84wG}0}@ zymJn>^=`PpVxMr>n`X{@_hqcD+E25PPt|BNP4{;1aCX~?N8i}4uk0)}p!#W1uk_LG zZYx2NQ1j_52A;#kiFUbeq}bmg1G0np9Gfl)6k- zx?e+;QczO%gvAyz;h;EE`OgUNb;gcybY_ojx>jtvs}w8Cqq3?LE4rE#C7ANIcwzie z(mIhU((cVpjDPIFxxF>$U7Xks9-Zew1czFuC~RR2qsLEE$*hA~J~U5TaTk(+GU$eVha2$GhG%9>i`$7038qH-Tg^;472ZqUJju z|Fy8Bnw;-@W~|F&xN(JnBGmNyce8s*%X*_hirDm`5;;_X8q0Ii`Y8purhL+bF9fNk zcZ=apTh^c@gJsWnZ%9RrJdpF~T@t{oeTVewuP}|31tAAj+-RJMOzbey^aqi?1UE`r zo90VjXiO14CbarvRl_I&LgRF7BW!+k8xp(Tb6ijA{SFrB<(@{L5ZK(stL6HC08c=$zb!3_4YyJ)c4qT!nXW{l zE0ZziVwpNXIEa9W$F#H>r6o%#7andFeA1;|%Vtw0VPO&~l`v_kY;iW0_Q}j_DgI)ae=b4fnJER$K9d2)$?K?6g&u4}?Mmr=RL0JaxFCEBw^(t#Ww4wdzfnD8~ zb*X(HsMlP7J7k{z>sR}^Kze6nJ1cl&AcDYRO>^8i(3&(m%QlhPGB8fzpib?bp44M(*XET zzoO+i<)8d3#@-ymx4i83;(!F36O^M?1UkjzEB{Rd?wsBxv}OUih1MzPwwM8z*DNIT0c#w&8|Z+CN;FR>EMCePu?XyB_L;lZc$2A)kpY zshiDC`E4EHlf`kex6{|$H#ZYZywbeL>{N$?XP;E39u7%_Dk?nGwET72_Q~WJ$m6i< z{YH9Fw7?}GKZ?fWCj?Jk`Zn1o7zv4!(miYn3oBznHQu18-LPA+^tVp~GcT$|snp#n z!{ZXG7+zjtMlMxMjjNz|xnxApXk`?2&q=kY)W>ZuVW@xY}@Lc|KzksthY?jH6|U zUj%`wJTKeDx2jkQYP3cfbtJzxB+)0wAXRT>mDz||-8W-K4XBN)2cBO_EErY%T%b%$ ze&x@K_OBi=pQgF-%Jh~SlQ>T+;afk(0%B4Ys#wXfhdCUS>!jZDWK^n!jj21Q1_#j2 zB?Xi7&(h54CeIXmEiH#-*u9nr>l{mWdWR29L~mYx46!=FEvI>pYm9?fhW3gb6Y1RP)ATs9fcFtZHtMfs=3!;A^$aS^sO(+I7xx_2&gY*i!-;v4l@JcRWU{R^qirQeGJ-WwL_$dsy7;E|z~k>%kV#-)(e- z71;k^h8gTz#*FeQ3%-NrO%_n*#DCDW8@2w$h3W6L;VzDp{+q09&LtwkH+)w(*$0`T zP~-_rN|;s_#e7h1k3MY-?!U|g6T|!aSlraEU&JmT#tBh0G4lR77hQIia7>Fv_V=?g zGTK?b%uQ^6z;7iY)kCRejOeIl2~uyTO6ELlZoY z5&eDLl|yIFfKKiD$86F`tPwdao%HY?%)R)X{^g@ZybelvQY>? zera&^RONJh?e(*>967Ax>b#K`oyePRnn2bEr&`$BMwrB-fKyxDYvi4@2KOtgwmKz+ zCI*#mmXf>$+FNXoeIE@V{#h_JtbPCP{ri1|Gc#Ao5WgCxx>L1e~I5MmWVHZ`ZF!6nJIB+5io328$xq0xB z`zmoExdu5DLE&jD`NC^{F~k8b_dJ1nrlpqtP!0a{7R-%Dw{>2^Gt&ptocW>lGKf9N zDfMsC&OxNQHYMfo8N-2ja9v?HnS04yVV{_LVPD{L+)H#)J#Q7wMN4wG9q71Tq%*OZ5!tZN^7_=zCc;19oN0Pn_dahu+lnwoePs z?qBeQ$uRU*kT7UB$JAWbVPd`|ksnwc8Iw%9QV=%&vLejpN=P!O-*j5_vlwPwcO}$E z+JxIqasU+cxmmmWxwxp?+8hudHYEDuf`(4}XGOYNvpOvLJm5c%bzLPOh>SL}V4(4_ znZ!H$hczz#cxxB0b-T`9j)vCGVQ?$;-j3O$@$UXJ<&Q^RSPvOK_(_j&<{eQ36R*R7 zHTP)e?o;3Q>$tYk@2LBc!|o<;P!xwKq@Ib2hP`*luSwe7)XXnGpmTN&hELP&iHxsi zW^09Z&`qkSVakGsBxSmrM)Zafb)&U>Bb#Du)0L z;UEs<3;0qNbR(xtN!)q8ykkT9rz&_zpw(({cflmO) zpoBU*2Qx~S=kX_r!nje7pJQ%%kb}i`u!}41wK2-a#uBN&A78{7;4D}lC7AO0w@HrZ z5o*%qP?D}gG~(y>Q9d8azMqkJ;&mCUM_l!OaSt)j7iSabLnJ1}W+*1D6sIn4ZOdFy zY7yTHP))!9Xtar}$REBA#|yk+HBFXjhDw!NW|{d+iY*cu�zBE;A6`RoYnYVbGchb9$^iIU2 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 literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 b/docs/v2/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a9f9cb9ca0cd78b6ea2f3e5c9d2838dc8895598 GIT binary patch literal 8492 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 a!Vc~9U7SGB8$q3Ii#9CnAx#qS0RRAsKuhfa literal 0 HcmV?d00001 diff --git a/docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.js b/docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.js new file mode 100644 index 0000000..bb418f4 --- /dev/null +++ b/docs/v2/.vitepress/dist/assets/intro_extending-regex.md.83598a7d.js @@ -0,0 +1,33 @@ +import{_ as s,c as n,o as a,N as l}from"./chunks/framework.eb892692.js";const i=JSON.parse('{"title":"Extending Regex","description":"","frontmatter":{},"headers":[],"relativePath":"intro/extending-regex.md","lastUpdated":null}'),p={name:"intro/extending-regex.md"},o=l(`